
From zachary.zeltsan@alcatel-lucent.com  Thu Apr  1 08:13:45 2010
Return-Path: <zachary.zeltsan@alcatel-lucent.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1D80D3A69D0 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 08:13:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.468
X-Spam-Level: 
X-Spam-Status: No, score=-1.468 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id x890VooE+hEK for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 08:13:39 -0700 (PDT)
Received: from ihemail1.lucent.com (ihemail1.lucent.com [135.245.0.33]) by core3.amsl.com (Postfix) with ESMTP id C800A3A6901 for <oauth@ietf.org>; Thu,  1 Apr 2010 08:13:39 -0700 (PDT)
Received: from ihrh1.emsr.lucent.com (h135-1-218-53.lucent.com [135.1.218.53]) by ihemail1.lucent.com (8.13.8/IER-o) with ESMTP id o31FE8gZ006163;  Thu, 1 Apr 2010 10:14:09 -0500 (CDT)
Received: from USNAVSXCHHUB02.ndc.alcatel-lucent.com (usnavsxchhub02.ndc.alcatel-lucent.com [135.3.39.111]) by ihrh1.emsr.lucent.com (8.13.8/emsr) with ESMTP id o31FE6S2009463; Thu, 1 Apr 2010 10:14:08 -0500 (CDT)
Received: from USNAVSXCHMBSA3.ndc.alcatel-lucent.com ([135.3.39.126]) by USNAVSXCHHUB02.ndc.alcatel-lucent.com ([135.3.39.111]) with mapi; Thu, 1 Apr 2010 10:14:06 -0500
From: "Zeltsan, Zachary (Zachary)" <zachary.zeltsan@alcatel-lucent.com>
To: "'Eran Hammer-Lahav'" <eran@hueniverse.com>, OAuth WG <oauth@ietf.org>
Date: Thu, 1 Apr 2010 10:14:05 -0500
Thread-Topic: Draft progress update
Thread-Index: AcrROctwFgBMPFnTVEKtDwmr4+8hcAAbGpPg
Message-ID: <5710F82C0E73B04FA559560098BF95B124F7A92BE0@USNAVSXCHMBSA3.ndc.alcatel-lucent.com>
References: <C7D94365.31AB8%eran@hueniverse.com>
In-Reply-To: <C7D94365.31AB8%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_5710F82C0E73B04FA559560098BF95B124F7A92BE0USNAVSXCHMBSA_"
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.33
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 15:13:45 -0000

--_000_5710F82C0E73B04FA559560098BF95B124F7A92BE0USNAVSXCHMBSA_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Eran,



The progress is good indeed.



I believe that the following comment on the draft applies also to some prev=
ious versions of OAuth specifications.



In my opinion, the description of step A of the Web Callback Flow implies t=
hat a client

is an HTTP server:

(A)  The web client initiates the flow by redirecting the end user's

        user-agent to the authorization endpoint ...



(If it is the HTTP redirection, then the client has to be an HTTP server).



If an OAuth client has to be an HTTP server in order to participate in OAut=
h flow, then the draft's definition of client appears to be incomplete:



client

         An HTTP client capable of making authenticated requests for

         protected resources using the OAuth protocol



Should not the definition reflect the fact that client has to be also an HT=
TP server (which appears to be the case at least for the Web Callback Flow)=
?



Zachary



-----Original Message-----
From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
ran Hammer-Lahav
Sent: Wednesday, March 31, 2010 9:22 PM
To: OAuth WG
Subject: [OAUTH-WG] Draft progress update



I'm making good progress working off David's draft and bringing text from

WRAP into it, as well as from OAuth 1.0a, and my token auth proposal. So fa=
r

it is largely in line with David's proposal and the majority of changes are

purely editorial.



The only significant change I have made (which is of course open to debate)

is renaming all the authorization flows parameters. I dropped the oauth_

prefix (no real need since these are purely OAuth endpoints, not protected

resources), and made most of the parameter names shorter. I am not done so

they are not consistent yet.



You can follow my progress (changes every few hours) at:



http://github.com/theRazorBlade/draft-ietf-oauth/raw/master/draft-ietf-oaut=
h

.txt



Please feel free to comment on anything you like or dislike. I will publish

the whole thing as an I-D once it is feature complete for the WG to discuss

before we promote this to a WG draft.



I hope to be done with the initial draft by middle of next week (I'll be

flying most of Fri-Sat so no progress over the weekend).



EHL



_______________________________________________

OAuth mailing list

OAuth@ietf.org

https://www.ietf.org/mailman/listinfo/oauth

--_000_5710F82C0E73B04FA559560098BF95B124F7A92BE0USNAVSXCHMBSA_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 11 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"FuturaA Bk BT";
	panose-1:2 11 5 2 2 2 4 2 3 3;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"FuturaA Bk BT";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:#606420;
	text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";}
pre
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";}
@page Section1
	{size:595.3pt 841.9pt;
	margin:1.0in 69.6pt 1.0in 69.6pt;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3D"#606420">

<div class=3DSection1>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>Eran,<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>The progress is good indeed.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>I believe that the following comment on the draft applies also to s=
ome
previous versions of OAuth specifications.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>&nbsp;<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>In my opinion, the description of step A of the Web Callback Flow
implies that a client<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>is an HTTP server:<o:p></o:p></span></font></p>

<pre><font size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>(=
A)&nbsp; The web client initiates the flow by redirecting the end user's<o:=
p></o:p></span></font></pre>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; user-agent to the
authorization endpoint ...<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>(If it is the HTTP redirection, then the client has to be an HTTP
server).<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>If an OAuth client has to be an HTTP server in order to participate=
 in
OAuth flow, then the draft&#8217;s definition of client appears to be incom=
plete:<o:p></o:p></span></font></p>

<pre><font size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><=
o:p>&nbsp;</o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>client<o:p><=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; An HTTP client capable of making authe=
nticated requests for<o:p></o:p></span></font></pre>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected resource=
s
using the OAuth protocol<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>Should not the definition reflect the fact that client has to be al=
so an
HTTP server (which appears to be the case at least for the Web Callback Flo=
w)?<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>Zachary<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>-----Original Message-----<br>
From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
ran
Hammer-Lahav<br>
Sent: Wednesday, March 31, 2010 9:22 PM<br>
To: OAuth WG<br>
Subject: [OAUTH-WG] Draft progress update</span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>I'm making good progress working off David's draft and bringing tex=
t
from<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>WRAP into it, as well as from OAuth 1.0a, and my token auth proposa=
l.
So far<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>it is largely in line with David's proposal and the majority of cha=
nges
are<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>purely editorial.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>The only significant change I have made (which is of course open to
debate)<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>is renaming all the authorization flows parameters. I dropped the
oauth_<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>prefix (no real need since these are purely OAuth endpoints, not
protected<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>resources), and made most of the parameter names shorter. I am not =
done
so<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>they are not consistent yet.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>You can follow my progress (changes every few hours) at:<o:p></o:p>=
</span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>http://github.com/theRazorBlade/draft-ietf-oauth/raw/master/draft-i=
etf-oauth<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>.txt<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>Please feel free to comment on anything you like or dislike. I will
publish<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>the whole thing as an I-D once it is feature complete for the WG to
discuss<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>before we promote this to a WG draft.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>I hope to be done with the initial draft by middle of next week (I'=
ll
be<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>flying most of Fri-Sat so no progress over the weekend).<o:p></o:p>=
</span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>EHL<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>_______________________________________________<o:p></o:p></span></=
font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>OAuth mailing list<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>OAuth@ietf.org<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span style=3D'=
font-size:
10.0pt'>https://www.ietf.org/mailman/listinfo/oauth<o:p></o:p></span></font=
></p>

</div>

</body>

</html>

--_000_5710F82C0E73B04FA559560098BF95B124F7A92BE0USNAVSXCHMBSA_--

From eran@hueniverse.com  Thu Apr  1 08:33:29 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 3A3C43A6A81 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 08:33:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.834
X-Spam-Level: 
X-Spam-Status: No, score=-0.834 tagged_above=-999 required=5 tests=[AWL=0.634,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jq2c2oiyw7ua for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 08:33:23 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 411F13A6B3A for <oauth@ietf.org>; Thu,  1 Apr 2010 08:33:01 -0700 (PDT)
Received: (qmail 24091 invoked from network); 1 Apr 2010 15:33:33 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 1 Apr 2010 15:33:32 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Thu, 1 Apr 2010 08:32:34 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Zachary Zeltsan <zachary.zeltsan@alcatel-lucent.com>, OAuth WG <oauth@ietf.org>
Date: Thu, 1 Apr 2010 08:32:31 -0700
Thread-Topic: Draft progress update
Thread-Index: AcrROctwFgBMPFnTVEKtDwmr4+8hcAAbGpPgAAKVUbw=
Message-ID: <C7DA0A9F.31AF0%eran@hueniverse.com>
In-Reply-To: <5710F82C0E73B04FA559560098BF95B124F7A92BE0@USNAVSXCHMBSA3.ndc.alcatel-lucent.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7DA0A9F31AF0eranhueniversecom_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 15:33:29 -0000

--_000_C7DA0A9F31AF0eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

This is a correct observation but I am not sure if it would be useful to ch=
ange the definition. The current definition isn't wrong, just (sometimes) i=
ncomplete. An OAuth client is an HTTP client speaking OAuth, but for the pu=
rpose of obtaining a token using the callback flow, it also has to have HTT=
P server capabilities. I don't think that voids the current definition.

I'll tweak the wording specific to the callback flow.

EHL


On 4/1/10 8:14 AM, "Zachary Zeltsan" <zachary.zeltsan@alcatel-lucent.com> w=
rote:

Eran,

The progress is good indeed.

I believe that the following comment on the draft applies also to some prev=
ious versions of OAuth specifications.

In my opinion, the description of step A of the Web Callback Flow implies t=
hat a client
is an HTTP server:
(A)  The web client initiates the flow by redirecting the end user's
        user-agent to the authorization endpoint ...

(If it is the HTTP redirection, then the client has to be an HTTP server).

If an OAuth client has to be an HTTP server in order to participate in OAut=
h flow, then the draft's definition of client appears to be incomplete:

client
         An HTTP client capable of making authenticated requests for
         protected resources using the OAuth protocol

Should not the definition reflect the fact that client has to be also an HT=
TP server (which appears to be the case at least for the Web Callback Flow)=
?

Zachary

-----Original Message-----
From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
ran Hammer-Lahav
Sent: Wednesday, March 31, 2010 9:22 PM
To: OAuth WG
Subject: [OAUTH-WG] Draft progress update

I'm making good progress working off David's draft and bringing text from
WRAP into it, as well as from OAuth 1.0a, and my token auth proposal. So fa=
r
it is largely in line with David's proposal and the majority of changes are
purely editorial.

The only significant change I have made (which is of course open to debate)
is renaming all the authorization flows parameters. I dropped the oauth_
prefix (no real need since these are purely OAuth endpoints, not protected
resources), and made most of the parameter names shorter. I am not done so
they are not consistent yet.

You can follow my progress (changes every few hours) at:

http://github.com/theRazorBlade/draft-ietf-oauth/raw/master/draft-ietf-oaut=
h
.txt

Please feel free to comment on anything you like or dislike. I will publish
the whole thing as an I-D once it is feature complete for the WG to discuss
before we promote this to a WG draft.

I hope to be done with the initial draft by middle of next week (I'll be
flying most of Fri-Sat so no progress over the weekend).

EHL

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


--_000_C7DA0A9F31AF0eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: Draft progress update</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>This is a correct observation but I am not sure if it would be useful=
 to change the definition. The current definition isn&#8217;t wrong, just (=
sometimes) incomplete. An OAuth client is an HTTP client speaking OAuth, bu=
t for the purpose of obtaining a token using the callback flow, it also has=
 to have HTTP server capabilities. I don&#8217;t think that voids the curre=
nt definition.<BR>
<BR>
I&#8217;ll tweak the wording specific to the callback flow.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/1/10 8:14 AM, &quot;Zachary Zeltsan&quot; &lt;<a href=3D"zachary.zelts=
an@alcatel-lucent.com">zachary.zeltsan@alcatel-lucent.com</a>&gt; wrote:<BR=
>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT SIZE=3D"2"><FONT FACE=3D"Courier New"><SPAN=
 STYLE=3D'font-size:10pt'>Eran,<BR>
&nbsp;<BR>
The progress is good indeed.<BR>
&nbsp;<BR>
I believe that the following comment on the draft applies also to some prev=
ious versions of OAuth specifications.<BR>
&nbsp;<BR>
In my opinion, the description of step A of the Web Callback Flow implies t=
hat a client<BR>
is an HTTP server:<BR>
(A) &nbsp;The web client initiates the flow by redirecting the end user's<B=
R>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user-agent to the authoriza=
tion endpoint ...<BR>
&nbsp;<BR>
(If it is the HTTP redirection, then the client has to be an HTTP server).<=
BR>
&nbsp;<BR>
If an OAuth client has to be an HTTP server in order to participate in OAut=
h flow, then the draft&#8217;s definition of client appears to be incomplet=
e:<BR>
&nbsp;<BR>
client<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An HTTP client capabl=
e of making authenticated requests for<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;protected resources u=
sing the OAuth protocol<BR>
&nbsp;<BR>
Should not the definition reflect the fact that client has to be also an HT=
TP server (which appears to be the case at least for the Web Callback Flow)=
?<BR>
&nbsp;<BR>
Zachary<BR>
&nbsp;<BR>
-----Original Message-----<BR>
From: <a href=3D"oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> [<a hre=
f=3D"mailto:oauth-bounces@ietf.org">mailto:oauth-bounces@ietf.org</a>] On B=
ehalf Of Eran Hammer-Lahav<BR>
Sent: Wednesday, March 31, 2010 9:22 PM<BR>
To: OAuth WG<BR>
Subject: [OAUTH-WG] Draft progress update<BR>
&nbsp;<BR>
I'm making good progress working off David's draft and bringing text from<B=
R>
WRAP into it, as well as from OAuth 1.0a, and my token auth proposal. So fa=
r<BR>
it is largely in line with David's proposal and the majority of changes are=
<BR>
purely editorial.<BR>
&nbsp;<BR>
The only significant change I have made (which is of course open to debate)=
<BR>
is renaming all the authorization flows parameters. I dropped the oauth_<BR=
>
prefix (no real need since these are purely OAuth endpoints, not protected<=
BR>
resources), and made most of the parameter names shorter. I am not done so<=
BR>
they are not consistent yet.<BR>
&nbsp;<BR>
You can follow my progress (changes every few hours) at:<BR>
&nbsp;<BR>
<a href=3D"http://github.com/theRazorBlade/draft-ietf-oauth/raw/master/draf=
t-ietf-oauth">http://github.com/theRazorBlade/draft-ietf-oauth/raw/master/d=
raft-ietf-oauth</a><BR>
.txt<BR>
&nbsp;<BR>
Please feel free to comment on anything you like or dislike. I will publish=
<BR>
the whole thing as an I-D once it is feature complete for the WG to discuss=
<BR>
before we promote this to a WG draft.<BR>
&nbsp;<BR>
I hope to be done with the initial draft by middle of next week (I'll be<BR=
>
flying most of Fri-Sat so no progress over the weekend).<BR>
&nbsp;<BR>
EHL<BR>
&nbsp;<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
</SPAN></FONT></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPA=
N STYLE=3D'font-size:11pt'><BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7DA0A9F31AF0eranhueniversecom_--

From mscurtescu@google.com  Thu Apr  1 09:45:44 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6833E3A6AE0 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 09:45:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.197
X-Spam-Level: 
X-Spam-Status: No, score=-104.197 tagged_above=-999 required=5 tests=[AWL=0.650, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fsvyWwxq5IvL for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 09:45:43 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 2186F3A698A for <oauth@ietf.org>; Thu,  1 Apr 2010 09:45:42 -0700 (PDT)
Received: from kpbe14.cbf.corp.google.com (kpbe14.cbf.corp.google.com [172.25.105.78]) by smtp-out.google.com with ESMTP id o31GkDKv018629 for <oauth@ietf.org>; Thu, 1 Apr 2010 09:46:14 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270140374; bh=QtWguia+X7ki013q6rFeQVEuHVQ=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=g4MBlzuwmJ4ly1/44y3rKFZCCKdPUypTKxTzLD/OWOF6IjpRa1wfkWKhdgkZESyH8 74rPMKlB69gxr950vgAKg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=yTjWh1YwMksxirqebPwj9fd9YIY6Ns9LRsWKo9fpYA8WW5rXwQCa/sfmxxMow6u6l w5JaG2MJ4NWc39TWqiaow==
Received: from pzk37 (pzk37.prod.google.com [10.243.19.165]) by kpbe14.cbf.corp.google.com with ESMTP id o31GkCi9011934 for <oauth@ietf.org>; Thu, 1 Apr 2010 09:46:12 -0700
Received: by pzk37 with SMTP id 37so1370204pzk.7 for <oauth@ietf.org>; Thu, 01 Apr 2010 09:46:12 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.248.18 with HTTP; Thu, 1 Apr 2010 09:45:52 -0700 (PDT)
In-Reply-To: <C7D96C6C.31AC2%eran@hueniverse.com>
References: <x2n74caaad21003312037g76850320ha2b802cc446e7ec4@mail.gmail.com>  <C7D96C6C.31AC2%eran@hueniverse.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 1 Apr 2010 09:45:52 -0700
Received: by 10.140.255.10 with SMTP id c10mr683741rvi.289.1270140372119; Thu,  01 Apr 2010 09:46:12 -0700 (PDT)
Message-ID: <s2y74caaad21004010945pe36fc88bx9a0697ccf07d566e@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 16:45:44 -0000

Hi Eran,


On Wed, Mar 31, 2010 at 9:17 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> Hey Marius,
>
> On 3/31/10 8:37 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
>> On Wed, Mar 31, 2010 at 6:22 PM, Eran Hammer-Lahav <eran@hueniverse.com>
>> wrote:
>>> The only significant change I have made (which is of course open to debate)
>>> is renaming all the authorization flows parameters. I dropped the oauth_
>>> prefix (no real need since these are purely OAuth endpoints, not protected
>>> resources), and made most of the parameter names shorter. I am not done so
>>> they are not consistent yet.
>>
>> Having a common prefix for all parameters is quite important IMO. It
>> allows parties
>> to define and pass additional, non-standard, parameters.
>
> Non-standard parameter hurt interoperability. The question is whether the
> right approach is to add a prefix to the protocol parameters or to the
> extension parameters (such as x_), or none.

I agree that non-standard parameters are far from ideal, but they are used in
practice for various reasons.


> What prevents a custom parameter to collide with a standard extension not
> supported by the server or someone else's custom parameter? If we are
> serious about parameter collision (which I doubt given past sentiments on
> registries etc.), we should require all parameters to register unless they
> have some special custom prefix.

That's a different issue IMO. In general if you use non-standard stuff you
are on your own. We should try to protect the standard part and I think
a prefix helps.


> In other word, adding the oauth_ prefix to the core parameters doesn't
> really accomplish much, other than making requests longer. In the past,
> people wanted to define extension parameters starting with oauth_ and we
> didn't really reach consensus on whether to allow it or not. Then we played
> with xoauth_ for a while, then went back and just allowed oauth_ for
> extensions.
>
> If we keep the oauth_ prefix, do we also require a registry for extensions?
> Do we define another prefix? Do we create a registry for extension prefixes?
> This gets bad really fast.

I don't see how dropping the prefix solves any of these problems. I think it
just makes matters worse.


>> Also, quite
>> often parameters
>> are added to existing URLs, and a prefix helps prevent collisions.
>
> Extension parameters should never conflict with core parameter because we
> know all the core parameters before we write custom ones...
>
> This is only for the OAuth-specific endpoint (authorization endpoint), not
> the protected resource endpoint in which we will still use oauth_token (the
> only parameter added to protected resource requests).

Yes, this is only for OAuth endpoints, but all kinds of frameworks will be used
to implement them I can imagne that many of them will use their own parameters.

Also, many implementation will probably choose to pass state through
the callback
URL, as query parameters (even though there is a special OAuth
parameter for that).


> What do you think?

What are the reasons we would drop the prefix? So far the only one I heard was
shorter messages, but I am not convinced this is a real problem.


Marius

From mscurtescu@google.com  Thu Apr  1 09:51:00 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 661463A686D for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 09:51:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -99.918
X-Spam-Level: 
X-Spam-Status: No, score=-99.918 tagged_above=-999 required=5 tests=[AWL=0.929, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DvHFiFKrBjkk for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 09:50:59 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id A86683A67B4 for <oauth@ietf.org>; Thu,  1 Apr 2010 09:50:58 -0700 (PDT)
Received: from hpaq7.eem.corp.google.com (hpaq7.eem.corp.google.com [10.3.21.7]) by smtp-out.google.com with ESMTP id o31GpSXR004461 for <oauth@ietf.org>; Thu, 1 Apr 2010 18:51:28 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270140688; bh=PUxTyVIM1Ih5uzJAoF2V7KyRTOQ=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=xR9NFAF33WEyIcjc7GLEJHOsfL/1Mx2D6RAW/oXIVbUTmfBMKhciz4yN9msr3akI+ TKjo6PdhJSM8gk3zR6JyQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=X7ad2lCqhK7jcJf0vU0dAeE5RCBD4NhnPpnGDMd483l/RAO4HhEoZxAXjFI+FoQbv ePZK8vyP++koCn3MvjxxA==
Received: from pvg2 (pvg2.prod.google.com [10.241.210.130]) by hpaq7.eem.corp.google.com with ESMTP id o31GpQGg019426 for <oauth@ietf.org>; Thu, 1 Apr 2010 18:51:27 +0200
Received: by pvg2 with SMTP id 2so634145pvg.0 for <oauth@ietf.org>; Thu, 01 Apr 2010 09:51:26 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.248.18 with HTTP; Thu, 1 Apr 2010 09:51:04 -0700 (PDT)
In-Reply-To: <0817C7B6-9FCD-463C-8FAD-DD5129234D55@facebook.com>
References: <C7D96C6C.31AC2%eran@hueniverse.com> <0817C7B6-9FCD-463C-8FAD-DD5129234D55@facebook.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 1 Apr 2010 09:51:04 -0700
Received: by 10.141.213.31 with SMTP id p31mr736427rvq.21.1270140684099; Thu,  01 Apr 2010 09:51:24 -0700 (PDT)
Message-ID: <l2r74caaad21004010951p3bcf0993hff685c156d72dc51@mail.gmail.com>
To: Luke Shepard <lshepard@facebook.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 16:51:00 -0000

Hi Luke,


On Wed, Mar 31, 2010 at 10:28 PM, Luke Shepard <lshepard@facebook.com> wrote:
> At first, I had the same first reaction as Marius, but after reading this
> thread, I agree with Eran. Two observations:
> 1/ OAuth endpoints are usually already namespaced as "oauth" - if there are
> other endpoints that accept custom parameters, they can be defined
> elsewhere. For example:
> https://www.google.com/accounts/OAuthAuthorizeToken
> https://api.login.yahoo.com/oauth/v2/request_auth
> http://twitter.com/oauth/authorize

The fact that the endpoint URL has "oauth" in it will not prevent any
collisions.


> 2/ We should fight to keep URLs short and leave out redundant information
> where possible. We should leave out redundant information where possible.
> Here are two sample URLs. The first is 12% shorter than the second.
> http://facebook.com/oauth/authorize?mode=web_callback_access_request&client_id=123456789&callback=http://facebook.com/oauth/callback
> http://facebook.com/oauth/authorize?oauth_mode=web_callback_access_request&oauth_client_id=123456789&oauth_callback=http://facebook.com/oauth/callback

Yes, shorter in general is better. In this case it is just a bit shorter, it is
exactly 18 chars shorter, regardless of the URL length. What is this buying
us? End users don't have to type these URLs.


Marius

From justinsm@microsoft.com  Thu Apr  1 11:08:11 2010
Return-Path: <justinsm@microsoft.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 805C53A6AF9 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 11:08:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.469
X-Spam-Level: 
X-Spam-Status: No, score=-9.469 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xHohGECl4hE2 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 11:08:10 -0700 (PDT)
Received: from smtp.microsoft.com (mailb.microsoft.com [131.107.115.215]) by core3.amsl.com (Postfix) with ESMTP id 455523A6A3A for <oauth@ietf.org>; Thu,  1 Apr 2010 11:08:10 -0700 (PDT)
Received: from TK5EX14MLTC104.redmond.corp.microsoft.com (157.54.79.159) by TK5-EXGWY-E802.partners.extranet.microsoft.com (10.251.56.168) with Microsoft SMTP Server (TLS) id 8.2.176.0; Thu, 1 Apr 2010 11:08:42 -0700
Received: from TK5EX14MBXC115.redmond.corp.microsoft.com ([169.254.4.239]) by TK5EX14MLTC104.redmond.corp.microsoft.com ([157.54.79.159]) with mapi; Thu, 1 Apr 2010 11:08:42 -0700
From: Justin Smith <justinsm@microsoft.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, OAuth WG <oauth@ietf.org>
Thread-Topic: Draft progress update
Thread-Index: AcrROctwFgBMPFnTVEKtDwmr4+8hcAAhFhgg
Date: Thu, 1 Apr 2010 18:06:16 +0000
Deferred-Delivery: Thu, 1 Apr 2010 18:07:00 +0000
Message-ID: <191F411E00E19F4E943ECDB6D65C6085168FCFE8@TK5EX14MBXC115.redmond.corp.microsoft.com>
References: <C7D94365.31AB8%eran@hueniverse.com>
In-Reply-To: <C7D94365.31AB8%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 18:08:11 -0000

Eran,

Good progress. A few comments below:

Sec. 2.2.  Flow Parameters:
Comment 1: The recommendation to keep access tokens less than 255 chars see=
ms bizarre. I'd like to remove it entirely. Previous threads have discussed=
 this.

General comment on the flows:
Comment 2: The scope parameter (from WRAP) is missing from all of the flows=
. How does the client indicate which protected resource it intends to acces=
s? In WRAP this was an optional parameter, but it seems important when a si=
ngle AS controls access to many resources.

Sec. 2.3.  Client Credentials: "When requesting access from the authorizati=
on server, the client identifies itself using its authorization-server-issu=
ed client credentials."
Comment 3: This isn't the case when the client is presenting a token issued=
 by another server. I suggest a change to something like the following: "Wh=
en requesting access from the authorization server, the client identifies i=
tself using client credentials known to the authorization server."  =20

Sec. 2.4.  User Delegation Flows: "Instead, the end user authenticates dire=
ctly with the authorization server, and grants client access to its protect=
ed resources."
Comment 4: This is a minor nit, but the AS may not grant access to all of t=
he PRs it controls access to. I suggest a change to something like the foll=
owing: "... and grants client access to the requested protected resources."

Sec. 2.6.2.  SAML Assertion Flow: "Since requests to the authorization endp=
oint result in the transmission of plain text credentials in the HTTP reque=
st and response, ..."
Comment 5: In the case of the SAML assertion flow (or an assertion of anoth=
er format), it isn't necessarily the case that the assertion is plain text.=
 You might want to change it to: "...authorization endpoint may result in t=
he...".=20
Comment 6: why is expiration optional in the response? It seems like it sho=
uld be mandatory (as it is in the other flows).

Sec. 2.6.1 Client Credentials Flow:
Comment 7: Why require a refresh token? Assumedly the client has to keep th=
e client_id and client_secret, so why not just present them to the AS again=
 for an access token? Brian/Marius/Dick brought this up earlier - you just =
might not have gotten there yet.


--justin

-----Original Message-----
From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
ran Hammer-Lahav
Sent: Wednesday, March 31, 2010 6:22 PM
To: OAuth WG
Subject: [OAUTH-WG] Draft progress update

I'm making good progress working off David's draft and bringing text from
WRAP into it, as well as from OAuth 1.0a, and my token auth proposal. So fa=
r
it is largely in line with David's proposal and the majority of changes are
purely editorial.

The only significant change I have made (which is of course open to debate)
is renaming all the authorization flows parameters. I dropped the oauth_
prefix (no real need since these are purely OAuth endpoints, not protected
resources), and made most of the parameter names shorter. I am not done so
they are not consistent yet.

You can follow my progress (changes every few hours) at:

http://github.com/theRazorBlade/draft-ietf-oauth/raw/master/draft-ietf-oaut=
h
.txt

Please feel free to comment on anything you like or dislike. I will publish
the whole thing as an I-D once it is feature complete for the WG to discuss
before we promote this to a WG draft.

I hope to be done with the initial draft by middle of next week (I'll be
flying most of Fri-Sat so no progress over the weekend).

EHL

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


From mscurtescu@google.com  Thu Apr  1 11:21:04 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 850993A6A6F for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 11:21:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.327
X-Spam-Level: 
X-Spam-Status: No, score=-104.327 tagged_above=-999 required=5 tests=[AWL=0.520, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0lEqpMJb0WD7 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 11:21:02 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 20E253A696E for <oauth@ietf.org>; Thu,  1 Apr 2010 11:21:01 -0700 (PDT)
Received: from kpbe14.cbf.corp.google.com (kpbe14.cbf.corp.google.com [172.25.105.78]) by smtp-out.google.com with ESMTP id o31ILV2H021784 for <oauth@ietf.org>; Thu, 1 Apr 2010 11:21:31 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270146091; bh=yAEMOMg2zZ1GItuKW0k6DeKuAtA=; h=MIME-Version:From:Date:Message-ID:Subject:To:Cc:Content-Type; b=uqfci8QBvll9niVIaVciqu9pJpLHZVZPi6gxOqE/j9Lzwd03BjDyQrno+QweeElvN TdSaEpjpyKe4HZi99rDiA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:from:date:message-id:subject:to:cc: content-type:x-system-of-record; b=cdjFGg307HGSPIGYj3bDfLiiZaaCJzZ58uf2zP3pHZW8rEujuCwR+a203CJlM3cJg 6WKWHZJaI8Ie/eQ/AphUw==
Received: from pvc30 (pvc30.prod.google.com [10.241.209.158]) by kpbe14.cbf.corp.google.com with ESMTP id o31ILUiC006218 for <oauth@ietf.org>; Thu, 1 Apr 2010 11:21:30 -0700
Received: by pvc30 with SMTP id 30so557041pvc.20 for <oauth@ietf.org>; Thu, 01 Apr 2010 11:21:29 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.248.18 with HTTP; Thu, 1 Apr 2010 11:21:08 -0700 (PDT)
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 1 Apr 2010 11:21:08 -0700
Received: by 10.141.12.8 with SMTP id p8mr852681rvi.160.1270146088179; Thu, 01  Apr 2010 11:21:28 -0700 (PDT)
Message-ID: <q2t74caaad21004011121z155e7741h7cf8b5719c67a5e3@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 18:21:05 -0000

Instead of "SAML Assertion Flow" maybe we should stick with the more
generic "Assertion Flow".

The assertion_format parameter allows you to define the assertion
type. Maybe we can predefine
some well know formats, for example: "saml1", "saml1.1" and "saml2"?

Marius



On Wed, Mar 31, 2010 at 6:22 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> I'm making good progress working off David's draft and bringing text from
> WRAP into it, as well as from OAuth 1.0a, and my token auth proposal. So far
> it is largely in line with David's proposal and the majority of changes are
> purely editorial.
>
> The only significant change I have made (which is of course open to debate)
> is renaming all the authorization flows parameters. I dropped the oauth_
> prefix (no real need since these are purely OAuth endpoints, not protected
> resources), and made most of the parameter names shorter. I am not done so
> they are not consistent yet.
>
> You can follow my progress (changes every few hours) at:
>
> http://github.com/theRazorBlade/draft-ietf-oauth/raw/master/draft-ietf-oauth
> .txt
>
> Please feel free to comment on anything you like or dislike. I will publish
> the whole thing as an I-D once it is feature complete for the WG to discuss
> before we promote this to a WG draft.
>
> I hope to be done with the initial draft by middle of next week (I'll be
> flying most of Fri-Sat so no progress over the weekend).
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From recordond@gmail.com  Thu Apr  1 11:22:31 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id CA6503A696E for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 11:22:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.745
X-Spam-Level: 
X-Spam-Status: No, score=-0.745 tagged_above=-999 required=5 tests=[AWL=0.724,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aP+q8XJXONBA for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 11:22:30 -0700 (PDT)
Received: from mail-iw0-f187.google.com (mail-iw0-f187.google.com [209.85.223.187]) by core3.amsl.com (Postfix) with ESMTP id 5AC543A6A22 for <oauth@ietf.org>; Thu,  1 Apr 2010 11:22:18 -0700 (PDT)
Received: by iwn17 with SMTP id 17so942360iwn.19 for <oauth@ietf.org>; Thu, 01 Apr 2010 11:22:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=VNY8/+CSNCNjdUFg8IonKAEOEb/yN4jWdfjESxgfqJ4=; b=MfhkN0DZh0TwCMRGYWntFXOIJ4OLPqhkkPVRUrURM2BEgj0j7jLRzOHDqEITF3Qsk9 ZTULLBIKkDAz6zsKEnOPGvC8WFGvUJqKR8KMl+gMtAegXe090TKIut88vPIRujzmTsZ0 5WzcQOYjYPVfEktMMH37TzyKBiNRdHRrRr8TQ=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=tjSp+DlAtO8LejZIYEN/el5VMaWkYpYubS2bobbO5kIRTmfk3Br+bwJKhsTCghDPeJ 8I5E2zctPrVcNca6wOeBSYgv3o5DtQUJoC9rbgVjNxwInHT2RnfZLcuHS8bK3yzdiPRG EBRyaxymFxYJ5yKO/50wfB3FsTEVw1ojXJoTM=
MIME-Version: 1.0
Received: by 10.231.183.18 with HTTP; Thu, 1 Apr 2010 11:22:48 -0700 (PDT)
In-Reply-To: <l2r74caaad21004010951p3bcf0993hff685c156d72dc51@mail.gmail.com>
References: <C7D96C6C.31AC2%eran@hueniverse.com> <0817C7B6-9FCD-463C-8FAD-DD5129234D55@facebook.com> <l2r74caaad21004010951p3bcf0993hff685c156d72dc51@mail.gmail.com>
Date: Thu, 1 Apr 2010 11:22:48 -0700
Received: by 10.231.153.69 with SMTP id j5mr333458ibw.33.1270146168199; Thu,  01 Apr 2010 11:22:48 -0700 (PDT)
Message-ID: <s2ifd6741651004011122x35a3563blb1db340e7ad04e51@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Marius Scurtescu <mscurtescu@google.com>
Content-Type: text/plain; charset=ISO-8859-1
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 18:22:31 -0000

On Thu, Apr 1, 2010 at 9:51 AM, Marius Scurtescu <mscurtescu@google.com> wrote:
> Hi Luke,
> On Wed, Mar 31, 2010 at 10:28 PM, Luke Shepard <lshepard@facebook.com> wrote:
>> At first, I had the same first reaction as Marius, but after reading this
>> thread, I agree with Eran. Two observations:
>> 1/ OAuth endpoints are usually already namespaced as "oauth" - if there are
>> other endpoints that accept custom parameters, they can be defined
>> elsewhere. For example:
>> https://www.google.com/accounts/OAuthAuthorizeToken
>> https://api.login.yahoo.com/oauth/v2/request_auth
>> http://twitter.com/oauth/authorize
>
> The fact that the endpoint URL has "oauth" in it will not prevent any
> collisions.

I think Luke's point is that OAuth deployment today is not being done
by complex frameworks which add their own parameters, rather the
majority of deployers make custom endpoints specifically for OAuth.  I
also don't see how the Authorization Server's web framework would add
random parameters given that an unknown client is making the HTTP
request to it.


>> 2/ We should fight to keep URLs short and leave out redundant information
>> where possible. We should leave out redundant information where possible.
>> Here are two sample URLs. The first is 12% shorter than the second.
>> http://facebook.com/oauth/authorize?mode=web_callback_access_request&client_id=123456789&callback=http://facebook.com/oauth/callback
>> http://facebook.com/oauth/authorize?oauth_mode=web_callback_access_request&oauth_client_id=123456789&oauth_callback=http://facebook.com/oauth/callback
>
> Yes, shorter in general is better. In this case it is just a bit shorter, it is
> exactly 18 chars shorter, regardless of the URL length. What is this buying
> us? End users don't have to type these URLs.
>
>
> Marius
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From mscurtescu@google.com  Thu Apr  1 11:29:11 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6F83F3A69C8 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 11:29:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.414
X-Spam-Level: 
X-Spam-Status: No, score=-104.414 tagged_above=-999 required=5 tests=[AWL=0.433, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id E6n6anZK5lnn for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 11:29:10 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 9192C3A6817 for <oauth@ietf.org>; Thu,  1 Apr 2010 11:29:09 -0700 (PDT)
Received: from wpaz33.hot.corp.google.com (wpaz33.hot.corp.google.com [172.24.198.97]) by smtp-out.google.com with ESMTP id o31ITdfC003031 for <oauth@ietf.org>; Thu, 1 Apr 2010 11:29:39 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270146579; bh=iDDKMZT/L+c6echKHBaFhjTyVFQ=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=UF0QCK/vuwd5jpQr36Eyhifu8V5Bo5HgV4YWlOMA8U+hqRCbH6WTuDhN6UNz0KD2r fpVrWgM1hXh24LkkDRoRg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=KmcRLzyE1UHmWe02ZmDi98WamV/OaURls2f7tYPnIWWCx+jCEgdOO8o0c+z0cHf2/ KtKh2Pd1oJGJpodpUhkyQ==
Received: from pzk15 (pzk15.prod.google.com [10.243.19.143]) by wpaz33.hot.corp.google.com with ESMTP id o31ITbZe021644 for <oauth@ietf.org>; Thu, 1 Apr 2010 11:29:38 -0700
Received: by pzk15 with SMTP id 15so511890pzk.26 for <oauth@ietf.org>; Thu, 01 Apr 2010 11:29:37 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.248.18 with HTTP; Thu, 1 Apr 2010 11:29:17 -0700 (PDT)
In-Reply-To: <s2ifd6741651004011122x35a3563blb1db340e7ad04e51@mail.gmail.com>
References: <C7D96C6C.31AC2%eran@hueniverse.com> <0817C7B6-9FCD-463C-8FAD-DD5129234D55@facebook.com>  <l2r74caaad21004010951p3bcf0993hff685c156d72dc51@mail.gmail.com>  <s2ifd6741651004011122x35a3563blb1db340e7ad04e51@mail.gmail.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 1 Apr 2010 11:29:17 -0700
Received: by 10.140.179.39 with SMTP id b39mr861394rvf.298.1270146577259; Thu,  01 Apr 2010 11:29:37 -0700 (PDT)
Message-ID: <o2r74caaad21004011129n7e6c39f4jf52c1c664ff01297@mail.gmail.com>
To: David Recordon <recordond@gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 18:29:11 -0000

On Thu, Apr 1, 2010 at 11:22 AM, David Recordon <recordond@gmail.com> wrote=
:
> On Thu, Apr 1, 2010 at 9:51 AM, Marius Scurtescu <mscurtescu@google.com> =
wrote:
>> Hi Luke,
>> On Wed, Mar 31, 2010 at 10:28 PM, Luke Shepard <lshepard@facebook.com> w=
rote:
>>> At first, I had the same first reaction as Marius, but after reading th=
is
>>> thread, I agree with Eran. Two observations:
>>> 1/ OAuth endpoints are usually already namespaced as "oauth" - if there=
 are
>>> other endpoints that accept custom parameters, they can be defined
>>> elsewhere. For example:
>>> https://www.google.com/accounts/OAuthAuthorizeToken
>>> https://api.login.yahoo.com/oauth/v2/request_auth
>>> http://twitter.com/oauth/authorize
>>
>> The fact that the endpoint URL has "oauth" in it will not prevent any
>> collisions.
>
> I think Luke's point is that OAuth deployment today is not being done
> by complex frameworks which add their own parameters, rather the
> majority of deployers make custom endpoints specifically for OAuth. =A0I
> also don't see how the Authorization Server's web framework would add
> random parameters given that an unknown client is making the HTTP
> request to it.

Not random, they can be query parameters that are part of the
published URL, something like:
http://example.com/auth?mode=3Doauth

Also, not only the Authorization Server URLs can receive OAuth
parameters in the query,
the same applies to the client callback URL, and that one definitely
can have random
parameters.


Marius

From mscurtescu@google.com  Thu Apr  1 11:37:33 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7B7953A6944 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 11:37:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.382
X-Spam-Level: 
X-Spam-Status: No, score=-100.382 tagged_above=-999 required=5 tests=[AWL=0.465, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HuneExHtYSZz for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 11:37:31 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 62BF63A67D7 for <oauth@ietf.org>; Thu,  1 Apr 2010 11:37:31 -0700 (PDT)
Received: from kpbe14.cbf.corp.google.com (kpbe14.cbf.corp.google.com [172.25.105.78]) by smtp-out.google.com with ESMTP id o31IbxXx028492 for <oauth@ietf.org>; Thu, 1 Apr 2010 20:37:59 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270147079; bh=+WnzKGShapfGUhkJJ3ghQ4OqXFo=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=Jn7nUAN61kpBYaaijMQUjNR20OcGtAJR0KVDreSSfBqVpabCloCAP+Sxyr6KBVCAE t+BZcQ6EqG40a2azuJ25g==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=HmC4ugPEXrPF0vHb2hHQScRjIdme+IiolsfZVxsazkwoldeJn3Hv+vGHEm4Cw30sm k6X3vTGgAiPg66xXn5DDg==
Received: from pzk1 (pzk1.prod.google.com [10.243.19.129]) by kpbe14.cbf.corp.google.com with ESMTP id o31IbvLx027844 for <oauth@ietf.org>; Thu, 1 Apr 2010 11:37:58 -0700
Received: by pzk1 with SMTP id 1so1154669pzk.18 for <oauth@ietf.org>; Thu, 01 Apr 2010 11:37:57 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.248.18 with HTTP; Thu, 1 Apr 2010 11:37:37 -0700 (PDT)
In-Reply-To: <191F411E00E19F4E943ECDB6D65C6085168FCFE8@TK5EX14MBXC115.redmond.corp.microsoft.com>
References: <C7D94365.31AB8%eran@hueniverse.com> <191F411E00E19F4E943ECDB6D65C6085168FCFE8@TK5EX14MBXC115.redmond.corp.microsoft.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 1 Apr 2010 11:37:37 -0700
Received: by 10.140.252.3 with SMTP id z3mr98006rvh.3.1270147077140; Thu, 01  Apr 2010 11:37:57 -0700 (PDT)
Message-ID: <i2s74caaad21004011137pb56ee578h6a6e158830534ba5@mail.gmail.com>
To: Justin Smith <justinsm@microsoft.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 18:37:33 -0000

+1 on all comments, except for some question on 6...


On Thu, Apr 1, 2010 at 11:06 AM, Justin Smith <justinsm@microsoft.com> wrot=
e:
> Eran,
>
> Good progress. A few comments below:
>
> Sec. 2.2. =A0Flow Parameters:
> Comment 1: The recommendation to keep access tokens less than 255 chars s=
eems bizarre. I'd like to remove it entirely. Previous threads have discuss=
ed this.
>
> General comment on the flows:
> Comment 2: The scope parameter (from WRAP) is missing from all of the flo=
ws. How does the client indicate which protected resource it intends to acc=
ess? In WRAP this was an optional parameter, but it seems important when a =
single AS controls access to many resources.
>
> Sec. 2.3. =A0Client Credentials: "When requesting access from the authori=
zation server, the client identifies itself using its authorization-server-=
issued client credentials."
> Comment 3: This isn't the case when the client is presenting a token issu=
ed by another server. I suggest a change to something like the following: "=
When requesting access from the authorization server, the client identifies=
 itself using client credentials known to the authorization server."
>
> Sec. 2.4. =A0User Delegation Flows: "Instead, the end user authenticates =
directly with the authorization server, and grants client access to its pro=
tected resources."
> Comment 4: This is a minor nit, but the AS may not grant access to all of=
 the PRs it controls access to. I suggest a change to something like the fo=
llowing: "... and grants client access to the requested protected resources=
."
>
> Sec. 2.6.2. =A0SAML Assertion Flow: "Since requests to the authorization =
endpoint result in the transmission of plain text credentials in the HTTP r=
equest and response, ..."
> Comment 5: In the case of the SAML assertion flow (or an assertion of ano=
ther format), it isn't necessarily the case that the assertion is plain tex=
t. You might want to change it to: "...authorization endpoint may result in=
 the...".
> Comment 6: why is expiration optional in the response? It seems like it s=
hould be mandatory (as it is in the other flows).

SAML assertions contain the expiry inside, the OAuth "expires"
parameter would be redundant, maybe this is way it is optional?

But, do we want to make this parameter required in general? Why not
leave it optional for all flows? What if an Authorization Server
implements some other mechanism to expire them (number of uses for
example) and a fixed expiry time does not make sense?


> Sec. 2.6.1 Client Credentials Flow:
> Comment 7: Why require a refresh token? Assumedly the client has to keep =
the client_id and client_secret, so why not just present them to the AS aga=
in for an access token? Brian/Marius/Dick brought this up earlier - you jus=
t might not have gotten there yet.
>
>
> --justin
>
> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of=
 Eran Hammer-Lahav
> Sent: Wednesday, March 31, 2010 6:22 PM
> To: OAuth WG
> Subject: [OAUTH-WG] Draft progress update
>
> I'm making good progress working off David's draft and bringing text from
> WRAP into it, as well as from OAuth 1.0a, and my token auth proposal. So =
far
> it is largely in line with David's proposal and the majority of changes a=
re
> purely editorial.
>
> The only significant change I have made (which is of course open to debat=
e)
> is renaming all the authorization flows parameters. I dropped the oauth_
> prefix (no real need since these are purely OAuth endpoints, not protecte=
d
> resources), and made most of the parameter names shorter. I am not done s=
o
> they are not consistent yet.
>
> You can follow my progress (changes every few hours) at:
>
> http://github.com/theRazorBlade/draft-ietf-oauth/raw/master/draft-ietf-oa=
uth
> .txt
>
> Please feel free to comment on anything you like or dislike. I will publi=
sh
> the whole thing as an I-D once it is feature complete for the WG to discu=
ss
> before we promote this to a WG draft.
>
> I hope to be done with the initial draft by middle of next week (I'll be
> flying most of Fri-Sat so no progress over the weekend).
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From eran@hueniverse.com  Thu Apr  1 12:23:11 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2A83C3A659C for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 12:23:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.872
X-Spam-Level: 
X-Spam-Status: No, score=-0.872 tagged_above=-999 required=5 tests=[AWL=0.597,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id au8-m3lSktsS for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 12:23:07 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 184353A6862 for <oauth@ietf.org>; Thu,  1 Apr 2010 12:22:59 -0700 (PDT)
Received: (qmail 12719 invoked from network); 1 Apr 2010 19:23:27 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 1 Apr 2010 19:23:26 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Thu, 1 Apr 2010 12:23:26 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Justin Smith <justinsm@microsoft.com>, OAuth WG <oauth@ietf.org>
Date: Thu, 1 Apr 2010 12:23:20 -0700
Thread-Topic: Draft progress update
Thread-Index: AcrROctwFgBMPFnTVEKtDwmr4+8hcAAhFhggAASpdac=
Message-ID: <C7DA40B8.31B0F%eran@hueniverse.com>
In-Reply-To: <191F411E00E19F4E943ECDB6D65C6085168FCFE8@TK5EX14MBXC115.redmond.corp.microsoft.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 19:23:11 -0000

Hi Justin,


On 4/1/10 11:06 AM, "Justin Smith" <justinsm@microsoft.com> wrote:

> Sec. 2.2.  Flow Parameters:
> Comment 1: The recommendation to keep access tokens less than 255 chars s=
eems
> bizarre. I'd like to remove it entirely. Previous threads have discussed =
this.

It's marked as an open issue. I personally don't care much either way but
can see the reasons behind those for and against a (short) hard limit.
Experience has shown this is a problem as most libraries assume a certain
size will work just fine and then blow up.

Last time it was debated here it didn't end with a consensus call so feel
free to ask the chairs for one or continue debating it.

> General comment on the flows:
> Comment 2: The scope parameter (from WRAP) is missing from all of the flo=
ws.
> How does the client indicate which protected resource it intends to acces=
s? In
> WRAP this was an optional parameter, but it seems important when a single=
 AS
> controls access to many resources.

I removed it (for now) because it was (way way) under specified. The only
reason for a spec is interop. This parameter hurts interop because it force=
s
library to implement something they cannot understand, or understand based
on one deployment.

This debate has been going on for a long time and solving it by simply
adding a placeholder for scope without *any* structure or definition is not
how well designed protocols are written.

I have always maintained that OAuth needs a basic facility to negotiate
scope. It can be as simple as an opaque string identifying a set of
resources (e.g. HTTP auth realms), a JSON string of key/value pairs, etc.
But as present in WRAP and imported by David it is utterly useless (it is
and under-specified SHOULD - I am not really sure what it is to be used
for).

Write a proposal and we can add it back.

> Sec. 2.3.  Client Credentials: "When requesting access from the authoriza=
tion
> server, the client identifies itself using its authorization-server-issue=
d
> client credentials."
> Comment 3: This isn't the case when the client is presenting a token issu=
ed by
> another server. I suggest a change to something like the following: "When
> requesting access from the authorization server, the client identifies it=
self
> using client credentials known to the authorization server."

What token? The authorization endpoint isn't an OAuth-protected resource.
=20
> Sec. 2.4.  User Delegation Flows: "Instead, the end user authenticates
> directly with the authorization server, and grants client access to its
> protected resources."
> Comment 4: This is a minor nit, but the AS may not grant access to all of=
 the
> PRs it controls access to. I suggest a change to something like the follo=
wing:
> "... and grants client access to the requested protected resources."

This isn't the old testament. No need to look for hidden meaning. The spec
is about getting access to protected resources, generally dealing with *a*
protected resource. How resources are segmented is beyond the scope. I thin=
k
it is more useful to talk about it using simpler assumptions - it doesn't
prevent the more complex use cases.

> Sec. 2.6.2.  SAML Assertion Flow: "Since requests to the authorization
> endpoint result in the transmission of plain text credentials in the HTTP
> request and response, ..."
> Comment 5: In the case of the SAML assertion flow (or an assertion of ano=
ther
> format), it isn't necessarily the case that the assertion is plain text. =
You
> might want to change it to: "...authorization endpoint may result in the.=
..".
> Comment 6: why is expiration optional in the response? It seems like it s=
hould
> be mandatory (as it is in the other flows).

I didn't really get to that part yet in my full rewrite - just imported it
with small changes. The new spec has a simple authorization endpoint and it
requires SSL/TLS (or other secure channels). The same applies to this flow.
The assertion might not be plain text but the resulting token is.

> Sec. 2.6.1 Client Credentials Flow:
> Comment 7: Why require a refresh token? Assumedly the client has to keep =
the
> client_id and client_secret, so why not just present them to the AS again=
 for
> an access token? Brian/Marius/Dick brought this up earlier - you just mig=
ht
> not have gotten there yet.

Yep. On my list.

Thanks!

EHL

>=20
> --justin
>=20
> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of=
 Eran
> Hammer-Lahav
> Sent: Wednesday, March 31, 2010 6:22 PM
> To: OAuth WG
> Subject: [OAUTH-WG] Draft progress update
>=20
> I'm making good progress working off David's draft and bringing text from
> WRAP into it, as well as from OAuth 1.0a, and my token auth proposal. So =
far
> it is largely in line with David's proposal and the majority of changes a=
re
> purely editorial.
>=20
> The only significant change I have made (which is of course open to debat=
e)
> is renaming all the authorization flows parameters. I dropped the oauth_
> prefix (no real need since these are purely OAuth endpoints, not protecte=
d
> resources), and made most of the parameter names shorter. I am not done s=
o
> they are not consistent yet.
>=20
> You can follow my progress (changes every few hours) at:
>=20
> http://github.com/theRazorBlade/draft-ietf-oauth/raw/master/draft-ietf-oa=
uth
> .txt
>=20
> Please feel free to comment on anything you like or dislike. I will publi=
sh
> the whole thing as an I-D once it is feature complete for the WG to discu=
ss
> before we promote this to a WG draft.
>=20
> I hope to be done with the initial draft by middle of next week (I'll be
> flying most of Fri-Sat so no progress over the weekend).
>=20
> EHL
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>=20
>=20


From eran@hueniverse.com  Thu Apr  1 12:24:56 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6E7233A67B1 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 12:24:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.905
X-Spam-Level: 
X-Spam-Status: No, score=-0.905 tagged_above=-999 required=5 tests=[AWL=0.563,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1ZSFU0eNjmFs for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 12:24:51 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 98C5D3A6359 for <oauth@ietf.org>; Thu,  1 Apr 2010 12:24:49 -0700 (PDT)
Received: (qmail 27908 invoked from network); 1 Apr 2010 19:25:22 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 1 Apr 2010 19:25:22 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Thu, 1 Apr 2010 12:24:44 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 1 Apr 2010 12:24:39 -0700
Thread-Topic: SAML Assertion Flow (was: Draft progress update)
Thread-Index: AcrRyChEJ2Q3qJDIQPiIRztmGRHjggACNB4Z
Message-ID: <C7DA4107.31B11%eran@hueniverse.com>
In-Reply-To: <q2t74caaad21004011121z155e7741h7cf8b5719c67a5e3@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7DA410731B11eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 19:24:56 -0000

--_000_C7DA410731B11eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

A generic assertion flow is too under-specified to be included. If a SAML2 =
assertion flow isn't enough or useful, we should define what is and fully s=
pecify it. The current text is still incomplete as it doesn't address how t=
he assertion should be encoded in the request.

EHL


On 4/1/10 11:21 AM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

Instead of "SAML Assertion Flow" maybe we should stick with the more
generic "Assertion Flow".

The assertion_format parameter allows you to define the assertion
type. Maybe we can predefine
some well know formats, for example: "saml1", "saml1.1" and "saml2"?

Marius



On Wed, Mar 31, 2010 at 6:22 PM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:
> I'm making good progress working off David's draft and bringing text from
> WRAP into it, as well as from OAuth 1.0a, and my token auth proposal. So =
far
> it is largely in line with David's proposal and the majority of changes a=
re
> purely editorial.
>
> The only significant change I have made (which is of course open to debat=
e)
> is renaming all the authorization flows parameters. I dropped the oauth_
> prefix (no real need since these are purely OAuth endpoints, not protecte=
d
> resources), and made most of the parameter names shorter. I am not done s=
o
> they are not consistent yet.
>
> You can follow my progress (changes every few hours) at:
>
> http://github.com/theRazorBlade/draft-ietf-oauth/raw/master/draft-ietf-oa=
uth
> .txt
>
> Please feel free to comment on anything you like or dislike. I will publi=
sh
> the whole thing as an I-D once it is feature complete for the WG to discu=
ss
> before we promote this to a WG draft.
>
> I hope to be done with the initial draft by middle of next week (I'll be
> flying most of Fri-Sat so no progress over the weekend).
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>


--_000_C7DA410731B11eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: SAML Assertion Flow (was: Draft progress update)</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>A generic assertion flow is too under-specified to be included. If a =
SAML2 assertion flow isn&#8217;t enough or useful, we should define what is=
 and fully specify it. The current text is still incomplete as it doesn&#82=
17;t address how the assertion should be encoded in the request.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/1/10 11:21 AM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurtescu@=
google.com">mscurtescu@google.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>Instead of &quot;SAML Assertion Flow&quot; =
maybe we should stick with the more<BR>
generic &quot;Assertion Flow&quot;.<BR>
<BR>
The assertion_format parameter allows you to define the assertion<BR>
type. Maybe we can predefine<BR>
some well know formats, for example: &quot;saml1&quot;, &quot;saml1.1&quot;=
 and &quot;saml2&quot;?<BR>
<BR>
Marius<BR>
<BR>
<BR>
<BR>
On Wed, Mar 31, 2010 at 6:22 PM, Eran Hammer-Lahav &lt;<a href=3D"eran@huen=
iverse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
&gt; I'm making good progress working off David's draft and bringing text f=
rom<BR>
&gt; WRAP into it, as well as from OAuth 1.0a, and my token auth proposal. =
So far<BR>
&gt; it is largely in line with David's proposal and the majority of change=
s are<BR>
&gt; purely editorial.<BR>
&gt;<BR>
&gt; The only significant change I have made (which is of course open to de=
bate)<BR>
&gt; is renaming all the authorization flows parameters. I dropped the oaut=
h_<BR>
&gt; prefix (no real need since these are purely OAuth endpoints, not prote=
cted<BR>
&gt; resources), and made most of the parameter names shorter. I am not don=
e so<BR>
&gt; they are not consistent yet.<BR>
&gt;<BR>
&gt; You can follow my progress (changes every few hours) at:<BR>
&gt;<BR>
&gt; <a href=3D"http://github.com/theRazorBlade/draft-ietf-oauth/raw/master=
/draft-ietf-oauth">http://github.com/theRazorBlade/draft-ietf-oauth/raw/mas=
ter/draft-ietf-oauth</a><BR>
&gt; .txt<BR>
&gt;<BR>
&gt; Please feel free to comment on anything you like or dislike. I will pu=
blish<BR>
&gt; the whole thing as an I-D once it is feature complete for the WG to di=
scuss<BR>
&gt; before we promote this to a WG draft.<BR>
&gt;<BR>
&gt; I hope to be done with the initial draft by middle of next week (I'll =
be<BR>
&gt; flying most of Fri-Sat so no progress over the weekend).<BR>
&gt;<BR>
&gt; EHL<BR>
&gt;<BR>
&gt; _______________________________________________<BR>
&gt; OAuth mailing list<BR>
&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ie=
tf.org/mailman/listinfo/oauth</a><BR>
&gt;<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7DA410731B11eranhueniversecom_--

From eran@hueniverse.com  Thu Apr  1 12:29:11 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E2D813A696A for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 12:29:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.935
X-Spam-Level: 
X-Spam-Status: No, score=-0.935 tagged_above=-999 required=5 tests=[AWL=0.534,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bu8xPzmRH2FN for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 12:29:11 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id D0C5E3A6359 for <oauth@ietf.org>; Thu,  1 Apr 2010 12:29:08 -0700 (PDT)
Received: (qmail 17128 invoked from network); 1 Apr 2010 19:29:41 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 1 Apr 2010 19:29:41 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Thu, 1 Apr 2010 12:29:29 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 1 Apr 2010 12:29:25 -0700
Thread-Topic: [OAUTH-WG] Draft progress update
Thread-Index: AcrRyVALLd6mN3j2Qa6Nup2AxPPsogACFMoi
Message-ID: <C7DA4225.31B14%eran@hueniverse.com>
In-Reply-To: <o2r74caaad21004011129n7e6c39f4jf52c1c664ff01297@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 19:29:12 -0000

On 4/1/10 11:29 AM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

> Also, not only the Authorization Server URLs can receive OAuth
> parameters in the query,
> the same applies to the client callback URL, and that one definitely
> can have random
> parameters.

We are discussing just the authorization endpoint, but if you look at the
current draft, it proposes we limit client customization of the callbacks t=
o
the state parameter (i.e. No query allowed). This is a new. My take is that
either we use the state parameter or we use custom query parameters (with
prefix) but not both. I like the state parameter better (stronger interop
and easier to pre-register URIs).

EHL

>=20
> Marius
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>=20


From eran@hueniverse.com  Thu Apr  1 12:32:19 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 00C903A6B2A for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 12:32:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.962
X-Spam-Level: 
X-Spam-Status: No, score=-0.962 tagged_above=-999 required=5 tests=[AWL=0.508,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HZvi5YUZ9GAq for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 12:32:18 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 922143A6AA5 for <oauth@ietf.org>; Thu,  1 Apr 2010 12:32:11 -0700 (PDT)
Received: (qmail 18918 invoked from network); 1 Apr 2010 19:32:44 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 1 Apr 2010 19:32:44 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Thu, 1 Apr 2010 12:31:55 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>, Justin Smith <justinsm@microsoft.com>
Date: Thu, 1 Apr 2010 12:31:41 -0700
Thread-Topic: [OAUTH-WG] Draft progress update
Thread-Index: AcrRynXs2tLDIPEwTem1eLpXD0pyRgAB35YQ
Message-ID: <C7DA42AD.31B16%eran@hueniverse.com>
In-Reply-To: <i2s74caaad21004011137pb56ee578h6a6e158830534ba5@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 19:32:19 -0000

On 4/1/10 11:37 AM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

> SAML assertions contain the expiry inside, the OAuth "expires"
> parameter would be redundant, maybe this is way it is optional?

The token expiration doesn't have to be the same as the assertion.

> But, do we want to make this parameter required in general? Why not
> leave it optional for all flows? What if an Authorization Server
> implements some other mechanism to expire them (number of uses for
> example) and a fixed expiry time does not make sense?

The expiration parameter should be optional everywhere. If it is not, its
because I didn't get to it (or messed up).


EHL



From mscurtescu@google.com  Thu Apr  1 12:59:19 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 545DC3A6A7C for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 12:59:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.537
X-Spam-Level: 
X-Spam-Status: No, score=-100.537 tagged_above=-999 required=5 tests=[AWL=0.310, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fBdYX7SNdkaF for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 12:59:18 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 4C17D3A6A4C for <oauth@ietf.org>; Thu,  1 Apr 2010 12:59:18 -0700 (PDT)
Received: from kpbe13.cbf.corp.google.com (kpbe13.cbf.corp.google.com [172.25.105.77]) by smtp-out.google.com with ESMTP id o31Jxl75002813 for <oauth@ietf.org>; Thu, 1 Apr 2010 21:59:47 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270151988; bh=vCgjcY9tfSvZRLMo0b/jj5w6o/g=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=En2ePVQgHgIK1POkSekA9UekKNlZbdjK84LmURxjbvTsPVOloJz8t2iKd6eCl2JkD HfwjtWFNKL6fuf8YUZ6hA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=E4wcTVPTahrry/DDLzFFN/bv4JTelP/ABA13xges4R27y3/RVtC6ucIltOW7mSguZ 5BEYx5QoIqJSf64ZknjuQ==
Received: from pwi2 (pwi2.prod.google.com [10.241.219.2]) by kpbe13.cbf.corp.google.com with ESMTP id o31JxLTq030259 for <oauth@ietf.org>; Thu, 1 Apr 2010 14:59:46 -0500
Received: by pwi2 with SMTP id 2so1731096pwi.0 for <oauth@ietf.org>; Thu, 01 Apr 2010 12:59:45 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.248.18 with HTTP; Thu, 1 Apr 2010 12:59:11 -0700 (PDT)
In-Reply-To: <C7DA4107.31B11%eran@hueniverse.com>
References: <q2t74caaad21004011121z155e7741h7cf8b5719c67a5e3@mail.gmail.com>  <C7DA4107.31B11%eran@hueniverse.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 1 Apr 2010 12:59:11 -0700
Received: by 10.141.14.3 with SMTP id r3mr1033390rvi.28.1270151982272; Thu, 01  Apr 2010 12:59:42 -0700 (PDT)
Message-ID: <p2o74caaad21004011259t184d1d6fi8f1907feae09f714@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 19:59:19 -0000

On Thu, Apr 1, 2010 at 12:24 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> A generic assertion flow is too under-specified to be included.

Can you please give some more details, why is that?

For any assertion flow to work the client and the authorization server
must trust
each other, leaving the assertion format details up to them seems reasonable
to me.


Marius

From mscurtescu@google.com  Thu Apr  1 13:02:50 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2A6E83A68C8 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 13:02:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.476
X-Spam-Level: 
X-Spam-Status: No, score=-104.476 tagged_above=-999 required=5 tests=[AWL=0.371, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id i60uU6BGDH3k for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 13:02:49 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 251703A6823 for <oauth@ietf.org>; Thu,  1 Apr 2010 13:02:49 -0700 (PDT)
Received: from wpaz13.hot.corp.google.com (wpaz13.hot.corp.google.com [172.24.198.77]) by smtp-out.google.com with ESMTP id o31K3HHl017081 for <oauth@ietf.org>; Thu, 1 Apr 2010 13:03:17 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270152197; bh=WRSeVQy6NBr1dlJrjFScHU4SCIw=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=nob4kVNrrM7HcJuB7sqFvkOC+U6W5SH5vWrHyE34kfumW6TryPi+PKPnqjCT13rpo dFi95A4Micv9aDkggKrYw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=PhS69jDDGtypsBD+27u+cp5pSQOYguVuUFcLpL7HL+dIlVms9yS3ef8ewUlg2BT3h Ly2dP8OWIn6k+H3MDFzeQ==
Received: from pzk9 (pzk9.prod.google.com [10.243.19.137]) by wpaz13.hot.corp.google.com with ESMTP id o31K3G5T002709 for <oauth@ietf.org>; Thu, 1 Apr 2010 13:03:16 -0700
Received: by pzk9 with SMTP id 9so1488611pzk.21 for <oauth@ietf.org>; Thu, 01 Apr 2010 13:03:16 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.248.18 with HTTP; Thu, 1 Apr 2010 13:02:56 -0700 (PDT)
In-Reply-To: <C7DA42AD.31B16%eran@hueniverse.com>
References: <i2s74caaad21004011137pb56ee578h6a6e158830534ba5@mail.gmail.com>  <C7DA42AD.31B16%eran@hueniverse.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 1 Apr 2010 13:02:56 -0700
Received: by 10.141.53.4 with SMTP id f4mr1025724rvk.89.1270152196093; Thu, 01  Apr 2010 13:03:16 -0700 (PDT)
Message-ID: <j2j74caaad21004011302i37067a2du9463cd57800b2b69@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 20:02:50 -0000

On Thu, Apr 1, 2010 at 12:31 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
>
> On 4/1/10 11:37 AM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
>> SAML assertions contain the expiry inside, the OAuth "expires"
>> parameter would be redundant, maybe this is way it is optional?
>
> The token expiration doesn't have to be the same as the assertion.

Yep, sorry, I got mixed up.


>> But, do we want to make this parameter required in general? Why not
>> leave it optional for all flows? What if an Authorization Server
>> implements some other mechanism to expire them (number of uses for
>> example) and a fixed expiry time does not make sense?
>
> The expiration parameter should be optional everywhere. If it is not, its
> because I didn't get to it (or messed up).

Sounds great.


Marius

From mscurtescu@google.com  Thu Apr  1 13:21:30 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 365953A68FA for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 13:21:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -103.593
X-Spam-Level: 
X-Spam-Status: No, score=-103.593 tagged_above=-999 required=5 tests=[AWL=-0.605, BAYES_20=-0.74, DNS_FROM_OPENWHOIS=1.13, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0NAJSF16-kLl for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 13:21:27 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id A381F3A685D for <oauth@ietf.org>; Thu,  1 Apr 2010 13:21:26 -0700 (PDT)
Received: from hpaq12.eem.corp.google.com (hpaq12.eem.corp.google.com [10.3.21.12]) by smtp-out.google.com with ESMTP id o31KLs8P003563 for <oauth@ietf.org>; Thu, 1 Apr 2010 13:21:55 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270153315; bh=Ox0q6OvXr96HIPcuTA64b9mLH1Q=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=v/82w3Uxkd8n3sHzAu781pOUhmPAeJazyWf9L33A9EvKYW9XYfFsh0Jtkr14MjxT+ yxmHRP8vS+u/ySm5O4Llg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=e9CN+fUhvPgq+s5XIVctVfDKZR8CgJfeCnR/9HwxN9lUVBM1bJKROXbXHOCgbAAXY dzY7brZaRZuS4W/U9r4tQ==
Received: from pvg4 (pvg4.prod.google.com [10.241.210.132]) by hpaq12.eem.corp.google.com with ESMTP id o31KLqx0011609 for <oauth@ietf.org>; Thu, 1 Apr 2010 22:21:53 +0200
Received: by pvg4 with SMTP id 4so620319pvg.9 for <oauth@ietf.org>; Thu, 01 Apr 2010 13:21:52 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.248.18 with HTTP; Thu, 1 Apr 2010 13:21:32 -0700 (PDT)
In-Reply-To: <C7DA40B8.31B0F%eran@hueniverse.com>
References: <191F411E00E19F4E943ECDB6D65C6085168FCFE8@TK5EX14MBXC115.redmond.corp.microsoft.com> <C7DA40B8.31B0F%eran@hueniverse.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 1 Apr 2010 13:21:32 -0700
Received: by 10.141.23.16 with SMTP id a16mr1036298rvj.239.1270153312422; Thu,  01 Apr 2010 13:21:52 -0700 (PDT)
Message-ID: <o2x74caaad21004011321w7414318ai6f52ea84dea0862e@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 20:21:30 -0000

On Thu, Apr 1, 2010 at 12:23 PM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:
> On 4/1/10 11:06 AM, "Justin Smith" <justinsm@microsoft.com> wrote:
>> General comment on the flows:
>> Comment 2: The scope parameter (from WRAP) is missing from all of the fl=
ows.
>> How does the client indicate which protected resource it intends to acce=
ss? In
>> WRAP this was an optional parameter, but it seems important when a singl=
e AS
>> controls access to many resources.
>
> I removed it (for now) because it was (way way) under specified. The only
> reason for a spec is interop. This parameter hurts interop because it for=
ces
> library to implement something they cannot understand, or understand base=
d
> on one deployment.
>
> This debate has been going on for a long time and solving it by simply
> adding a placeholder for scope without *any* structure or definition is n=
ot
> how well designed protocols are written.
>
> I have always maintained that OAuth needs a basic facility to negotiate
> scope. It can be as simple as an opaque string identifying a set of
> resources (e.g. HTTP auth realms), a JSON string of key/value pairs, etc.
> But as present in WRAP and imported by David it is utterly useless (it is
> and under-specified SHOULD - I am not really sure what it is to be used
> for).
>
> Write a proposal and we can add it back.

Except for trivial cases, the client needs to have custom code to access an=
d
process the protected resources. Scopes have meaning only for these
resources and while obtaining an access token I think the scope can be
treated as an opaque string.

There is another issue with removing the scope parameter. In most cases
a scope parameter will be needed in practice, if the spec does not specify
one then an additional non-standard parameter must be used. But you also
dropped the additional parameters.

I don't see why an opaque scope parameter would create any problems
for a library implementation. Working on such an implementation right
now and opaque scopes are perfectly fine.


>> Sec. 2.3. =A0Client Credentials: "When requesting access from the author=
ization
>> server, the client identifies itself using its authorization-server-issu=
ed
>> client credentials."
>> Comment 3: This isn't the case when the client is presenting a token iss=
ued by
>> another server. I suggest a change to something like the following: "Whe=
n
>> requesting access from the authorization server, the client identifies i=
tself
>> using client credentials known to the authorization server."
>
> What token? The authorization endpoint isn't an OAuth-protected resource.
>
>> Sec. 2.4. =A0User Delegation Flows: "Instead, the end user authenticates
>> directly with the authorization server, and grants client access to its
>> protected resources."
>> Comment 4: This is a minor nit, but the AS may not grant access to all o=
f the
>> PRs it controls access to. I suggest a change to something like the foll=
owing:
>> "... and grants client access to the requested protected resources."
>
> This isn't the old testament. No need to look for hidden meaning. The spe=
c
> is about getting access to protected resources, generally dealing with *a=
*
> protected resource. How resources are segmented is beyond the scope. I th=
ink
> it is more useful to talk about it using simpler assumptions - it doesn't
> prevent the more complex use cases.

I think this ties in with the scope parameter. When requesting authorizatio=
n,
if a client can also pass a scope parameter, then access is granted only
to the resources that accept that scope and not to all resources controlled
by this Authorization Server.


Marius

From cmortimore@salesforce.com  Thu Apr  1 13:33:49 2010
Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9CD203A6847 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 13:33:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.743
X-Spam-Level: 
X-Spam-Status: No, score=-4.743 tagged_above=-999 required=5 tests=[AWL=0.725,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KXP-Y5+l8cmF for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 13:33:43 -0700 (PDT)
Received: from exprod8og119.obsmtp.com (exprod8og119.obsmtp.com [64.18.3.38]) by core3.amsl.com (Postfix) with SMTP id D30243A68E5 for <oauth@ietf.org>; Thu,  1 Apr 2010 13:33:42 -0700 (PDT)
Received: from source ([204.14.239.239]) by exprod8ob119.postini.com ([64.18.7.12]) with SMTP ID DSNKS7UDR7Y1rMJ4jXhLwzqnQe62lM7Rc17N@postini.com; Thu, 01 Apr 2010 13:34:16 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub4.internal.salesforce.com ([10.1.127.8]) with mapi; Thu, 1 Apr 2010 13:34:14 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 1 Apr 2010 13:34:14 -0700
Thread-Topic: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
Thread-Index: AcrRyChEJ2Q3qJDIQPiIRztmGRHjggACNB4ZAAJuH5U=
Message-ID: <C7DA5156.2FBF%cmortimore@salesforce.com>
In-Reply-To: <C7DA4107.31B11%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7DA51562FBFcmortimoresalesforcecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 20:33:49 -0000

--_000_C7DA51562FBFcmortimoresalesforcecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

As you've pointed out, the current text is in somewhat of a grey area.   It=
's either over specified ( remove any reference to SAML ) or underspecified=
 ( be very explicit about exactly what is expected )

I'd advocate that the core spec is left under-specified.   If we're prescri=
ptive on the exact version and format of SAML, than the result will be othe=
r use-cases will simply force non-standard extensions.   It seems we do nee=
d to document exactly what what specific values of assertion_format require=
s, but the core spec should be open to multiple formats.

This would allow for flexibility with SAML, which has multiple versions, fo=
rmats, and confirmation methods, but also allow for this message exchange p=
atterns with completely different assertion types.   It will somewhat futur=
e proof the core spec.

Note that I'd be happy to work on the documentation of a specific format an=
d contribute that to the group.

-cmort


On 4/1/10 12:24 PM, "Eran Hammer-Lahav" <eran@hueniverse.com> wrote:

A generic assertion flow is too under-specified to be included. If a SAML2 =
assertion flow isn't enough or useful, we should define what is and fully s=
pecify it. The current text is still incomplete as it doesn't address how t=
he assertion should be encoded in the request.

EHL


On 4/1/10 11:21 AM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

Instead of "SAML Assertion Flow" maybe we should stick with the more
generic "Assertion Flow".

The assertion_format parameter allows you to define the assertion
type. Maybe we can predefine
some well know formats, for example: "saml1", "saml1.1" and "saml2"?

Marius



On Wed, Mar 31, 2010 at 6:22 PM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:
> I'm making good progress working off David's draft and bringing text from
> WRAP into it, as well as from OAuth 1.0a, and my token auth proposal. So =
far
> it is largely in line with David's proposal and the majority of changes a=
re
> purely editorial.
>
> The only significant change I have made (which is of course open to debat=
e)
> is renaming all the authorization flows parameters. I dropped the oauth_
> prefix (no real need since these are purely OAuth endpoints, not protecte=
d
> resources), and made most of the parameter names shorter. I am not done s=
o
> they are not consistent yet.
>
> You can follow my progress (changes every few hours) at:
>
> http://github.com/theRazorBlade/draft-ietf-oauth/raw/master/draft-ietf-oa=
uth
> .txt
>
> Please feel free to comment on anything you like or dislike. I will publi=
sh
> the whole thing as an I-D once it is feature complete for the WG to discu=
ss
> before we promote this to a WG draft.
>
> I hope to be done with the initial draft by middle of next week (I'll be
> flying most of Fri-Sat so no progress over the weekend).
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>



--_000_C7DA51562FBFcmortimoresalesforcecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)</TIT=
LE>
</HEAD>
<BODY>
<FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'>As you&#8217;ve=
 pointed out, the current text is in somewhat of a grey area. &nbsp;&nbsp;I=
t&#8217;s either over specified ( remove any reference to SAML ) or undersp=
ecified ( be very explicit about exactly what is expected ) <BR>
<BR>
I&#8217;d advocate that the core spec is left under-specified. &nbsp;&nbsp;=
If we&#8217;re prescriptive on the exact version and format of SAML, than t=
he result will be other use-cases will simply force non-standard extensions=
. &nbsp;&nbsp;It seems we do need to document exactly what what specific va=
lues of assertion_format requires, but the core spec should be open to mult=
iple formats. &nbsp;&nbsp;<BR>
<BR>
This would allow for flexibility with SAML, which has multiple versions, fo=
rmats, and confirmation methods, but also allow for this message exchange p=
atterns with completely different assertion types. &nbsp;&nbsp;It will some=
what future proof the core spec.<BR>
<BR>
Note that I&#8217;d be happy to work on the documentation of a specific for=
mat and contribute that to the group. &nbsp;&nbsp;<BR>
<BR>
-cmort <BR>
<BR>
<BR>
On 4/1/10 12:24 PM, &quot;Eran Hammer-Lahav&quot; &lt;<a href=3D"eran@hueni=
verse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Verd=
ana, Helvetica, Arial">A generic assertion flow is too under-specified to b=
e included. If a SAML2 assertion flow isn&#8217;t enough or useful, we shou=
ld define what is and fully specify it. The current text is still incomplet=
e as it doesn&#8217;t address how the assertion should be encoded in the re=
quest.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/1/10 11:21 AM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurtescu@=
google.com">mscurtescu@google.com</a>&gt; wrote:<BR>
<BR>
</FONT></SPAN><BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Verd=
ana, Helvetica, Arial">Instead of &quot;SAML Assertion Flow&quot; maybe we =
should stick with the more<BR>
generic &quot;Assertion Flow&quot;.<BR>
<BR>
The assertion_format parameter allows you to define the assertion<BR>
type. Maybe we can predefine<BR>
some well know formats, for example: &quot;saml1&quot;, &quot;saml1.1&quot;=
 and &quot;saml2&quot;?<BR>
<BR>
Marius<BR>
<BR>
<BR>
<BR>
On Wed, Mar 31, 2010 at 6:22 PM, Eran Hammer-Lahav &lt;<a href=3D"eran@huen=
iverse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
&gt; I'm making good progress working off David's draft and bringing text f=
rom<BR>
&gt; WRAP into it, as well as from OAuth 1.0a, and my token auth proposal. =
So far<BR>
&gt; it is largely in line with David's proposal and the majority of change=
s are<BR>
&gt; purely editorial.<BR>
&gt;<BR>
&gt; The only significant change I have made (which is of course open to de=
bate)<BR>
&gt; is renaming all the authorization flows parameters. I dropped the oaut=
h_<BR>
&gt; prefix (no real need since these are purely OAuth endpoints, not prote=
cted<BR>
&gt; resources), and made most of the parameter names shorter. I am not don=
e so<BR>
&gt; they are not consistent yet.<BR>
&gt;<BR>
&gt; You can follow my progress (changes every few hours) at:<BR>
&gt;<BR>
&gt; <a href=3D"http://github.com/theRazorBlade/draft-ietf-oauth/raw/master=
/draft-ietf-oauth">http://github.com/theRazorBlade/draft-ietf-oauth/raw/mas=
ter/draft-ietf-oauth</a><BR>
&gt; .txt<BR>
&gt;<BR>
&gt; Please feel free to comment on anything you like or dislike. I will pu=
blish<BR>
&gt; the whole thing as an I-D once it is feature complete for the WG to di=
scuss<BR>
&gt; before we promote this to a WG draft.<BR>
&gt;<BR>
&gt; I hope to be done with the initial draft by middle of next week (I'll =
be<BR>
&gt; flying most of Fri-Sat so no progress over the weekend).<BR>
&gt;<BR>
&gt; EHL<BR>
&gt;<BR>
&gt; _______________________________________________<BR>
&gt; OAuth mailing list<BR>
&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ie=
tf.org/mailman/listinfo/oauth</a><BR>
&gt;<BR>
<BR>
</FONT></SPAN></BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Luc=
ida Grande"><BR>
</FONT></SPAN></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7DA51562FBFcmortimoresalesforcecom_--

From eran@hueniverse.com  Thu Apr  1 15:16:15 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 59E253A68AA for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 15:16:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.985
X-Spam-Level: 
X-Spam-Status: No, score=-0.985 tagged_above=-999 required=5 tests=[AWL=0.483,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HXn3YtENa+7S for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 15:16:13 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 8BDD03A6825 for <oauth@ietf.org>; Thu,  1 Apr 2010 15:16:13 -0700 (PDT)
Received: (qmail 19950 invoked from network); 1 Apr 2010 22:16:45 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 1 Apr 2010 22:16:45 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Thu, 1 Apr 2010 15:16:45 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Chuck Mortimore <cmortimore@salesforce.com>
Date: Thu, 1 Apr 2010 15:16:28 -0700
Thread-Topic: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
Thread-Index: AcrR6QNxYjMaO5tiTVWOlWjNct/17Q==
Message-ID: <B6D3A5E0-36B2-4458-9CE6-F5F394E69B87@hueniverse.com>
References: <C7DA5156.2FBF%cmortimore@salesforce.com>
In-Reply-To: <C7DA5156.2FBF%cmortimore@salesforce.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_B6D3A5E036B244589CE6F5F394E69B87hueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 22:16:15 -0000

--_000_B6D3A5E036B244589CE6F5F394E69B87hueniversecom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

V2hhdCBpcyB0aGUgdmFsdWUgb2YgYW4gdW5kZXIgc3BlY2lmaWVkIGZsb3c/IEVzcGVjaWFsbHkg
b25lIGFzIHNob3J0IGFuZCBzaW1wbGUgYXMgdGhpcyBvbmU/DQoNCk15IHBvaW50IGlzIHRoYXQg
aWYgdGhlIGZsb3cgcmVxdWlyZXMgZnVydGhlciBwcm9maWxpbmcgdG8gYmUgdXNlZnVsLCB0aGUg
d2hvbGUgdGhpbmcgZG9lcyBiZWxvbmcgaW4gdGhlIGNvcmUgc3BlYy4gSXQgaXMgc2hvcnQgZW5v
dWdoIHRvIGJlIGN1dCBhbmQgcGFzdGUgaW50byBhbm90aGVyIHNwZWMgcmVwZWF0ZWRseSBmb3Ig
ZWFjaCB3ZWxsIHNwZWNpZmllZCBhc3NlcnRpb24gZmxvdy4NCg0KRUhMDQoNCk9uIEFwciAxLCAy
MDEwLCBhdCAxNjozNCwgIkNodWNrIE1vcnRpbW9yZSIgPGNtb3J0aW1vcmVAc2FsZXNmb3JjZS5j
b208bWFpbHRvOmNtb3J0aW1vcmVAc2FsZXNmb3JjZS5jb20+PiB3cm90ZToNCg0KQXMgeW914oCZ
dmUgcG9pbnRlZCBvdXQsIHRoZSBjdXJyZW50IHRleHQgaXMgaW4gc29tZXdoYXQgb2YgYSBncmV5
IGFyZWEuICAgSXTigJlzIGVpdGhlciBvdmVyIHNwZWNpZmllZCAoIHJlbW92ZSBhbnkgcmVmZXJl
bmNlIHRvIFNBTUwgKSBvciB1bmRlcnNwZWNpZmllZCAoIGJlIHZlcnkgZXhwbGljaXQgYWJvdXQg
ZXhhY3RseSB3aGF0IGlzIGV4cGVjdGVkICkNCg0KSeKAmWQgYWR2b2NhdGUgdGhhdCB0aGUgY29y
ZSBzcGVjIGlzIGxlZnQgdW5kZXItc3BlY2lmaWVkLiAgIElmIHdl4oCZcmUgcHJlc2NyaXB0aXZl
IG9uIHRoZSBleGFjdCB2ZXJzaW9uIGFuZCBmb3JtYXQgb2YgU0FNTCwgdGhhbiB0aGUgcmVzdWx0
IHdpbGwgYmUgb3RoZXIgdXNlLWNhc2VzIHdpbGwgc2ltcGx5IGZvcmNlIG5vbi1zdGFuZGFyZCBl
eHRlbnNpb25zLiAgIEl0IHNlZW1zIHdlIGRvIG5lZWQgdG8gZG9jdW1lbnQgZXhhY3RseSB3aGF0
IHdoYXQgc3BlY2lmaWMgdmFsdWVzIG9mIGFzc2VydGlvbl9mb3JtYXQgcmVxdWlyZXMsIGJ1dCB0
aGUgY29yZSBzcGVjIHNob3VsZCBiZSBvcGVuIHRvIG11bHRpcGxlIGZvcm1hdHMuDQoNClRoaXMg
d291bGQgYWxsb3cgZm9yIGZsZXhpYmlsaXR5IHdpdGggU0FNTCwgd2hpY2ggaGFzIG11bHRpcGxl
IHZlcnNpb25zLCBmb3JtYXRzLCBhbmQgY29uZmlybWF0aW9uIG1ldGhvZHMsIGJ1dCBhbHNvIGFs
bG93IGZvciB0aGlzIG1lc3NhZ2UgZXhjaGFuZ2UgcGF0dGVybnMgd2l0aCBjb21wbGV0ZWx5IGRp
ZmZlcmVudCBhc3NlcnRpb24gdHlwZXMuICAgSXQgd2lsbCBzb21ld2hhdCBmdXR1cmUgcHJvb2Yg
dGhlIGNvcmUgc3BlYy4NCg0KTm90ZSB0aGF0IEnigJlkIGJlIGhhcHB5IHRvIHdvcmsgb24gdGhl
IGRvY3VtZW50YXRpb24gb2YgYSBzcGVjaWZpYyBmb3JtYXQgYW5kIGNvbnRyaWJ1dGUgdGhhdCB0
byB0aGUgZ3JvdXAuDQoNCi1jbW9ydA0KDQoNCk9uIDQvMS8xMCAxMjoyNCBQTSwgIkVyYW4gSGFt
bWVyLUxhaGF2IiA8PGVyYW5AaHVlbml2ZXJzZS5jb20+ZXJhbkBodWVuaXZlcnNlLmNvbTxtYWls
dG86ZXJhbkBodWVuaXZlcnNlLmNvbT4+IHdyb3RlOg0KDQpBIGdlbmVyaWMgYXNzZXJ0aW9uIGZs
b3cgaXMgdG9vIHVuZGVyLXNwZWNpZmllZCB0byBiZSBpbmNsdWRlZC4gSWYgYSBTQU1MMiBhc3Nl
cnRpb24gZmxvdyBpc27igJl0IGVub3VnaCBvciB1c2VmdWwsIHdlIHNob3VsZCBkZWZpbmUgd2hh
dCBpcyBhbmQgZnVsbHkgc3BlY2lmeSBpdC4gVGhlIGN1cnJlbnQgdGV4dCBpcyBzdGlsbCBpbmNv
bXBsZXRlIGFzIGl0IGRvZXNu4oCZdCBhZGRyZXNzIGhvdyB0aGUgYXNzZXJ0aW9uIHNob3VsZCBi
ZSBlbmNvZGVkIGluIHRoZSByZXF1ZXN0Lg0KDQpFSEwNCg0KDQpPbiA0LzEvMTAgMTE6MjEgQU0s
ICJNYXJpdXMgU2N1cnRlc2N1IiA8PG1zY3VydGVzY3VAZ29vZ2xlLmNvbT5tc2N1cnRlc2N1QGdv
b2dsZS5jb208bWFpbHRvOm1zY3VydGVzY3VAZ29vZ2xlLmNvbT4+IHdyb3RlOg0KDQpJbnN0ZWFk
IG9mICJTQU1MIEFzc2VydGlvbiBGbG93IiBtYXliZSB3ZSBzaG91bGQgc3RpY2sgd2l0aCB0aGUg
bW9yZQ0KZ2VuZXJpYyAiQXNzZXJ0aW9uIEZsb3ciLg0KDQpUaGUgYXNzZXJ0aW9uX2Zvcm1hdCBw
YXJhbWV0ZXIgYWxsb3dzIHlvdSB0byBkZWZpbmUgdGhlIGFzc2VydGlvbg0KdHlwZS4gTWF5YmUg
d2UgY2FuIHByZWRlZmluZQ0Kc29tZSB3ZWxsIGtub3cgZm9ybWF0cywgZm9yIGV4YW1wbGU6ICJz
YW1sMSIsICJzYW1sMS4xIiBhbmQgInNhbWwyIj8NCg0KTWFyaXVzDQoNCg0KDQpPbiBXZWQsIE1h
ciAzMSwgMjAxMCBhdCA2OjIyIFBNLCBFcmFuIEhhbW1lci1MYWhhdiA8PGVyYW5AaHVlbml2ZXJz
ZS5jb20+ZXJhbkBodWVuaXZlcnNlLmNvbTxtYWlsdG86ZXJhbkBodWVuaXZlcnNlLmNvbT4+IHdy
b3RlOg0KPiBJJ20gbWFraW5nIGdvb2QgcHJvZ3Jlc3Mgd29ya2luZyBvZmYgRGF2aWQncyBkcmFm
dCBhbmQgYnJpbmdpbmcgdGV4dCBmcm9tDQo+IFdSQVAgaW50byBpdCwgYXMgd2VsbCBhcyBmcm9t
IE9BdXRoIDEuMGEsIGFuZCBteSB0b2tlbiBhdXRoIHByb3Bvc2FsLiBTbyBmYXINCj4gaXQgaXMg
bGFyZ2VseSBpbiBsaW5lIHdpdGggRGF2aWQncyBwcm9wb3NhbCBhbmQgdGhlIG1ham9yaXR5IG9m
IGNoYW5nZXMgYXJlDQo+IHB1cmVseSBlZGl0b3JpYWwuDQo+DQo+IFRoZSBvbmx5IHNpZ25pZmlj
YW50IGNoYW5nZSBJIGhhdmUgbWFkZSAod2hpY2ggaXMgb2YgY291cnNlIG9wZW4gdG8gZGViYXRl
KQ0KPiBpcyByZW5hbWluZyBhbGwgdGhlIGF1dGhvcml6YXRpb24gZmxvd3MgcGFyYW1ldGVycy4g
SSBkcm9wcGVkIHRoZSBvYXV0aF8NCj4gcHJlZml4IChubyByZWFsIG5lZWQgc2luY2UgdGhlc2Ug
YXJlIHB1cmVseSBPQXV0aCBlbmRwb2ludHMsIG5vdCBwcm90ZWN0ZWQNCj4gcmVzb3VyY2VzKSwg
YW5kIG1hZGUgbW9zdCBvZiB0aGUgcGFyYW1ldGVyIG5hbWVzIHNob3J0ZXIuIEkgYW0gbm90IGRv
bmUgc28NCj4gdGhleSBhcmUgbm90IGNvbnNpc3RlbnQgeWV0Lg0KPg0KPiBZb3UgY2FuIGZvbGxv
dyBteSBwcm9ncmVzcyAoY2hhbmdlcyBldmVyeSBmZXcgaG91cnMpIGF0Og0KPg0KPiA8aHR0cDov
L2dpdGh1Yi5jb20vdGhlUmF6b3JCbGFkZS9kcmFmdC1pZXRmLW9hdXRoL3Jhdy9tYXN0ZXIvZHJh
ZnQtaWV0Zi1vYXV0aD4gaHR0cDovL2dpdGh1Yi5jb20vdGhlUmF6b3JCbGFkZS9kcmFmdC1pZXRm
LW9hdXRoL3Jhdy9tYXN0ZXIvZHJhZnQtaWV0Zi1vYXV0aA0KPiAudHh0DQo+DQo+IFBsZWFzZSBm
ZWVsIGZyZWUgdG8gY29tbWVudCBvbiBhbnl0aGluZyB5b3UgbGlrZSBvciBkaXNsaWtlLiBJIHdp
bGwgcHVibGlzaA0KPiB0aGUgd2hvbGUgdGhpbmcgYXMgYW4gSS1EIG9uY2UgaXQgaXMgZmVhdHVy
ZSBjb21wbGV0ZSBmb3IgdGhlIFdHIHRvIGRpc2N1c3MNCj4gYmVmb3JlIHdlIHByb21vdGUgdGhp
cyB0byBhIFdHIGRyYWZ0Lg0KPg0KPiBJIGhvcGUgdG8gYmUgZG9uZSB3aXRoIHRoZSBpbml0aWFs
IGRyYWZ0IGJ5IG1pZGRsZSBvZiBuZXh0IHdlZWsgKEknbGwgYmUNCj4gZmx5aW5nIG1vc3Qgb2Yg
RnJpLVNhdCBzbyBubyBwcm9ncmVzcyBvdmVyIHRoZSB3ZWVrZW5kKS4NCj4NCj4gRUhMDQo+DQo+
IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+IE9BdXRo
IG1haWxpbmcgbGlzdA0KPiA8T0F1dGhAaWV0Zi5vcmc+IE9BdXRoQGlldGYub3JnPG1haWx0bzpP
QXV0aEBpZXRmLm9yZz4NCj4gPGh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8v
b2F1dGg+IGh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vb2F1dGgNCj4NCg0K
DQo=

--_000_B6D3A5E036B244589CE6F5F394E69B87hueniversecom_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWw+PGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiI+PGRpdj5XaGF0IGlzIHRoZSB2YWx1ZSBvZiBh
biB1bmRlciBzcGVjaWZpZWQgZmxvdz8gRXNwZWNpYWxseSBvbmUgYXMgc2hvcnQgYW5kIHNpbXBs
ZSBhcyB0aGlzIG9uZT88L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pk15IHBvaW50IGlzIHRoYXQg
aWYgdGhlIGZsb3cgcmVxdWlyZXMgZnVydGhlciBwcm9maWxpbmcgdG8gYmUgdXNlZnVsLCB0aGUg
d2hvbGUgdGhpbmcgZG9lcyBiZWxvbmcgaW4gdGhlIGNvcmUgc3BlYy4gSXQgaXMgc2hvcnQgZW5v
dWdoIHRvIGJlIGN1dCBhbmQgcGFzdGUgaW50byBhbm90aGVyIHNwZWMgcmVwZWF0ZWRseSBmb3Ig
ZWFjaCB3ZWxsIHNwZWNpZmllZCBhc3NlcnRpb24gZmxvdy4mbmJzcDs8L2Rpdj48ZGl2Pjxicj48
L2Rpdj48ZGl2PkVITCZuYnNwOzxicj48YnI+T24gQXByIDEsIDIwMTAsIGF0IDE2OjM0LCAiQ2h1
Y2sgTW9ydGltb3JlIiAmbHQ7PGEgaHJlZj0ibWFpbHRvOmNtb3J0aW1vcmVAc2FsZXNmb3JjZS5j
b20iPmNtb3J0aW1vcmVAc2FsZXNmb3JjZS5jb208L2E+Jmd0OyB3cm90ZTo8YnI+PGJyPjwvZGl2
PjxkaXY+PC9kaXY+PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+PGRpdj4NCjxmb250IGZhY2U9Ikx1
Y2lkYSBHcmFuZGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdCI+QXMgeW914oCZdmUgcG9p
bnRlZCBvdXQsIHRoZSBjdXJyZW50IHRleHQgaXMgaW4gc29tZXdoYXQgb2YgYSBncmV5IGFyZWEu
ICZuYnNwOyZuYnNwO0l04oCZcyBlaXRoZXIgb3ZlciBzcGVjaWZpZWQgKCByZW1vdmUgYW55IHJl
ZmVyZW5jZSB0byBTQU1MICkgb3IgdW5kZXJzcGVjaWZpZWQgKCBiZSB2ZXJ5IGV4cGxpY2l0IGFi
b3V0IGV4YWN0bHkgd2hhdCBpcyBleHBlY3RlZCApIDxicj4NCjxicj4NCknigJlkIGFkdm9jYXRl
IHRoYXQgdGhlIGNvcmUgc3BlYyBpcyBsZWZ0IHVuZGVyLXNwZWNpZmllZC4gJm5ic3A7Jm5ic3A7
SWYgd2XigJlyZSBwcmVzY3JpcHRpdmUgb24gdGhlIGV4YWN0IHZlcnNpb24gYW5kIGZvcm1hdCBv
ZiBTQU1MLCB0aGFuIHRoZSByZXN1bHQgd2lsbCBiZSBvdGhlciB1c2UtY2FzZXMgd2lsbCBzaW1w
bHkgZm9yY2Ugbm9uLXN0YW5kYXJkIGV4dGVuc2lvbnMuICZuYnNwOyZuYnNwO0l0IHNlZW1zIHdl
IGRvIG5lZWQgdG8gZG9jdW1lbnQgZXhhY3RseSB3aGF0IHdoYXQgc3BlY2lmaWMgdmFsdWVzIG9m
IGFzc2VydGlvbl9mb3JtYXQgcmVxdWlyZXMsIGJ1dCB0aGUgY29yZSBzcGVjIHNob3VsZCBiZSBv
cGVuIHRvIG11bHRpcGxlIGZvcm1hdHMuICZuYnNwOyZuYnNwOzxicj4NCjxicj4NClRoaXMgd291
bGQgYWxsb3cgZm9yIGZsZXhpYmlsaXR5IHdpdGggU0FNTCwgd2hpY2ggaGFzIG11bHRpcGxlIHZl
cnNpb25zLCBmb3JtYXRzLCBhbmQgY29uZmlybWF0aW9uIG1ldGhvZHMsIGJ1dCBhbHNvIGFsbG93
IGZvciB0aGlzIG1lc3NhZ2UgZXhjaGFuZ2UgcGF0dGVybnMgd2l0aCBjb21wbGV0ZWx5IGRpZmZl
cmVudCBhc3NlcnRpb24gdHlwZXMuICZuYnNwOyZuYnNwO0l0IHdpbGwgc29tZXdoYXQgZnV0dXJl
IHByb29mIHRoZSBjb3JlIHNwZWMuPGJyPg0KPGJyPg0KTm90ZSB0aGF0IEnigJlkIGJlIGhhcHB5
IHRvIHdvcmsgb24gdGhlIGRvY3VtZW50YXRpb24gb2YgYSBzcGVjaWZpYyBmb3JtYXQgYW5kIGNv
bnRyaWJ1dGUgdGhhdCB0byB0aGUgZ3JvdXAuICZuYnNwOyZuYnNwOzxicj4NCjxicj4NCi1jbW9y
dCA8YnI+DQo8YnI+DQo8YnI+DQpPbiA0LzEvMTAgMTI6MjQgUE0sICJFcmFuIEhhbW1lci1MYWhh
diIgJmx0OzxhIGhyZWY9ImVyYW5AaHVlbml2ZXJzZS5jb20iPjxhIGhyZWY9Im1haWx0bzplcmFu
QGh1ZW5pdmVyc2UuY29tIj5lcmFuQGh1ZW5pdmVyc2UuY29tPC9hPjwvYT4mZ3Q7IHdyb3RlOjxi
cj4NCjxicj4NCjwvc3Bhbj48L2ZvbnQ+PGJsb2NrcXVvdGU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMXB0Ij48Zm9udCBmYWNlPSJWZXJkYW5hLCBIZWx2ZXRpY2EsIEFyaWFsIj5BIGdlbmVyaWMg
YXNzZXJ0aW9uIGZsb3cgaXMgdG9vIHVuZGVyLXNwZWNpZmllZCB0byBiZSBpbmNsdWRlZC4gSWYg
YSBTQU1MMiBhc3NlcnRpb24gZmxvdyBpc27igJl0IGVub3VnaCBvciB1c2VmdWwsIHdlIHNob3Vs
ZCBkZWZpbmUgd2hhdCBpcyBhbmQgZnVsbHkgc3BlY2lmeSBpdC4gVGhlIGN1cnJlbnQgdGV4dCBp
cyBzdGlsbCBpbmNvbXBsZXRlIGFzIGl0IGRvZXNu4oCZdCBhZGRyZXNzIGhvdyB0aGUgYXNzZXJ0
aW9uIHNob3VsZCBiZSBlbmNvZGVkIGluIHRoZSByZXF1ZXN0Ljxicj4NCjxicj4NCkVITDxicj4N
Cjxicj4NCjxicj4NCk9uIDQvMS8xMCAxMToyMSBBTSwgIk1hcml1cyBTY3VydGVzY3UiICZsdDs8
YSBocmVmPSJtc2N1cnRlc2N1QGdvb2dsZS5jb20iPjxhIGhyZWY9Im1haWx0bzptc2N1cnRlc2N1
QGdvb2dsZS5jb20iPm1zY3VydGVzY3VAZ29vZ2xlLmNvbTwvYT48L2E+Jmd0OyB3cm90ZTo8YnI+
DQo8YnI+DQo8L2ZvbnQ+PC9zcGFuPjxibG9ja3F1b3RlPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTFwdCI+PGZvbnQgZmFjZT0iVmVyZGFuYSwgSGVsdmV0aWNhLCBBcmlhbCI+SW5zdGVhZCBvZiAi
U0FNTCBBc3NlcnRpb24gRmxvdyIgbWF5YmUgd2Ugc2hvdWxkIHN0aWNrIHdpdGggdGhlIG1vcmU8
YnI+DQpnZW5lcmljICJBc3NlcnRpb24gRmxvdyIuPGJyPg0KPGJyPg0KVGhlIGFzc2VydGlvbl9m
b3JtYXQgcGFyYW1ldGVyIGFsbG93cyB5b3UgdG8gZGVmaW5lIHRoZSBhc3NlcnRpb248YnI+DQp0
eXBlLiBNYXliZSB3ZSBjYW4gcHJlZGVmaW5lPGJyPg0Kc29tZSB3ZWxsIGtub3cgZm9ybWF0cywg
Zm9yIGV4YW1wbGU6ICJzYW1sMSIsICJzYW1sMS4xIiBhbmQgInNhbWwyIj88YnI+DQo8YnI+DQpN
YXJpdXM8YnI+DQo8YnI+DQo8YnI+DQo8YnI+DQpPbiBXZWQsIE1hciAzMSwgMjAxMCBhdCA2OjIy
IFBNLCBFcmFuIEhhbW1lci1MYWhhdiAmbHQ7PGEgaHJlZj0iZXJhbkBodWVuaXZlcnNlLmNvbSI+
PGEgaHJlZj0ibWFpbHRvOmVyYW5AaHVlbml2ZXJzZS5jb20iPmVyYW5AaHVlbml2ZXJzZS5jb208
L2E+PC9hPiZndDsgd3JvdGU6PGJyPg0KJmd0OyBJJ20gbWFraW5nIGdvb2QgcHJvZ3Jlc3Mgd29y
a2luZyBvZmYgRGF2aWQncyBkcmFmdCBhbmQgYnJpbmdpbmcgdGV4dCBmcm9tPGJyPg0KJmd0OyBX
UkFQIGludG8gaXQsIGFzIHdlbGwgYXMgZnJvbSBPQXV0aCAxLjBhLCBhbmQgbXkgdG9rZW4gYXV0
aCBwcm9wb3NhbC4gU28gZmFyPGJyPg0KJmd0OyBpdCBpcyBsYXJnZWx5IGluIGxpbmUgd2l0aCBE
YXZpZCdzIHByb3Bvc2FsIGFuZCB0aGUgbWFqb3JpdHkgb2YgY2hhbmdlcyBhcmU8YnI+DQomZ3Q7
IHB1cmVseSBlZGl0b3JpYWwuPGJyPg0KJmd0Ozxicj4NCiZndDsgVGhlIG9ubHkgc2lnbmlmaWNh
bnQgY2hhbmdlIEkgaGF2ZSBtYWRlICh3aGljaCBpcyBvZiBjb3Vyc2Ugb3BlbiB0byBkZWJhdGUp
PGJyPg0KJmd0OyBpcyByZW5hbWluZyBhbGwgdGhlIGF1dGhvcml6YXRpb24gZmxvd3MgcGFyYW1l
dGVycy4gSSBkcm9wcGVkIHRoZSBvYXV0aF88YnI+DQomZ3Q7IHByZWZpeCAobm8gcmVhbCBuZWVk
IHNpbmNlIHRoZXNlIGFyZSBwdXJlbHkgT0F1dGggZW5kcG9pbnRzLCBub3QgcHJvdGVjdGVkPGJy
Pg0KJmd0OyByZXNvdXJjZXMpLCBhbmQgbWFkZSBtb3N0IG9mIHRoZSBwYXJhbWV0ZXIgbmFtZXMg
c2hvcnRlci4gSSBhbSBub3QgZG9uZSBzbzxicj4NCiZndDsgdGhleSBhcmUgbm90IGNvbnNpc3Rl
bnQgeWV0Ljxicj4NCiZndDs8YnI+DQomZ3Q7IFlvdSBjYW4gZm9sbG93IG15IHByb2dyZXNzIChj
aGFuZ2VzIGV2ZXJ5IGZldyBob3VycykgYXQ6PGJyPg0KJmd0Ozxicj4NCiZndDsgPGEgaHJlZj0i
aHR0cDovL2dpdGh1Yi5jb20vdGhlUmF6b3JCbGFkZS9kcmFmdC1pZXRmLW9hdXRoL3Jhdy9tYXN0
ZXIvZHJhZnQtaWV0Zi1vYXV0aCI+PGEgaHJlZj0iaHR0cDovL2dpdGh1Yi5jb20vdGhlUmF6b3JC
bGFkZS9kcmFmdC1pZXRmLW9hdXRoL3Jhdy9tYXN0ZXIvZHJhZnQtaWV0Zi1vYXV0aCI+aHR0cDov
L2dpdGh1Yi5jb20vdGhlUmF6b3JCbGFkZS9kcmFmdC1pZXRmLW9hdXRoL3Jhdy9tYXN0ZXIvZHJh
ZnQtaWV0Zi1vYXV0aDwvYT48L2E+PGJyPg0KJmd0OyAudHh0PGJyPg0KJmd0Ozxicj4NCiZndDsg
UGxlYXNlIGZlZWwgZnJlZSB0byBjb21tZW50IG9uIGFueXRoaW5nIHlvdSBsaWtlIG9yIGRpc2xp
a2UuIEkgd2lsbCBwdWJsaXNoPGJyPg0KJmd0OyB0aGUgd2hvbGUgdGhpbmcgYXMgYW4gSS1EIG9u
Y2UgaXQgaXMgZmVhdHVyZSBjb21wbGV0ZSBmb3IgdGhlIFdHIHRvIGRpc2N1c3M8YnI+DQomZ3Q7
IGJlZm9yZSB3ZSBwcm9tb3RlIHRoaXMgdG8gYSBXRyBkcmFmdC48YnI+DQomZ3Q7PGJyPg0KJmd0
OyBJIGhvcGUgdG8gYmUgZG9uZSB3aXRoIHRoZSBpbml0aWFsIGRyYWZ0IGJ5IG1pZGRsZSBvZiBu
ZXh0IHdlZWsgKEknbGwgYmU8YnI+DQomZ3Q7IGZseWluZyBtb3N0IG9mIEZyaS1TYXQgc28gbm8g
cHJvZ3Jlc3Mgb3ZlciB0aGUgd2Vla2VuZCkuPGJyPg0KJmd0Ozxicj4NCiZndDsgRUhMPGJyPg0K
Jmd0Ozxicj4NCiZndDsgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX188YnI+DQomZ3Q7IE9BdXRoIG1haWxpbmcgbGlzdDxicj4NCiZndDsgPGEgaHJlZj0iT0F1
dGhAaWV0Zi5vcmciPjxhIGhyZWY9Im1haWx0bzpPQXV0aEBpZXRmLm9yZyI+T0F1dGhAaWV0Zi5v
cmc8L2E+PC9hPjxicj4NCiZndDsgPGEgaHJlZj0iaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1h
bi9saXN0aW5mby9vYXV0aCI+PGEgaHJlZj0iaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9s
aXN0aW5mby9vYXV0aCI+aHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9vYXV0
aDwvYT48L2E+PGJyPg0KJmd0Ozxicj4NCjxicj4NCjwvZm9udD48L3NwYW4+PC9ibG9ja3F1b3Rl
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdCI+PGZvbnQgZmFjZT0iTHVjaWRhIEdyYW5kZSI+
PGJyPg0KPC9mb250Pjwvc3Bhbj48L2Jsb2NrcXVvdGU+DQoNCg0KDQo8L2Rpdj48L2Jsb2NrcXVv
dGU+PC9ib2R5PjwvaHRtbD4=

--_000_B6D3A5E036B244589CE6F5F394E69B87hueniversecom_--

From justinsm@microsoft.com  Thu Apr  1 15:26:11 2010
Return-Path: <justinsm@microsoft.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 491ED3A6800 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 15:26:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.469
X-Spam-Level: 
X-Spam-Status: No, score=-9.469 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LGBjwLGjQxbH for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 15:26:10 -0700 (PDT)
Received: from smtp.microsoft.com (mailc.microsoft.com [131.107.115.214]) by core3.amsl.com (Postfix) with ESMTP id E3F483A6A58 for <oauth@ietf.org>; Thu,  1 Apr 2010 15:24:23 -0700 (PDT)
Received: from TK5EX14MLTC104.redmond.corp.microsoft.com (157.54.79.159) by TK5-EXGWY-E803.partners.extranet.microsoft.com (10.251.56.169) with Microsoft SMTP Server (TLS) id 8.2.176.0; Thu, 1 Apr 2010 15:24:56 -0700
Received: from TK5EX14MBXC115.redmond.corp.microsoft.com ([169.254.4.239]) by TK5EX14MLTC104.redmond.corp.microsoft.com ([157.54.79.159]) with mapi; Thu, 1 Apr 2010 15:24:56 -0700
From: Justin Smith <justinsm@microsoft.com>
To: Marius Scurtescu <mscurtescu@google.com>, Eran Hammer-Lahav <eran@hueniverse.com>
Thread-Topic: [OAUTH-WG] Draft progress update
Thread-Index: AQHK0dkN7zMKq4k9ckyGMENW6XyqGJIOFcXQ
Date: Thu, 1 Apr 2010 22:22:35 +0000
Deferred-Delivery: Thu, 1 Apr 2010 22:23:00 +0000
Message-ID: <191F411E00E19F4E943ECDB6D65C60851690A880@TK5EX14MBXC115.redmond.corp.microsoft.com>
References: <191F411E00E19F4E943ECDB6D65C6085168FCFE8@TK5EX14MBXC115.redmond.corp.microsoft.com> <C7DA40B8.31B0F%eran@hueniverse.com> <o2x74caaad21004011321w7414318ai6f52ea84dea0862e@mail.gmail.com>
In-Reply-To: <o2x74caaad21004011321w7414318ai6f52ea84dea0862e@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 22:26:11 -0000

> I don't see why an opaque scope parameter would create any problems
> for a library implementation. Working on such an implementation right
> now and opaque scopes are perfectly fine.

I completely agree. In practice this hasn't caused a problem. We discussed =
the idea of forcing an absolute URI here and whether it had to be the actua=
l resource URI. That doesn't work when the AS uses the same access policy f=
or multiple resources. Opaque seems like a fine proposal to me.

>> Comment 3: This isn't the case when the client is presenting a token iss=
ued by
>> another server. I suggest a change to something like the following: "Whe=
n
>> requesting access from the authorization server, the client identifies i=
tself
>> using client credentials known to the authorization server."
>
> What token? The authorization endpoint isn't an OAuth-protected resource.

In the case where you present a SAML (or other format) assertion, it is a k=
ind of a protected resource - the resource is an access token.

>> This isn't the old testament. No need to look for hidden meaning. The sp=
ec
>> is about getting access to protected resources, generally dealing with *=
a*
>> protected resource. How resources are segmented is beyond the scope. I t=
hink
>> it is more useful to talk about it using simpler assumptions - it doesn'=
t
>> prevent the more complex use cases.

> I think this ties in with the scope parameter. When requesting authorizat=
ion,
> if a client can also pass a scope parameter, then access is granted only
> to the resources that accept that scope and not to all resources controll=
ed
> by this Authorization Server.

This is only a minor wording comment, but I think the idea is significant. =
The assumption that there is a 1:1 mapping between an AS and a PR seems out=
 of place for the spec. It's easy to imagine that a single AS controls acce=
ss to many resources (photos, friends, address books, etc.) - this is in fa=
ct what happens today.=20


--justin


From cmortimore@salesforce.com  Thu Apr  1 15:37:51 2010
Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8BE6A3A681B for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 15:37:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.888
X-Spam-Level: 
X-Spam-Status: No, score=-4.888 tagged_above=-999 required=5 tests=[AWL=0.580,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zKeaP0qOSXtw for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 15:37:44 -0700 (PDT)
Received: from exprod8og113.obsmtp.com (exprod8og113.obsmtp.com [64.18.3.26]) by core3.amsl.com (Postfix) with SMTP id 62D7B3A689D for <oauth@ietf.org>; Thu,  1 Apr 2010 15:37:44 -0700 (PDT)
Received: from source ([204.14.239.239]) by exprod8ob113.postini.com ([64.18.7.12]) with SMTP ID DSNKS7UgWAGrbS771co8280ywbtK+98zQcxI@postini.com; Thu, 01 Apr 2010 15:38:17 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub4.internal.salesforce.com ([10.1.127.8]) with mapi; Thu, 1 Apr 2010 15:38:16 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Date: Thu, 1 Apr 2010 15:38:14 -0700
Thread-Topic: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
Thread-Index: AcrR6QNxYjMaO5tiTVWOlWjNct/17QAAwBhU
Message-ID: <C7DA6E66.3002%cmortimore@salesforce.com>
In-Reply-To: <B6D3A5E0-36B2-4458-9CE6-F5F394E69B87@hueniverse.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7DA6E663002cmortimoresalesforcecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 22:37:51 -0000

--_000_C7DA6E663002cmortimoresalesforcecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Flexibility.   If we lock Oauth2 down to one specific specific Assertion, i=
t becomes unusable for other assertion formats.   Those assertion formats w=
ill evolve anyways.    Looked at somewhat differently, if there is only 1 a=
ssertion format supported by the spec, then what is the point of the assert=
ion_format attribute?

So I'm clear, I'm 100% in favor of having a canonical assertion format for =
SAML with OAuth2, I really only intend to initially support 1 format, and I=
'm happy to take a stab at defining it.

I do think it's worthwhile for the spec to be open to other formats/asserti=
ons to be profiled over this same message exchange pattern.

One approach might be to change "2.6.2.  SAML Assertion Flow"  into  "2.7. =
 Assertion Flow" and then have a base "Assertion Flow" followed by a  "SAML=
 Assertion flow"  that builds on the base by defining explicit values for a=
ssertion_format and assertion.   Essentially have a core protocol + 1 singl=
e SAML profile of that protocol in the spec.

-cmort

On 4/1/10 3:16 PM, "Eran Hammer-Lahav" <eran@hueniverse.com> wrote:

What is the value of an under specified flow? Especially one as short and s=
imple as this one?

My point is that if the flow requires further profiling to be useful, the w=
hole thing does belong in the core spec. It is short enough to be cut and p=
aste into another spec repeatedly for each well specified assertion flow.

EHL

On Apr 1, 2010, at 16:34, "Chuck Mortimore" <cmortimore@salesforce.com> wro=
te:

As you've pointed out, the current text is in somewhat of a grey area.   It=
's either over specified ( remove any reference to SAML ) or underspecified=
 ( be very explicit about exactly what is expected )

I'd advocate that the core spec is left under-specified.   If we're prescri=
ptive on the exact version and format of SAML, than the result will be othe=
r use-cases will simply force non-standard extensions.   It seems we do nee=
d to document exactly what what specific values of assertion_format require=
s, but the core spec should be open to multiple formats.

This would allow for flexibility with SAML, which has multiple versions, fo=
rmats, and confirmation methods, but also allow for this message exchange p=
atterns with completely different assertion types.   It will somewhat futur=
e proof the core spec.

Note that I'd be happy to work on the documentation of a specific format an=
d contribute that to the group.

-cmort


On 4/1/10 12:24 PM, "Eran Hammer-Lahav" <eran@hueniverse.com <mailto:eran@h=
ueniverse.com> > wrote:

A generic assertion flow is too under-specified to be included. If a SAML2 =
assertion flow isn't enough or useful, we should define what is and fully s=
pecify it. The current text is still incomplete as it doesn't address how t=
he assertion should be encoded in the request.

EHL


On 4/1/10 11:21 AM, "Marius Scurtescu" <mscurtescu@google.com <mailto:mscur=
tescu@google.com> > wrote:

Instead of "SAML Assertion Flow" maybe we should stick with the more
generic "Assertion Flow".

The assertion_format parameter allows you to define the assertion
type. Maybe we can predefine
some well know formats, for example: "saml1", "saml1.1" and "saml2"?

Marius



On Wed, Mar 31, 2010 at 6:22 PM, Eran Hammer-Lahav <eran@hueniverse.com <ma=
ilto:eran@hueniverse.com> > wrote:
> I'm making good progress working off David's draft and bringing text from
> WRAP into it, as well as from OAuth 1.0a, and my token auth proposal. So =
far
> it is largely in line with David's proposal and the majority of changes a=
re
> purely editorial.
>
> The only significant change I have made (which is of course open to debat=
e)
> is renaming all the authorization flows parameters. I dropped the oauth_
> prefix (no real need since these are purely OAuth endpoints, not protecte=
d
> resources), and made most of the parameter names shorter. I am not done s=
o
> they are not consistent yet.
>
> You can follow my progress (changes every few hours) at:
>
> http://github.com/theRazorBlade/draft-ietf-oauth/raw/master/draft-ietf-oa=
uth <http://github.com/theRazorBlade/draft-ietf-oauth/raw/master/draft-ietf=
-oauth>
> .txt
>
> Please feel free to comment on anything you like or dislike. I will publi=
sh
> the whole thing as an I-D once it is feature complete for the WG to discu=
ss
> before we promote this to a WG draft.
>
> I hope to be done with the initial draft by middle of next week (I'll be
> flying most of Fri-Sat so no progress over the weekend).
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org <mailto:OAuth@ietf.org>
> https://www.ietf.org/mailman/listinfo/oauth <https://www.ietf.org/mailman=
/listinfo/oauth>
>




--_000_C7DA6E663002cmortimoresalesforcecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)</TIT=
LE>
</HEAD>
<BODY>
<FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'>Flexibility. &n=
bsp;&nbsp;If we lock Oauth2 down to one specific specific Assertion, it bec=
omes unusable for other assertion formats. &nbsp;&nbsp;Those assertion form=
ats will evolve anyways. &nbsp;&nbsp;&nbsp;Looked at somewhat differently, =
if there is only 1 assertion format supported by the spec, then what is the=
 point of the assertion_format attribute?<BR>
<BR>
So I&#8217;m clear, I&#8217;m 100% in favor of having a canonical assertion=
 format for SAML with OAuth2, I really only intend to initially support 1 f=
ormat, and I&#8217;m happy to take a stab at defining it. &nbsp;&nbsp;<BR>
<BR>
I do think it&#8217;s worthwhile for the spec to be open to other formats/a=
ssertions to be profiled over this same message exchange pattern.<BR>
<BR>
One approach might be to change &#8220;2.6.2. &nbsp;SAML Assertion Flow&#82=
21; &nbsp;into &nbsp;&#8220;2.7. &nbsp;Assertion Flow&#8221; and then have =
a base &#8220;Assertion Flow&#8221; followed by a &nbsp;&#8220;SAML Asserti=
on flow&#8221; &nbsp;that builds on the base by defining explicit values fo=
r assertion_format and assertion. &nbsp;&nbsp;Essentially have a core proto=
col + 1 single SAML profile of that protocol in the spec. <BR>
<BR>
-cmort<BR>
<BR>
On 4/1/10 3:16 PM, &quot;Eran Hammer-Lahav&quot; &lt;<a href=3D"eran@hueniv=
erse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-=
size:11pt'>What is the value of an under specified flow? Especially one as =
short and simple as this one?<BR>
<BR>
My point is that if the flow requires further profiling to be useful, the w=
hole thing does belong in the core spec. It is short enough to be cut and p=
aste into another spec repeatedly for each well specified assertion flow. <=
BR>
<BR>
EHL <BR>
<BR>
On Apr 1, 2010, at 16:34, &quot;Chuck Mortimore&quot; &lt;<a href=3D"cmorti=
more@salesforce.com">cmortimore@salesforce.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-=
size:11pt'>As you&#8217;ve pointed out, the current text is in somewhat of =
a grey area. &nbsp;&nbsp;It&#8217;s either over specified ( remove any refe=
rence to SAML ) or underspecified ( be very explicit about exactly what is =
expected ) <BR>
<BR>
I&#8217;d advocate that the core spec is left under-specified. &nbsp;&nbsp;=
If we&#8217;re prescriptive on the exact version and format of SAML, than t=
he result will be other use-cases will simply force non-standard extensions=
. &nbsp;&nbsp;It seems we do need to document exactly what what specific va=
lues of assertion_format requires, but the core spec should be open to mult=
iple formats. &nbsp;&nbsp;<BR>
<BR>
This would allow for flexibility with SAML, which has multiple versions, fo=
rmats, and confirmation methods, but also allow for this message exchange p=
atterns with completely different assertion types. &nbsp;&nbsp;It will some=
what future proof the core spec.<BR>
<BR>
Note that I&#8217;d be happy to work on the documentation of a specific for=
mat and contribute that to the group. &nbsp;&nbsp;<BR>
<BR>
-cmort <BR>
<BR>
<BR>
On 4/1/10 12:24 PM, &quot;Eran Hammer-Lahav&quot; &lt;<a href=3D"eran@hueni=
verse.com">eran@hueniverse.com</a> &lt;<a href=3D"mailto:eran@hueniverse.co=
m">mailto:eran@hueniverse.com</a>&gt; &gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Verd=
ana, Helvetica, Arial">A generic assertion flow is too under-specified to b=
e included. If a SAML2 assertion flow isn&#8217;t enough or useful, we shou=
ld define what is and fully specify it. The current text is still incomplet=
e as it doesn&#8217;t address how the assertion should be encoded in the re=
quest.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/1/10 11:21 AM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurtescu@=
google.com">mscurtescu@google.com</a> &lt;<a href=3D"mailto:mscurtescu@goog=
le.com">mailto:mscurtescu@google.com</a>&gt; &gt; wrote:<BR>
<BR>
</FONT></SPAN><BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Verd=
ana, Helvetica, Arial">Instead of &quot;SAML Assertion Flow&quot; maybe we =
should stick with the more<BR>
generic &quot;Assertion Flow&quot;.<BR>
<BR>
The assertion_format parameter allows you to define the assertion<BR>
type. Maybe we can predefine<BR>
some well know formats, for example: &quot;saml1&quot;, &quot;saml1.1&quot;=
 and &quot;saml2&quot;?<BR>
<BR>
Marius<BR>
<BR>
<BR>
<BR>
On Wed, Mar 31, 2010 at 6:22 PM, Eran Hammer-Lahav &lt;<a href=3D"eran@huen=
iverse.com">eran@hueniverse.com</a> &lt;<a href=3D"mailto:eran@hueniverse.c=
om">mailto:eran@hueniverse.com</a>&gt; &gt; wrote:<BR>
&gt; I'm making good progress working off David's draft and bringing text f=
rom<BR>
&gt; WRAP into it, as well as from OAuth 1.0a, and my token auth proposal. =
So far<BR>
&gt; it is largely in line with David's proposal and the majority of change=
s are<BR>
&gt; purely editorial.<BR>
&gt;<BR>
&gt; The only significant change I have made (which is of course open to de=
bate)<BR>
&gt; is renaming all the authorization flows parameters. I dropped the oaut=
h_<BR>
&gt; prefix (no real need since these are purely OAuth endpoints, not prote=
cted<BR>
&gt; resources), and made most of the parameter names shorter. I am not don=
e so<BR>
&gt; they are not consistent yet.<BR>
&gt;<BR>
&gt; You can follow my progress (changes every few hours) at:<BR>
&gt;<BR>
&gt; <a href=3D"http://github.com/theRazorBlade/draft-ietf-oauth/raw/master=
/draft-ietf-oauth">http://github.com/theRazorBlade/draft-ietf-oauth/raw/mas=
ter/draft-ietf-oauth</a> &lt;<a href=3D"http://github.com/theRazorBlade/dra=
ft-ietf-oauth/raw/master/draft-ietf-oauth">http://github.com/theRazorBlade/=
draft-ietf-oauth/raw/master/draft-ietf-oauth</a>&gt; <BR>
&gt; .txt<BR>
&gt;<BR>
&gt; Please feel free to comment on anything you like or dislike. I will pu=
blish<BR>
&gt; the whole thing as an I-D once it is feature complete for the WG to di=
scuss<BR>
&gt; before we promote this to a WG draft.<BR>
&gt;<BR>
&gt; I hope to be done with the initial draft by middle of next week (I'll =
be<BR>
&gt; flying most of Fri-Sat so no progress over the weekend).<BR>
&gt;<BR>
&gt; EHL<BR>
&gt;<BR>
&gt; _______________________________________________<BR>
&gt; OAuth mailing list<BR>
&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a> &lt;<a href=3D"mailto:OA=
uth@ietf.org">mailto:OAuth@ietf.org</a>&gt; <BR>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ie=
tf.org/mailman/listinfo/oauth</a> &lt;<a href=3D"https://www.ietf.org/mailm=
an/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>&gt; <BR>
&gt;<BR>
<BR>
</FONT></SPAN></BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Luc=
ida Grande"><BR>
</FONT></SPAN></BLOCKQUOTE></BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FON=
T FACE=3D"Lucida Grande"><BR>
</FONT></SPAN></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7DA6E663002cmortimoresalesforcecom_--

From beaton@google.com  Thu Apr  1 16:52:44 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8FC873A686B for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 16:52:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.22
X-Spam-Level: 
X-Spam-Status: No, score=-100.22 tagged_above=-999 required=5 tests=[AWL=0.627, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bGXuBqByj2JX for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 16:52:43 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 707EB3A67FD for <oauth@ietf.org>; Thu,  1 Apr 2010 16:52:42 -0700 (PDT)
Received: from kpbe15.cbf.corp.google.com (kpbe15.cbf.corp.google.com [172.25.105.79]) by smtp-out.google.com with ESMTP id o31NrDd2008650 for <oauth@ietf.org>; Fri, 2 Apr 2010 01:53:13 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270165994; bh=jFI9rYpfo+h2tBODluaRsdA6tvg=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type:Content-Transfer-Encoding; b=i28MH3m5oM9vm9XbMjbpmmmI+JchW/R5cXQf/es8TP/g37tzArSBlSW3Pew1mwAIv 3lYXt91eaDx4O49UIKWwQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:content-transfer-encoding:x-system-of-record; b=LAeSfW5BgTMYFwVeBxG+IGGY084z2Bl2bqdz+p/GXSwgULy8TMhxDt+IQMbssgqeE TxbwucZCdRkqD9+Fvf9Bg==
Received: from vws14 (vws14.prod.google.com [10.241.21.142]) by kpbe15.cbf.corp.google.com with ESMTP id o31NrB0W000514 for <oauth@ietf.org>; Thu, 1 Apr 2010 16:53:12 -0700
Received: by vws14 with SMTP id 14so840996vws.21 for <oauth@ietf.org>; Thu, 01 Apr 2010 16:53:11 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.124.2 with HTTP; Thu, 1 Apr 2010 16:53:11 -0700 (PDT)
In-Reply-To: <C7DA6E66.3002%cmortimore@salesforce.com>
References: <B6D3A5E0-36B2-4458-9CE6-F5F394E69B87@hueniverse.com> <C7DA6E66.3002%cmortimore@salesforce.com>
Date: Thu, 1 Apr 2010 16:53:11 -0700
Received: by 10.220.121.136 with SMTP id h8mr808953vcr.193.1270165991633; Thu,  01 Apr 2010 16:53:11 -0700 (PDT)
Message-ID: <g2xdaf5b9571004011653g86643e29u5176a552ee8eb70c@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Chuck Mortimore <cmortimore@salesforce.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 23:52:44 -0000

On Thu, Apr 1, 2010 at 3:38 PM, Chuck Mortimore
<cmortimore@salesforce.com> wrote:
> Flexibility. =A0=A0If we lock Oauth2 down to one specific specific Assert=
ion, it
> becomes unusable for other assertion formats. =A0=A0Those assertion forma=
ts will
> evolve anyways.

Yep.  The SAML Web SSO profiles are living proof that something can be
underspecified (e.g. assertion details are vague), yet still widely
implemented and very useful.

From stpeter@stpeter.im  Thu Apr  1 16:57:21 2010
Return-Path: <stpeter@stpeter.im>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 706433A68AA for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 16:57:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.004
X-Spam-Level: 
X-Spam-Status: No, score=-0.004 tagged_above=-999 required=5 tests=[AWL=-1.135, BAYES_50=0.001, DNS_FROM_OPENWHOIS=1.13]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dFoYtsfYc3Jf for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 16:57:20 -0700 (PDT)
Received: from stpeter.im (stpeter.im [207.210.219.233]) by core3.amsl.com (Postfix) with ESMTP id 55FC23A689D for <oauth@ietf.org>; Thu,  1 Apr 2010 16:57:20 -0700 (PDT)
Received: from squire.local (dsl-228-252.dynamic-dsl.frii.net [216.17.228.252]) (Authenticated sender: stpeter) by stpeter.im (Postfix) with ESMTPSA id 8E3D240E15 for <oauth@ietf.org>; Thu,  1 Apr 2010 17:57:52 -0600 (MDT)
Message-ID: <4BB532FF.5040307@stpeter.im>
Date: Thu, 01 Apr 2010 17:57:51 -0600
From: Peter Saint-Andre <stpeter@stpeter.im>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: oauth@ietf.org
References: <0E4475A4-8014-419B-A20E-15DDF04300FD@xmlgrrl.com> <4BAA4CBC.905@mnt.se>
In-Reply-To: <4BAA4CBC.905@mnt.se>
X-Enigmail-Version: 1.0.1
OpenPGP: url=http://www.saint-andre.com/me/stpeter.asc
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms020306010503070201090607"
Subject: Re: [OAUTH-WG] What are the OAuth design principles?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 23:57:21 -0000

This is a cryptographically signed message in MIME format.

--------------ms020306010503070201090607
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 3/24/10 11:32 AM, Leif Johansson wrote:
> On 03/23/2010 12:00 AM, Eve Maler wrote:
>> Since the discussion in the "OAuth after-party" seemed to warrant
>> bringing it up, I mentioned the UMA design principles/requirements
>> document.  You can find it here:
>>
>> http://kantarainitiative.org/confluence/display/uma/UMA+Requirements
>>
>> The discussion is around "Why can't Kerberos just be used for your use=

>> cases?"  The UMA principles might be able to inform how the OAuth WG
>> makes its case for why Kerberos doesn't suffice.  (If we discover it
>> does, hey, our work here is done. :-)
>=20
> There are two threads here
>=20
> - why Kerberos _as such_ does or does not work for the use-cases
> - what experiences from 3rd party schemes such as Kerberos or STS are
> valuable for OAuth.
>=20
> Being long-time Kerberos-fanboy I still say that one of those threads
> are interesting and the other isn't.
>=20
> I think its much more valuable to talk about how to distill experience
> from Kerberos (etc) which are applicable to the design of OAuth.

Agreed. Do you know if anyone has written up the design principles
behind (or lessons learned) from Kerberos and STS? If not, we'll need to
start prodding people into sharing their wisdom...

Peter

--=20
Peter Saint-Andre
https://stpeter.im/




--------------ms020306010503070201090607
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIWnDCC
B1cwggY/oAMCAQICAVUwDQYJKoZIhvcNAQEFBQAwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQK
Ew1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBT
aWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRl
IENsaWVudCBDQTAeFw0wOTA3MDYwMDAwMDFaFw0xMDA3MDYyMzU5NTlaMIHCMQswCQYDVQQG
EwJVUzERMA8GA1UECBMIQ29sb3JhZG8xDzANBgNVBAcTBkRlbnZlcjEiMCAGA1UEChMZWE1Q
UCBTdGFuZGFyZHMgRm91bmRhdGlvbjEsMCoGA1UECxMjU3RhcnRDb20gVHJ1c3RlZCBDZXJ0
aWZpY2F0ZSBNZW1iZXIxGjAYBgNVBAMTEVBldGVyIFNhaW50LUFuZHJlMSEwHwYJKoZIhvcN
AQkBFhJzdHBldGVyQHN0cGV0ZXIuaW0wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQCas7Mrnh02GakN8sft+HJpU4MwBxEgrGDZ2ZzUxDDt2sEhM+9Q74h955MtgMhK3TeBf6Hs
hDh/8Z9G//k2qNA0M2S5rejTqrmW0Jabca/L7BUZ0GhnU2N/2zeciFUmuZ4A2l1T5IMX2ZVP
XnNIaefBtbImJAbDz3T0vxkzTtcqgW3wL83PMDiqiuM+e1k+VPvOW4f5ZSGkPIhYCDpWqNE5
wZvjrLNMc8jZOPs9DrsYuIVwU72Vhy1tkEh+w6YpYHrdEUAe+eKe6TuxqZ60e9z3O36uiV//
Ms274iD6PbA/IGazJgaAdg6tvPehwTYGJAGmv3PsJKkLGjgoh+RrrM1LAgMBAAGjggOKMIID
hjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
AwQwHQYDVR0OBBYEFOyws3XWgIY9FP1POVqjdZP9Lu38MB0GA1UdEQQWMBSBEnN0cGV0ZXJA
c3RwZXRlci5pbTCBqAYDVR0jBIGgMIGdgBR7iZySlyShhEcCy3T8LvSs3DLl86GBgaR/MH0x
CzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUg
RGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZp
Y2F0aW9uIEF1dGhvcml0eYIBDzCCAUcGA1UdIASCAT4wggE6MIIBNgYLKwYBBAGBtTcBAgAw
ggElMC4GCCsGAQUFBwIBFiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMDQG
CCsGAQUFBwIBFihodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMIG8
BggrBgEFBQcCAjCBrzAUFg1TdGFydENvbSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0
eSwgcmVhZCB0aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENv
bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93
d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwYwYDVR0fBFwwWjAroCmgJ4YlaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vY3J0dTMtY3JsLmNybDAroCmgJ4YlaHR0cDovL2NybC5zdGFydHNz
bC5jb20vY3J0dTMtY3JsLmNybDCBjgYIKwYBBQUHAQEEgYEwfzA5BggrBgEFBQcwAYYtaHR0
cDovL29jc3Auc3RhcnRzc2wuY29tL3N1Yi9jbGFzczMvY2xpZW50L2NhMEIGCCsGAQUFBzAC
hjZodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9jZXJ0cy9zdWIuY2xhc3MzLmNsaWVudC5jYS5j
cnQwIwYDVR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMA0GCSqGSIb3DQEBBQUA
A4IBAQBgv4xFXZqDKSOtnPOVbqOh1brj7oxRaVYk7N0MJG7x9Y/wkO3iwRwizVLcC1bA+D/R
gyFilXx6IQWE63Ge2tu+Y4w5QoHYwuUFQuBZuxvZpOa3ykdgPlBQaBM8m+Ien0skwNggaizA
X9Pc/sMLpP3jkO1iSF4agy4r5Ed+4G10mP5X0zO3gQwq9Uj4F9tX+58kU+fM1P8Sh+BYR4r/
kSbKE3tWcMaKblWPGwX0nYD26Je7Qb+uX/J5lCgozBrHXQWq8N98iklASf2pv+32Oi1dEjmM
UgAm/J2+YmxaI02+c+H6QH8+F3RUjCiRg9XqUNjcrNrnTFnm/iMMZADktsXPMIIHVzCCBj+g
AwIBAgIBVTANBgkqhkiG9w0BAQUFADCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBMB4XDTA5MDcwNjAwMDAwMVoXDTEwMDcwNjIzNTk1OVowgcIxCzAJBgNVBAYTAlVTMREw
DwYDVQQIEwhDb2xvcmFkbzEPMA0GA1UEBxMGRGVudmVyMSIwIAYDVQQKExlYTVBQIFN0YW5k
YXJkcyBGb3VuZGF0aW9uMSwwKgYDVQQLEyNTdGFydENvbSBUcnVzdGVkIENlcnRpZmljYXRl
IE1lbWJlcjEaMBgGA1UEAxMRUGV0ZXIgU2FpbnQtQW5kcmUxITAfBgkqhkiG9w0BCQEWEnN0
cGV0ZXJAc3RwZXRlci5pbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJqzsyue
HTYZqQ3yx+34cmlTgzAHESCsYNnZnNTEMO3awSEz71DviH3nky2AyErdN4F/oeyEOH/xn0b/
+Tao0DQzZLmt6NOquZbQlptxr8vsFRnQaGdTY3/bN5yIVSa5ngDaXVPkgxfZlU9ec0hp58G1
siYkBsPPdPS/GTNO1yqBbfAvzc8wOKqK4z57WT5U+85bh/llIaQ8iFgIOlao0TnBm+Oss0xz
yNk4+z0Ouxi4hXBTvZWHLW2QSH7Dpilget0RQB754p7pO7GpnrR73Pc7fq6JX/8yzbviIPo9
sD8gZrMmBoB2Dq2896HBNgYkAaa/c+wkqQsaOCiH5GuszUsCAwEAAaOCA4owggOGMAkGA1Ud
EwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNV
HQ4EFgQU7LCzddaAhj0U/U85WqN1k/0u7fwwHQYDVR0RBBYwFIESc3RwZXRlckBzdHBldGVy
LmltMIGoBgNVHSMEgaAwgZ2AFHuJnJKXJKGERwLLdPwu9KzcMuXzoYGBpH8wfTELMAkGA1UE
BhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFs
IENlcnRpZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24g
QXV0aG9yaXR5ggEPMIIBRwYDVR0gBIIBPjCCATowggE2BgsrBgEEAYG1NwECADCCASUwLgYI
KwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUH
AgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgbwGCCsGAQUF
BwICMIGvMBQWDVN0YXJ0Q29tIEx0ZC4wAwIBARqBlkxpbWl0ZWQgTGlhYmlsaXR5LCByZWFk
IHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5zdGFy
dHNzbC5jb20vcG9saWN5LnBkZjBjBgNVHR8EXDBaMCugKaAnhiVodHRwOi8vd3d3LnN0YXJ0
c3NsLmNvbS9jcnR1My1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9j
cnR1My1jcmwuY3JsMIGOBggrBgEFBQcBAQSBgTB/MDkGCCsGAQUFBzABhi1odHRwOi8vb2Nz
cC5zdGFydHNzbC5jb20vc3ViL2NsYXNzMy9jbGllbnQvY2EwQgYIKwYBBQUHMAKGNmh0dHA6
Ly93d3cuc3RhcnRzc2wuY29tL2NlcnRzL3N1Yi5jbGFzczMuY2xpZW50LmNhLmNydDAjBgNV
HRIEHDAahhhodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS8wDQYJKoZIhvcNAQEFBQADggEBAGC/
jEVdmoMpI62c85Vuo6HVuuPujFFpViTs3QwkbvH1j/CQ7eLBHCLNUtwLVsD4P9GDIWKVfHoh
BYTrcZ7a275jjDlCgdjC5QVC4Fm7G9mk5rfKR2A+UFBoEzyb4h6fSyTA2CBqLMBf09z+wwuk
/eOQ7WJIXhqDLivkR37gbXSY/lfTM7eBDCr1SPgX21f7nyRT58zU/xKH4FhHiv+RJsoTe1Zw
xopuVY8bBfSdgPbol7tBv65f8nmUKCjMGsddBarw33yKSUBJ/am/7fY6LV0SOYxSACb8nb5i
bFojTb5z4fpAfz4XdFSMKJGD1epQ2Nys2udMWeb+IwxkAOS2xc8wggfiMIIFyqADAgECAgEP
MA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQu
MSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQD
EyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNzEwMjQyMTAzMzJaFw0x
MjEwMjIyMTAzMzJaMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEr
MCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMv
U3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5o0luEj4gypQIp71Xi2TlXyLYrj9WkRy+d9BO
0FHPYnAsC99/jx/ibNRwIfAoFhZd+LDscdRSckvwuFSz0bKg3z+9o7cwlVAC9AwMWe8IM0Lx
c+8etYxsX4WIamG9fjzzi5GAW5ESKzzIN3SxHSplyGCWFwx/pgf1f4y6O9/ym+4f6zaDYP6B
x0r+SaJcr6eSGNm7X3EwX1v7XpRBY+aw019o7k72d0IX910F+XGt0OwNdM61Ff3FiTiexeUZ
bWxCGm6GZl+SQVG9xYVIgHQaLXoQF+g2wzrmKCbVcZhqH+hrlRnD6PfCuEyX/BR6PlAPRDlQ
6f1u3wqik+LF5P15AgMBAAGjggNbMIIDVzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBpjAd
BgNVHQ4EFgQUe4mckpckoYRHAst0/C70rNwy5fMwgagGA1UdIwSBoDCBnYAUTgvvGqRAW6UX
aYcwyjRoQ9BBrvKhgYGkfzB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UE
AxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHmCAQEwCQYDVR0SBAIwADA9Bggr
BgEFBQcBAQQxMC8wLQYIKwYBBQUHMAKGIWh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2Nh
LmNydDBgBgNVHR8EWTBXMCygKqAohiZodHRwOi8vY2VydC5zdGFydGNvbS5vcmcvc2ZzY2Et
Y3JsLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20vc2ZzY2EuY3JsMIIBXQYD
VR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBBDCCATswLwYIKwYBBQUHAgEWI2h0dHA6Ly9j
ZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRwOi8vY2VydC5z
dGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYgU3RhcnQg
Q29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5LCBy
ZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQu
c3RhcnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMFAGCWCGSAGG+EIB
DQRDFkFTdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRlIEZyZWUgU1NMIEVt
YWlsIENlcnRpZmljYXRlczANBgkqhkiG9w0BAQUFAAOCAgEAUpcEDdsKFRCxFBxcSm+8oMTT
fpS7fbZkxWHx5fHDjvAgaBQ+oY0tk4xtbD6VxeHYjxI63+hj8jICnqeVXPe34Bu+XzekIn2T
lrnPCQobKdQF2p52QgUvIxSURed0jcBaCBV22DSKaUqDOzD/Tx6VQy78zpblXjRH7OALE/+H
jzJVmspdnBUUtQOLYgPo924xkxR25VDdgtEE5vAXa/g2oCeZhy0ZEO4NbgIayAYCJcJRDz0h
dD2Ahec65Kw6LB3N7VXEjiRR5/WoKwH/QteRzPJbFDc1somrApjm2cyg+5nbm1RHeFIz+GxX
luRrPztvhNcby0PtAjqwY1txi4sW0R6ZJPuZ2DZ1/dzckoFhyZgFyOX3SEkNXVLldjTzneFJ
FnVSzDbc720vq184jR7pYoI9+f5QJ96a0iLxEAG8SJ5auBwXI/w2FmKmwmdMvJ8/17+B4sMC
IRrXrDQl2xzpVXh/Qcmk5nf+w8HFmqATGy1OUAQbXga7AySAUaYhvvFk50u0bO5DiUGwzrJO
3TrwvaC2Ei4EFaBmIVgG7TfU5TaaY9IcJSCQ7AGUYE3RFSRpsLOoA3DsxP42YERgS/Nxw29+
YqZtPoO2QPbNpI7xnHVCfNBabx3oDIf438nFfv8spw5BQqBSbEF1izJA57eE64CzHnt7lB20
OFD11avYopwxggPKMIIDxgIBATCBkjCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBAgFVMAkGBSsOAwIaBQCgggIMMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZI
hvcNAQkFMQ8XDTEwMDQwMTIzNTc1MVowIwYJKoZIhvcNAQkEMRYEFEwTD+2trIPUVohtfXwA
acIkcoy2MF8GCSqGSIb3DQEJDzFSMFAwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqG
SIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBowYJ
KwYBBAGCNxAEMYGVMIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UE
AxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0ECAVUw
gaUGCyqGSIb3DQEJEAILMYGVoIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRD
b20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4
MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQg
Q0ECAVUwDQYJKoZIhvcNAQEBBQAEggEAkEK/sxlVIAIQNFDkATIBMRLZBFcDd2bDrGU3Kjf7
IdQnadx7g0O7VAkFmxwr0b8mzUCqitgMC2BKAJM5odXracUoEodXM0+MX0JNiB0wuzw3a5lQ
72sS7PgtKrunfcj5Zm98IPObK2/zqho2DIDtX4WeKCb4lVO3iXkGDHFZDmdlrRpoWd6lVgEa
UMF7EOzB17rI1yz0BvLCWEJTgJ2+RLJXnkbNsIhDYmROyV52GPFs0ArwD0HDrzgqsrblk/dF
ENS8PAc+WHiVMX6oehjLUkKQUmGZdkjNn9VJbNidIkqhkRGdvzq/tFNQIMGGTdT9acUzyRBT
5fkJ3LZKhawW9QAAAAAAAA==
--------------ms020306010503070201090607--

From eran@hueniverse.com  Thu Apr  1 17:11:05 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9937C3A6867 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 17:11:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.028
X-Spam-Level: 
X-Spam-Status: No, score=-1.028 tagged_above=-999 required=5 tests=[AWL=0.441,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KUypELyYbjYe for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 17:11:04 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 8A9743A6954 for <oauth@ietf.org>; Thu,  1 Apr 2010 17:10:22 -0700 (PDT)
Received: (qmail 6988 invoked from network); 2 Apr 2010 00:10:54 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 2 Apr 2010 00:10:54 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Thu, 1 Apr 2010 17:10:54 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Brian Eaton <beaton@google.com>
Date: Thu, 1 Apr 2010 17:10:41 -0700
Thread-Topic: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
Thread-Index: AcrR+PUhGexX23NEQ1OZMOYYYPG7Rw==
Message-ID: <044FD57B-F394-4706-A7D9-2D7E744E5956@hueniverse.com>
References: <B6D3A5E0-36B2-4458-9CE6-F5F394E69B87@hueniverse.com> <C7DA6E66.3002%cmortimore@salesforce.com> <g2xdaf5b9571004011653g86643e29u5176a552ee8eb70c@mail.gmail.com>
In-Reply-To: <g2xdaf5b9571004011653g86643e29u5176a552ee8eb70c@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 00:11:05 -0000

Are they profiling a half page spec?

EHL

On Apr 1, 2010, at 19:53, "Brian Eaton" <beaton@google.com> wrote:

> On Thu, Apr 1, 2010 at 3:38 PM, Chuck Mortimore
> <cmortimore@salesforce.com> wrote:
>> Flexibility.   If we lock Oauth2 down to one specific specific =20
>> Assertion, it
>> becomes unusable for other assertion formats.   Those assertion =20
>> formats will
>> evolve anyways.
>
> Yep.  The SAML Web SSO profiles are living proof that something can be
> underspecified (e.g. assertion details are vague), yet still widely
> implemented and very useful.

From atom@yahoo-inc.com  Thu Apr  1 17:14:51 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B66743A67B6 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 17:14:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.936
X-Spam-Level: 
X-Spam-Status: No, score=-14.936 tagged_above=-999 required=5 tests=[AWL=1.533, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id k2bZtGvmDwr4 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 17:14:45 -0700 (PDT)
Received: from mrout2.yahoo.com (mrout2.yahoo.com [216.145.54.172]) by core3.amsl.com (Postfix) with ESMTP id BE1A23A687B for <oauth@ietf.org>; Thu,  1 Apr 2010 17:14:44 -0700 (PDT)
Received: from SNV-EXBH01.ds.corp.yahoo.com (snv-exbh01.ds.corp.yahoo.com [207.126.227.249]) by mrout2.yahoo.com (8.13.6/8.13.6/y.out) with ESMTP id o320F7eI049436;  Thu, 1 Apr 2010 17:15:07 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:message-id: thread-topic:thread-index:in-reply-to:mime-version:content-type: content-transfer-encoding:x-originalarrivaltime; b=VSXQD7HICN0dmKrkjotixkeuRcYu3lBB1SoJfKCh3DgKhGtmNejh65jW23joG3B+
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXBH01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.3959);  Thu, 1 Apr 2010 17:15:07 -0700
Received: from 172.21.148.134 ([172.21.148.134]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.60]) with Microsoft Exchange Server HTTP-DAV ;  Fri,  2 Apr 2010 00:14:43 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Thu, 01 Apr 2010 17:14:39 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: Marius Scurtescu <mscurtescu@google.com>, Justin Smith <justinsm@microsoft.com>, OAuth WG <oauth@ietf.org>
Message-ID: <C7DA84FF.297F9%atom@yahoo-inc.com>
Thread-Topic: [OAUTH-WG] Draft progress update
Thread-Index: AcrR+XvypO+ZZLXL5kqDQvCse6krJQ==
In-Reply-To: <i2s74caaad21004011137pb56ee578h6a6e158830534ba5@mail.gmail.com>
Mime-version: 1.0
Content-type: text/plain; charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable
X-OriginalArrivalTime: 02 Apr 2010 00:15:07.0637 (UTC) FILETIME=[8D03AA50:01CAD1F9]
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 00:14:51 -0000

+1 on removing the recommendation to keep the tokens shorter than 255 chars=
.

While it's certainly a good idea to keep tokens reasonably compact, the sam=
e
way it's a great idea to keep URLs and Cookies short, the statement in the
spec doesn't really do much.

In practice, the tokens/urls/parameters need to be short enough such that
the resulting URLs are less than 2KB (to support useragents and proxy
servers that truncate long URLs) and that the HTTP Authorization header is
less than the maximum allowed size (?? chars).

I do acknowledge that it's ideal to specify a size limit on tokens - it
makes life easier for implementers so that they'll be able to size their
databases, and bandwidth/CPU constrained devices (aka mobile) will also
benefit from having compact tokens.

Allen


On 4/1/10 11:37 AM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

> +1 on all comments, except for some question on 6...
>=20
>=20
> On Thu, Apr 1, 2010 at 11:06 AM, Justin Smith <justinsm@microsoft.com> wr=
ote:
>> Eran,
>>=20
>> Good progress. A few comments below:
>>=20
>> Sec. 2.2. =A0Flow Parameters:
>> Comment 1: The recommendation to keep access tokens less than 255 chars =
seems
>> bizarre. I'd like to remove it entirely. Previous threads have discussed
>> this.
>


From beaton@google.com  Thu Apr  1 17:16:07 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 152C73A689D for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 17:16:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.327
X-Spam-Level: 
X-Spam-Status: No, score=-104.327 tagged_above=-999 required=5 tests=[AWL=0.520, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GFj35-BSTORb for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 17:16:06 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id D5FB43A68E5 for <oauth@ietf.org>; Thu,  1 Apr 2010 17:15:59 -0700 (PDT)
Received: from hpaq2.eem.corp.google.com (hpaq2.eem.corp.google.com [10.3.21.2]) by smtp-out.google.com with ESMTP id o320GSLJ024330 for <oauth@ietf.org>; Thu, 1 Apr 2010 17:16:28 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270167388; bh=AtnXe8RIf1bIKH7FtJ3ALbobcyA=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=dyQRwzilsqxqBClvDPoBlv1Sbi7pAX+cA0ao5zTnkYMYRl++yWRQDl+MNWTJ7HWiZ pwEJUYrzgrD/e6PT5Ls5A==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=QqSOyJ7PMKSTrdpkzakngjsoCioa+iMDvcbNSVoBf37WNUi34qKfYFc1Zwwf8xPH8 60MZ6gOfEJmPzE9GHdFyA==
Received: from vws9 (vws9.prod.google.com [10.241.21.137]) by hpaq2.eem.corp.google.com with ESMTP id o320GQp2013410 for <oauth@ietf.org>; Fri, 2 Apr 2010 02:16:27 +0200
Received: by vws9 with SMTP id 9so823512vws.17 for <oauth@ietf.org>; Thu, 01 Apr 2010 17:16:26 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.124.2 with HTTP; Thu, 1 Apr 2010 17:16:26 -0700 (PDT)
In-Reply-To: <044FD57B-F394-4706-A7D9-2D7E744E5956@hueniverse.com>
References: <B6D3A5E0-36B2-4458-9CE6-F5F394E69B87@hueniverse.com> <C7DA6E66.3002%cmortimore@salesforce.com> <g2xdaf5b9571004011653g86643e29u5176a552ee8eb70c@mail.gmail.com> <044FD57B-F394-4706-A7D9-2D7E744E5956@hueniverse.com>
Date: Thu, 1 Apr 2010 17:16:26 -0700
Received: by 10.220.4.20 with SMTP id 20mr819424vcp.142.1270167386348; Thu, 01  Apr 2010 17:16:26 -0700 (PDT)
Message-ID: <y2rdaf5b9571004011716t5c475c74p5d813a464f78592@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 00:16:07 -0000

On Thu, Apr 1, 2010 at 5:10 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> Are they profiling a half page spec?

The spec is 66 pages long.  But the widely used pieces are quite a bit
shorter. =)

From atom@yahoo-inc.com  Thu Apr  1 17:49:52 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E43463A6991 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 17:49:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -13.154
X-Spam-Level: 
X-Spam-Status: No, score=-13.154 tagged_above=-999 required=5 tests=[AWL=-1.016, BAYES_50=0.001, DNS_FROM_OPENWHOIS=1.13, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, MIME_QP_LONG_LINE=1.396, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id F8F0rTxS1jtb for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 17:49:48 -0700 (PDT)
Received: from mrout2-b.corp.re1.yahoo.com (mrout2-b.corp.re1.yahoo.com [69.147.107.21]) by core3.amsl.com (Postfix) with ESMTP id 172593A69A3 for <oauth@ietf.org>; Thu,  1 Apr 2010 17:49:22 -0700 (PDT)
Received: from SNV-EXBH01.ds.corp.yahoo.com (snv-exbh01.ds.corp.yahoo.com [207.126.227.249]) by mrout2-b.corp.re1.yahoo.com (8.13.8/8.13.8/y.out) with ESMTP id o320nVac063885 for <oauth@ietf.org>; Thu, 1 Apr 2010 17:49:34 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:message-id: thread-topic:thread-index:mime-version:content-type:x-originalarrivaltime; b=BN7VN0Rtkyxlhw93ZvYXk3SPg244zc/WXJfUQX4ikNiQy126roLIaYHW7pUineF2
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXBH01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.3959);  Thu, 1 Apr 2010 17:49:31 -0700
Received: from 172.21.148.134 ([172.21.148.134]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.60]) with Microsoft Exchange Server HTTP-DAV ;  Fri,  2 Apr 2010 00:48:42 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Thu, 01 Apr 2010 17:48:36 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: OAuth WG <oauth@ietf.org>
Message-ID: <C7DA8CF4.2980D%atom@yahoo-inc.com>
Thread-Topic: User Interface specs?
Thread-Index: AcrR/joXiTwdAhjxhEyE3qdhMST83A==
Mime-version: 1.0
Content-type: multipart/alternative; boundary="B_3352988918_6491715"
X-OriginalArrivalTime: 02 Apr 2010 00:49:31.0653 (UTC) FILETIME=[5B438350:01CAD1FE]
Subject: [OAUTH-WG] User Interface specs?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 00:49:53 -0000

> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3352988918_6491715
Content-type: text/plain;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

Websites using OpenID/OAuth/Facebook Connect/Twitter Connect often open a
popup window to the user=B9s Identity Provider for user to complete the
AuthZ/AuthN flow rather than taking the user away from the referring site
via a full page redirect.

In the case where a popup window is used, it=B9s a very good idea to require
that that the browser=B9s address bar is displayed, and that an independent
browser window is used, rather than an inline iframe. These requirements ar=
e
needed to help prevent the user from being phished in the case where the
user has to enter their password, and to ensure that the user=B9s consent was
not forged via a clickjacking attack.

I believe that the Web Server Flow and the Web Client Flow will often take
place within a popup window, so it would make sense to put into the core
spec that popups should be independent browser windows with the address bar
clearly displayed.=20

Another missing feature in the core spec is support for multiple languages.
Given that many Service Providers have a global userbase, client
applications will want to have a way to specify the language to be used on
the auth screen. While the User Agent=B9s Accept-Language: HTTP header, as
well as the user=B9s IP address could be used as language hints, in practice
clients will want the ability to specify the language.

Is there consensus to get Popup Window requirements and language support
into the OAuth2 core spec?

Allen


--B_3352988918_6491715
Content-type: text/html;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>User Interface specs?</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:11pt=
'>Websites using OpenID/OAuth/Facebook Connect/Twitter Connect often open a =
popup window to the user&#8217;s Identity Provider for user to complete the =
AuthZ/AuthN flow rather than taking the user away from the referring site vi=
a a full page redirect.<BR>
<BR>
In the case where a popup window is used, it&#8217;s a very good idea to re=
quire that that the browser&#8217;s address bar is displayed, and that an in=
dependent browser window is used, rather than an inline iframe. These requir=
ements are needed to help prevent the user from being phished in the case wh=
ere the user has to enter their password, and to ensure that the user&#8217;=
s consent was not forged via a clickjacking attack.<BR>
<BR>
I believe that the Web Server Flow and the Web Client Flow will often take =
place within a popup window, so it would make sense to put into the core spe=
c that popups should be independent browser windows with the address bar cle=
arly displayed. <BR>
<BR>
Another missing feature in the core spec is support for multiple languages.=
 Given that many Service Providers have a global userbase, client applicatio=
ns will want to have a way to specify the language to be used on the auth sc=
reen. While the User Agent&#8217;s Accept-Language: HTTP header, as well as =
the user&#8217;s IP address could be used as language hints, in practice cli=
ents will want the ability to specify the language. <BR>
<BR>
Is there consensus to get Popup Window requirements and language support in=
to the OAuth2 core spec?<BR>
<BR>
Allen<BR>
</SPAN></FONT>
</BODY>
</HTML>


--B_3352988918_6491715--


From stpeter@stpeter.im  Thu Apr  1 18:59:20 2010
Return-Path: <stpeter@stpeter.im>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E41E53A6403 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 18:59:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.19
X-Spam-Level: 
X-Spam-Status: No, score=-1.19 tagged_above=-999 required=5 tests=[AWL=0.279,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id b7+bnC1SYOIc for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 18:59:20 -0700 (PDT)
Received: from stpeter.im (stpeter.im [207.210.219.233]) by core3.amsl.com (Postfix) with ESMTP id A188D3A6940 for <oauth@ietf.org>; Thu,  1 Apr 2010 18:59:15 -0700 (PDT)
Received: from squire.local (dsl-228-252.dynamic-dsl.frii.net [216.17.228.252]) (Authenticated sender: stpeter) by stpeter.im (Postfix) with ESMTPSA id 2291F40E15 for <oauth@ietf.org>; Thu,  1 Apr 2010 19:59:48 -0600 (MDT)
Message-ID: <4BB54F92.1060201@stpeter.im>
Date: Thu, 01 Apr 2010 19:59:46 -0600
From: Peter Saint-Andre <stpeter@stpeter.im>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: oauth@ietf.org
References: <191F411E00E19F4E943ECDB6D65C6085168FCFE8@TK5EX14MBXC115.redmond.corp.microsoft.com>	<C7DA40B8.31B0F%eran@hueniverse.com>	<o2x74caaad21004011321w7414318ai6f52ea84dea0862e@mail.gmail.com> <191F411E00E19F4E943ECDB6D65C60851690A880@TK5EX14MBXC115.redmond.corp.microsoft.com>
In-Reply-To: <191F411E00E19F4E943ECDB6D65C60851690A880@TK5EX14MBXC115.redmond.corp.microsoft.com>
X-Enigmail-Version: 1.0.1
OpenPGP: url=http://www.saint-andre.com/me/stpeter.asc
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms050608080806090605060001"
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 01:59:21 -0000

This is a cryptographically signed message in MIME format.

--------------ms050608080806090605060001
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 4/1/10 4:22 PM, Justin Smith wrote:
>> I don't see why an opaque scope parameter would create any
>> problems for a library implementation. Working on such an
>> implementation right now and opaque scopes are perfectly fine.
>=20
> I completely agree. In practice this hasn't caused a problem. We
> discussed the idea of forcing an absolute URI here and whether it had
> to be the actual resource URI. That doesn't work when the AS uses the
> same access policy for multiple resources. Opaque seems like a fine
> proposal to me.
>=20
>>> Comment 3: This isn't the case when the client is presenting a
>>> token issued by another server. I suggest a change to something
>>> like the following: "When requesting access from the
>>> authorization server, the client identifies itself using client
>>> credentials known to the authorization server."
>>=20
>> What token? The authorization endpoint isn't an OAuth-protected
>> resource.
>=20
> In the case where you present a SAML (or other format) assertion, it
> is a kind of a protected resource - the resource is an access token.
>=20
>>> This isn't the old testament. No need to look for hidden meaning.
>>> The spec is about getting access to protected resources,
>>> generally dealing with *a* protected resource. How resources are
>>> segmented is beyond the scope. I think it is more useful to talk
>>> about it using simpler assumptions - it doesn't prevent the more
>>> complex use cases.
>=20
>> I think this ties in with the scope parameter. When requesting
>> authorization, if a client can also pass a scope parameter, then
>> access is granted only to the resources that accept that scope and
>> not to all resources controlled by this Authorization Server.
>=20
> This is only a minor wording comment, but I think the idea is
> significant. The assumption that there is a 1:1 mapping between an AS
> and a PR seems out of place for the spec. It's easy to imagine that a
> single AS controls access to many resources (photos, friends, address
> books, etc.) - this is in fact what happens today.

If that's true, then how does the Authorization Server know what scope
is appropriate at the Protected Resource? Does inclusion of the scope
parameter require a 1:1 mapping between AS and PR, or at least
communication between AS and PR?

Peter

--=20
Peter Saint-Andre
https://stpeter.im/




--------------ms050608080806090605060001
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIWnDCC
B1cwggY/oAMCAQICAVUwDQYJKoZIhvcNAQEFBQAwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQK
Ew1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBT
aWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRl
IENsaWVudCBDQTAeFw0wOTA3MDYwMDAwMDFaFw0xMDA3MDYyMzU5NTlaMIHCMQswCQYDVQQG
EwJVUzERMA8GA1UECBMIQ29sb3JhZG8xDzANBgNVBAcTBkRlbnZlcjEiMCAGA1UEChMZWE1Q
UCBTdGFuZGFyZHMgRm91bmRhdGlvbjEsMCoGA1UECxMjU3RhcnRDb20gVHJ1c3RlZCBDZXJ0
aWZpY2F0ZSBNZW1iZXIxGjAYBgNVBAMTEVBldGVyIFNhaW50LUFuZHJlMSEwHwYJKoZIhvcN
AQkBFhJzdHBldGVyQHN0cGV0ZXIuaW0wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQCas7Mrnh02GakN8sft+HJpU4MwBxEgrGDZ2ZzUxDDt2sEhM+9Q74h955MtgMhK3TeBf6Hs
hDh/8Z9G//k2qNA0M2S5rejTqrmW0Jabca/L7BUZ0GhnU2N/2zeciFUmuZ4A2l1T5IMX2ZVP
XnNIaefBtbImJAbDz3T0vxkzTtcqgW3wL83PMDiqiuM+e1k+VPvOW4f5ZSGkPIhYCDpWqNE5
wZvjrLNMc8jZOPs9DrsYuIVwU72Vhy1tkEh+w6YpYHrdEUAe+eKe6TuxqZ60e9z3O36uiV//
Ms274iD6PbA/IGazJgaAdg6tvPehwTYGJAGmv3PsJKkLGjgoh+RrrM1LAgMBAAGjggOKMIID
hjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
AwQwHQYDVR0OBBYEFOyws3XWgIY9FP1POVqjdZP9Lu38MB0GA1UdEQQWMBSBEnN0cGV0ZXJA
c3RwZXRlci5pbTCBqAYDVR0jBIGgMIGdgBR7iZySlyShhEcCy3T8LvSs3DLl86GBgaR/MH0x
CzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUg
RGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZp
Y2F0aW9uIEF1dGhvcml0eYIBDzCCAUcGA1UdIASCAT4wggE6MIIBNgYLKwYBBAGBtTcBAgAw
ggElMC4GCCsGAQUFBwIBFiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMDQG
CCsGAQUFBwIBFihodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMIG8
BggrBgEFBQcCAjCBrzAUFg1TdGFydENvbSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0
eSwgcmVhZCB0aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENv
bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93
d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwYwYDVR0fBFwwWjAroCmgJ4YlaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vY3J0dTMtY3JsLmNybDAroCmgJ4YlaHR0cDovL2NybC5zdGFydHNz
bC5jb20vY3J0dTMtY3JsLmNybDCBjgYIKwYBBQUHAQEEgYEwfzA5BggrBgEFBQcwAYYtaHR0
cDovL29jc3Auc3RhcnRzc2wuY29tL3N1Yi9jbGFzczMvY2xpZW50L2NhMEIGCCsGAQUFBzAC
hjZodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9jZXJ0cy9zdWIuY2xhc3MzLmNsaWVudC5jYS5j
cnQwIwYDVR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMA0GCSqGSIb3DQEBBQUA
A4IBAQBgv4xFXZqDKSOtnPOVbqOh1brj7oxRaVYk7N0MJG7x9Y/wkO3iwRwizVLcC1bA+D/R
gyFilXx6IQWE63Ge2tu+Y4w5QoHYwuUFQuBZuxvZpOa3ykdgPlBQaBM8m+Ien0skwNggaizA
X9Pc/sMLpP3jkO1iSF4agy4r5Ed+4G10mP5X0zO3gQwq9Uj4F9tX+58kU+fM1P8Sh+BYR4r/
kSbKE3tWcMaKblWPGwX0nYD26Je7Qb+uX/J5lCgozBrHXQWq8N98iklASf2pv+32Oi1dEjmM
UgAm/J2+YmxaI02+c+H6QH8+F3RUjCiRg9XqUNjcrNrnTFnm/iMMZADktsXPMIIHVzCCBj+g
AwIBAgIBVTANBgkqhkiG9w0BAQUFADCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBMB4XDTA5MDcwNjAwMDAwMVoXDTEwMDcwNjIzNTk1OVowgcIxCzAJBgNVBAYTAlVTMREw
DwYDVQQIEwhDb2xvcmFkbzEPMA0GA1UEBxMGRGVudmVyMSIwIAYDVQQKExlYTVBQIFN0YW5k
YXJkcyBGb3VuZGF0aW9uMSwwKgYDVQQLEyNTdGFydENvbSBUcnVzdGVkIENlcnRpZmljYXRl
IE1lbWJlcjEaMBgGA1UEAxMRUGV0ZXIgU2FpbnQtQW5kcmUxITAfBgkqhkiG9w0BCQEWEnN0
cGV0ZXJAc3RwZXRlci5pbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJqzsyue
HTYZqQ3yx+34cmlTgzAHESCsYNnZnNTEMO3awSEz71DviH3nky2AyErdN4F/oeyEOH/xn0b/
+Tao0DQzZLmt6NOquZbQlptxr8vsFRnQaGdTY3/bN5yIVSa5ngDaXVPkgxfZlU9ec0hp58G1
siYkBsPPdPS/GTNO1yqBbfAvzc8wOKqK4z57WT5U+85bh/llIaQ8iFgIOlao0TnBm+Oss0xz
yNk4+z0Ouxi4hXBTvZWHLW2QSH7Dpilget0RQB754p7pO7GpnrR73Pc7fq6JX/8yzbviIPo9
sD8gZrMmBoB2Dq2896HBNgYkAaa/c+wkqQsaOCiH5GuszUsCAwEAAaOCA4owggOGMAkGA1Ud
EwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNV
HQ4EFgQU7LCzddaAhj0U/U85WqN1k/0u7fwwHQYDVR0RBBYwFIESc3RwZXRlckBzdHBldGVy
LmltMIGoBgNVHSMEgaAwgZ2AFHuJnJKXJKGERwLLdPwu9KzcMuXzoYGBpH8wfTELMAkGA1UE
BhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFs
IENlcnRpZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24g
QXV0aG9yaXR5ggEPMIIBRwYDVR0gBIIBPjCCATowggE2BgsrBgEEAYG1NwECADCCASUwLgYI
KwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUH
AgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgbwGCCsGAQUF
BwICMIGvMBQWDVN0YXJ0Q29tIEx0ZC4wAwIBARqBlkxpbWl0ZWQgTGlhYmlsaXR5LCByZWFk
IHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5zdGFy
dHNzbC5jb20vcG9saWN5LnBkZjBjBgNVHR8EXDBaMCugKaAnhiVodHRwOi8vd3d3LnN0YXJ0
c3NsLmNvbS9jcnR1My1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9j
cnR1My1jcmwuY3JsMIGOBggrBgEFBQcBAQSBgTB/MDkGCCsGAQUFBzABhi1odHRwOi8vb2Nz
cC5zdGFydHNzbC5jb20vc3ViL2NsYXNzMy9jbGllbnQvY2EwQgYIKwYBBQUHMAKGNmh0dHA6
Ly93d3cuc3RhcnRzc2wuY29tL2NlcnRzL3N1Yi5jbGFzczMuY2xpZW50LmNhLmNydDAjBgNV
HRIEHDAahhhodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS8wDQYJKoZIhvcNAQEFBQADggEBAGC/
jEVdmoMpI62c85Vuo6HVuuPujFFpViTs3QwkbvH1j/CQ7eLBHCLNUtwLVsD4P9GDIWKVfHoh
BYTrcZ7a275jjDlCgdjC5QVC4Fm7G9mk5rfKR2A+UFBoEzyb4h6fSyTA2CBqLMBf09z+wwuk
/eOQ7WJIXhqDLivkR37gbXSY/lfTM7eBDCr1SPgX21f7nyRT58zU/xKH4FhHiv+RJsoTe1Zw
xopuVY8bBfSdgPbol7tBv65f8nmUKCjMGsddBarw33yKSUBJ/am/7fY6LV0SOYxSACb8nb5i
bFojTb5z4fpAfz4XdFSMKJGD1epQ2Nys2udMWeb+IwxkAOS2xc8wggfiMIIFyqADAgECAgEP
MA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQu
MSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQD
EyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNzEwMjQyMTAzMzJaFw0x
MjEwMjIyMTAzMzJaMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEr
MCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMv
U3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5o0luEj4gypQIp71Xi2TlXyLYrj9WkRy+d9BO
0FHPYnAsC99/jx/ibNRwIfAoFhZd+LDscdRSckvwuFSz0bKg3z+9o7cwlVAC9AwMWe8IM0Lx
c+8etYxsX4WIamG9fjzzi5GAW5ESKzzIN3SxHSplyGCWFwx/pgf1f4y6O9/ym+4f6zaDYP6B
x0r+SaJcr6eSGNm7X3EwX1v7XpRBY+aw019o7k72d0IX910F+XGt0OwNdM61Ff3FiTiexeUZ
bWxCGm6GZl+SQVG9xYVIgHQaLXoQF+g2wzrmKCbVcZhqH+hrlRnD6PfCuEyX/BR6PlAPRDlQ
6f1u3wqik+LF5P15AgMBAAGjggNbMIIDVzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBpjAd
BgNVHQ4EFgQUe4mckpckoYRHAst0/C70rNwy5fMwgagGA1UdIwSBoDCBnYAUTgvvGqRAW6UX
aYcwyjRoQ9BBrvKhgYGkfzB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UE
AxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHmCAQEwCQYDVR0SBAIwADA9Bggr
BgEFBQcBAQQxMC8wLQYIKwYBBQUHMAKGIWh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2Nh
LmNydDBgBgNVHR8EWTBXMCygKqAohiZodHRwOi8vY2VydC5zdGFydGNvbS5vcmcvc2ZzY2Et
Y3JsLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20vc2ZzY2EuY3JsMIIBXQYD
VR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBBDCCATswLwYIKwYBBQUHAgEWI2h0dHA6Ly9j
ZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRwOi8vY2VydC5z
dGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYgU3RhcnQg
Q29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5LCBy
ZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQu
c3RhcnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMFAGCWCGSAGG+EIB
DQRDFkFTdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRlIEZyZWUgU1NMIEVt
YWlsIENlcnRpZmljYXRlczANBgkqhkiG9w0BAQUFAAOCAgEAUpcEDdsKFRCxFBxcSm+8oMTT
fpS7fbZkxWHx5fHDjvAgaBQ+oY0tk4xtbD6VxeHYjxI63+hj8jICnqeVXPe34Bu+XzekIn2T
lrnPCQobKdQF2p52QgUvIxSURed0jcBaCBV22DSKaUqDOzD/Tx6VQy78zpblXjRH7OALE/+H
jzJVmspdnBUUtQOLYgPo924xkxR25VDdgtEE5vAXa/g2oCeZhy0ZEO4NbgIayAYCJcJRDz0h
dD2Ahec65Kw6LB3N7VXEjiRR5/WoKwH/QteRzPJbFDc1somrApjm2cyg+5nbm1RHeFIz+GxX
luRrPztvhNcby0PtAjqwY1txi4sW0R6ZJPuZ2DZ1/dzckoFhyZgFyOX3SEkNXVLldjTzneFJ
FnVSzDbc720vq184jR7pYoI9+f5QJ96a0iLxEAG8SJ5auBwXI/w2FmKmwmdMvJ8/17+B4sMC
IRrXrDQl2xzpVXh/Qcmk5nf+w8HFmqATGy1OUAQbXga7AySAUaYhvvFk50u0bO5DiUGwzrJO
3TrwvaC2Ei4EFaBmIVgG7TfU5TaaY9IcJSCQ7AGUYE3RFSRpsLOoA3DsxP42YERgS/Nxw29+
YqZtPoO2QPbNpI7xnHVCfNBabx3oDIf438nFfv8spw5BQqBSbEF1izJA57eE64CzHnt7lB20
OFD11avYopwxggPKMIIDxgIBATCBkjCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBAgFVMAkGBSsOAwIaBQCgggIMMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZI
hvcNAQkFMQ8XDTEwMDQwMjAxNTk0NlowIwYJKoZIhvcNAQkEMRYEFGUWZZ2L4HLfR8yP9DaP
pKqMz8OkMF8GCSqGSIb3DQEJDzFSMFAwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqG
SIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBowYJ
KwYBBAGCNxAEMYGVMIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UE
AxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0ECAVUw
gaUGCyqGSIb3DQEJEAILMYGVoIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRD
b20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4
MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQg
Q0ECAVUwDQYJKoZIhvcNAQEBBQAEggEAbpnHKdw5Ev7LHbW1QU8hq2m7KSRi2zKKP2D8I4aD
kWIyojH9RfamdtJftx17+V+1lXXANKBhbbH8XifTlB5BsEJAXsD0LvZ+YFElPjhxFjo4FUD8
sqNVhyB2Zk8Vq4X2MwaOMkRxdbGbtUno/URPv/t1cXcHVGNY+KGoyXruLmxww4FG6G8Oshdp
TZflojEpTgXk6fDoj0AVOR6e78C8E4VNsFijSyj47as26cO7lYJtZIEkwDkJtctRSHFsXY0U
2FPS3FxqjZR4x8+KxOSke40rmypSVPAuQnSYtTI+y5wd1hzlrS6jbFG+CxjLbizXtTgbi1uL
1YsGDoec0hN7rgAAAAAAAA==
--------------ms050608080806090605060001--

From atom@yahoo-inc.com  Thu Apr  1 19:22:44 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 23A903A6960 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 19:22:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.949
X-Spam-Level: 
X-Spam-Status: No, score=-14.949 tagged_above=-999 required=5 tests=[AWL=1.186, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, IP_NOT_FRIENDLY=0.334, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DEvXu4qKjGTK for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 19:22:43 -0700 (PDT)
Received: from mrout2-b.corp.re1.yahoo.com (mrout2-b.corp.re1.yahoo.com [69.147.107.21]) by core3.amsl.com (Postfix) with ESMTP id 5AB003A6A4D for <oauth@ietf.org>; Thu,  1 Apr 2010 19:22:25 -0700 (PDT)
Received: from SNV-EXBH01.ds.corp.yahoo.com (snv-exbh01.ds.corp.yahoo.com [207.126.227.249]) by mrout2-b.corp.re1.yahoo.com (8.13.8/8.13.8/y.out) with ESMTP id o322MM6T000213; Thu, 1 Apr 2010 19:22:32 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:message-id: thread-topic:thread-index:in-reply-to:mime-version:content-type: content-transfer-encoding:x-originalarrivaltime; b=lbJaSuFVB/xOPhw0a3OjTihdDNsJAFPQALoTPGe+s5VlKE29XufjbOtW2RuiB0Vd
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXBH01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.3959);  Thu, 1 Apr 2010 19:22:22 -0700
Received: from 172.21.148.134 ([172.21.148.134]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.60]) with Microsoft Exchange Server HTTP-DAV ;  Fri,  2 Apr 2010 02:21:45 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Thu, 01 Apr 2010 19:21:43 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: Peter Saint-Andre <stpeter@stpeter.im>, <oauth@ietf.org>
Message-ID: <C7DAA2C7.2984A%atom@yahoo-inc.com>
Thread-Topic: [OAUTH-WG] Draft progress update
Thread-Index: AcrSCzw0tjRWAOCwKEW8K6aLS2aCVQ==
In-Reply-To: <4BB54F92.1060201@stpeter.im>
Mime-version: 1.0
Content-type: text/plain; charset="US-ASCII"
Content-transfer-encoding: 7bit
X-OriginalArrivalTime: 02 Apr 2010 02:22:22.0200 (UTC) FILETIME=[53918780:01CAD20B]
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 02:22:44 -0000

The way we do this at Yahoo is that the developer must indicate what scopes
they want to access when registering for a client_identifier/secret.

Although we've done it this way for several years, we've gotten plenty of
feedback that client developers want the flexibility to specify the scopes
at user authorization time.

Allen


On 4/1/10 6:59 PM, "Peter Saint-Andre" <stpeter@stpeter.im> wrote:

> 
> 
> If that's true, then how does the Authorization Server know what scope
> is appropriate at the Protected Resource? Does inclusion of the scope
> parameter require a 1:1 mapping between AS and PR, or at least
> communication between AS and PR?
> 
> Peter


From atom@yahoo-inc.com  Thu Apr  1 19:54:25 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 905133A6A5A for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 19:54:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -13.148
X-Spam-Level: 
X-Spam-Status: No, score=-13.148 tagged_above=-999 required=5 tests=[AWL=-1.010, BAYES_50=0.001, DNS_FROM_OPENWHOIS=1.13, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, MIME_QP_LONG_LINE=1.396, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6UWrI+BdyzXd for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 19:54:21 -0700 (PDT)
Received: from mrout1-b.corp.re1.yahoo.com (mrout1-b.corp.re1.yahoo.com [69.147.107.20]) by core3.amsl.com (Postfix) with ESMTP id 1C44B3A67D2 for <oauth@ietf.org>; Thu,  1 Apr 2010 19:54:20 -0700 (PDT)
Received: from SNV-EXBH01.ds.corp.yahoo.com (snv-exbh01.ds.corp.yahoo.com [207.126.227.249]) by mrout1-b.corp.re1.yahoo.com (8.13.8/8.13.8/y.out) with ESMTP id o322skSS007840 for <oauth@ietf.org>; Thu, 1 Apr 2010 19:54:46 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:message-id: thread-topic:thread-index:mime-version:content-type:return-path:x-originalarrivaltime; b=JqLExqLVYj9wI4xTkGhqk7CRpYq6bJYDEdmdR1FdFqy1evzcskHWBpwHHk+M/7s2
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXBH01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.3959);  Thu, 1 Apr 2010 19:54:46 -0700
Received: from 172.21.148.134 ([172.21.148.134]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.60]) with Microsoft Exchange Server HTTP-DAV ;  Fri,  2 Apr 2010 02:54:09 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Thu, 01 Apr 2010 19:54:05 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: OAuth WG <oauth@ietf.org>
Message-ID: <C7DAAA5D.29853%atom@yahoo-inc.com>
Thread-Topic: Device Flow - Session Fixation?
Thread-Index: AcrSD8G5fQBgLf/cfUu/CliP82l2dQ==
Mime-version: 1.0
Content-type: multipart/alternative; boundary="B_3352996447_6906641"
X-OriginalArrivalTime: 02 Apr 2010 02:54:46.0168 (UTC) FILETIME=[DA438180:01CAD20F]
Subject: [OAUTH-WG] Device Flow - Session Fixation?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 02:54:25 -0000

> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3352996447_6906641
Content-type: text/plain;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

Longtime fans of Oauth will remember the Session Fixation security issue we
had last year.

The Device Flow specified in the OAuth2 draft seems to have the same issue.

To illustrate:

Imagine that a Photos Hosting Service supports OAuth2, and supports the
Device Flow for Internet enabled picture frames. These devices have screens=
,
but no browser, and no keyboard.

An Attacker sets up his picture frame, and is instructed to use a browser o=
n
a separate device to authorize the picture frame. However, rather than
entering oauth_verification_url on his own browser he instead socially
engineers a victim to do it. (this is essentially the same thing as
phishing)

The Attacker IMs  or emails the victim the link to the Auth url =AD depending
on how the Auth Flow is implemented, the attacker might even be able to
construct the auth url with the oauth_user_code appended as a query
parameter. If the victim is persuaded to click the link and approve the aut=
h
request, the Attacker will then have access to the victim=B9s photos.

Again, this is social engineering, and the victim has to be persuaded to
click on an untrusted link and to click =B3approve=B2 on a strange auth screen.
That being said, this sort of thing happens pretty often.

In Oauth 1.0a and in WRAP, this attack is not possible. In both WRAP and in
Oauth 1.0a, the victim=B9s browser is issued a verification code which someho=
w
must be passed back to the attacker in order for the attacker to access the
victim=B9s private data. While the Web Server and Web Client flows both have
the verification_code to prevent the session fixation attack, the Device
Flow does not.

Is this a problem?

Allen


--B_3352996447_6906641
Content-type: text/html;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Device Flow - Session Fixation?</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:11pt=
'>Longtime fans of Oauth will remember the Session Fixation security issue w=
e had last year.<BR>
<BR>
The Device Flow specified in the OAuth2 draft seems to have the same issue.=
<BR>
<BR>
To illustrate:<BR>
<BR>
Imagine that a Photos Hosting Service supports OAuth2, and supports the Dev=
ice Flow for Internet enabled picture frames. These devices have screens, bu=
t no browser, and no keyboard.<BR>
<BR>
An Attacker sets up his picture frame, and is instructed to use a browser o=
n a separate device to authorize the picture frame. However, rather than ent=
ering oauth_verification_url on his own browser he instead socially engineer=
s a victim to do it. (this is essentially the same thing as phishing)<BR>
<BR>
The Attacker IMs &nbsp;or emails the victim the link to the Auth url &#8211=
; depending on how the Auth Flow is implemented, the attacker might even be =
able to construct the auth url with the oauth_user_code appended as a query =
parameter. If the victim is persuaded to click the link and approve the auth=
 request, the Attacker will then have access to the victim&#8217;s photos. <=
BR>
<BR>
Again, this is social engineering, and the victim has to be persuaded to cl=
ick on an untrusted link and to click &#8220;approve&#8221; on a strange aut=
h screen. That being said, this sort of thing happens pretty often.<BR>
<BR>
In Oauth 1.0a and in WRAP, this attack is not possible. In both WRAP and in=
 Oauth 1.0a, the victim&#8217;s browser is issued a verification code which =
somehow must be passed back to the attacker in order for the attacker to acc=
ess the victim&#8217;s private data. While the Web Server and Web Client flo=
ws both have the verification_code to prevent the session fixation attack, t=
he Device Flow does not.<BR>
<BR>
Is this a problem?<BR>
<BR>
Allen<BR>
</SPAN></FONT>
</BODY>
</HTML>


--B_3352996447_6906641--


From esachs@google.com  Thu Apr  1 20:05:43 2010
Return-Path: <esachs@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A8E893A67F5 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 20:05:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -98.246
X-Spam-Level: 
X-Spam-Status: No, score=-98.246 tagged_above=-999 required=5 tests=[BAYES_50=0.001, DNS_FROM_OPENWHOIS=1.13, FM_FORGED_GMAIL=0.622,  HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uTpLgxvmbAHW for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 20:05:41 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 97B883A6A61 for <oauth@ietf.org>; Thu,  1 Apr 2010 20:04:37 -0700 (PDT)
Received: from kpbe16.cbf.corp.google.com (kpbe16.cbf.corp.google.com [172.25.105.80]) by smtp-out.google.com with ESMTP id o32358lh020981 for <oauth@ietf.org>; Fri, 2 Apr 2010 05:05:09 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270177509; bh=iG0GoYaS4FrQAHJq0oVB+HMx1Ro=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=x6L0QKAjmYiBLkQamDK3TgwMnmpx4SYsPqfz9qwxv6VWpJY+n8uX/Ivb8GNAW6Mc4 +hVEzSNArafW2c/DkBiuQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=yQtrmjhtLjLLACEkSbPursby/CZdVX6BYioSIeJNrw9kCXDMucc6c7eIWLN8UAGnR ORLGJOJieifIoHEN9JW+A==
Received: from vws18 (vws18.prod.google.com [10.241.21.146]) by kpbe16.cbf.corp.google.com with ESMTP id o32357qC025574 for <oauth@ietf.org>; Thu, 1 Apr 2010 20:05:07 -0700
Received: by vws18 with SMTP id 18so472276vws.4 for <oauth@ietf.org>; Thu, 01 Apr 2010 20:05:07 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.106.80 with HTTP; Thu, 1 Apr 2010 20:05:07 -0700 (PDT)
In-Reply-To: <C7DAAA5D.29853%atom@yahoo-inc.com>
References: <C7DAAA5D.29853%atom@yahoo-inc.com>
Date: Thu, 1 Apr 2010 20:05:07 -0700
Received: by 10.220.128.136 with SMTP id k8mr883788vcs.178.1270177507103; Thu,  01 Apr 2010 20:05:07 -0700 (PDT)
Message-ID: <j2oc4161f511004012005xb631ee6fx4a16c4381c58ceed@mail.gmail.com>
From: Eric Sachs <esachs@google.com>
To: Allen Tom <atom@yahoo-inc.com>
Content-Type: multipart/alternative; boundary=e0cb4e8875891cd3620483383fd4
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Device Flow - Session Fixation?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 03:05:43 -0000

--e0cb4e8875891cd3620483383fd4
Content-Type: text/plain; charset=ISO-8859-1

Here is the note I sent a few weeks ago where we also noted the potential
session fixation attack.  However as we noted, we are still willing to start
with this profile and later work on where the user has to enter a code into
the device.


---------- Forwarded message ----------
From: Eric Sachs <esachs@google.com>
Date: Wed, Mar 17, 2010 at 5:45 PM
Subject: Re: [OAUTH-WG] Device Profile
To: Brent Goldman <brent@facebook.com>
Cc: "OAuth WG (oauth@ietf.org)" <oauth@ietf.org>


Google has a similar requirement to move these types of devices to
OAuth/WRAP and away from our older "ClientLogin" protocol where the user is
prompted for their username/password.  The proposed profile looks fine, but
we are a few weeks from being able to do specific work on it, so we may have
more feedback at that time.

If the device can accept some user input, then there are some security
advantages to requiring the user to get the code from their computer and
then enter it into the device.  In particular, it makes it easier to protect
against a DOS attack targeted at the service-provider to request a large #
of codes.  That method also reduces the risk of a phishing/session-fixation
type attack.  However we agree that some profile is needed for devices with
no user input.  We also expect it will be easier to get these device vendors
to use a common industry technique, so we are fine with prioritizing our
support for this profile.  Longer term the community could define a profile
where the code is displayed on the computer.

On Thu, Mar 11, 2010 at 3:27 AM, Brent Goldman <brent@facebook.com> wrote:

> Over the past couple days, Luke Shepard, David Recordon, and I have been
> brainstorming an OAuth profile for standardizing the flow that devices such
> as game consoles and entertainment centers use to hook up with services such
> as Netflix and iTunes. The basic flow is that a device can gain
> authorization by directing the user to visit a URL on their computer and to
> enter a verification code copied from the device's screen.
>
> A draft spec is attached to this email. Any thoughts or feedback?
>
> Note: this is one of the many profiles going into the OAuth 2.0 draft that
> David is writing (http://daveman692.livejournal.com/349384.html).
>
> -Brent
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

--e0cb4e8875891cd3620483383fd4
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div>Here is the note I sent a few weeks ago where we also noted the potent=
ial session fixation attack. =A0However as we noted, we are still willing t=
o start with this profile and later work on where the user has to enter a c=
ode into the device.</div>
<div><br></div><br><div class=3D"gmail_quote">---------- Forwarded message =
----------<br>From:=A0<b class=3D"gmail_sendername">Eric Sachs</b>=A0<span =
dir=3D"ltr">&lt;<a href=3D"mailto:esachs@google.com">esachs@google.com</a>&=
gt;</span><br>
Date: Wed, Mar 17, 2010 at 5:45 PM<br>Subject: Re: [OAUTH-WG] Device Profil=
e<br>To: Brent Goldman &lt;<a href=3D"mailto:brent@facebook.com">brent@face=
book.com</a>&gt;<br>Cc: &quot;OAuth WG (<a href=3D"mailto:oauth@ietf.org">o=
auth@ietf.org</a>)&quot; &lt;<a href=3D"mailto:oauth@ietf.org">oauth@ietf.o=
rg</a>&gt;<br>
<br><br>Google has a similar requirement to move these types of devices to =
OAuth/WRAP and away from our older &quot;ClientLogin&quot; protocol where t=
he user is prompted for their username/password. =A0The proposed profile lo=
oks fine, but we are a few weeks from being able to do specific work on it,=
 so we may have more feedback at that time.<div>
<br></div><div>If the device can accept some user input, then there are som=
e security advantages to requiring the user to get the code from their comp=
uter and then enter it into the device. =A0In particular, it makes it easie=
r to protect against a DOS attack targeted at the service-provider to reque=
st a large # of codes. =A0That method also reduces the risk of a phishing/s=
ession-fixation type attack. =A0However we agree that some profile is neede=
d for devices with no user input. =A0We also expect it will be easier to ge=
t these device vendors to use a common industry technique, so we are fine w=
ith prioritizing our support for this profile. =A0Longer term=A0the communi=
ty could define a profile where the code is displayed on the computer.</div=
>
<div><div></div><div class=3D"h5"><div><br></div><div>On Thu, Mar 11, 2010 =
at 3:27 AM, Brent Goldman=A0<span dir=3D"ltr">&lt;<a href=3D"mailto:brent@f=
acebook.com" target=3D"_blank">brent@facebook.com</a>&gt;</span>=A0wrote:</=
div></div>
</div><div><div><div><div class=3D"gmail_quote"><blockquote class=3D"gmail_=
quote" style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; mar=
gin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 2=
04); border-left-style: solid; padding-left: 1ex; ">
<div><div></div><div class=3D"h5">Over the past couple days, Luke Shepard, =
David Recordon, and I have been brainstorming an OAuth profile for standard=
izing the flow that devices such as game consoles and entertainment centers=
 use to hook up with services such as Netflix and iTunes. The basic flow is=
 that a device can gain authorization by directing the user to visit a URL =
on their computer and to enter a verification code copied from the device&#=
39;s screen.<br>
<br>A draft spec is attached to this email. Any thoughts or feedback?<br><b=
r>Note: this is one of the many profiles going into the OAuth 2.0 draft tha=
t David is writing (<a href=3D"http://daveman692.livejournal.com/349384.htm=
l" target=3D"_blank">http://daveman692.livejournal.com/349384.html</a>).<br=
>
<font color=3D"#888888"><br>-Brent<br><br><br></font><br></div></div><div c=
lass=3D"im">_______________________________________________<br>OAuth mailin=
g list<br><a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.or=
g</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br><br></div></blockquote></=
div><br></div></div></div></div>

--e0cb4e8875891cd3620483383fd4--

From stpeter@stpeter.im  Thu Apr  1 20:12:47 2010
Return-Path: <stpeter@stpeter.im>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 5D6423A6830 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 20:12:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.215
X-Spam-Level: 
X-Spam-Status: No, score=-1.215 tagged_above=-999 required=5 tests=[AWL=0.254,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5CSv4wG7WZKe for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 20:12:46 -0700 (PDT)
Received: from stpeter.im (stpeter.im [207.210.219.233]) by core3.amsl.com (Postfix) with ESMTP id 223823A67F5 for <oauth@ietf.org>; Thu,  1 Apr 2010 20:12:46 -0700 (PDT)
Received: from squire.local (dsl-228-252.dynamic-dsl.frii.net [216.17.228.252]) (Authenticated sender: stpeter) by stpeter.im (Postfix) with ESMTPSA id 8A47140E15; Thu,  1 Apr 2010 21:13:18 -0600 (MDT)
Message-ID: <4BB560CD.9000004@stpeter.im>
Date: Thu, 01 Apr 2010 21:13:17 -0600
From: Peter Saint-Andre <stpeter@stpeter.im>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Allen Tom <atom@yahoo-inc.com>
References: <C7DAA2C7.2984A%atom@yahoo-inc.com>
In-Reply-To: <C7DAA2C7.2984A%atom@yahoo-inc.com>
X-Enigmail-Version: 1.0.1
OpenPGP: url=http://www.saint-andre.com/me/stpeter.asc
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms030107070302080108060001"
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 03:12:47 -0000

This is a cryptographically signed message in MIME format.

--------------ms030107070302080108060001
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 4/1/10 8:21 PM, Allen Tom wrote:
> The way we do this at Yahoo is that the developer must indicate what sc=
opes
> they want to access when registering for a client_identifier/secret.
>=20
> Although we've done it this way for several years, we've gotten plenty =
of
> feedback that client developers want the flexibility to specify the sco=
pes
> at user authorization time.

OK, so the scope is something that the [developer of a] Client
establishes beforehand with the Authorization Service. But that still
doesn't tell us what a scope is. Does someone have a definition?

Peter

--=20
Peter Saint-Andre
https://stpeter.im/




--------------ms030107070302080108060001
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIWnDCC
B1cwggY/oAMCAQICAVUwDQYJKoZIhvcNAQEFBQAwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQK
Ew1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBT
aWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRl
IENsaWVudCBDQTAeFw0wOTA3MDYwMDAwMDFaFw0xMDA3MDYyMzU5NTlaMIHCMQswCQYDVQQG
EwJVUzERMA8GA1UECBMIQ29sb3JhZG8xDzANBgNVBAcTBkRlbnZlcjEiMCAGA1UEChMZWE1Q
UCBTdGFuZGFyZHMgRm91bmRhdGlvbjEsMCoGA1UECxMjU3RhcnRDb20gVHJ1c3RlZCBDZXJ0
aWZpY2F0ZSBNZW1iZXIxGjAYBgNVBAMTEVBldGVyIFNhaW50LUFuZHJlMSEwHwYJKoZIhvcN
AQkBFhJzdHBldGVyQHN0cGV0ZXIuaW0wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQCas7Mrnh02GakN8sft+HJpU4MwBxEgrGDZ2ZzUxDDt2sEhM+9Q74h955MtgMhK3TeBf6Hs
hDh/8Z9G//k2qNA0M2S5rejTqrmW0Jabca/L7BUZ0GhnU2N/2zeciFUmuZ4A2l1T5IMX2ZVP
XnNIaefBtbImJAbDz3T0vxkzTtcqgW3wL83PMDiqiuM+e1k+VPvOW4f5ZSGkPIhYCDpWqNE5
wZvjrLNMc8jZOPs9DrsYuIVwU72Vhy1tkEh+w6YpYHrdEUAe+eKe6TuxqZ60e9z3O36uiV//
Ms274iD6PbA/IGazJgaAdg6tvPehwTYGJAGmv3PsJKkLGjgoh+RrrM1LAgMBAAGjggOKMIID
hjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
AwQwHQYDVR0OBBYEFOyws3XWgIY9FP1POVqjdZP9Lu38MB0GA1UdEQQWMBSBEnN0cGV0ZXJA
c3RwZXRlci5pbTCBqAYDVR0jBIGgMIGdgBR7iZySlyShhEcCy3T8LvSs3DLl86GBgaR/MH0x
CzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUg
RGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZp
Y2F0aW9uIEF1dGhvcml0eYIBDzCCAUcGA1UdIASCAT4wggE6MIIBNgYLKwYBBAGBtTcBAgAw
ggElMC4GCCsGAQUFBwIBFiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMDQG
CCsGAQUFBwIBFihodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMIG8
BggrBgEFBQcCAjCBrzAUFg1TdGFydENvbSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0
eSwgcmVhZCB0aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENv
bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93
d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwYwYDVR0fBFwwWjAroCmgJ4YlaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vY3J0dTMtY3JsLmNybDAroCmgJ4YlaHR0cDovL2NybC5zdGFydHNz
bC5jb20vY3J0dTMtY3JsLmNybDCBjgYIKwYBBQUHAQEEgYEwfzA5BggrBgEFBQcwAYYtaHR0
cDovL29jc3Auc3RhcnRzc2wuY29tL3N1Yi9jbGFzczMvY2xpZW50L2NhMEIGCCsGAQUFBzAC
hjZodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9jZXJ0cy9zdWIuY2xhc3MzLmNsaWVudC5jYS5j
cnQwIwYDVR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMA0GCSqGSIb3DQEBBQUA
A4IBAQBgv4xFXZqDKSOtnPOVbqOh1brj7oxRaVYk7N0MJG7x9Y/wkO3iwRwizVLcC1bA+D/R
gyFilXx6IQWE63Ge2tu+Y4w5QoHYwuUFQuBZuxvZpOa3ykdgPlBQaBM8m+Ien0skwNggaizA
X9Pc/sMLpP3jkO1iSF4agy4r5Ed+4G10mP5X0zO3gQwq9Uj4F9tX+58kU+fM1P8Sh+BYR4r/
kSbKE3tWcMaKblWPGwX0nYD26Je7Qb+uX/J5lCgozBrHXQWq8N98iklASf2pv+32Oi1dEjmM
UgAm/J2+YmxaI02+c+H6QH8+F3RUjCiRg9XqUNjcrNrnTFnm/iMMZADktsXPMIIHVzCCBj+g
AwIBAgIBVTANBgkqhkiG9w0BAQUFADCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBMB4XDTA5MDcwNjAwMDAwMVoXDTEwMDcwNjIzNTk1OVowgcIxCzAJBgNVBAYTAlVTMREw
DwYDVQQIEwhDb2xvcmFkbzEPMA0GA1UEBxMGRGVudmVyMSIwIAYDVQQKExlYTVBQIFN0YW5k
YXJkcyBGb3VuZGF0aW9uMSwwKgYDVQQLEyNTdGFydENvbSBUcnVzdGVkIENlcnRpZmljYXRl
IE1lbWJlcjEaMBgGA1UEAxMRUGV0ZXIgU2FpbnQtQW5kcmUxITAfBgkqhkiG9w0BCQEWEnN0
cGV0ZXJAc3RwZXRlci5pbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJqzsyue
HTYZqQ3yx+34cmlTgzAHESCsYNnZnNTEMO3awSEz71DviH3nky2AyErdN4F/oeyEOH/xn0b/
+Tao0DQzZLmt6NOquZbQlptxr8vsFRnQaGdTY3/bN5yIVSa5ngDaXVPkgxfZlU9ec0hp58G1
siYkBsPPdPS/GTNO1yqBbfAvzc8wOKqK4z57WT5U+85bh/llIaQ8iFgIOlao0TnBm+Oss0xz
yNk4+z0Ouxi4hXBTvZWHLW2QSH7Dpilget0RQB754p7pO7GpnrR73Pc7fq6JX/8yzbviIPo9
sD8gZrMmBoB2Dq2896HBNgYkAaa/c+wkqQsaOCiH5GuszUsCAwEAAaOCA4owggOGMAkGA1Ud
EwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNV
HQ4EFgQU7LCzddaAhj0U/U85WqN1k/0u7fwwHQYDVR0RBBYwFIESc3RwZXRlckBzdHBldGVy
LmltMIGoBgNVHSMEgaAwgZ2AFHuJnJKXJKGERwLLdPwu9KzcMuXzoYGBpH8wfTELMAkGA1UE
BhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFs
IENlcnRpZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24g
QXV0aG9yaXR5ggEPMIIBRwYDVR0gBIIBPjCCATowggE2BgsrBgEEAYG1NwECADCCASUwLgYI
KwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUH
AgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgbwGCCsGAQUF
BwICMIGvMBQWDVN0YXJ0Q29tIEx0ZC4wAwIBARqBlkxpbWl0ZWQgTGlhYmlsaXR5LCByZWFk
IHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5zdGFy
dHNzbC5jb20vcG9saWN5LnBkZjBjBgNVHR8EXDBaMCugKaAnhiVodHRwOi8vd3d3LnN0YXJ0
c3NsLmNvbS9jcnR1My1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9j
cnR1My1jcmwuY3JsMIGOBggrBgEFBQcBAQSBgTB/MDkGCCsGAQUFBzABhi1odHRwOi8vb2Nz
cC5zdGFydHNzbC5jb20vc3ViL2NsYXNzMy9jbGllbnQvY2EwQgYIKwYBBQUHMAKGNmh0dHA6
Ly93d3cuc3RhcnRzc2wuY29tL2NlcnRzL3N1Yi5jbGFzczMuY2xpZW50LmNhLmNydDAjBgNV
HRIEHDAahhhodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS8wDQYJKoZIhvcNAQEFBQADggEBAGC/
jEVdmoMpI62c85Vuo6HVuuPujFFpViTs3QwkbvH1j/CQ7eLBHCLNUtwLVsD4P9GDIWKVfHoh
BYTrcZ7a275jjDlCgdjC5QVC4Fm7G9mk5rfKR2A+UFBoEzyb4h6fSyTA2CBqLMBf09z+wwuk
/eOQ7WJIXhqDLivkR37gbXSY/lfTM7eBDCr1SPgX21f7nyRT58zU/xKH4FhHiv+RJsoTe1Zw
xopuVY8bBfSdgPbol7tBv65f8nmUKCjMGsddBarw33yKSUBJ/am/7fY6LV0SOYxSACb8nb5i
bFojTb5z4fpAfz4XdFSMKJGD1epQ2Nys2udMWeb+IwxkAOS2xc8wggfiMIIFyqADAgECAgEP
MA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQu
MSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQD
EyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNzEwMjQyMTAzMzJaFw0x
MjEwMjIyMTAzMzJaMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEr
MCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMv
U3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5o0luEj4gypQIp71Xi2TlXyLYrj9WkRy+d9BO
0FHPYnAsC99/jx/ibNRwIfAoFhZd+LDscdRSckvwuFSz0bKg3z+9o7cwlVAC9AwMWe8IM0Lx
c+8etYxsX4WIamG9fjzzi5GAW5ESKzzIN3SxHSplyGCWFwx/pgf1f4y6O9/ym+4f6zaDYP6B
x0r+SaJcr6eSGNm7X3EwX1v7XpRBY+aw019o7k72d0IX910F+XGt0OwNdM61Ff3FiTiexeUZ
bWxCGm6GZl+SQVG9xYVIgHQaLXoQF+g2wzrmKCbVcZhqH+hrlRnD6PfCuEyX/BR6PlAPRDlQ
6f1u3wqik+LF5P15AgMBAAGjggNbMIIDVzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBpjAd
BgNVHQ4EFgQUe4mckpckoYRHAst0/C70rNwy5fMwgagGA1UdIwSBoDCBnYAUTgvvGqRAW6UX
aYcwyjRoQ9BBrvKhgYGkfzB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UE
AxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHmCAQEwCQYDVR0SBAIwADA9Bggr
BgEFBQcBAQQxMC8wLQYIKwYBBQUHMAKGIWh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2Nh
LmNydDBgBgNVHR8EWTBXMCygKqAohiZodHRwOi8vY2VydC5zdGFydGNvbS5vcmcvc2ZzY2Et
Y3JsLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20vc2ZzY2EuY3JsMIIBXQYD
VR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBBDCCATswLwYIKwYBBQUHAgEWI2h0dHA6Ly9j
ZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRwOi8vY2VydC5z
dGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYgU3RhcnQg
Q29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5LCBy
ZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQu
c3RhcnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMFAGCWCGSAGG+EIB
DQRDFkFTdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRlIEZyZWUgU1NMIEVt
YWlsIENlcnRpZmljYXRlczANBgkqhkiG9w0BAQUFAAOCAgEAUpcEDdsKFRCxFBxcSm+8oMTT
fpS7fbZkxWHx5fHDjvAgaBQ+oY0tk4xtbD6VxeHYjxI63+hj8jICnqeVXPe34Bu+XzekIn2T
lrnPCQobKdQF2p52QgUvIxSURed0jcBaCBV22DSKaUqDOzD/Tx6VQy78zpblXjRH7OALE/+H
jzJVmspdnBUUtQOLYgPo924xkxR25VDdgtEE5vAXa/g2oCeZhy0ZEO4NbgIayAYCJcJRDz0h
dD2Ahec65Kw6LB3N7VXEjiRR5/WoKwH/QteRzPJbFDc1somrApjm2cyg+5nbm1RHeFIz+GxX
luRrPztvhNcby0PtAjqwY1txi4sW0R6ZJPuZ2DZ1/dzckoFhyZgFyOX3SEkNXVLldjTzneFJ
FnVSzDbc720vq184jR7pYoI9+f5QJ96a0iLxEAG8SJ5auBwXI/w2FmKmwmdMvJ8/17+B4sMC
IRrXrDQl2xzpVXh/Qcmk5nf+w8HFmqATGy1OUAQbXga7AySAUaYhvvFk50u0bO5DiUGwzrJO
3TrwvaC2Ei4EFaBmIVgG7TfU5TaaY9IcJSCQ7AGUYE3RFSRpsLOoA3DsxP42YERgS/Nxw29+
YqZtPoO2QPbNpI7xnHVCfNBabx3oDIf438nFfv8spw5BQqBSbEF1izJA57eE64CzHnt7lB20
OFD11avYopwxggPKMIIDxgIBATCBkjCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBAgFVMAkGBSsOAwIaBQCgggIMMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZI
hvcNAQkFMQ8XDTEwMDQwMjAzMTMxN1owIwYJKoZIhvcNAQkEMRYEFAuA0j3aNHa15OwcZdy4
HWb1wpcDMF8GCSqGSIb3DQEJDzFSMFAwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqG
SIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBowYJ
KwYBBAGCNxAEMYGVMIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UE
AxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0ECAVUw
gaUGCyqGSIb3DQEJEAILMYGVoIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRD
b20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4
MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQg
Q0ECAVUwDQYJKoZIhvcNAQEBBQAEggEAl197tFHbqzBfpZv5Vz3jSJl0l2QVnEtQIFXuZcTI
BquSe7akujnrJh346BxRV7mqcYS1OJE44+u1pDE+rATQkQn/wKyT1lZsjv30z6FcqEW1cXrq
ruf5rWYl9ZFKJburxSQH3gzMows2ekbZLWE94VGxLPnfPPNmwJQQPzveC+3nzbKVzRUdGL6v
PTb8bvsUM9dLZVruRJ68Bm23ajQdP5v5TyMy1lnvuFo1jyny8Q0+GA2Gxy/JQn5aC5Ml6tNe
3buJsnB72Tnu86OJ6hayniF25IBZqkRabcjmmXR7evRT5K0CoDsAy5L3zz1FksS+b2DMu+jM
saACf5o4BBbX4QAAAAAAAA==
--------------ms030107070302080108060001--

From atom@yahoo-inc.com  Thu Apr  1 20:16:49 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E5FCC3A69CB for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 20:16:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -13.004
X-Spam-Level: 
X-Spam-Status: No, score=-13.004 tagged_above=-999 required=5 tests=[AWL=-0.866, BAYES_50=0.001, DNS_FROM_OPENWHOIS=1.13, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, MIME_QP_LONG_LINE=1.396, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HNM2BDuVLa95 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 20:16:44 -0700 (PDT)
Received: from mrout2-b.corp.re1.yahoo.com (mrout2-b.corp.re1.yahoo.com [69.147.107.21]) by core3.amsl.com (Postfix) with ESMTP id C013B3A67C0 for <oauth@ietf.org>; Thu,  1 Apr 2010 20:16:44 -0700 (PDT)
Received: from SNV-EXBH01.ds.corp.yahoo.com (snv-exbh01.ds.corp.yahoo.com [207.126.227.249]) by mrout2-b.corp.re1.yahoo.com (8.13.8/8.13.8/y.out) with ESMTP id o323Ful6019649; Thu, 1 Apr 2010 20:15:57 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:message-id: thread-topic:thread-index:in-reply-to:mime-version:content-type:x-originalarrivaltime; b=jJrPyDO2y+N1yP04CJFfFVW4mO0wP3IhGUzTQ6b113nHoqNCNu+w41fyBeSVKMTu
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXBH01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.3959);  Thu, 1 Apr 2010 20:15:56 -0700
Received: from 172.21.148.134 ([172.21.148.134]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.60]) with Microsoft Exchange Server HTTP-DAV ;  Fri,  2 Apr 2010 03:15:12 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Thu, 01 Apr 2010 20:15:07 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: George Fletcher <gffletch@aol.com>, "oauth@ietf.org" <oauth@ietf.org>
Message-ID: <C7DAAF4B.2985E%atom@yahoo-inc.com>
Thread-Topic: [OAUTH-WG] Re-scoping OAuth access tokens
Thread-Index: AcrSErHvBM+iwfYNl0Kd54BZKQ2B0g==
In-Reply-To: <4BACF59D.9090805@aol.com>
Mime-version: 1.0
Content-type: multipart/alternative; boundary="B_3352997710_7019253"
X-OriginalArrivalTime: 02 Apr 2010 03:15:56.0528 (UTC) FILETIME=[CF750F00:01CAD212]
Subject: Re: [OAUTH-WG] Re-scoping OAuth access tokens
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 03:16:50 -0000

> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3352997710_7019253
Content-type: text/plain;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

Hi George -

I=B9m trying to figure out the re-scoping flow as well, to allow clients to
progressively upgrade their scopes over time.

A potential pitfall is the scenario where multiple clients, share the same
client_id and secret. For instance, a developer might have both a website
and also an iphone app, and reuses the same client_id for both.

Should the Service Provider keep the scopes in sync for both apps? If the
refresh_token is not passed to the re-auth flow, the Service Provider will
have a hard time determining which instance of the app is requesting the
upgraded scope.

Perhaps this doesn't matter, because it can be argued that although there
might be multiple instances of the same client_id, it=B9s all the same app
anyway. So maybe it=B9s OK to upgrade the scopes for all instances of a given
client_id.

Allen

On 3/26/10 10:57 AM, "George Fletcher" <gffletch@aol.com> wrote:

>=20
>=20
> It it sufficient for the client to just start a new web server flow and
> specify a new scope parameter that includes both "read buddylist" and "se=
nd
> IM"? The AS would then show Alice that she'd already approved "read buddy=
list"
> and just needed to approve "send IM"? This requires the client to keep tr=
ack
> of all scopes requested for a given user:protected_resource.
>=20
> Another option might be to just allow the client to pass in the refresh_t=
oken
> (as that likely has the scoped embedded/associated with it). In this case=
 the
> client could just ask for the new scope it wanted.
>=20
> Thoughts?  Anyone else have a need for dynamic re-scoping?
>=20
> Thanks,
> George
>=20
> P.S. This flow is deployedas part of the AOL IM APIs. However, when
> dynamically adding an authorization, we only show the user what their bei=
ng
> asked to consent to, not what they've done in the past.
>=20
>=20
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


--B_3352997710_7019253
Content-type: text/html;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Re-scoping OAuth access tokens</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:11pt=
'>Hi George -<BR>
<BR>
I&#8217;m trying to figure out the re-scoping flow as well, to allow client=
s to progressively upgrade their scopes over time.<BR>
<BR>
A potential pitfall is the scenario where multiple clients, share the same =
client_id and secret. For instance, a developer might have both a website an=
d also an iphone app, and reuses the same client_id for both.<BR>
<BR>
Should the Service Provider keep the scopes in sync for both apps? If the r=
efresh_token is not passed to the re-auth flow, the Service Provider will ha=
ve a hard time determining which instance of the app is requesting the upgra=
ded scope.<BR>
<BR>
Perhaps this doesn't matter, because it can be argued that although there m=
ight be multiple instances of the same client_id, it&#8217;s all the same ap=
p anyway. So maybe it&#8217;s OK to upgrade the scopes for all instances of =
a given client_id.<BR>
<BR>
Allen<BR>
<BR>
On 3/26/10 10:57 AM, &quot;George Fletcher&quot; &lt;<a href=3D"gffletch@aol.=
com">gffletch@aol.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Helvetic=
a, Verdana, Arial"><BR>
<BR>
It it sufficient for the client to just start a new web server flow and spe=
cify a new scope parameter that includes both &quot;read buddylist&quot; and=
 &quot;send IM&quot;? The AS would then show Alice that she'd already approv=
ed &quot;read buddylist&quot; and just needed to approve &quot;send IM&quot;=
? This requires the client to keep track of all scopes requested for a given=
 user:protected_resource.<BR>
<BR>
Another option might be to just allow the client to pass in the refresh_tok=
en (as that likely has the scoped embedded/associated with it). In this case=
 the client could just ask for the new scope it wanted.<BR>
<BR>
Thoughts? &nbsp;Anyone else have a need for dynamic re-scoping?<BR>
<BR>
Thanks,<BR>
George<BR>
<BR>
P.S. This flow is deployedas part of the AOL IM APIs. However, when dynamic=
ally adding an authorization, we only show the user what their being asked t=
o consent to, not what they've done in the past.<BR>
</FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><BR>
<BR>
<HR ALIGN=3DCENTER SIZE=3D"3" WIDTH=3D"95%"></FONT></SPAN><FONT SIZE=3D"2"><FONT FA=
CE=3D"Consolas, Courier New, Courier"><SPAN STYLE=3D'font-size:10pt'>___________=
____________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/=
mailman/listinfo/oauth</a><BR>
</SPAN></FONT></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--B_3352997710_7019253--


From brent@facebook.com  Thu Apr  1 20:25:42 2010
Return-Path: <brent@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 812743A69B6 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 20:25:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.465
X-Spam-Level: 
X-Spam-Status: No, score=0.465 tagged_above=-999 required=5 tests=[AWL=-0.001,  BAYES_50=0.001, DNS_FROM_OPENWHOIS=1.13, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id x+Z-npIA-arc for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 20:25:41 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 8EA603A68AF for <oauth@ietf.org>; Thu,  1 Apr 2010 20:25:41 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.198]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o323Pd5w027762 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Thu, 1 Apr 2010 20:25:40 -0700
Received: from sc-hub02.TheFacebook.com (192.168.18.105) by sc-hub03.TheFacebook.com (192.168.18.198) with Microsoft SMTP Server (TLS) id 14.0.682.1; Thu, 1 Apr 2010 20:25:52 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub02.TheFacebook.com ([192.168.18.105]) with mapi; Thu, 1 Apr 2010 20:25:49 -0700
From: Brent Goldman <brent@facebook.com>
To: Allen Tom <atom@yahoo-inc.com>
Date: Thu, 1 Apr 2010 20:25:08 -0700
Thread-Topic: [OAUTH-WG] User Interface specs?
Thread-Index: AcrSFDB31fHtGMoYQWKPrse8oENLoQ==
Message-ID: <F2D61FDB-9B5A-4C1A-8276-E36AF055F859@facebook.com>
References: <C7DA8CF4.2980D%atom@yahoo-inc.com>
In-Reply-To: <C7DA8CF4.2980D%atom@yahoo-inc.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_F2D61FDB9B5A4C1A8276E36AF055F859facebookcom_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-02_02:2010-02-06, 2010-04-02, 2010-04-01 signatures=0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] User Interface specs?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 03:25:42 -0000

--_000_F2D61FDB9B5A4C1A8276E36AF055F859facebookcom_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

+1 on both

Regarding clickjacking: If we don't want the flows to be inlined in an ifra=
me, specifying that the clients must show the server in a popup doesn't pro=
tect against malicious clients that choose to show it in an iframe anyway. =
So I think it also make sense to add to the core spec that servers should p=
rotect against this. The JavaScript is simple enough that perhaps the spec =
could give an example snippet that any OAuth server to use. E.g., if (top !=
=3D self && !isTopWindowSafe(top)) { showBigassTransparentDivWithHighZIndex=
_or_redirectToErrorPage(); }.

-Brent


On Apr 1, 2010, at 5:48 PM, Allen Tom wrote:

Websites using OpenID/OAuth/Facebook Connect/Twitter Connect often open a p=
opup window to the user=92s Identity Provider for user to complete the Auth=
Z/AuthN flow rather than taking the user away from the referring site via a=
 full page redirect.

In the case where a popup window is used, it=92s a very good idea to requir=
e that that the browser=92s address bar is displayed, and that an independe=
nt browser window is used, rather than an inline iframe. These requirements=
 are needed to help prevent the user from being phished in the case where t=
he user has to enter their password, and to ensure that the user=92s consen=
t was not forged via a clickjacking attack.

I believe that the Web Server Flow and the Web Client Flow will often take =
place within a popup window, so it would make sense to put into the core sp=
ec that popups should be independent browser windows with the address bar c=
learly displayed.

Another missing feature in the core spec is support for multiple languages.=
 Given that many Service Providers have a global userbase, client applicati=
ons will want to have a way to specify the language to be used on the auth =
screen. While the User Agent=92s Accept-Language: HTTP header, as well as t=
he user=92s IP address could be used as language hints, in practice clients=
 will want the ability to specify the language.

Is there consensus to get Popup Window requirements and language support in=
to the OAuth2 core spec?

Allen
<ATT00001..txt>


--_000_F2D61FDB9B5A4C1A8276E36AF055F859facebookcom_
Content-Type: text/html; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

<html><head></head><body style=3D"word-wrap: break-word; -webkit-nbsp-mode:=
 space; -webkit-line-break: after-white-space; "><div>+1 on both</div><div>=
<br></div>Regarding clickjacking: If we don't want the flows to be inlined =
in an iframe, specifying that the clients must show the server in a popup d=
oesn't protect against malicious clients that choose to show it in an ifram=
e anyway. So I think it also make sense to add to the core spec that server=
s should protect against this. The JavaScript is simple enough that perhaps=
 the spec could give an example snippet that any OAuth server to use.&nbsp;=
E.g., if (top !=3D self &amp;&amp; !isTopWindowSafe(top)) { showBigassTrans=
parentDivWithHighZIndex_or_redirectToErrorPage(); }.<div><br><div><div><div=
><div>-Brent</div><div><br><div><br><div><div>On Apr 1, 2010, at 5:48 PM, A=
llen Tom wrote:</div><br class=3D"Apple-interchange-newline"><blockquote ty=
pe=3D"cite"><div>
<font face=3D"Calibri, Verdana, Helvetica, Arial"><span style=3D"font-size:=
11pt">Websites using OpenID/OAuth/Facebook Connect/Twitter Connect often op=
en a popup window to the user=92s Identity Provider for user to complete th=
e AuthZ/AuthN flow rather than taking the user away from the referring site=
 via a full page redirect.<br>
<br>
In the case where a popup window is used, it=92s a very good idea to requir=
e that that the browser=92s address bar is displayed, and that an independe=
nt browser window is used, rather than an inline iframe. These requirements=
 are needed to help prevent the user from being phished in the case where t=
he user has to enter their password, and to ensure that the user=92s consen=
t was not forged via a clickjacking attack.<br>
<br>
I believe that the Web Server Flow and the Web Client Flow will often take =
place within a popup window, so it would make sense to put into the core sp=
ec that popups should be independent browser windows with the address bar c=
learly displayed. <br>
<br>
Another missing feature in the core spec is support for multiple languages.=
 Given that many Service Providers have a global userbase, client applicati=
ons will want to have a way to specify the language to be used on the auth =
screen. While the User Agent=92s Accept-Language: HTTP header, as well as t=
he user=92s IP address could be used as language hints, in practice clients=
 will want the ability to specify the language. <br>
<br>
Is there consensus to get Popup Window requirements and language support in=
to the OAuth2 core spec?<br>
<br>
Allen<br>
</span></font>
</div>


<span>&lt;ATT00001..txt&gt;</span></blockquote></div><br></div></div></div>=
</div></div></div></body></html>=

--_000_F2D61FDB9B5A4C1A8276E36AF055F859facebookcom_--

From eran@hueniverse.com  Thu Apr  1 21:02:29 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4350C3A693F for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:02:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.046
X-Spam-Level: 
X-Spam-Status: No, score=-1.046 tagged_above=-999 required=5 tests=[AWL=0.422,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id h85RoL8WPlQu for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:02:25 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id A41B23A6863 for <oauth@ietf.org>; Thu,  1 Apr 2010 21:02:24 -0700 (PDT)
Received: (qmail 8576 invoked from network); 2 Apr 2010 04:02:56 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 2 Apr 2010 04:02:56 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Thu, 1 Apr 2010 21:02:13 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Brian Eaton <beaton@google.com>
Date: Thu, 1 Apr 2010 21:02:11 -0700
Thread-Topic: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
Thread-Index: AcrR+b3eIZ0qtQkjQ5Gxo8m3q38+gAAH4dPJ
Message-ID: <C7DABA53.31B60%eran@hueniverse.com>
In-Reply-To: <y2rdaf5b9571004011716t5c475c74p5d813a464f78592@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7DABA5331B60eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 04:02:29 -0000

--_000_C7DABA5331B60eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

This boils down to: if the flow cannot be used without further profile, and=
 it is less than a page long, what's the value of putting it in the specifi=
cation, as opposed to a fully specified extension? Or the alternative to pr=
ovide one fully specified flow using the most common type of assertions (I'=
m not a SAML expert so I have no clue what that might be), and let others u=
se that as a template.

But providing a half baked flow that is short enough to just replicate wher=
e needed and cannot be fully implemented by generic libraries doesn't reall=
y offer much.

I am not putting a stake in the ground on this but I am doing my job as edi=
tor to point out to the authors and users of this spec that as written, the=
 flow is just not actually useful. It has the same value as if I posted it =
on my blog because to use it, someone will have to write a new spec that pr=
ofiles it to an interop-capable setup.

EHL


On 4/1/10 5:16 PM, "Brian Eaton" <beaton@google.com> wrote:

On Thu, Apr 1, 2010 at 5:10 PM, Eran Hammer-Lahav <eran@hueniverse.com> wro=
te:
> Are they profiling a half page spec?

The spec is 66 pages long.  But the widely used pieces are quite a bit
shorter. =3D)


--_000_C7DABA5331B60eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)</TIT=
LE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>This boils down to: if the flow cannot be used without further profil=
e, and it is less than a page long, what&#8217;s the value of putting it in=
 the specification, as opposed to a fully specified extension? Or the alter=
native to provide one fully specified flow using the most common type of as=
sertions (I&#8217;m not a SAML expert so I have no clue what that might be)=
, and let others use that as a template.<BR>
<BR>
But providing a half baked flow that is short enough to just replicate wher=
e needed and cannot be fully implemented by generic libraries doesn&#8217;t=
 really offer much.<BR>
<BR>
I am not putting a stake in the ground on this but I am doing my job as edi=
tor to point out to the authors and users of this spec that as written, the=
 flow is just not actually useful. It has the same value as if I posted it =
on my blog because to use it, someone will have to write a new spec that pr=
ofiles it to an interop-capable setup.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/1/10 5:16 PM, &quot;Brian Eaton&quot; &lt;<a href=3D"beaton@google.com=
">beaton@google.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>On Thu, Apr 1, 2010 at 5:10 PM, Eran Hammer=
-Lahav &lt;<a href=3D"eran@hueniverse.com">eran@hueniverse.com</a>&gt; wrot=
e:<BR>
&gt; Are they profiling a half page spec?<BR>
<BR>
The spec is 66 pages long. &nbsp;But the widely used pieces are quite a bit=
<BR>
shorter. =3D)<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7DABA5331B60eranhueniversecom_--

From brent@facebook.com  Thu Apr  1 21:06:50 2010
Return-Path: <brent@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2BD8E3A6916 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:06:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.466
X-Spam-Level: 
X-Spam-Status: No, score=0.466 tagged_above=-999 required=5 tests=[AWL=-0.000,  BAYES_50=0.001, DNS_FROM_OPENWHOIS=1.13, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gXfKzFUbEcZc for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:06:49 -0700 (PDT)
Received: from mailout-snc1.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id F2F063A695A for <oauth@ietf.org>; Thu,  1 Apr 2010 21:06:48 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.198]) by pp01.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3246pmJ015838 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Thu, 1 Apr 2010 21:06:57 -0700
Received: from sc-hub05.TheFacebook.com (192.168.18.82) by sc-hub03.TheFacebook.com (192.168.18.198) with Microsoft SMTP Server (TLS) id 14.0.682.1; Thu, 1 Apr 2010 21:07:07 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub05.TheFacebook.com ([192.168.18.82]) with mapi; Thu, 1 Apr 2010 21:07:07 -0700
From: Brent Goldman <brent@facebook.com>
To: Eric Sachs <esachs@google.com>
Date: Thu, 1 Apr 2010 21:06:26 -0700
Thread-Topic: [OAUTH-WG] Device Flow - Session Fixation?
Thread-Index: AcrSGfW5TykVMTtMTuy6bQ4aCECZEA==
Message-ID: <710CC9A4-422B-424A-8FC2-AB190F41E87F@facebook.com>
References: <C7DAAA5D.29853%atom@yahoo-inc.com> <j2oc4161f511004012005xb631ee6fx4a16c4381c58ceed@mail.gmail.com>
In-Reply-To: <j2oc4161f511004012005xb631ee6fx4a16c4381c58ceed@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_710CC9A4422B424A8FC2AB190F41E87Ffacebookcom_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-02_05:2010-02-06, 2010-04-02, 2010-04-01 signatures=0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Device Flow - Session Fixation?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 04:06:50 -0000

--_000_710CC9A4422B424A8FC2AB190F41E87Ffacebookcom_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Isn't there a similar attack for the reverse protocol? The attacker would s=
ocially engineer the user to give them the post-auth verification code disp=
layed on the computer. This gives the attacker access to everything.

We could make this more strict by having both a device code and verificatio=
n code. That is, have the user enter the device code into the computer, whi=
ch would produce a verification code that needs to be entered back into the=
 device. But this is susceptible to the same attack: after visiting the lin=
k sent by the attacker, and clicking "approve on a strange auth screen", th=
e user would have to send the verification code back to the attacker. This =
is slightly better in that for an attack to be successful, the user has to =
communicate with the attacker twice instead of once.

I can't really think of a good way to eliminate the attack entirely, though=
.

-Brent


On Apr 1, 2010, at 8:05 PM, Eric Sachs wrote:

Here is the note I sent a few weeks ago where we also noted the potential s=
ession fixation attack.  However as we noted, we are still willing to start=
 with this profile and later work on where the user has to enter a code int=
o the device.


---------- Forwarded message ----------
From: Eric Sachs <esachs@google.com<mailto:esachs@google.com>>
Date: Wed, Mar 17, 2010 at 5:45 PM
Subject: Re: [OAUTH-WG] Device Profile
To: Brent Goldman <brent@facebook.com<mailto:brent@facebook.com>>
Cc: "OAuth WG (oauth@ietf.org<mailto:oauth@ietf.org>)" <oauth@ietf.org<mail=
to:oauth@ietf.org>>


Google has a similar requirement to move these types of devices to OAuth/WR=
AP and away from our older "ClientLogin" protocol where the user is prompte=
d for their username/password.  The proposed profile looks fine, but we are=
 a few weeks from being able to do specific work on it, so we may have more=
 feedback at that time.

If the device can accept some user input, then there are some security adva=
ntages to requiring the user to get the code from their computer and then e=
nter it into the device.  In particular, it makes it easier to protect agai=
nst a DOS attack targeted at the service-provider to request a large # of c=
odes.  That method also reduces the risk of a phishing/session-fixation typ=
e attack.  However we agree that some profile is needed for devices with no=
 user input.  We also expect it will be easier to get these device vendors =
to use a common industry technique, so we are fine with prioritizing our su=
pport for this profile.  Longer term the community could define a profile w=
here the code is displayed on the computer.

On Thu, Mar 11, 2010 at 3:27 AM, Brent Goldman <brent@facebook.com<mailto:b=
rent@facebook.com>> wrote:
Over the past couple days, Luke Shepard, David Recordon, and I have been br=
ainstorming an OAuth profile for standardizing the flow that devices such a=
s game consoles and entertainment centers use to hook up with services such=
 as Netflix and iTunes. The basic flow is that a device can gain authorizat=
ion by directing the user to visit a URL on their computer and to enter a v=
erification code copied from the device's screen.

A draft spec is attached to this email. Any thoughts or feedback?

Note: this is one of the many profiles going into the OAuth 2.0 draft that =
David is writing (http://daveman692.livejournal.com/349384.html).

-Brent



_______________________________________________
OAuth mailing list
OAuth@ietf.org<mailto:OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth


<ATT00001..txt>


--_000_710CC9A4422B424A8FC2AB190F41E87Ffacebookcom_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html><head></head><body style=3D"word-wrap: break-word; -webkit-nbsp-mode:=
 space; -webkit-line-break: after-white-space; ">Isn't there a similar atta=
ck for the reverse protocol? The attacker would socially engineer the user =
to give them the post-auth verification code displayed on the computer. Thi=
s gives the attacker access to everything.<div><br></div><div>We could make=
 this more strict by having both a device code and verification code. That =
is, have the user enter the device code into the computer, which would prod=
uce a verification code that needs to be entered back into the device. But =
this is susceptible to the&nbsp;same attack: after visiting the link sent b=
y the attacker, and clicking "approve on a strange auth screen", the user w=
ould have to send the verification code back to the attacker. This is sligh=
tly better in that for an attack to be successful, the user has to communic=
ate with the attacker twice instead of once.</div><div><br></div><div>I can=
't really think of a good way to eliminate the attack entirely, though.</di=
v><div><br></div><div>-Brent</div><div><br></div><div><div><br><div><div>On=
 Apr 1, 2010, at 8:05 PM, Eric Sachs wrote:</div><br class=3D"Apple-interch=
ange-newline"><blockquote type=3D"cite"><div>Here is the note I sent a few =
weeks ago where we also noted the potential session fixation attack. &nbsp;=
However as we noted, we are still willing to start with this profile and la=
ter work on where the user has to enter a code into the device.</div>
<div><br></div><br><div class=3D"gmail_quote">---------- Forwarded message =
----------<br>From:&nbsp;<b class=3D"gmail_sendername">Eric Sachs</b>&nbsp;=
<span dir=3D"ltr">&lt;<a href=3D"mailto:esachs@google.com">esachs@google.co=
m</a>&gt;</span><br>
Date: Wed, Mar 17, 2010 at 5:45 PM<br>Subject: Re: [OAUTH-WG] Device Profil=
e<br>To: Brent Goldman &lt;<a href=3D"mailto:brent@facebook.com">brent@face=
book.com</a>&gt;<br>Cc: "OAuth WG (<a href=3D"mailto:oauth@ietf.org">oauth@=
ietf.org</a>)" &lt;<a href=3D"mailto:oauth@ietf.org">oauth@ietf.org</a>&gt;=
<br>
<br><br>Google has a similar requirement to move these types of devices to =
OAuth/WRAP and away from our older "ClientLogin" protocol where the user is=
 prompted for their username/password. &nbsp;The proposed profile looks fin=
e, but we are a few weeks from being able to do specific work on it, so we =
may have more feedback at that time.<div>
<br></div><div>If the device can accept some user input, then there are som=
e security advantages to requiring the user to get the code from their comp=
uter and then enter it into the device. &nbsp;In particular, it makes it ea=
sier to protect against a DOS attack targeted at the service-provider to re=
quest a large # of codes. &nbsp;That method also reduces the risk of a phis=
hing/session-fixation type attack. &nbsp;However we agree that some profile=
 is needed for devices with no user input. &nbsp;We also expect it will be =
easier to get these device vendors to use a common industry technique, so w=
e are fine with prioritizing our support for this profile. &nbsp;Longer ter=
m&nbsp;the community could define a profile where the code is displayed on =
the computer.</div>
<div><div></div><div class=3D"h5"><div><br></div><div>On Thu, Mar 11, 2010 =
at 3:27 AM, Brent Goldman&nbsp;<span dir=3D"ltr">&lt;<a href=3D"mailto:bren=
t@facebook.com" target=3D"_blank">brent@facebook.com</a>&gt;</span>&nbsp;wr=
ote:</div></div>
</div><div><div><div><div class=3D"gmail_quote"><blockquote class=3D"gmail_=
quote" style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; mar=
gin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 2=
04); border-left-style: solid; padding-left: 1ex; ">
<div><div></div><div class=3D"h5">Over the past couple days, Luke Shepard, =
David Recordon, and I have been brainstorming an OAuth profile for standard=
izing the flow that devices such as game consoles and entertainment centers=
 use to hook up with services such as Netflix and iTunes. The basic flow is=
 that a device can gain authorization by directing the user to visit a URL =
on their computer and to enter a verification code copied from the device's=
 screen.<br>
<br>A draft spec is attached to this email. Any thoughts or feedback?<br><b=
r>Note: this is one of the many profiles going into the OAuth 2.0 draft tha=
t David is writing (<a href=3D"http://daveman692.livejournal.com/349384.htm=
l" target=3D"_blank">http://daveman692.livejournal.com/349384.html</a>).<br=
>
<font color=3D"#888888"><br>-Brent<br><br><br></font><br></div></div><div c=
lass=3D"im">_______________________________________________<br>OAuth mailin=
g list<br><a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.or=
g</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br><br></div></blockquote></=
div><br></div></div></div></div>
<span>&lt;ATT00001..txt&gt;</span></blockquote></div><br></div></div></body=
></html>=

--_000_710CC9A4422B424A8FC2AB190F41E87Ffacebookcom_--

From lshepard@facebook.com  Thu Apr  1 21:07:29 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 681353A6A66 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:07:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.032
X-Spam-Level: 
X-Spam-Status: No, score=0.032 tagged_above=-999 required=5 tests=[AWL=-0.433,  BAYES_50=0.001, DNS_FROM_OPENWHOIS=1.13, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jc+VRq9MuOr8 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:07:28 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id A9A683A6916 for <oauth@ietf.org>; Thu,  1 Apr 2010 21:07:28 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.212]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3247RCG030034 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Thu, 1 Apr 2010 21:07:27 -0700
Received: from sc-hub01.TheFacebook.com (192.168.18.104) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.682.1; Thu, 1 Apr 2010 21:07:31 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub01.TheFacebook.com ([192.168.18.104]) with mapi; Thu, 1 Apr 2010 21:07:31 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Peter Saint-Andre <stpeter@stpeter.im>
Date: Thu, 1 Apr 2010 21:07:30 -0700
Thread-Topic: [OAUTH-WG] Draft progress update
Thread-Index: AcrSGgP0ozMUemMATp+Umrvbqdwnwg==
Message-ID: <AFE1F948-AAE1-49C4-89E3-C03348317087@facebook.com>
References: <191F411E00E19F4E943ECDB6D65C6085168FCFE8@TK5EX14MBXC115.redmond.corp.microsoft.com> <C7DA40B8.31B0F%eran@hueniverse.com> <o2x74caaad21004011321w7414318ai6f52ea84dea0862e@mail.gmail.com> <191F411E00E19F4E943ECDB6D65C60851690A880@TK5EX14MBXC115.redmond.corp.microsoft.com> <4BB54F92.1060201@stpeter.im>
In-Reply-To: <4BB54F92.1060201@stpeter.im>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_AFE1F948AAE149C489E3C03348317087facebookcom_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-02_05:2010-02-06, 2010-04-02, 2010-04-01 signatures=0
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 04:07:29 -0000

--_000_AFE1F948AAE149C489E3C03348317087facebookcom_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable


On Apr 1, 2010, at 6:59 PM, Peter Saint-Andre wrote:

If that's true, then how does the Authorization Server know what scope
is appropriate at the Protected Resource? Does inclusion of the scope
parameter require a 1:1 mapping between AS and PR, or at least
communication between AS and PR?

My preferred way of handling this is to have the Protected Resource throw a=
 403 Forbidden error, with an error message that specifies the scope needed=
 - e.g., "oauth_scope_required=3Dphoto_read".

So an app that tries to access a protected resource should be able to progr=
amatically take the scope in the error message and then construct an OAuth =
authorization request to get that permission from the user. Even if the sco=
pe is totally opaque, it should still be possible for a library to handle t=
hem in this way.

I believe David or Eran were thinking of writing this into the spec?

--_000_AFE1F948AAE149C489E3C03348317087facebookcom_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html><head></head><body style=3D"word-wrap: break-word; -webkit-nbsp-mode:=
 space; -webkit-line-break: after-white-space; "><br><div><div>On Apr 1, 20=
10, at 6:59 PM, Peter Saint-Andre wrote:</div><blockquote type=3D"cite"><di=
v><font class=3D"Apple-style-span" color=3D"#000000"><br></font>If that's t=
rue, then how does the Authorization Server know what scope<br>is appropria=
te at the Protected Resource? Does inclusion of the scope<br>parameter requ=
ire a 1:1 mapping between AS and PR, or at least<br>communication between A=
S and PR?<br></div></blockquote></div><br><div>My preferred way of handling=
 this is to have the Protected Resource throw a 403 Forbidden error, with a=
n error message that specifies the scope needed - e.g., "oauth_scope_requir=
ed=3Dphoto_read".</div><div><br></div><div>So an app that tries to access a=
 protected resource should be able to programatically take the scope in the=
 error message and then construct an OAuth authorization request to get tha=
t permission from the user. Even if the scope is totally opaque, it should =
still be possible for a library to handle them in this way.</div><div><br><=
/div><div>I believe David or Eran were thinking of writing this into the sp=
ec?</div></body></html>=

--_000_AFE1F948AAE149C489E3C03348317087facebookcom_--

From eran@hueniverse.com  Thu Apr  1 21:08:07 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0F8E83A6A66 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:08:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.237
X-Spam-Level: 
X-Spam-Status: No, score=0.237 tagged_above=-999 required=5 tests=[AWL=-0.894,  BAYES_50=0.001, DNS_FROM_OPENWHOIS=1.13]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lmK+3yTgPdMM for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:08:06 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 92DB83A6916 for <oauth@ietf.org>; Thu,  1 Apr 2010 21:08:05 -0700 (PDT)
Received: (qmail 11635 invoked from network); 2 Apr 2010 04:08:38 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 2 Apr 2010 04:08:38 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Thu, 1 Apr 2010 21:07:34 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Allen Tom <atom@yahoo-inc.com>, OAuth WG <oauth@ietf.org>
Date: Thu, 1 Apr 2010 21:07:31 -0700
Thread-Topic: [OAUTH-WG] User Interface specs?
Thread-Index: AcrR/joXiTwdAhjxhEyE3qdhMST83AAG8nTv
Message-ID: <C7DABB93.31B64%eran@hueniverse.com>
In-Reply-To: <C7DA8CF4.2980D%atom@yahoo-inc.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] User Interface specs?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 04:08:07 -0000

On 4/1/10 5:48 PM, "Allen Tom" <atom@yahoo-inc.com> wrote:

> Websites using OpenID/OAuth/Facebook Connect/Twitter Connect often open a
> popup window to the user=B9s Identity Provider for user to complete the
> AuthZ/AuthN flow rather than taking the user away from the referring site=
 via
> a full page redirect.
>=20
> In the case where a popup window is used, it=B9s a very good idea to requ=
ire
> that that the browser=B9s address bar is displayed, and that an independe=
nt
> browser window is used, rather than an inline iframe. These requirements =
are
> needed to help prevent the user from being phished in the case where the =
user
> has to enter their password, and to ensure that the user=B9s consent was =
not
> forged via a clickjacking attack.
>=20
> I believe that the Web Server Flow and the Web Client Flow will often tak=
e
> place within a popup window, so it would make sense to put into the core =
spec
> that popups should be independent browser windows with the address bar cl=
early
> displayed.=20

It certainly belongs in the security considerations section, but unless
there is a way for the server to enforce it, a MUST directive is pointless.
An attacker will obviously not comply...

> Another missing feature in the core spec is support for multiple language=
s.
> Given that many Service Providers have a global userbase, client applicat=
ions
> will want to have a way to specify the language to be used on the auth sc=
reen.
> While the User Agent=B9s Accept-Language: HTTP header, as well as the use=
r=B9s IP
> address could be used as language hints, in practice clients will want th=
e
> ability to specify the language.
>=20
> Is there consensus to get Popup Window requirements and language support =
into
> the OAuth2 core spec?

Don't ask. Write a proposal and send to the list for each of these items
(don't spend time on editorial or language). I'll add it to the spec and
we'll see how well it fits in. At this stage we should be liberal in what w=
e
include so we can get the full picture. Then we will decide what to drop or
spin-off.

EHL


From eran@hueniverse.com  Thu Apr  1 21:16:25 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6577F3A6978 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:16:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.029
X-Spam-Level: 
X-Spam-Status: No, score=-1.029 tagged_above=-999 required=5 tests=[AWL=0.440,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AZy550VNgTbN for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:16:24 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id F3DAA3A68F0 for <oauth@ietf.org>; Thu,  1 Apr 2010 21:16:23 -0700 (PDT)
Received: (qmail 15960 invoked from network); 2 Apr 2010 04:16:56 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 2 Apr 2010 04:16:56 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Thu, 1 Apr 2010 21:14:54 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Peter Saint-Andre <stpeter@stpeter.im>, Allen Tom <atom@yahoo-inc.com>
Date: Thu, 1 Apr 2010 21:14:51 -0700
Thread-Topic: Scope (was: [OAUTH-WG] Draft progress update)
Thread-Index: AcrSEnWh2oW20umIQnu0BUIaT0XzLgACJSLh
Message-ID: <C7DABD4B.31B69%eran@hueniverse.com>
In-Reply-To: <4BB560CD.9000004@stpeter.im>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: [OAUTH-WG] Scope (was:  Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 04:16:25 -0000

On 4/1/10 8:13 PM, "Peter Saint-Andre" <stpeter@stpeter.im> wrote:

> On 4/1/10 8:21 PM, Allen Tom wrote:
>> The way we do this at Yahoo is that the developer must indicate what sco=
pes
>> they want to access when registering for a client_identifier/secret.
>>=20
>> Although we've done it this way for several years, we've gotten plenty o=
f
>> feedback that client developers want the flexibility to specify the scop=
es
>> at user authorization time.
>=20
> OK, so the scope is something that the [developer of a] Client
> establishes beforehand with the Authorization Service. But that still
> doesn't tell us what a scope is. Does someone have a definition?

There isn't one - its service specific.

The easy ones are:

Duration
List of protected resources, URI wildcard, or name of protected segment
Read/write access or HTTP methods

3 years ago when we dropped the scope/token_attributes parameter from the
spec we decided to bring it back when we have enough deployment experience.
I strongly believe this rule still holds.

It would be great if those with OAuth 1.0a deployments can share how they
specify scope.

EHL


From eran@hueniverse.com  Thu Apr  1 21:18:05 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9C8BB3A68F0 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:18:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.255
X-Spam-Level: 
X-Spam-Status: No, score=0.255 tagged_above=-999 required=5 tests=[AWL=-0.876,  BAYES_50=0.001, DNS_FROM_OPENWHOIS=1.13]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Vr19EuHHiBF7 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:18:04 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id E12F33A6A5C for <oauth@ietf.org>; Thu,  1 Apr 2010 21:17:48 -0700 (PDT)
Received: (qmail 18823 invoked from network); 2 Apr 2010 04:18:21 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 2 Apr 2010 04:18:21 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Thu, 1 Apr 2010 21:18:21 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Allen Tom <atom@yahoo-inc.com>, George Fletcher <gffletch@aol.com>, OAuth WG <oauth@ietf.org>
Date: Thu, 1 Apr 2010 21:18:17 -0700
Thread-Topic: [OAUTH-WG] Re-scoping OAuth access tokens
Thread-Index: AcrSErHvBM+iwfYNl0Kd54BZKQ2B0gACNMFL
Message-ID: <C7DABE19.31B6C%eran@hueniverse.com>
In-Reply-To: <C7DAAF4B.2985E%atom@yahoo-inc.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Re-scoping OAuth access tokens
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 04:18:06 -0000

Only the access token (or refresh token) represents the access grant (which
includes scope). To extend the scope of an already granted authorization,
the client must use the access token or refresh token to do so.

EHL


On 4/1/10 8:15 PM, "Allen Tom" <atom@yahoo-inc.com> wrote:

> Hi George -
>=20
> I=B9m trying to figure out the re-scoping flow as well, to allow clients =
to
> progressively upgrade their scopes over time.
>=20
> A potential pitfall is the scenario where multiple clients, share the sam=
e
> client_id and secret. For instance, a developer might have both a website=
 and
> also an iphone app, and reuses the same client_id for both.
>=20
> Should the Service Provider keep the scopes in sync for both apps? If the
> refresh_token is not passed to the re-auth flow, the Service Provider wil=
l
> have a hard time determining which instance of the app is requesting the
> upgraded scope.
>=20
> Perhaps this doesn't matter, because it can be argued that although there
> might be multiple instances of the same client_id, it=B9s all the same ap=
p
> anyway. So maybe it=B9s OK to upgrade the scopes for all instances of a g=
iven
> client_id.
>=20
> Allen
>=20
> On 3/26/10 10:57 AM, "George Fletcher" <gffletch@aol.com> wrote:
>=20
>>=20
>>=20
>> It it sufficient for the client to just start a new web server flow and
>> specify a new scope parameter that includes both "read buddylist" and "s=
end
>> IM"? The AS would then show Alice that she'd already approved "read
>> buddylist" and just needed to approve "send IM"? This requires the clien=
t to
>> keep track of all scopes requested for a given user:protected_resource.
>>=20
>> Another option might be to just allow the client to pass in the refresh_=
token
>> (as that likely has the scoped embedded/associated with it). In this cas=
e the
>> client could just ask for the new scope it wanted.
>>=20
>> Thoughts?  Anyone else have a need for dynamic re-scoping?
>>=20
>> Thanks,
>> George
>>=20
>> P.S. This flow is deployedas part of the AOL IM APIs. However, when
>> dynamically adding an authorization, we only show the user what their be=
ing
>> asked to consent to, not what they've done in the past.
>>=20
>>=20
>>=20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>=20


From atom@yahoo-inc.com  Thu Apr  1 21:18:26 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C7B213A69F0 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:18:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -12.896
X-Spam-Level: 
X-Spam-Status: No, score=-12.896 tagged_above=-999 required=5 tests=[AWL=-0.758, BAYES_50=0.001, DNS_FROM_OPENWHOIS=1.13, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, MIME_QP_LONG_LINE=1.396, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aVmnUXHMDULi for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:18:19 -0700 (PDT)
Received: from mrout2-b.corp.re1.yahoo.com (mrout2-b.corp.re1.yahoo.com [69.147.107.21]) by core3.amsl.com (Postfix) with ESMTP id 0C7CB3A6A7B for <oauth@ietf.org>; Thu,  1 Apr 2010 21:18:13 -0700 (PDT)
Received: from SNV-EXBH01.ds.corp.yahoo.com (snv-exbh01.ds.corp.yahoo.com [207.126.227.249]) by mrout2-b.corp.re1.yahoo.com (8.13.8/8.13.8/y.out) with ESMTP id o324IJDH040245; Thu, 1 Apr 2010 21:18:21 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:cc:message-id: thread-topic:thread-index:in-reply-to:mime-version:content-type:x-originalarrivaltime; b=rWr7J2LcgmknrM3vkyQ4fWbLT5UOl5ZJYFHRuqUCsAfY3HL5ssbJ/N+SA1r3c22c
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXBH01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.3959);  Thu, 1 Apr 2010 21:18:19 -0700
Received: from 172.21.148.134 ([172.21.148.134]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.60]) with Microsoft Exchange Server HTTP-DAV ;  Fri,  2 Apr 2010 04:18:14 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Thu, 01 Apr 2010 21:18:11 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: Brent Goldman <brent@facebook.com>, Eric Sachs <esachs@google.com>
Message-ID: <C7DABE13.29882%atom@yahoo-inc.com>
Thread-Topic: [OAUTH-WG] Device Flow - Session Fixation?
Thread-Index: AcrSGfW5TykVMTtMTuy6bQ4aCECZEAAAYunt
In-Reply-To: <710CC9A4-422B-424A-8FC2-AB190F41E87F@facebook.com>
Mime-version: 1.0
Content-type: multipart/alternative; boundary="B_3353001492_7209047"
X-OriginalArrivalTime: 02 Apr 2010 04:18:19.0809 (UTC) FILETIME=[86A06910:01CAD21B]
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Device Flow - Session Fixation?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 04:18:26 -0000

> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3353001492_7209047
Content-type: text/plain;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

Perhaps the best (usable) solution would be:

1. The approval screen must clearly indicate to the user that they should
only be seeing that screen if they are trying to provision a device. The
user should not have clicked on a link to get to the screen
2. The Auth server should also check for the presence of an HTTP Referrer.
There should not be a referrer, since the user should not have clicked on
anything to have landed on the screen
3. The Auth server must not enable =B3auto approval=B2 for the device flow.
Meaning that the user must click through the approval screen, even if the
user had previously authorized the same client_id previously

Allen




On 4/1/10 9:06 PM, "Brent Goldman" <brent@facebook.com> wrote:

> Isn't there a similar attack for the reverse protocol? The attacker would
> socially engineer the user to give them the post-auth verification code
> displayed on the computer. This gives the attacker access to everything.
>=20
> We could make this more strict by having both a device code and verificat=
ion
> code. That is, have the user enter the device code into the computer, whi=
ch
> would produce a verification code that needs to be entered back into the
> device. But this is susceptible to the same attack: after visiting the li=
nk
> sent by the attacker, and clicking "approve on a strange auth screen", th=
e
> user would have to send the verification code back to the attacker. This =
is
> slightly better in that for an attack to be successful, the user has to
> communicate with the attacker twice instead of once.
>=20
> I can't really think of a good way to eliminate the attack entirely, thou=
gh.
>=20
> -Brent
>=20
>=20
> On Apr 1, 2010, at 8:05 PM, Eric Sachs wrote:
>=20
>> Here is the note I sent a few weeks ago where we also noted the potentia=
l
>> session fixation attack.  However as we noted, we are still willing to s=
tart
>> with this profile and later work on where the user has to enter a code i=
nto
>> the device.
>>=20
>>=20
>> ---------- Forwarded message ----------
>> From: Eric Sachs <esachs@google.com>
>> Date: Wed, Mar 17, 2010 at 5:45 PM
>> Subject: Re: [OAUTH-WG] Device Profile
>> To: Brent Goldman <brent@facebook.com>
>> Cc: "OAuth WG (oauth@ietf.org)" <oauth@ietf.org>
>>=20
>>=20
>> Google has a similar requirement to move these types of devices to OAuth=
/WRAP
>> and away from our older "ClientLogin" protocol where the user is prompte=
d for
>> their username/password.  The proposed profile looks fine, but we are a =
few
>> weeks from being able to do specific work on it, so we may have more fee=
dback
>> at that time.
>>=20
>> If the device can accept some user input, then there are some security
>> advantages to requiring the user to get the code from their computer and=
 then
>> enter it into the device.  In particular, it makes it easier to protect
>> against a DOS attack targeted at the service-provider to request a large=
 # of
>> codes.  That method also reduces the risk of a phishing/session-fixation=
 type
>> attack.  However we agree that some profile is needed for devices with n=
o
>> user input.  We also expect it will be easier to get these device vendor=
s to
>> use a common industry technique, so we are fine with prioritizing our su=
pport
>> for this profile.  Longer term the community could define a profile wher=
e the
>> code is displayed on the computer.
>>=20
>> On Thu, Mar 11, 2010 at 3:27 AM, Brent Goldman <brent@facebook.com> wrot=
e:
>>> Over the past couple days, Luke Shepard, David Recordon, and I have bee=
n
>>> brainstorming an OAuth profile for standardizing the flow that devices =
such
>>> as game consoles and entertainment centers use to hook up with services=
 such
>>> as Netflix and iTunes. The basic flow is that a device can gain
>>> authorization by directing the user to visit a URL on their computer an=
d to
>>> enter a verification code copied from the device's screen.
>>>=20
>>> A draft spec is attached to this email. Any thoughts or feedback?
>>>=20
>>> Note: this is one of the many profiles going into the OAuth 2.0 draft t=
hat
>>> David is writing (http://daveman692.livejournal.com/349384.html).
>>>=20
>>> -Brent
>>>=20
>>>=20
>>>=20
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>=20
>>=20
>> <ATT00001..txt>
>=20
>=20


--B_3353001492_7209047
Content-type: text/html;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Device Flow - Session Fixation?</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:11pt=
'>Perhaps the best (usable) solution would be:<BR>
<BR>
</SPAN></FONT><OL><LI><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN=
 STYLE=3D'font-size:11pt'>The approval screen must clearly indicate to the use=
r that they should only be seeing that screen if they are trying to provisio=
n a device. The user should not have clicked on a link to get to the screen
</SPAN></FONT><LI><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STY=
LE=3D'font-size:11pt'>The Auth server should also check for the presence of an=
 HTTP Referrer. There should not be a referrer, since the user should not ha=
ve clicked on anything to have landed on the screen
</SPAN></FONT><LI><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STY=
LE=3D'font-size:11pt'>The Auth server must not enable &#8220;auto approval&#82=
21; for the device flow. Meaning that the user must click through the approv=
al screen, even if the user had previously authorized the same client_id pre=
viously<BR>
</SPAN></FONT></OL><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN ST=
YLE=3D'font-size:11pt'><BR>
Allen<BR>
<BR>
<BR>
<BR>
<BR>
On 4/1/10 9:06 PM, &quot;Brent Goldman&quot; &lt;<a href=3D"brent@facebook.co=
m">brent@facebook.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><=
SPAN STYLE=3D'font-size:11pt'>Isn't there a similar attack for the reverse pro=
tocol? The attacker would socially engineer the user to give them the post-a=
uth verification code displayed on the computer. This gives the attacker acc=
ess to everything.<BR>
<BR>
We could make this more strict by having both a device code and verificatio=
n code. That is, have the user enter the device code into the computer, whic=
h would produce a verification code that needs to be entered back into the d=
evice. But this is susceptible to the same attack: after visiting the link s=
ent by the attacker, and clicking &quot;approve on a strange auth screen&quo=
t;, the user would have to send the verification code back to the attacker. =
This is slightly better in that for an attack to be successful, the user has=
 to communicate with the attacker twice instead of once.<BR>
<BR>
I can't really think of a good way to eliminate the attack entirely, though=
.<BR>
<BR>
-Brent<BR>
<BR>
<BR>
On Apr 1, 2010, at 8:05 PM, Eric Sachs wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><=
SPAN STYLE=3D'font-size:11pt'>Here is the note I sent a few weeks ago where we=
 also noted the potential session fixation attack. &nbsp;However as we noted=
, we are still willing to start with this profile and later work on where th=
e user has to enter a code into the device.<BR>
<BR>
<BR>
---------- Forwarded message ----------<BR>
From: <B>Eric Sachs</B> &lt;<a href=3D"esachs@google.com">esachs@google.com</=
a>&gt;<BR>
Date: Wed, Mar 17, 2010 at 5:45 PM<BR>
Subject: Re: [OAUTH-WG] Device Profile<BR>
To: Brent Goldman &lt;<a href=3D"brent@facebook.com">brent@facebook.com</a>&g=
t;<BR>
Cc: &quot;OAuth WG (<a href=3D"oauth@ietf.org)">oauth@ietf.org)</a>&quot; &lt=
;<a href=3D"oauth@ietf.org">oauth@ietf.org</a>&gt;<BR>
<BR>
<BR>
Google has a similar requirement to move these types of devices to OAuth/WR=
AP and away from our older &quot;ClientLogin&quot; protocol where the user i=
s prompted for their username/password. &nbsp;The proposed profile looks fin=
e, but we are a few weeks from being able to do specific work on it, so we m=
ay have more feedback at that time.<BR>
<BR>
If the device can accept some user input, then there are some security adva=
ntages to requiring the user to get the code from their computer and then en=
ter it into the device. &nbsp;In particular, it makes it easier to protect a=
gainst a DOS attack targeted at the service-provider to request a large # of=
 codes. &nbsp;That method also reduces the risk of a phishing/session-fixati=
on type attack. &nbsp;However we agree that some profile is needed for devic=
es with no user input. &nbsp;We also expect it will be easier to get these d=
evice vendors to use a common industry technique, so we are fine with priori=
tizing our support for this profile. &nbsp;Longer term the community could d=
efine a profile where the code is displayed on the computer.<BR>
<BR>
On Thu, Mar 11, 2010 at 3:27 AM, Brent Goldman &lt;<a href=3D"brent@facebook.=
com">brent@facebook.com</a>&gt; wrote:<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><=
SPAN STYLE=3D'font-size:11pt'>Over the past couple days, Luke Shepard, David R=
ecordon, and I have been brainstorming an OAuth profile for standardizing th=
e flow that devices such as game consoles and entertainment centers use to h=
ook up with services such as Netflix and iTunes. The basic flow is that a de=
vice can gain authorization by directing the user to visit a URL on their co=
mputer and to enter a verification code copied from the device's screen.<BR>
<BR>
A draft spec is attached to this email. Any thoughts or feedback?<BR>
<BR>
Note: this is one of the many profiles going into the OAuth 2.0 draft that =
David is writing (<a href=3D"http://daveman692.livejournal.com/349384.html">ht=
tp://daveman692.livejournal.com/349384.html</a>).<BR>
<FONT COLOR=3D"#888888"><BR>
-Brent<BR>
<BR>
<BR>
</FONT><BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/=
mailman/listinfo/oauth</a><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial">=
<SPAN STYLE=3D'font-size:11pt'><BR>
&lt;ATT00001..txt&gt;<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial">=
<SPAN STYLE=3D'font-size:11pt'><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--B_3353001492_7209047--


From eran@hueniverse.com  Thu Apr  1 21:19:49 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E85223A6938 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:19:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.286
X-Spam-Level: 
X-Spam-Status: No, score=0.286 tagged_above=-999 required=5 tests=[AWL=-0.845,  BAYES_50=0.001, DNS_FROM_OPENWHOIS=1.13]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id U4qYp7CDeWBK for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:19:41 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 61B243A6916 for <oauth@ietf.org>; Thu,  1 Apr 2010 21:19:34 -0700 (PDT)
Received: (qmail 19105 invoked from network); 2 Apr 2010 04:20:07 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 2 Apr 2010 04:20:07 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Thu, 1 Apr 2010 21:20:07 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Brent Goldman <brent@facebook.com>, Allen Tom <atom@yahoo-inc.com>
Date: Thu, 1 Apr 2010 21:20:03 -0700
Thread-Topic: [OAUTH-WG] User Interface specs?
Thread-Index: AcrSFDB31fHtGMoYQWKPrse8oENLoQAB5Oo0
Message-ID: <C7DABE83.31B6F%eran@hueniverse.com>
In-Reply-To: <F2D61FDB-9B5A-4C1A-8276-E36AF055F859@facebook.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] User Interface specs?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 04:19:49 -0000

Can you write this as an actual proposal for the text?

EHL


On 4/1/10 8:25 PM, "Brent Goldman" <brent@facebook.com> wrote:

> +1 on both
>=20
> Regarding clickjacking: If we don't want the flows to be inlined in an if=
rame,
> specifying that the clients must show the server in a popup doesn't prote=
ct
> against malicious clients that choose to show it in an iframe anyway. So =
I
> think it also make sense to add to the core spec that servers should prot=
ect
> against this. The JavaScript is simple enough that perhaps the spec could=
 give
> an example snippet that any OAuth server to use. E.g., if (top !=3D self =
&&
> !isTopWindowSafe(top)) {
> showBigassTransparentDivWithHighZIndex_or_redirectToErrorPage(); }.
>=20
> -Brent
>=20
>=20
> On Apr 1, 2010, at 5:48 PM, Allen Tom wrote:
>=20
>> Websites using OpenID/OAuth/Facebook Connect/Twitter Connect often open =
a
>> popup window to the user=B9s Identity Provider for user to complete the
>> AuthZ/AuthN flow rather than taking the user away from the referring sit=
e via
>> a full page redirect.
>>=20
>> In the case where a popup window is used, it=B9s a very good idea to req=
uire
>> that that the browser=B9s address bar is displayed, and that an independ=
ent
>> browser window is used, rather than an inline iframe. These requirements=
 are
>> needed to help prevent the user from being phished in the case where the=
 user
>> has to enter their password, and to ensure that the user=B9s consent was=
 not
>> forged via a clickjacking attack.
>>=20
>> I believe that the Web Server Flow and the Web Client Flow will often ta=
ke
>> place within a popup window, so it would make sense to put into the core=
 spec
>> that popups should be independent browser windows with the address bar
>> clearly displayed.
>>=20
>> Another missing feature in the core spec is support for multiple languag=
es.
>> Given that many Service Providers have a global userbase, client applica=
tions
>> will want to have a way to specify the language to be used on the auth
>> screen. While the User Agent=B9s Accept-Language: HTTP header, as well a=
s the
>> user=B9s IP address could be used as language hints, in practice clients=
 will
>> want the ability to specify the language.
>>=20
>> Is there consensus to get Popup Window requirements and language support=
 into
>> the OAuth2 core spec?
>>=20
>> Allen
>> <ATT00001..txt>
>=20
>=20


From atom@yahoo-inc.com  Thu Apr  1 21:23:51 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B88533A6A5C for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:23:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.279
X-Spam-Level: 
X-Spam-Status: No, score=-14.279 tagged_above=-999 required=5 tests=[AWL=0.793, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=1.396, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gyFAqH0KpYJt for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:23:50 -0700 (PDT)
Received: from mrout1.yahoo.com (mrout1.yahoo.com [216.145.54.171]) by core3.amsl.com (Postfix) with ESMTP id F13EF3A6938 for <oauth@ietf.org>; Thu,  1 Apr 2010 21:23:41 -0700 (PDT)
Received: from SNV-EXPF01.ds.corp.yahoo.com (snv-expf01.ds.corp.yahoo.com [207.126.227.250]) by mrout1.yahoo.com (8.13.6/8.13.6/y.out) with ESMTP id o324MLZY046439;  Thu, 1 Apr 2010 21:22:21 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:message-id: thread-topic:thread-index:in-reply-to:mime-version:content-type:x-originalarrivaltime; b=pmzaSuCJf16tocgV6E07j/4dYbyjdamqyeDoYg0PY3Tki92Yewa7nBh5BCOXoQzO
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXPF01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.3959);  Thu, 1 Apr 2010 21:22:21 -0700
Received: from 172.21.148.134 ([172.21.148.134]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.60]) with Microsoft Exchange Server HTTP-DAV ;  Fri,  2 Apr 2010 04:21:55 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Thu, 01 Apr 2010 21:21:52 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: Luke Shepard <lshepard@facebook.com>, Peter Saint-Andre <stpeter@stpeter.im>, "oauth@ietf.org" <oauth@ietf.org>
Message-ID: <C7DABEF0.29886%atom@yahoo-inc.com>
Thread-Topic: [OAUTH-WG] Draft progress update
Thread-Index: AcrSGgP0ozMUemMATp+UmrvbqdwnwgAAgEm1
In-Reply-To: <AFE1F948-AAE1-49C4-89E3-C03348317087@facebook.com>
Mime-version: 1.0
Content-type: multipart/alternative; boundary="B_3353001714_7234313"
X-OriginalArrivalTime: 02 Apr 2010 04:22:21.0217 (UTC) FILETIME=[16845910:01CAD21C]
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 04:23:52 -0000

> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3353001714_7234313
Content-type: text/plain;
	charset="US-ASCII"
Content-transfer-encoding: 7bit

+1

How about if the Protected Resource returns an HTTP 302 redirect to the Auth
URL? The scope information can be encoded in the URL.

Allen



On 4/1/10 9:07 PM, "Luke Shepard" <lshepard@facebook.com> wrote:

> 
> On Apr 1, 2010, at 6:59 PM, Peter Saint-Andre wrote:
>> 
>> If that's true, then how does the Authorization Server know what scope
>> is appropriate at the Protected Resource? Does inclusion of the scope
>> parameter require a 1:1 mapping between AS and PR, or at least
>> communication between AS and PR?
> 
> My preferred way of handling this is to have the Protected Resource throw a
> 403 Forbidden error, with an error message that specifies the scope needed -
> e.g., "oauth_scope_required=photo_read".
> 
> So an app that tries to access a protected resource should be able to
> programatically take the scope in the error message and then construct an
> OAuth authorization request to get that permission from the user. Even if the
> scope is totally opaque, it should still be possible for a library to handle
> them in this way.
> 
> I believe David or Eran were thinking of writing this into the spec?
> 
> 
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


--B_3353001714_7234313
Content-type: text/html;
	charset="US-ASCII"
Content-transfer-encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Draft progress update</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:11pt=
'>+1<BR>
<BR>
How about if the Protected Resource returns an HTTP 302 redirect to the Aut=
h URL? The scope information can be encoded in the URL.<BR>
<BR>
Allen<BR>
<BR>
<BR>
<BR>
On 4/1/10 9:07 PM, &quot;Luke Shepard&quot; &lt;<a href=3D"lshepard@facebook.=
com">lshepard@facebook.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><=
SPAN STYLE=3D'font-size:11pt'><BR>
On Apr 1, 2010, at 6:59 PM, Peter Saint-Andre wrote:<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><=
SPAN STYLE=3D'font-size:11pt'><BR>
If that's true, then how does the Authorization Server know what scope<BR>
is appropriate at the Protected Resource? Does inclusion of the scope<BR>
parameter require a 1:1 mapping between AS and PR, or at least<BR>
communication between AS and PR?<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial">=
<SPAN STYLE=3D'font-size:11pt'><BR>
My preferred way of handling this is to have the Protected Resource throw a=
 403 Forbidden error, with an error message that specifies the scope needed =
- e.g., &quot;oauth_scope_required=3Dphoto_read&quot;.<BR>
<BR>
So an app that tries to access a protected resource should be able to progr=
amatically take the scope in the error message and then construct an OAuth a=
uthorization request to get that permission from the user. Even if the scope=
 is totally opaque, it should still be possible for a library to handle them=
 in this way.<BR>
<BR>
I believe David or Eran were thinking of writing this into the spec?<BR>
<BR>
<HR ALIGN=3DCENTER SIZE=3D"3" WIDTH=3D"95%"></SPAN></FONT><FONT SIZE=3D"2"><FONT FA=
CE=3D"Consolas, Courier New, Courier"><SPAN STYLE=3D'font-size:10pt'>___________=
____________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/=
mailman/listinfo/oauth</a><BR>
</SPAN></FONT></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--B_3353001714_7234313--


From eran@hueniverse.com  Thu Apr  1 21:24:37 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 06C693A695A for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:24:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.984
X-Spam-Level: 
X-Spam-Status: No, score=-0.984 tagged_above=-999 required=5 tests=[AWL=0.485,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tZ9jYiaKKcd7 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:24:35 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 7FD8D3A693F for <oauth@ietf.org>; Thu,  1 Apr 2010 21:24:35 -0700 (PDT)
Received: (qmail 20207 invoked from network); 2 Apr 2010 04:25:08 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 2 Apr 2010 04:25:08 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Thu, 1 Apr 2010 21:25:08 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Luke Shepard <lshepard@facebook.com>, Peter Saint-Andre <stpeter@stpeter.im>
Date: Thu, 1 Apr 2010 21:25:05 -0700
Thread-Topic: [OAUTH-WG] Scope (was:  Draft progress update)
Thread-Index: AcrSGgP0ozMUemMATp+UmrvbqdwnwgAAnQvG
Message-ID: <C7DABFB1.31B71%eran@hueniverse.com>
In-Reply-To: <AFE1F948-AAE1-49C4-89E3-C03348317087@facebook.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: [OAUTH-WG]  Scope (was:  Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 04:24:37 -0000

On 4/1/10 9:07 PM, "Luke Shepard" <lshepard@facebook.com> wrote:

>=20
> On Apr 1, 2010, at 6:59 PM, Peter Saint-Andre wrote:
>>=20
>> If that's true, then how does the Authorization Server know what scope
>> is appropriate at the Protected Resource? Does inclusion of the scope
>> parameter require a 1:1 mapping between AS and PR, or at least
>> communication between AS and PR?
>=20
> My preferred way of handling this is to have the Protected Resource throw=
 a
> 403 Forbidden error, with an error message that specifies the scope neede=
d -
> e.g., "oauth_scope_required=3Dphoto_read".
>=20
> So an app that tries to access a protected resource should be able to
> programatically take the scope in the error message and then construct an
> OAuth authorization request to get that permission from the user. Even if=
 the
> scope is totally opaque, it should still be possible for a library to han=
dle
> them in this way.
>=20
> I believe David or Eran were thinking of writing this into the spec?
>=20

How is this any better/different than plain old 401 with realm=3D'something=
'.
Why not have the client request a token capable of accessing the realm
specified?

Before we go and invent a new mechanism that has exactly the same limited
capabilities, we should see if the existing one can be reused or improved
upon.

EHL


From mscurtescu@google.com  Thu Apr  1 21:45:42 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A04E93A69E4 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:45:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.455
X-Spam-Level: 
X-Spam-Status: No, score=-104.455 tagged_above=-999 required=5 tests=[AWL=0.392, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lpLv+yp-pX22 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:45:41 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id C45983A6832 for <oauth@ietf.org>; Thu,  1 Apr 2010 21:45:41 -0700 (PDT)
Received: from hpaq5.eem.corp.google.com (hpaq5.eem.corp.google.com [10.3.21.5]) by smtp-out.google.com with ESMTP id o324k7aj001459 for <oauth@ietf.org>; Thu, 1 Apr 2010 21:46:08 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270183568; bh=gq9CBXTeXk/U3fMn9pWQfNdWK4E=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=CtImb0MRugzehduUpe8Q4xYrDu4OG0PHYT4aRfee5MajMMKlrBt1Y3yb7rVl/UyKL kyVpD12BolpIXXtsN9IRQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=dJz4Uh0v89sl11aqwUw5PkeY1s2beNdOTmv+z1Uphs6Iq28KqNbIagCjoGLBugo0w vW1Fy1Xgj/YJ4EssIz0yQ==
Received: from pzk10 (pzk10.prod.google.com [10.243.19.138]) by hpaq5.eem.corp.google.com with ESMTP id o324jwsb002161 for <oauth@ietf.org>; Fri, 2 Apr 2010 06:46:06 +0200
Received: by pzk10 with SMTP id 10so92093pzk.21 for <oauth@ietf.org>; Thu, 01 Apr 2010 21:45:58 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.248.18 with HTTP; Thu, 1 Apr 2010 21:45:38 -0700 (PDT)
In-Reply-To: <C7DABA53.31B60%eran@hueniverse.com>
References: <y2rdaf5b9571004011716t5c475c74p5d813a464f78592@mail.gmail.com>  <C7DABA53.31B60%eran@hueniverse.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 1 Apr 2010 21:45:38 -0700
Received: by 10.141.88.1 with SMTP id q1mr75132rvl.198.1270183558165; Thu, 01  Apr 2010 21:45:58 -0700 (PDT)
Message-ID: <l2i74caaad21004012145r7f789f8av76df4f14a2420139@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 04:45:42 -0000

On Thu, Apr 1, 2010 at 9:02 PM, Eran Hammer-Lahav <eran@hueniverse.com> wro=
te:
> But providing a half baked flow that is short enough to just replicate wh=
ere
> needed and cannot be fully implemented by generic libraries doesn=92t rea=
lly
> offer much.

I think this is similar to the scope parameter argument, that
libraries cannot really
use an opaque scope. OAuth libraries will neither generate nor consume the
assertions, the assertion itself can be opaque. The client application need=
s to
obtain an assertion somehow, this is out of scope, then pass it to a librar=
y and
the library can use it as is, pass it to the Authorization Server and
deal with the
response. Works perfectly fine IMO.

Marius

From brent@facebook.com  Thu Apr  1 21:46:49 2010
Return-Path: <brent@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 45B353A6830 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:46:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.466
X-Spam-Level: 
X-Spam-Status: No, score=0.466 tagged_above=-999 required=5 tests=[AWL=-0.000,  BAYES_50=0.001, DNS_FROM_OPENWHOIS=1.13, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uAj7hw5YnttL for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:46:48 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 140533A679F for <oauth@ietf.org>; Thu,  1 Apr 2010 21:46:48 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.198]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o324kbo3030735 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Thu, 1 Apr 2010 21:46:39 -0700
Received: from sc-hub02.TheFacebook.com (192.168.18.105) by sc-hub03.TheFacebook.com (192.168.18.198) with Microsoft SMTP Server (TLS) id 14.0.682.1; Thu, 1 Apr 2010 21:46:53 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub02.TheFacebook.com ([192.168.18.105]) with mapi; Thu, 1 Apr 2010 21:46:53 -0700
From: Brent Goldman <brent@facebook.com>
To: Allen Tom <atom@yahoo-inc.com>
Date: Thu, 1 Apr 2010 21:46:13 -0700
Thread-Topic: [OAUTH-WG] Device Flow - Session Fixation?
Thread-Index: AcrSH4QXQPxhZoZ9Sc69WZSGRgyfQA==
Message-ID: <44EA5F42-47BD-44C0-8C06-E382C98AF517@facebook.com>
References: <C7DABE13.29882%atom@yahoo-inc.com>
In-Reply-To: <C7DABE13.29882%atom@yahoo-inc.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_44EA5F4247BD44C08C06E382C98AF517facebookcom_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-02_05:2010-02-06, 2010-04-02, 2010-04-01 signatures=0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Device Flow - Session Fixation?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 04:46:49 -0000

--_000_44EA5F4247BD44C08C06E382C98AF517facebookcom_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

Those 3 sound great. Add in clickjacking protection and I think we're set.

-Brent


On Apr 1, 2010, at 9:18 PM, Allen Tom wrote:

Perhaps the best (usable) solution would be:


 1.  The approval screen must clearly indicate to the user that they should=
 only be seeing that screen if they are trying to provision a device. The u=
ser should not have clicked on a link to get to the screen
 2.  The Auth server should also check for the presence of an HTTP Referrer=
. There should not be a referrer, since the user should not have clicked on=
 anything to have landed on the screen
 3.  The Auth server must not enable =93auto approval=94 for the device flo=
w. Meaning that the user must click through the approval screen, even if th=
e user had previously authorized the same client_id previously

Allen




On 4/1/10 9:06 PM, "Brent Goldman" <brent@facebook.com<x-msg://37/brent@fac=
ebook.com>> wrote:

Isn't there a similar attack for the reverse protocol? The attacker would s=
ocially engineer the user to give them the post-auth verification code disp=
layed on the computer. This gives the attacker access to everything.

We could make this more strict by having both a device code and verificatio=
n code. That is, have the user enter the device code into the computer, whi=
ch would produce a verification code that needs to be entered back into the=
 device. But this is susceptible to the same attack: after visiting the lin=
k sent by the attacker, and clicking "approve on a strange auth screen", th=
e user would have to send the verification code back to the attacker. This =
is slightly better in that for an attack to be successful, the user has to =
communicate with the attacker twice instead of once.

I can't really think of a good way to eliminate the attack entirely, though=
.

-Brent


On Apr 1, 2010, at 8:05 PM, Eric Sachs wrote:

Here is the note I sent a few weeks ago where we also noted the potential s=
ession fixation attack.  However as we noted, we are still willing to start=
 with this profile and later work on where the user has to enter a code int=
o the device.


---------- Forwarded message ----------
From: Eric Sachs <esachs@google.com<x-msg://37/esachs@google.com>>
Date: Wed, Mar 17, 2010 at 5:45 PM
Subject: Re: [OAUTH-WG] Device Profile
To: Brent Goldman <brent@facebook.com<x-msg://37/brent@facebook.com>>
Cc: "OAuth WG (oauth@ietf.org)<x-msg://37/oauth@ietf.org)>" <oauth@ietf.org=
<x-msg://37/oauth@ietf.org>>


Google has a similar requirement to move these types of devices to OAuth/WR=
AP and away from our older "ClientLogin" protocol where the user is prompte=
d for their username/password.  The proposed profile looks fine, but we are=
 a few weeks from being able to do specific work on it, so we may have more=
 feedback at that time.

If the device can accept some user input, then there are some security adva=
ntages to requiring the user to get the code from their computer and then e=
nter it into the device.  In particular, it makes it easier to protect agai=
nst a DOS attack targeted at the service-provider to request a large # of c=
odes.  That method also reduces the risk of a phishing/session-fixation typ=
e attack.  However we agree that some profile is needed for devices with no=
 user input.  We also expect it will be easier to get these device vendors =
to use a common industry technique, so we are fine with prioritizing our su=
pport for this profile.  Longer term the community could define a profile w=
here the code is displayed on the computer.

On Thu, Mar 11, 2010 at 3:27 AM, Brent Goldman <brent@facebook.com<x-msg://=
37/brent@facebook.com>> wrote:
Over the past couple days, Luke Shepard, David Recordon, and I have been br=
ainstorming an OAuth profile for standardizing the flow that devices such a=
s game consoles and entertainment centers use to hook up with services such=
 as Netflix and iTunes. The basic flow is that a device can gain authorizat=
ion by directing the user to visit a URL on their computer and to enter a v=
erification code copied from the device's screen.

A draft spec is attached to this email. Any thoughts or feedback?

Note: this is one of the many profiles going into the OAuth 2.0 draft that =
David is writing (http://daveman692.livejournal.com/349384.html).

-Brent



_______________________________________________
OAuth mailing list
OAuth@ietf.org<x-msg://37/OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth


<ATT00001..txt>




--_000_44EA5F4247BD44C08C06E382C98AF517facebookcom_
Content-Type: text/html; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

<html><head></head><body style=3D"word-wrap: break-word; -webkit-nbsp-mode:=
 space; -webkit-line-break: after-white-space; ">Those 3 sound great. Add i=
n clickjacking protection and I think we're set.<div><br></div><div>-Brent<=
/div><div><br></div><div><div><br><div><div>On Apr 1, 2010, at 9:18 PM, All=
en Tom wrote:</div><br class=3D"Apple-interchange-newline"><blockquote type=
=3D"cite"><div>
<font face=3D"Calibri, Verdana, Helvetica, Arial"><span style=3D"font-size:=
11pt">Perhaps the best (usable) solution would be:<br>
<br>
</span></font><ol><li><font face=3D"Calibri, Verdana, Helvetica, Arial"><sp=
an style=3D"font-size:11pt">The approval screen must clearly indicate to th=
e user that they should only be seeing that screen if they are trying to pr=
ovision a device. The user should not have clicked on a link to get to the =
screen
</span></font></li><li><font face=3D"Calibri, Verdana, Helvetica, Arial"><s=
pan style=3D"font-size:11pt">The Auth server should also check for the pres=
ence of an HTTP Referrer. There should not be a referrer, since the user sh=
ould not have clicked on anything to have landed on the screen
</span></font></li><li><font face=3D"Calibri, Verdana, Helvetica, Arial"><s=
pan style=3D"font-size:11pt">The Auth server must not enable =93auto approv=
al=94 for the device flow. Meaning that the user must click through the app=
roval screen, even if the user had previously authorized the same client_id=
 previously<br>
</span></font></li></ol><font face=3D"Calibri, Verdana, Helvetica, Arial"><=
span style=3D"font-size:11pt"><br>
Allen<br>
<br>
<br>
<br>
<br>
On 4/1/10 9:06 PM, "Brent Goldman" &lt;<a href=3D"x-msg://37/brent@facebook=
.com">brent@facebook.com</a>&gt; wrote:<br>
<br>
</span></font><blockquote type=3D"cite"><font face=3D"Calibri, Verdana, Hel=
vetica, Arial"><span style=3D"font-size:11pt">Isn't there a similar attack =
for the reverse protocol? The attacker would socially engineer the user to =
give them the post-auth verification code displayed on the computer. This g=
ives the attacker access to everything.<br>
<br>
We could make this more strict by having both a device code and verificatio=
n code. That is, have the user enter the device code into the computer, whi=
ch would produce a verification code that needs to be entered back into the=
 device. But this is susceptible to the same attack: after visiting the lin=
k sent by the attacker, and clicking "approve on a strange auth screen", th=
e user would have to send the verification code back to the attacker. This =
is slightly better in that for an attack to be successful, the user has to =
communicate with the attacker twice instead of once.<br>
<br>
I can't really think of a good way to eliminate the attack entirely, though=
.<br>
<br>
-Brent<br>
<br>
<br>
On Apr 1, 2010, at 8:05 PM, Eric Sachs wrote:<br>
<br>
</span></font><blockquote type=3D"cite"><font face=3D"Calibri, Verdana, Hel=
vetica, Arial"><span style=3D"font-size:11pt">Here is the note I sent a few=
 weeks ago where we also noted the potential session fixation attack. &nbsp=
;However as we noted, we are still willing to start with this profile and l=
ater work on where the user has to enter a code into the device.<br>
<br>
<br>
---------- Forwarded message ----------<br>
From: <b>Eric Sachs</b> &lt;<a href=3D"x-msg://37/esachs@google.com">esachs=
@google.com</a>&gt;<br>
Date: Wed, Mar 17, 2010 at 5:45 PM<br>
Subject: Re: [OAUTH-WG] Device Profile<br>
To: Brent Goldman &lt;<a href=3D"x-msg://37/brent@facebook.com">brent@faceb=
ook.com</a>&gt;<br>
Cc: "OAuth WG (<a href=3D"x-msg://37/oauth@ietf.org)">oauth@ietf.org)</a>" =
&lt;<a href=3D"x-msg://37/oauth@ietf.org">oauth@ietf.org</a>&gt;<br>
<br>
<br>
Google has a similar requirement to move these types of devices to OAuth/WR=
AP and away from our older "ClientLogin" protocol where the user is prompte=
d for their username/password. &nbsp;The proposed profile looks fine, but w=
e are a few weeks from being able to do specific work on it, so we may have=
 more feedback at that time.<br>
<br>
If the device can accept some user input, then there are some security adva=
ntages to requiring the user to get the code from their computer and then e=
nter it into the device. &nbsp;In particular, it makes it easier to protect=
 against a DOS attack targeted at the service-provider to request a large #=
 of codes. &nbsp;That method also reduces the risk of a phishing/session-fi=
xation type attack. &nbsp;However we agree that some profile is needed for =
devices with no user input. &nbsp;We also expect it will be easier to get t=
hese device vendors to use a common industry technique, so we are fine with=
 prioritizing our support for this profile. &nbsp;Longer term the community=
 could define a profile where the code is displayed on the computer.<br>
<br>
On Thu, Mar 11, 2010 at 3:27 AM, Brent Goldman &lt;<a href=3D"x-msg://37/br=
ent@facebook.com">brent@facebook.com</a>&gt; wrote:<br>
</span></font><blockquote type=3D"cite"><font face=3D"Calibri, Verdana, Hel=
vetica, Arial"><span style=3D"font-size:11pt">Over the past couple days, Lu=
ke Shepard, David Recordon, and I have been brainstorming an OAuth profile =
for standardizing the flow that devices such as game consoles and entertain=
ment centers use to hook up with services such as Netflix and iTunes. The b=
asic flow is that a device can gain authorization by directing the user to =
visit a URL on their computer and to enter a verification code copied from =
the device's screen.<br>
<br>
A draft spec is attached to this email. Any thoughts or feedback?<br>
<br>
Note: this is one of the many profiles going into the OAuth 2.0 draft that =
David is writing (<a href=3D"http://daveman692.livejournal.com/349384.html"=
>http://daveman692.livejournal.com/349384.html</a>).<br>
<font color=3D"#888888"><br>
-Brent<br>
<br>
<br>
</font><br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"x-msg://37/OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><br>
<br>
</span></font></blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial=
"><span style=3D"font-size:11pt"><br>
&lt;ATT00001..txt&gt;<br>
</span></font></blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial=
"><span style=3D"font-size:11pt"><br>
<br>
</span></font></blockquote>
</div>


</blockquote></div><br></div></div></body></html>=

--_000_44EA5F4247BD44C08C06E382C98AF517facebookcom_--

From lshepard@facebook.com  Thu Apr  1 21:47:38 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8D6A73A6A64 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:47:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.23
X-Spam-Level: 
X-Spam-Status: No, score=-0.23 tagged_above=-999 required=5 tests=[AWL=0.046,  BAYES_20=-0.74, DNS_FROM_OPENWHOIS=1.13, IP_NOT_FRIENDLY=0.334,  RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mVkuvgPi5rhx for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:47:37 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 813103A6A71 for <oauth@ietf.org>; Thu,  1 Apr 2010 21:47:37 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.212]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o324lam0031428 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Thu, 1 Apr 2010 21:47:36 -0700
Received: from sc-hub02.TheFacebook.com (192.168.18.105) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.682.1; Thu, 1 Apr 2010 21:48:09 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub02.TheFacebook.com ([192.168.18.105]) with mapi; Thu, 1 Apr 2010 21:48:09 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Date: Thu, 1 Apr 2010 21:48:06 -0700
Thread-Topic: [OAUTH-WG] Scope (was:  Draft progress update)
Thread-Index: AcrSH7EJ1moTSgeVRaCL37K5LVTi1Q==
Message-ID: <F9E04557-D8B0-47D1-8FB4-C6CBC01EB0E8@facebook.com>
References: <C7DABFB1.31B71%eran@hueniverse.com>
In-Reply-To: <C7DABFB1.31B71%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-02_05:2010-02-06, 2010-04-02, 2010-04-01 signatures=0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope (was:  Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 04:47:38 -0000

Sure, I don't care about the exact mechanism - although "realm" and "scope"=
 don't seem equivalent concepts.

Allen - I don't think a redirect is what we want, since the Protected Resou=
rce is typically server-to-server, or if done in a browser then it's not in=
 a user-visible screen.

On Apr 1, 2010, at 9:25 PM, Eran Hammer-Lahav wrote:

>=20
>=20
>=20
> On 4/1/10 9:07 PM, "Luke Shepard" <lshepard@facebook.com> wrote:
>=20
>>=20
>> On Apr 1, 2010, at 6:59 PM, Peter Saint-Andre wrote:
>>>=20
>>> If that's true, then how does the Authorization Server know what scope
>>> is appropriate at the Protected Resource? Does inclusion of the scope
>>> parameter require a 1:1 mapping between AS and PR, or at least
>>> communication between AS and PR?
>>=20
>> My preferred way of handling this is to have the Protected Resource thro=
w a
>> 403 Forbidden error, with an error message that specifies the scope need=
ed -
>> e.g., "oauth_scope_required=3Dphoto_read".
>>=20
>> So an app that tries to access a protected resource should be able to
>> programatically take the scope in the error message and then construct a=
n
>> OAuth authorization request to get that permission from the user. Even i=
f the
>> scope is totally opaque, it should still be possible for a library to ha=
ndle
>> them in this way.
>>=20
>> I believe David or Eran were thinking of writing this into the spec?
>>=20
>=20
> How is this any better/different than plain old 401 with realm=3D'somethi=
ng'.
> Why not have the client request a token capable of accessing the realm
> specified?
>=20
> Before we go and invent a new mechanism that has exactly the same limited
> capabilities, we should see if the existing one can be reused or improved
> upon.
>=20
> EHL
>=20


From eran@hueniverse.com  Thu Apr  1 21:55:48 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B8B323A6A49 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:55:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1
X-Spam-Level: 
X-Spam-Status: No, score=-1 tagged_above=-999 required=5 tests=[AWL=0.468, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gjI58MG1lec4 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 21:55:44 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 84BA53A6832 for <oauth@ietf.org>; Thu,  1 Apr 2010 21:55:44 -0700 (PDT)
Received: (qmail 3662 invoked from network); 2 Apr 2010 04:56:15 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 2 Apr 2010 04:56:15 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Thu, 1 Apr 2010 21:54:09 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 1 Apr 2010 21:54:06 -0700
Thread-Topic: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
Thread-Index: AcrSH2X4k8c2eoOeTLOKlQtgNp0QaAAAR/ja
Message-ID: <C7DAC67E.31B7C%eran@hueniverse.com>
In-Reply-To: <l2i74caaad21004012145r7f789f8av76df4f14a2420139@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7DAC67E31B7Ceranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 04:55:48 -0000

--_000_C7DAC67E31B7Ceranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

What is the assertion format? Binary? XML? Should the library encode it? Is=
 the application using the library responsible for providing it with a URI-=
safe string?

EHL


On 4/1/10 9:45 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

On Thu, Apr 1, 2010 at 9:02 PM, Eran Hammer-Lahav <eran@hueniverse.com> wro=
te:
> But providing a half baked flow that is short enough to just replicate wh=
ere
> needed and cannot be fully implemented by generic libraries doesn't reall=
y
> offer much.

I think this is similar to the scope parameter argument, that
libraries cannot really
use an opaque scope. OAuth libraries will neither generate nor consume the
assertions, the assertion itself can be opaque. The client application need=
s to
obtain an assertion somehow, this is out of scope, then pass it to a librar=
y and
the library can use it as is, pass it to the Authorization Server and
deal with the
response. Works perfectly fine IMO.

Marius


--_000_C7DAC67E31B7Ceranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)</TIT=
LE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>What is the assertion format? Binary? XML? Should the library encode =
it? Is the application using the library responsible for providing it with =
a URI-safe string?<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/1/10 9:45 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurtescu@g=
oogle.com">mscurtescu@google.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>On Thu, Apr 1, 2010 at 9:02 PM, Eran Hammer=
-Lahav &lt;<a href=3D"eran@hueniverse.com">eran@hueniverse.com</a>&gt; wrot=
e:<BR>
&gt; But providing a half baked flow that is short enough to just replicate=
 where<BR>
&gt; needed and cannot be fully implemented by generic libraries doesn&#821=
7;t really<BR>
&gt; offer much.<BR>
<BR>
I think this is similar to the scope parameter argument, that<BR>
libraries cannot really<BR>
use an opaque scope. OAuth libraries will neither generate nor consume the<=
BR>
assertions, the assertion itself can be opaque. The client application need=
s to<BR>
obtain an assertion somehow, this is out of scope, then pass it to a librar=
y and<BR>
the library can use it as is, pass it to the Authorization Server and<BR>
deal with the<BR>
response. Works perfectly fine IMO.<BR>
<BR>
Marius<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7DAC67E31B7Ceranhueniversecom_--

From mscurtescu@google.com  Thu Apr  1 22:00:34 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 5C2E03A67F0 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 22:00:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.494
X-Spam-Level: 
X-Spam-Status: No, score=-104.494 tagged_above=-999 required=5 tests=[AWL=0.353, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4qGfxf1A3oha for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 22:00:33 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id CBBFF3A6801 for <oauth@ietf.org>; Thu,  1 Apr 2010 22:00:32 -0700 (PDT)
Received: from kpbe13.cbf.corp.google.com (kpbe13.cbf.corp.google.com [172.25.105.77]) by smtp-out.google.com with ESMTP id o32515S4019079 for <oauth@ietf.org>; Thu, 1 Apr 2010 22:01:05 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270184465; bh=Wem2DcaTlfULdSfHr/ht71Aqlts=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=FVKOZKP7Vk/g9QVETuZoHSxVUraloayCLTseKx7iwbpGKOVXtPc03aWjXlAnBVZV9 /xTdLzuS4h1/brib69WWA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=Zbq9ji+sWHFE8+eoRMpzITylTlsT7hXEtNPagpJ5b+/UTbbodUKuRRizHDBtoq4jv rFLVymoGXeW+lSaR+Y64Q==
Received: from pwj10 (pwj10.prod.google.com [10.241.219.74]) by kpbe13.cbf.corp.google.com with ESMTP id o325140X011810 for <oauth@ietf.org>; Fri, 2 Apr 2010 00:01:04 -0500
Received: by pwj10 with SMTP id 10so1599747pwj.12 for <oauth@ietf.org>; Thu, 01 Apr 2010 22:01:04 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.248.18 with HTTP; Thu, 1 Apr 2010 22:00:44 -0700 (PDT)
In-Reply-To: <C7DAC67E.31B7C%eran@hueniverse.com>
References: <l2i74caaad21004012145r7f789f8av76df4f14a2420139@mail.gmail.com>  <C7DAC67E.31B7C%eran@hueniverse.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 1 Apr 2010 22:00:44 -0700
Received: by 10.140.248.9 with SMTP id v9mr1281656rvh.101.1270184464138; Thu,  01 Apr 2010 22:01:04 -0700 (PDT)
Message-ID: <p2k74caaad21004012200x8a118a1fq18096442f3cc6042@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 05:00:34 -0000

On Thu, Apr 1, 2010 at 9:54 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> What is the assertion format? Binary? XML? Should the library encode it? Is
> the application using the library responsible for providing it with a
> URI-safe string?

UTF-8 string I guess, the rest should not matter.

Marius

From eran@hueniverse.com  Thu Apr  1 22:09:52 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 129773A6882 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 22:09:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.015
X-Spam-Level: 
X-Spam-Status: No, score=-1.015 tagged_above=-999 required=5 tests=[AWL=0.453,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id URuwFsml1DLP for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 22:09:48 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id A5BE93A6855 for <oauth@ietf.org>; Thu,  1 Apr 2010 22:09:47 -0700 (PDT)
Received: (qmail 10690 invoked from network); 2 Apr 2010 05:10:19 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 2 Apr 2010 05:10:19 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Thu, 1 Apr 2010 22:10:19 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 1 Apr 2010 22:10:16 -0700
Thread-Topic: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
Thread-Index: AcrSIYEyWUX95UJLT66OKhyAoQfoNwAAUbQ4
Message-ID: <C7DACA48.31B81%eran@hueniverse.com>
In-Reply-To: <p2k74caaad21004012200x8a118a1fq18096442f3cc6042@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7DACA4831B81eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 05:09:52 -0000

--_000_C7DACA4831B81eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

The current draft allows the following characters:

  value-char  =3D ALPHA / DIGIT / "-" / "." / "_" / "~" / "%"

Which means a utf-8 string will need to be encoded somehow. Should it be pe=
rcent-encoded? Something else?

EHL


On 4/1/10 10:00 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

On Thu, Apr 1, 2010 at 9:54 PM, Eran Hammer-Lahav <eran@hueniverse.com> wro=
te:
> What is the assertion format? Binary? XML? Should the library encode it? =
Is
> the application using the library responsible for providing it with a
> URI-safe string?

UTF-8 string I guess, the rest should not matter.

Marius


--_000_C7DACA4831B81eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)</TIT=
LE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>The current draft allows the following characters:<BR>
<BR>
&nbsp;&nbsp;value-char &nbsp;=3D ALPHA / DIGIT / &quot;-&quot; / &quot;.&qu=
ot; / &quot;_&quot; / &quot;~&quot; / &quot;%&quot;<BR>
<BR>
Which means a utf-8 string will need to be encoded somehow. Should it be pe=
rcent-encoded? Something else?<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/1/10 10:00 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurtescu@=
google.com">mscurtescu@google.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>On Thu, Apr 1, 2010 at 9:54 PM, Eran Hammer=
-Lahav &lt;<a href=3D"eran@hueniverse.com">eran@hueniverse.com</a>&gt; wrot=
e:<BR>
&gt; What is the assertion format? Binary? XML? Should the library encode i=
t? Is<BR>
&gt; the application using the library responsible for providing it with a<=
BR>
&gt; URI-safe string?<BR>
<BR>
UTF-8 string I guess, the rest should not matter.<BR>
<BR>
Marius<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7DACA4831B81eranhueniversecom_--

From recordond@gmail.com  Thu Apr  1 22:46:39 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 428293A69DC for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 22:46:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.81
X-Spam-Level: 
X-Spam-Status: No, score=-0.81 tagged_above=-999 required=5 tests=[AWL=0.659,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qcsU3d96Q903 for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 22:46:08 -0700 (PDT)
Received: from mail-gx0-f220.google.com (mail-gx0-f220.google.com [209.85.217.220]) by core3.amsl.com (Postfix) with ESMTP id 0F3C53A686C for <oauth@ietf.org>; Thu,  1 Apr 2010 22:45:53 -0700 (PDT)
Received: by gxk20 with SMTP id 20so1343100gxk.12 for <oauth@ietf.org>; Thu, 01 Apr 2010 22:46:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=jKGU1Z1FRwZosJaHnYUeQtULlmKUECHugP+u8AuYhE0=; b=aYXkQrKH1tc85OKIAj//lWW551tZj148/Edz8nCXgGD9oabKLQ7Kq4x0igdRVlzgqd R7AkeC7pPT13T9fcahkP2hrs7FtVI1mKLW2L6i6k2HLQMBWtVJUiS+xepmkTZwKUrGBd I2CatON+U92hnjtcfE9O7MkRrIo8/pwHRLfnE=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=tcXq1HzL/GNkJqqlTfLK7M6Uy8T6kyZo/TmZlnP75KLozrZ5EYf8FLA4YgMLm60iwy T4f4qRacgGHk4HdBsCcEZH6NWkN7nQq9WkddywZqcyPcYIuW9oAfxpqM2ivBOmmbPJSC mXiBGa5MrVvg29dn5kqJ5DmHeuh44d3PqDnxo=
MIME-Version: 1.0
Received: by 10.231.183.18 with HTTP; Thu, 1 Apr 2010 22:46:23 -0700 (PDT)
In-Reply-To: <C7DABEF0.29886%atom@yahoo-inc.com>
References: <AFE1F948-AAE1-49C4-89E3-C03348317087@facebook.com> <C7DABEF0.29886%atom@yahoo-inc.com>
Date: Thu, 1 Apr 2010 22:46:23 -0700
Received: by 10.150.160.8 with SMTP id i8mr2333423ybe.141.1270187183585; Thu,  01 Apr 2010 22:46:23 -0700 (PDT)
Message-ID: <s2nfd6741651004012246mbd515142t2d804b978085800b@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Allen Tom <atom@yahoo-inc.com>
Content-Type: text/plain; charset=ISO-8859-1
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 05:46:39 -0000

401 seems more semantically correct, but I'm sure Eran knows the true answer. :)

+1 to this idea though. Helps client dynamically authorize users if it
turns out they didn't ask for the right scope.

On Thu, Apr 1, 2010 at 9:21 PM, Allen Tom <atom@yahoo-inc.com> wrote:
> +1
>
> How about if the Protected Resource returns an HTTP 302 redirect to the Auth
> URL? The scope information can be encoded in the URL.
>
> Allen
>
>
>
> On 4/1/10 9:07 PM, "Luke Shepard" <lshepard@facebook.com> wrote:
>
>
> On Apr 1, 2010, at 6:59 PM, Peter Saint-Andre wrote:
>
> If that's true, then how does the Authorization Server know what scope
> is appropriate at the Protected Resource? Does inclusion of the scope
> parameter require a 1:1 mapping between AS and PR, or at least
> communication between AS and PR?
>
> My preferred way of handling this is to have the Protected Resource throw a
> 403 Forbidden error, with an error message that specifies the scope needed -
> e.g., "oauth_scope_required=photo_read".
>
> So an app that tries to access a protected resource should be able to
> programatically take the scope in the error message and then construct an
> OAuth authorization request to get that permission from the user. Even if
> the scope is totally opaque, it should still be possible for a library to
> handle them in this way.
>
> I believe David or Eran were thinking of writing this into the spec?
>
> ________________________________
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

From brent@facebook.com  Thu Apr  1 23:01:30 2010
Return-Path: <brent@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 04E0E3A688E for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 23:01:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.465
X-Spam-Level: 
X-Spam-Status: No, score=0.465 tagged_above=-999 required=5 tests=[AWL=0.000,  BAYES_50=0.001, DNS_FROM_OPENWHOIS=1.13, IP_NOT_FRIENDLY=0.334,  RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TNxnuevWUKlY for <oauth@core3.amsl.com>; Thu,  1 Apr 2010 23:01:28 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id A381B3A6880 for <oauth@ietf.org>; Thu,  1 Apr 2010 23:01:28 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.212]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3261M5Z028434 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Thu, 1 Apr 2010 23:01:22 -0700
Received: from sc-hub06.TheFacebook.com (192.168.18.83) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.682.1; Thu, 1 Apr 2010 23:01:54 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub06.TheFacebook.com ([192.168.18.83]) with mapi; Thu, 1 Apr 2010 23:01:54 -0700
From: Brent Goldman <brent@facebook.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Date: Thu, 1 Apr 2010 23:01:13 -0700
Thread-Topic: [OAUTH-WG] User Interface specs?
Thread-Index: AcrSKf6gW+/vSkh2T2ORROkWyq6puw==
Message-ID: <73848F08-3CC3-4638-BD70-63A33123F99C@facebook.com>
References: <C7DABE83.31B6F%eran@hueniverse.com>
In-Reply-To: <C7DABE83.31B6F%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-02_05:2010-02-06, 2010-04-02, 2010-04-01 signatures=0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] User Interface specs?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 06:01:30 -0000

7.1.1. Browser-Based Attacks

This section describes common attacks against OAuth flows involving web bro=
wsers, as well as protections against these attacks. The flows involving we=
b browsers are the Web Callback Flow, the Web Client Flow, and the Device F=
low.

7.1.1.1 Phishing

Phishing is the process of a malicious website attempting to acquire sensit=
ive information such as usernames and passwords by masquerading as a trustw=
orthy website. With regards to OAuth, an attacker could build a malicious w=
ebsite embedding a masquerade version of an OAuth Authorization Server to o=
btain the user's credentials. The attacker could then use these credentials=
 to authorize any application on the user's behalf, essentially stealing th=
e user's identity.

For a phishing attack to be successful, the user must voluntarily enter the=
ir credentials into the masqueraded site. It is difficult for a user to dis=
tinguish between a trustworthy site and a masqueraded version if the user c=
annot see the URL bar.

7.1.1.2. Clickjacking

Clickjacking is the process of a malicious website tricking the user into p=
erforming undesired actions (such as authorizing an OAuth flow), without th=
e user realizing this is happening, by having the user click a button that =
appears to perform an innocuous function. In more detail, a malicious site =
loads the target site in a transparent iframe overlaid on top of a set of d=
ummy buttons which are carefully constructed to be placed directly under im=
portant buttons on the target site. When a user clicks a visible button, th=
ey are actually clicking a button (such as an "Authorize" button) on the hi=
dden page.

7.1.1.3. Protection

Both phishing and clickjacking attack vectors can be avoided by disallowing=
 iframes.

OAuth clients SHOULD redirect to to the Authorization Server or show the Au=
thorization Server in a popup window, and SHOULD NOT display the Authorizat=
ion Server in an iframe. In the case that a popup window is used, the popup=
 window MUST display the browser's address bar.

Since malicious clients will not comply with these recommendations, OAuth A=
uthorization Servers SHOULD also enforce protection. It is not possible for=
 the server to determine if a browser's address bar is displayed or not, bu=
t it is possible for the server to protect against being displayed in an if=
rame.

In newer versions of Internet Explorer, Safari, and Chrome, a page is preve=
nted from being iframed if the HTTP header X-FRAME-OPTION is set to DENY. I=
f this header is set to SAMEORIGIN, only sites with a different origin are =
blocked from iframing the site.

For older browsers not supporting X-FRAME-OPTION, a page can be prevented f=
rom being iframed using JavaScript. To determine if the site is being ifram=
ed, a site just needs to check that top !=3D self. If this condition is tru=
e (and if the top URL is not trustworthy -- e.g., it's not owned by the sam=
e domain), the JavaScript should redirect to an error page explaining that =
the site should not be iframed. Other options include opening the same page=
 in a popup window, or showing a large DIV with high z-index covering the e=
ntire screen, preventing any clicks from reaching the buttons underneath.

For browsers not supporting either X-FRAME-OPTION or JavaScript, a page can=
not be prevented from being displayed in an iframe.


On Apr 1, 2010, at 9:20 PM, Eran Hammer-Lahav wrote:

> Can you write this as an actual proposal for the text?
>=20
> EHL
>=20
>=20
> On 4/1/10 8:25 PM, "Brent Goldman" <brent@facebook.com> wrote:
>=20
>> +1 on both
>>=20
>> Regarding clickjacking: If we don't want the flows to be inlined in an i=
frame,
>> specifying that the clients must show the server in a popup doesn't prot=
ect
>> against malicious clients that choose to show it in an iframe anyway. So=
 I
>> think it also make sense to add to the core spec that servers should pro=
tect
>> against this. The JavaScript is simple enough that perhaps the spec coul=
d give
>> an example snippet that any OAuth server to use. E.g., if (top !=3D self=
 &&
>> !isTopWindowSafe(top)) {
>> showBigassTransparentDivWithHighZIndex_or_redirectToErrorPage(); }.
>>=20
>> -Brent
>>=20
>>=20
>> On Apr 1, 2010, at 5:48 PM, Allen Tom wrote:
>>=20
>>> Websites using OpenID/OAuth/Facebook Connect/Twitter Connect often open=
 a
>>> popup window to the user=B9s Identity Provider for user to complete the
>>> AuthZ/AuthN flow rather than taking the user away from the referring si=
te via
>>> a full page redirect.
>>>=20
>>> In the case where a popup window is used, it=B9s a very good idea to re=
quire
>>> that that the browser=B9s address bar is displayed, and that an indepen=
dent
>>> browser window is used, rather than an inline iframe. These requirement=
s are
>>> needed to help prevent the user from being phished in the case where th=
e user
>>> has to enter their password, and to ensure that the user=B9s consent wa=
s not
>>> forged via a clickjacking attack.
>>>=20
>>> I believe that the Web Server Flow and the Web Client Flow will often t=
ake
>>> place within a popup window, so it would make sense to put into the cor=
e spec
>>> that popups should be independent browser windows with the address bar
>>> clearly displayed.
>>>=20
>>> Another missing feature in the core spec is support for multiple langua=
ges.
>>> Given that many Service Providers have a global userbase, client applic=
ations
>>> will want to have a way to specify the language to be used on the auth
>>> screen. While the User Agent=B9s Accept-Language: HTTP header, as well =
as the
>>> user=B9s IP address could be used as language hints, in practice client=
s will
>>> want the ability to specify the language.
>>>=20
>>> Is there consensus to get Popup Window requirements and language suppor=
t into
>>> the OAuth2 core spec?
>>>=20
>>> Allen
>>> <ATT00001..txt>
>>=20
>>=20
>=20


From torsten@lodderstedt.net  Fri Apr  2 02:18:06 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 646F53A6949 for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 02:18:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.726
X-Spam-Level: 
X-Spam-Status: No, score=0.726 tagged_above=-999 required=5 tests=[AWL=-0.569,  BAYES_40=-0.185, DNS_FROM_OPENWHOIS=1.13, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tZNZbxdWvxWs for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 02:18:00 -0700 (PDT)
Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.18.14]) by core3.amsl.com (Postfix) with ESMTP id B10E53A67A6 for <oauth@ietf.org>; Fri,  2 Apr 2010 02:17:59 -0700 (PDT)
Received: from p4fff05ca.dip.t-dialin.net ([79.255.5.202] helo=[127.0.0.1]) by smtprelay02.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1Nxd1J-0003vh-2H; Fri, 02 Apr 2010 11:18:29 +0200
Message-ID: <4BB5B661.7090407@lodderstedt.net>
Date: Fri, 02 Apr 2010 11:18:25 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Allen Tom <atom@yahoo-inc.com>
References: <C7DAA2C7.2984A%atom@yahoo-inc.com>
In-Reply-To: <C7DAA2C7.2984A%atom@yahoo-inc.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 09:18:07 -0000

The OAuth implementation at Deutsche Telekom uses a non-standard 
parameter "serviceId" to identity the protected resource the client 
wants to access. The client passes such an id as parameter when 
requesting a token. The authorization server knows all services it 
issues tokens for. The service id is used to
- constucts the screen for user consent
- create a token with the content required at that particular service.

I would vote for a similar parameter as part of the standard. So far, I 
have seen the "scope" parameter that way.

regards,
Torsten.

> The way we do this at Yahoo is that the developer must indicate what scopes
> they want to access when registering for a client_identifier/secret.
>
> Although we've done it this way for several years, we've gotten plenty of
> feedback that client developers want the flexibility to specify the scopes
> at user authorization time.
>
> Allen
>
>
> On 4/1/10 6:59 PM, "Peter Saint-Andre"<stpeter@stpeter.im>  wrote:
>
>    
>>
>> If that's true, then how does the Authorization Server know what scope
>> is appropriate at the Protected Resource? Does inclusion of the scope
>> parameter require a 1:1 mapping between AS and PR, or at least
>> communication between AS and PR?
>>
>> Peter
>>      
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    



From cmortimore@salesforce.com  Fri Apr  2 07:31:21 2010
Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 63AE03A679C for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 07:31:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.985
X-Spam-Level: 
X-Spam-Status: No, score=-4.985 tagged_above=-999 required=5 tests=[AWL=0.484,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 29XEYVuNn60T for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 07:31:20 -0700 (PDT)
Received: from exprod8og110.obsmtp.com (exprod8og110.obsmtp.com [64.18.3.100]) by core3.amsl.com (Postfix) with SMTP id 4C35C3A6784 for <oauth@ietf.org>; Fri,  2 Apr 2010 07:31:20 -0700 (PDT)
Received: from source ([204.14.239.238]) by exprod8ob110.postini.com ([64.18.7.12]) with SMTP ID DSNKS7X/2lNUdVXgsXbiNujd1jLaUYCIpyG3@postini.com; Fri, 02 Apr 2010 07:31:54 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub3.internal.salesforce.com ([10.1.127.7]) with mapi; Fri, 2 Apr 2010 07:31:53 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, Marius Scurtescu <mscurtescu@google.com>
Date: Fri, 2 Apr 2010 07:31:21 -0700
Thread-Topic: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
Thread-Index: AcrSIYEyWUX95UJLT66OKhyAoQfoNwAAUbQ4ABOYbWA=
Message-ID: <77AEC44D4DA08A46ADAA723286626BC12E2D43FAB9@EXSFM-MB01.internal.salesforce.com>
References: <p2k74caaad21004012200x8a118a1fq18096442f3cc6042@mail.gmail.com>, <C7DACA48.31B81%eran@hueniverse.com>
In-Reply-To: <C7DACA48.31B81%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 14:31:21 -0000

For SAML it should be Base64 encoded.

-cmort
________________________________________
From: oauth-bounces@ietf.org [oauth-bounces@ietf.org] On Behalf Of Eran Ham=
mer-Lahav [eran@hueniverse.com]
Sent: Thursday, April 01, 2010 10:10 PM
To: Marius Scurtescu
Cc: OAuth WG
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)

The current draft allows the following characters:

  value-char  =3D ALPHA / DIGIT / "-" / "." / "_" / "~" / "%"

Which means a utf-8 string will need to be encoded somehow. Should it be pe=
rcent-encoded? Something else?

EHL


On 4/1/10 10:00 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

On Thu, Apr 1, 2010 at 9:54 PM, Eran Hammer-Lahav <eran@hueniverse.com> wro=
te:
> What is the assertion format? Binary? XML? Should the library encode it? =
Is
> the application using the library responsible for providing it with a
> URI-safe string?

UTF-8 string I guess, the rest should not matter.

Marius


From cmortimore@salesforce.com  Fri Apr  2 07:44:33 2010
Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 567A23A68EE for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 07:44:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.786
X-Spam-Level: 
X-Spam-Status: No, score=-2.786 tagged_above=-999 required=5 tests=[AWL=-1.853, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, FRT_PROFILE1=2.555, FRT_PROFILE2=1.981, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WIBDE9EZMLVN for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 07:44:32 -0700 (PDT)
Received: from exprod8og112.obsmtp.com (exprod8og112.obsmtp.com [64.18.3.24]) by core3.amsl.com (Postfix) with SMTP id 426123A67F2 for <oauth@ietf.org>; Fri,  2 Apr 2010 07:44:32 -0700 (PDT)
Received: from source ([204.14.239.239]) by exprod8ob112.postini.com ([64.18.7.12]) with SMTP ID DSNKS7YC8klYtMG1AQ0F6LJJtI3QJuBfdbDz@postini.com; Fri, 02 Apr 2010 07:45:06 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub4.internal.salesforce.com ([10.1.127.8]) with mapi; Fri, 2 Apr 2010 07:45:05 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, Marius Scurtescu <mscurtescu@google.com>
Date: Fri, 2 Apr 2010 07:45:05 -0700
Thread-Topic: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
Thread-Index: AcrSH2X4k8c2eoOeTLOKlQtgNp0QaAAAR/jaABQwORM=
Message-ID: <77AEC44D4DA08A46ADAA723286626BC12E2D43FABA@EXSFM-MB01.internal.salesforce.com>
References: <l2i74caaad21004012145r7f789f8av76df4f14a2420139@mail.gmail.com>, <C7DAC67E.31B7C%eran@hueniverse.com>
In-Reply-To: <C7DAC67E.31B7C%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 14:44:33 -0000

The format would be specified by a profilie.    For instance, a SAML profil=
e might define:

assertion_format=3Durn:oasis:names:tc:SAML:2.0:cm:bearer
assertion=3D{SAML 2 bearer assertion, optionally wrapped in a SAML response=
, Signature must cover the assertion and can be inherited from the Response=
 signature, based64 encoded.  Subject format and attribute statement left u=
ndefined and implementation specific}

Some other implementation may want a SAML1.1 profile, or an Encrypted Asser=
tion Profile, which would all be base64 encoded, but the details of the exp=
ected assertion would change. Someone may want to develop a Siteminder prof=
ile.   In this case, a siteminder session token would be exchanged for an O=
auth token.   This would have a completely opaque format, and might be hex =
encode.    Someone else might want to develop an x.509 profile.   Etc, etc.

It really wouldn't be up to conformant Oauth2 clients to support these prof=
iles, or even the core assertion profile for that matter.   As Marius point=
s out, the method for obtaining/validating the assertions will be out of sc=
ope, and hence this is a specialized Oauth client/server you're dealing wit=
h by definition.

-cmort

________________________________________
From: oauth-bounces@ietf.org [oauth-bounces@ietf.org] On Behalf Of Eran Ham=
mer-Lahav [eran@hueniverse.com]
Sent: Thursday, April 01, 2010 9:54 PM
To: Marius Scurtescu
Cc: OAuth WG
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)

What is the assertion format? Binary? XML? Should the library encode it? Is=
 the application using the library responsible for providing it with a URI-=
safe string?

EHL


On 4/1/10 9:45 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

On Thu, Apr 1, 2010 at 9:02 PM, Eran Hammer-Lahav <eran@hueniverse.com> wro=
te:
> But providing a half baked flow that is short enough to just replicate wh=
ere
> needed and cannot be fully implemented by generic libraries doesn=92t rea=
lly
> offer much.

I think this is similar to the scope parameter argument, that
libraries cannot really
use an opaque scope. OAuth libraries will neither generate nor consume the
assertions, the assertion itself can be opaque. The client application need=
s to
obtain an assertion somehow, this is out of scope, then pass it to a librar=
y and
the library can use it as is, pass it to the Authorization Server and
deal with the
response. Works perfectly fine IMO.

Marius


From cmortimore@salesforce.com  Fri Apr  2 07:58:29 2010
Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 314313A68FE for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 07:58:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.823
X-Spam-Level: 
X-Spam-Status: No, score=-4.823 tagged_above=-999 required=5 tests=[AWL=0.646,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0uruuDo68kOi for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 07:58:28 -0700 (PDT)
Received: from exprod8og106.obsmtp.com (exprod8og106.obsmtp.com [64.18.3.92]) by core3.amsl.com (Postfix) with SMTP id 25CF13A68F7 for <oauth@ietf.org>; Fri,  2 Apr 2010 07:58:28 -0700 (PDT)
Received: from source ([204.14.239.239]) by exprod8ob106.postini.com ([64.18.7.12]) with SMTP ID DSNKS7YGNniSNZt5xesFVH0BO/1howGyu0P0@postini.com; Fri, 02 Apr 2010 07:59:02 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub4.internal.salesforce.com ([10.1.127.8]) with mapi; Fri, 2 Apr 2010 07:59:01 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, Brian Eaton <beaton@google.com>
Date: Fri, 2 Apr 2010 07:54:40 -0700
Thread-Topic: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
Thread-Index: AcrR+b3eIZ0qtQkjQ5Gxo8m3q38+gAAH4dPJABbJl6g=
Message-ID: <77AEC44D4DA08A46ADAA723286626BC12E2D43FABB@EXSFM-MB01.internal.salesforce.com>
References: <y2rdaf5b9571004011716t5c475c74p5d813a464f78592@mail.gmail.com>, <C7DABA53.31B60%eran@hueniverse.com>
In-Reply-To: <C7DABA53.31B60%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 14:58:29 -0000

Other profiles will be required.  The only point is to give these profiling=
 specs clear guidelines on how they should approach the problem.

In any case, I get your point about what you want included in the core spec=
ification and why.   I'll put forth a proposal for the SAML format.

-cmort=20

________________________________________
From: Eran Hammer-Lahav [eran@hueniverse.com]
Sent: Thursday, April 01, 2010 9:02 PM
To: Brian Eaton
Cc: Chuck Mortimore; OAuth WG
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)

This boils down to: if the flow cannot be used without further profile, and=
 it is less than a page long, what=92s the value of putting it in the speci=
fication, as opposed to a fully specified extension? Or the alternative to =
provide one fully specified flow using the most common type of assertions (=
I=92m not a SAML expert so I have no clue what that might be), and let othe=
rs use that as a template.

But providing a half baked flow that is short enough to just replicate wher=
e needed and cannot be fully implemented by generic libraries doesn=92t rea=
lly offer much.

I am not putting a stake in the ground on this but I am doing my job as edi=
tor to point out to the authors and users of this spec that as written, the=
 flow is just not actually useful. It has the same value as if I posted it =
on my blog because to use it, someone will have to write a new spec that pr=
ofiles it to an interop-capable setup.

EHL


On 4/1/10 5:16 PM, "Brian Eaton" <beaton@google.com> wrote:

On Thu, Apr 1, 2010 at 5:10 PM, Eran Hammer-Lahav <eran@hueniverse.com> wro=
te:
> Are they profiling a half page spec?

The spec is 66 pages long.  But the widely used pieces are quite a bit
shorter. =3D)


From cmortimore@salesforce.com  Fri Apr  2 08:08:28 2010
Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1BF9B3A6980 for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 08:08:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.895
X-Spam-Level: 
X-Spam-Status: No, score=-4.895 tagged_above=-999 required=5 tests=[AWL=0.575,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VyqgV1NTrHLc for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 08:08:27 -0700 (PDT)
Received: from exprod8og114.obsmtp.com (exprod8og114.obsmtp.com [64.18.3.28]) by core3.amsl.com (Postfix) with SMTP id 175693A6907 for <oauth@ietf.org>; Fri,  2 Apr 2010 08:08:27 -0700 (PDT)
Received: from source ([204.14.239.239]) by exprod8ob114.postini.com ([64.18.7.12]) with SMTP ID DSNKS7YIjbf4Z8Pb76BeO51Ppkwx676D9Y6E@postini.com; Fri, 02 Apr 2010 08:09:01 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub4.internal.salesforce.com ([10.1.127.8]) with mapi; Fri, 2 Apr 2010 08:09:00 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, Brian Eaton <beaton@google.com>
Date: Fri, 2 Apr 2010 08:07:40 -0700
Thread-Topic: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
Thread-Index: AcrR+b3eIZ0qtQkjQ5Gxo8m3q38+gAAH4dPJABc9xn4=
Message-ID: <77AEC44D4DA08A46ADAA723286626BC12E2D43FABC@EXSFM-MB01.internal.salesforce.com>
References: <y2rdaf5b9571004011716t5c475c74p5d813a464f78592@mail.gmail.com>, <C7DABA53.31B60%eran@hueniverse.com>
In-Reply-To: <C7DABA53.31B60%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 15:08:28 -0000

Other profiles will be required.  The only point is to give these profiling=
 specs clear guidelines on how they should approach the problem.

In any case, I get your point about what you want included in the core spec=
ification and why.   I'll try and draft a proposal for the SAML format over=
 the weekend and present it to the list.

-cmort=20
________________________________________
From: Eran Hammer-Lahav [eran@hueniverse.com]
Sent: Thursday, April 01, 2010 9:02 PM
To: Brian Eaton
Cc: Chuck Mortimore; OAuth WG
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)

This boils down to: if the flow cannot be used without further profile, and=
 it is less than a page long, what=92s the value of putting it in the speci=
fication, as opposed to a fully specified extension? Or the alternative to =
provide one fully specified flow using the most common type of assertions (=
I=92m not a SAML expert so I have no clue what that might be), and let othe=
rs use that as a template.

But providing a half baked flow that is short enough to just replicate wher=
e needed and cannot be fully implemented by generic libraries doesn=92t rea=
lly offer much.

I am not putting a stake in the ground on this but I am doing my job as edi=
tor to point out to the authors and users of this spec that as written, the=
 flow is just not actually useful. It has the same value as if I posted it =
on my blog because to use it, someone will have to write a new spec that pr=
ofiles it to an interop-capable setup.

EHL


On 4/1/10 5:16 PM, "Brian Eaton" <beaton@google.com> wrote:

On Thu, Apr 1, 2010 at 5:10 PM, Eran Hammer-Lahav <eran@hueniverse.com> wro=
te:
> Are they profiling a half page spec?

The spec is 66 pages long.  But the widely used pieces are quite a bit
shorter. =3D)


From beaton@google.com  Fri Apr  2 08:53:21 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 378F63A682F for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 08:53:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.346
X-Spam-Level: 
X-Spam-Status: No, score=-100.346 tagged_above=-999 required=5 tests=[AWL=0.501, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hTZE0Xw7u+rx for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 08:53:20 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id D52FB3A67D4 for <oauth@ietf.org>; Fri,  2 Apr 2010 08:53:19 -0700 (PDT)
Received: from kpbe16.cbf.corp.google.com (kpbe16.cbf.corp.google.com [172.25.105.80]) by smtp-out.google.com with ESMTP id o32Frnlj012571 for <oauth@ietf.org>; Fri, 2 Apr 2010 17:53:49 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270223629; bh=3WvO5aXOwdM5cejAOZfP/xMGb3k=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=wIgOisPRVyEZ44czoseBbmU2arZVIjarAdUSrILv02ReJm/BG5cVlDIE2fgDkkmTo anmAOS62sZeYQrOgTu+1w==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=UuJaAzRudhm7+MxsZjPMiVJh4jloIo+tsGyua3LVckH+/b09AWi75hhZmexSrzaVT 7ePGTNdgExIfniWHououA==
Received: from vws6 (vws6.prod.google.com [10.241.21.134]) by kpbe16.cbf.corp.google.com with ESMTP id o32Frlrk021495 for <oauth@ietf.org>; Fri, 2 Apr 2010 08:53:48 -0700
Received: by vws6 with SMTP id 6so209577vws.9 for <oauth@ietf.org>; Fri, 02 Apr 2010 08:53:47 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.124.2 with HTTP; Fri, 2 Apr 2010 08:53:46 -0700 (PDT)
In-Reply-To: <C7DABE13.29882%atom@yahoo-inc.com>
References: <710CC9A4-422B-424A-8FC2-AB190F41E87F@facebook.com> <C7DABE13.29882%atom@yahoo-inc.com>
Date: Fri, 2 Apr 2010 08:53:46 -0700
Received: by 10.220.108.106 with SMTP id e42mr1233659vcp.79.1270223626880;  Fri, 02 Apr 2010 08:53:46 -0700 (PDT)
Message-ID: <u2vdaf5b9571004020853q2b527d1aw160c9105ec48eb84@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Allen Tom <atom@yahoo-inc.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Device Flow - Session Fixation?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 15:53:21 -0000

On Thu, Apr 1, 2010 at 9:18 PM, Allen Tom <atom@yahoo-inc.com> wrote:
> The Auth server should also check for the presence of an HTTP Referrer.
> There should not be a referrer, since the user should not have clicked on
> anything to have landed on the screen

I don't think this one is going to work in practice.  Manufacturers
may not point users directly at the OAuth approval page.  They are
going to end up pointing users to something shorter, e.g.
"http://google.samsung.com".  That web site will then redirect the
user to the right approval page.

Otherwise we end up needing to tell users to manually type-in long,
complex urls like
https://www.google.com/accounts/OAuthAuthorize?client_id=1238979.

Cheers,
Brian

From eran@hueniverse.com  Fri Apr  2 09:03:27 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BC1563A6808 for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 09:03:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.238
X-Spam-Level: *
X-Spam-Status: No, score=1.238 tagged_above=-999 required=5 tests=[AWL=-1.829,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, FRT_PROFILE1=2.555, FRT_PROFILE2=1.981]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mOEzdY+KO4TE for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 09:03:26 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id DC1603A67D4 for <oauth@ietf.org>; Fri,  2 Apr 2010 09:03:26 -0700 (PDT)
Received: (qmail 5827 invoked from network); 2 Apr 2010 16:03:59 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 2 Apr 2010 16:03:59 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Fri, 2 Apr 2010 09:03:33 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Chuck Mortimore <cmortimore@salesforce.com>
Date: Fri, 2 Apr 2010 09:03:25 -0700
Thread-Topic: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
Thread-Index: AcrSfgto5XGIZ8MUR6Gyxqxk8a9mDA==
Message-ID: <2EF9AB07-95F6-41A2-BA05-43C2CF20D129@hueniverse.com>
References: <l2i74caaad21004012145r7f789f8av76df4f14a2420139@mail.gmail.com>, <C7DAC67E.31B7C%eran@hueniverse.com> <77AEC44D4DA08A46ADAA723286626BC12E2D43FABA@EXSFM-MB01.internal.salesforce.com>
In-Reply-To: <77AEC44D4DA08A46ADAA723286626BC12E2D43FABA@EXSFM-MB01.internal.salesforce.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 16:03:27 -0000

VGhlIHByb2JsZW0gd2l0aCBiYXNlNjQgKGV2ZW4gdGhlIHVyaSBzYWZlIGZsYXZvcikgaXMgdGhl
IHBhZGRpbmQgIA0KY2hhcmFjdGVyICg9KSBpcyBub3QgYWxsb3dlZCB3aXRob3V0IHBlcmNlbnQg
ZW5jb2RpbmcuIFRoaXMgZ2V0cyBtZXNzeSAgDQp3aXRob3V0IGNsZWFyIGVuY29kaW5nIHByb2Nl
c3MuDQoNClRoZSBleGFtcGxlIGJlbG93IHNob3cgdGhhdCB0aGUgcHJvZmlsZXMgYXJlIGxpa2Vs
eSB0byBiZSBtdWNoIGxvbmdlciAgDQp0aGFuIHRoZSBmbG93IGl0c2VsZiwgcmFpc2luZyBteSBx
dWVzdGlvbiBvZiB3aGV0aGVyIGl0IGlzIHJlYWxseSBhbGwgIA0KdGhhdCB1c2VmdWwgdG8gYmUg
aW5jbHVkZWQuDQoNCklmIHdlIGFyZSBnb2luZyB0byBrZWVwIHRoaXMgaW4gdGhlIGNvcmUgc3Bl
YyB3ZSBuZWVkIGEgbGlzdCBvZiB3aGF0IGEgIA0KcHJvZmlsZSBtdXN0IHNwZWNpZnkgKGp1c3Qg
dGhlIGl0ZW1zLCBub3QgdGhlIGFjdHVhbCBkZXRhaWxzKSBhbmQgd2UgIA0KbmVlZCBhbiBleGFt
cGxlLiBJIGNhbiBsaXZlIHdpdGggdGhhdC4NCg0KQW5vdGhlciBvcHRpb24gaXMgdG8gbW92ZSBp
dCB0byBhIHNlcGFyYXRlIGFzc2VydGlvbiBmbG93cyBzcGVjIHdoaWNoICANCndpbGwgaW5jbHVk
ZSBhIGZldyBnZW5lcmFsbHkgdXNlZnVsIHByb2ZpbGVzLg0KDQpFSEwNCg0KT24gQXByIDIsIDIw
MTAsIGF0IDEwOjQ1LCAiQ2h1Y2sgTW9ydGltb3JlIiAgDQo8Y21vcnRpbW9yZUBzYWxlc2ZvcmNl
LmNvbT4gd3JvdGU6DQoNCj4gVGhlIGZvcm1hdCB3b3VsZCBiZSBzcGVjaWZpZWQgYnkgYSBwcm9m
aWxpZS4gICAgRm9yIGluc3RhbmNlLCBhIFNBTUwgIA0KPiBwcm9maWxlIG1pZ2h0IGRlZmluZToN
Cj4NCj4gYXNzZXJ0aW9uX2Zvcm1hdD11cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6Y206YmVh
cmVyDQo+IGFzc2VydGlvbj17U0FNTCAyIGJlYXJlciBhc3NlcnRpb24sIG9wdGlvbmFsbHkgd3Jh
cHBlZCBpbiBhIFNBTUwgIA0KPiByZXNwb25zZSwgU2lnbmF0dXJlIG11c3QgY292ZXIgdGhlIGFz
c2VydGlvbiBhbmQgY2FuIGJlIGluaGVyaXRlZCAgDQo+IGZyb20gdGhlIFJlc3BvbnNlIHNpZ25h
dHVyZSwgYmFzZWQ2NCBlbmNvZGVkLiAgU3ViamVjdCBmb3JtYXQgYW5kICANCj4gYXR0cmlidXRl
IHN0YXRlbWVudCBsZWZ0IHVuZGVmaW5lZCBhbmQgaW1wbGVtZW50YXRpb24gc3BlY2lmaWN9DQo+
DQo+IFNvbWUgb3RoZXIgaW1wbGVtZW50YXRpb24gbWF5IHdhbnQgYSBTQU1MMS4xIHByb2ZpbGUs
IG9yIGFuICANCj4gRW5jcnlwdGVkIEFzc2VydGlvbiBQcm9maWxlLCB3aGljaCB3b3VsZCBhbGwg
YmUgYmFzZTY0IGVuY29kZWQsIGJ1dCAgDQo+IHRoZSBkZXRhaWxzIG9mIHRoZSBleHBlY3RlZCBh
c3NlcnRpb24gd291bGQgY2hhbmdlLiBTb21lb25lIG1heSB3YW50ICANCj4gdG8gZGV2ZWxvcCBh
IFNpdGVtaW5kZXIgcHJvZmlsZS4gICBJbiB0aGlzIGNhc2UsIGEgc2l0ZW1pbmRlciAgDQo+IHNl
c3Npb24gdG9rZW4gd291bGQgYmUgZXhjaGFuZ2VkIGZvciBhbiBPYXV0aCB0b2tlbi4gICBUaGlz
IHdvdWxkICANCj4gaGF2ZSBhIGNvbXBsZXRlbHkgb3BhcXVlIGZvcm1hdCwgYW5kIG1pZ2h0IGJl
IGhleCBlbmNvZGUuICAgIFNvbWVvbmUgIA0KPiBlbHNlIG1pZ2h0IHdhbnQgdG8gZGV2ZWxvcCBh
biB4LjUwOSBwcm9maWxlLiAgIEV0YywgZXRjLg0KPg0KPiBJdCByZWFsbHkgd291bGRuJ3QgYmUg
dXAgdG8gY29uZm9ybWFudCBPYXV0aDIgY2xpZW50cyB0byBzdXBwb3J0ICANCj4gdGhlc2UgcHJv
ZmlsZXMsIG9yIGV2ZW4gdGhlIGNvcmUgYXNzZXJ0aW9uIHByb2ZpbGUgZm9yIHRoYXQgIA0KPiBt
YXR0ZXIuICAgQXMgTWFyaXVzIHBvaW50cyBvdXQsIHRoZSBtZXRob2QgZm9yIG9idGFpbmluZy92
YWxpZGF0aW5nICANCj4gdGhlIGFzc2VydGlvbnMgd2lsbCBiZSBvdXQgb2Ygc2NvcGUsIGFuZCBo
ZW5jZSB0aGlzIGlzIGEgc3BlY2lhbGl6ZWQgIA0KPiBPYXV0aCBjbGllbnQvc2VydmVyIHlvdSdy
ZSBkZWFsaW5nIHdpdGggYnkgZGVmaW5pdGlvbi4NCj4NCj4gLWNtb3J0DQo+DQo+IF9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gRnJvbTogb2F1dGgtYm91bmNlc0Bp
ZXRmLm9yZyBbb2F1dGgtYm91bmNlc0BpZXRmLm9yZ10gT24gQmVoYWxmIE9mICANCj4gRXJhbiBI
YW1tZXItTGFoYXYgW2VyYW5AaHVlbml2ZXJzZS5jb21dDQo+IFNlbnQ6IFRodXJzZGF5LCBBcHJp
bCAwMSwgMjAxMCA5OjU0IFBNDQo+IFRvOiBNYXJpdXMgU2N1cnRlc2N1DQo+IENjOiBPQXV0aCBX
Rw0KPiBTdWJqZWN0OiBSZTogW09BVVRILVdHXSBTQU1MIEFzc2VydGlvbiBGbG93ICh3YXM6IERy
YWZ0IHByb2dyZXNzICANCj4gdXBkYXRlKQ0KPg0KPiBXaGF0IGlzIHRoZSBhc3NlcnRpb24gZm9y
bWF0PyBCaW5hcnk/IFhNTD8gU2hvdWxkIHRoZSBsaWJyYXJ5IGVuY29kZSAgDQo+IGl0PyBJcyB0
aGUgYXBwbGljYXRpb24gdXNpbmcgdGhlIGxpYnJhcnkgcmVzcG9uc2libGUgZm9yIHByb3ZpZGlu
ZyAgDQo+IGl0IHdpdGggYSBVUkktc2FmZSBzdHJpbmc/DQo+DQo+IEVITA0KPg0KPg0KPiBPbiA0
LzEvMTAgOTo0NSBQTSwgIk1hcml1cyBTY3VydGVzY3UiIDxtc2N1cnRlc2N1QGdvb2dsZS5jb20+
IHdyb3RlOg0KPg0KPiBPbiBUaHUsIEFwciAxLCAyMDEwIGF0IDk6MDIgUE0sIEVyYW4gSGFtbWVy
LUxhaGF2ICANCj4gPGVyYW5AaHVlbml2ZXJzZS5jb20+IHdyb3RlOg0KPj4gQnV0IHByb3ZpZGlu
ZyBhIGhhbGYgYmFrZWQgZmxvdyB0aGF0IGlzIHNob3J0IGVub3VnaCB0byBqdXN0ICANCj4+IHJl
cGxpY2F0ZSB3aGVyZQ0KPj4gbmVlZGVkIGFuZCBjYW5ub3QgYmUgZnVsbHkgaW1wbGVtZW50ZWQg
YnkgZ2VuZXJpYyBsaWJyYXJpZXMgZG9lc27igJkgDQo+PiB0IHJlYWxseQ0KPj4gb2ZmZXIgbXVj
aC4NCj4NCj4gSSB0aGluayB0aGlzIGlzIHNpbWlsYXIgdG8gdGhlIHNjb3BlIHBhcmFtZXRlciBh
cmd1bWVudCwgdGhhdA0KPiBsaWJyYXJpZXMgY2Fubm90IHJlYWxseQ0KPiB1c2UgYW4gb3BhcXVl
IHNjb3BlLiBPQXV0aCBsaWJyYXJpZXMgd2lsbCBuZWl0aGVyIGdlbmVyYXRlIG5vciAgDQo+IGNv
bnN1bWUgdGhlDQo+IGFzc2VydGlvbnMsIHRoZSBhc3NlcnRpb24gaXRzZWxmIGNhbiBiZSBvcGFx
dWUuIFRoZSBjbGllbnQgIA0KPiBhcHBsaWNhdGlvbiBuZWVkcyB0bw0KPiBvYnRhaW4gYW4gYXNz
ZXJ0aW9uIHNvbWVob3csIHRoaXMgaXMgb3V0IG9mIHNjb3BlLCB0aGVuIHBhc3MgaXQgdG8gYSAg
DQo+IGxpYnJhcnkgYW5kDQo+IHRoZSBsaWJyYXJ5IGNhbiB1c2UgaXQgYXMgaXMsIHBhc3MgaXQg
dG8gdGhlIEF1dGhvcml6YXRpb24gU2VydmVyIGFuZA0KPiBkZWFsIHdpdGggdGhlDQo+IHJlc3Bv
bnNlLiBXb3JrcyBwZXJmZWN0bHkgZmluZSBJTU8uDQo+DQo+IE1hcml1cw0KPg0K

From eran@hueniverse.com  Fri Apr  2 09:18:11 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2CEF63A6869 for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 09:18:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.974
X-Spam-Level: 
X-Spam-Status: No, score=-0.974 tagged_above=-999 required=5 tests=[AWL=0.495,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id iIt2QpsTqIxL for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 09:18:10 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 55D483A6A04 for <oauth@ietf.org>; Fri,  2 Apr 2010 09:18:06 -0700 (PDT)
Received: (qmail 6726 invoked from network); 2 Apr 2010 16:18:38 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 2 Apr 2010 16:18:38 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Fri, 2 Apr 2010 09:18:38 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: OAuth WG <oauth@ietf.org>
Date: Fri, 2 Apr 2010 09:18:36 -0700
Thread-Topic: Scope using Realm idea
Thread-Index: AcrSgCV7VO0G3FAHREmKYhTk5ZzLvQ==
Message-ID: <C7DB66EC.31BA0%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 16:18:11 -0000

This is half baked but I wanted to get people's reaction:

Clients tries accessing a resource with or without an access token:

  GET /resource/1 HTTP/1.1
  Host: server.example.com

The server replies with:

  HTTP/1.1 401 Unauthorized
  WWW-Authenticate: OAuth realm=3D'example'

Clients requests an access token (using the client credentials flow) and
includes the requested realm (line breaks for display purposes):

  POST /access_token HTTP/1.1
  Host: server.example.com
 =20
  client_id=3Ds6BhdRkqt3&client_secret=3D8eSEIpnqmM&
  mode=3Dflow_client&realm=3Dexample

The server issues a access token capable of accessing the resource realm.

This means one new parameter on the request side which is already baked int=
o
the 401 response in a standard way.

Thoughts?

EHL


From email@pbryan.net  Fri Apr  2 09:22:24 2010
Return-Path: <email@pbryan.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 645713A659A for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 09:22:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.54
X-Spam-Level: 
X-Spam-Status: No, score=-0.54 tagged_above=-999 required=5 tests=[AWL=-0.929,  BAYES_20=-0.74, DNS_FROM_OPENWHOIS=1.13]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Rps4OSvshMex for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 09:22:22 -0700 (PDT)
Received: from maple.anode.ca (maple.anode.ca [72.14.183.184]) by core3.amsl.com (Postfix) with ESMTP id 635E83A684F for <oauth@ietf.org>; Fri,  2 Apr 2010 09:22:17 -0700 (PDT)
Received: from [192.168.1.4] (S0106001346fbe4af.vf.shawcable.net [174.1.44.35]) by maple.anode.ca (Postfix) with ESMTPSA id BA7E06458 for <oauth@ietf.org>; Fri,  2 Apr 2010 16:22:50 +0000 (UTC)
From: "Paul C. Bryan" <email@pbryan.net>
To: OAuth WG <oauth@ietf.org>
In-Reply-To: <C7DB66EC.31BA0%eran@hueniverse.com>
References: <C7DB66EC.31BA0%eran@hueniverse.com>
Content-Type: text/plain; charset="UTF-8"
Date: Fri, 02 Apr 2010 09:24:28 -0700
Message-ID: <1270225468.14570.2.camel@Dynamo>
Mime-Version: 1.0
X-Mailer: Evolution 2.28.1 
Content-Transfer-Encoding: 7bit
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 16:22:24 -0000

Presumably, the realm was used to discover the token issuance endpoints.
Why wouldn't the discovered URL of the access token endpoint dictate
realm, and why can't the realm then be implicit beyond discovery?

-----Original Message-----
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: OAuth WG <oauth@ietf.org>
Subject: [OAUTH-WG] Scope using Realm idea
Date: Fri, 2 Apr 2010 09:18:36 -0700

This is half baked but I wanted to get people's reaction:

Clients tries accessing a resource with or without an access token:

  GET /resource/1 HTTP/1.1
  Host: server.example.com

The server replies with:

  HTTP/1.1 401 Unauthorized
  WWW-Authenticate: OAuth realm='example'

Clients requests an access token (using the client credentials flow) and
includes the requested realm (line breaks for display purposes):

  POST /access_token HTTP/1.1
  Host: server.example.com
  
  client_id=s6BhdRkqt3&client_secret=8eSEIpnqmM&
  mode=flow_client&realm=example

The server issues a access token capable of accessing the resource realm.

This means one new parameter on the request side which is already baked into
the 401 response in a standard way.

Thoughts?

EHL

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth



From zachary.zeltsan@alcatel-lucent.com  Fri Apr  2 09:23:23 2010
Return-Path: <zachary.zeltsan@alcatel-lucent.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 279C33A6808 for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 09:23:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.168
X-Spam-Level: 
X-Spam-Status: No, score=-0.168 tagged_above=-999 required=5 tests=[AWL=-1.300, BAYES_50=0.001, DNS_FROM_OPENWHOIS=1.13, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bcYMlXbIJ9rR for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 09:23:20 -0700 (PDT)
Received: from ihemail2.lucent.com (ihemail2.lucent.com [135.245.0.35]) by core3.amsl.com (Postfix) with ESMTP id 6AB023A6896 for <oauth@ietf.org>; Fri,  2 Apr 2010 09:23:20 -0700 (PDT)
Received: from ihrh1.emsr.lucent.com (h135-1-218-53.lucent.com [135.1.218.53]) by ihemail2.lucent.com (8.13.8/IER-o) with ESMTP id o32GNrGL012927 for <oauth@ietf.org>; Fri, 2 Apr 2010 11:23:53 -0500 (CDT)
Received: from USNAVSXCHHUB01.ndc.alcatel-lucent.com (usnavsxchhub01.ndc.alcatel-lucent.com [135.3.39.110]) by ihrh1.emsr.lucent.com (8.13.8/emsr) with ESMTP id o32GNrLA006001 for <oauth@ietf.org>; Fri, 2 Apr 2010 11:23:53 -0500 (CDT)
Received: from USNAVSXCHMBSA3.ndc.alcatel-lucent.com ([135.3.39.126]) by USNAVSXCHHUB01.ndc.alcatel-lucent.com ([135.3.39.110]) with mapi; Fri, 2 Apr 2010 11:23:53 -0500
From: "Zeltsan, Zachary (Zachary)" <zachary.zeltsan@alcatel-lucent.com>
To: OAuth WG <oauth@ietf.org>
Date: Fri, 2 Apr 2010 11:23:52 -0500
Thread-Topic: OAUTH use cases
Thread-Index: AcrSgOHnMmdQ0rxVSf+0VfSMncz7Dw==
Message-ID: <5710F82C0E73B04FA559560098BF95B124F7A92BE6@USNAVSXCHMBSA3.ndc.alcatel-lucent.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/mixed; boundary="_004_5710F82C0E73B04FA559560098BF95B124F7A92BE6USNAVSXCHMBSA_"
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.35
Subject: [OAUTH-WG] OAUTH use cases
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 16:23:23 -0000

--_004_5710F82C0E73B04FA559560098BF95B124F7A92BE6USNAVSXCHMBSA_
Content-Type: multipart/alternative;
	boundary="_000_5710F82C0E73B04FA559560098BF95B124F7A92BE6USNAVSXCHMBSA_"

--_000_5710F82C0E73B04FA559560098BF95B124F7A92BE6USNAVSXCHMBSA_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

At the Anaheim meeting I volunteered to document the use cases of OAuth.  T=
he objective is to identify the use cases as a base for establishing the re=
quirements that the OAuth specifications should meet.
As a first step, I have compiled a list of the use cases that I have found =
in the drafts and in the OAUTH-WG email archive.
At this point, the list does not reflect any decisions on whether a particu=
lar use case should be supported or not. My intention was to identify the u=
se cases that have been discussed. It is likely that I have missed some, th=
erefore I ask for your input on the additional use cases.

The use cases in the attached document are unedited and often abbreviated.

Your feedback is welcome,

Zachary

--_000_5710F82C0E73B04FA559560098BF95B124F7A92BE6USNAVSXCHMBSA_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:x=3D"urn:schemas-microsoft-com:office:excel" xmlns:p=3D"urn:schemas-m=
icrosoft-com:office:powerpoint" xmlns:a=3D"urn:schemas-microsoft-com:office=
:access" xmlns:dt=3D"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s=3D"=
uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs=3D"urn:schemas-microsof=
t-com:rowset" xmlns:z=3D"#RowsetSchema" xmlns:b=3D"urn:schemas-microsoft-co=
m:office:publisher" xmlns:ss=3D"urn:schemas-microsoft-com:office:spreadshee=
t" xmlns:c=3D"urn:schemas-microsoft-com:office:component:spreadsheet" xmlns=
:odc=3D"urn:schemas-microsoft-com:office:odc" xmlns:oa=3D"urn:schemas-micro=
soft-com:office:activation" xmlns:html=3D"http://www.w3.org/TR/REC-html40" =
xmlns:q=3D"http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc=3D"http://m=
icrosoft.com/officenet/conferencing" xmlns:D=3D"DAV:" xmlns:Repl=3D"http://=
schemas.microsoft.com/repl/" xmlns:mt=3D"http://schemas.microsoft.com/share=
point/soap/meetings/" xmlns:x2=3D"http://schemas.microsoft.com/office/excel=
/2003/xml" xmlns:ppda=3D"http://www.passport.com/NameSpace.xsd" xmlns:ois=
=3D"http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir=3D"http://=
schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds=3D"http://www.w3=
.org/2000/09/xmldsig#" xmlns:dsp=3D"http://schemas.microsoft.com/sharepoint=
/dsp" xmlns:udc=3D"http://schemas.microsoft.com/data/udc" xmlns:xsd=3D"http=
://www.w3.org/2001/XMLSchema" xmlns:sub=3D"http://schemas.microsoft.com/sha=
repoint/soap/2002/1/alerts/" xmlns:ec=3D"http://www.w3.org/2001/04/xmlenc#"=
 xmlns:sp=3D"http://schemas.microsoft.com/sharepoint/" xmlns:sps=3D"http://=
schemas.microsoft.com/sharepoint/soap/" xmlns:xsi=3D"http://www.w3.org/2001=
/XMLSchema-instance" xmlns:udcs=3D"http://schemas.microsoft.com/data/udc/so=
ap" xmlns:udcxf=3D"http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udc=
p2p=3D"http://schemas.microsoft.com/data/udc/parttopart" xmlns:st=3D"&#1;" =
xmlns:st1=3D"urn:schemas-microsoft-com:office:smarttags" xmlns=3D"http://ww=
w.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 11 (filtered medium)">
<o:SmartTagType namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"City"/>
<o:SmartTagType namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"place"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"FuturaA Bk BT";
	panose-1:2 11 5 2 2 2 4 2 3 3;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"FuturaA Bk BT";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:#606420;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:Arial;
	color:windowtext;}
@page Section1
	{size:595.3pt 841.9pt;
	margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3D"#606420">

<div class=3DSection1>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>At the <st1:City w:st=3D"on"><st1:place w:st=3D"on">Anah=
eim</st1:place></st1:City>
meeting I volunteered to document the use cases of OAuth. &nbsp;The objecti=
ve is
to identify the use cases as a base for establishing the requirements that =
the OAuth
specifications should meet. <o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>As a first step, I have compiled a list of the use cases
that I have found in the drafts and in the OAUTH-WG email archive.<o:p></o:=
p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>At this point, the list does not reflect any decisions o=
n
whether a particular use case should be supported or not. My intention was =
to identify
the use cases that have been discussed. It is likely that I have missed som=
e,
therefore I ask for your input on the additional use cases.<o:p></o:p></spa=
n></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>The use cases in the attached document are unedited and
often abbreviated.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>Your feedback is welcome,<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>Zachary<o:p></o:p></span></font></p>

</div>

</body>

</html>

--_000_5710F82C0E73B04FA559560098BF95B124F7A92BE6USNAVSXCHMBSA_--

--_004_5710F82C0E73B04FA559560098BF95B124F7A92BE6USNAVSXCHMBSA_
Content-Type: text/html; name="oauth-use-cases.htm"
Content-Description: oauth-use-cases.htm
Content-Disposition: attachment; filename="oauth-use-cases.htm"; size=60643;
	creation-date="Fri, 02 Apr 2010 11:13:20 GMT";
	modification-date="Fri, 02 Apr 2010 11:13:20 GMT"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiDQp4bWxuczpvPSJ1
cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpvZmZpY2UiDQp4bWxuczp3PSJ1cm46c2No
ZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIg0KeG1sbnM6c3QxPSJ1cm46c2NoZW1hcy1t
aWNyb3NvZnQtY29tOm9mZmljZTpzbWFydHRhZ3MiDQp4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQoNCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj1Db250ZW50LVR5cGUg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXdpbmRvd3MtMTI1MiI+DQo8bWV0YSBuYW1lPVBy
b2dJZCBjb250ZW50PVdvcmQuRG9jdW1lbnQ+DQo8bWV0YSBuYW1lPUdlbmVyYXRvciBjb250ZW50
PSJNaWNyb3NvZnQgV29yZCAxMSI+DQo8bWV0YSBuYW1lPU9yaWdpbmF0b3IgY29udGVudD0iTWlj
cm9zb2Z0IFdvcmQgMTEiPg0KPGxpbmsgcmVsPUZpbGUtTGlzdCBocmVmPSJvYXV0aC11c2UtY2Fz
ZXNfZmlsZXMvZmlsZWxpc3QueG1sIj4NCjx0aXRsZT5PQXV0aCBVc2UgQ2FzZXM8L3RpdGxlPg0K
PG86U21hcnRUYWdUeXBlIG5hbWVzcGFjZXVyaT0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpv
ZmZpY2U6c21hcnR0YWdzIg0KIG5hbWU9IkNpdHkiLz4NCjxvOlNtYXJ0VGFnVHlwZSBuYW1lc3Bh
Y2V1cmk9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOnNtYXJ0dGFncyINCiBuYW1l
PSJwbGFjZSIvPg0KPCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQogPG86RG9jdW1lbnRQcm9wZXJ0
aWVzPg0KICA8bzpBdXRob3I+emVsdHNhbjwvbzpBdXRob3I+DQogIDxvOkxhc3RBdXRob3I+emVs
dHNhbjwvbzpMYXN0QXV0aG9yPg0KICA8bzpSZXZpc2lvbj4yPC9vOlJldmlzaW9uPg0KICA8bzpU
b3RhbFRpbWU+MTwvbzpUb3RhbFRpbWU+DQogIDxvOkxhc3RQcmludGVkPjIwMTAtMDQtMDJUMTU6
Mzg6MDBaPC9vOkxhc3RQcmludGVkPg0KICA8bzpDcmVhdGVkPjIwMTAtMDQtMDJUMTY6MTM6MDBa
PC9vOkNyZWF0ZWQ+DQogIDxvOkxhc3RTYXZlZD4yMDEwLTA0LTAyVDE2OjEzOjAwWjwvbzpMYXN0
U2F2ZWQ+DQogIDxvOlBhZ2VzPjE8L286UGFnZXM+DQogIDxvOldvcmRzPjIzNzQ8L286V29yZHM+
DQogIDxvOkNoYXJhY3RlcnM+MTM1Mzc8L286Q2hhcmFjdGVycz4NCiAgPG86Q29tcGFueT5BbGNh
dGVsLUx1Y2VudDwvbzpDb21wYW55Pg0KICA8bzpMaW5lcz4xMTI8L286TGluZXM+DQogIDxvOlBh
cmFncmFwaHM+MzE8L286UGFyYWdyYXBocz4NCiAgPG86Q2hhcmFjdGVyc1dpdGhTcGFjZXM+MTU4
ODA8L286Q2hhcmFjdGVyc1dpdGhTcGFjZXM+DQogIDxvOlZlcnNpb24+MTEuOTk5OTwvbzpWZXJz
aW9uPg0KIDwvbzpEb2N1bWVudFByb3BlcnRpZXM+DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lm
IGd0ZSBtc28gOV0+PHhtbD4NCiA8dzpXb3JkRG9jdW1lbnQ+DQogIDx3OlZhbGlkYXRlQWdhaW5z
dFNjaGVtYXMvPg0KICA8dzpTYXZlSWZYTUxJbnZhbGlkPmZhbHNlPC93OlNhdmVJZlhNTEludmFs
aWQ+DQogIDx3Oklnbm9yZU1peGVkQ29udGVudD5mYWxzZTwvdzpJZ25vcmVNaXhlZENvbnRlbnQ+
DQogIDx3OkFsd2F5c1Nob3dQbGFjZWhvbGRlclRleHQ+ZmFsc2U8L3c6QWx3YXlzU2hvd1BsYWNl
aG9sZGVyVGV4dD4NCiAgPHc6Q29tcGF0aWJpbGl0eT4NCiAgIDx3OkZvb3Rub3RlTGF5b3V0TGlr
ZVdXOC8+DQogICA8dzpTaGFwZUxheW91dExpa2VXVzgvPg0KICAgPHc6QWxpZ25UYWJsZXNSb3dC
eVJvdy8+DQogICA8dzpGb3JnZXRMYXN0VGFiQWxpZ25tZW50Lz4NCiAgIDx3OkxheW91dFJhd1Rh
YmxlV2lkdGgvPg0KICAgPHc6TGF5b3V0VGFibGVSb3dzQXBhcnQvPg0KICAgPHc6VXNlV29yZDk3
TGluZUJyZWFraW5nUnVsZXMvPg0KICAgPHc6U2VsZWN0RW50aXJlRmllbGRXaXRoU3RhcnRPckVu
ZC8+DQogICA8dzpVc2VXb3JkMjAwMlRhYmxlU3R5bGVSdWxlcy8+DQogIDwvdzpDb21wYXRpYmls
aXR5Pg0KICA8dzpCcm93c2VyTGV2ZWw+TWljcm9zb2Z0SW50ZXJuZXRFeHBsb3JlcjQ8L3c6QnJv
d3NlckxldmVsPg0KIDwvdzpXb3JkRG9jdW1lbnQ+DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lm
IGd0ZSBtc28gOV0+PHhtbD4NCiA8dzpMYXRlbnRTdHlsZXMgRGVmTG9ja2VkU3RhdGU9ImZhbHNl
IiBMYXRlbnRTdHlsZUNvdW50PSIxNTYiPg0KIDwvdzpMYXRlbnRTdHlsZXM+DQo8L3htbD48IVtl
bmRpZl0tLT48IS0tW2lmICFtc29dPjxvYmplY3QNCiBjbGFzc2lkPSJjbHNpZDozODQ4MTgwNy1D
QTBFLTQyRDItQkYzOS1CMzNBRjEzNUNDNEQiIGlkPWllb291aT48L29iamVjdD4NCjxzdHlsZT4N
CnN0MVw6KntiZWhhdmlvcjp1cmwoI2llb291aSkgfQ0KPC9zdHlsZT4NCjwhW2VuZGlmXS0tPg0K
PHN0eWxlPg0KPCEtLQ0KIC8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCiBAZm9udC1mYWNlDQoJe2Zv
bnQtZmFtaWx5OldpbmdkaW5nczsNCglwYW5vc2UtMTo1IDAgMCAwIDAgMCAwIDAgMCAwOw0KCW1z
by1mb250LWNoYXJzZXQ6MjsNCgltc28tZ2VuZXJpYy1mb250LWZhbWlseTphdXRvOw0KCW1zby1m
b250LXBpdGNoOnZhcmlhYmxlOw0KCW1zby1mb250LXNpZ25hdHVyZTowIDI2ODQzNTQ1NiAwIDAg
LTIxNDc0ODM2NDggMDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJGdXR1cmFBIEJrIEJU
IjsNCglwYW5vc2UtMToyIDExIDUgMiAyIDIgNCAyIDMgMzsNCgltc28tZm9udC1jaGFyc2V0OjA7
DQoJbXNvLWdlbmVyaWMtZm9udC1mYW1pbHk6c3dpc3M7DQoJbXNvLWZvbnQtcGl0Y2g6dmFyaWFi
bGU7DQoJbXNvLWZvbnQtc2lnbmF0dXJlOjEzNSAwIDAgMCAyNyAwO30NCiAvKiBTdHlsZSBEZWZp
bml0aW9ucyAqLw0KIHAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7
bXNvLXN0eWxlLXBhcmVudDoiIjsNCgltYXJnaW46MGluOw0KCW1hcmdpbi1ib3R0b206LjAwMDFw
dDsNCgltc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47DQoJZm9udC1zaXplOjExLjBwdDsNCglt
c28tYmlkaS1mb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OiJGdXR1cmFBIEJrIEJUIjsN
Cgltc28tZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsNCgltc28tYmlkaS1m
b250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5r
DQoJe2NvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTsNCgl0ZXh0LXVuZGVy
bGluZTpzaW5nbGU7fQ0KYTp2aXNpdGVkLCBzcGFuLk1zb0h5cGVybGlua0ZvbGxvd2VkDQoJe2Nv
bG9yOiM2MDY0MjA7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTsNCgl0ZXh0LXVuZGVybGlu
ZTpzaW5nbGU7fQ0KcHJlDQoJe21hcmdpbjowaW47DQoJbWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0K
CW1zby1wYWdpbmF0aW9uOndpZG93LW9ycGhhbjsNCglmb250LXNpemU6MTAuMHB0Ow0KCWZvbnQt
ZmFtaWx5OiJDb3VyaWVyIE5ldyI7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IlRpbWVzIE5l
dyBSb21hbiI7fQ0Kc3Bhbi5taDENCgl7bXNvLXN0eWxlLW5hbWU6bV9oMTsNCglmb250LWZhbWls
eTpBcmlhbDsNCgltc28tYXNjaWktZm9udC1mYW1pbHk6QXJpYWw7DQoJbXNvLWhhbnNpLWZvbnQt
ZmFtaWx5OkFyaWFsOw0KCW1zby1iaWRpLWZvbnQtZmFtaWx5OkFyaWFsOw0KCWZvbnQtd2VpZ2h0
OmJvbGQ7fQ0Kc3Bhbi5tZnRyMQ0KCXttc28tc3R5bGUtbmFtZTptX2Z0cjE7DQoJY29sb3I6Z3Jh
eTt9DQpzcGFuLm1oZHIxDQoJe21zby1zdHlsZS1uYW1lOm1faGRyMTsNCgljb2xvcjpncmF5O30N
CkBwYWdlIFNlY3Rpb24xDQoJe3NpemU6NTk1LjNwdCA4NDEuOXB0Ow0KCW1hcmdpbjoxLjBpbiAx
LjI1aW4gMS4waW4gMS4yNWluOw0KCW1zby1oZWFkZXItbWFyZ2luOjM1LjRwdDsNCgltc28tZm9v
dGVyLW1hcmdpbjozNS40cHQ7DQoJbXNvLXBhcGVyLXNvdXJjZTowO30NCmRpdi5TZWN0aW9uMQ0K
CXtwYWdlOlNlY3Rpb24xO30NCiAvKiBMaXN0IERlZmluaXRpb25zICovDQogQGxpc3QgbDANCgl7
bXNvLWxpc3QtaWQ6MjIzNDk2MDk5Ow0KCW1zby1saXN0LXR5cGU6aHlicmlkOw0KCW1zby1saXN0
LXRlbXBsYXRlLWlkczotNjE4MTE4NTIyIDY3Njk4Njg5IDY3Njk4NjkxIDY3Njk4NjkzIDY3Njk4
Njg5IDY3Njk4NjkxIDY3Njk4NjkzIDY3Njk4Njg5IDY3Njk4NjkxIDY3Njk4NjkzO30NCkBsaXN0
IGwwOmxldmVsMQ0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVs
LXRleHQ6XEYwQjc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOi41aW47DQoJbXNvLWxldmVsLW51bWJl
ci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0uMjVpbjsNCglmb250LWZhbWlseTpTeW1i
b2w7fQ0KQGxpc3QgbDENCgl7bXNvLWxpc3QtaWQ6MzQ4MTQ2MzIwOw0KCW1zby1saXN0LXR5cGU6
aHlicmlkOw0KCW1zby1saXN0LXRlbXBsYXRlLWlkczoxNjYzODM0MzIwIDY3Njk4NzA5IDY3Njk4
NjkxIDY3Njk4NjkzIDY3Njk4Njg5IDY3Njk4NjkxIDY3Njk4NjkzIDY3Njk4Njg5IDY3Njk4Njkx
IDY3Njk4NjkzO30NCkBsaXN0IGwxOmxldmVsMQ0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDph
bHBoYS11cHBlcjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6LjVpbjsNCgltc28tbGV2ZWwtbnVtYmVy
LXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LS4yNWluO30NCkBsaXN0IGwyDQoJe21zby1s
aXN0LWlkOjM3MjMxMTc4NDsNCgltc28tbGlzdC10eXBlOmh5YnJpZDsNCgltc28tbGlzdC10ZW1w
bGF0ZS1pZHM6LTEzNzY0NTYwNDAgNjc2OTg2ODkgNjc2OTg2OTEgNjc2OTg2OTMgNjc2OTg2ODkg
Njc2OTg2OTEgNjc2OTg2OTMgNjc2OTg2ODkgNjc2OTg2OTEgNjc2OTg2OTM7fQ0KQGxpc3QgbDI6
bGV2ZWwxDQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4
dDpcRjBCNzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6LjVpbjsNCgltc28tbGV2ZWwtbnVtYmVyLXBv
c2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LS4yNWluOw0KCWZvbnQtZmFtaWx5OlN5bWJvbDt9
DQpAbGlzdCBsMw0KCXttc28tbGlzdC1pZDo1MjA2MjkwMDA7DQoJbXNvLWxpc3QtdHlwZTpoeWJy
aWQ7DQoJbXNvLWxpc3QtdGVtcGxhdGUtaWRzOjE1MTQxNDk0MCA2NzY5ODcxMSA2NzY5ODcxMyA2
NzY5ODcxNSA2NzY5ODcwMyA2NzY5ODcxMyA2NzY5ODcxNSA2NzY5ODcwMyA2NzY5ODcxMyA2NzY5
ODcxNTt9DQpAbGlzdCBsMzpsZXZlbDENCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YWxwaGEt
bG93ZXI7DQoJbXNvLWxldmVsLXRleHQ6IiUxXCkiOw0KCW1zby1sZXZlbC10YWItc3RvcDouNWlu
Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotLjI1aW47
fQ0KQGxpc3QgbDQNCgl7bXNvLWxpc3QtaWQ6MTI4NzgwODQ3NjsNCgltc28tbGlzdC10eXBlOmh5
YnJpZDsNCgltc28tbGlzdC10ZW1wbGF0ZS1pZHM6LTEyNjQ1OTUyNiA2NzY5ODY4OSA2NzY5ODY5
MSA2NzY5ODY5MyA2NzY5ODY4OSA2NzY5ODY5MSA2NzY5ODY5MyA2NzY5ODY4OSA2NzY5ODY5MSA2
NzY5ODY5Mzt9DQpAbGlzdCBsNDpsZXZlbDENCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVs
bGV0Ow0KCW1zby1sZXZlbC10ZXh0OlxGMEI3Ow0KCW1zby1sZXZlbC10YWItc3RvcDouNWluOw0K
CW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotLjI1aW47DQoJ
Zm9udC1mYW1pbHk6U3ltYm9sO30NCkBsaXN0IGw1DQoJe21zby1saXN0LWlkOjEzMjUxNTg5NzI7
DQoJbXNvLWxpc3QtdHlwZTpoeWJyaWQ7DQoJbXNvLWxpc3QtdGVtcGxhdGUtaWRzOjE1Mzg5NjY2
MiA2NzY5ODY4OSA2NzY5ODY5MSA2NzY5ODY5MyA2NzY5ODY4OSA2NzY5ODY5MSA2NzY5ODY5MyA2
NzY5ODY4OSA2NzY5ODY5MSA2NzY5ODY5Mzt9DQpAbGlzdCBsNTpsZXZlbDENCgl7bXNvLWxldmVs
LW51bWJlci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0OlxGMEI3Ow0KCW1zby1sZXZl
bC10YWItc3RvcDouNWluOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0
LWluZGVudDotLjI1aW47DQoJZm9udC1mYW1pbHk6U3ltYm9sO30NCkBsaXN0IGw2DQoJe21zby1s
aXN0LWlkOjE2NTA0MDAzMDg7DQoJbXNvLWxpc3QtdHlwZTpoeWJyaWQ7DQoJbXNvLWxpc3QtdGVt
cGxhdGUtaWRzOjE2NDU2MzgyMTggNjc2OTg2ODkgNjc2OTg2OTEgNjc2OTg2OTMgNjc2OTg2ODkg
Njc2OTg2OTEgNjc2OTg2OTMgNjc2OTg2ODkgNjc2OTg2OTEgNjc2OTg2OTM7fQ0KQGxpc3QgbDY6
bGV2ZWwxDQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4
dDpcRjBCNzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6LjVpbjsNCgltc28tbGV2ZWwtbnVtYmVyLXBv
c2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LS4yNWluOw0KCWZvbnQtZmFtaWx5OlN5bWJvbDt9
DQpAbGlzdCBsNw0KCXttc28tbGlzdC1pZDoxOTE1MDQ4Mjc1Ow0KCW1zby1saXN0LXRlbXBsYXRl
LWlkczoyMDc3OTQ2NTAwO30NCkBsaXN0IGw3OmxldmVsMQ0KCXttc28tbGV2ZWwtbnVtYmVyLWZv
cm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ6XEYwQjc7DQoJbXNvLWxldmVsLXRhYi1zdG9w
Oi41aW47DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0u
MjVpbjsNCglmb250LWZhbWlseTpTeW1ib2w7fQ0KQGxpc3QgbDc6bGV2ZWwyDQoJe21zby1sZXZl
bC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDpvOw0KCW1zby1sZXZlbC10
YWItc3RvcDoxLjBpbjsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1p
bmRlbnQ6LS4yNWluOw0KCWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7fQ0KQGxpc3QgbDc6bGV2
ZWwzDQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDpc
RjBBNzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6MS41aW47DQoJbXNvLWxldmVsLW51bWJlci1wb3Np
dGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0uMjVpbjsNCglmb250LWZhbWlseTpXaW5nZGluZ3M7
fQ0KQGxpc3QgbDc6bGV2ZWw0DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCglt
c28tbGV2ZWwtdGV4dDpcRjBCNzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6Mi4waW47DQoJbXNvLWxl
dmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0uMjVpbjsNCglmb250LWZh
bWlseTpTeW1ib2w7fQ0KQGxpc3QgbDc6bGV2ZWw1DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0
OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDpvOw0KCW1zby1sZXZlbC10YWItc3RvcDoyLjVpbjsN
Cgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LS4yNWluOw0K
CWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7fQ0KQGxpc3QgbDc6bGV2ZWw2DQoJe21zby1sZXZl
bC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDpcRjBBNzsNCgltc28tbGV2
ZWwtdGFiLXN0b3A6My4waW47DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRl
eHQtaW5kZW50Oi0uMjVpbjsNCglmb250LWZhbWlseTpXaW5nZGluZ3M7fQ0KQGxpc3QgbDc6bGV2
ZWw3DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDpc
RjBCNzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6My41aW47DQoJbXNvLWxldmVsLW51bWJlci1wb3Np
dGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0uMjVpbjsNCglmb250LWZhbWlseTpTeW1ib2w7fQ0K
QGxpc3QgbDc6bGV2ZWw4DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28t
bGV2ZWwtdGV4dDpvOw0KCW1zby1sZXZlbC10YWItc3RvcDo0LjBpbjsNCgltc28tbGV2ZWwtbnVt
YmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LS4yNWluOw0KCWZvbnQtZmFtaWx5OiJD
b3VyaWVyIE5ldyI7fQ0KQGxpc3QgbDc6bGV2ZWw5DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0
OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDpcRjBBNzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6NC41
aW47DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0uMjVp
bjsNCglmb250LWZhbWlseTpXaW5nZGluZ3M7fQ0Kb2wNCgl7bWFyZ2luLWJvdHRvbTowaW47fQ0K
dWwNCgl7bWFyZ2luLWJvdHRvbTowaW47fQ0KLS0+DQo8L3N0eWxlPg0KPCEtLVtpZiBndGUgbXNv
IDEwXT4NCjxzdHlsZT4NCiAvKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KIHRhYmxlLk1zb05vcm1h
bFRhYmxlDQoJe21zby1zdHlsZS1uYW1lOiJUYWJsZSBOb3JtYWwiOw0KCW1zby10c3R5bGUtcm93
YmFuZC1zaXplOjA7DQoJbXNvLXRzdHlsZS1jb2xiYW5kLXNpemU6MDsNCgltc28tc3R5bGUtbm9z
aG93OnllczsNCgltc28tc3R5bGUtcGFyZW50OiIiOw0KCW1zby1wYWRkaW5nLWFsdDowaW4gNS40
cHQgMGluIDUuNHB0Ow0KCW1zby1wYXJhLW1hcmdpbjowaW47DQoJbXNvLXBhcmEtbWFyZ2luLWJv
dHRvbTouMDAwMXB0Ow0KCW1zby1wYWdpbmF0aW9uOndpZG93LW9ycGhhbjsNCglmb250LXNpemU6
MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOw0KCW1zby1hbnNpLWxhbmd1
YWdlOiMwNDAwOw0KCW1zby1mYXJlYXN0LWxhbmd1YWdlOiMwNDAwOw0KCW1zby1iaWRpLWxhbmd1
YWdlOiMwNDAwO30NCjwvc3R5bGU+DQo8IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHht
bD4NCiA8bzpzaGFwZWRlZmF1bHRzIHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIyMDUwIi8+DQo8L3ht
bD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCiA8bzpzaGFwZWxheW91dCB2
OmV4dD0iZWRpdCI+DQogIDxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIi8+DQogPC9vOnNo
YXBlbGF5b3V0PjwveG1sPjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0KDQo8Ym9keSBsYW5nPUVOLVVT
IGxpbms9Ymx1ZSB2bGluaz0iIzYwNjQyMCIgc3R5bGU9J3RhYi1pbnRlcnZhbDouNWluJz4NCg0K
PGRpdiBjbGFzcz1TZWN0aW9uMT4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIGFsaWduPWNlbnRlciBz
dHlsZT0nbWFyZ2luLWJvdHRvbTo2LjBwdDt0ZXh0LWFsaWduOmNlbnRlcjsNCmxpbmUtaGVpZ2h0
OjE0LjRwdDt0YWItc3RvcHM6NDUuOHB0IDkxLjZwdCAxMzcuNHB0IDE4My4ycHQgMjI5LjBwdCAy
NzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0IDQ1OC4wcHQgNTAzLjhwdCA1NDkuNnB0IDU5
NS40cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44cHQnPjxiPjxzcGFuDQpzdHlsZT0nZm9udC1zaXpl
OjEwLjBwdDttc28tYmlkaS1mb250LXNpemU6MTIuMHB0O2ZvbnQtZmFtaWx5OkFyaWFsJz5PQXV0
aCBVc2UNCkNhc2VzPG86cD48L286cD48L3NwYW4+PC9iPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9y
bWFsIHN0eWxlPSdtYXJnaW4tYm90dG9tOjYuMHB0O2xpbmUtaGVpZ2h0OjE0LjRwdDt0YWItc3Rv
cHM6DQo0NS44cHQgOTEuNnB0IDEzNy40cHQgMTgzLjJwdCAyMjkuMHB0IDI3NC44cHQgMzIwLjZw
dCAzNjYuNHB0IDQxMi4ycHQgNDU4LjBwdCA1MDMuOHB0IDU0OS42cHQgNTk1LjRwdCA2NDEuMnB0
IDY4Ny4wcHQgNzMyLjhwdCc+PGI+PHNwYW4NCnN0eWxlPSdmb250LXNpemU6MTAuMHB0O21zby1i
aWRpLWZvbnQtc2l6ZToxMi4wcHQ7Zm9udC1mYW1pbHk6QXJpYWwnPjEuIFVzZQ0KY2FzZSBvZiB0
aGUgZHJhZnQgPGkgc3R5bGU9J21zby1iaWRpLWZvbnQtc3R5bGU6bm9ybWFsJz5UaGUgT0F1dGgg
MS4wIFByb3RvY29sPC9pPjxvOnA+PC9vOnA+PC9zcGFuPjwvYj48L3A+DQoNCjxwIGNsYXNzPU1z
b05vcm1hbCBzdHlsZT0nbGluZS1oZWlnaHQ6MTQuNHB0O3RhYi1zdG9wczo0NS44cHQgOTEuNnB0
IDEzNy40cHQgMTgzLjJwdCAyMjkuMHB0IDI3NC44cHQgMzIwLjZwdCAzNjYuNHB0IDQxMi4ycHQg
NDU4LjBwdCA1MDMuOHB0IDU0OS42cHQgNTk1LjRwdCA2NDEuMnB0IDY4Ny4wcHQgNzMyLjhwdCc+
PHNwYW4NCnN0eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyIn
PihkcmFmdC1oYW1tZXItb2F1dGgtMTAgYXV0aG9yZWQNCmJ5IEUuIEhhbW1lci1MYWhhdiwgRWQu
OyBwdWJsaXNoZWQgb24gRmVicnVhcnkgNSwgMjAxMCk8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoN
CjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbGluZS1oZWlnaHQ6MTQuNHB0O3RhYi1zdG9wczo0
NS44cHQgOTEuNnB0IDEzNy40cHQgMTgzLjJwdCAyMjkuMHB0IDI3NC44cHQgMzIwLjZwdCAzNjYu
NHB0IDQxMi4ycHQgNDU4LjBwdCA1MDMuOHB0IDU0OS42cHQgNTk1LjRwdCA2NDEuMnB0IDY4Ny4w
cHQgNzMyLjhwdCc+PHNwYW4NCnN0eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJD
b3VyaWVyIE5ldyInPkEgd2ViIHVzZXIgKHJlc291cmNlIG93bmVyKQ0KY2FuIGdyYW50IGEgcHJp
bnRpbmcgc2VydmljZSAoY2xpZW50KSBhY2Nlc3MgdG8gaGVyIHByaXZhdGUgcGhvdG9zIHN0b3Jl
ZCBhdCBhDQpwaG90byBzaGFyaW5nIHNlcnZpY2UgKHNlcnZlciksIHdpdGhvdXQgc2hhcmluZyBo
ZXIgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIHdpdGgNCnRoZSBwcmludGluZyBzZXJ2aWNlLjxzcGFu
IHN0eWxlPSdtc28tc3BhY2VydW46eWVzJz6gIDwvc3Bhbj5JbnN0ZWFkLCBzaGUNCmF1dGhlbnRp
Y2F0ZXMgZGlyZWN0bHkgd2l0aCB0aGUgcGhvdG8gc2hhcmluZyBzZXJ2aWNlIHdoaWNoIGlzc3Vl
cyB0aGUgcHJpbnRpbmcNCnNlcnZpY2UgZGVsZWdhdGlvbi1zcGVjaWZpYyBjcmVkZW50aWFscy48
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbGluZS1o
ZWlnaHQ6MTQuNHB0O3RhYi1zdG9wczo0NS44cHQgOTEuNnB0IDEzNy40cHQgMTgzLjJwdCAyMjku
MHB0IDI3NC44cHQgMzIwLjZwdCAzNjYuNHB0IDQxMi4ycHQgNDU4LjBwdCA1MDMuOHB0IDU0OS42
cHQgNTk1LjRwdCA2NDEuMnB0IDY4Ny4wcHQgNzMyLjhwdCc+PHNwYW4NCnN0eWxlPSdmb250LXNp
emU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyInPj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PTxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tYm90dG9tOjYu
MHB0O2xpbmUtaGVpZ2h0OjE0LjRwdDt0YWItc3RvcHM6DQo0NS44cHQgOTEuNnB0IDEzNy40cHQg
MTgzLjJwdCAyMjkuMHB0IDI3NC44cHQgMzIwLjZwdCAzNjYuNHB0IDQxMi4ycHQgNDU4LjBwdCA1
MDMuOHB0IDU0OS42cHQgNTk1LjRwdCA2NDEuMnB0IDY4Ny4wcHQgNzMyLjhwdCc+PGI+PHNwYW4N
CnN0eWxlPSdmb250LXNpemU6MTAuMHB0O21zby1iaWRpLWZvbnQtc2l6ZToxMi4wcHQ7Zm9udC1m
YW1pbHk6QXJpYWwnPjIuIFVzZQ0KY2FzZXMgb2YgdGhlIGRyYWZ0IDxpIHN0eWxlPSdtc28tYmlk
aS1mb250LXN0eWxlOm5vcm1hbCc+T0F1dGggV2ViIFJlc291cmNlDQpBdXRob3JpemF0aW9uIFBy
b2ZpbGVzIDxzcGFuIHN0eWxlPSdtc28tc3BhY2VydW46eWVzJz6gPC9zcGFuPjwvaT48bzpwPjwv
bzpwPjwvc3Bhbj48L2I+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J2xpbmUtaGVp
Z2h0OjE0LjRwdDt0YWItc3RvcHM6NDUuOHB0IDkxLjZwdCAxMzcuNHB0IDE4My4ycHQgMjI5LjBw
dCAyNzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0IDQ1OC4wcHQgNTAzLjhwdCA1NDkuNnB0
IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44cHQnPjxzcGFuDQpzdHlsZT0nZm9udC1zaXpl
OjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXciJz4oZHJhZnQtaGFyZHQtb2F1dGgtMDEN
CmF1dGhvcmVkIGJ5IEQuIEhhcmR0LCBFZC4sIE1pY3Jvc29mdCw8bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbGluZS1oZWlnaHQ6MTQuNHB0O3RhYi1z
dG9wczo0NS44cHQgOTEuNnB0IDEzNy40cHQgMTgzLjJwdCAyMjkuMHB0IDI3NC44cHQgMzIwLjZw
dCAzNjYuNHB0IDQxMi4ycHQgNDU4LjBwdCA1MDMuOHB0IDU0OS42cHQgNTk1LjRwdCA2NDEuMnB0
IDY4Ny4wcHQgNzMyLjhwdCc+PHNwYW4NCnN0eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFt
aWx5OiJDb3VyaWVyIE5ldyInPjxzcGFuDQpzdHlsZT0nbXNvLXNwYWNlcnVuOnllcyc+oDwvc3Bh
bj5BLiBUb20sIFlhaG9vISwgQi4gRWF0b24sIEdvb2dsZSwgWS4gR29sYW5kLA0KTWljcm9zb2Z0
OyBwdWJsaXNoZWQgb24gSmFudWFyeSAxNSwgMjAxMCk8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoN
CjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbGluZS1oZWlnaHQ6MTQuNHB0O3RhYi1zdG9wczo0
NS44cHQgOTEuNnB0IDEzNy40cHQgMTgzLjJwdCAyMjkuMHB0IDI3NC44cHQgMzIwLjZwdCAzNjYu
NHB0IDQxMi4ycHQgNDU4LjBwdCA1MDMuOHB0IDU0OS42cHQgNTk1LjRwdCA2NDEuMnB0IDY4Ny4w
cHQgNzMyLjhwdCc+PGINCnN0eWxlPSdtc28tYmlkaS1mb250LXdlaWdodDpub3JtYWwnPjxzcGFu
IHN0eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5Og0KIkNvdXJpZXIgTmV3Iic+QXV0
b25vbW91cyBDbGllbnQgUHJvZmlsZXM8c3Bhbg0Kc3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqCg
oKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCg
oKCgDQo8L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9iPjwvcD4NCg0KPHVsIHN0eWxlPSdtYXJn
aW4tdG9wOjBpbicgdHlwZT1kaXNjPg0KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdp
bi1ib3R0b206Ni4wcHQ7bXNvLWxpc3Q6bDQgbGV2ZWwxIGxmbzE7DQogICAgIHRhYi1zdG9wczps
aXN0IC41aW4gbGVmdCA0NS44cHQgOTEuNnB0IDEzNy40cHQgMTgzLjJwdCAyMjkuMHB0IDI3NC44
cHQgMzIwLjZwdCAzNjYuNHB0IDQxMi4ycHQgNDU4LjBwdCA1MDMuOHB0IDU0OS42cHQgNTk1LjRw
dCA2NDEuMnB0IDY4Ny4wcHQgNzMyLjhwdCc+PGINCiAgICAgc3R5bGU9J21zby1iaWRpLWZvbnQt
d2VpZ2h0Om5vcm1hbCc+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7DQogICAgIGZvbnQt
ZmFtaWx5OiJDb3VyaWVyIE5ldyInPkNsaWVudCBBY2NvdW50IGFuZCBQYXNzd29yZCA8L3NwYW4+
PC9iPjxzcGFuDQogICAgIHN0eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJDb3Vy
aWVyIE5ldyInPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+DQo8L3VsPg0KDQo8cCBjbGFzcz1Nc29O
b3JtYWwgc3R5bGU9J21hcmdpbi10b3A6MGluO21hcmdpbi1yaWdodDowaW47bWFyZ2luLWJvdHRv
bTo2LjBwdDsNCm1hcmdpbi1sZWZ0Oi41aW47bGluZS1oZWlnaHQ6MTQuNHB0O3RhYi1zdG9wczo0
NS44cHQgOTEuNnB0IDEzNy40cHQgMTgzLjJwdCAyMjkuMHB0IDI3NC44cHQgMzIwLjZwdCAzNjYu
NHB0IDQxMi4ycHQgNDU4LjBwdCA1MDMuOHB0IDU0OS42cHQgNTk1LjRwdCA2NDEuMnB0IDY4Ny4w
cHQgNzMyLjhwdCc+PHNwYW4NCnN0eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJD
b3VyaWVyIE5ldyInPlRoZSBDbGllbnQgaXMgcHJvdmlzaW9uZWQNCndpdGggYW4gYWNjb3VudCBu
YW1lIGFuZCBjb3JyZXNwb25kaW5nIHBhc3N3b3JkIGJ5IHRoZSBBdXRob3JpemF0aW9uDQpTZXJ2
ZXIuPHNwYW4gc3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqAgPC9zcGFuPlRoZSBDbGllbnQgcHJl
c2VudHMgdGhlIGFjY291bnQNCm5hbWUgYW5kIHBhc3N3b3JkIHRvIHRoZSBBY2Nlc3MgVG9rZW4g
VVJMIGF0IHRoZSBBdXRob3JpemF0aW9uIFNlcnZlciBpbiBleGNoYW5nZQ0KZm9yIGFuIEFjY2Vz
cyBUb2tlbi4gVGhpcyBwcm9maWxlIGlzIG5vdCBpbnRlbmRlZCBmb3IgYSBDbGllbnQgYWN0aW5n
IG9uIGJlaGFsZg0Kb2YgYSBVc2VyLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHVsIHN0eWxl
PSdtYXJnaW4tdG9wOjBpbicgdHlwZT1kaXNjPg0KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9
J21hcmdpbi1ib3R0b206Ni4wcHQ7bGluZS1oZWlnaHQ6MTQuNHB0O21zby1saXN0Og0KICAgICBs
NCBsZXZlbDEgbGZvMTt0YWItc3RvcHM6bGlzdCAuNWluIGxlZnQgNDUuOHB0IDkxLjZwdCAxMzcu
NHB0IDE4My4ycHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0IDQ1OC4w
cHQgNTAzLjhwdCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44cHQnPjxiDQog
ICAgIHN0eWxlPSdtc28tYmlkaS1mb250LXdlaWdodDpub3JtYWwnPjxzcGFuIHN0eWxlPSdmb250
LXNpemU6MTAuMHB0Ow0KICAgICBmb250LWZhbWlseToiQ291cmllciBOZXciJz5Bc3NlcnRpb248
L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSdmb250LXNpemU6DQogICAgIDEwLjBwdDtmb250LWZhbWls
eToiQ291cmllciBOZXciJz4gPGIgc3R5bGU9J21zby1iaWRpLWZvbnQtd2VpZ2h0Om5vcm1hbCc+
UHJvZmlsZTwvYj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPg0KPC91bD4NCg0KPHAgY2xhc3M9TXNv
Tm9ybWFsIHN0eWxlPSdtYXJnaW4tdG9wOjBpbjttYXJnaW4tcmlnaHQ6MGluO21hcmdpbi1ib3R0
b206Ni4wcHQ7DQptYXJnaW4tbGVmdDouNWluO3RhYi1zdG9wczo0NS44cHQgOTEuNnB0IDEzNy40
cHQgMTgzLjJwdCAyMjkuMHB0IDI3NC44cHQgMzIwLjZwdCAzNjYuNHB0IDQxMi4ycHQgNDU4LjBw
dCA1MDMuOHB0IDU0OS42cHQgNTk1LjRwdCA2NDEuMnB0IDY4Ny4wcHQgNzMyLjhwdCc+PHNwYW4N
CnN0eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyInPlRoaXMg
cHJvZmlsZSBlbmFibGVzIGENCkNsaWVudCB3aXRoIGEgU0FNTCA8c3BhbiBzdHlsZT0nbXNvLXNw
YWNlcnVuOnllcyc+oDwvc3Bhbj5vciBvdGhlciBhc3NlcnRpb24NCnJlY29nbml6ZWQgYnkgdGhl
IEF1dGhvcml6YXRpb24gU2VydmVyLjxzcGFuIHN0eWxlPSdtc28tc3BhY2VydW46eWVzJz6gDQo8
L3NwYW4+VGhlIENsaWVudCBwcmVzZW50cyB0aGUgYXNzZXJ0aW9uIHRvIHRoZSBBY2Nlc3MgVG9r
ZW4gVVJMIGF0IHRoZQ0KQXV0aG9yaXphdGlvbiBTZXJ2ZXIgaW4gZXhjaGFuZ2UgZm9yIGFuIEFj
Y2VzcyBUb2tlbi48c3Bhbg0Kc3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqAgPC9zcGFuPkhvdyB0
aGUgQ2xpZW50IG9idGFpbnMgdGhlIGFzc2VydGlvbiBpcyBvdXQNCm9mIHNjb3BlIG9mIE9BdXRo
IFdSQVAuPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9
J2xpbmUtaGVpZ2h0OjE0LjRwdDt0YWItc3RvcHM6NDUuOHB0IDkxLjZwdCAxMzcuNHB0IDE4My4y
cHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0IDQ1OC4wcHQgNTAzLjhw
dCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44cHQnPjxiDQpzdHlsZT0nbXNv
LWJpZGktZm9udC13ZWlnaHQ6bm9ybWFsJz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtm
b250LWZhbWlseToNCiJDb3VyaWVyIE5ldyInPlVzZXIgRGVsZWdhdGlvbiBQcm9maWxlczxvOnA+
PC9vOnA+PC9zcGFuPjwvYj48L3A+DQoNCjx1bCBzdHlsZT0nbWFyZ2luLXRvcDowaW4nIHR5cGU9
ZGlzYz4NCiA8bGkgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tYm90dG9tOjYuMHB0O21z
by1saXN0Omw0IGxldmVsMSBsZm8xOw0KICAgICB0YWItc3RvcHM6bGlzdCAuNWluIGxlZnQgNDUu
OHB0IDkxLjZwdCAxMzcuNHB0IDE4My4ycHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2LjRw
dCA0MTIuMnB0IDQ1OC4wcHQgNTAzLjhwdCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0
IDczMi44cHQnPjxiDQogICAgIHN0eWxlPSdtc28tYmlkaS1mb250LXdlaWdodDpub3JtYWwnPjxz
cGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Ow0KICAgICBmb250LWZhbWlseToiQ291cmllciBO
ZXciJz5Vc2VybmFtZSBhbmQgUGFzc3dvcmQgUHJvZmlsZTwvc3Bhbj48L2I+PHNwYW4NCiAgICAg
c3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Iic+PG86cD48
L286cD48L3NwYW4+PC9saT4NCjwvdWw+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFy
Z2luLXRvcDowaW47bWFyZ2luLXJpZ2h0OjBpbjttYXJnaW4tYm90dG9tOjYuMHB0Ow0KbWFyZ2lu
LWxlZnQ6LjVpbjt0YWItc3RvcHM6NDUuOHB0IDkxLjZwdCAxMzcuNHB0IDE4My4ycHQgMjI5LjBw
dCAyNzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0IDQ1OC4wcHQgNTAzLjhwdCA1NDkuNnB0
IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44cHQnPjxzcGFuDQpzdHlsZT0nZm9udC1zaXpl
OjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXciJz5UaGlzIHByb2ZpbGUgaXMgc3VpdGFi
bGUNCndoZXJlIHRoZSBDbGllbnQgaXMgYW4gYXBwbGljYXRpb24gdGhlIFVzZXIgaGFzIGluc3Rh
bGxlZCBvbiB0aGVpciBjb21wdXRlciBhbmQNCnRoZSBVc2VyIHVzZXMgYSB1c2VybmFtZSBhbmQg
cGFzc3dvcmQgdG8gYXV0aGVudGljYXRlIHRvIHRoZSBBdXRob3JpemF0aW9uIHNlcnZlci48c3Bh
bg0Kc3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqAgPC9zcGFuPlRoaXMgcHJvZmlsZSBlbmFibGVz
IGEgQ2xpZW50IHRvIGFjdCBvbg0KYmVoYWxmIG9mIHRoZSBVc2VyIHdpdGhvdXQgaGF2aW5nIHRv
IHBlcm1hbmVudGx5IHN0b3JlIHRoZSBVc2VyJ3MgdXNlcm5hbWUgYW5kDQpwYXNzd29yZC48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQoNCjx1bCBzdHlsZT0nbWFyZ2luLXRvcDowaW4nIHR5cGU9ZGlz
Yz4NCiA8bGkgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tYm90dG9tOjYuMHB0O21zby1s
aXN0Omw0IGxldmVsMSBsZm8xOw0KICAgICB0YWItc3RvcHM6bGlzdCAuNWluIGxlZnQgNDUuOHB0
IDkxLjZwdCAxMzcuNHB0IDE4My4ycHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0
MTIuMnB0IDQ1OC4wcHQgNTAzLjhwdCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0IDcz
Mi44cHQnPjxiDQogICAgIHN0eWxlPSdtc28tYmlkaS1mb250LXdlaWdodDpub3JtYWwnPjxzcGFu
IHN0eWxlPSdmb250LXNpemU6MTAuMHB0Ow0KICAgICBmb250LWZhbWlseToiQ291cmllciBOZXci
Jz5XZWIgQXBwIFByb2ZpbGU8bzpwPjwvbzpwPjwvc3Bhbj48L2I+PC9saT4NCjwvdWw+DQoNCjxw
IGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLXRvcDowaW47bWFyZ2luLXJpZ2h0OjBpbjtt
YXJnaW4tYm90dG9tOjYuMHB0Ow0KbWFyZ2luLWxlZnQ6LjVpbjt0YWItc3RvcHM6NDUuOHB0IDkx
LjZwdCAxMzcuNHB0IDE4My4ycHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0MTIu
MnB0IDQ1OC4wcHQgNTAzLjhwdCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44
cHQnPjxzcGFuDQpzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBO
ZXciJz5UaGlzIHByb2ZpbGUgaXMgc3VpdGFibGUNCndoZW4gdGhlIENsaWVudCBpcyBhIHdlYiBh
cHBsaWNhdGlvbiBjYWxsaW5nIHRoZSBQcm90ZWN0ZWQgUmVzb3VyY2Ugb24gYmVoYWxmDQpvZiBh
IFVzZXIuPHNwYW4gc3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqAgPC9zcGFuPlRoaXMgcHJvZmls
ZSBlbmFibGVzIGEgQ2xpZW50DQp0byBhY3Qgb24gYmVoYWxmIG9mIHRoZSBVc2VyIHdpdGhvdXQg
YWNxdWlyaW5nIGEgVXNlcidzIGNyZWRlbnRpYWxzLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0K
PHVsIHN0eWxlPSdtYXJnaW4tdG9wOjBpbicgdHlwZT1kaXNjPg0KIDxsaSBjbGFzcz1Nc29Ob3Jt
YWwgc3R5bGU9J21hcmdpbi1ib3R0b206Ni4wcHQ7bXNvLWxpc3Q6bDUgbGV2ZWwxIGxmbzI7DQog
ICAgIHRhYi1zdG9wczpsaXN0IC41aW4gbGVmdCA0NS44cHQgOTEuNnB0IDEzNy40cHQgMTgzLjJw
dCAyMjkuMHB0IDI3NC44cHQgMzIwLjZwdCAzNjYuNHB0IDQxMi4ycHQgNDU4LjBwdCA1MDMuOHB0
IDU0OS42cHQgNTk1LjRwdCA2NDEuMnB0IDY4Ny4wcHQgNzMyLjhwdCc+PGINCiAgICAgc3R5bGU9
J21zby1iaWRpLWZvbnQtd2VpZ2h0Om5vcm1hbCc+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4w
cHQ7DQogICAgIGZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyInPlJpY2ggQXBwPC9zcGFuPjwvYj48
c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDsNCiAgICAgZm9udC1mYW1pbHk6IkNvdXJpZXIg
TmV3Iic+IDxiIHN0eWxlPSdtc28tYmlkaS1mb250LXdlaWdodDpub3JtYWwnPlByb2ZpbGU8L2I+
PG86cD48L286cD48L3NwYW4+PC9saT4NCjwvdWw+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHls
ZT0nbWFyZ2luLXRvcDowaW47bWFyZ2luLXJpZ2h0OjBpbjttYXJnaW4tYm90dG9tOjYuMHB0Ow0K
bWFyZ2luLWxlZnQ6LjVpbjt0YWItc3RvcHM6NDUuOHB0IDkxLjZwdCAxMzcuNHB0IDE4My4ycHQg
MjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0IDQ1OC4wcHQgNTAzLjhwdCA1
NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44cHQnPjxzcGFuDQpzdHlsZT0nZm9u
dC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXciJz5UaGlzIHByb2ZpbGUgaXMg
c3VpdGFibGUNCndoZW4gdGhlIENsaWVudCBpcyBhbiBhcHBsaWNhdGlvbiB0aGUgVXNlciBoYXMg
aW5zdGFsbGVkIG9uIHRoZWlyIGRldmljZSBhbmQgYSB3ZWINCmJyb3dzZXIgaXMgYXZhaWxhYmxl
LCBidXQgaXQgaXMgdW5kZXNpcmFibGUgZm9yIHRoZSBVc2VyIHRvIHByb3ZpZGUgdGhlaXINCnVz
ZXJuYW1lIGFuZCBwYXNzd29yZCB0byBhbiBhcHBsaWNhdGlvbiwgb3IgdGhlIHVzZXIgbWF5IG5v
dCBiZSB1c2luZyBhDQp1c2VybmFtZSBhbmQgcGFzc3dvcmQgdG8gYXV0aGVudGljYXRlIHRvIHRo
ZSBBdXRob3JpemF0aW9uIFNlcnZlci48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNz
PU1zb05vcm1hbCBzdHlsZT0ndGFiLXN0b3BzOjQ1LjhwdCA5MS42cHQgMTM3LjRwdCAxODMuMnB0
IDIyOS4wcHQgMjc0LjhwdCAzMjAuNnB0IDM2Ni40cHQgNDEyLjJwdCA0NTguMHB0IDUwMy44cHQg
NTQ5LjZwdCA1OTUuNHB0IDY0MS4ycHQgNjg3LjBwdCA3MzIuOHB0Jz48c3Bhbg0Kc3R5bGU9J2Zv
bnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Iic+PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PG86
cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1i
b3R0b206Ni4wcHQ7dGFiLXN0b3BzOjQ1LjhwdCA5MS42cHQgMTM3LjRwdCAxODMuMnB0IDIyOS4w
cHQgMjc0LjhwdCAzMjAuNnB0IDM2Ni40cHQgNDEyLjJwdCA0NTguMHB0IDUwMy44cHQgNTQ5LjZw
dCA1OTUuNHB0IDY0MS4ycHQgNjg3LjBwdCA3MzIuOHB0Jz48Yj48c3Bhbg0Kc3R5bGU9J2ZvbnQt
c2l6ZToxMC4wcHQ7bXNvLWJpZGktZm9udC1zaXplOjEyLjBwdDtmb250LWZhbWlseTpBcmlhbCc+
My4gRGV2aWNlIFByb2ZpbGU8L3NwYW4+PC9iPjxiDQpzdHlsZT0nbXNvLWJpZGktZm9udC13ZWln
aHQ6bm9ybWFsJz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToNCiJD
b3VyaWVyIE5ldyInPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2I+PC9wPg0KDQo8cCBjbGFzcz1Nc29O
b3JtYWwgc3R5bGU9J21hcmdpbi1ib3R0b206Ni4wcHQ7dGFiLXN0b3BzOjQ1LjhwdCA5MS42cHQg
MTM3LjRwdCAxODMuMnB0IDIyOS4wcHQgMjc0LjhwdCAzMjAuNnB0IDM2Ni40cHQgNDEyLjJwdCA0
NTguMHB0IDUwMy44cHQgNTQ5LjZwdCA1OTUuNHB0IDY0MS4ycHQgNjg3LjBwdCA3MzIuOHB0Jz48
c3Bhbg0Kc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Iic+
KHN1Ym1pdHRlZCB0byBbT0FVVEgtV0ddDQpsaXN0IGJ5IEJyZW50IEdvbGRtYW4sIEZhY2Vib29r
IG9uIDMvMTEvMjAxMCk8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1h
bCBzdHlsZT0nbWFyZ2luLWJvdHRvbTo2LjBwdDt0YWItc3RvcHM6NDUuOHB0IDkxLjZwdCAxMzcu
NHB0IDE4My4ycHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0IDQ1OC4w
cHQgNTAzLjhwdCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44cHQnPjxzcGFu
DQpzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXciJz5UaGUg
RGV2aWNlIFByb2ZpbGUgaXMNCnN1aXRhYmxlIHdoZW4gdGhlIGNsaWVudCBpcyBhIGRldmljZSB3
aGljaCBkb2VzIG5vdCBoYXZlIGFuIGVhc3kgZGF0YSBlbnRyeQ0KbWV0aG9kIChlLmcuLCBnYW1l
IGNvbnNvbGVzIG9yIGVudGVydGFpbm1lbnQgY2VudGVycyksIGJ1dCB3aGVyZSB0aGUgZW5kIHVz
ZXINCmhhcyBhY2Nlc3MgdG8gYSBzZXBhcmF0ZSBjb21wdXRlciB3aXRoIHNpbXBsZSBkYXRhIGVu
dHJ5IG1ldGhvZHMgKGUuZy4sIHRoZWlyDQpob21lIGNvbXB1dGVyLCBhIGxhcHRvcCwgb3IgYSBz
bWFydHBob25lKS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBz
dHlsZT0nbWFyZ2luLWJvdHRvbTo2LjBwdDt0YWItc3RvcHM6NDUuOHB0IDkxLjZwdCAxMzcuNHB0
IDE4My4ycHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0IDQ1OC4wcHQg
NTAzLjhwdCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44cHQnPjxzcGFuDQpz
dHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXciJz5QcmlvciB0
byBtYWtpbmcgYSByZXF1ZXN0DQp1c2luZyB0aGlzIHByb2ZpbGUsIHRoZSBjbGllbnQgTVVTVCBo
YXZlIG9idGFpbmVkIGEgY2xpZW50IGlkZW50aWZpZXIgZnJvbSB0aGUNCmF1dGhvcml6YXRpb24g
c2VydmVyLiA8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHls
ZT0nbGluZS1oZWlnaHQ6MTQuNHB0O3RhYi1zdG9wczo0NS44cHQgOTEuNnB0IDEzNy40cHQgMTgz
LjJwdCAyMjkuMHB0IDI3NC44cHQgMzIwLjZwdCAzNjYuNHB0IDQxMi4ycHQgNDU4LjBwdCA1MDMu
OHB0IDU0OS42cHQgNTk1LjRwdCA2NDEuMnB0IDY4Ny4wcHQgNzMyLjhwdCc+PHNwYW4NCnN0eWxl
PSdmb250LXNpemU6MTAuMHB0O21zby1iaWRpLWZvbnQtc2l6ZToxMi4wcHQ7Zm9udC1mYW1pbHk6
QXJpYWw7bXNvLWJpZGktZm9udC13ZWlnaHQ6DQpib2xkJz49PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PTxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdsaW5lLWhlaWdodDox
NC40cHQ7dGFiLXN0b3BzOjQ1LjhwdCA5MS42cHQgMTM3LjRwdCAxODMuMnB0IDIyOS4wcHQgMjc0
LjhwdCAzMjAuNnB0IDM2Ni40cHQgNDEyLjJwdCA0NTguMHB0IDUwMy44cHQgNTQ5LjZwdCA1OTUu
NHB0IDY0MS4ycHQgNjg3LjBwdCA3MzIuOHB0Jz48Yj48c3Bhbg0Kc3R5bGU9J2ZvbnQtc2l6ZTox
MC4wcHQ7bXNvLWJpZGktZm9udC1zaXplOjEyLjBwdDtmb250LWZhbWlseTpBcmlhbCc+NC4gVXNl
DQpjYXNlcyBvZiB0aGUgZHJhZnQgPGkgc3R5bGU9J21zby1iaWRpLWZvbnQtc3R5bGU6bm9ybWFs
Jz5UaGUgT0F1dGggMi4wIFByb3RvY29sPC9pPjxvOnA+PC9vOnA+PC9zcGFuPjwvYj48L3A+DQoN
CjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWJvdHRvbTo2LjBwdDt0YWItc3RvcHM6
NDUuOHB0IDkxLjZwdCAxMzcuNHB0IDE4My4ycHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2
LjRwdCA0MTIuMnB0IDQ1OC4wcHQgNTAzLjhwdCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcu
MHB0IDczMi44cHQnPjxzcGFuDQpzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToi
Q291cmllciBOZXciJz4oZHJhZnQgPGENCmhyZWY9Imh0dHA6Ly9naXRodWIuY29tL3RoZVJhem9y
QmxhZGUvZHJhZnQtaWV0Zi1vYXV0aC9yYXcvbWFzdGVyL2RyYWZ0LWlldGYtb2F1dGgudHh0Ij5o
dHRwOi8vZ2l0aHViLmNvbS90aGVSYXpvckJsYWRlL2RyYWZ0LWlldGYtb2F1dGgvcmF3L21hc3Rl
ci9kcmFmdC1pZXRmLW9hdXRoLnR4dDwvYT4NCmF1dGhvcmVkIGJ5IEUuIEhhbW1lci1MYWhhdiwg
RWQuLCBZYWFob28hLCBELiBSZWNvcmRvbiwgRmFjZWJvb2ssIGFuZCBELiBIYXJkdCwNCk1pY3Jv
c29mdCk8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0n
bWFyZ2luLWJvdHRvbTo2LjBwdDt0YWItc3RvcHM6NDUuOHB0IDkxLjZwdCAxMzcuNHB0IDE4My4y
cHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0IDQ1OC4wcHQgNTAzLjhw
dCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44cHQnPjxzcGFuDQpzdHlsZT0n
Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXciJz5UaGUgc3BlY2lmaWNh
dGlvbiBkZWZpbmVzIGENCm51bWJlciBvZiBhdXRob3JpemF0aW9uIGZsb3dzIHRvIHN1cHBvcnQg
ZGlmZmVyZW50IGNsaWVudCB0eXBlcyBhbmQgc2NlbmFyaW9zLiBUaGVzZQ0KYXV0aG9yaXphdGlv
biBmbG93cyBjYW4gYmUgc2VwYXJhdGVkIGludG8gdGhyZWUgZ3JvdXBzOiB1c2VyIGRlbGVnYXRp
b24gZmxvd3MNCndoZXJlIHRoZSBjbGllbnQgaXMgYWN0aW5nIG9uIGJlaGFsZiBvZiBhbiBlbmQg
dXNlciwgZW5kIHVzZXIgY3JlZGVudGlhbHMgZmxvd3MNCndoZXJlIHRoZSBjbGllbnQgdXNlcyB0
aGUgZW5kIHVzZXIncyBjcmVkZW50aWFscyBkaXJlY3RseSB0byBvYnRhaW4gYXV0aG9yaXphdGlv
biwNCmFuZCBhdXRvbm9tb3VzIGZsb3dzIHdoZXJlIHRoZSBjbGllbnQgaXMgYWN0aW5nIGZvciBp
dHNlbGYgKHRoZSBjbGllbnQgaXMgYWxzbw0KdGhlIHJlc291cmNlIG93bmVyKS48bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWJvdHRvbTo2
LjBwdDt0YWItc3RvcHM6NDUuOHB0IDkxLjZwdCAxMzcuNHB0IDE4My4ycHQgMjI5LjBwdCAyNzQu
OHB0IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0IDQ1OC4wcHQgNTAzLjhwdCA1NDkuNnB0IDU5NS40
cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44cHQnPjxiDQpzdHlsZT0nbXNvLWJpZGktZm9udC13ZWln
aHQ6bm9ybWFsJz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToNCiJD
b3VyaWVyIE5ldyInPlVzZXIgRGVsZWdhdGlvbiBGbG93czxvOnA+PC9vOnA+PC9zcGFuPjwvYj48
L3A+DQoNCjx1bCBzdHlsZT0nbWFyZ2luLXRvcDowaW4nIHR5cGU9ZGlzYz4NCiA8bGkgY2xhc3M9
TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tYm90dG9tOjYuMHB0O21zby1saXN0Omw1IGxldmVsMSBs
Zm8yOw0KICAgICB0YWItc3RvcHM6bGlzdCAuNWluIGxlZnQgNDUuOHB0IDkxLjZwdCAxMzcuNHB0
IDE4My4ycHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0IDQ1OC4wcHQg
NTAzLjhwdCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44cHQnPjxiDQogICAg
IHN0eWxlPSdtc28tYmlkaS1mb250LXdlaWdodDpub3JtYWwnPjxzcGFuIHN0eWxlPSdmb250LXNp
emU6MTAuMHB0Ow0KICAgICBmb250LWZhbWlseToiQ291cmllciBOZXciJz5XZWIgQ2FsbGJhY2sg
RmxvdzxvOnA+PC9vOnA+PC9zcGFuPjwvYj48L2xpPg0KPC91bD4NCg0KPHAgY2xhc3M9TXNvTm9y
bWFsIHN0eWxlPSdtYXJnaW4tdG9wOjBpbjttYXJnaW4tcmlnaHQ6MGluO21hcmdpbi1ib3R0b206
Ni4wcHQ7DQptYXJnaW4tbGVmdDouNWluO3RhYi1zdG9wczo0NS44cHQgOTEuNnB0IDEzNy40cHQg
MTgzLjJwdCAyMjkuMHB0IDI3NC44cHQgMzIwLjZwdCAzNjYuNHB0IDQxMi4ycHQgNDU4LjBwdCA1
MDMuOHB0IDU0OS42cHQgNTk1LjRwdCA2NDEuMnB0IDY4Ny4wcHQgNzMyLjhwdCc+PHNwYW4NCnN0
eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyInPlRoZSB3ZWIg
Y2FsbGJhY2sgZmxvdyBpcyBhDQp1c2VyIGRlbGVnYXRpb24gZmxvdyBzdWl0YWJsZSBmb3IgY2xp
ZW50cyBjYXBhYmxlIG9mIGludGVyYWN0aW5nIHdpdGggdGhlIGVuZA0KdXNlcidzIHVzZXItYWdl
bnQgKHR5cGljYWxseSBhIHdlYiBicm93c2VyKSBhbmQgY2FwYWJsZSBvZiByZWNlaXZpbmcgY2Fs
bGJhY2sNCnJlcXVlc3RzIGZyb20gdGhlIHNlcnZlci48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoN
Cjx1bCBzdHlsZT0nbWFyZ2luLXRvcDowaW4nIHR5cGU9ZGlzYz4NCiA8bGkgY2xhc3M9TXNvTm9y
bWFsIHN0eWxlPSdtYXJnaW4tYm90dG9tOjYuMHB0O21zby1saXN0Omw1IGxldmVsMSBsZm8yOw0K
ICAgICB0YWItc3RvcHM6bGlzdCAuNWluIGxlZnQgNDUuOHB0IDkxLjZwdCAxMzcuNHB0IDE4My4y
cHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0IDQ1OC4wcHQgNTAzLjhw
dCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44cHQnPjxiDQogICAgIHN0eWxl
PSdtc28tYmlkaS1mb250LXdlaWdodDpub3JtYWwnPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAu
MHB0Ow0KICAgICBmb250LWZhbWlseToiQ291cmllciBOZXciJz5XZWIgQ2xpZW50IEZsb3c8bzpw
PjwvbzpwPjwvc3Bhbj48L2I+PC9saT4NCjwvdWw+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHls
ZT0nbWFyZ2luLXRvcDowaW47bWFyZ2luLXJpZ2h0OjBpbjttYXJnaW4tYm90dG9tOjYuMHB0Ow0K
bWFyZ2luLWxlZnQ6LjVpbjt0YWItc3RvcHM6NDUuOHB0IDkxLjZwdCAxMzcuNHB0IDE4My4ycHQg
MjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0IDQ1OC4wcHQgNTAzLjhwdCA1
NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44cHQnPjxzcGFuDQpzdHlsZT0nZm9u
dC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXciJz5UaGUgV2ViIENsaWVudCBG
bG93IGlzDQpzaW1pbGFyIHRvIHRoZSBXZWIgQ2FsbGJhY2sgRmxvdywgYnV0IGl0IGhhcyBkaWZm
ZXJlbnQgc2VjdXJpdHkNCmNoYXJhY3RlcmlzdGljcy4gQ2xpZW50LXNpZGUgYXBwbGljYXRpb25z
IGFyZSB0aG9zZSB0aGF0IGxpdmUgZW50aXJlbHkgaW4NCkphdmFTY3JpcHQsIG9uIHRoZSBkZXNr
dG9wLCBvbiBhIG1vYmlsZSBkZXZpY2UsIG9yIGluIG90aGVyIGVudmlyb25tZW50cyB3aGVyZSB0
aGUNCmNvZGUgZG9lcyBub3QgaGF2ZSBlYXN5IGFjY2VzcyB0byBhIHNlcnZlci48c3BhbiBzdHls
ZT0nbXNvLXNwYWNlcnVuOnllcyc+oA0KPC9zcGFuPlRoZXNlIGFwcGxpY2F0aW9ucyBoYXZlIHRo
ZSBhYmlsaXR5IHRvIGRpc3BsYXkgYSB3ZWIgcGFnZSB0byB0aGUgdXNlciwNCmJ1dCBjYW5ub3Qg
cmVjZWl2ZSB0aGUgcmVzcG9uc2Ugb24gYSBzZXJ2ZXIuPHNwYW4gc3R5bGU9J21zby1zcGFjZXJ1
bjp5ZXMnPqANCjwvc3Bhbj5CZWNhdXNlIHRoZSBlbnRpcmV0eSBvZiB0aGUgY2xpZW50IGlzIGRv
d25sb2FkZWQgdG8gdGhlIHJlc291cmNlIG93bmVyJ3MNCnVzZXItYWdlbnQsIGl0IGlzIG5vdCBw
b3NzaWJsZSB0byBjb21wbGV0ZWx5IHByb3RlY3QgdGhlIGNsaWVudCBzZWNyZXQuPHNwYW4NCnN0
eWxlPSdtc28tc3BhY2VydW46eWVzJz6gIDwvc3Bhbj5UaGlzIGZsb3cgYWxsb3dzIGZvciBhdXRo
b3JpemF0aW9uIHdoaWxlDQp0YWtpbmcgdGhvc2Ugc2VjdXJpdHkgY29uc2lkZXJhdGlvbnMgaW50
byBhY2NvdW50LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHVsIHN0eWxlPSdtYXJnaW4tdG9w
OjBpbicgdHlwZT1kaXNjPg0KIDxsaSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1ib3R0
b206Ni4wcHQ7bXNvLWxpc3Q6bDUgbGV2ZWwxIGxmbzI7DQogICAgIHRhYi1zdG9wczpsaXN0IC41
aW4gbGVmdCA0NS44cHQgOTEuNnB0IDEzNy40cHQgMTgzLjJwdCAyMjkuMHB0IDI3NC44cHQgMzIw
LjZwdCAzNjYuNHB0IDQxMi4ycHQgNDU4LjBwdCA1MDMuOHB0IDU0OS42cHQgNTk1LjRwdCA2NDEu
MnB0IDY4Ny4wcHQgNzMyLjhwdCc+PGINCiAgICAgc3R5bGU9J21zby1iaWRpLWZvbnQtd2VpZ2h0
Om5vcm1hbCc+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7DQogICAgIGZvbnQtZmFtaWx5
OiJDb3VyaWVyIE5ldyInPkRldmljZSBGbG93PG86cD48L286cD48L3NwYW4+PC9iPjwvbGk+DQo8
L3VsPg0KDQo8cHJlIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz5UaGUgRGV2aWNlIEZsb3cgaXMg
c3VpdGFibGUgd2hlbiB0aGUgY2xpZW50IGlzIGEgZGV2aWNlIHdoaWNoIGRvZXMgbm90IGhhdmUg
YW4gZWFzeSBkYXRhLWVudHJ5IG1ldGhvZCAoZS5nLiBnYW1lIGNvbnNvbGVzIG9yPHNwYW4gc3R5
bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqCgIDwvc3Bhbj5lbnRlcnRhaW5tZW50IGNlbnRlcnMpLCBi
dXQgd2hlcmUgdGhlIGVuZC11c2VyIGhhcyBhY2Nlc3MgdG8gYSBzZXBhcmF0ZSBjb21wdXRlciB3
aXRoIHNpbXBsZSBkYXRhLWVudHJ5IG1ldGhvZHMgKGUuZy4gdGhlaXIgaG9tZSBjb21wdXRlciwg
YSBsYXB0b3Agb3IgYSBzbWFydHBob25lKS48L3ByZT4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIHN0
eWxlPSdtYXJnaW4tYm90dG9tOjYuMHB0O3RhYi1zdG9wczo0NS44cHQgOTEuNnB0IDEzNy40cHQg
MTgzLjJwdCAyMjkuMHB0IDI3NC44cHQgMzIwLjZwdCAzNjYuNHB0IDQxMi4ycHQgNDU4LjBwdCA1
MDMuOHB0IDU0OS42cHQgNTk1LjRwdCA2NDEuMnB0IDY4Ny4wcHQgNzMyLjhwdCc+PGINCnN0eWxl
PSdtc28tYmlkaS1mb250LXdlaWdodDpub3JtYWwnPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAu
MHB0O2ZvbnQtZmFtaWx5Og0KIkNvdXJpZXIgTmV3Iic+PG86cD4mbmJzcDs8L286cD48L3NwYW4+
PC9iPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tYm90dG9tOjYuMHB0
O3RhYi1zdG9wczo0NS44cHQgOTEuNnB0IDEzNy40cHQgMTgzLjJwdCAyMjkuMHB0IDI3NC44cHQg
MzIwLjZwdCAzNjYuNHB0IDQxMi4ycHQgNDU4LjBwdCA1MDMuOHB0IDU0OS42cHQgNTk1LjRwdCA2
NDEuMnB0IDY4Ny4wcHQgNzMyLjhwdCc+PGINCnN0eWxlPSdtc28tYmlkaS1mb250LXdlaWdodDpu
b3JtYWwnPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5Og0KIkNvdXJp
ZXIgTmV3Iic+RW5kIFVzZXIgQ3JlZGVudGlhbHMgRmxvd3M8bzpwPjwvbzpwPjwvc3Bhbj48L2I+
PC9wPg0KDQo8dWwgc3R5bGU9J21hcmdpbi10b3A6MGluJyB0eXBlPWRpc2M+DQogPGxpIGNsYXNz
PU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWJvdHRvbTo2LjBwdDttc28tbGlzdDpsNSBsZXZlbDEg
bGZvMjsNCiAgICAgdGFiLXN0b3BzOmxpc3QgLjVpbiBsZWZ0IDQ1LjhwdCA5MS42cHQgMTM3LjRw
dCAxODMuMnB0IDIyOS4wcHQgMjc0LjhwdCAzMjAuNnB0IDM2Ni40cHQgNDEyLjJwdCA0NTguMHB0
IDUwMy44cHQgNTQ5LjZwdCA1OTUuNHB0IDY0MS4ycHQgNjg3LjBwdCA3MzIuOHB0Jz48Yg0KICAg
ICBzdHlsZT0nbXNvLWJpZGktZm9udC13ZWlnaHQ6bm9ybWFsJz48c3BhbiBzdHlsZT0nZm9udC1z
aXplOjEwLjBwdDsNCiAgICAgZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Iic+VXNlcm5hbWUgYW5k
IFBhc3N3b3JkIEZsb3c8bzpwPjwvbzpwPjwvc3Bhbj48L2I+PC9saT4NCjwvdWw+DQoNCjxwcmUg
c3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPlRoaXMgZmxvdyBpcyB1c2VkIHdoZW4gdGhlIGF1dGhv
cml6YXRpb24gc2VydmVyIGdlbmVyYWxseSB0cnVzdHMgdGhlIGNsaWVudCB0byB0ZW1wb3Jhcmls
eSBjb2xsZWN0IHRoZSBlbmQtdXNlcidzIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBhbmQgaXQgaXMg
aW1wb3NzaWJsZSB0byB1c2Ugb25lIG9mIHRoZSBvdGhlciBhdXRob3JpemF0aW9uIGZsb3dzLiBU
aGlzIGZsb3cgZW5hYmxlcyBhIGNsaWVudCB0byBhY3Qgb24gYmVoYWxmIG9mIHRoZSByZXNvdXJj
ZSBvd25lciB3aXRob3V0IGhhdmluZyB0byBwZXJtYW5lbnRseSBzdG9yZSB0aGVpciB1c2VybmFt
ZSBhbmQgcGFzc3dvcmQuIFRoaXMgZmxvdyBhbHNvIGVuYWJsZXMgY2xpZW50cyB3aG8gcHJldmlv
dXNseSB1c2VkIHVzZXJuYW1lIGFuZCBwYXNzd29yZCB0byBwZXJmb3JtIGEgY29udmVyc2lvbiB0
byB0b2tlbiBiYXNlZCBjcmVkZW50aWFscy48L3ByZT48cHJlDQpzdHlsZT0nbWFyZ2luLWxlZnQ6
LjVpbic+PG86cD4mbmJzcDs8L286cD48L3ByZT4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxl
PSdtYXJnaW4tYm90dG9tOjYuMHB0O3RhYi1zdG9wczo0NS44cHQgOTEuNnB0IDEzNy40cHQgMTgz
LjJwdCAyMjkuMHB0IDI3NC44cHQgMzIwLjZwdCAzNjYuNHB0IDQxMi4ycHQgNDU4LjBwdCA1MDMu
OHB0IDU0OS42cHQgNTk1LjRwdCA2NDEuMnB0IDY4Ny4wcHQgNzMyLjhwdCc+PGINCnN0eWxlPSdt
c28tYmlkaS1mb250LXdlaWdodDpub3JtYWwnPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0
O2ZvbnQtZmFtaWx5Og0KIkNvdXJpZXIgTmV3Iic+QXV0b25vbW91cyBDbGllbnQgRmxvd3M8bzpw
PjwvbzpwPjwvc3Bhbj48L2I+PC9wPg0KDQo8dWwgc3R5bGU9J21hcmdpbi10b3A6MGluJyB0eXBl
PWRpc2M+DQogPGxpIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWJvdHRvbTo2LjBwdDtt
c28tbGlzdDpsNSBsZXZlbDEgbGZvMjsNCiAgICAgdGFiLXN0b3BzOmxpc3QgLjVpbiBsZWZ0IDQ1
LjhwdCA5MS42cHQgMTM3LjRwdCAxODMuMnB0IDIyOS4wcHQgMjc0LjhwdCAzMjAuNnB0IDM2Ni40
cHQgNDEyLjJwdCA0NTguMHB0IDUwMy44cHQgNTQ5LjZwdCA1OTUuNHB0IDY0MS4ycHQgNjg3LjBw
dCA3MzIuOHB0Jz48Yg0KICAgICBzdHlsZT0nbXNvLWJpZGktZm9udC13ZWlnaHQ6bm9ybWFsJz48
c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDsNCiAgICAgZm9udC1mYW1pbHk6IkNvdXJpZXIg
TmV3Iic+Q2xpZW50IENyZWRlbnRpYWxzIEZsb3c8bzpwPjwvbzpwPjwvc3Bhbj48L2I+PC9saT4N
CjwvdWw+DQoNCjxwcmUgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPlRoaXMgZmxvdyBpcyBzdWl0
YWJsZSB3aGVuIHRoZSBjbGllbnQgYWN0cyBhdXRvbm9tb3VzbHkgaW4gc2Vla2luZyBhY2Nlc3Mg
YW5kIGlzIHRodXMgbm90IGFjY2Vzc2luZyBwcm90ZWN0ZWQgcmVzb3VyY2VzIHdpdGhpbiB0aGUg
Y29udGV4dCBvZiBhIGdpdmVuIGVuZC11c2VyLjxzcGFuIHN0eWxlPSdtc28tc3BhY2VydW46eWVz
Jz6gIDwvc3Bhbj5Gb3IgZXhhbXBsZSwgd2hlbiBhIGNsaWVudCBpcyBhY2Nlc3Npbmc8c3BhbiBz
dHlsZT0nbXNvLXNwYWNlcnVuOnllcyc+oKAgPC9zcGFuPm5vbi1wcml2YXRlIGRhdGEgb3IgbW9k
aWZ5aW5nIGRhdGEgYWJvdXQgaXRzZWxmLjxzcGFuIHN0eWxlPSdtc28tc3BhY2VydW46eWVzJz6g
IDwvc3Bhbj5UaGlzIGZsb3cgU0hPVUxEIE5PVCBiZSB1c2VkIHdoZW4gdGhlIGNsaWVudCBpcyBh
Y3Rpbmcgb24gYmVoYWxmIG9mIGFuIGVuZC11c2VyLjwvcHJlPg0KDQo8dWwgc3R5bGU9J21hcmdp
bi10b3A6MGluJyB0eXBlPWRpc2M+DQogPGxpIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2lu
LWJvdHRvbTo2LjBwdDttc28tbGlzdDpsNSBsZXZlbDEgbGZvMjsNCiAgICAgdGFiLXN0b3BzOmxp
c3QgLjVpbiBsZWZ0IDQ1LjhwdCA5MS42cHQgMTM3LjRwdCAxODMuMnB0IDIyOS4wcHQgMjc0Ljhw
dCAzMjAuNnB0IDM2Ni40cHQgNDEyLjJwdCA0NTguMHB0IDUwMy44cHQgNTQ5LjZwdCA1OTUuNHB0
IDY0MS4ycHQgNjg3LjBwdCA3MzIuOHB0Jz48Yg0KICAgICBzdHlsZT0nbXNvLWJpZGktZm9udC13
ZWlnaHQ6bm9ybWFsJz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDsNCiAgICAgZm9udC1m
YW1pbHk6IkNvdXJpZXIgTmV3Iic+U0FNTCBBc3NlcnRpb24gRmxvdzxvOnA+PC9vOnA+PC9zcGFu
PjwvYj48L2xpPg0KPC91bD4NCg0KPHByZSBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+VGhlIFNB
TUwgYXNzZXJ0aW9uIGZsb3cgcmVxdWlyZXMgdGhlIGNsaWVudCB0byBvYnRhaW4gYSBTQU1MIGFz
c2VydGlvbiBmcm9tIGFuIGFzc2VydGlvbiBpc3N1ZXIgcHJpb3IgdG8gaW5pdGlhdGluZyB0aGlz
IGZsb3cuIFRoZSBwcm9jZXNzIGluIHdoaWNoIHRoZSBhc3NlcnRpb24gaXMgb2J0YWluZWQgaXMg
ZGVmaW5lZCBieSB0aGUgYXNzZXJ0aW9uIGlzc3VlciBhbmQgdGhlIGF1dGhvcml6YXRpb24gc2Vy
dmVyLCBhbmQgaXMgYmV5b25kIHRoZSBzY29wZSBvZiB0aGlzIHNwZWNpZmljYXRpb24uPC9wcmU+
DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWJvdHRvbTo2LjBwdDt0YWItc3Rv
cHM6NDUuOHB0IDkxLjZwdCAxMzcuNHB0IDE4My4ycHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQg
MzY2LjRwdCA0MTIuMnB0IDQ1OC4wcHQgNTAzLjhwdCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2
ODcuMHB0IDczMi44cHQnPjxzcGFuDQpzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWls
eToiQ291cmllciBOZXciJz49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT08bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxw
IGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbGluZS1oZWlnaHQ6MTQuNHB0O3RhYi1zdG9wczo0NS44
cHQgOTEuNnB0IDEzNy40cHQgMTgzLjJwdCAyMjkuMHB0IDI3NC44cHQgMzIwLjZwdCAzNjYuNHB0
IDQxMi4ycHQgNDU4LjBwdCA1MDMuOHB0IDU0OS42cHQgNTk1LjRwdCA2NDEuMnB0IDY4Ny4wcHQg
NzMyLjhwdCc+PGI+PHNwYW4NCnN0eWxlPSdmb250LXNpemU6MTAuMHB0O21zby1iaWRpLWZvbnQt
c2l6ZToxMi4wcHQ7Zm9udC1mYW1pbHk6QXJpYWwnPjUuIFVzZQ0KY2FzZXMgb2YgdGhlIGRyYWZ0
IDxpIHN0eWxlPSdtc28tYmlkaS1mb250LXN0eWxlOm5vcm1hbCc+RXZhbHVhdGluZyBPQVVUSCdz
DQpzdWl0YWJpbGl0eSBmb3IgU0lQIGF1dGhlbnRpY2F0aW9uPC9pPjwvc3Bhbj48L2I+PGkgc3R5
bGU9J21zby1iaWRpLWZvbnQtc3R5bGU6DQpub3JtYWwnPjxzcGFuIHN0eWxlPSdmb250LXNpemU6
MTAuMHB0O2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyInPiA8L3NwYW4+PC9pPjxiPjxzcGFuDQpz
dHlsZT0nZm9udC1zaXplOjEwLjBwdDttc28tYmlkaS1mb250LXNpemU6MTIuMHB0O2ZvbnQtZmFt
aWx5OkFyaWFsJz48bzpwPjwvbzpwPjwvc3Bhbj48L2I+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3Jt
YWwgc3R5bGU9J2xpbmUtaGVpZ2h0OjE0LjRwdDt0YWItc3RvcHM6NDUuOHB0IDkxLjZwdCAxMzcu
NHB0IDE4My4ycHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0IDQ1OC4w
cHQgNTAzLjhwdCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44cHQnPjxzcGFu
DQpzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXciJz4oZHJh
ZnQtYmVjay1vYXV0aC1zaXAtZXZhbC0wMA0KYXV0aG9yZWQgYnkgV29sZmdhbmcgQmVjaywgRGV1
dHNjaGUgVGVsZWtvbSBBRzsgcHVibGlzaGVkIG9uIE9jdG9iZXIgMTksIDIwMDkpPG86cD48L286
cD48L3NwYW4+PC9wPg0KDQo8dWwgc3R5bGU9J21hcmdpbi10b3A6MGluJyB0eXBlPWRpc2M+DQog
PGxpIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWJvdHRvbTo2LjBwdDttc28tbGlzdDps
NSBsZXZlbDEgbGZvMjsNCiAgICAgdGFiLXN0b3BzOmxpc3QgLjVpbiBsZWZ0IDQ1LjhwdCA5MS42
cHQgMTM3LjRwdCAxODMuMnB0IDIyOS4wcHQgMjc0LjhwdCAzMjAuNnB0IDM2Ni40cHQgNDEyLjJw
dCA0NTguMHB0IDUwMy44cHQgNTQ5LjZwdCA1OTUuNHB0IDY0MS4ycHQgNjg3LjBwdCA3MzIuOHB0
Jz48Yg0KICAgICBzdHlsZT0nbXNvLWJpZGktZm9udC13ZWlnaHQ6bm9ybWFsJz48c3BhbiBzdHls
ZT0nZm9udC1zaXplOjEwLjBwdDsNCiAgICAgZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Iic+RXN0
YWJsaXNobWVudCBvZiBhbiBNU1JQIHNlc3Npb248bzpwPjwvbzpwPjwvc3Bhbj48L2I+PC9saT4N
CjwvdWw+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLXRvcDowaW47bWFyZ2lu
LXJpZ2h0OjBpbjttYXJnaW4tYm90dG9tOjYuMHB0Ow0KbWFyZ2luLWxlZnQ6LjI1aW47dGFiLXN0
b3BzOjQ1LjhwdCA5MS42cHQgMTM3LjRwdCAxODMuMnB0IDIyOS4wcHQgMjc0LjhwdCAzMjAuNnB0
IDM2Ni40cHQgNDEyLjJwdCA0NTguMHB0IDUwMy44cHQgNTQ5LjZwdCA1OTUuNHB0IDY0MS4ycHQg
Njg3LjBwdCA3MzIuOHB0Jz48c3Bhbg0Kc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1p
bHk6IkNvdXJpZXIgTmV3Iic+U29tZSB3ZWIgc2l0ZXMgaW1wbGVtZW50DQp0ZXh0IGNoYXQgdXNp
bmcgYXN5bmNocm9ub3VzIEhUVFAgcmVxdWVzdHMgKDxzdDE6Q2l0eSB3OnN0PSJvbiI+PHN0MTpw
bGFjZQ0KIHc6c3Q9Im9uIj5BSkFYPC9zdDE6cGxhY2U+PC9zdDE6Q2l0eT4pLiBUbyBjb25uZWN0
IHN1Y2ggd2ViIHNpdGVzIHRvIFNJUA0KZW52aXJvbm1lbnRzIHdpdGggU0lQL01TUlA8c3BhbiBz
dHlsZT0nbXNvLXNwYWNlcnVuOnllcyc+oKAgPC9zcGFuPihzZWUNCltSRkM0OTc1XSkgY2xpZW50
cywgYSBnYXRld2F5IGNhbiB1c2UgT0FVVEguPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBj
bGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi10b3A6MGluO21hcmdpbi1yaWdodDowaW47bWFy
Z2luLWJvdHRvbTo2LjBwdDsNCm1hcmdpbi1sZWZ0Oi4yNWluO3RhYi1zdG9wczo0NS44cHQgOTEu
NnB0IDEzNy40cHQgMTgzLjJwdCAyMjkuMHB0IDI3NC44cHQgMzIwLjZwdCAzNjYuNHB0IDQxMi4y
cHQgNDU4LjBwdCA1MDMuOHB0IDU0OS42cHQgNTk1LjRwdCA2NDEuMnB0IDY4Ny4wcHQgNzMyLjhw
dCc+PHNwYW4NCnN0eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5l
dyInPjxzcGFuDQpzdHlsZT0nbXNvLXNwYWNlcnVuOnllcyc+oKAgPC9zcGFuPjEuPHNwYW4gc3R5
bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqANCjwvc3Bhbj5UaGUgdXNlciBsb2dzIGludG8gYSB3ZWIg
c2l0ZSBhbmQgdGhlIGJyb3dzZXIgbG9hZHMgdGhlIGVtYmVkZGVkIEphdmFTY3JpcHQNCmNvZGUu
PG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdp
bi1sZWZ0Oi4yNWluO2xpbmUtaGVpZ2h0OjE0LjRwdDt0YWItc3RvcHM6NDUuOHB0IDkxLjZwdCAx
MzcuNHB0IDE4My4ycHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0IDQ1
OC4wcHQgNTAzLjhwdCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44cHQnPjxz
cGFuDQpzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXciJz48
c3Bhbg0Kc3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqCgIDwvc3Bhbj4yLjxzcGFuIHN0eWxlPSdt
c28tc3BhY2VydW46eWVzJz6gDQo8L3NwYW4+VGhlIHdlYiBzaXRlJ3MgT0FVVEggY2xpZW50IGlu
aXRpYXRlcyBhbiBPQVVUSCBleGNoYW5nZSB3aXRoPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8
cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi4yNWluO2xpbmUtaGVpZ2h0OjE0
LjRwdDt0YWItc3RvcHM6NDUuOHB0IDkxLjZwdCAxMzcuNHB0IDE4My4ycHQgMjI5LjBwdCAyNzQu
OHB0IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0IDQ1OC4wcHQgNTAzLjhwdCA1NDkuNnB0IDU5NS40
cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44cHQnPjxzcGFuDQpzdHlsZT0nZm9udC1zaXplOjEwLjBw
dDtmb250LWZhbWlseToiQ291cmllciBOZXciJz50aGUgdXNlcidzIHByZWZlcnJlZCBTSVANCnBy
b3ZpZGVyLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxl
PSdtYXJnaW4tbGVmdDouMjVpbjtsaW5lLWhlaWdodDoxNC40cHQ7dGFiLXN0b3BzOjQ1LjhwdCA5
MS42cHQgMTM3LjRwdCAxODMuMnB0IDIyOS4wcHQgMjc0LjhwdCAzMjAuNnB0IDM2Ni40cHQgNDEy
LjJwdCA0NTguMHB0IDUwMy44cHQgNTQ5LjZwdCA1OTUuNHB0IDY0MS4ycHQgNjg3LjBwdCA3MzIu
OHB0Jz48c3Bhbg0Kc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IkNvdXJpZXIg
TmV3Iic+PHNwYW4NCnN0eWxlPSdtc28tc3BhY2VydW46eWVzJz6goCA8L3NwYW4+My48c3BhbiBz
dHlsZT0nbXNvLXNwYWNlcnVuOnllcyc+oA0KPC9zcGFuPlRoZSB3ZWIgc2l0ZSByZWRpcmVjdHMg
dGhlIHVzZXIncyBicm93c2VyIHRvIHRoZSBhdXRoZW50aWNhdGlvbiB3ZWIgcGFnZQ0Kb2YgdGhl
IFNJUCBwcm92aWRlcidzIE9BVVRIIHNlcnZlci48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxw
IGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjI1aW47bGluZS1oZWlnaHQ6MTQu
NHB0O3RhYi1zdG9wczo0NS44cHQgOTEuNnB0IDEzNy40cHQgMTgzLjJwdCAyMjkuMHB0IDI3NC44
cHQgMzIwLjZwdCAzNjYuNHB0IDQxMi4ycHQgNDU4LjBwdCA1MDMuOHB0IDU0OS42cHQgNTk1LjRw
dCA2NDEuMnB0IDY4Ny4wcHQgNzMyLjhwdCc+PHNwYW4NCnN0eWxlPSdmb250LXNpemU6MTAuMHB0
O2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyInPjxzcGFuDQpzdHlsZT0nbXNvLXNwYWNlcnVuOnll
cyc+oKAgPC9zcGFuPjQuPHNwYW4gc3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqANCjwvc3Bhbj5U
aGUgdXNlciBlbnRlcnMgaGVyIGNyZWRlbnRpYWxzLiA8c3Bhbg0Kc3R5bGU9J21zby1zcGFjZXJ1
bjp5ZXMnPqA8L3NwYW4+VGhlIE9BVVRIIHNlcnZlciByZWRpcmVjdHMgaGVyIHRvIHRoZSB3ZWIN
CnNpdGUuPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9
J21hcmdpbi1sZWZ0Oi4yNWluO2xpbmUtaGVpZ2h0OjE0LjRwdDt0YWItc3RvcHM6NDUuOHB0IDkx
LjZwdCAxMzcuNHB0IDE4My4ycHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0MTIu
MnB0IDQ1OC4wcHQgNTAzLjhwdCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44
cHQnPjxzcGFuDQpzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBO
ZXciJz48c3Bhbg0Kc3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqCgIDwvc3Bhbj41LjxzcGFuIHN0
eWxlPSdtc28tc3BhY2VydW46eWVzJz6gDQo8L3NwYW4+VGhlIHdlYiBzaXRlIHRyYW5zbGF0ZXMg
dGhlIHRleHQgY2hhdC1yZWxhdGVkIEhUVFAgcmVxdWVzdHMgaW50byBTSVAgYW5kDQpNU1JQLjxz
cGFuIHN0eWxlPSdtc28tc3BhY2VydW46eWVzJz6gIDwvc3Bhbj5JdCBhZGRzIE9BVVRIIHRva2Vu
IGNyZWRlbnRpYWxzIHRvDQp0aGUgU0lQIHJlcXVlc3RzIGl0IHNlbmRzIHRvd2FyZHMgdGhlIHVz
ZXIncyBwcmVmZXJyZWQgU0lQIHByb3ZpZGVyLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAg
Y2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdsaW5lLWhlaWdodDoxNC40cHQ7dGFiLXN0b3BzOjQ1Ljhw
dCA5MS42cHQgMTM3LjRwdCAxODMuMnB0IDIyOS4wcHQgMjc0LjhwdCAzMjAuNnB0IDM2Ni40cHQg
NDEyLjJwdCA0NTguMHB0IDUwMy44cHQgNTQ5LjZwdCA1OTUuNHB0IDY0MS4ycHQgNjg3LjBwdCA3
MzIuOHB0Jz48c3Bhbg0Kc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IkNvdXJp
ZXIgTmV3Iic+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3Jt
YWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi4yNWluO2xpbmUtaGVpZ2h0OjE0LjRwdDt0YWItc3RvcHM6
NDUuOHB0IDkxLjZwdCAxMzcuNHB0IDE4My4ycHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2
LjRwdCA0MTIuMnB0IDQ1OC4wcHQgNTAzLjhwdCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcu
MHB0IDczMi44cHQnPjxzcGFuDQpzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToi
Q291cmllciBOZXciJz5BZnRlciB0aGlzLCB0aGUgT0FVVEggc2VydmVyDQpjaGVja3MgdGhlIHRv
a2VuIGNyZWRlbnRpYWxzIGZvciB2YWxpZGl0eSBhbmQgY2hlY2tzIGlmIHRoZSBTSVAgcmVxdWVz
dA0KY29tcGxpZXMgdG8gdGhlIHBvbGljeSB0aGUgdXNlciBoYXMgZ3JhbnRlZCBmb3IgdGhpcyBr
aW5kIG9mIHRyYW5zYWN0aW9uLjxzcGFuDQpzdHlsZT0nbXNvLXNwYWNlcnVuOnllcyc+oCA8L3Nw
YW4+SWYgdGhlIFNJUCByZXF1ZXN0IHBhc3NlcyBhbGwgY2hlY2tzLCB0aGUNCk9BVVRIIHNlcnZl
ciBmb3J3YXJkcyBpdCB0byB0aGUgc3Vic2VxdWVudCBTSVAgbm9kZXMuPG86cD48L286cD48L3Nw
YW4+PC9wPg0KDQo8dWwgc3R5bGU9J21hcmdpbi10b3A6MGluJyB0eXBlPWRpc2M+DQogPGxpIGNs
YXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWJvdHRvbTo2LjBwdDttc28tbGlzdDpsNSBsZXZl
bDEgbGZvMjsNCiAgICAgdGFiLXN0b3BzOmxpc3QgLjVpbiBsZWZ0IDQ1LjhwdCA5MS42cHQgMTM3
LjRwdCAxODMuMnB0IDIyOS4wcHQgMjc0LjhwdCAzMjAuNnB0IDM2Ni40cHQgNDEyLjJwdCA0NTgu
MHB0IDUwMy44cHQgNTQ5LjZwdCA1OTUuNHB0IDY0MS4ycHQgNjg3LjBwdCA3MzIuOHB0Jz48Yg0K
ICAgICBzdHlsZT0nbXNvLWJpZGktZm9udC13ZWlnaHQ6bm9ybWFsJz48c3BhbiBzdHlsZT0nZm9u
dC1zaXplOjEwLjBwdDsNCiAgICAgZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Iic+R2F0ZXdheSBm
b3IgYnJvd3Nlci1iYXNlZCBWb0lQIGFwcGxldHM8bzpwPjwvbzpwPjwvc3Bhbj48L2I+PC9saT4N
CjwvdWw+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjI1aW47bGlu
ZS1oZWlnaHQ6MTQuNHB0O3RhYi1zdG9wczo0NS44cHQgOTEuNnB0IDEzNy40cHQgMTgzLjJwdCAy
MjkuMHB0IDI3NC44cHQgMzIwLjZwdCAzNjYuNHB0IDQxMi4ycHQgNDU4LjBwdCA1MDMuOHB0IDU0
OS42cHQgNTk1LjRwdCA2NDEuMnB0IDY4Ny4wcHQgNzMyLjhwdCc+PHNwYW4NCnN0eWxlPSdmb250
LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyInPkEgbnVtYmVyIG9mIHRlY2hu
b2xvZ2llcw0KZXhpc3QgdG8gaW1wbGVtZW50IFZvSVAgY2xpZW50cyBhcyBicm93c2VyIGFwcGxl
dHMuIFRvIGtlZXAgYXBwbGV0IGxvYWRpbmcNCnRpbWVzIGxvdywgdmVuZG9ycyBkb24ndCBpbXBs
ZW1lbnQgc3RhbmRhcmQgU0lQLCBidXQgdXNlIHN0cmlwcGVkLWRvd24gdmFyaWFudHMNCm9yIHBy
b3ByaWV0YXJ5IHRlY2hub2xvZ3kuPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1N
c29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi4yNWluO2xpbmUtaGVpZ2h0OjE0LjRwdDt0YWIt
c3RvcHM6NDUuOHB0IDkxLjZwdCAxMzcuNHB0IDE4My4ycHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42
cHQgMzY2LjRwdCA0MTIuMnB0IDQ1OC4wcHQgNTAzLjhwdCA1NDkuNnB0IDU5NS40cHQgNjQxLjJw
dCA2ODcuMHB0IDczMi44cHQnPjxzcGFuDQpzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZh
bWlseToiQ291cmllciBOZXciJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNs
YXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjI1aW47bGluZS1oZWlnaHQ6MTQuNHB0
O3RhYi1zdG9wczo0NS44cHQgOTEuNnB0IDEzNy40cHQgMTgzLjJwdCAyMjkuMHB0IDI3NC44cHQg
MzIwLjZwdCAzNjYuNHB0IDQxMi4ycHQgNDU4LjBwdCA1MDMuOHB0IDU0OS42cHQgNTk1LjRwdCA2
NDEuMnB0IDY4Ny4wcHQgNzMyLjhwdCc+PHNwYW4NCnN0eWxlPSdmb250LXNpemU6MTAuMHB0O2Zv
bnQtZmFtaWx5OiJDb3VyaWVyIE5ldyInPjEuIFRoZSB1c2VyIGxvZ3MgaW50byBhIHdlYg0Kc2l0
ZSBhbmQgdGhlIGJyb3dzZXIgbG9hZHMgdGhlIGVtYmVkZGVkIFZvSVAgYXBwbGV0LjxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDou
MjVpbjtsaW5lLWhlaWdodDoxNC40cHQ7dGFiLXN0b3BzOjQ1LjhwdCA5MS42cHQgMTM3LjRwdCAx
ODMuMnB0IDIyOS4wcHQgMjc0LjhwdCAzMjAuNnB0IDM2Ni40cHQgNDEyLjJwdCA0NTguMHB0IDUw
My44cHQgNTQ5LjZwdCA1OTUuNHB0IDY0MS4ycHQgNjg3LjBwdCA3MzIuOHB0Jz48c3Bhbg0Kc3R5
bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Iic+Mi48c3Bhbg0K
c3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqAgPC9zcGFuPlRoZSB3ZWIgc2l0ZSdzIE9BVVRIIGNs
aWVudCBpbml0aWF0ZXMgYW4NCk9BVVRIIGV4Y2hhbmdlIHdpdGggdGhlIHVzZXIncyBwcmVmZXJy
ZWQgU0lQIHByb3ZpZGVyLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9y
bWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouMjVpbjtsaW5lLWhlaWdodDoxNC40cHQ7dGFiLXN0b3Bz
OjQ1LjhwdCA5MS42cHQgMTM3LjRwdCAxODMuMnB0IDIyOS4wcHQgMjc0LjhwdCAzMjAuNnB0IDM2
Ni40cHQgNDEyLjJwdCA0NTguMHB0IDUwMy44cHQgNTQ5LjZwdCA1OTUuNHB0IDY0MS4ycHQgNjg3
LjBwdCA3MzIuOHB0Jz48c3Bhbg0Kc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6
IkNvdXJpZXIgTmV3Iic+My48c3Bhbg0Kc3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqAgPC9zcGFu
PlRoZSB3ZWIgc2l0ZSByZWRpcmVjdHMgdGhlIHVzZXIncyBicm93c2VyIHRvDQp0aGUgYXV0aGVu
dGljYXRpb24gd2ViIHBhZ2Ugb2YgdGhlIFNJUCBwcm92aWRlcidzIE9BVVRIIHNlcnZlci48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxl
ZnQ6LjI1aW47bGluZS1oZWlnaHQ6MTQuNHB0O3RhYi1zdG9wczo0NS44cHQgOTEuNnB0IDEzNy40
cHQgMTgzLjJwdCAyMjkuMHB0IDI3NC44cHQgMzIwLjZwdCAzNjYuNHB0IDQxMi4ycHQgNDU4LjBw
dCA1MDMuOHB0IDU0OS42cHQgNTk1LjRwdCA2NDEuMnB0IDY4Ny4wcHQgNzMyLjhwdCc+PHNwYW4N
CnN0eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyInPjQuPHNw
YW4NCnN0eWxlPSdtc28tc3BhY2VydW46eWVzJz6gIDwvc3Bhbj5UaGUgdXNlciBlbnRlcnMgaGVy
IGNyZWRlbnRpYWxzLjxzcGFuDQpzdHlsZT0nbXNvLXNwYWNlcnVuOnllcyc+oCA8L3NwYW4+VGhl
IE9BVVRIIHNlcnZlciByZWRpcmVjdHMgaGVyIHRvIHRoZSB3ZWINCnNpdGUuPG86cD48L286cD48
L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi4yNWlu
O2xpbmUtaGVpZ2h0OjE0LjRwdDt0YWItc3RvcHM6NDUuOHB0IDkxLjZwdCAxMzcuNHB0IDE4My4y
cHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0IDQ1OC4wcHQgNTAzLjhw
dCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44cHQnPjxzcGFuDQpzdHlsZT0n
Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXciJz41LjxzcGFuDQpzdHls
ZT0nbXNvLXNwYWNlcnVuOnllcyc+oCA8L3NwYW4+VGhlIHdlYiBzaXRlIHRyYW5zbGF0ZXMgdGhl
IHdlYiBhcHBsZXRzDQptZXNzYWdlcyBpbnRvIFNJUCBhbmQgUlRQLjxzcGFuIHN0eWxlPSdtc28t
c3BhY2VydW46eWVzJz6gIDwvc3Bhbj5JdCBhZGRzIE9BVVRIDQp0b2tlbiBjcmVkZW50aWFscyB0
byB0aGUgU0lQIHJlcXVlc3RzIGl0IHNlbmRzIHRvd2FyZHMgdGhlIHVzZXIncyBwcmVmZXJyZWQg
U0lQDQpwcm92aWRlci48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1h
bCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjI1aW47bGluZS1oZWlnaHQ6MTQuNHB0O3RhYi1zdG9wczo0
NS44cHQgOTEuNnB0IDEzNy40cHQgMTgzLjJwdCAyMjkuMHB0IDI3NC44cHQgMzIwLjZwdCAzNjYu
NHB0IDQxMi4ycHQgNDU4LjBwdCA1MDMuOHB0IDU0OS42cHQgNTk1LjRwdCA2NDEuMnB0IDY4Ny4w
cHQgNzMyLjhwdCc+PHNwYW4NCnN0eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJD
b3VyaWVyIE5ldyInPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNv
Tm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouMjVpbjtsaW5lLWhlaWdodDoxNC40cHQ7dGFiLXN0
b3BzOjQ1LjhwdCA5MS42cHQgMTM3LjRwdCAxODMuMnB0IDIyOS4wcHQgMjc0LjhwdCAzMjAuNnB0
IDM2Ni40cHQgNDEyLjJwdCA0NTguMHB0IDUwMy44cHQgNTQ5LjZwdCA1OTUuNHB0IDY0MS4ycHQg
Njg3LjBwdCA3MzIuOHB0Jz48c3Bhbg0Kc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1p
bHk6IkNvdXJpZXIgTmV3Iic+QWZ0ZXIgdGhpcywgdGhlIE9BVVRIIHNlcnZlcg0KY2hlY2tzIHRo
ZSB0b2tlbiBjcmVkZW50aWFscyBmb3IgdmFsaWRpdHkgYW5kIGNoZWNrcyBpZiB0aGUgU0lQIHJl
cXVlc3QNCmNvbXBsaWVzIHRvIHRoZSBwb2xpY3kgdGhlIHVzZXIgaGFzIGdyYW50ZWQgZm9yIHRo
aXMga2luZCBvZiB0cmFuc2FjdGlvbi48c3Bhbg0Kc3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqAg
PC9zcGFuPklmIHRoZSBTSVAgcmVxdWVzdCBwYXNzZXMgYWxsIGNoZWNrcywgdGhlDQpPQVVUSCBz
ZXJ2ZXIgZm9yd2FyZHMgaXQgdG8gdGhlIHN1YnNlcXVlbnQgU0lQIG5vZGVzLjxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdsaW5lLWhlaWdodDoxNC40
cHQ7dGFiLXN0b3BzOjQ1LjhwdCA5MS42cHQgMTM3LjRwdCAxODMuMnB0IDIyOS4wcHQgMjc0Ljhw
dCAzMjAuNnB0IDM2Ni40cHQgNDEyLjJwdCA0NTguMHB0IDUwMy44cHQgNTQ5LjZwdCA1OTUuNHB0
IDY0MS4ycHQgNjg3LjBwdCA3MzIuOHB0Jz48c3Bhbg0Kc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7
Zm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Iic+PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT08bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbGluZS1oZWlnaHQ6MTQuNHB0O3RhYi1z
dG9wczo0NS44cHQgOTEuNnB0IDEzNy40cHQgMTgzLjJwdCAyMjkuMHB0IDI3NC44cHQgMzIwLjZw
dCAzNjYuNHB0IDQxMi4ycHQgNDU4LjBwdCA1MDMuOHB0IDU0OS42cHQgNTk1LjRwdCA2NDEuMnB0
IDY4Ny4wcHQgNzMyLjhwdCc+PGI+PHNwYW4NCnN0eWxlPSdmb250LXNpemU6MTAuMHB0O21zby1i
aWRpLWZvbnQtc2l6ZToxMi4wcHQ7Zm9udC1mYW1pbHk6QXJpYWwnPjYuIFVzZQ0KY2FzZXMgb2Yg
dGhlIGRyYWZ0IDxpIHN0eWxlPSdtc28tYmlkaS1mb250LXN0eWxlOm5vcm1hbCc+T0F1dGggQWNj
ZXNzIFRva2Vucw0KdXNpbmcgY3JlZGVudGlhbHM8bzpwPjwvbzpwPjwvaT48L3NwYW4+PC9iPjwv
cD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdsaW5lLWhlaWdodDoxNC40cHQ7dGFiLXN0
b3BzOjQ1LjhwdCA5MS42cHQgMTM3LjRwdCAxODMuMnB0IDIyOS4wcHQgMjc0LjhwdCAzMjAuNnB0
IDM2Ni40cHQgNDEyLjJwdCA0NTguMHB0IDUwMy44cHQgNTQ5LjZwdCA1OTUuNHB0IDY0MS4ycHQg
Njg3LjBwdCA3MzIuOHB0Jz48c3Bhbg0Kc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1p
bHk6IkNvdXJpZXIgTmV3Iic+KGRyYWZ0LWRlaG9yYS1mYXJyZWxsLW9hdXRoLWFjY2Vzc3Rva2Vu
LWNyZWRzLTAyDQphdXRob3JlZCBieSBCLiBkZSBoT3JhLCBhbmQgUy4gRmFycmVsbCwgTmV3QmF5
IFNvZnR3YXJlOyBwdWJsaXNoZWQgb24gRmVicnVhcnkNCjI0LCAyMDEwKTxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdsaW5lLWhlaWdodDoxNC40cHQ7
dGFiLXN0b3BzOjQ1LjhwdCA5MS42cHQgMTM3LjRwdCAxODMuMnB0IDIyOS4wcHQgMjc0LjhwdCAz
MjAuNnB0IDM2Ni40cHQgNDEyLjJwdCA0NTguMHB0IDUwMy44cHQgNTQ5LjZwdCA1OTUuNHB0IDY0
MS4ycHQgNjg3LjBwdCA3MzIuOHB0Jz48c3Bhbg0Kc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9u
dC1mYW1pbHk6IkNvdXJpZXIgTmV3Iic+VGhlIHVzZSBjYXNlcyB3aGVyZSBvbmUgb3INCmJvdGgg
b2YgdGhlIGZvbGxvd2luZyBzaXR1YXRpb25zIGFwcGx5OjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
Cg0KPHVsIHN0eWxlPSdtYXJnaW4tdG9wOjBpbicgdHlwZT1kaXNjPg0KIDxsaSBjbGFzcz1Nc29O
b3JtYWwgc3R5bGU9J2xpbmUtaGVpZ2h0OjE0LjRwdDttc28tbGlzdDpsNSBsZXZlbDEgbGZvMjsN
CiAgICAgdGFiLXN0b3BzOmxpc3QgLjVpbiBsZWZ0IDQ1LjhwdCA5MS42cHQgMTM3LjRwdCAxODMu
MnB0IDIyOS4wcHQgMjc0LjhwdCAzMjAuNnB0IDM2Ni40cHQgNDEyLjJwdCA0NTguMHB0IDUwMy44
cHQgNTQ5LjZwdCA1OTUuNHB0IDY0MS4ycHQgNjg3LjBwdCA3MzIuOHB0Jz48c3Bhbg0KICAgICBz
dHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXciJz5UaGUgVXNl
ciBpcyB1c2luZyBhDQogICAgIGRldmljZSB0aGF0IGNhbm5vdCBwbGF5IHRoZSBIVFRQIHJlLWRp
cmVjdCBnYW1lIG5vcm1hbGx5IHBsYXllZCBpbiB0aGUNCiAgICAgJnF1b3Q7My1sZWdnZWQmcXVv
dDsgT0F1dGggbW9kZWw8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPg0KIDxsaSBjbGFzcz1Nc29Ob3Jt
YWwgc3R5bGU9J2xpbmUtaGVpZ2h0OjE0LjRwdDttc28tbGlzdDpsNSBsZXZlbDEgbGZvMjsNCiAg
ICAgdGFiLXN0b3BzOmxpc3QgLjVpbiBsZWZ0IDQ1LjhwdCA5MS42cHQgMTM3LjRwdCAxODMuMnB0
IDIyOS4wcHQgMjc0LjhwdCAzMjAuNnB0IDM2Ni40cHQgNDEyLjJwdCA0NTguMHB0IDUwMy44cHQg
NTQ5LjZwdCA1OTUuNHB0IDY0MS4ycHQgNjg3LjBwdCA3MzIuOHB0Jz48c3Bhbg0KICAgICBzdHls
ZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXciJz5UaGUgQ29uc3Vt
ZXIgaXMgYW4NCiAgICAgYWdncmVnYXRvciB0aGF0IHdpbGwgaW4gYW55IGNhc2UsIGJlIHByZXNl
bnRlZCB3aXRoIHRoZSBjcmVkZW50aWFscyBvZiB0aGUNCiAgICAgZW5kLXVzZXI8bzpwPjwvbzpw
Pjwvc3Bhbj48L2xpPg0KPC91bD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdsaW5lLWhl
aWdodDoxNC40cHQ7dGFiLXN0b3BzOjQ1LjhwdCA5MS42cHQgMTM3LjRwdCAxODMuMnB0IDIyOS4w
cHQgMjc0LjhwdCAzMjAuNnB0IDM2Ni40cHQgNDEyLjJwdCA0NTguMHB0IDUwMy44cHQgNTQ5LjZw
dCA1OTUuNHB0IDY0MS4ycHQgNjg3LjBwdCA3MzIuOHB0Jz48c3Bhbg0Kc3R5bGU9J2ZvbnQtc2l6
ZToxMC4wcHQ7bXNvLWJpZGktZm9udC1zaXplOjEyLjBwdDtmb250LWZhbWlseTpBcmlhbDttc28t
YmlkaS1mb250LXdlaWdodDoNCmJvbGQnPj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PG86cD48L286cD48L3NwYW4+PC9w
Pg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J2xpbmUtaGVpZ2h0OjE0LjRwdDt0YWItc3Rv
cHM6NDUuOHB0IDkxLjZwdCAxMzcuNHB0IDE4My4ycHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQg
MzY2LjRwdCA0MTIuMnB0IDQ1OC4wcHQgNTAzLjhwdCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2
ODcuMHB0IDczMi44cHQnPjxiPjxzcGFuDQpzdHlsZT0nZm9udC1zaXplOjEwLjBwdDttc28tYmlk
aS1mb250LXNpemU6MTIuMHB0O2ZvbnQtZmFtaWx5OkFyaWFsJz43LiBVc2UNCmNhc2VzIG9mIHRo
ZSBkcmFmdCBVc2luZyA8aSBzdHlsZT0nbXNvLWJpZGktZm9udC1zdHlsZTpub3JtYWwnPk9BdXRo
IGZvcg0KUmVjdXJzaXZlIERlbGVnYXRpb248L2k+PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0nZm9u
dC1zaXplOjEwLjBwdDtmb250LWZhbWlseToNCiJDb3VyaWVyIE5ldyInPiA8bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbGluZS1oZWlnaHQ6MTQuNHB0
O3RhYi1zdG9wczo0NS44cHQgOTEuNnB0IDEzNy40cHQgMTgzLjJwdCAyMjkuMHB0IDI3NC44cHQg
MzIwLjZwdCAzNjYuNHB0IDQxMi4ycHQgNDU4LjBwdCA1MDMuOHB0IDU0OS42cHQgNTk1LjRwdCA2
NDEuMnB0IDY4Ny4wcHQgNzMyLjhwdCc+PHNwYW4NCnN0eWxlPSdmb250LXNpemU6MTAuMHB0O2Zv
bnQtZmFtaWx5OiJDb3VyaWVyIE5ldyInPihkcmFmdC12cmFuY2tlbi1vYXV0aC1yZWRlbGVnYXRp
b24tMDENCmF1dGhvcmVkIGJ5IEIuIFZyYW5ja2VuLCBaLiBaZWx0c2FuOyBwdWJsaXNoZWQgaW4g
RmVicnVhcnkgMjAxMCk8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjx1bCBzdHlsZT0nbWFyZ2lu
LXRvcDowaW4nIHR5cGU9ZGlzYz4NCiA8bGkgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdsaW5lLWhl
aWdodDoxNC40cHQ7bXNvLWxpc3Q6bDIgbGV2ZWwxIGxmbzY7DQogICAgIHRhYi1zdG9wczpsaXN0
IC41aW4gbGVmdCA0NS44cHQgOTEuNnB0IDEzNy40cHQgMTgzLjJwdCAyMjkuMHB0IDI3NC44cHQg
MzIwLjZwdCAzNjYuNHB0IDQxMi4ycHQgNDU4LjBwdCA1MDMuOHB0IDU0OS42cHQgNTk1LjRwdCA2
NDEuMnB0IDY4Ny4wcHQgNzMyLjhwdCc+PGI+PHNwYW4NCiAgICAgc3R5bGU9J2ZvbnQtc2l6ZTox
MC4wcHQ7bXNvLWJpZGktZm9udC1zaXplOjEyLjBwdDtmb250LWZhbWlseTpBcmlhbCc+Q29udGVu
dA0KICAgICBzaGFyaW5nPG86cD48L286cD48L3NwYW4+PC9iPjwvbGk+DQo8L3VsPg0KDQo8cCBj
bGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi4yNWluO2xpbmUtaGVpZ2h0OjE0LjRw
dDt0YWItc3RvcHM6NDUuOHB0IDkxLjZwdCAxMzcuNHB0IDE4My4ycHQgMjI5LjBwdCAyNzQuOHB0
IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0IDQ1OC4wcHQgNTAzLjhwdCA1NDkuNnB0IDU5NS40cHQg
NjQxLjJwdCA2ODcuMHB0IDczMi44cHQnPjxzcGFuDQpzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtm
b250LWZhbWlseToiQ291cmllciBOZXciJz5UaGUgT0F1dGggcHJvdG9jb2wgcHJvdmlkZXMNCmEg
bWV0aG9kIGZvciBzZXJ2ZXJzIHRvIGFsbG93IHRoaXJkLXBhcnR5IGFjY2VzcyB0byBwcm90ZWN0
ZWQgcmVzb3VyY2VzIHdpdGhvdXQNCmZvcmNpbmcgdGhlaXIgZW5kLXVzZXJzIHRvIHJldmVhbCB0
aGVpciBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscy48c3Bhbg0Kc3R5bGU9J21zby1zcGFjZXJ1
bjp5ZXMnPqAgPC9zcGFuPlRoaXMgbWV0aG9kIGNhbiBiZSBlbXBsb3llZCB0byBzdXBwb3J0DQpv
cmdhbml6aW5nIGFuZCBzaGFyaW5nIGluZm9ybWF0aW9uIGFtb25nIHRoZSBlbmQtdXNlcnMuPG86
cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1s
ZWZ0Oi4yNWluO2xpbmUtaGVpZ2h0OjE0LjRwdDt0YWItc3RvcHM6NDUuOHB0IDkxLjZwdCAxMzcu
NHB0IDE4My4ycHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0IDQ1OC4w
cHQgNTAzLjhwdCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44cHQnPjxzcGFu
DQpzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXciJz5Gb3Ig
ZXhhbXBsZSwgYSBXZWIgdXNlcg0KKFJlc291cmNlIE93bmVyKSBjYW4gZ3JhbnQgZGF0YSBhY2Nl
c3MgdG8gYSBwcmUtZGVmaW5lZCBzZXQgb2YgdXNlcnMuPHNwYW4NCnN0eWxlPSdtc28tc3BhY2Vy
dW46eWVzJz6gIDwvc3Bhbj5UaGlzIGNhbiBiZSBkb25lIHdpdGggdGhlIHVzZSBvZiBhIHNwZWNp
YWwgT0F1dGgNCkNsaWVudCAtIGNvbnRlbnQgbWFuYWdlciAtIHdoaWNoIHNlcnZlcyBhcyBhIHBy
b3h5IGJldHdlZW4gdGhlIGVuZC11c2VycyBhbmQNCnRoZSBXZWIgc2VydmVycyB0aGF0IGhvc3Qg
dGhlIHJlc291cmNlcyByZWxhdGVkIHRvIHRoZSBwcm9qZWN0LjxzcGFuDQpzdHlsZT0nbXNvLXNw
YWNlcnVuOnllcyc+oCA8L3NwYW4+VGhlIGNvbnRlbnQgbWFuYWdlciBhbGxvd3MgYSB1c2VyICh0
aGUgb3duZXINCm9mIHRoZSByZXNvdXJjZXMpIHRvIHNwZWNpZnkgYSBzZXQgb2YgdGhlIHJlc291
cmNlcyByZWxhdGVkIHRvIGEgcHJvamVjdCAoZS5nLiwNCmJ5IHRhZ2dpbmcpIGFuZCBhIHNldCBv
ZiB0aGUgdXNlcnMgYW5kIHRoZWlyIGFjY2VzcyByaWdodHMgaW4gcmVzcGVjdCB0byB0aGUNCnJl
c291cmNlcy48c3BhbiBzdHlsZT0nbXNvLXNwYWNlcnVuOnllcyc+oCA8L3NwYW4+VGhlIGNvbnRl
bnQgbWFuYWdlciBtYXkgYWxzbw0KZW5hYmxlIHNlYXJjaGluZyBvZiB0aGUgcmVsYXRlZCBtYXRl
cmlhbHMuPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9
J2xpbmUtaGVpZ2h0OjE0LjRwdDt0YWItc3RvcHM6NDUuOHB0IDkxLjZwdCAxMzcuNHB0IDE4My4y
cHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0IDQ1OC4wcHQgNTAzLjhw
dCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44cHQnPjxzcGFuDQpzdHlsZT0n
Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXciJz48bzpwPiZuYnNwOzwv
bzpwPjwvc3Bhbj48L3A+DQoNCjx1bCBzdHlsZT0nbWFyZ2luLXRvcDowaW4nIHR5cGU9ZGlzYz4N
CiA8bGkgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdsaW5lLWhlaWdodDoxNC40cHQ7bXNvLWxpc3Q6
bDIgbGV2ZWwxIGxmbzY7DQogICAgIHRhYi1zdG9wczpsaXN0IC41aW4gbGVmdCA0NS44cHQgOTEu
NnB0IDEzNy40cHQgMTgzLjJwdCAyMjkuMHB0IDI3NC44cHQgMzIwLjZwdCAzNjYuNHB0IDQxMi4y
cHQgNDU4LjBwdCA1MDMuOHB0IDU0OS42cHQgNTk1LjRwdCA2NDEuMnB0IDY4Ny4wcHQgNzMyLjhw
dCc+PGI+PHNwYW4NCiAgICAgc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7bXNvLWJpZGktZm9udC1z
aXplOjEyLjBwdDtmb250LWZhbWlseTpBcmlhbCc+QWRkaXRpb25hbA0KICAgICBleGFtcGxlPG86
cD48L286cD48L3NwYW4+PC9iPjwvbGk+DQo8L3VsPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5
bGU9J21hcmdpbi1sZWZ0Oi4yNWluO2xpbmUtaGVpZ2h0OjE0LjRwdDt0YWItc3RvcHM6NDUuOHB0
IDkxLjZwdCAxMzcuNHB0IDE4My4ycHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0
MTIuMnB0IDQ1OC4wcHQgNTAzLjhwdCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0IDcz
Mi44cHQnPjxzcGFuDQpzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291cmll
ciBOZXciJz5BIFJlc291cmNlIE93bmVyIGRlbGVnYXRlcw0KdGhlIGFjY2VzcyByaWdodHMgb24g
dGhlIHBob3RvZ3JhcGhzIHRvIGEgcHJpbnRpbmcgc2VydmljZSB2aWEgYSBjb250ZW50DQptYW5h
Z2VyLjxzcGFuIHN0eWxlPSdtc28tc3BhY2VydW46eWVzJz6gIDwvc3Bhbj5FdmVuIGlmIHRoZSBw
aG90b2dyYXBocyBhcmUgc3RvcmVkDQpvbiB0aGUgZGlmZmVyZW50IFdlYiBzZXJ2ZXJzLCB0aGUg
Y29udGVudCBtYW5hZ2VyIGVuYWJsZXMgdGhlIHByaW50aW5nIHNlcnZpY2UNCnRvIGFjY2VzcyB0
aGVtIHdpdGhvdXQgZm9yY2luZyB0aGUgUmVzb3VyY2UgT3duZXIgdG8gcmVwZWF0IHRoZSBhdXRo
b3JpemF0aW9uDQpwcm9jZWR1cmUuPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1N
c29Ob3JtYWwgc3R5bGU9J2xpbmUtaGVpZ2h0OjE0LjRwdDt0YWItc3RvcHM6NDUuOHB0IDkxLjZw
dCAxMzcuNHB0IDE4My4ycHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0
IDQ1OC4wcHQgNTAzLjhwdCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44cHQn
PjxzcGFuDQpzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXci
Jz49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFs
IHN0eWxlPSdtYXJnaW4tdG9wOjcuNXB0O21hcmdpbi1yaWdodDowaW47bWFyZ2luLWJvdHRvbTo3
LjVwdDsNCm1hcmdpbi1sZWZ0OjBpbjtsaW5lLWhlaWdodDoxMy4wcHQnPjxiPjxzcGFuIHN0eWxl
PSdmb250LXNpemU6MTAuMHB0Ow0KbXNvLWJpZGktZm9udC1zaXplOjEyLjBwdDtmb250LWZhbWls
eTpBcmlhbCc+OC4gVU1BIHVzZSBjYXNlcyA8bzpwPjwvbzpwPjwvc3Bhbj48L2I+PC9wPg0KDQo8
cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J2xpbmUtaGVpZ2h0OjE0LjRwdDt0YWItc3RvcHM6NDUu
OHB0IDkxLjZwdCAxMzcuNHB0IDE4My4ycHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2LjRw
dCA0MTIuMnB0IDQ1OC4wcHQgNTAzLjhwdCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0
IDczMi44cHQnPjxzcGFuDQpzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291
cmllciBOZXciJz5UaGUgZXh0ZW5zaXZlIGluZm9ybWF0aW9uDQphYm91dCBVTUGScyB1c2UgY2Fz
ZXMgaXMgYXQ8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHls
ZT0nbGluZS1oZWlnaHQ6MTQuNHB0O3RhYi1zdG9wczo0NS44cHQgOTEuNnB0IDEzNy40cHQgMTgz
LjJwdCAyMjkuMHB0IDI3NC44cHQgMzIwLjZwdCAzNjYuNHB0IDQxMi4ycHQgNDU4LjBwdCA1MDMu
OHB0IDU0OS42cHQgNTk1LjRwdCA2NDEuMnB0IDY4Ny4wcHQgNzMyLjhwdCc+PHNwYW4NCnN0eWxl
PSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyInPjxhDQpocmVmPSJo
dHRwOi8va2FudGFyYWluaXRpYXRpdmUub3JnL2NvbmZsdWVuY2UvZGlzcGxheS91bWEvVU1BK1Nj
ZW5hcmlvcythbmQrVXNlK0Nhc2VzIj5odHRwOi8va2FudGFyYWluaXRpYXRpdmUub3JnL2NvbmZs
dWVuY2UvZGlzcGxheS91bWEvVU1BK1NjZW5hcmlvcythbmQrVXNlK0Nhc2VzPC9hPg0KPG86cD48
L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J2xpbmUtaGVpZ2h0
OjE0LjRwdDt0YWItc3RvcHM6NDUuOHB0IDkxLjZwdCAxMzcuNHB0IDE4My4ycHQgMjI5LjBwdCAy
NzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0IDQ1OC4wcHQgNTAzLjhwdCA1NDkuNnB0IDU5
NS40cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44cHQnPjxzcGFuDQpzdHlsZT0nZm9udC1zaXplOjEw
LjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXciJz5UaGUgc3VtbWFyaWVzIG9mIHR3byBvZiB0
aGUNCmdyb3VwJ3MgYXBwcm92ZWQgc2NlbmFyaW9zIGFyZSBhcyBmb2xsb3dzIChzdWJtaXR0ZWQg
dG8gW09BVVRILVdHXSBsaXN0IGJ5IEV2ZQ0KTWFsZXIgb24gMi8zLzIwMTApOjxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCg0KPHVsIHN0eWxlPSdtYXJnaW4tdG9wOjBpbicgdHlwZT1kaXNjPg0KIDxs
aSBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J2xpbmUtaGVpZ2h0OjE0LjRwdDttc28tbGlzdDpsMiBs
ZXZlbDEgbGZvNjsNCiAgICAgdGFiLXN0b3BzOmxpc3QgLjVpbiBsZWZ0IDQ1LjhwdCA5MS42cHQg
MTM3LjRwdCAxODMuMnB0IDIyOS4wcHQgMjc0LjhwdCAzMjAuNnB0IDM2Ni40cHQgNDEyLjJwdCA0
NTguMHB0IDUwMy44cHQgNTQ5LjZwdCA1OTUuNHB0IDY0MS4ycHQgNjg3LjBwdCA3MzIuOHB0Jz48
Yg0KICAgICBzdHlsZT0nbXNvLWJpZGktZm9udC13ZWlnaHQ6bm9ybWFsJz48c3BhbiBzdHlsZT0n
Zm9udC1zaXplOjEwLjBwdDsNCiAgICAgZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Iic+Q2FsZW5k
YXJpbmc8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSdmb250LXNpemU6DQogICAgIDEwLjBwdDtmb250
LWZhbWlseToiQ291cmllciBOZXciJz46IE9ubGluZSBjYWxlbmRhcnMsIHdob3NlIGNvbnRlbnQg
aXMNCiAgICAgdm9sYXRpbGUsIGFyZSB2YWx1YWJsZSB0byBzaGFyZSBvbiBhbiBvbmdvaW5nLyZx
dW90O2ZlZWQmcXVvdDsgYmFzaXMuIDxzcGFuDQogICAgIHN0eWxlPSdtc28tc3BhY2VydW46eWVz
Jz6gPC9zcGFuPkluIHNvbWV3aGF0IHRoZSBzYW1lIGZhc2hpb24gdGhhdCBwZW9wbGUNCiAgICAg
dG9kYXkgc2hhcmUgb25saW5lIGNhbGVuZGFycyBzZWxlY3RpdmVseSB3aXRoIG90aGVyIHBlb3Bs
ZSwgYSB1c2VyIGNhbg0KICAgICBzaGFyZSBhIGNhbGVuZGFyIHdpdGggYSB2ZW5kb3IgZm9yIHZh
cmlvdXMgcHVycG9zZXMuPHNwYW4NCiAgICAgc3R5bGU9J21zby1zcGFjZXJ1bjp5ZXMnPqAgPC9z
cGFuPlByaW9yIHRvIGFsbG93aW5nIHRoZSBhY2Nlc3MsIHNoZSBtaWdodA0KICAgICB1c2UgVU1B
IHRvIHJlcXVpcmUgdGhlIHJlcXVlc3RlciB0byBhc3N1cmUgaGVyIHRoZXkgd2lsbCBub3QgbWlz
dXNlIG9yDQogICAgIGZ1cnRoZXIgc2hhcmUgaGVyIGluZm9ybWF0aW9uLjxzcGFuIHN0eWxlPSdt
c28tc3BhY2VydW46eWVzJz6gDQogICAgIDwvc3Bhbj5IYXZpbmcgYXV0aG9yaXplZCBhY2Nlc3Mg
dG8gYSBwYXJ0aWN1bGFyIHJlc291cmNlLCB0aGUgdXNlciBjYW4NCiAgICAgdGhlbiBleGFtaW5l
IGFsbCB0aGUgY29ubmVjdGlvbnMgZm9yZ2VkIHRvIGFsbCBoZXIgc2hhcmVkIHJlc291cmNlcyBp
bg0KICAgICBzaW1pbGFyIGZhc2hpb24sIGZyb20gYSBzaW5nbGUgY29uc29sZS48bzpwPjwvbzpw
Pjwvc3Bhbj48L2xpPg0KPC91bD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdsaW5lLWhl
aWdodDoxNC40cHQ7dGFiLXN0b3BzOjQ1LjhwdCA5MS42cHQgMTM3LjRwdCAxODMuMnB0IDIyOS4w
cHQgMjc0LjhwdCAzMjAuNnB0IDM2Ni40cHQgNDEyLjJwdCA0NTguMHB0IDUwMy44cHQgNTQ5LjZw
dCA1OTUuNHB0IDY0MS4ycHQgNjg3LjBwdCA3MzIuOHB0Jz48c3Bhbg0Kc3R5bGU9J2ZvbnQtc2l6
ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Iic+PG86cD4mbmJzcDs8L286cD48L3Nw
YW4+PC9wPg0KDQo8ZGl2IHN0eWxlPSdtc28tZWxlbWVudDpwYXJhLWJvcmRlci1kaXY7Ym9yZGVy
Om5vbmU7Ym9yZGVyLWJvdHRvbTpkb3VibGUgd2luZG93dGV4dCAyLjI1cHQ7DQpwYWRkaW5nOjBp
biAwaW4gMTQuMHB0IDBpbjttYXJnaW4tbGVmdDouMjVpbjttYXJnaW4tcmlnaHQ6MGluJz4NCg0K
PHVsIHN0eWxlPSdtYXJnaW4tdG9wOjBpbicgdHlwZT1kaXNjPg0KIDxsaSBjbGFzcz1Nc29Ob3Jt
YWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi4yNWluO2xpbmUtaGVpZ2h0OjE0LjRwdDttc28tbGlzdDps
MiBsZXZlbDEgbGZvNjsNCiAgICAgdGFiLXN0b3BzOmxpc3QgLjVpbiBsZWZ0IDQ1LjhwdCA5MS42
cHQgMTM3LjRwdCAxODMuMnB0IDIyOS4wcHQgMjc0LjhwdCAzMjAuNnB0IDM2Ni40cHQgNDEyLjJw
dCA0NTguMHB0IDUwMy44cHQgNTQ5LjZwdCA1OTUuNHB0IDY0MS4ycHQgNjg3LjBwdCA3MzIuOHB0
Ow0KICAgICBib3JkZXI6bm9uZTttc28tYm9yZGVyLWJvdHRvbS1hbHQ6ZG91YmxlIHdpbmRvd3Rl
eHQgMi4yNXB0O3BhZGRpbmc6MGluOw0KICAgICBtc28tcGFkZGluZy1hbHQ6MGluIDBpbiAxNC4w
cHQgMGluJz48YiBzdHlsZT0nbXNvLWJpZGktZm9udC13ZWlnaHQ6bm9ybWFsJz48c3Bhbg0KICAg
ICBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXciJz5QZXJz
b25hbCBMb2FuOjwvc3Bhbj48L2I+PHNwYW4NCiAgICAgc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7
Zm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Iic+IEEgdXNlciBhcHBsaWVzIGZvciBhDQogICAgIGxv
YW4gb25saW5lLCBhbmQgdGhlIGxvYW4gYXBwbGljYXRpb24gc2l0ZSByZXF1aXJlcyBoaW0gdG8g
cHJvdmlkZSBjZXJ0YWluDQogICAgIHRoaXJkLXBhcnR5LWF0dGVzdGVkIGluZm9ybWF0aW9uLCBz
dWNoIGFzIGhpcyBzYWxhcnksIGJhbmsgYWNjb3VudCwgYW5kDQogICAgIGNyZWRpdCBzY29yZS48
c3BhbiBzdHlsZT0nbXNvLXNwYWNlcnVuOnllcyc+oCA8L3NwYW4+VGhpcyBpbmZvcm1hdGlvbiBp
cw0KICAgICBiZXN0IGhvc3RlZCBkaXJlY3RseSBvdXQgb2YgdGhlIChzZXZlcmFsKSBhdXRob3Jp
dGF0aXZlIHNpdGVzIGZvciBpdCwgYnV0DQogICAgIHRoZSB1c2VyIGlzIGFibGUgdG8gcGFja2Fn
ZSB1cCByZWZlcmVuY2VzIHRvIGFsbCBvZiBpdCBhbmQgcG9pbnQgdGhlIGxvYW4NCiAgICAgc2l0
ZSB0byB0aGUgcGFja2FnZTsgdGhlIGxvYW4gc2l0ZSBjYW4gdGhlbiBiZWNvbWUgYSByZXF1ZXN0
ZXIgb2YgZWFjaA0KICAgICByZWxldmFudCByZXNvdXJjZS48c3BhbiBzdHlsZT0nbXNvLXNwYWNl
cnVuOnllcyc+oCA8L3NwYW4+VGhlIHVzZXIgY2FuDQogICAgIHNlZSwgZnJvbSBhIHNpbmdsZSBw
bGFjZSwgd2hldGhlciB0aGUgaW5mb3JtYXRpb24gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5DQogICAg
IHJlY2VpdmVkLCBhbmQgY2FuIGtlZXAgYSByZWNvcmQgb2YgaXRzIGFjY2Vzcy48c3Bhbg0KICAg
ICBzdHlsZT0nbXNvLXNwYWNlcnVuOnllcyc+oCA8L3NwYW4+KFRoZSB3ZWJpbmFyIHdpcmVmcmFt
ZXMgc2hvdyBob3cgdGhpcw0KICAgICBwYWNrYWdpbmcgbWlnaHQgYmUgYWNoaWV2ZWQsIGFsb25n
IHdpdGggaWxsdXN0cmF0aW5nIG90aGVyIHBvdGVudGlhbCBwYXJ0cw0KICAgICBvZiB0aGUgdXNl
ciBleHBlcmllbmNlLjwvc3Bhbj48Yj48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDttc28t
YmlkaS1mb250LXNpemU6DQogICAgIDEyLjBwdDtmb250LWZhbWlseTpBcmlhbCc+PG86cD48L286
cD48L3NwYW4+PC9iPjwvbGk+DQo8L3VsPg0KDQo8L2Rpdj4NCg0KPHAgY2xhc3M9TXNvTm9ybWFs
IHN0eWxlPSdtc28tbGF5b3V0LWdyaWQtYWxpZ246bm9uZTt0ZXh0LWF1dG9zcGFjZTpub25lJz48
Yj48c3Bhbg0Kc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7bXNvLWJpZGktZm9udC1zaXplOjEyLjBw
dDtmb250LWZhbWlseTpBcmlhbCc+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9iPjwvcD4NCg0K
PHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtc28tbGF5b3V0LWdyaWQtYWxpZ246bm9uZTt0ZXh0
LWF1dG9zcGFjZTpub25lJz48Yj48c3Bhbg0Kc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7bXNvLWJp
ZGktZm9udC1zaXplOjEyLjBwdDtmb250LWZhbWlseTpBcmlhbCc+OS48L3NwYW4+PC9iPjxzcGFu
DQpzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXciJz4gPC9z
cGFuPjxiPjxzcGFuDQpzdHlsZT0nZm9udC1zaXplOjEwLjBwdDttc28tYmlkaS1mb250LXNpemU6
MTIuMHB0O2ZvbnQtZmFtaWx5OkFyaWFsJz5Vc2UgY2FzZQ0KZm9yIHNpZ25hdHVyZSB3aXRoIGFz
eW1tZXRyaWMgc2VjcmV0PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDsN
CmZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyInPiA8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxw
IGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbXNvLWxheW91dC1ncmlkLWFsaWduOm5vbmU7dGV4dC1h
dXRvc3BhY2U6bm9uZSc+PHNwYW4NCnN0eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5
OiJDb3VyaWVyIE5ldyInPihzdWJtaXR0ZWQgdG8gW09BVVRILVdHXQ0KbGlzdCBieSBFcmFuIEhh
bW1lci1MYWhhdiBvbiAyLzE4LzIwMTApPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFz
cz1Nc29Ob3JtYWwgc3R5bGU9J21zby1sYXlvdXQtZ3JpZC1hbGlnbjpub25lO3RleHQtYXV0b3Nw
YWNlOm5vbmUnPjxzcGFuDQpzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291
cmllciBOZXciJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05v
cm1hbCBzdHlsZT0nbXNvLWxheW91dC1ncmlkLWFsaWduOm5vbmU7dGV4dC1hdXRvc3BhY2U6bm9u
ZSc+PHNwYW4NCnN0eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5l
dyInPkEgc2VydmljZSBwcm92aWRlciBpcw0Kb2ZmZXJpbmcgYW4gQVBJIGZvciBpbmNvbWluZyBt
ZXNzYWdlcy4gSXQgaXMgbm90IHBvc3NpYmxlIGZvciB0aGlzIHNlcnZpY2UgdG8NCnJlcXVpcmUg
cHJlLXJlZ2lzdHJhdGlvbiBvZiBjbGllbnRzIGJlY2F1c2Ugb2YgdGhlIG51bWJlciBvZiBwb3Nz
aWJsZSBjbGllbnRzLA0Kb3IgdGhlIHR5cGUgb2YgY2xpZW50cy4gSW4gdGhpcyBzY2VuYXJpbywg
dGhlIHNlcnZlciBpcyBtb3N0IGxpa2VseSBhIHNtYWxsDQpzaXRlLCB3aGlsZSB0aGUgY2xpZW50
cyBhcmUgbGFyZ2UgcHJvdmlkZXJzLiBJdCBpcyBub3QgbGlrZWx5IHRoYXQgdGhlc2UgbGFyZ2UN
CnByb3ZpZGVycyB3aWxsIGJvdGhlciB0byByZWdpc3RlciB3aXRoIHRoZSBzZXJ2ZXIuIEluIGFk
ZGl0aW9uLCB0aGUgc2VydmVyDQptaWdodCB3YW50IHRvIG1haW50YWluIGEgd2hpdGUgb3IgYmxh
Y2sgbGlzdCBvZiBhbGxvd2VkIGNsaWVudHMuPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBj
bGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21zby1sYXlvdXQtZ3JpZC1hbGlnbjpub25lO3RleHQtYXV0
b3NwYWNlOm5vbmUnPjxzcGFuDQpzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToi
Q291cmllciBOZXciJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1z
b05vcm1hbCBzdHlsZT0nbXNvLWxheW91dC1ncmlkLWFsaWduOm5vbmU7dGV4dC1hdXRvc3BhY2U6
bm9uZSc+PHNwYW4NCnN0eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJDb3VyaWVy
IE5ldyInPlRoZSB3YXkgdGhpcyB3b3JrcyBpczo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxw
IGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbXNvLWxheW91dC1ncmlkLWFsaWduOm5vbmU7dGV4dC1h
dXRvc3BhY2U6bm9uZSc+PHNwYW4NCnN0eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5
OiJDb3VyaWVyIE5ldyInPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9
TXNvTm9ybWFsIHN0eWxlPSdtc28tbGF5b3V0LWdyaWQtYWxpZ246bm9uZTt0ZXh0LWF1dG9zcGFj
ZTpub25lJz48c3Bhbg0Kc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IkNvdXJp
ZXIgTmV3Iic+MS4gQ2xpZW50IG1ha2VzIGEgc2lnbmVkDQpyZXF1ZXN0IHRvIGRlbGl2ZXIgYSBt
ZXNzYWdlIHRvIGEgdXNlciBvbiB0aGUgc2VydmVyLiBUaGUgcmVxdWVzdCBpcyBzaWduZWQNCnVz
aW5nIHRoZSBjbGllbnQncyBwcml2YXRlIGtleSwgYW5kIGluY2x1ZGVzIHRoZSBhY2NvdW50IG9m
IHRoZSBzZW5kZXIgd2hpY2ggaXMNCnVuZGVyIHRoZSBjb250cm9sIG9mIHRoZSBjbGllbnQgKGku
ZS4gYWNjdDpqb2VAZXhhbXBsZS5jb20pLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xh
c3M9TXNvTm9ybWFsIHN0eWxlPSdtc28tbGF5b3V0LWdyaWQtYWxpZ246bm9uZTt0ZXh0LWF1dG9z
cGFjZTpub25lJz48c3Bhbg0Kc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IkNv
dXJpZXIgTmV3Iic+Mi4gVGhlIHNlcnZlciByZWNlaXZlcyB0aGUNCm1lc3NhZ2UgYW5kIG9idGFp
bnMgdGhlIGhvc3QtbWV0YSBkb2N1bWVudCBmb3IgZXhhbXBsZS5jb20gdXNpbmcgU1NML1RMUy4g
VGhlDQpob3N0LW1ldGEgZG9jdW1lbnQgZWl0aGVyIGluY2x1ZGVzIHRoZSBjb3JyZXNwb25kaW5n
IHB1YmxpYyBrZXkgZm9yIHRoZSBjbGllbnQNCihmb3IgdGhpcyBwdXJwb3NlKSBvciBsaW5rcyB0
byBvbmUuPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9
J21zby1sYXlvdXQtZ3JpZC1hbGlnbjpub25lO3RleHQtYXV0b3NwYWNlOm5vbmUnPjxzcGFuDQpz
dHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXciJz4zLiBUaGUg
c2VydmVyIHZlcmlmaWVzIHRoZQ0KcmVxdWVzdCBieSBjaGVja2luZyB0aGUgc2lnbmF0dXJlIHVz
aW5nIHRoZSBwdWJsaWMga2V5LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNv
Tm9ybWFsIHN0eWxlPSdtc28tbGF5b3V0LWdyaWQtYWxpZ246bm9uZTt0ZXh0LWF1dG9zcGFjZTpu
b25lJz48c3Bhbg0Kc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IkNvdXJpZXIg
TmV3Iic+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWwg
c3R5bGU9J21zby1sYXlvdXQtZ3JpZC1hbGlnbjpub25lO3RleHQtYXV0b3NwYWNlOm5vbmUnPjxz
cGFuDQpzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXciJz5U
aGlzIGNhbiBiZSBtb2RpZmllZCB0bw0KaW5jbHVkZSBkZWxlZ2F0aW9uLCBpbiB3aGljaCB0aGUg
Y2xpZW50IHVzZXMgYSBwcml2YXRlLWtleSBzaWduZWQgcmVxdWVzdCB0bw0Kb2J0YWluIGEgdG9r
ZW4gd2l0aCB0aGUgdXN1YWwgZmxvd3MgaW52b2x2aW5nIGEgdXNlci4gVGhlIHB1cnBvc2Ugb2Yg
dGhpcyBmbG93DQppcyB0byBhdm9pZCBjbGllbnQgcmVnaXN0cmF0aW9uIHdoaWxlIHN0aWxsIHZl
cmlmeWluZyB0aGUgY2xpZW50J3MgaWRlbnRpdHkgYW5kDQpwb3RlbnRpYWxseSBhZ3JlZW1lbnQg
dG8gdGVybXMgb2Ygc2VydmljZSAoYXNzdW1pbmcgdGhleSBjYW4gYmUgcmVwcmVzZW50ZWQgaW4N
CmEgbWFjaGluZSByZWFkYWJsZSB3YXkgaW4gdGhlIGNsaWVudCdzIGhvc3QtbWV0YSBkb2N1bWVu
dCkuPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21z
by1sYXlvdXQtZ3JpZC1hbGlnbjpub25lO3RleHQtYXV0b3NwYWNlOm5vbmUnPjxzcGFuDQpzdHls
ZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXciJz48bzpwPiZuYnNw
OzwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbXNvLWxheW91
dC1ncmlkLWFsaWduOm5vbmU7dGV4dC1hdXRvc3BhY2U6bm9uZSc+PHNwYW4NCnN0eWxlPSdmb250
LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyInPlRoaXMgZmxvdyB1c2VzIFNT
TC9UTFMgZm9yDQpvYnRhaW5pbmcgdGhlIGhvc3QtbWV0YSBkb2N1bWVudCAod2hpY2ggd2lsbCBs
aWtlbHkgaW5jbHVkZSBtb3JlIHN0ZXBzIHRvDQp2ZXJpZnkgdHJ1c3QpLCBhcyB3ZWxsIGFzIGxp
a2VseSB0byB1c2UgU1NML1RMUyBmb3IgbWFraW5nIEFQSSBjYWxscyB0bw0KbWFpbnRhaW4gbWVz
c2FnZSBwcml2YWN5IGluIHRyYW5zaXQuPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFz
cz1Nc29Ob3JtYWwgc3R5bGU9J21zby1sYXlvdXQtZ3JpZC1hbGlnbjpub25lO3RleHQtYXV0b3Nw
YWNlOm5vbmUnPjxzcGFuDQpzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291
cmllciBOZXciJz49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9
TXNvTm9ybWFsIHN0eWxlPSdtc28tbGF5b3V0LWdyaWQtYWxpZ246bm9uZTt0ZXh0LWF1dG9zcGFj
ZTpub25lJz48Yj48c3Bhbg0Kc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7bXNvLWJpZGktZm9udC1z
aXplOjEyLjBwdDtmb250LWZhbWlseTpBcmlhbCc+MTAuIEENCnRva2VuIHVzZSBjYXNlIDxvOnA+
PC9vOnA+PC9zcGFuPjwvYj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbXNvLWxh
eW91dC1ncmlkLWFsaWduOm5vbmU7dGV4dC1hdXRvc3BhY2U6bm9uZSc+PHNwYW4NCnN0eWxlPSdm
b250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyInPihzdWJtaXR0ZWQgdG8g
W09BVVRILVdHXQ0KbGlzdCBieSBHcmVnIEJyYWlsIG9uIDMvMjIvMjAxMCk8bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEw
LjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXciJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48
L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtm
b250LWZhbWlseToiQ291cmllciBOZXciJz5UaGVyZQ0KYXJlIEFQSXMgdGhhdCByZXF1aXJlIHRo
YXQgdGhlICZxdW90O2FwcGxpY2F0aW9uJnF1b3Q7IG9yIGRldmljZSBiZQ0KYXV0aGVudGljYXRl
ZCwgYnV0IG5vdCBuZWNlc3NhcmlseSB0aGUgaW5kaXZpZHVhbCB1c2VyLiBUaGlzIGhhcHBlbnMg
aW4gbW9iaWxlDQphcHBzLCBmb3IgaW5zdGFuY2UgLS0gdGhlcmUgaXMgYSByZXF1aXJlbWVudCB0
byBpZGVudGlmeSB3aGljaCBtb2JpbGUgYXBwLA0KdmVyc2lvbiwgcGxhdGZvcm0sIGV0YywgaXMg
bWFraW5nIEFQSSBjYWxscy4gSG93ZXZlciwgdGhlIGRhdGEgYmVpbmcgcmV0cmlldmVkDQppcyBu
b3QgdGVycmlibHkgc2Vuc2l0aXZlIGFuZCBkb2VzIG5vdCByZXF1aXJlIHVzZXItbGV2ZWwgYXV0
aGVudGljYXRpb24uPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+
PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Iic+
PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4g
c3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Iic+VGhlDQpz
dGFuZGFyZCB3YXkgdG8gaGFuZGxlIHRoaXMgaW4gdGhlIEFQSSB3b3JsZCB0b2RheSBpcyBieSB1
c2luZyB0aGUgJnF1b3Q7QVBJIGtleSZxdW90Ow0KcGF0dGVybiAtLSBhIHVuaXF1ZSBpZGVudGlm
aWVyIGlzIGhhbmRlZCB0byBldmVyeSBhcHBsaWNhdGlvbiwgYnVyaWVkIGluIHRoZQ0KY29kZSBz
b21ld2hlcmUsIGFuZCB1c2VkIG9uIGV2ZXJ5IEFQSSBjYWxsLjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0O2Zv
bnQtZmFtaWx5OiJDb3VyaWVyIE5ldyInPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCg0K
PHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFt
aWx5OiJDb3VyaWVyIE5ldyInPlNvbWUNCnVzZXJzIG9mIEFQSXMgd2FudCBhIGxheWVyIG9mIHNl
Y3VyaXR5IGluIGJldHdlZW4gYSBzaW1wbGUgQVBJIGtleSAoYSBiZWFyZXINCnRva2VuKSBhbmQg
ZnVsbCBPQXV0aC1iYXNlZCB1c2VyIGF1dGhlbnRpY2F0aW9uLiBUaGV5IGRvIHRoaXMgdG9kYXkg
dXNpbmcgdGhlDQpPQXV0aCAxLjAgJnF1b3Q7Y29uc3VtZXIga2V5JnF1b3Q7IC0tIHRoZXkgYnVy
eSBhIGNvbnN1bWVyIGtleSBhbmQgc2VjcmV0DQppbnNpZGUgdGhlIG1vYmlsZSBkZXZpY2UsIGFu
ZCB1c2UgdGhlIE9BdXRoIDEuMCBzaWduYXR1cmUgbWVjaGFuaXNtIHRvIHNpZ24NCmVhY2ggcmVx
dWVzdCB1c2luZyB0aGUga2V5IGFuZCBzZWNyZXQuIFRoaXMgZ2l2ZXMgdGhlbSBhIHJlYXNvbmFi
bGUgYW1vdW50IG9mDQphc3N1cmFuY2UgdGhhdCByZXF1ZXN0cyBhcmUgY29taW5nIGZyb20gYSBw
YXJ0aWN1bGFyIHZlcnNpb24gb2YgdGhlIG1vYmlsZSBhcHAsDQp3aGlsZSBub3QgcmVxdWlyaW5n
IGZ1bGwgdXNlciBhdXRoZW50aWNhdGlvbi4gKFNvbWUgcGVvcGxlIGNhbGwgdGhpcw0KJnF1b3Q7
b25lLWxlZ2dlZCBPQXV0aC4mcXVvdDspPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFz
cz1Nc29Ob3JtYWw+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IkNv
dXJpZXIgTmV3Iic+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29O
b3JtYWw+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IkNvdXJpZXIg
TmV3Iic+RnVydGhlcm1vcmUsDQpzb21lIGV4aXN0aW5nIE9BdXRoIDEuMC1iYXNlZCBBUElzIC0t
IG9yIGF0IGxlYXN0IHRoZSBOZXRmbGl4IEFQSSAtLSB1c2UNCmRpZmZlcmVudCBsZXZlbHMgb2Yg
YXV0aGVudGljYXRpb24gZm9yIGRpZmZlcmVudCBjYWxscywgZGVwZW5kaW5nIG9uIHRoZQ0Kc2Vu
c2l0aXZpdHkgb2YgdGhlIGRhdGEgaW52b2x2ZWQuIFRvIHVzZSBBdXRoIDEuMGEgdGVybWlub2xv
Z3ksIGNlcnRhaW4gY2FsbHMNCnJlcXVpcmUgYSAmcXVvdDtjb25zdW1lciBrZXkgb25seSwmcXVv
dDsgb3RoZXJzIG11c3QgYmUgc2lnbmVkIHVzaW5nIHRoZQ0KY29uc3VtZXIga2V5IGFuZCBzZWNy
ZXQsIGFuZCBvdGhlcnMgbXVzdCBiZSBzaWduZWQgYnkgYSBjb25zdW1lciBrZXkgYW5kIGFjY2Vz
cw0KdG9rZW4uPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5
bGU9J2xpbmUtaGVpZ2h0OjE0LjRwdDt0YWItc3RvcHM6NDUuOHB0IDkxLjZwdCAxMzcuNHB0IDE4
My4ycHQgMjI5LjBwdCAyNzQuOHB0IDMyMC42cHQgMzY2LjRwdCA0MTIuMnB0IDQ1OC4wcHQgNTAz
LjhwdCA1NDkuNnB0IDU5NS40cHQgNjQxLjJwdCA2ODcuMHB0IDczMi44cHQnPjxzcGFuDQpzdHls
ZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ291cmllciBOZXciJz48bzpwPiZuYnNw
OzwvbzpwPjwvc3Bhbj48L3A+DQoNCjwvZGl2Pg0KDQo8L2JvZHk+DQoNCjwvaHRtbD4NCg==

--_004_5710F82C0E73B04FA559560098BF95B124F7A92BE6USNAVSXCHMBSA_--

From mscurtescu@google.com  Fri Apr  2 09:35:16 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9CD613A6869 for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 09:35:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.615
X-Spam-Level: 
X-Spam-Status: No, score=-100.615 tagged_above=-999 required=5 tests=[AWL=0.232, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Sffl5Wsj1q1U for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 09:35:15 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 5D7B53A6829 for <oauth@ietf.org>; Fri,  2 Apr 2010 09:35:15 -0700 (PDT)
Received: from hpaq11.eem.corp.google.com (hpaq11.eem.corp.google.com [10.3.21.11]) by smtp-out.google.com with ESMTP id o32GZmFX001715 for <oauth@ietf.org>; Fri, 2 Apr 2010 18:35:48 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270226148; bh=zecdQV0IsUC55cqQb0URes458Ds=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=ujP1b/uupXsWe2QRbA/7b5NjMkgDYqvsJMNf99CaVLcdwJ6mqMcBfd3ztvxFvzL/E S5mpozUZ9tFaZ2Q6JGdvg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=OgdivX67mrLJhX6+eXWPBVDSMAfkZNady/YOyHvgN0iW5gCqWpEIExpMB1AS3rJbf TFVY9D9+HliXObC5+duYw==
Received: from pwj3 (pwj3.prod.google.com [10.241.219.67]) by hpaq11.eem.corp.google.com with ESMTP id o32GZicv031750 for <oauth@ietf.org>; Fri, 2 Apr 2010 18:35:46 +0200
Received: by pwj3 with SMTP id 3so960957pwj.22 for <oauth@ietf.org>; Fri, 02 Apr 2010 09:35:44 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.248.18 with HTTP; Fri, 2 Apr 2010 09:35:24 -0700 (PDT)
In-Reply-To: <C7DACA48.31B81%eran@hueniverse.com>
References: <p2k74caaad21004012200x8a118a1fq18096442f3cc6042@mail.gmail.com>  <C7DACA48.31B81%eran@hueniverse.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Fri, 2 Apr 2010 09:35:24 -0700
Received: by 10.140.248.9 with SMTP id v9mr1687428rvh.101.1270226144125; Fri,  02 Apr 2010 09:35:44 -0700 (PDT)
Message-ID: <i2m74caaad21004020935xe224523ep82b382db1258513c@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 16:35:16 -0000

On Thu, Apr 1, 2010 at 10:10 PM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:
> The current draft allows the following characters:
>
> =A0=A0value-char =A0=3D ALPHA / DIGIT / "-" / "." / "_" / "~" / "%"
>
> Which means a utf-8 string will need to be encoded somehow. Should it be
> percent-encoded? Something else?

Why do we have this limitation (sorry if I missed a discussion around this)=
?

Usernames and password, for example, are guaranteed to have problems.
I think it is much better for the protocol/libraries to take care of
encoding/decoding.

Marius

>
> EHL
>
>
> On 4/1/10 10:00 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
> On Thu, Apr 1, 2010 at 9:54 PM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>> What is the assertion format? Binary? XML? Should the library encode it?
>> Is
>> the application using the library responsible for providing it with a
>> URI-safe string?
>
> UTF-8 string I guess, the rest should not matter.
>
> Marius
>
>

From cmortimore@salesforce.com  Fri Apr  2 09:45:04 2010
Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 67F913A692F for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 09:45:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.684
X-Spam-Level: 
X-Spam-Status: No, score=-2.684 tagged_above=-999 required=5 tests=[AWL=-1.751, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, FRT_PROFILE1=2.555, FRT_PROFILE2=1.981, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3BvpAlXxMZ28 for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 09:45:03 -0700 (PDT)
Received: from exprod8og114.obsmtp.com (exprod8og114.obsmtp.com [64.18.3.28]) by core3.amsl.com (Postfix) with SMTP id 47A753A6829 for <oauth@ietf.org>; Fri,  2 Apr 2010 09:45:03 -0700 (PDT)
Received: from source ([204.14.239.239]) by exprod8ob114.postini.com ([64.18.7.12]) with SMTP ID DSNKS7YfMRT8FhUvgPnvlHxfu9XYhOm6ojJ5@postini.com; Fri, 02 Apr 2010 09:45:37 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub4.internal.salesforce.com ([10.1.127.8]) with mapi; Fri, 2 Apr 2010 09:45:36 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Date: Fri, 2 Apr 2010 09:45:36 -0700
Thread-Topic: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
Thread-Index: AcrSfgto5XGIZ8MUR6Gyxqxk8a9mDAABNm2Y
Message-ID: <77AEC44D4DA08A46ADAA723286626BC12E2D43FABF@EXSFM-MB01.internal.salesforce.com>
References: <l2i74caaad21004012145r7f789f8av76df4f14a2420139@mail.gmail.com>, <C7DAC67E.31B7C%eran@hueniverse.com> <77AEC44D4DA08A46ADAA723286626BC12E2D43FABA@EXSFM-MB01.internal.salesforce.com>, <2EF9AB07-95F6-41A2-BA05-43C2CF20D129@hueniverse.com>
In-Reply-To: <2EF9AB07-95F6-41A2-BA05-43C2CF20D129@hueniverse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 16:45:04 -0000

Agreed on Base64, however the SAML already specifies this at it's encoding =
for web profiles, so we'll get the most reuse out of existing infrastructur=
e by using it.  =20

I will work on an example - we should be able to make some sound decisions =
about how best to deal with it once we have something concrete.

thanks=20

-cmort

________________________________________
From: Eran Hammer-Lahav [eran@hueniverse.com]
Sent: Friday, April 02, 2010 9:03 AM
To: Chuck Mortimore
Cc: Marius Scurtescu; OAuth WG
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)

The problem with base64 (even the uri safe flavor) is the paddind
character (=3D) is not allowed without percent encoding. This gets messy
without clear encoding process.

The example below show that the profiles are likely to be much longer
than the flow itself, raising my question of whether it is really all
that useful to be included.

If we are going to keep this in the core spec we need a list of what a
profile must specify (just the items, not the actual details) and we
need an example. I can live with that.

Another option is to move it to a separate assertion flows spec which
will include a few generally useful profiles.

EHL

On Apr 2, 2010, at 10:45, "Chuck Mortimore"
<cmortimore@salesforce.com> wrote:

> The format would be specified by a profilie.    For instance, a SAML
> profile might define:
>
> assertion_format=3Durn:oasis:names:tc:SAML:2.0:cm:bearer
> assertion=3D{SAML 2 bearer assertion, optionally wrapped in a SAML
> response, Signature must cover the assertion and can be inherited
> from the Response signature, based64 encoded.  Subject format and
> attribute statement left undefined and implementation specific}
>
> Some other implementation may want a SAML1.1 profile, or an
> Encrypted Assertion Profile, which would all be base64 encoded, but
> the details of the expected assertion would change. Someone may want
> to develop a Siteminder profile.   In this case, a siteminder
> session token would be exchanged for an Oauth token.   This would
> have a completely opaque format, and might be hex encode.    Someone
> else might want to develop an x.509 profile.   Etc, etc.
>
> It really wouldn't be up to conformant Oauth2 clients to support
> these profiles, or even the core assertion profile for that
> matter.   As Marius points out, the method for obtaining/validating
> the assertions will be out of scope, and hence this is a specialized
> Oauth client/server you're dealing with by definition.
>
> -cmort
>
> ________________________________________
> From: oauth-bounces@ietf.org [oauth-bounces@ietf.org] On Behalf Of
> Eran Hammer-Lahav [eran@hueniverse.com]
> Sent: Thursday, April 01, 2010 9:54 PM
> To: Marius Scurtescu
> Cc: OAuth WG
> Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress
> update)
>
> What is the assertion format? Binary? XML? Should the library encode
> it? Is the application using the library responsible for providing
> it with a URI-safe string?
>
> EHL
>
>
> On 4/1/10 9:45 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
> On Thu, Apr 1, 2010 at 9:02 PM, Eran Hammer-Lahav
> <eran@hueniverse.com> wrote:
>> But providing a half baked flow that is short enough to just
>> replicate where
>> needed and cannot be fully implemented by generic libraries doesn=92
>> t really
>> offer much.
>
> I think this is similar to the scope parameter argument, that
> libraries cannot really
> use an opaque scope. OAuth libraries will neither generate nor
> consume the
> assertions, the assertion itself can be opaque. The client
> application needs to
> obtain an assertion somehow, this is out of scope, then pass it to a
> library and
> the library can use it as is, pass it to the Authorization Server and
> deal with the
> response. Works perfectly fine IMO.
>
> Marius
>

From mscurtescu@google.com  Fri Apr  2 10:30:07 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AE05D3A6AE5 for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 10:30:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.526
X-Spam-Level: 
X-Spam-Status: No, score=-104.526 tagged_above=-999 required=5 tests=[AWL=0.321, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZmjprVOY2Pv9 for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 10:30:06 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 710DB3A6A44 for <oauth@ietf.org>; Fri,  2 Apr 2010 10:20:18 -0700 (PDT)
Received: from hpaq13.eem.corp.google.com (hpaq13.eem.corp.google.com [10.3.21.13]) by smtp-out.google.com with ESMTP id o32HKmPV013597 for <oauth@ietf.org>; Fri, 2 Apr 2010 10:20:48 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270228848; bh=ZCYggkcvb0MZ5lxeWJ6F+Vd6r0w=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=MPs4pR1MYg7RDad3/LKmTb2PWOAWUduwnplQRoNrwsA4OiXpBSvUXS51huPPrV0DN lL25k/X5LHRADnOZBIVbw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=qdXhUvxwgKaxcWYP+yXYJ4VZTc/jOUh/S+WGgL5GXDb6JtOS7cBE/A4FDbu5KuZun BPL4sSa7b3fIgvnjHsHog==
Received: from pwi9 (pwi9.prod.google.com [10.241.219.9]) by hpaq13.eem.corp.google.com with ESMTP id o32HKkN6008511 for <oauth@ietf.org>; Fri, 2 Apr 2010 19:20:46 +0200
Received: by pwi9 with SMTP id 9so1975613pwi.13 for <oauth@ietf.org>; Fri, 02 Apr 2010 10:20:45 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.248.18 with HTTP; Fri, 2 Apr 2010 10:20:25 -0700 (PDT)
In-Reply-To: <u2vdaf5b9571004020853q2b527d1aw160c9105ec48eb84@mail.gmail.com>
References: <710CC9A4-422B-424A-8FC2-AB190F41E87F@facebook.com>  <C7DABE13.29882%atom@yahoo-inc.com> <u2vdaf5b9571004020853q2b527d1aw160c9105ec48eb84@mail.gmail.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Fri, 2 Apr 2010 10:20:25 -0700
Received: by 10.141.90.2 with SMTP id s2mr1697270rvl.273.1270228845093; Fri,  02 Apr 2010 10:20:45 -0700 (PDT)
Message-ID: <l2v74caaad21004021020m93e48df7n619f0d8250f9302f@mail.gmail.com>
To: Brian Eaton <beaton@google.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Device Flow - Session Fixation?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 17:30:08 -0000

On Fri, Apr 2, 2010 at 8:53 AM, Brian Eaton <beaton@google.com> wrote:
> On Thu, Apr 1, 2010 at 9:18 PM, Allen Tom <atom@yahoo-inc.com> wrote:
>> The Auth server should also check for the presence of an HTTP Referrer.
>> There should not be a referrer, since the user should not have clicked o=
n
>> anything to have landed on the screen
>
> I don't think this one is going to work in practice. =A0Manufacturers
> may not point users directly at the OAuth approval page. =A0They are
> going to end up pointing users to something shorter, e.g.
> "http://google.samsung.com". =A0That web site will then redirect the
> user to the right approval page.

Then maybe the approval page can white list known referrers?


With the device flow the user normally has to go to a page and then
type in a code at that page. If the approval page accepts only HTTP POST
and also prevents cross site posting then session fixation is not that
easy anymore. Now the attacker has to convince the user to follow
a link *and* type a code at that page.

Marius

From mscurtescu@google.com  Fri Apr  2 11:49:57 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6C1953A6A8C for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 11:49:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.661
X-Spam-Level: 
X-Spam-Status: No, score=-100.661 tagged_above=-999 required=5 tests=[AWL=0.186, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UpiZmxOOQzyN for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 11:49:56 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 2D3C33A6C30 for <oauth@ietf.org>; Fri,  2 Apr 2010 11:21:28 -0700 (PDT)
Received: from hpaq14.eem.corp.google.com (hpaq14.eem.corp.google.com [10.3.21.14]) by smtp-out.google.com with ESMTP id o32ILwnC017744 for <oauth@ietf.org>; Fri, 2 Apr 2010 20:21:58 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270232518; bh=4LD4oOk1hdnpV7el8IbYRJlCYkY=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=GU2Vrj88b/6LpHB6jK1XQJL2o9DRwoIh6nrqxosLlVMl8pPV8kzqLSbKBbDWL8xFE Oksc58tYdJiWmF9bTgGzQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=EE4hWZcOei4PReL5nySpz9vz/YZFkaq9wRa3pP5VoGMZall7Ef4wOq5VTOHEMblAG /VbEyU/XNv/XQBFEZaK3g==
Received: from pwi1 (pwi1.prod.google.com [10.241.219.1]) by hpaq14.eem.corp.google.com with ESMTP id o32ILu1f026296 for <oauth@ietf.org>; Fri, 2 Apr 2010 20:21:57 +0200
Received: by pwi1 with SMTP id 1so1828918pwi.25 for <oauth@ietf.org>; Fri, 02 Apr 2010 11:21:56 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.248.18 with HTTP; Fri, 2 Apr 2010 11:21:36 -0700 (PDT)
In-Reply-To: <C7D94365.31AB8%eran@hueniverse.com>
References: <C7D94365.31AB8%eran@hueniverse.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Fri, 2 Apr 2010 11:21:36 -0700
Received: by 10.140.247.20 with SMTP id u20mr1804526rvh.122.1270232516107;  Fri, 02 Apr 2010 11:21:56 -0700 (PDT)
Message-ID: <h2j74caaad21004021121o69dfa9aejea36bef49b7adadb@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 18:49:57 -0000

Hi Eran,

A few more comments:

1. Only one endpoint. While I think collapsing the access token and
refresh token URLs into one URL was a good think, keeping the user
authorization as a separate URL could be beneficial. I think there
should be 2 endpoints defined: access token and user authorization.
Calls to the access token endpoint are alway direct calls and
restricted to HTTPS and POST, and with many frameworks this can be
enforced through configuration. The user authorization endpoint is
always accessed with a browser.

2. Section 2.1: "The authorization endpoint advertised by the server
MUST NOT include a query or fragment components as defined by
[RFC3986] section 3." Why do we disallow query parameters? If we want
to enforce strict matching of callback URLs maybe we should just
demand that.

3. Section 2.2: "The values of the request and response parameters
defined in this section MUST only contain the following characters". I
asked in another thread what is the reason behind this limitation. Why
not any UTF-8 string?

4. Section 2.4.1.1: "The client directs the end user to the
constructed URI using an HTTP redirection response, or by other means
available to it via the end user's user-agent. The request MUST use
the HTTP "GET" method." Why do we enforce GET?

5. Section 2.4.2. Web Client Flow combines both rich app and
JavaScript flows. It think the two flows should be treated separately.

For the rich apps the flow should include a verification code step,
similar to Web Client Flow. Also, in this case the callback URL should
be optional and if not present the authorization server must display a
page with instructions and a special title.

For the JavaScript flow, the presence of an empty fragment in the
callback URL is a signal that the response should be put there? Can we
make it mandatory that the response always goes to the fragment? It is
not defined how is the response supposed to be encoded into the
fragment. I assume that also URL encoded, but it should be specified.

6. Sections 4.1.2 and 4.1.3, the parameter name should probably be
oauth_access_token.

7. Section 4.2, shouldn't we require a "version" parameter with value "2.0"?


Thanks,
Marius



On Wed, Mar 31, 2010 at 6:22 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> I'm making good progress working off David's draft and bringing text from
> WRAP into it, as well as from OAuth 1.0a, and my token auth proposal. So far
> it is largely in line with David's proposal and the majority of changes are
> purely editorial.
>
> The only significant change I have made (which is of course open to debate)
> is renaming all the authorization flows parameters. I dropped the oauth_
> prefix (no real need since these are purely OAuth endpoints, not protected
> resources), and made most of the parameter names shorter. I am not done so
> they are not consistent yet.
>
> You can follow my progress (changes every few hours) at:
>
> http://github.com/theRazorBlade/draft-ietf-oauth/raw/master/draft-ietf-oauth
> .txt
>
> Please feel free to comment on anything you like or dislike. I will publish
> the whole thing as an I-D once it is feature complete for the WG to discuss
> before we promote this to a WG draft.
>
> I hope to be done with the initial draft by middle of next week (I'll be
> flying most of Fri-Sat so no progress over the weekend).
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From eran@hueniverse.com  Fri Apr  2 12:32:17 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7CF9F3A6BED for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 12:32:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.989
X-Spam-Level: 
X-Spam-Status: No, score=-0.989 tagged_above=-999 required=5 tests=[AWL=0.480,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xKXpx3EBpoLM for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 12:32:16 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 3EE623A6BEB for <oauth@ietf.org>; Fri,  2 Apr 2010 12:00:32 -0700 (PDT)
Received: (qmail 22510 invoked from network); 2 Apr 2010 19:01:07 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 2 Apr 2010 19:01:07 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Fri, 2 Apr 2010 12:01:01 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Fri, 2 Apr 2010 12:00:47 -0700
Thread-Topic: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
Thread-Index: AcrSltXoCOJT+s5MQV+n+hjfhsPpHw==
Message-ID: <A082D385-AB28-4A9C-BB62-8787A931BB23@hueniverse.com>
References: <p2k74caaad21004012200x8a118a1fq18096442f3cc6042@mail.gmail.com> <C7DACA48.31B81%eran@hueniverse.com> <i2m74caaad21004020935xe224523ep82b382db1258513c@mail.gmail.com>
In-Reply-To: <i2m74caaad21004020935xe224523ep82b382db1258513c@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 19:32:17 -0000

Because of how we send parameters. Most of the problems we had with =20
1.0 involved encoding issues. We just need to find a good way of =20
explaining it.

These are the characters allowed in Uris and form encoded bodies.

EHL

On Apr 2, 2010, at 12:35, "Marius Scurtescu" <mscurtescu@google.com> =20
wrote:

> On Thu, Apr 1, 2010 at 10:10 PM, Eran Hammer-Lahav <eran@hueniverse.com=20
> > wrote:
>> The current draft allows the following characters:
>>
>>   value-char  =3D ALPHA / DIGIT / "-" / "." / "_" / "~" / "%"
>>
>> Which means a utf-8 string will need to be encoded somehow. Should =20
>> it be
>> percent-encoded? Something else?
>
> Why do we have this limitation (sorry if I missed a discussion =20
> around this)?
>
> Usernames and password, for example, are guaranteed to have problems.
> I think it is much better for the protocol/libraries to take care of
> encoding/decoding.
>
> Marius
>
>>
>> EHL
>>
>>
>> On 4/1/10 10:00 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>>
>> On Thu, Apr 1, 2010 at 9:54 PM, Eran Hammer-Lahav <eran@hueniverse.com=20
>> >
>> wrote:
>>> What is the assertion format? Binary? XML? Should the library =20
>>> encode it?
>>> Is
>>> the application using the library responsible for providing it =20
>>> with a
>>> URI-safe string?
>>
>> UTF-8 string I guess, the rest should not matter.
>>
>> Marius
>>
>>

From stpeter@stpeter.im  Fri Apr  2 12:59:47 2010
Return-Path: <stpeter@stpeter.im>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1515D3A6AC0 for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 12:59:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.371
X-Spam-Level: 
X-Spam-Status: No, score=-1.371 tagged_above=-999 required=5 tests=[AWL=0.098,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JT29kGasF++u for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 12:59:46 -0700 (PDT)
Received: from stpeter.im (stpeter.im [207.210.219.233]) by core3.amsl.com (Postfix) with ESMTP id 8D83A3A6B5B for <oauth@ietf.org>; Fri,  2 Apr 2010 12:26:16 -0700 (PDT)
Received: from dhcp-64-101-72-158.cisco.com (dhcp-64-101-72-158.cisco.com [64.101.72.158]) (Authenticated sender: stpeter) by stpeter.im (Postfix) with ESMTPSA id 2E46E40E15 for <oauth@ietf.org>; Fri,  2 Apr 2010 13:26:50 -0600 (MDT)
Message-ID: <4BB644F8.5030908@stpeter.im>
Date: Fri, 02 Apr 2010 13:26:48 -0600
From: Peter Saint-Andre <stpeter@stpeter.im>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: oauth@ietf.org
References: <p2k74caaad21004012200x8a118a1fq18096442f3cc6042@mail.gmail.com> <C7DACA48.31B81%eran@hueniverse.com> <i2m74caaad21004020935xe224523ep82b382db1258513c@mail.gmail.com>
In-Reply-To: <i2m74caaad21004020935xe224523ep82b382db1258513c@mail.gmail.com>
X-Enigmail-Version: 1.0.1
OpenPGP: url=http://www.saint-andre.com/me/stpeter.asc
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms070409010902070802030907"
Subject: Re: [OAUTH-WG] SAML Assertion Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 19:59:47 -0000

This is a cryptographically signed message in MIME format.

--------------ms070409010902070802030907
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 4/2/10 10:35 AM, Marius Scurtescu wrote:
> On Thu, Apr 1, 2010 at 10:10 PM, Eran Hammer-Lahav <eran@hueniverse.com=
> wrote:
>> The current draft allows the following characters:
>>
>>   value-char  =3D ALPHA / DIGIT / "-" / "." / "_" / "~" / "%"
>>
>> Which means a utf-8 string will need to be encoded somehow. Should it =
be
>> percent-encoded? Something else?
>=20
> Why do we have this limitation (sorry if I missed a discussion around t=
his)?
>=20
> Usernames and password, for example, are guaranteed to have problems.
> I think it is much better for the protocol/libraries to take care of
> encoding/decoding.

/me watches in horror as a large can of worms is opened




--------------ms070409010902070802030907
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIWnDCC
B1cwggY/oAMCAQICAVUwDQYJKoZIhvcNAQEFBQAwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQK
Ew1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBT
aWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRl
IENsaWVudCBDQTAeFw0wOTA3MDYwMDAwMDFaFw0xMDA3MDYyMzU5NTlaMIHCMQswCQYDVQQG
EwJVUzERMA8GA1UECBMIQ29sb3JhZG8xDzANBgNVBAcTBkRlbnZlcjEiMCAGA1UEChMZWE1Q
UCBTdGFuZGFyZHMgRm91bmRhdGlvbjEsMCoGA1UECxMjU3RhcnRDb20gVHJ1c3RlZCBDZXJ0
aWZpY2F0ZSBNZW1iZXIxGjAYBgNVBAMTEVBldGVyIFNhaW50LUFuZHJlMSEwHwYJKoZIhvcN
AQkBFhJzdHBldGVyQHN0cGV0ZXIuaW0wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQCas7Mrnh02GakN8sft+HJpU4MwBxEgrGDZ2ZzUxDDt2sEhM+9Q74h955MtgMhK3TeBf6Hs
hDh/8Z9G//k2qNA0M2S5rejTqrmW0Jabca/L7BUZ0GhnU2N/2zeciFUmuZ4A2l1T5IMX2ZVP
XnNIaefBtbImJAbDz3T0vxkzTtcqgW3wL83PMDiqiuM+e1k+VPvOW4f5ZSGkPIhYCDpWqNE5
wZvjrLNMc8jZOPs9DrsYuIVwU72Vhy1tkEh+w6YpYHrdEUAe+eKe6TuxqZ60e9z3O36uiV//
Ms274iD6PbA/IGazJgaAdg6tvPehwTYGJAGmv3PsJKkLGjgoh+RrrM1LAgMBAAGjggOKMIID
hjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
AwQwHQYDVR0OBBYEFOyws3XWgIY9FP1POVqjdZP9Lu38MB0GA1UdEQQWMBSBEnN0cGV0ZXJA
c3RwZXRlci5pbTCBqAYDVR0jBIGgMIGdgBR7iZySlyShhEcCy3T8LvSs3DLl86GBgaR/MH0x
CzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUg
RGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZp
Y2F0aW9uIEF1dGhvcml0eYIBDzCCAUcGA1UdIASCAT4wggE6MIIBNgYLKwYBBAGBtTcBAgAw
ggElMC4GCCsGAQUFBwIBFiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMDQG
CCsGAQUFBwIBFihodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMIG8
BggrBgEFBQcCAjCBrzAUFg1TdGFydENvbSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0
eSwgcmVhZCB0aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENv
bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93
d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwYwYDVR0fBFwwWjAroCmgJ4YlaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vY3J0dTMtY3JsLmNybDAroCmgJ4YlaHR0cDovL2NybC5zdGFydHNz
bC5jb20vY3J0dTMtY3JsLmNybDCBjgYIKwYBBQUHAQEEgYEwfzA5BggrBgEFBQcwAYYtaHR0
cDovL29jc3Auc3RhcnRzc2wuY29tL3N1Yi9jbGFzczMvY2xpZW50L2NhMEIGCCsGAQUFBzAC
hjZodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9jZXJ0cy9zdWIuY2xhc3MzLmNsaWVudC5jYS5j
cnQwIwYDVR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMA0GCSqGSIb3DQEBBQUA
A4IBAQBgv4xFXZqDKSOtnPOVbqOh1brj7oxRaVYk7N0MJG7x9Y/wkO3iwRwizVLcC1bA+D/R
gyFilXx6IQWE63Ge2tu+Y4w5QoHYwuUFQuBZuxvZpOa3ykdgPlBQaBM8m+Ien0skwNggaizA
X9Pc/sMLpP3jkO1iSF4agy4r5Ed+4G10mP5X0zO3gQwq9Uj4F9tX+58kU+fM1P8Sh+BYR4r/
kSbKE3tWcMaKblWPGwX0nYD26Je7Qb+uX/J5lCgozBrHXQWq8N98iklASf2pv+32Oi1dEjmM
UgAm/J2+YmxaI02+c+H6QH8+F3RUjCiRg9XqUNjcrNrnTFnm/iMMZADktsXPMIIHVzCCBj+g
AwIBAgIBVTANBgkqhkiG9w0BAQUFADCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBMB4XDTA5MDcwNjAwMDAwMVoXDTEwMDcwNjIzNTk1OVowgcIxCzAJBgNVBAYTAlVTMREw
DwYDVQQIEwhDb2xvcmFkbzEPMA0GA1UEBxMGRGVudmVyMSIwIAYDVQQKExlYTVBQIFN0YW5k
YXJkcyBGb3VuZGF0aW9uMSwwKgYDVQQLEyNTdGFydENvbSBUcnVzdGVkIENlcnRpZmljYXRl
IE1lbWJlcjEaMBgGA1UEAxMRUGV0ZXIgU2FpbnQtQW5kcmUxITAfBgkqhkiG9w0BCQEWEnN0
cGV0ZXJAc3RwZXRlci5pbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJqzsyue
HTYZqQ3yx+34cmlTgzAHESCsYNnZnNTEMO3awSEz71DviH3nky2AyErdN4F/oeyEOH/xn0b/
+Tao0DQzZLmt6NOquZbQlptxr8vsFRnQaGdTY3/bN5yIVSa5ngDaXVPkgxfZlU9ec0hp58G1
siYkBsPPdPS/GTNO1yqBbfAvzc8wOKqK4z57WT5U+85bh/llIaQ8iFgIOlao0TnBm+Oss0xz
yNk4+z0Ouxi4hXBTvZWHLW2QSH7Dpilget0RQB754p7pO7GpnrR73Pc7fq6JX/8yzbviIPo9
sD8gZrMmBoB2Dq2896HBNgYkAaa/c+wkqQsaOCiH5GuszUsCAwEAAaOCA4owggOGMAkGA1Ud
EwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNV
HQ4EFgQU7LCzddaAhj0U/U85WqN1k/0u7fwwHQYDVR0RBBYwFIESc3RwZXRlckBzdHBldGVy
LmltMIGoBgNVHSMEgaAwgZ2AFHuJnJKXJKGERwLLdPwu9KzcMuXzoYGBpH8wfTELMAkGA1UE
BhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFs
IENlcnRpZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24g
QXV0aG9yaXR5ggEPMIIBRwYDVR0gBIIBPjCCATowggE2BgsrBgEEAYG1NwECADCCASUwLgYI
KwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUH
AgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgbwGCCsGAQUF
BwICMIGvMBQWDVN0YXJ0Q29tIEx0ZC4wAwIBARqBlkxpbWl0ZWQgTGlhYmlsaXR5LCByZWFk
IHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5zdGFy
dHNzbC5jb20vcG9saWN5LnBkZjBjBgNVHR8EXDBaMCugKaAnhiVodHRwOi8vd3d3LnN0YXJ0
c3NsLmNvbS9jcnR1My1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9j
cnR1My1jcmwuY3JsMIGOBggrBgEFBQcBAQSBgTB/MDkGCCsGAQUFBzABhi1odHRwOi8vb2Nz
cC5zdGFydHNzbC5jb20vc3ViL2NsYXNzMy9jbGllbnQvY2EwQgYIKwYBBQUHMAKGNmh0dHA6
Ly93d3cuc3RhcnRzc2wuY29tL2NlcnRzL3N1Yi5jbGFzczMuY2xpZW50LmNhLmNydDAjBgNV
HRIEHDAahhhodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS8wDQYJKoZIhvcNAQEFBQADggEBAGC/
jEVdmoMpI62c85Vuo6HVuuPujFFpViTs3QwkbvH1j/CQ7eLBHCLNUtwLVsD4P9GDIWKVfHoh
BYTrcZ7a275jjDlCgdjC5QVC4Fm7G9mk5rfKR2A+UFBoEzyb4h6fSyTA2CBqLMBf09z+wwuk
/eOQ7WJIXhqDLivkR37gbXSY/lfTM7eBDCr1SPgX21f7nyRT58zU/xKH4FhHiv+RJsoTe1Zw
xopuVY8bBfSdgPbol7tBv65f8nmUKCjMGsddBarw33yKSUBJ/am/7fY6LV0SOYxSACb8nb5i
bFojTb5z4fpAfz4XdFSMKJGD1epQ2Nys2udMWeb+IwxkAOS2xc8wggfiMIIFyqADAgECAgEP
MA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQu
MSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQD
EyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNzEwMjQyMTAzMzJaFw0x
MjEwMjIyMTAzMzJaMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEr
MCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMv
U3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5o0luEj4gypQIp71Xi2TlXyLYrj9WkRy+d9BO
0FHPYnAsC99/jx/ibNRwIfAoFhZd+LDscdRSckvwuFSz0bKg3z+9o7cwlVAC9AwMWe8IM0Lx
c+8etYxsX4WIamG9fjzzi5GAW5ESKzzIN3SxHSplyGCWFwx/pgf1f4y6O9/ym+4f6zaDYP6B
x0r+SaJcr6eSGNm7X3EwX1v7XpRBY+aw019o7k72d0IX910F+XGt0OwNdM61Ff3FiTiexeUZ
bWxCGm6GZl+SQVG9xYVIgHQaLXoQF+g2wzrmKCbVcZhqH+hrlRnD6PfCuEyX/BR6PlAPRDlQ
6f1u3wqik+LF5P15AgMBAAGjggNbMIIDVzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBpjAd
BgNVHQ4EFgQUe4mckpckoYRHAst0/C70rNwy5fMwgagGA1UdIwSBoDCBnYAUTgvvGqRAW6UX
aYcwyjRoQ9BBrvKhgYGkfzB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UE
AxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHmCAQEwCQYDVR0SBAIwADA9Bggr
BgEFBQcBAQQxMC8wLQYIKwYBBQUHMAKGIWh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2Nh
LmNydDBgBgNVHR8EWTBXMCygKqAohiZodHRwOi8vY2VydC5zdGFydGNvbS5vcmcvc2ZzY2Et
Y3JsLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20vc2ZzY2EuY3JsMIIBXQYD
VR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBBDCCATswLwYIKwYBBQUHAgEWI2h0dHA6Ly9j
ZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRwOi8vY2VydC5z
dGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYgU3RhcnQg
Q29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5LCBy
ZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQu
c3RhcnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMFAGCWCGSAGG+EIB
DQRDFkFTdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRlIEZyZWUgU1NMIEVt
YWlsIENlcnRpZmljYXRlczANBgkqhkiG9w0BAQUFAAOCAgEAUpcEDdsKFRCxFBxcSm+8oMTT
fpS7fbZkxWHx5fHDjvAgaBQ+oY0tk4xtbD6VxeHYjxI63+hj8jICnqeVXPe34Bu+XzekIn2T
lrnPCQobKdQF2p52QgUvIxSURed0jcBaCBV22DSKaUqDOzD/Tx6VQy78zpblXjRH7OALE/+H
jzJVmspdnBUUtQOLYgPo924xkxR25VDdgtEE5vAXa/g2oCeZhy0ZEO4NbgIayAYCJcJRDz0h
dD2Ahec65Kw6LB3N7VXEjiRR5/WoKwH/QteRzPJbFDc1somrApjm2cyg+5nbm1RHeFIz+GxX
luRrPztvhNcby0PtAjqwY1txi4sW0R6ZJPuZ2DZ1/dzckoFhyZgFyOX3SEkNXVLldjTzneFJ
FnVSzDbc720vq184jR7pYoI9+f5QJ96a0iLxEAG8SJ5auBwXI/w2FmKmwmdMvJ8/17+B4sMC
IRrXrDQl2xzpVXh/Qcmk5nf+w8HFmqATGy1OUAQbXga7AySAUaYhvvFk50u0bO5DiUGwzrJO
3TrwvaC2Ei4EFaBmIVgG7TfU5TaaY9IcJSCQ7AGUYE3RFSRpsLOoA3DsxP42YERgS/Nxw29+
YqZtPoO2QPbNpI7xnHVCfNBabx3oDIf438nFfv8spw5BQqBSbEF1izJA57eE64CzHnt7lB20
OFD11avYopwxggPKMIIDxgIBATCBkjCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBAgFVMAkGBSsOAwIaBQCgggIMMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZI
hvcNAQkFMQ8XDTEwMDQwMjE5MjY0OFowIwYJKoZIhvcNAQkEMRYEFEQXReKW/aYRPjBhTssb
5DiFIrs9MF8GCSqGSIb3DQEJDzFSMFAwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqG
SIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBowYJ
KwYBBAGCNxAEMYGVMIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UE
AxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0ECAVUw
gaUGCyqGSIb3DQEJEAILMYGVoIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRD
b20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4
MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQg
Q0ECAVUwDQYJKoZIhvcNAQEBBQAEggEAYrCxbhNvWeOZ+k8gjH1Itu9YXWqJ3sYCdJjBfFGO
sTPmO3EyeZWrD7UHAhnmDTyNHB9FrO+PnudSMLgCDHQaENZrM5YgaxDy1kOTh+1otF0tpolh
Fx3Vygc3TVihBCHvvV0y1irfAA6Uz6zoMmC47AsDFWGSrpdjm19eOhYuyGWuUpjZdsA8Ms+Q
P8XkAECh4FPl5sj6+ga8ycb6Op2y4bJEOetDdh2DHgntbOindTJvoKUqUuxDxNBIT0XvWPvy
tf5P7A5LLelBau6FoXjC1zLtlfkNK/5mVof9UIkZgL6kp8qRKObQhi5ggsqs8kIrIHScFrnW
1Roo3wxgMh/0dwAAAAAAAA==
--------------ms070409010902070802030907--

From mscurtescu@google.com  Fri Apr  2 13:13:35 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E83AD3A6C61 for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 13:13:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.553
X-Spam-Level: 
X-Spam-Status: No, score=-104.553 tagged_above=-999 required=5 tests=[AWL=0.294, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5fNxs4sE9i+q for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 13:13:33 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 33C733A6C0E for <oauth@ietf.org>; Fri,  2 Apr 2010 12:48:16 -0700 (PDT)
Received: from kpbe15.cbf.corp.google.com (kpbe15.cbf.corp.google.com [172.25.105.79]) by smtp-out.google.com with ESMTP id o32Jmmeo011213 for <oauth@ietf.org>; Fri, 2 Apr 2010 12:48:48 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270237728; bh=f1WelWgpUcjZC8bcF84ykTRhnis=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=R+12R9SRTbKRWcoXelo5hiGa9W5kysnYl10DHpTrUHAK93x5G3id2LJCxok249dmE hWGplCzQfmZ79L8VTTRow==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=JTIxl7ODVK8Kks0WnfQdNLgFIaXMMYyrqI6o19ZmZaJM1nNDq7d4/iBJSB76ZQxUA +iQNoezRqrBeNum44TAMA==
Received: from pwj5 (pwj5.prod.google.com [10.241.219.69]) by kpbe15.cbf.corp.google.com with ESMTP id o32JmlZK006256 for <oauth@ietf.org>; Fri, 2 Apr 2010 12:48:47 -0700
Received: by pwj5 with SMTP id 5so1749779pwj.34 for <oauth@ietf.org>; Fri, 02 Apr 2010 12:48:47 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.248.18 with HTTP; Fri, 2 Apr 2010 12:48:27 -0700 (PDT)
In-Reply-To: <A082D385-AB28-4A9C-BB62-8787A931BB23@hueniverse.com>
References: <p2k74caaad21004012200x8a118a1fq18096442f3cc6042@mail.gmail.com>  <C7DACA48.31B81%eran@hueniverse.com> <i2m74caaad21004020935xe224523ep82b382db1258513c@mail.gmail.com> <A082D385-AB28-4A9C-BB62-8787A931BB23@hueniverse.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Fri, 2 Apr 2010 12:48:27 -0700
Received: by 10.141.15.4 with SMTP id s4mr1809956rvi.112.1270237727123; Fri,  02 Apr 2010 12:48:47 -0700 (PDT)
Message-ID: <y2l74caaad21004021248tdece26bemb0b83447aeb8a228@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 20:13:35 -0000

On Fri, Apr 2, 2010 at 12:00 PM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:
> Because of how we send parameters. Most of the problems we had with
> 1.0 involved encoding issues. We just need to find a good way of
> explaining it.
>
> These are the characters allowed in Uris and form encoded bodies.

Of course, but when you create the message you have to URL encode all
the name/value pairs, a library would do that for you. But the value
itself does not have to be restricted.

Are we trying to allow for naive encodings where you just string
together the names and values with some delimiters?

I don't think that will help at all, you are just pushing the need to
encode from the library out to the client code. And since the encoding
now is not specified you have a real interop issue IMO.


Marius

>
> EHL
>
> On Apr 2, 2010, at 12:35, "Marius Scurtescu" <mscurtescu@google.com>
> wrote:
>
>> On Thu, Apr 1, 2010 at 10:10 PM, Eran Hammer-Lahav <eran@hueniverse.com
>> > wrote:
>>> The current draft allows the following characters:
>>>
>>> =A0 value-char =A0=3D ALPHA / DIGIT / "-" / "." / "_" / "~" / "%"
>>>
>>> Which means a utf-8 string will need to be encoded somehow. Should
>>> it be
>>> percent-encoded? Something else?
>>
>> Why do we have this limitation (sorry if I missed a discussion
>> around this)?
>>
>> Usernames and password, for example, are guaranteed to have problems.
>> I think it is much better for the protocol/libraries to take care of
>> encoding/decoding.
>>
>> Marius
>>
>>>
>>> EHL
>>>
>>>
>>> On 4/1/10 10:00 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>>>
>>> On Thu, Apr 1, 2010 at 9:54 PM, Eran Hammer-Lahav <eran@hueniverse.com
>>> >
>>> wrote:
>>>> What is the assertion format? Binary? XML? Should the library
>>>> encode it?
>>>> Is
>>>> the application using the library responsible for providing it
>>>> with a
>>>> URI-safe string?
>>>
>>> UTF-8 string I guess, the rest should not matter.
>>>
>>> Marius
>>>
>>>
>

From recordond@gmail.com  Fri Apr  2 14:29:58 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9E9A43A6A74 for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 14:29:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.865
X-Spam-Level: 
X-Spam-Status: No, score=-0.865 tagged_above=-999 required=5 tests=[AWL=0.604,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OmQEECcFh5cR for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 14:29:58 -0700 (PDT)
Received: from mail-iw0-f191.google.com (mail-iw0-f191.google.com [209.85.223.191]) by core3.amsl.com (Postfix) with ESMTP id 7D23C3A6BFF for <oauth@ietf.org>; Fri,  2 Apr 2010 14:11:24 -0700 (PDT)
Received: by iwn29 with SMTP id 29so1797687iwn.17 for <oauth@ietf.org>; Fri, 02 Apr 2010 14:11:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=49rIFx/p4l/J4nUDneDuIXBPMovmS0w6OHSr6l4hpGY=; b=O1iPPQ2UWNLXjlFygQa5isE+aPoTDrz2JbM6pGlEhOWLAARjd/CsdDT8PddAkj+FuS +B9DhlHlSAxDdW7ZHbmN356GWnw3mnB89Dr+MulDVWaeOjeHhqyXqZ1BHQ18m6fSt2fc XtMHFK+1vafqWCgYtr9aG/yNOO5a8GztJd+Yg=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=DVVIdiZtTxOxLO0iyWdJuRKCcD7/2MI3Bl9gBwHpVqDKQT/DXPOqnvyozczkgWvNeH 3QxLKf3qOGz5146w5WZHrL13/IgHWJiVokQ0B89Q7X7AYgp2f6iR2LV1Bi7OlwphpDNb v//yXSW5qICPXdGCcsOtnx/Q3PmrxXWLZ/x1o=
MIME-Version: 1.0
Received: by 10.231.183.18 with HTTP; Fri, 2 Apr 2010 14:11:54 -0700 (PDT)
In-Reply-To: <C7DB66EC.31BA0%eran@hueniverse.com>
References: <C7DB66EC.31BA0%eran@hueniverse.com>
Date: Fri, 2 Apr 2010 14:11:54 -0700
Received: by 10.231.153.1 with SMTP id i1mr1068802ibw.35.1270242714644; Fri,  02 Apr 2010 14:11:54 -0700 (PDT)
Message-ID: <j2ufd6741651004021411y16f5e495j92c9111679724399@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 21:29:58 -0000

Assuming that this is mean to replace the scope parameter?

On Fri, Apr 2, 2010 at 9:18 AM, Eran Hammer-Lahav <eran@hueniverse.com> wro=
te:
> This is half baked but I wanted to get people's reaction:
>
> Clients tries accessing a resource with or without an access token:
>
> =A0GET /resource/1 HTTP/1.1
> =A0Host: server.example.com
>
> The server replies with:
>
> =A0HTTP/1.1 401 Unauthorized
> =A0WWW-Authenticate: OAuth realm=3D'example'
>
> Clients requests an access token (using the client credentials flow) and
> includes the requested realm (line breaks for display purposes):
>
> =A0POST /access_token HTTP/1.1
> =A0Host: server.example.com
>
> =A0client_id=3Ds6BhdRkqt3&client_secret=3D8eSEIpnqmM&
> =A0mode=3Dflow_client&realm=3Dexample
>
> The server issues a access token capable of accessing the resource realm.
>
> This means one new parameter on the request side which is already baked i=
nto
> the 401 response in a standard way.
>
> Thoughts?
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From igor.faynberg@alcatel-lucent.com  Fri Apr  2 14:46:02 2010
Return-Path: <igor.faynberg@alcatel-lucent.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4A7643A6876 for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 14:46:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.169
X-Spam-Level: 
X-Spam-Status: No, score=-0.169 tagged_above=-999 required=5 tests=[AWL=1.300,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pzcy4IGfevSi for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 14:46:01 -0700 (PDT)
Received: from ihemail1.lucent.com (ihemail1.lucent.com [135.245.0.33]) by core3.amsl.com (Postfix) with ESMTP id 68C9F3A697D for <oauth@ietf.org>; Fri,  2 Apr 2010 14:45:21 -0700 (PDT)
Received: from umail.lucent.com (h135-3-40-63.lucent.com [135.3.40.63]) by ihemail1.lucent.com (8.13.8/IER-o) with ESMTP id o32LjrkD013067 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 2 Apr 2010 16:45:53 -0500 (CDT)
Received: from [135.244.34.55] (faynberg.lra.lucent.com [135.244.34.55]) by umail.lucent.com (8.13.8/TPES) with ESMTP id o32LjqLn001603; Fri, 2 Apr 2010 16:45:52 -0500 (CDT)
Message-ID: <4BB66590.1080205@alcatel-lucent.com>
Date: Fri, 02 Apr 2010 17:45:52 -0400
From: Igor Faynberg <igor.faynberg@alcatel-lucent.com>
Organization: Alcatel-Lucent
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
To: David Recordon <recordond@gmail.com>
References: <C7DB66EC.31BA0%eran@hueniverse.com> <j2ufd6741651004021411y16f5e495j92c9111679724399@mail.gmail.com>
In-Reply-To: <j2ufd6741651004021411y16f5e495j92c9111679724399@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.33
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: igor.faynberg@alcatel-lucent.com
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 21:46:02 -0000

I don't see any problem at all.

Igor

David Recordon wrote:
> Assuming that this is mean to replace the scope parameter?
>
> On Fri, Apr 2, 2010 at 9:18 AM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
>   
>> This is half baked but I wanted to get people's reaction:
>>
>> Clients tries accessing a resource with or without an access token:
>>
>>  GET /resource/1 HTTP/1.1
>>  Host: server.example.com
>>
>> The server replies with:
>>
>>  HTTP/1.1 401 Unauthorized
>>  WWW-Authenticate: OAuth realm='example'
>>
>> Clients requests an access token (using the client credentials flow) and
>> includes the requested realm (line breaks for display purposes):
>>
>>  POST /access_token HTTP/1.1
>>  Host: server.example.com
>>
>>  client_id=s6BhdRkqt3&client_secret=8eSEIpnqmM&
>>  mode=flow_client&realm=example
>>
>> The server issues a access token capable of accessing the resource realm.
>>
>> This means one new parameter on the request side which is already baked into
>> the 401 response in a standard way.
>>
>> Thoughts?
>>
>> EHL
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>     
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>   

From dick.hardt@gmail.com  Fri Apr  2 15:27:24 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AAE693A67B0 for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 15:27:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.469
X-Spam-Level: 
X-Spam-Status: No, score=-1.469 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Xl7RkJ7-R9OU for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 15:27:24 -0700 (PDT)
Received: from qw-out-2122.google.com (qw-out-2122.google.com [74.125.92.27]) by core3.amsl.com (Postfix) with ESMTP id E7F5D3A68C8 for <oauth@ietf.org>; Fri,  2 Apr 2010 15:27:15 -0700 (PDT)
Received: by qw-out-2122.google.com with SMTP id 9so776298qwb.31 for <oauth@ietf.org>; Fri, 02 Apr 2010 15:27:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=hKhX5e7V3r1zxS8WBpyMIuPrfI7c63T87Sd3W52Pi5s=; b=rUk4I0J2wiA/mJ8MCFUg2FltcoGVtIsoND7AuNwjmmPS+uz4ZITWzrKoXeFZXza6wM /+F8yfu39GYks/DcsQacl6kdYJsVGPcLpDAMQpCOjMIJx7uo0b/wJStR9maY9FSB+klM P90fatQDkxZTvSQJbJ2Jxtv/cPz7s2puOX6bA=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=qhhUhIW02QalmFhU7stAOV2FNsz/SA4hH0N3by20yzKv7NAENhMNW0HXVp4q1vvH0H BRT1AVk77wJrmRzwDAOW+U7nJ8IXFoRIhPPARnuTYarHDsPeK2p/reE89w4kaweGCLpc sAvtWP93gor9NyIruF+aHXv9wKXMXY2cEErB0=
Received: by 10.229.213.133 with SMTP id gw5mr4620422qcb.13.1270247264265; Fri, 02 Apr 2010 15:27:44 -0700 (PDT)
Received: from [10.0.1.4] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id w30sm1557941qce.4.2010.04.02.15.27.42 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 02 Apr 2010 15:27:43 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1077)
Content-Type: text/plain; charset=us-ascii
From: Dick Hardt <dick.hardt@gmail.com>
In-Reply-To: <4BB66590.1080205@alcatel-lucent.com>
Date: Fri, 2 Apr 2010 15:27:38 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <ECC37DF4-F9C3-4C04-BD4A-86655F45A23C@gmail.com>
References: <C7DB66EC.31BA0%eran@hueniverse.com> <j2ufd6741651004021411y16f5e495j92c9111679724399@mail.gmail.com> <4BB66590.1080205@alcatel-lucent.com>
To: igor.faynberg@alcatel-lucent.com
X-Mailer: Apple Mail (2.1077)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 22:27:24 -0000

There are times when a resource may have different scope for different =
kinds of access. realm !=3D scope

On 2010-04-02, at 2:45 PM, Igor Faynberg wrote:

>=20
>=20
> I don't see any problem at all.
>=20
> Igor
>=20
> David Recordon wrote:
>> Assuming that this is mean to replace the scope parameter?
>>=20
>> On Fri, Apr 2, 2010 at 9:18 AM, Eran Hammer-Lahav =
<eran@hueniverse.com> wrote:
>> =20
>>> This is half baked but I wanted to get people's reaction:
>>>=20
>>> Clients tries accessing a resource with or without an access token:
>>>=20
>>> GET /resource/1 HTTP/1.1
>>> Host: server.example.com
>>>=20
>>> The server replies with:
>>>=20
>>> HTTP/1.1 401 Unauthorized
>>> WWW-Authenticate: OAuth realm=3D'example'
>>>=20
>>> Clients requests an access token (using the client credentials flow) =
and
>>> includes the requested realm (line breaks for display purposes):
>>>=20
>>> POST /access_token HTTP/1.1
>>> Host: server.example.com
>>>=20
>>> client_id=3Ds6BhdRkqt3&client_secret=3D8eSEIpnqmM&
>>> mode=3Dflow_client&realm=3Dexample
>>>=20
>>> The server issues a access token capable of accessing the resource =
realm.
>>>=20
>>> This means one new parameter on the request side which is already =
baked into
>>> the 401 response in a standard way.
>>>=20
>>> Thoughts?
>>>=20
>>> EHL
>>>=20
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>=20
>>>   =20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>> =20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From brent@facebook.com  Fri Apr  2 16:52:13 2010
Return-Path: <brent@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 200C53A68EE for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 16:52:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.835
X-Spam-Level: 
X-Spam-Status: No, score=-0.835 tagged_above=-999 required=5 tests=[AWL=1.300,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nIh2JS4XTJQs for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 16:52:12 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 0F93F3A6889 for <oauth@ietf.org>; Fri,  2 Apr 2010 16:52:11 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.198]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o32Nq3I0006011 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Fri, 2 Apr 2010 16:52:09 -0700
Received: from sc-hub05.TheFacebook.com (192.168.18.82) by sc-hub03.TheFacebook.com (192.168.18.198) with Microsoft SMTP Server (TLS) id 14.0.682.1; Fri, 2 Apr 2010 16:52:35 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub05.TheFacebook.com ([192.168.18.82]) with mapi; Fri, 2 Apr 2010 16:52:35 -0700
From: Brent Goldman <brent@facebook.com>
To: Brian Eaton <beaton@google.com>
Date: Fri, 2 Apr 2010 16:51:52 -0700
Thread-Topic: [OAUTH-WG] Device Flow - Session Fixation?
Thread-Index: AcrSv5Eja4Qcvu82She37MbXVyQjlg==
Message-ID: <30427BA0-6C97-49FE-895F-C9115DC61D54@facebook.com>
References: <710CC9A4-422B-424A-8FC2-AB190F41E87F@facebook.com> <C7DABE13.29882%atom@yahoo-inc.com> <u2vdaf5b9571004020853q2b527d1aw160c9105ec48eb84@mail.gmail.com>
In-Reply-To: <u2vdaf5b9571004020853q2b527d1aw160c9105ec48eb84@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-02_13:2010-02-06, 2010-04-02, 2010-04-02 signatures=0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Device Flow - Session Fixation?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 23:52:13 -0000

Even if the auth server is using redirects for user simplicity, it can stil=
l comply with the referer-checking requirement by having the simple URL (ht=
tp://google.samsung.com) pass its referer as a GET param to the actual comp=
lex URL (https://www.google.com/accounts/OAuthAuthorize?client_id=3D1238979=
). The actual server should first verify that the simple URL which redirect=
ed to id (the proxy referer) is trusted, and if so, additionally check the =
original referer from the GET param. Otherwise, the authorization should fa=
il.

Should this be added to the spec, or is this just an implementation detail?

-Brent


On Apr 2, 2010, at 8:53 AM, Brian Eaton wrote:

> On Thu, Apr 1, 2010 at 9:18 PM, Allen Tom <atom@yahoo-inc.com> wrote:
>> The Auth server should also check for the presence of an HTTP Referrer.
>> There should not be a referrer, since the user should not have clicked o=
n
>> anything to have landed on the screen
>=20
> I don't think this one is going to work in practice.  Manufacturers
> may not point users directly at the OAuth approval page.  They are
> going to end up pointing users to something shorter, e.g.
> "http://google.samsung.com".  That web site will then redirect the
> user to the right approval page.
>=20
> Otherwise we end up needing to tell users to manually type-in long,
> complex urls like
> https://www.google.com/accounts/OAuthAuthorize?client_id=3D1238979.
>=20
> Cheers,
> Brian


From brent@facebook.com  Fri Apr  2 16:53:17 2010
Return-Path: <brent@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B5C003A68EE for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 16:53:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.051
X-Spam-Level: 
X-Spam-Status: No, score=-1.051 tagged_above=-999 required=5 tests=[AWL=1.084,  BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sBMtmmo1E4wL for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 16:53:17 -0700 (PDT)
Received: from mailout-snc1.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 0E2113A6889 for <oauth@ietf.org>; Fri,  2 Apr 2010 16:53:17 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.198]) by pp01.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o32Nr6R9022950 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Fri, 2 Apr 2010 16:53:10 -0700
Received: from sc-hub01.TheFacebook.com (192.168.18.104) by sc-hub03.TheFacebook.com (192.168.18.198) with Microsoft SMTP Server (TLS) id 14.0.682.1; Fri, 2 Apr 2010 16:53:20 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub01.TheFacebook.com ([192.168.18.104]) with mapi; Fri, 2 Apr 2010 16:53:20 -0700
From: Brent Goldman <brent@facebook.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Fri, 2 Apr 2010 16:52:37 -0700
Thread-Topic: [OAUTH-WG] Device Flow - Session Fixation?
Thread-Index: AcrSv6wlzmfHsdyeQOme9CzYf8YPQA==
Message-ID: <D2C8E2E3-4ABF-4BA3-A8D9-D4E69E991C40@facebook.com>
References: <710CC9A4-422B-424A-8FC2-AB190F41E87F@facebook.com> <C7DABE13.29882%atom@yahoo-inc.com> <u2vdaf5b9571004020853q2b527d1aw160c9105ec48eb84@mail.gmail.com> <l2v74caaad21004021020m93e48df7n619f0d8250f9302f@mail.gmail.com>
In-Reply-To: <l2v74caaad21004021020m93e48df7n619f0d8250f9302f@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-02_13:2010-02-06, 2010-04-02, 2010-04-02 signatures=0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Device Flow - Session Fixation?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 23:53:17 -0000

+1 to accepting only HTTP POST and preventing cross-site posting.

On Apr 2, 2010, at 10:20 AM, Marius Scurtescu wrote:

> On Fri, Apr 2, 2010 at 8:53 AM, Brian Eaton <beaton@google.com> wrote:
>> On Thu, Apr 1, 2010 at 9:18 PM, Allen Tom <atom@yahoo-inc.com> wrote:
>>> The Auth server should also check for the presence of an HTTP Referrer.
>>> There should not be a referrer, since the user should not have clicked =
on
>>> anything to have landed on the screen
>>=20
>> I don't think this one is going to work in practice.  Manufacturers
>> may not point users directly at the OAuth approval page.  They are
>> going to end up pointing users to something shorter, e.g.
>> "http://google.samsung.com".  That web site will then redirect the
>> user to the right approval page.
>=20
> Then maybe the approval page can white list known referrers?
>=20
>=20
> With the device flow the user normally has to go to a page and then
> type in a code at that page. If the approval page accepts only HTTP POST
> and also prevents cross site posting then session fixation is not that
> easy anymore. Now the attacker has to convince the user to follow
> a link *and* type a code at that page.
>=20
> Marius
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From beaton@google.com  Fri Apr  2 18:16:39 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8808F3A6942 for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 18:16:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.429
X-Spam-Level: 
X-Spam-Status: No, score=-100.429 tagged_above=-999 required=5 tests=[AWL=0.418, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id g8SouBUPI0zg for <oauth@core3.amsl.com>; Fri,  2 Apr 2010 18:16:39 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id AE8B23A68EC for <oauth@ietf.org>; Fri,  2 Apr 2010 18:14:07 -0700 (PDT)
Received: from wpaz21.hot.corp.google.com (wpaz21.hot.corp.google.com [172.24.198.85]) by smtp-out.google.com with ESMTP id o331E1xh014739 for <oauth@ietf.org>; Sat, 3 Apr 2010 03:14:02 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270257242; bh=B0PZcsXCLGXXe7WTb+b3e+uPwSc=; h=MIME-Version:Date:Message-ID:Subject:From:To:Content-Type; b=lVjWeGikmfgM388SBULbDE2XAYB1auWrrTJcgK5HsINpkC4cwQosxtbVG3kgQpd09 fpkgfERHNRCBigf+u7EyA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:date:message-id:subject:from:to:content-type:x-system-of-record; b=khajIJZDIWlIEXqCHAPiW3wD8wWaNacrsus7uDZ0XIousz3f66VVc5l2JjfGVRD5T +FTMM66hBbZwP85IM99xg==
Received: from vws8 (vws8.prod.google.com [10.241.21.136]) by wpaz21.hot.corp.google.com with ESMTP id o331E0YU017468 for <oauth@ietf.org>; Fri, 2 Apr 2010 18:14:00 -0700
Received: by vws8 with SMTP id 8so705170vws.1 for <oauth@ietf.org>; Fri, 02 Apr 2010 18:14:00 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.124.2 with HTTP; Fri, 2 Apr 2010 18:14:00 -0700 (PDT)
Date: Fri, 2 Apr 2010 18:14:00 -0700
Received: by 10.220.108.79 with SMTP id e15mr1412164vcp.21.1270257240328; Fri,  02 Apr 2010 18:14:00 -0700 (PDT)
Message-ID: <w2sdaf5b9571004021814of6ed420fm80725ac13e3599c2@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: oauth@ietf.org
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Subject: [OAUTH-WG] security considerations early draft
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 03 Apr 2010 01:16:39 -0000

http://trac.tools.ietf.org/wg/oauth/trac/attachment/wiki/SecurityConsiderations/

Cheers,
Brian

From torsten@lodderstedt.net  Sat Apr  3 01:00:01 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4986E3A691F for <oauth@core3.amsl.com>; Sat,  3 Apr 2010 01:00:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.345
X-Spam-Level: 
X-Spam-Status: No, score=0.345 tagged_above=-999 required=5 tests=[AWL=-0.025,  BAYES_05=-1.11, DNS_FROM_OPENWHOIS=1.13, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZgjQlbCgfczr for <oauth@core3.amsl.com>; Sat,  3 Apr 2010 01:00:00 -0700 (PDT)
Received: from smtprelay01.ispgateway.de (smtprelay01.ispgateway.de [80.67.31.39]) by core3.amsl.com (Postfix) with ESMTP id 1D2D63A68DC for <oauth@ietf.org>; Sat,  3 Apr 2010 00:59:59 -0700 (PDT)
Received: from p4fff1f5c.dip.t-dialin.net ([79.255.31.92] helo=[127.0.0.1]) by smtprelay01.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1NxyGr-0003NR-4E; Sat, 03 Apr 2010 09:59:57 +0200
Message-ID: <4BB6F579.1000502@lodderstedt.net>
Date: Sat, 03 Apr 2010 09:59:53 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: "Paul C. Bryan" <email@pbryan.net>,  Eran Hammer-Lahav <eran@hueniverse.com>
References: <C7DB66EC.31BA0%eran@hueniverse.com> <1270225468.14570.2.camel@Dynamo>
In-Reply-To: <1270225468.14570.2.camel@Dynamo>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 03 Apr 2010 08:00:01 -0000

I don't think the example implies discovery. As far as I understood, it 
just uses the same addresses for both protected resource and 
authorization server. This might work for some deployments, it won't 
work for installation with a single authorization server authorizing 
access to multiple resources with different adresses.

I like the idea of using the protected resources realm as resource 
specification in the authorization server requests. To enhance the idea 
we need some kind of endpoint discovery. The simplest way would be to 
include another parameter in the WWW-Authenticate response indicating 
the authorization servers endpoint, e.g.

HTTP/1.1 401 Unauthorized
   WWW-Authenticate: OAuth realm='example', endpoint='authorization.example.com'

According to http://www.ietf.org/rfc/rfc2617.txt (Basic/Digest Authn 
Spec) this should be a legal usage of the WW-Authenticate header. An 
example of a WWW-Authenticate header for Digest authentication is:

WWW-Authenticate: Digest realm="testrealm@host.com",
                          qop="auth,auth-int",
                          nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093",
                          opaque="5ccc069c403ebaf9f0171e9517f40e41"

regards,
Torsten.
> Presumably, the realm was used to discover the token issuance endpoints.
> Why wouldn't the discovered URL of the access token endpoint dictate
> realm, and why can't the realm then be implicit beyond discovery?
>
> -----Original Message-----
> From: Eran Hammer-Lahav<eran@hueniverse.com>
> To: OAuth WG<oauth@ietf.org>
> Subject: [OAUTH-WG] Scope using Realm idea
> Date: Fri, 2 Apr 2010 09:18:36 -0700
>
> This is half baked but I wanted to get people's reaction:
>
> Clients tries accessing a resource with or without an access token:
>
>    GET /resource/1 HTTP/1.1
>    Host: server.example.com
>
> The server replies with:
>
>    HTTP/1.1 401 Unauthorized
>    WWW-Authenticate: OAuth realm='example'
>
> Clients requests an access token (using the client credentials flow) and
> includes the requested realm (line breaks for display purposes):
>
>    POST /access_token HTTP/1.1
>    Host: server.example.com
>
>    client_id=s6BhdRkqt3&client_secret=8eSEIpnqmM&
>    mode=flow_client&realm=example
>
> The server issues a access token capable of accessing the resource realm.
>
> This means one new parameter on the request side which is already baked into
> the 401 response in a standard way.
>
> Thoughts?
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    



From torsten@lodderstedt.net  Sat Apr  3 01:39:11 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DFDB53A69EC for <oauth@core3.amsl.com>; Sat,  3 Apr 2010 01:39:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.904
X-Spam-Level: 
X-Spam-Status: No, score=0.904 tagged_above=-999 required=5 tests=[AWL=-0.577,  BAYES_50=0.001, DNS_FROM_OPENWHOIS=1.13, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OD2+0b1RNuYT for <oauth@core3.amsl.com>; Sat,  3 Apr 2010 01:39:11 -0700 (PDT)
Received: from smtprelay01.ispgateway.de (smtprelay01.ispgateway.de [80.67.29.23]) by core3.amsl.com (Postfix) with ESMTP id 70C343A6A25 for <oauth@ietf.org>; Sat,  3 Apr 2010 01:25:16 -0700 (PDT)
Received: from p4fff1f5c.dip.t-dialin.net ([79.255.31.92] helo=[127.0.0.1]) by smtprelay01.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1NxyfJ-0005C9-Kp; Sat, 03 Apr 2010 10:25:13 +0200
Message-ID: <4BB6FB68.8060301@lodderstedt.net>
Date: Sat, 03 Apr 2010 10:25:12 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <C7DABD4B.31B69%eran@hueniverse.com>
In-Reply-To: <C7DABD4B.31B69%eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 03 Apr 2010 08:39:12 -0000

You are right, there are different aspects of scope. Why not define one 
optional parameter per scope aspect?

Based on our experiences with implementing OAuth 1.0a at Deutsche 
Telekom, I see the need for the following parameters
- resource: specification of the protected resource to be accessed 
(type: URI or opaque string)
- requested permissions:  permissions on this resource the client want 
to get authorized by the user (comma-separated list of opaque strings). 
The range of permissions is defined by the resource as part of its API 
design. This could be something like "upload", "download", "sent", or 
"establish connection". The set of available permissions might be 
advertised by way of a WWW-Authenticate parameter (status code 401), as 
part of a 403 response, or in a XRDS discovery process.
- requested duration: specification of the token duration the client 
asks for

regards,
Torsten.
> ...
> There isn't one - its service specific.
>
> The easy ones are:
>
> Duration
> List of protected resources, URI wildcard, or name of protected segment
> Read/write access or HTTP methods
>
> 3 years ago when we dropped the scope/token_attributes parameter from the
> spec we decided to bring it back when we have enough deployment experience.
> I strongly believe this rule still holds.
>
> It would be great if those with OAuth 1.0a deployments can share how they
> specify scope.
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    



From torsten@lodderstedt.net  Sat Apr  3 03:35:34 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 369403A6985 for <oauth@core3.amsl.com>; Sat,  3 Apr 2010 03:35:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.412
X-Spam-Level: 
X-Spam-Status: No, score=0.412 tagged_above=-999 required=5 tests=[AWL=0.042,  BAYES_05=-1.11, DNS_FROM_OPENWHOIS=1.13, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9rRg0cDeCs4f for <oauth@core3.amsl.com>; Sat,  3 Apr 2010 03:35:33 -0700 (PDT)
Received: from smtprelay01.ispgateway.de (smtprelay01.ispgateway.de [80.67.31.39]) by core3.amsl.com (Postfix) with ESMTP id E05593A67F9 for <oauth@ietf.org>; Sat,  3 Apr 2010 03:35:32 -0700 (PDT)
Received: from p4fff1f5c.dip.t-dialin.net ([79.255.31.92] helo=[127.0.0.1]) by smtprelay01.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1Ny0hO-0004jf-1A; Sat, 03 Apr 2010 12:35:30 +0200
Message-ID: <4BB719F0.70807@lodderstedt.net>
Date: Sat, 03 Apr 2010 12:35:28 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: "Paul C. Bryan" <email@pbryan.net>,  Eran Hammer-Lahav <eran@hueniverse.com>
References: <C7DB66EC.31BA0%eran@hueniverse.com>	<1270225468.14570.2.camel@Dynamo> <4BB6F579.1000502@lodderstedt.net>
In-Reply-To: <4BB6F579.1000502@lodderstedt.net>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 03 Apr 2010 10:35:34 -0000

I've just seen, the current draft already specifies an attribute 
"authorization-uri" for the WWW-Authenticate header. Is this attribute 
intended for announcing the authorization servers endpoint?

> I don't think the example implies discovery. As far as I understood, 
> it just uses the same addresses for both protected resource and 
> authorization server. This might work for some deployments, it won't 
> work for installation with a single authorization server authorizing 
> access to multiple resources with different adresses.
>
> I like the idea of using the protected resources realm as resource 
> specification in the authorization server requests. To enhance the 
> idea we need some kind of endpoint discovery. The simplest way would 
> be to include another parameter in the WWW-Authenticate response 
> indicating the authorization servers endpoint, e.g.
>
> HTTP/1.1 401 Unauthorized
>   WWW-Authenticate: OAuth realm='example', 
> endpoint='authorization.example.com'
>
> According to http://www.ietf.org/rfc/rfc2617.txt (Basic/Digest Authn 
> Spec) this should be a legal usage of the WW-Authenticate header. An 
> example of a WWW-Authenticate header for Digest authentication is:
>
> WWW-Authenticate: Digest realm="testrealm@host.com",
>                          qop="auth,auth-int",
>                          nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093",
>                          opaque="5ccc069c403ebaf9f0171e9517f40e41"
>
> regards,
> Torsten.
>> Presumably, the realm was used to discover the token issuance endpoints.
>> Why wouldn't the discovered URL of the access token endpoint dictate
>> realm, and why can't the realm then be implicit beyond discovery?
>>
>> -----Original Message-----
>> From: Eran Hammer-Lahav<eran@hueniverse.com>
>> To: OAuth WG<oauth@ietf.org>
>> Subject: [OAUTH-WG] Scope using Realm idea
>> Date: Fri, 2 Apr 2010 09:18:36 -0700
>>
>> This is half baked but I wanted to get people's reaction:
>>
>> Clients tries accessing a resource with or without an access token:
>>
>>    GET /resource/1 HTTP/1.1
>>    Host: server.example.com
>>
>> The server replies with:
>>
>>    HTTP/1.1 401 Unauthorized
>>    WWW-Authenticate: OAuth realm='example'
>>
>> Clients requests an access token (using the client credentials flow) and
>> includes the requested realm (line breaks for display purposes):
>>
>>    POST /access_token HTTP/1.1
>>    Host: server.example.com
>>
>>    client_id=s6BhdRkqt3&client_secret=8eSEIpnqmM&
>>    mode=flow_client&realm=example
>>
>> The server issues a access token capable of accessing the resource 
>> realm.
>>
>> This means one new parameter on the request side which is already 
>> baked into
>> the 401 response in a standard way.
>>
>> Thoughts?
>>
>> EHL
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth



From eran@hueniverse.com  Sat Apr  3 13:08:57 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 21CF228C10E for <oauth@core3.amsl.com>; Sat,  3 Apr 2010 13:08:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.001
X-Spam-Level: *
X-Spam-Status: No, score=1.001 tagged_above=-999 required=5 tests=[BAYES_60=1,  HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GJcsOHfWGQ4X for <oauth@core3.amsl.com>; Sat,  3 Apr 2010 13:08:51 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 400EF3A6A0A for <oauth@ietf.org>; Sat,  3 Apr 2010 13:08:48 -0700 (PDT)
Received: (qmail 8614 invoked from network); 3 Apr 2010 20:08:47 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 3 Apr 2010 20:08:47 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Sat, 3 Apr 2010 13:08:47 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Sat, 3 Apr 2010 13:08:39 -0700
Thread-Topic: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
Thread-Index: AcrSnYVSDx3VZSANTU+L66uaIlifSAAy+3OR
Message-ID: <C7DCEE57.31C62%eran@hueniverse.com>
In-Reply-To: <y2l74caaad21004021248tdece26bemb0b83447aeb8a228@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7DCEE5731C62eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 03 Apr 2010 20:08:57 -0000

--_000_C7DCEE5731C62eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I'm waiting to see what Brian has in mind for signatures. If we keep the OA=
uth 1.0a signature flow, we will need to deal with string encoding of some =
sorts. The current limitation has signature in mind, not transmitting reque=
sts.

But either way, since assertions have unique structures, it is important to=
 note how they should be encoded into the request.

EHL


On 4/2/10 12:48 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

On Fri, Apr 2, 2010 at 12:00 PM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:
> Because of how we send parameters. Most of the problems we had with
> 1.0 involved encoding issues. We just need to find a good way of
> explaining it.
>
> These are the characters allowed in Uris and form encoded bodies.

Of course, but when you create the message you have to URL encode all
the name/value pairs, a library would do that for you. But the value
itself does not have to be restricted.

Are we trying to allow for naive encodings where you just string
together the names and values with some delimiters?

I don't think that will help at all, you are just pushing the need to
encode from the library out to the client code. And since the encoding
now is not specified you have a real interop issue IMO.


Marius

>
> EHL
>
> On Apr 2, 2010, at 12:35, "Marius Scurtescu" <mscurtescu@google.com>
> wrote:
>
>> On Thu, Apr 1, 2010 at 10:10 PM, Eran Hammer-Lahav <eran@hueniverse.com
>> > wrote:
>>> The current draft allows the following characters:
>>>
>>>   value-char  =3D ALPHA / DIGIT / "-" / "." / "_" / "~" / "%"
>>>
>>> Which means a utf-8 string will need to be encoded somehow. Should
>>> it be
>>> percent-encoded? Something else?
>>
>> Why do we have this limitation (sorry if I missed a discussion
>> around this)?
>>
>> Usernames and password, for example, are guaranteed to have problems.
>> I think it is much better for the protocol/libraries to take care of
>> encoding/decoding.
>>
>> Marius
>>
>>>
>>> EHL
>>>
>>>
>>> On 4/1/10 10:00 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>>>
>>> On Thu, Apr 1, 2010 at 9:54 PM, Eran Hammer-Lahav <eran@hueniverse.com
>>> >
>>> wrote:
>>>> What is the assertion format? Binary? XML? Should the library
>>>> encode it?
>>>> Is
>>>> the application using the library responsible for providing it
>>>> with a
>>>> URI-safe string?
>>>
>>> UTF-8 string I guess, the rest should not matter.
>>>
>>> Marius
>>>
>>>
>


--_000_C7DCEE5731C62eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] SAML Assertion Flow (was: Draft progress update)</TIT=
LE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>I&#8217;m waiting to see what Brian has in mind for signatures. If we=
 keep the OAuth 1.0a signature flow, we will need to deal with string encod=
ing of some sorts. The current limitation has signature in mind, not transm=
itting requests.<BR>
<BR>
But either way, since assertions have unique structures, it is important to=
 note how they should be encoded into the request.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/2/10 12:48 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurtescu@=
google.com">mscurtescu@google.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>On Fri, Apr 2, 2010 at 12:00 PM, Eran Hamme=
r-Lahav &lt;<a href=3D"eran@hueniverse.com">eran@hueniverse.com</a>&gt; wro=
te:<BR>
&gt; Because of how we send parameters. Most of the problems we had with<BR=
>
&gt; 1.0 involved encoding issues. We just need to find a good way of<BR>
&gt; explaining it.<BR>
&gt;<BR>
&gt; These are the characters allowed in Uris and form encoded bodies.<BR>
<BR>
Of course, but when you create the message you have to URL encode all<BR>
the name/value pairs, a library would do that for you. But the value<BR>
itself does not have to be restricted.<BR>
<BR>
Are we trying to allow for naive encodings where you just string<BR>
together the names and values with some delimiters?<BR>
<BR>
I don't think that will help at all, you are just pushing the need to<BR>
encode from the library out to the client code. And since the encoding<BR>
now is not specified you have a real interop issue IMO.<BR>
<BR>
<BR>
Marius<BR>
<BR>
&gt;<BR>
&gt; EHL<BR>
&gt;<BR>
&gt; On Apr 2, 2010, at 12:35, &quot;Marius Scurtescu&quot; &lt;<a href=3D"=
mscurtescu@google.com">mscurtescu@google.com</a>&gt;<BR>
&gt; wrote:<BR>
&gt;<BR>
&gt;&gt; On Thu, Apr 1, 2010 at 10:10 PM, Eran Hammer-Lahav &lt;<a href=3D"=
eran@hueniverse.com">eran@hueniverse.com</a><BR>
&gt;&gt; &gt; wrote:<BR>
&gt;&gt;&gt; The current draft allows the following characters:<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; =A0 value-char =A0=3D ALPHA / DIGIT / &quot;-&quot; / &quot;.&=
quot; / &quot;_&quot; / &quot;~&quot; / &quot;%&quot;<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; Which means a utf-8 string will need to be encoded somehow. Sh=
ould<BR>
&gt;&gt;&gt; it be<BR>
&gt;&gt;&gt; percent-encoded? Something else?<BR>
&gt;&gt;<BR>
&gt;&gt; Why do we have this limitation (sorry if I missed a discussion<BR>
&gt;&gt; around this)?<BR>
&gt;&gt;<BR>
&gt;&gt; Usernames and password, for example, are guaranteed to have proble=
ms.<BR>
&gt;&gt; I think it is much better for the protocol/libraries to take care =
of<BR>
&gt;&gt; encoding/decoding.<BR>
&gt;&gt;<BR>
&gt;&gt; Marius<BR>
&gt;&gt;<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; EHL<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; On 4/1/10 10:00 PM, &quot;Marius Scurtescu&quot; &lt;<a href=
=3D"mscurtescu@google.com">mscurtescu@google.com</a>&gt; wrote:<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; On Thu, Apr 1, 2010 at 9:54 PM, Eran Hammer-Lahav &lt;<a href=
=3D"eran@hueniverse.com">eran@hueniverse.com</a><BR>
&gt;&gt;&gt; &gt;<BR>
&gt;&gt;&gt; wrote:<BR>
&gt;&gt;&gt;&gt; What is the assertion format? Binary? XML? Should the libr=
ary<BR>
&gt;&gt;&gt;&gt; encode it?<BR>
&gt;&gt;&gt;&gt; Is<BR>
&gt;&gt;&gt;&gt; the application using the library responsible for providin=
g it<BR>
&gt;&gt;&gt;&gt; with a<BR>
&gt;&gt;&gt;&gt; URI-safe string?<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; UTF-8 string I guess, the rest should not matter.<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; Marius<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt;<BR>
&gt;<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7DCEE5731C62eranhueniversecom_--

From john@jkemp.net  Sun Apr  4 14:34:17 2010
Return-Path: <john@jkemp.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 906FC3A67F7 for <oauth@core3.amsl.com>; Sun,  4 Apr 2010 14:34:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.335
X-Spam-Level: 
X-Spam-Status: No, score=0.335 tagged_above=-999 required=5 tests=[BAYES_50=0.001, IP_NOT_FRIENDLY=0.334]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id iXx55F8Sw+Bb for <oauth@core3.amsl.com>; Sun,  4 Apr 2010 14:34:16 -0700 (PDT)
Received: from outbound-mail-313.bluehost.com (outbound-mail-313.bluehost.com [67.222.54.6]) by core3.amsl.com (Postfix) with SMTP id 50C523A67B1 for <oauth@ietf.org>; Sun,  4 Apr 2010 14:34:16 -0700 (PDT)
Received: (qmail 16021 invoked by uid 0); 4 Apr 2010 21:34:14 -0000
Received: from unknown (HELO box320.bluehost.com) (69.89.31.120) by cpoproxy3.bluehost.com with SMTP; 4 Apr 2010 21:34:14 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=jkemp.net; h=Received:Subject:Mime-Version:Content-Type:From:In-Reply-To:Date:Cc:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=AZ7rEzAfPT9BhrVMKVf4NS77b2gWwsDdm9dUp3C6g17RltTNukcluyhPQlFxORGXOsRY/31ec4RIVq+tEYVziCOgNbVa2W4ZzJ7/GSGgxJ7b5Z6Edrd2xSAeyjCZJQcN;
Received: from cpe-69-205-56-47.nycap.res.rr.com ([69.205.56.47] helo=[192.168.1.103]) by box320.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from <john@jkemp.net>) id 1NyXSQ-0003h3-Hp; Sun, 04 Apr 2010 15:34:14 -0600
Mime-Version: 1.0 (Apple Message framework v1077)
Content-Type: text/plain; charset=us-ascii
From: John Kemp <john@jkemp.net>
In-Reply-To: <C7DB66EC.31BA0%eran@hueniverse.com>
Date: Sun, 4 Apr 2010 17:34:12 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <C26EABB0-1BCB-42CD-A081-9405AAE90854@jkemp.net>
References: <C7DB66EC.31BA0%eran@hueniverse.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
X-Mailer: Apple Mail (2.1077)
X-Identified-User: {1122:box320.bluehost.com:jkempnet:jkemp.net} {sentby:smtp auth 69.205.56.47 authed with john+jkemp.net}
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 04 Apr 2010 21:34:17 -0000

Hi Eran,

On Apr 2, 2010, at 12:18 PM, Eran Hammer-Lahav wrote:

> This is half baked but I wanted to get people's reaction:
>=20
> Clients tries accessing a resource with or without an access token:
>=20
> GET /resource/1 HTTP/1.1
> Host: server.example.com
>=20
> The server replies with:
>=20
> HTTP/1.1 401 Unauthorized
> WWW-Authenticate: OAuth realm=3D'example'

=46rom RFC 2617 (http://www.ietf.org/rfc/rfc2617.txt):

"The realm value (case-sensitive), in combination with the canonical =
root URL (the
absoluteURI for the server whose abs_path is empty; see section 5.1.2
of [2]) of the server being accessed, defines the protection space.
These realms allow the protected resources on a server to be
partitioned into a set of protection spaces, each with its own
authentication scheme and/or authorization database. The realm value
is a string, generally assigned by the origin server, which may have
additional semantics specific to the authentication scheme. Note that
there may be multiple challenges with the same auth-scheme but
different realms."

and:

realm
A string to be displayed to users so they know which username and
password to use. This string should contain at least the name of
the host performing the authentication and might additionally
indicate the collection of users who might have access. An example
might be "registered_users@gotham.news.com".

Leading me to conclude:

i) Realm is supposed to contain a hint for users as to which =
username/password to use (ie. a client cannot by default assume it to be =
machine-readable)
ii) The "protection space" defined by a realm may be as small as one =
resource, or as big as an entire site. RFC2617 tells clients what they =
can assume if they receive a challenge:

"A client SHOULD assume that all paths at or deeper than the depth of
the last symbolic element in the path field of the Request-URI also
are within the protection space specified by the Basic realm value of
the current challenge. A client MAY preemptively send the
corresponding Authorization header with requests for resources in
that space without receipt of another challenge from the server."

>=20
> Clients requests an access token (using the client credentials flow) =
and
> includes the requested realm (line breaks for display purposes):
>=20
> POST /access_token HTTP/1.1
> Host: server.example.com
>=20
> client_id=3Ds6BhdRkqt3&client_secret=3D8eSEIpnqmM&
> mode=3Dflow_client&realm=3Dexample
>=20
> The server issues a access token capable of accessing the resource =
realm.
>=20
> This means one new parameter on the request side which is already =
baked into
> the 401 response in a standard way.
>=20
> Thoughts?

I think that RFC2617 realms are similar in concept to the 'scope' you're =
looking for, but have some differences in use for the HTTP basic/digest =
protocol. In order to be sure you don't confuse clients which already =
know HTTP Basic/Digest, you may want to place some further restrictions =
on the values that can be in the realm parameter when a WWW-Authenticate =
challenge is issued (it's just a string in RFC2617). If a client =
receives an OAuth WWW-Authenticate challenge, I would assume that OAuth =
should anyway tell the client whether/what to present the user in order =
to have the client get an appropriate token to access the protected =
resource.

Some care is needed to specify this in a way that is compatible with the =
expected behaviour of user agents already familiar with RFC2617.

Regards,

- johnk



From davidrecordon@facebook.com  Mon Apr  5 09:09:22 2010
Return-Path: <davidrecordon@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BA69A3A6A2A for <oauth@core3.amsl.com>; Mon,  5 Apr 2010 09:09:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.851
X-Spam-Level: 
X-Spam-Status: No, score=-0.851 tagged_above=-999 required=5 tests=[BAYES_40=-0.185, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id e6mOzBN6MgAu for <oauth@core3.amsl.com>; Mon,  5 Apr 2010 09:09:21 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 097B63A6A2D for <oauth@ietf.org>; Mon,  5 Apr 2010 09:09:20 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.198]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o35G8i7g001772 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT) for <oauth@ietf.org>; Mon, 5 Apr 2010 09:08:44 -0700
Received: from sc-hub01.TheFacebook.com (192.168.18.104) by sc-hub03.TheFacebook.com (192.168.18.198) with Microsoft SMTP Server (TLS) id 14.0.682.1; Mon, 5 Apr 2010 09:09:17 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub01.TheFacebook.com ([192.168.18.104]) with mapi; Mon, 5 Apr 2010 09:09:17 -0700
From: David Recordon <davidrecordon@facebook.com>
To: "oauth@ietf.org" <oauth@ietf.org>
Date: Mon, 5 Apr 2010 09:09:41 -0700
Thread-Topic: Renaming expires to expires_in?
Thread-Index: AcrU2le50B2lGSFlSOqXtk7O948e6Q==
Message-ID: <CF406249-38AD-429F-8652-BDF508D87489@facebook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-05_08:2010-02-06, 2010-04-05, 2010-04-05 signatures=0
Subject: [OAUTH-WG] Renaming expires to expires_in?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 05 Apr 2010 16:09:22 -0000

As one of our engineers was implementing a client, they got confused about =
what was being returned by the expires parameter. Anyone object to renaming=
 it to expires_in so that it's clear that it isn't an absolute timestamp?

Thanks,
--David=

From lindner@inuus.com  Mon Apr  5 09:47:02 2010
Return-Path: <lindner@inuus.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7BCF63A67FC for <oauth@core3.amsl.com>; Mon,  5 Apr 2010 09:47:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.976
X-Spam-Level: 
X-Spam-Status: No, score=-1.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1lmRrTWhS+cS for <oauth@core3.amsl.com>; Mon,  5 Apr 2010 09:47:01 -0700 (PDT)
Received: from mail-pv0-f172.google.com (mail-pv0-f172.google.com [74.125.83.172]) by core3.amsl.com (Postfix) with ESMTP id D6E723A6825 for <oauth@ietf.org>; Mon,  5 Apr 2010 09:47:00 -0700 (PDT)
Received: by pvd12 with SMTP id 12so1523914pvd.31 for <oauth@ietf.org>; Mon, 05 Apr 2010 09:46:56 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.143.3.20 with HTTP; Mon, 5 Apr 2010 09:46:55 -0700 (PDT)
In-Reply-To: <CF406249-38AD-429F-8652-BDF508D87489@facebook.com>
References: <CF406249-38AD-429F-8652-BDF508D87489@facebook.com>
Date: Mon, 5 Apr 2010 09:46:55 -0700
Received: by 10.142.120.3 with SMTP id s3mr1910291wfc.349.1270486015785; Mon,  05 Apr 2010 09:46:55 -0700 (PDT)
Message-ID: <o2mb71cdca91004050946yc4d7bbddua1009844a37fc269@mail.gmail.com>
From: Paul Lindner <lindner@inuus.com>
To: David Recordon <davidrecordon@facebook.com>
Content-Type: multipart/alternative; boundary=001636e0b9c5a9bae30483801377
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Renaming expires to expires_in?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 05 Apr 2010 16:47:02 -0000

--001636e0b9c5a9bae30483801377
Content-Type: text/plain; charset=ISO-8859-1

+1

This would more closely match the nomenclature used by the oauth session
extension<http://oauth.googlecode.com/svn/spec/ext/session/1.0/drafts/1/spec.html>
.


On Mon, Apr 5, 2010 at 9:09 AM, David Recordon
<davidrecordon@facebook.com>wrote:

> As one of our engineers was implementing a client, they got confused about
> what was being returned by the expires parameter. Anyone object to renaming
> it to expires_in so that it's clear that it isn't an absolute timestamp?
>
> Thanks,
> --David
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--001636e0b9c5a9bae30483801377
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

+1<div><br></div><div>This would more closely match the nomenclature used b=
y the <a href=3D"http://oauth.googlecode.com/svn/spec/ext/session/1.0/draft=
s/1/spec.html">oauth session extension</a>.<div><br><br><div class=3D"gmail=
_quote">
On Mon, Apr 5, 2010 at 9:09 AM, David Recordon <span dir=3D"ltr">&lt;<a hre=
f=3D"mailto:davidrecordon@facebook.com">davidrecordon@facebook.com</a>&gt;<=
/span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8=
ex;border-left:1px #ccc solid;padding-left:1ex;">
As one of our engineers was implementing a client, they got confused about =
what was being returned by the expires parameter. Anyone object to renaming=
 it to expires_in so that it&#39;s clear that it isn&#39;t an absolute time=
stamp?<br>

<br>
Thanks,<br>
--David<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</blockquote></div><br></div></div>

--001636e0b9c5a9bae30483801377--

From rbarnes@bbn.com  Mon Apr  5 10:28:39 2010
Return-Path: <rbarnes@bbn.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8A0443A6821 for <oauth@core3.amsl.com>; Mon,  5 Apr 2010 10:28:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QJHvXF2Y8c2u for <oauth@core3.amsl.com>; Mon,  5 Apr 2010 10:28:38 -0700 (PDT)
Received: from smtp.bbn.com (smtp.bbn.com [128.33.1.81]) by core3.amsl.com (Postfix) with ESMTP id 952A03A679C for <oauth@ietf.org>; Mon,  5 Apr 2010 10:28:38 -0700 (PDT)
Received: from [192.1.255.171] (port=53722 helo=col-dhcp-192-1-255-171.bbn.com) by smtp.bbn.com with esmtp (Exim 4.71 (FreeBSD)) (envelope-from <rbarnes@bbn.com>) id 1Nyq6G-000A2O-4h; Mon, 05 Apr 2010 13:28:36 -0400
Message-Id: <EAFF3EB0-F324-4DF5-A4DB-C87B22CC5AB6@bbn.com>
From: Richard Barnes <rbarnes@bbn.com>
To: Paul Lindner <lindner@inuus.com>
In-Reply-To: <o2mb71cdca91004050946yc4d7bbddua1009844a37fc269@mail.gmail.com>
Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (Apple Message framework v936)
Date: Mon, 5 Apr 2010 13:28:35 -0400
References: <CF406249-38AD-429F-8652-BDF508D87489@facebook.com> <o2mb71cdca91004050946yc4d7bbddua1009844a37fc269@mail.gmail.com>
X-Mailer: Apple Mail (2.936)
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Renaming expires to expires_in?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 05 Apr 2010 17:28:39 -0000

Ok, maybe something like "lifetime"?


On Apr 5, 2010, at 12:46 PM, Paul Lindner wrote:

> +1
>
> This would more closely match the nomenclature used by the oauth  
> session extension.
>
>
> On Mon, Apr 5, 2010 at 9:09 AM, David Recordon <davidrecordon@facebook.com 
> > wrote:
> As one of our engineers was implementing a client, they got confused  
> about what was being returned by the expires parameter. Anyone  
> object to renaming it to expires_in so that it's clear that it isn't  
> an absolute timestamp?
>
> Thanks,
> --David
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From leifj@mnt.se  Mon Apr  5 12:06:01 2010
Return-Path: <leifj@mnt.se>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 57CEB3A6953 for <oauth@core3.amsl.com>; Mon,  5 Apr 2010 12:06:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.699
X-Spam-Level: 
X-Spam-Status: No, score=-1.699 tagged_above=-999 required=5 tests=[AWL=-2.300, BAYES_50=0.001, J_CHICKENPOX_23=0.6]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 04ywu5lZXnWB for <oauth@core3.amsl.com>; Mon,  5 Apr 2010 12:06:00 -0700 (PDT)
Received: from backup-server.nordu.net (backup-server.nordu.net [IPv6:2001:948:4:1::66]) by core3.amsl.com (Postfix) with ESMTP id 1B17E3A67A4 for <oauth@ietf.org>; Mon,  5 Apr 2010 12:05:59 -0700 (PDT)
Received: from [10.0.0.11] (ua-83-227-179-169.cust.bredbandsbolaget.se [83.227.179.169]) (authenticated bits=0) by backup-server.nordu.net (8.14.3/8.14.3) with ESMTP id o35J5qKa017191 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 5 Apr 2010 21:05:55 +0200 (CEST)
Message-ID: <4BBA3490.3020802@mnt.se>
Date: Mon, 05 Apr 2010 21:05:52 +0200
From: Leif Johansson <leifj@mnt.se>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9pre) Gecko/20100217 Lightning/1.0b1 Shredder/3.0.3pre ThunderBrowse/3.2.8.1
MIME-Version: 1.0
To: oauth@ietf.org, Thomas Hardjono <hardjono@mit.edu>
References: <0E4475A4-8014-419B-A20E-15DDF04300FD@xmlgrrl.com>	<4BAA4CBC.905@mnt.se> <4BB532FF.5040307@stpeter.im>
In-Reply-To: <4BB532FF.5040307@stpeter.im>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Scanned-By: MIMEDefang 2.63 on 193.10.252.66
Cc: =?UTF-8?B?TG92ZSBIw7ZybnF1aXN0IMOFc3RyYW5k?= <lha@kth.se>
Subject: Re: [OAUTH-WG] What are the OAuth design principles?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 05 Apr 2010 19:06:01 -0000

On 04/02/2010 01:57 AM, Peter Saint-Andre wrote:
> On 3/24/10 11:32 AM, Leif Johansson wrote:
>> On 03/23/2010 12:00 AM, Eve Maler wrote:
>>> Since the discussion in the "OAuth after-party" seemed to warrant
>>> bringing it up, I mentioned the UMA design principles/requirements
>>> document.  You can find it here:
>>>
>>> http://kantarainitiative.org/confluence/display/uma/UMA+Requirements
>>>
>>> The discussion is around "Why can't Kerberos just be used for your use
>>> cases?"  The UMA principles might be able to inform how the OAuth WG
>>> makes its case for why Kerberos doesn't suffice.  (If we discover it
>>> does, hey, our work here is done. :-)
>>
>> There are two threads here
>>
>> - why Kerberos _as such_ does or does not work for the use-cases
>> - what experiences from 3rd party schemes such as Kerberos or STS are
>> valuable for OAuth.
>>
>> Being long-time Kerberos-fanboy I still say that one of those threads
>> are interesting and the other isn't.
>>
>> I think its much more valuable to talk about how to distill experience
>> from Kerberos (etc) which are applicable to the design of OAuth.
>
> Agreed. Do you know if anyone has written up the design principles
> behind (or lessons learned) from Kerberos and STS? If not, we'll need to
> start prodding people into sharing their wisdom...

Thomas, does the mitkc has something written on the subject of Kerberos 
from 10k feet that might be useful in this context? I'm cc:ing lha who
also has tons of implementation experience.


	Cheers Leif




From leifj@mnt.se  Mon Apr  5 12:29:27 2010
Return-Path: <leifj@mnt.se>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 024003A67A1 for <oauth@core3.amsl.com>; Mon,  5 Apr 2010 12:29:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.405
X-Spam-Level: 
X-Spam-Status: No, score=-1.405 tagged_above=-999 required=5 tests=[AWL=-0.294, BAYES_05=-1.11]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gnYYKrKIX9M5 for <oauth@core3.amsl.com>; Mon,  5 Apr 2010 12:29:26 -0700 (PDT)
Received: from backup-server.nordu.net (backup-server.nordu.net [IPv6:2001:948:4:1::66]) by core3.amsl.com (Postfix) with ESMTP id 7ADA53A67B7 for <oauth@ietf.org>; Mon,  5 Apr 2010 12:29:23 -0700 (PDT)
Received: from [10.0.0.11] (ua-83-227-179-169.cust.bredbandsbolaget.se [83.227.179.169]) (authenticated bits=0) by backup-server.nordu.net (8.14.3/8.14.3) with ESMTP id o35JTH8T009933 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <oauth@ietf.org>; Mon, 5 Apr 2010 21:29:20 +0200 (CEST)
Message-ID: <4BBA3A0D.5040906@mnt.se>
Date: Mon, 05 Apr 2010 21:29:17 +0200
From: Leif Johansson <leifj@mnt.se>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9pre) Gecko/20100217 Lightning/1.0b1 Shredder/3.0.3pre ThunderBrowse/3.2.8.1
MIME-Version: 1.0
To: oauth@ietf.org
References: <191F411E00E19F4E943ECDB6D65C6085168FCFE8@TK5EX14MBXC115.redmond.corp.microsoft.com>	<C7DA40B8.31B0F%eran@hueniverse.com>	<o2x74caaad21004011321w7414318ai6f52ea84dea0862e@mail.gmail.com>	<191F411E00E19F4E943ECDB6D65C60851690A880@TK5EX14MBXC115.redmond.corp.microsoft.com>	<4BB54F92.1060201@stpeter.im> <AFE1F948-AAE1-49C4-89E3-C03348317087@facebook.com>
In-Reply-To: <AFE1F948-AAE1-49C4-89E3-C03348317087@facebook.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Scanned-By: MIMEDefang 2.63 on 193.10.252.66
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 05 Apr 2010 19:29:27 -0000

On 04/02/2010 06:07 AM, Luke Shepard wrote:
>
> On Apr 1, 2010, at 6:59 PM, Peter Saint-Andre wrote:
>
> If that's true, then how does the Authorization Server know what scope
> is appropriate at the Protected Resource? Does inclusion of the scope
> parameter require a 1:1 mapping between AS and PR, or at least
> communication between AS and PR?
>
> My preferred way of handling this is to have the Protected Resource throw a 403 Forbidden error, with an error message that specifies the scope needed - e.g., "oauth_scope_required=photo_read".
>

Here is a bit of Kerberos-lore: it is sometimes important to
protect your error messages too!

When you pass critical parameters ("you need this scope for
access"), the error message suddenly becomes something
you may have to protect.

	Cheers Leif

From uidude@google.com  Mon Apr  5 16:29:26 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id CCD0E3A67B1 for <oauth@core3.amsl.com>; Mon,  5 Apr 2010 16:29:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -99.376
X-Spam-Level: 
X-Spam-Status: No, score=-99.376 tagged_above=-999 required=5 tests=[BAYES_50=0.001, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uoOHzlnEP1nL for <oauth@core3.amsl.com>; Mon,  5 Apr 2010 16:29:25 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 32A513A66B4 for <oauth@ietf.org>; Mon,  5 Apr 2010 16:29:25 -0700 (PDT)
Received: from kpbe18.cbf.corp.google.com (kpbe18.cbf.corp.google.com [172.25.105.82]) by smtp-out.google.com with ESMTP id o35NTJYd002041 for <oauth@ietf.org>; Tue, 6 Apr 2010 01:29:19 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270510160; bh=f1Rp17pexSAkuHgZH6odr+aimZE=; h=MIME-Version:From:Date:Message-ID:Subject:To:Content-Type; b=k8poe60wAWXAldRZjtRXzdBbwg+B4vPLBQR4dyHZCLfJeaFwbQdRukEktc7q/vx4Y L4gcweTrce+JeRTTuf8HA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:from:date:message-id:subject:to:content-type:x-system-of-record; b=EDIO7aBWumleyfp3JHubhu6MQ/0HCrW4zfLbZMDYQXY3k7zy1OjfCzJXF7CW7S2P5 mOvGPzegcblpwZtGmEC9A==
Received: from qw-out-1920.google.com (qwk4.prod.google.com [10.241.195.132]) by kpbe18.cbf.corp.google.com with ESMTP id o35NSrQf005729 for <oauth@ietf.org>; Mon, 5 Apr 2010 16:28:54 -0700
Received: by qw-out-1920.google.com with SMTP id 4so1401990qwk.48 for <oauth@ietf.org>; Mon, 05 Apr 2010 16:28:53 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.194 with HTTP; Mon, 5 Apr 2010 16:28:33 -0700 (PDT)
From: Evan Gilbert <uidude@google.com>
Date: Mon, 5 Apr 2010 16:28:33 -0700
Received: by 10.229.10.132 with SMTP id p4mr4341703qcp.86.1270510133568; Mon,  05 Apr 2010 16:28:53 -0700 (PDT)
Message-ID: <w2rc8689b661004051628q729ca3a8s4855be6d7af14a82@mail.gmail.com>
To: oauth@ietf.org, Eran Hammer-Lahav <blade@yahoo-inc.com>
Content-Type: multipart/alternative; boundary=0015175771ca31e59f048385b1cb
X-System-Of-Record: true
Subject: [OAUTH-WG] Comments on Web Callback & Client Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 05 Apr 2010 23:29:26 -0000

--0015175771ca31e59f048385b1cb
Content-Type: text/plain; charset=ISO-8859-1

A few comments on the Web Server and Web Client flow from the draft
2.0 spec<http://github.com/theRazorBlade/draft-ietf-oauth/>
.

Evan

----

2.4.1 Web Callback Flow & 2.4.2 Web Client Flow
In both flows, the authorization server should be able redirect back to the
callback URI without interacting directly with the resource owner if access
has already been approved.  This is not ruled out in the current language
but it could be made cleaner.

Suggested rewording - change

"After receiving an authorization decision from the resource owner, the
server redirects the resource owner to the callback URI."

  to

"If the client is already approved or denied for access to the protected
resource, the authorization service MAY redirect the resource owner to the
callback URI immediately. If not, the authorization service SHOULD ask the
resource owner for an authorization decision and after receiving the
decision redirect the resource owner to the callback URI."

----

2.4.1 Web Callback Flow & 2.4.2 Web Client Flow
We should have an OPTIONAL username parameter:
username
  The resource owner's username. The authorization server MUST only send
back refresh tokens or access tokens for this user.

This is useful for clients where a user is already logged into a 3rd party
web site with a specific account, and the client wants the authorization to
match the specific user.

----

2.4.2 Web Client Flow
Sending an access token as a query parameter is dangerous from a security
perspective - these tokens are leaked via referrers and server logs. In
previous WRAP discussions, it was felt that we should have a strong
recommendation to use the URL fragment.

Suggested wording:
Client SHOULD send a callback URI with a query fragment, and authorization
server MAY reject callback URLs without a fragment for security reasons.

--0015175771ca31e59f048385b1cb
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

A few comments on the Web Server and Web Client flow from the <a href=3D"ht=
tp://github.com/theRazorBlade/draft-ietf-oauth/">draft 2.0 spec</a>.<div><b=
r>Evan<br><div><font class=3D"Apple-style-span" face=3D"arial, sans-serif">=
<span class=3D"Apple-style-span" style=3D"border-collapse: collapse;"><span=
 class=3D"Apple-style-span" style=3D"border-collapse: separate;"><br>

</span></span></font></div><div><font class=3D"Apple-style-span" face=3D"ar=
ial, sans-serif"><span class=3D"Apple-style-span" style=3D"border-collapse:=
 collapse;"><span class=3D"Apple-style-span" style=3D"border-collapse: sepa=
rate;">----</span></span></font></div>

<div><font class=3D"Apple-style-span" face=3D"arial, sans-serif"><span clas=
s=3D"Apple-style-span" style=3D"border-collapse: collapse;"><span class=3D"=
Apple-style-span" style=3D"border-collapse: separate;"><br></span></span></=
font></div>

<div><div><div>2.4.1 Web Callback Flow &amp; 2.4.2 Web Client Flow</div><di=
v><span class=3D"Apple-style-span" style=3D"font-family: arial, sans-serif;=
 font-size: 13px; border-collapse: collapse; "><span class=3D"Apple-style-s=
pan" style=3D"border-collapse: separate; font-family: arial; font-size: sma=
ll; ">In both flows,=A0the authorization server should be able redirect bac=
k to the callback URI without interacting directly with the resource owner =
if access has already been approved. =A0This is not ruled out in the curren=
t language but it could be made cleaner.=A0</span></span></div>

<div><span class=3D"Apple-style-span" style=3D"font-family: arial, sans-ser=
if; font-size: 13px; border-collapse: collapse; "><span class=3D"Apple-styl=
e-span" style=3D"border-collapse: separate; font-family: arial; font-size: =
small; "><br>

</span></span></div><div><span class=3D"Apple-style-span" style=3D"font-fam=
ily: arial, sans-serif; font-size: 13px; border-collapse: collapse; "><span=
 class=3D"Apple-style-span" style=3D"border-collapse: separate; font-family=
: arial; font-size: small; ">Suggested rewording - change</span></span></di=
v>

<div><span class=3D"Apple-style-span" style=3D"font-family: arial, sans-ser=
if; font-size: 13px; border-collapse: collapse; "><span class=3D"Apple-styl=
e-span" style=3D"border-collapse: separate; font-family: arial; font-size: =
small; "><br>

</span></span></div><div><span class=3D"Apple-style-span" style=3D"font-fam=
ily: arial, sans-serif; font-size: 13px; border-collapse: collapse; "><span=
 class=3D"Apple-style-span" style=3D"border-collapse: separate; font-family=
: arial; font-size: small; ">&quot;After receiving an authorization decisio=
n from the resource owner, the server redirects the resource owner to the c=
allback URI.&quot;</span></span></div>

<div><span class=3D"Apple-style-span" style=3D"font-family: arial, sans-ser=
if; font-size: 13px; border-collapse: collapse; "><span class=3D"Apple-styl=
e-span" style=3D"border-collapse: separate; font-family: arial; font-size: =
small; "><br>

=A0=A0to</span></span></div><div><span class=3D"Apple-style-span" style=3D"=
font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse;=
 "><span class=3D"Apple-style-span" style=3D"border-collapse: separate; fon=
t-family: arial; font-size: small; "><br>

&quot;If the client is already approved or denied for access to the protect=
ed resource, the authorization service MAY redirect the resource owner to t=
he callback URI immediately. If not, the authorization service SHOULD ask t=
he resource owner for an authorization decision and after receiving the dec=
ision=A0redirect the resource owner to the callback URI.&quot;</span></span=
></div>

<div><span class=3D"Apple-style-span" style=3D"font-family: arial, sans-ser=
if; font-size: 13px; border-collapse: collapse; "><br></span></div><div><sp=
an class=3D"Apple-style-span" style=3D"font-family: arial, sans-serif; font=
-size: 13px; border-collapse: collapse; ">----</span></div>

<div><font class=3D"Apple-style-span" face=3D"arial, sans-serif"><span clas=
s=3D"Apple-style-span" style=3D"border-collapse: collapse;"><span class=3D"=
Apple-style-span" style=3D"border-collapse: separate; font-family: arial; "=
><br class=3D"Apple-interchange-newline">

2.4.1 Web Callback Flow &amp; 2.4.2 Web Client Flow</span></span></font></d=
iv><div><font class=3D"Apple-style-span" face=3D"arial, sans-serif"><span c=
lass=3D"Apple-style-span" style=3D"border-collapse: collapse;"><span class=
=3D"Apple-style-span" style=3D"border-collapse: separate; font-family: aria=
l; ">We should have an OPTIONAL username parameter:<br>

username</span></span></font></div><div><font class=3D"Apple-style-span" fa=
ce=3D"arial, sans-serif"><span class=3D"Apple-style-span" style=3D"border-c=
ollapse: collapse;"><span class=3D"Apple-style-span" style=3D"border-collap=
se: separate; font-family: arial; ">=A0=A0The resource owner&#39;s username=
. The authorization server MUST only send back refresh tokens or access tok=
ens for this user.</span></span></font></div>

<div><font class=3D"Apple-style-span" face=3D"arial, sans-serif"><span clas=
s=3D"Apple-style-span" style=3D"border-collapse: collapse;"><span class=3D"=
Apple-style-span" style=3D"border-collapse: separate; font-family: arial; "=
><br></span></span></font></div>

<div><font class=3D"Apple-style-span" face=3D"arial, sans-serif"><span clas=
s=3D"Apple-style-span" style=3D"border-collapse: collapse;"><span class=3D"=
Apple-style-span" style=3D"border-collapse: separate; font-family: arial; "=
>This is useful for clients where a user is already logged into a 3rd party=
 web site with a specific account, and the client wants the authorization t=
o match the specific user.</span></span></font></div>

<div><br></div><div>----</div><div><br>2.4.2 Web Client Flow</div><div>Send=
ing an access token as a query parameter is dangerous from a security persp=
ective - these tokens are leaked via referrers and server logs. In previous=
 WRAP discussions, it was felt that we should have a strong recommendation =
to use the URL fragment.</div>

<div><br>Suggested wording:<br>Client SHOULD send a callback URI with a que=
ry fragment, and authorization server MAY reject callback URLs without a fr=
agment for security reasons.</div></div></div><div><br></div></div>

--0015175771ca31e59f048385b1cb--

From eran@hueniverse.com  Tue Apr  6 00:11:30 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A84723A67D9 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 00:11:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.799
X-Spam-Level: 
X-Spam-Status: No, score=-0.799 tagged_above=-999 required=5 tests=[AWL=1.799,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SiyUdphwVVMG for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 00:11:27 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id D5AFE3A67A2 for <oauth@ietf.org>; Tue,  6 Apr 2010 00:11:26 -0700 (PDT)
Received: (qmail 28713 invoked from network); 6 Apr 2010 07:11:23 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 6 Apr 2010 07:11:22 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Tue, 6 Apr 2010 00:11:22 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: David Recordon <davidrecordon@facebook.com>, OAuth WG <oauth@ietf.org>
Date: Tue, 6 Apr 2010 00:11:18 -0700
Thread-Topic: [OAUTH-WG] Renaming expires to expires_in?
Thread-Index: AcrU2le50B2lGSFlSOqXtk7O948e6QAfgJwy
Message-ID: <C7E02CA6.31D47%eran@hueniverse.com>
In-Reply-To: <CF406249-38AD-429F-8652-BDF508D87489@facebook.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E02CA631D47eranhueniversecom_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Renaming expires to expires_in?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 07:11:31 -0000

--_000_C7E02CA631D47eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Changed to 'duration'.

EHL


On 4/5/10 9:09 AM, "David Recordon" <davidrecordon@facebook.com> wrote:

As one of our engineers was implementing a client, they got confused about =
what was being returned by the expires parameter. Anyone object to renaming=
 it to expires_in so that it's clear that it isn't an absolute timestamp?

Thanks,
--David
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


--_000_C7E02CA631D47eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Renaming expires to expires_in?</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>Changed to &#8216;duration&#8217;.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/5/10 9:09 AM, &quot;David Recordon&quot; &lt;<a href=3D"davidrecordon@=
facebook.com">davidrecordon@facebook.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>As one of our engineers was implementing a =
client, they got confused about what was being returned by the expires para=
meter. Anyone object to renaming it to expires_in so that it's clear that i=
t isn't an absolute timestamp?<BR>
<BR>
Thanks,<BR>
--David<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E02CA631D47eranhueniversecom_--

From eran@hueniverse.com  Tue Apr  6 00:13:48 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 366C23A67D9 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 00:13:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.699
X-Spam-Level: 
X-Spam-Status: No, score=-1.699 tagged_above=-999 required=5 tests=[AWL=0.900,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GhWKsF1dT2VD for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 00:13:45 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 80E233A67A2 for <oauth@ietf.org>; Tue,  6 Apr 2010 00:13:45 -0700 (PDT)
Received: (qmail 14447 invoked from network); 6 Apr 2010 07:13:42 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 6 Apr 2010 07:13:42 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Tue, 6 Apr 2010 00:13:42 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>, Paul Bryan <email@pbryan.net>
Date: Tue, 6 Apr 2010 00:13:39 -0700
Thread-Topic: [OAUTH-WG] Scope using Realm idea
Thread-Index: AcrTGWTvcWxerGxTSjec5bP/0+pnTgCP0lE0
Message-ID: <C7E02D33.31D49%eran@hueniverse.com>
In-Reply-To: <4BB719F0.70807@lodderstedt.net>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 07:13:48 -0000

Yep. I'm trying to remove the need for a more complex discovery.

EHL


On 4/3/10 3:35 AM, "Torsten Lodderstedt" <torsten@lodderstedt.net> wrote:

> I've just seen, the current draft already specifies an attribute
> "authorization-uri" for the WWW-Authenticate header. Is this attribute
> intended for announcing the authorization servers endpoint?
>=20
>> I don't think the example implies discovery. As far as I understood,
>> it just uses the same addresses for both protected resource and
>> authorization server. This might work for some deployments, it won't
>> work for installation with a single authorization server authorizing
>> access to multiple resources with different adresses.
>>=20
>> I like the idea of using the protected resources realm as resource
>> specification in the authorization server requests. To enhance the
>> idea we need some kind of endpoint discovery. The simplest way would
>> be to include another parameter in the WWW-Authenticate response
>> indicating the authorization servers endpoint, e.g.
>>=20
>> HTTP/1.1 401 Unauthorized
>>   WWW-Authenticate: OAuth realm=3D'example',
>> endpoint=3D'authorization.example.com'
>>=20
>> According to http://www.ietf.org/rfc/rfc2617.txt (Basic/Digest Authn
>> Spec) this should be a legal usage of the WW-Authenticate header. An
>> example of a WWW-Authenticate header for Digest authentication is:
>>=20
>> WWW-Authenticate: Digest realm=3D"testrealm@host.com",
>>                          qop=3D"auth,auth-int",
>>                          nonce=3D"dcd98b7102dd2f0e8b11d0f600bfb0c093",
>>                          opaque=3D"5ccc069c403ebaf9f0171e9517f40e41"
>>=20
>> regards,
>> Torsten.
>>> Presumably, the realm was used to discover the token issuance endpoints=
.
>>> Why wouldn't the discovered URL of the access token endpoint dictate
>>> realm, and why can't the realm then be implicit beyond discovery?
>>>=20
>>> -----Original Message-----
>>> From: Eran Hammer-Lahav<eran@hueniverse.com>
>>> To: OAuth WG<oauth@ietf.org>
>>> Subject: [OAUTH-WG] Scope using Realm idea
>>> Date: Fri, 2 Apr 2010 09:18:36 -0700
>>>=20
>>> This is half baked but I wanted to get people's reaction:
>>>=20
>>> Clients tries accessing a resource with or without an access token:
>>>=20
>>>    GET /resource/1 HTTP/1.1
>>>    Host: server.example.com
>>>=20
>>> The server replies with:
>>>=20
>>>    HTTP/1.1 401 Unauthorized
>>>    WWW-Authenticate: OAuth realm=3D'example'
>>>=20
>>> Clients requests an access token (using the client credentials flow) an=
d
>>> includes the requested realm (line breaks for display purposes):
>>>=20
>>>    POST /access_token HTTP/1.1
>>>    Host: server.example.com
>>>=20
>>>    client_id=3Ds6BhdRkqt3&client_secret=3D8eSEIpnqmM&
>>>    mode=3Dflow_client&realm=3Dexample
>>>=20
>>> The server issues a access token capable of accessing the resource
>>> realm.
>>>=20
>>> This means one new parameter on the request side which is already
>>> baked into
>>> the 401 response in a standard way.
>>>=20
>>> Thoughts?
>>>=20
>>> EHL
>>>=20
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>=20
>>>=20
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>=20
>>=20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>=20
>=20
>=20


From eran@hueniverse.com  Tue Apr  6 00:15:04 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 655153A6812 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 00:15:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.069
X-Spam-Level: 
X-Spam-Status: No, score=-1.069 tagged_above=-999 required=5 tests=[AWL=-0.329, BAYES_20=-0.74]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7qX3m5v0C3y7 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 00:15:03 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 779A53A67A2 for <oauth@ietf.org>; Tue,  6 Apr 2010 00:15:03 -0700 (PDT)
Received: (qmail 29065 invoked from network); 6 Apr 2010 07:15:01 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 6 Apr 2010 07:15:01 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Tue, 6 Apr 2010 00:15:01 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Date: Tue, 6 Apr 2010 00:14:58 -0700
Thread-Topic: [OAUTH-WG] Scope
Thread-Index: AcrTBzFTWFREj4qLQAib4nrptehxrQCUav6u
Message-ID: <C7E02D82.31D4B%eran@hueniverse.com>
In-Reply-To: <4BB6FB68.8060301@lodderstedt.net>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 07:15:04 -0000

I agree that this is the right approach (separate parameters to well define=
d
scope attributes). However, so far the only well-defined attribute is a
protected segment name (aka realm).

EHL


On 4/3/10 1:25 AM, "Torsten Lodderstedt" <torsten@lodderstedt.net> wrote:

> You are right, there are different aspects of scope. Why not define one
> optional parameter per scope aspect?
>=20
> Based on our experiences with implementing OAuth 1.0a at Deutsche
> Telekom, I see the need for the following parameters
> - resource: specification of the protected resource to be accessed
> (type: URI or opaque string)
> - requested permissions:  permissions on this resource the client want
> to get authorized by the user (comma-separated list of opaque strings).
> The range of permissions is defined by the resource as part of its API
> design. This could be something like "upload", "download", "sent", or
> "establish connection". The set of available permissions might be
> advertised by way of a WWW-Authenticate parameter (status code 401), as
> part of a 403 response, or in a XRDS discovery process.
> - requested duration: specification of the token duration the client
> asks for
>=20
> regards,
> Torsten.
>> ...
>> There isn't one - its service specific.
>>=20
>> The easy ones are:
>>=20
>> Duration
>> List of protected resources, URI wildcard, or name of protected segment
>> Read/write access or HTTP methods
>>=20
>> 3 years ago when we dropped the scope/token_attributes parameter from th=
e
>> spec we decided to bring it back when we have enough deployment experien=
ce.
>> I strongly believe this rule still holds.
>>=20
>> It would be great if those with OAuth 1.0a deployments can share how the=
y
>> specify scope.
>>=20
>> EHL
>>=20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>  =20
>=20
>=20
>=20


From eran@hueniverse.com  Tue Apr  6 00:17:44 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2C7C63A681A for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 00:17:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.917
X-Spam-Level: 
X-Spam-Status: No, score=-1.917 tagged_above=-999 required=5 tests=[AWL=0.683,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WtBMzUZLo7Dh for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 00:17:39 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 0591B3A67DB for <oauth@ietf.org>; Tue,  6 Apr 2010 00:17:37 -0700 (PDT)
Received: (qmail 29394 invoked from network); 6 Apr 2010 07:17:36 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 6 Apr 2010 07:17:36 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Tue, 6 Apr 2010 00:16:31 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Dick Hardt <dick.hardt@gmail.com>, "igor.faynberg@alcatel-lucent.com" <igor.faynberg@alcatel-lucent.com>
Date: Tue, 6 Apr 2010 00:16:29 -0700
Thread-Topic: [OAUTH-WG] Scope using Realm idea
Thread-Index: AcrSs8GPpJHnns8IR++hOcal6U8XKwCpVH7p
Message-ID: <C7E02DDD.31D4D%eran@hueniverse.com>
In-Reply-To: <ECC37DF4-F9C3-4C04-BD4A-86655F45A23C@gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 07:17:44 -0000

On 4/2/10 3:27 PM, "Dick Hardt" <dick.hardt@gmail.com> wrote:

> There are times when a resource may have different scope for different ki=
nds
> of access. realm !=3D scope

No. Realm is a subset. It is what people define as the protected segment
name. For any other scope attribute we need to first define it.

EHL

> On 2010-04-02, at 2:45 PM, Igor Faynberg wrote:
>=20
>>=20
>>=20
>> I don't see any problem at all.
>>=20
>> Igor
>>=20
>> David Recordon wrote:
>>> Assuming that this is mean to replace the scope parameter?
>>>=20
>>> On Fri, Apr 2, 2010 at 9:18 AM, Eran Hammer-Lahav <eran@hueniverse.com>
>>> wrote:
>>>=20
>>>> This is half baked but I wanted to get people's reaction:
>>>>=20
>>>> Clients tries accessing a resource with or without an access token:
>>>>=20
>>>> GET /resource/1 HTTP/1.1
>>>> Host: server.example.com
>>>>=20
>>>> The server replies with:
>>>>=20
>>>> HTTP/1.1 401 Unauthorized
>>>> WWW-Authenticate: OAuth realm=3D'example'
>>>>=20
>>>> Clients requests an access token (using the client credentials flow) a=
nd
>>>> includes the requested realm (line breaks for display purposes):
>>>>=20
>>>> POST /access_token HTTP/1.1
>>>> Host: server.example.com
>>>>=20
>>>> client_id=3Ds6BhdRkqt3&client_secret=3D8eSEIpnqmM&
>>>> mode=3Dflow_client&realm=3Dexample
>>>>=20
>>>> The server issues a access token capable of accessing the resource rea=
lm.
>>>>=20
>>>> This means one new parameter on the request side which is already bake=
d
>>>> into
>>>> the 401 response in a standard way.
>>>>=20
>>>> Thoughts?
>>>>=20
>>>> EHL
>>>>=20
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>=20
>>>>  =20
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>=20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>=20


From eran@hueniverse.com  Tue Apr  6 00:21:32 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 150AA3A67CF for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 00:21:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.753
X-Spam-Level: 
X-Spam-Status: No, score=-0.753 tagged_above=-999 required=5 tests=[AWL=-0.754, BAYES_50=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tJbjNlrCPrEb for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 00:21:30 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 576A13A67C0 for <oauth@ietf.org>; Tue,  6 Apr 2010 00:21:28 -0700 (PDT)
Received: (qmail 29849 invoked from network); 6 Apr 2010 07:21:26 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 6 Apr 2010 07:21:26 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Tue, 6 Apr 2010 00:21:26 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Evan Gilbert <uidude@google.com>, OAuth WG <oauth@ietf.org>, Eran Hammer-Lahav <blade@yahoo-inc.com>
Date: Tue, 6 Apr 2010 00:21:23 -0700
Thread-Topic: [OAUTH-WG] Comments on Web Callback & Client Flow
Thread-Index: AcrVF9j6HPVIzb4TSxGcuYCBZqHJJQAQenLV
Message-ID: <C7E02F03.31D50%eran@hueniverse.com>
In-Reply-To: <w2rc8689b661004051628q729ca3a8s4855be6d7af14a82@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Comments on Web Callback & Client Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 07:21:32 -0000

Hi Evan,

On 4/5/10 4:28 PM, "Evan Gilbert" <uidude@google.com> wrote:

> 2.4.1 Web Callback Flow & 2.4.2 Web Client Flow
> In both flows,=A0the authorization server should be able redirect back to=
 the
> callback URI without interacting directly with the resource owner if acce=
ss
> has already been approved. =A0This is not ruled out in the current langua=
ge but
> it could be made cleaner.=A0
>=20
> Suggested rewording - change
>=20
> "After receiving an authorization decision from the resource owner, the s=
erver
> redirects the resource owner to the callback URI."
>=20
> =A0=A0to
>=20
> "If the client is already approved or denied for access to the protected
> resource, the authorization service MAY redirect the resource owner to th=
e
> callback URI immediately. If not, the authorization service SHOULD ask th=
e
> resource owner for an authorization decision and after receiving the
> decision=A0redirect the resource owner to the callback URI."

I opted for a simpler change:

'After receiving (or establishing via other means) an authorization
decision'

> 2.4.1 Web Callback Flow & 2.4.2 Web Client Flow
> We should have an OPTIONAL username parameter:
> username
> =A0=A0The resource owner's username. The authorization server MUST only s=
end back
> refresh tokens or access tokens for this user.
>=20
> This is useful for clients where a user is already logged into a 3rd part=
y web
> site with a specific account, and the client wants the authorization to m=
atch
> the specific user.

I think introducing the concept of user identity is more complex than just =
a
username parameter. I agree that it can be useful but we need a more
detailed discussion about this before we add it.

> 2.4.2 Web Client Flow
> Sending an access token as a query parameter is dangerous from a security
> perspective - these tokens are leaked via referrers and server logs. In
> previous WRAP discussions, it was felt that we should have a strong
> recommendation to use the URL fragment.
>=20
> Suggested wording:
> Client SHOULD send a callback URI with a query fragment, and authorizatio=
n
> server MAY reject callback URLs without a fragment for security reasons.

Why not require it?

EHL


From beaton@google.com  Tue Apr  6 00:37:57 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 86E5D3A68E5 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 00:37:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level: 
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id y8AxLZqVw2AH for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 00:37:56 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 1395A3A68B0 for <oauth@ietf.org>; Tue,  6 Apr 2010 00:37:55 -0700 (PDT)
Received: from wpaz9.hot.corp.google.com (wpaz9.hot.corp.google.com [172.24.198.73]) by smtp-out.google.com with ESMTP id o367bpl7002242 for <oauth@ietf.org>; Tue, 6 Apr 2010 00:37:51 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270539471; bh=w5E4YZdEFuRCkW25rIxdrjuoJNs=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=q57S2Ts5MA3cCZitMUwG8HSMH/72jaxeVHUm6/IZMQ36IRvCdv7oMEAUzRx6Fzv81 Sx1W6UYVS6iv4zy4NHryQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=bmrXgFf4pm4EwDPFeJHn6AnZwg++Yx4LucT0YE9nQ826DqV2u3fOdOSb8+3f1kH/H qyo/vd8sJQAF4WszwHs7w==
Received: from vws3 (vws3.prod.google.com [10.241.21.131]) by wpaz9.hot.corp.google.com with ESMTP id o367bmLH031022 for <oauth@ietf.org>; Tue, 6 Apr 2010 00:37:50 -0700
Received: by vws3 with SMTP id 3so2209992vws.11 for <oauth@ietf.org>; Tue, 06 Apr 2010 00:37:50 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.124.2 with HTTP; Tue, 6 Apr 2010 00:37:50 -0700 (PDT)
In-Reply-To: <C7E02D33.31D49%eran@hueniverse.com>
References: <4BB719F0.70807@lodderstedt.net> <C7E02D33.31D49%eran@hueniverse.com>
Date: Tue, 6 Apr 2010 00:37:50 -0700
Received: by 10.220.48.22 with SMTP id p22mr3173815vcf.213.1270539470589; Tue,  06 Apr 2010 00:37:50 -0700 (PDT)
Message-ID: <q2ndaf5b9571004060037x5652d084zb526b3c955f7b7ab@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 07:37:57 -0000

On Tue, Apr 6, 2010 at 12:13 AM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> Yep. I'm trying to remove the need for a more complex discovery.

Not sure we need to do anything, discovery is pretty simple already.

We've been talking a bit about how to enable OAuth for IMAP:
http://tech.groups.yahoo.com/group/sasl_oauth/.

Here's the rough flow:
1) The hostname of the IMAP server to talk to magically appears.
Maybe the user enters it.
2) Client queries the IMAP server.
3) IMAP server points at the OAuth WRAP endpoints.
4) Client opens a browser to get user approval using the rich client flow.
5) Client saves the refresh token instead of the user's password.

Ideally the same SASL mechanism would work for XMPP.

Cheers,
Brian

From eran@hueniverse.com  Tue Apr  6 00:49:00 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 691EC3A67B5 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 00:49:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.927
X-Spam-Level: 
X-Spam-Status: No, score=-1.927 tagged_above=-999 required=5 tests=[AWL=0.671,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1qbUVOQp7liL for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 00:48:56 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 2EDAB3A6407 for <oauth@ietf.org>; Tue,  6 Apr 2010 00:48:56 -0700 (PDT)
Received: (qmail 522 invoked from network); 6 Apr 2010 07:48:53 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 6 Apr 2010 07:48:53 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Tue, 6 Apr 2010 00:47:35 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Brian Eaton <beaton@google.com>
Date: Tue, 6 Apr 2010 00:47:31 -0700
Thread-Topic: [OAUTH-WG] Scope using Realm idea
Thread-Index: AcrVXBLm9gLdOX1mT9KNY2n8+NiAAgAAVZ5u
Message-ID: <C7E03523.31D53%eran@hueniverse.com>
In-Reply-To: <q2ndaf5b9571004060037x5652d084zb526b3c955f7b7ab@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E0352331D53eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 07:49:00 -0000

--_000_C7E0352331D53eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

That's the same as what I have in the draft, only with a single endpoint in=
stead of two. Since we already have a 'mode' parameter (which I am renaming=
 to 'type'), that single endpoint can speak more than one flow.

EHL


On 4/6/10 12:37 AM, "Brian Eaton" <beaton@google.com> wrote:

On Tue, Apr 6, 2010 at 12:13 AM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:
> Yep. I'm trying to remove the need for a more complex discovery.

Not sure we need to do anything, discovery is pretty simple already.

We've been talking a bit about how to enable OAuth for IMAP:
http://tech.groups.yahoo.com/group/sasl_oauth/.

Here's the rough flow:
1) The hostname of the IMAP server to talk to magically appears.
Maybe the user enters it.
2) Client queries the IMAP server.
3) IMAP server points at the OAuth WRAP endpoints.
4) Client opens a browser to get user approval using the rich client flow.
5) Client saves the refresh token instead of the user's password.

Ideally the same SASL mechanism would work for XMPP.

Cheers,
Brian


--_000_C7E0352331D53eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Scope using Realm idea</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>That&#8217;s the same as what I have in the draft, only with a single=
 endpoint instead of two. Since we already have a &#8216;mode&#8217; parame=
ter (which I am renaming to &#8216;type&#8217;), that single endpoint can s=
peak more than one flow.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/6/10 12:37 AM, &quot;Brian Eaton&quot; &lt;<a href=3D"beaton@google.co=
m">beaton@google.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>On Tue, Apr 6, 2010 at 12:13 AM, Eran Hamme=
r-Lahav &lt;<a href=3D"eran@hueniverse.com">eran@hueniverse.com</a>&gt; wro=
te:<BR>
&gt; Yep. I'm trying to remove the need for a more complex discovery.<BR>
<BR>
Not sure we need to do anything, discovery is pretty simple already.<BR>
<BR>
We've been talking a bit about how to enable OAuth for IMAP:<BR>
<a href=3D"http://tech.groups.yahoo.com/group/sasl_oauth/">http://tech.grou=
ps.yahoo.com/group/sasl_oauth/</a>.<BR>
<BR>
Here's the rough flow:<BR>
1) The hostname of the IMAP server to talk to magically appears.<BR>
Maybe the user enters it.<BR>
2) Client queries the IMAP server.<BR>
3) IMAP server points at the OAuth WRAP endpoints.<BR>
4) Client opens a browser to get user approval using the rich client flow.<=
BR>
5) Client saves the refresh token instead of the user's password.<BR>
<BR>
Ideally the same SASL mechanism would work for XMPP.<BR>
<BR>
Cheers,<BR>
Brian<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E0352331D53eranhueniversecom_--

From beaton@google.com  Tue Apr  6 00:58:12 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7977E3A67C0 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 00:58:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level: 
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8UoHiKnyBiYG for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 00:58:11 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id A59703A67A2 for <oauth@ietf.org>; Tue,  6 Apr 2010 00:58:11 -0700 (PDT)
Received: from wpaz1.hot.corp.google.com (wpaz1.hot.corp.google.com [172.24.198.65]) by smtp-out.google.com with ESMTP id o367w9KK021758 for <oauth@ietf.org>; Tue, 6 Apr 2010 00:58:09 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270540689; bh=nslrzHEPOSH250ZLtWFOPgaEEqw=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type:Content-Transfer-Encoding; b=q7BLiu5VOxo0mA04jhIN0gKKEux0MOeb7R6HIN4Li9ffZn+jcXLFtwsfnzl+W3yGO IIWYUlsxo9xpOOyQMOR1w==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:content-transfer-encoding:x-system-of-record; b=hTSmAINPIWT5pTjDIhdpERUFdKPR2lJqt4fUMRSFpNzY0R8iHzpAOMcyv3aOMe518 Z3QNxSDkwg6zaqBoZkrAA==
Received: from vws11 (vws11.prod.google.com [10.241.21.139]) by wpaz1.hot.corp.google.com with ESMTP id o367w7mF010634 for <oauth@ietf.org>; Tue, 6 Apr 2010 00:58:08 -0700
Received: by vws11 with SMTP id 11so693224vws.6 for <oauth@ietf.org>; Tue, 06 Apr 2010 00:58:07 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.124.2 with HTTP; Tue, 6 Apr 2010 00:58:07 -0700 (PDT)
In-Reply-To: <C7E03523.31D53%eran@hueniverse.com>
References: <q2ndaf5b9571004060037x5652d084zb526b3c955f7b7ab@mail.gmail.com> <C7E03523.31D53%eran@hueniverse.com>
Date: Tue, 6 Apr 2010 00:58:07 -0700
Received: by 10.220.123.214 with SMTP id q22mr3142817vcr.114.1270540687517;  Tue, 06 Apr 2010 00:58:07 -0700 (PDT)
Message-ID: <l2pdaf5b9571004060058kd419f728u25beb6f8a5e6397a@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 07:58:12 -0000

On Tue, Apr 6, 2010 at 12:47 AM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:
> That=92s the same as what I have in the draft, only with a single endpoin=
t
> instead of two. Since we already have a =91mode=92 parameter (which I am
> renaming to =91type=92), that single endpoint can speak more than one flo=
w.

Note that the discovery flow I outlined only works for rich clients,
and is completely insecure for other types of clients.

In another thread Leif mentioned similar concerns.  I think they are justif=
ied.

Cheers,
Brian

From eran@hueniverse.com  Tue Apr  6 01:23:59 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 01F4E3A6835 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 01:23:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.023
X-Spam-Level: 
X-Spam-Status: No, score=-2.023 tagged_above=-999 required=5 tests=[AWL=0.575,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8Q0h4jKnktlu for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 01:23:57 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id E64013A67C0 for <oauth@ietf.org>; Tue,  6 Apr 2010 01:23:56 -0700 (PDT)
Received: (qmail 4332 invoked from network); 6 Apr 2010 08:23:54 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 6 Apr 2010 08:23:54 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Tue, 6 Apr 2010 01:23:54 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Brian Eaton <beaton@google.com>
Date: Tue, 6 Apr 2010 01:23:50 -0700
Thread-Topic: [OAUTH-WG] Scope using Realm idea
Thread-Index: AcrVXuacszan0+ysS/CA5NMUp5HougAA5WMz
Message-ID: <C7E03DA7.31D57%eran@hueniverse.com>
In-Reply-To: <l2pdaf5b9571004060058kd419f728u25beb6f8a5e6397a@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E03DA731D57eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 08:23:59 -0000

--_000_C7E03DA731D57eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Why?


On 4/6/10 12:58 AM, "Brian Eaton" <beaton@google.com> wrote:

On Tue, Apr 6, 2010 at 12:47 AM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:
> That's the same as what I have in the draft, only with a single endpoint
> instead of two. Since we already have a 'mode' parameter (which I am
> renaming to 'type'), that single endpoint can speak more than one flow.

Note that the discovery flow I outlined only works for rich clients,
and is completely insecure for other types of clients.

In another thread Leif mentioned similar concerns.  I think they are justif=
ied.

Cheers,
Brian


--_000_C7E03DA731D57eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Scope using Realm idea</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>Why?<BR>
<BR>
<BR>
On 4/6/10 12:58 AM, &quot;Brian Eaton&quot; &lt;<a href=3D"beaton@google.co=
m">beaton@google.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>On Tue, Apr 6, 2010 at 12:47 AM, Eran Hamme=
r-Lahav &lt;<a href=3D"eran@hueniverse.com">eran@hueniverse.com</a>&gt; wro=
te:<BR>
&gt; That&#8217;s the same as what I have in the draft, only with a single =
endpoint<BR>
&gt; instead of two. Since we already have a &#8216;mode&#8217; parameter (=
which I am<BR>
&gt; renaming to &#8216;type&#8217;), that single endpoint can speak more t=
han one flow.<BR>
<BR>
Note that the discovery flow I outlined only works for rich clients,<BR>
and is completely insecure for other types of clients.<BR>
<BR>
In another thread Leif mentioned similar concerns. &nbsp;I think they are j=
ustified.<BR>
<BR>
Cheers,<BR>
Brian<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E03DA731D57eranhueniversecom_--

From torsten@lodderstedt.net  Tue Apr  6 03:24:17 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9684B3A6ACC for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 03:24:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.249
X-Spam-Level: 
X-Spam-Status: No, score=-2.249 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NLe8lBUa8-wO for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 03:24:16 -0700 (PDT)
Received: from smtprelay04.ispgateway.de (smtprelay04.ispgateway.de [80.67.31.27]) by core3.amsl.com (Postfix) with ESMTP id 19FE93A6ADF for <oauth@ietf.org>; Tue,  6 Apr 2010 03:23:33 -0700 (PDT)
Received: from [80.187.153.53] (helo=[127.0.0.1]) by smtprelay04.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1Nz5wP-0003yG-QC; Tue, 06 Apr 2010 12:23:30 +0200
Message-ID: <4BBB0B97.6090704@lodderstedt.net>
Date: Tue, 06 Apr 2010 12:23:19 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <C7E02D82.31D4B%eran@hueniverse.com>
In-Reply-To: <C7E02D82.31D4B%eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 10:24:17 -0000

Hi Eran,

> I agree that this is the right approach (separate parameters to well defined
> scope attributes). However, so far the only well-defined attribute is a
> protected segment name (aka realm).
>    
how shall we proceed in order to come to more well-defined attributes? I 
already proposed some, can we discuss them?

regards,
Torsten.
> EHL
>
>
> On 4/3/10 1:25 AM, "Torsten Lodderstedt"<torsten@lodderstedt.net>  wrote:
>
>    
>> You are right, there are different aspects of scope. Why not define one
>> optional parameter per scope aspect?
>>
>> Based on our experiences with implementing OAuth 1.0a at Deutsche
>> Telekom, I see the need for the following parameters
>> - resource: specification of the protected resource to be accessed
>> (type: URI or opaque string)
>> - requested permissions:  permissions on this resource the client want
>> to get authorized by the user (comma-separated list of opaque strings).
>> The range of permissions is defined by the resource as part of its API
>> design. This could be something like "upload", "download", "sent", or
>> "establish connection". The set of available permissions might be
>> advertised by way of a WWW-Authenticate parameter (status code 401), as
>> part of a 403 response, or in a XRDS discovery process.
>> - requested duration: specification of the token duration the client
>> asks for
>>
>> regards,
>> Torsten.
>>      
>>> ...
>>> There isn't one - its service specific.
>>>
>>> The easy ones are:
>>>
>>> Duration
>>> List of protected resources, URI wildcard, or name of protected segment
>>> Read/write access or HTTP methods
>>>
>>> 3 years ago when we dropped the scope/token_attributes parameter from the
>>> spec we decided to bring it back when we have enough deployment experience.
>>> I strongly believe this rule still holds.
>>>
>>> It would be great if those with OAuth 1.0a deployments can share how they
>>> specify scope.
>>>
>>> EHL
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>>        
>>
>>
>>      
>    



From beaton@google.com  Tue Apr  6 06:59:11 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6D9863A68AC for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 06:59:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.977
X-Spam-Level: 
X-Spam-Status: No, score=-101.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xHz-zjGB-xPn for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 06:59:10 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id ACC493A685D for <oauth@ietf.org>; Tue,  6 Apr 2010 06:59:06 -0700 (PDT)
Received: from hpaq3.eem.corp.google.com (hpaq3.eem.corp.google.com [10.3.21.3]) by smtp-out.google.com with ESMTP id o36Dx1Un010463 for <oauth@ietf.org>; Tue, 6 Apr 2010 15:59:02 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270562342; bh=KUYN+HlGZ0fLWi5HF3PK9kulqjg=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type:Content-Transfer-Encoding; b=sOMfvw0TPOOYcSWHCDI+GSf2OHl21nlmIWtnPj5AR1J5lfOWgf/xu1VUlwPkZzUMZ 7GHWX29XkdtTc5fuI8LLw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:content-transfer-encoding:x-system-of-record; b=HXjdueEC6kAqvXseKv5mhuslojc01Vhl+7T3H6U9a7ocHmGz86TtGfNDVvP59fEr+ Ej3EF2DKalIVF3Sdvd5nQ==
Received: from vws16 (vws16.prod.google.com [10.241.21.144]) by hpaq3.eem.corp.google.com with ESMTP id o36DwV4N009703 for <oauth@ietf.org>; Tue, 6 Apr 2010 15:59:00 +0200
Received: by vws16 with SMTP id 16so388629vws.23 for <oauth@ietf.org>; Tue, 06 Apr 2010 06:59:00 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.124.2 with HTTP; Tue, 6 Apr 2010 06:58:59 -0700 (PDT)
In-Reply-To: <C7E03DA7.31D57%eran@hueniverse.com>
References: <l2pdaf5b9571004060058kd419f728u25beb6f8a5e6397a@mail.gmail.com> <C7E03DA7.31D57%eran@hueniverse.com>
Date: Tue, 6 Apr 2010 06:58:59 -0700
Received: by 10.220.48.22 with SMTP id p22mr3410338vcf.213.1270562340060; Tue,  06 Apr 2010 06:59:00 -0700 (PDT)
Message-ID: <r2pdaf5b9571004060658ic3fcf36aqf7003b1afdb364b2@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 13:59:11 -0000

Web clients are expected to have secrets or to have otherwise
registered with the AS.  In order for them to use those secrets, they
need to know the AS URL.

Cheers,
Brian

On Tue, Apr 6, 2010 at 1:23 AM, Eran Hammer-Lahav <eran@hueniverse.com> wro=
te:
> Why?
>
>
> On 4/6/10 12:58 AM, "Brian Eaton" <beaton@google.com> wrote:
>
> On Tue, Apr 6, 2010 at 12:47 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>> That=92s the same as what I have in the draft, only with a single endpoi=
nt
>> instead of two. Since we already have a =91mode=92 parameter (which I am
>> renaming to =91type=92), that single endpoint can speak more than one fl=
ow.
>
> Note that the discovery flow I outlined only works for rich clients,
> and is completely insecure for other types of clients.
>
> In another thread Leif mentioned similar concerns. =A0I think they are
> justified.
>
> Cheers,
> Brian
>
>

From uidude@google.com  Tue Apr  6 07:05:15 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 49EBE3A67B4 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 07:05:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.676
X-Spam-Level: 
X-Spam-Status: No, score=-100.676 tagged_above=-999 required=5 tests=[AWL=1.300, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id L1oaxGe0Ds8W for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 07:05:11 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id F30DB3A67F6 for <oauth@ietf.org>; Tue,  6 Apr 2010 07:05:10 -0700 (PDT)
Received: from kpbe17.cbf.corp.google.com (kpbe17.cbf.corp.google.com [172.25.105.81]) by smtp-out.google.com with ESMTP id o36E568R019381 for <oauth@ietf.org>; Tue, 6 Apr 2010 16:05:06 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270562706; bh=xEcGOtrp0EiDqR/TCJnvGFtoVsY=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=G5nIE7gJ01LNO0MawRF+dL2iCQUvXry/j4veKylvLe5anWUiMAXaGwW5fYKE99PGD WK9S7MfFclM8ObVwu4rLA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=BXty8iH86sGjeVJpAHZr6LTVu+Z8R/H5wPZlMpKoXLloy8+XcqKEtSRKEUU3TcboO L9Py1TgKCVNiXOBXS3E4Q==
Received: from qw-out-2122.google.com (qwh8.prod.google.com [10.241.194.200]) by kpbe17.cbf.corp.google.com with ESMTP id o36E54Sl024433 for <oauth@ietf.org>; Tue, 6 Apr 2010 07:05:04 -0700
Received: by qw-out-2122.google.com with SMTP id 8so1964490qwh.59 for <oauth@ietf.org>; Tue, 06 Apr 2010 07:05:04 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.194 with HTTP; Tue, 6 Apr 2010 07:04:44 -0700 (PDT)
In-Reply-To: <C7E02F03.31D50%eran@hueniverse.com>
References: <w2rc8689b661004051628q729ca3a8s4855be6d7af14a82@mail.gmail.com>  <C7E02F03.31D50%eran@hueniverse.com>
From: Evan Gilbert <uidude@google.com>
Date: Tue, 6 Apr 2010 07:04:44 -0700
Received: by 10.229.212.213 with SMTP id gt21mr7399941qcb.2.1270562704282;  Tue, 06 Apr 2010 07:05:04 -0700 (PDT)
Message-ID: <m2mc8689b661004060704se500b9f8l76cdc11f79757919@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=00163630ebbfa753ef048391ee6f
X-System-Of-Record: true
Cc: Eran Hammer-Lahav <blade@yahoo-inc.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on Web Callback & Client Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 14:05:15 -0000

--00163630ebbfa753ef048391ee6f
Content-Type: text/plain; charset=ISO-8859-1

On Tue, Apr 6, 2010 at 12:21 AM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

> Hi Evan,
>
> On 4/5/10 4:28 PM, "Evan Gilbert" <uidude@google.com> wrote:
>
> > 2.4.1 Web Callback Flow & 2.4.2 Web Client Flow
> > In both flows, the authorization server should be able redirect back to
> the
> > callback URI without interacting directly with the resource owner if
> access
> > has already been approved.  This is not ruled out in the current language
> but
> > it could be made cleaner.
> >
> > Suggested rewording - change
> >
> > "After receiving an authorization decision from the resource owner, the
> server
> > redirects the resource owner to the callback URI."
> >
> >   to
> >
> > "If the client is already approved or denied for access to the protected
> > resource, the authorization service MAY redirect the resource owner to
> the
> > callback URI immediately. If not, the authorization service SHOULD ask
> the
> > resource owner for an authorization decision and after receiving the
> > decision redirect the resource owner to the callback URI."
>
> I opted for a simpler change:
>
> 'After receiving (or establishing via other means) an authorization
> decision'
>

Sounds great


>
> > 2.4.1 Web Callback Flow & 2.4.2 Web Client Flow
> > We should have an OPTIONAL username parameter:
> > username
> >   The resource owner's username. The authorization server MUST only send
> back
> > refresh tokens or access tokens for this user.
> >
> > This is useful for clients where a user is already logged into a 3rd
> party web
> > site with a specific account, and the client wants the authorization to
> match
> > the specific user.
>
> I think introducing the concept of user identity is more complex than just
> a
> username parameter. I agree that it can be useful but we need a more
> detailed discussion about this before we add it.
>

I agree issues around user identity are complex.

Would it help to spin up a separate discussion thread on this one issue?


> > 2.4.2 Web Client Flow
> > Sending an access token as a query parameter is dangerous from a security
> > perspective - these tokens are leaked via referrers and server logs. In
> > previous WRAP discussions, it was felt that we should have a strong
> > recommendation to use the URL fragment.
> >
> > Suggested wording:
> > Client SHOULD send a callback URI with a query fragment, and
> authorization
> > server MAY reject callback URLs without a fragment for security reasons.
>
> Why not require it?


I made the assumption that someone had use cases that drove the examples in
the spec.

I would be OK with requiring it.


> EHL
>
>

--00163630ebbfa753ef048391ee6f
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Tue, Apr 6, 2010 at 12:21 AM, Eran Ha=
mmer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com">era=
n@hueniverse.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote"=
 style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Hi Evan,<br>
<div class=3D"im"><br>
On 4/5/10 4:28 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"mailto:uidude@go=
ogle.com">uidude@google.com</a>&gt; wrote:<br>
<br>
&gt; 2.4.1 Web Callback Flow &amp; 2.4.2 Web Client Flow<br>
&gt; In both flows,=A0the authorization server should be able redirect back=
 to the<br>
&gt; callback URI without interacting directly with the resource owner if a=
ccess<br>
&gt; has already been approved. =A0This is not ruled out in the current lan=
guage but<br>
&gt; it could be made cleaner.=A0<br>
&gt;<br>
&gt; Suggested rewording - change<br>
&gt;<br>
&gt; &quot;After receiving an authorization decision from the resource owne=
r, the server<br>
&gt; redirects the resource owner to the callback URI.&quot;<br>
&gt;<br>
&gt; =A0=A0to<br>
&gt;<br>
&gt; &quot;If the client is already approved or denied for access to the pr=
otected<br>
&gt; resource, the authorization service MAY redirect the resource owner to=
 the<br>
&gt; callback URI immediately. If not, the authorization service SHOULD ask=
 the<br>
&gt; resource owner for an authorization decision and after receiving the<b=
r>
&gt; decision=A0redirect the resource owner to the callback URI.&quot;<br>
<br>
</div>I opted for a simpler change:<br>
<br>
&#39;After receiving (or establishing via other means) an authorization<br>
decision&#39;<br></blockquote><div><br></div><div>Sounds great</div><div>=
=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;borde=
r-left:1px #ccc solid;padding-left:1ex;">
<div class=3D"im"><br>
&gt; 2.4.1 Web Callback Flow &amp; 2.4.2 Web Client Flow<br>
&gt; We should have an OPTIONAL username parameter:<br>
&gt; username<br>
&gt; =A0=A0The resource owner&#39;s username. The authorization server MUST=
 only send back<br>
&gt; refresh tokens or access tokens for this user.<br>
&gt;<br>
&gt; This is useful for clients where a user is already logged into a 3rd p=
arty web<br>
&gt; site with a specific account, and the client wants the authorization t=
o match<br>
&gt; the specific user.<br>
<br>
</div>I think introducing the concept of user identity is more complex than=
 just a<br>
username parameter. I agree that it can be useful but we need a more<br>
detailed discussion about this before we add it.<br></blockquote><div><br><=
/div><div>I agree issues around user identity are complex.</div><div><br></=
div><div>Would it help to spin up a separate discussion thread on this one =
issue?</div>

<div><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex=
;border-left:1px #ccc solid;padding-left:1ex;">
<div class=3D"im"><br>
&gt; 2.4.2 Web Client Flow<br>
&gt; Sending an access token as a query parameter is dangerous from a secur=
ity<br>
&gt; perspective - these tokens are leaked via referrers and server logs. I=
n<br>
&gt; previous WRAP discussions, it was felt that we should have a strong<br=
>
&gt; recommendation to use the URL fragment.<br>
&gt;<br>
&gt; Suggested wording:<br>
&gt; Client SHOULD send a callback URI with a query fragment, and authoriza=
tion<br>
&gt; server MAY reject callback URLs without a fragment for security reason=
s.<br>
<br>
</div>Why not require it?=A0</blockquote><div><br>I made the assumption tha=
t someone had use cases that drove the examples in the spec.</div><div><br>=
</div><div>I would be OK with requiring it.</div><div><br></div><blockquote=
 class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc soli=
d;padding-left:1ex;">


<font color=3D"#888888"><br>
EHL<br>
<br>
</font></blockquote></div><br>

--00163630ebbfa753ef048391ee6f--

From recordond@gmail.com  Tue Apr  6 07:53:31 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 5C09F3A6962 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 07:53:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7oud0WpT4ehf for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 07:53:30 -0700 (PDT)
Received: from mail-pz0-f191.google.com (mail-pz0-f191.google.com [209.85.222.191]) by core3.amsl.com (Postfix) with ESMTP id 7A06C3A6838 for <oauth@ietf.org>; Tue,  6 Apr 2010 07:53:30 -0700 (PDT)
Received: by pzk29 with SMTP id 29so261037pzk.29 for <oauth@ietf.org>; Tue, 06 Apr 2010 07:53:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=zcXpKZsk4EabtY2qbYFrxxcwRo2b3ZEjOMRM318P0fA=; b=ausVprBlWPlJRniEz1lxEt5BhHwzfI94dPt9aC/i6256/YcAhCd2+bl67YGZ9cuGr0 S55Z7PZitlQftoYpNJvvL2y+f+3n0SznM4wsMIbmSWt4cw/IKNii2K1Yglj7QKTNhijF dUjtK1ptGYDhp2awo51p21yJLs94ivdVZnNco=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=a8sj5I3f7wDQDd6eTsCcZROY8uTGUBDc4SGuJP5HkuNQU8lkXeaMTajRwPBQlt4f6Y bxx0BUXZObZtj22F9HnlXMb5Jn9mtygTQoai70reKBhQ1sfTT3S/OX3FA03PRra/NQ7t Vrna1kgI+uEHpB5wBJDlszznjV7P8MkM1z5+M=
MIME-Version: 1.0
Received: by 10.231.183.18 with HTTP; Tue, 6 Apr 2010 07:53:22 -0700 (PDT)
In-Reply-To: <m2mc8689b661004060704se500b9f8l76cdc11f79757919@mail.gmail.com>
References: <w2rc8689b661004051628q729ca3a8s4855be6d7af14a82@mail.gmail.com> <C7E02F03.31D50%eran@hueniverse.com> <m2mc8689b661004060704se500b9f8l76cdc11f79757919@mail.gmail.com>
Date: Tue, 6 Apr 2010 07:53:22 -0700
Received: by 10.141.91.19 with SMTP id t19mr5369369rvl.104.1270565603174; Tue,  06 Apr 2010 07:53:23 -0700 (PDT)
Message-ID: <w2vfd6741651004060753o8f56bf5ct33eb45d8fcf48ce8@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Evan Gilbert <uidude@google.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: Eran Hammer-Lahav <blade@yahoo-inc.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on Web Callback & Client Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 14:53:31 -0000

The web client flow was intended to require either a fragment or SSL
(or optionally both).


On Tue, Apr 6, 2010 at 7:04 AM, Evan Gilbert <uidude@google.com> wrote:
>
>
> On Tue, Apr 6, 2010 at 12:21 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>>
>> Hi Evan,
>>
>> On 4/5/10 4:28 PM, "Evan Gilbert" <uidude@google.com> wrote:
>>
>> > 2.4.1 Web Callback Flow & 2.4.2 Web Client Flow
>> > In both flows,=A0the authorization server should be able redirect back=
 to
>> > the
>> > callback URI without interacting directly with the resource owner if
>> > access
>> > has already been approved. =A0This is not ruled out in the current
>> > language but
>> > it could be made cleaner.
>> >
>> > Suggested rewording - change
>> >
>> > "After receiving an authorization decision from the resource owner, th=
e
>> > server
>> > redirects the resource owner to the callback URI."
>> >
>> > =A0=A0to
>> >
>> > "If the client is already approved or denied for access to the protect=
ed
>> > resource, the authorization service MAY redirect the resource owner to
>> > the
>> > callback URI immediately. If not, the authorization service SHOULD ask
>> > the
>> > resource owner for an authorization decision and after receiving the
>> > decision=A0redirect the resource owner to the callback URI."
>>
>> I opted for a simpler change:
>>
>> 'After receiving (or establishing via other means) an authorization
>> decision'
>
> Sounds great
>
>>
>> > 2.4.1 Web Callback Flow & 2.4.2 Web Client Flow
>> > We should have an OPTIONAL username parameter:
>> > username
>> > =A0=A0The resource owner's username. The authorization server MUST onl=
y send
>> > back
>> > refresh tokens or access tokens for this user.
>> >
>> > This is useful for clients where a user is already logged into a 3rd
>> > party web
>> > site with a specific account, and the client wants the authorization t=
o
>> > match
>> > the specific user.
>>
>> I think introducing the concept of user identity is more complex than ju=
st
>> a
>> username parameter. I agree that it can be useful but we need a more
>> detailed discussion about this before we add it.
>
> I agree issues around user identity are complex.
> Would it help to spin up a separate discussion thread on this one issue?
>>
>> > 2.4.2 Web Client Flow
>> > Sending an access token as a query parameter is dangerous from a
>> > security
>> > perspective - these tokens are leaked via referrers and server logs. I=
n
>> > previous WRAP discussions, it was felt that we should have a strong
>> > recommendation to use the URL fragment.
>> >
>> > Suggested wording:
>> > Client SHOULD send a callback URI with a query fragment, and
>> > authorization
>> > server MAY reject callback URLs without a fragment for security reason=
s.
>>
>> Why not require it?
>
> I made the assumption that someone had use cases that drove the examples =
in
> the spec.
> I would be OK with requiring it.
>>
>> EHL
>>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

From dick.hardt@gmail.com  Tue Apr  6 08:03:54 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 87A4B3A6946 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 08:03:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PaMoTZROiCnK for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 08:03:53 -0700 (PDT)
Received: from mail-fx0-f213.google.com (mail-fx0-f213.google.com [209.85.220.213]) by core3.amsl.com (Postfix) with ESMTP id 781BE3A685D for <oauth@ietf.org>; Tue,  6 Apr 2010 08:03:53 -0700 (PDT)
Received: by fxm5 with SMTP id 5so4160021fxm.29 for <oauth@ietf.org>; Tue, 06 Apr 2010 08:03:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=Uk6v8UeKY84ZwKaljAKA9Sy/wzj/o7qHnTSyYE6siYc=; b=uarbgqoibfrJCsFvi/ZOGrbQAifeFYerseR6CfXkfZGpNDlEbeIQmhVMfdgn18KS5Q yKysKwvqqpr35DaEa8mLWB0hHNOglfx8Wui366/zr/CgfKQIAxB3ksyz8KNpnpqNkgmM NrA31DaTlTujvdKNfl9FiKiNOsUb6imZRLEq8=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=cMYvYqz/wUpF8myC5pq89uiOCtkXgyhTrWUxKoJrtIymuPu8uEJApebhFzibKQo77P KlKuQQ/fYIOChhS89izrCzYE1/uLHM0/hs316/lK4Aj/54+9PuCFaINwggeYEokS3650 h9SzCB2jR9GqcQnmIeZ0BSRqDGjPOApRwPVZ0=
Received: by 10.87.13.6 with SMTP id q6mr10302922fgi.19.1270566226958; Tue, 06 Apr 2010 08:03:46 -0700 (PDT)
Received: from [10.10.1.129] (ip67-152-86-163.z86-152-67.customer.algx.net [67.152.86.163]) by mx.google.com with ESMTPS id 4sm15525678fge.23.2010.04.06.08.03.44 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 06 Apr 2010 08:03:45 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: Dick Hardt <dick.hardt@gmail.com>
In-Reply-To: <C7E02DDD.31D4D%eran@hueniverse.com>
Date: Tue, 6 Apr 2010 08:03:41 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <0E777AD1-500D-4FEA-BBAB-069060A40D73@gmail.com>
References: <C7E02DDD.31D4D%eran@hueniverse.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
X-Mailer: Apple Mail (2.1078)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 15:03:54 -0000

On 2010-04-06, at 12:16 AM, Eran Hammer-Lahav wrote:

>=20
>=20
>=20
> On 4/2/10 3:27 PM, "Dick Hardt" <dick.hardt@gmail.com> wrote:
>=20
>> There are times when a resource may have different scope for =
different kinds
>> of access. realm !=3D scope
>=20
> No. Realm is a subset. It is what people define as the protected =
segment
> name.

 Different Protected Resources could require the same scope, so I see =
realm and scope as being orthogonal.

> For any other scope attribute we need to first define it.

Why? Scope will often be application specific.


From lshepard@facebook.com  Tue Apr  6 08:27:28 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 99CA43A693C for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 08:27:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.264
X-Spam-Level: 
X-Spam-Status: No, score=-3.264 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id x4tX+Tf92Hqv for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 08:27:27 -0700 (PDT)
Received: from mailout-snc1.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id D65263A6921 for <oauth@ietf.org>; Tue,  6 Apr 2010 08:27:27 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.212]) by pp01.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o36FR64P015198 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Tue, 6 Apr 2010 08:27:06 -0700
Received: from sc-hub05.TheFacebook.com (192.168.18.82) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.682.1; Tue, 6 Apr 2010 08:26:16 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub05.TheFacebook.com ([192.168.18.82]) with mapi; Tue, 6 Apr 2010 08:24:32 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Date: Tue, 6 Apr 2010 08:24:30 -0700
Thread-Topic: [OAUTH-WG] Renaming expires to expires_in?
Thread-Index: AcrVnUFHfbQyCkOXQVChAWIe6+ALOQ==
Message-ID: <DD9BF2EB-0626-4FD4-B721-D31898D854AA@facebook.com>
References: <C7E02CA6.31D47%eran@hueniverse.com>
In-Reply-To: <C7E02CA6.31D47%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_DD9BF2EB06264FD4B721D31898D854AAfacebookcom_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-06_11:2010-02-06, 2010-04-06, 2010-04-06 signatures=0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Renaming expires to expires_in?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 15:27:28 -0000

--_000_DD9BF2EB06264FD4B721D31898D854AAfacebookcom_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

Just curious, where did "duration" come from?

I hate to be picky, but I feel like "expires_in" is more clear than "durati=
on" ... if only because other protocols (OAuth 1.0a, OpenID, Facebook auth)=
 use "expires".

On Apr 6, 2010, at 12:11 AM, Eran Hammer-Lahav wrote:

Changed to =91duration=92.

EHL


On 4/5/10 9:09 AM, "David Recordon" <davidrecordon@facebook.com<x-msg://353=
/davidrecordon@facebook.com>> wrote:

As one of our engineers was implementing a client, they got confused about =
what was being returned by the expires parameter. Anyone object to renaming=
 it to expires_in so that it's clear that it isn't an absolute timestamp?

Thanks,
--David
_______________________________________________
OAuth mailing list
OAuth@ietf.org<x-msg://353/OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth

<ATT00001..txt>


--_000_DD9BF2EB06264FD4B721D31898D854AAfacebookcom_
Content-Type: text/html; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

<html><head></head><body style=3D"word-wrap: break-word; -webkit-nbsp-mode:=
 space; -webkit-line-break: after-white-space; ">Just curious, where did "d=
uration" come from?<div><br></div><div>I hate to be picky, but I feel like =
"expires_in" is more clear than "duration" ... if only because other protoc=
ols (OAuth 1.0a, OpenID, Facebook auth) use "expires".</div><div><br><div><=
div>On Apr 6, 2010, at 12:11 AM, Eran Hammer-Lahav wrote:</div><br class=3D=
"Apple-interchange-newline"><blockquote type=3D"cite"><div>
<font face=3D"Calibri, Verdana, Helvetica, Arial"><span style=3D"font-size:=
11pt">Changed to =91duration=92.<br>
<br>
EHL<br>
<br>
<br>
On 4/5/10 9:09 AM, "David Recordon" &lt;<a href=3D"x-msg://353/davidrecordo=
n@facebook.com">davidrecordon@facebook.com</a>&gt; wrote:<br>
<br>
</span></font><blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial"=
><span style=3D"font-size:11pt">As one of our engineers was implementing a =
client, they got confused about what was being returned by the expires para=
meter. Anyone object to renaming it to expires_in so that it's clear that i=
t isn't an absolute timestamp?<br>
<br>
Thanks,<br>
--David<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"x-msg://353/OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><br>
<br>
</span></font></blockquote>
</div>


<span>&lt;ATT00001..txt&gt;</span></blockquote></div><br></div></body></htm=
l>=

--_000_DD9BF2EB06264FD4B721D31898D854AAfacebookcom_--

From lshepard@facebook.com  Tue Apr  6 08:32:38 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 00D023A6765 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 08:32:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.264
X-Spam-Level: 
X-Spam-Status: No, score=-3.264 tagged_above=-999 required=5 tests=[AWL=0.001,  BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Fk6vPqYPr7l4 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 08:32:37 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 9F8133A6838 for <oauth@ietf.org>; Tue,  6 Apr 2010 08:32:34 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.212]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o36FVdei008068 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Tue, 6 Apr 2010 08:31:45 -0700
Received: from sc-hub02.TheFacebook.com (192.168.18.105) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.682.1; Tue, 6 Apr 2010 08:31:32 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub02.TheFacebook.com ([192.168.18.105]) with mapi; Tue, 6 Apr 2010 08:29:32 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Dick Hardt <dick.hardt@gmail.com>
Date: Tue, 6 Apr 2010 08:29:30 -0700
Thread-Topic: [OAUTH-WG] Scope using Realm idea
Thread-Index: AcrVnfQ34LAmIKgqTI2e0H2/hyNDyA==
Message-ID: <27B54FC8-6C50-4283-89AF-6EB44A6FD006@facebook.com>
References: <C7E02DDD.31D4D%eran@hueniverse.com> <0E777AD1-500D-4FEA-BBAB-069060A40D73@gmail.com>
In-Reply-To: <0E777AD1-500D-4FEA-BBAB-069060A40D73@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-06_11:2010-02-06, 2010-04-06, 2010-04-06 signatures=0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 15:32:38 -0000

For Facebook at least, we are currently planning to use scope as a comma-se=
parated list of permissions from this set: http://wiki.developers.facebook.=
com/index.php/Extended_permissions

For instance:

	oauth_scope=3Dread_stream,email,photo_upload

I'm not sure if that maps to realm exactly.

On Apr 6, 2010, at 8:03 AM, Dick Hardt wrote:

>=20
> On 2010-04-06, at 12:16 AM, Eran Hammer-Lahav wrote:
>=20
>>=20
>>=20
>>=20
>> On 4/2/10 3:27 PM, "Dick Hardt" <dick.hardt@gmail.com> wrote:
>>=20
>>> There are times when a resource may have different scope for different =
kinds
>>> of access. realm !=3D scope
>>=20
>> No. Realm is a subset. It is what people define as the protected segment
>> name.
>=20
> Different Protected Resources could require the same scope, so I see real=
m and scope as being orthogonal.
>=20
>> For any other scope attribute we need to first define it.
>=20
> Why? Scope will often be application specific.
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From uidude@google.com  Tue Apr  6 08:46:25 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AFE5A3A68AA for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 08:46:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.976
X-Spam-Level: 
X-Spam-Status: No, score=-105.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 03yPV0eiR0QQ for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 08:46:24 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id C1C843A686A for <oauth@ietf.org>; Tue,  6 Apr 2010 08:46:22 -0700 (PDT)
Received: from wpaz29.hot.corp.google.com (wpaz29.hot.corp.google.com [172.24.198.93]) by smtp-out.google.com with ESMTP id o36FkHNx013188 for <oauth@ietf.org>; Tue, 6 Apr 2010 08:46:17 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270568777; bh=3r4R+9E+CkvDkY7eNv6zASCpSsQ=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=ZckSIzTWER6fSAqHfSSv4Qis7PCNhDE3zo69iBtHOA70Sg2u5QVMtRdcoV4DpbHfw U8iU08pgcz63y329oUP0A==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=mBNvyxs2u14YNKkjrrZ3i/dGxc4iaaas+Jtc4r76kSoDist2mckwrks80Lnk7Mg58 sWxesoYVMu5dFq0mX3+cg==
Received: from qw-out-1920.google.com (qwk4.prod.google.com [10.241.195.132]) by wpaz29.hot.corp.google.com with ESMTP id o36FkFto010500 for <oauth@ietf.org>; Tue, 6 Apr 2010 08:46:16 -0700
Received: by qw-out-1920.google.com with SMTP id 4so3332qwk.6 for <oauth@ietf.org>; Tue, 06 Apr 2010 08:46:15 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.194 with HTTP; Tue, 6 Apr 2010 08:45:53 -0700 (PDT)
In-Reply-To: <w2vfd6741651004060753o8f56bf5ct33eb45d8fcf48ce8@mail.gmail.com>
References: <w2rc8689b661004051628q729ca3a8s4855be6d7af14a82@mail.gmail.com>  <C7E02F03.31D50%eran@hueniverse.com> <m2mc8689b661004060704se500b9f8l76cdc11f79757919@mail.gmail.com> <w2vfd6741651004060753o8f56bf5ct33eb45d8fcf48ce8@mail.gmail.com>
From: Evan Gilbert <uidude@google.com>
Date: Tue, 6 Apr 2010 08:45:53 -0700
Received: by 10.229.222.12 with SMTP id ie12mr406854qcb.77.1270568775559; Tue,  06 Apr 2010 08:46:15 -0700 (PDT)
Message-ID: <z2tc8689b661004060845m3c2cd76l2937976143541604@mail.gmail.com>
To: David Recordon <recordond@gmail.com>
Content-Type: multipart/alternative; boundary=00163630fd5b87ac970483935876
X-System-Of-Record: true
Cc: Eran Hammer-Lahav <blade@yahoo-inc.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on Web Callback & Client Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 15:46:25 -0000

--00163630fd5b87ac970483935876
Content-Type: text/plain; charset=ISO-8859-1

On Tue, Apr 6, 2010 at 7:53 AM, David Recordon <recordond@gmail.com> wrote:

> The web client flow was intended to require either a fragment or SSL
> (or optionally both).
>

Even with SSL, referrer leaks seem to be a danger (I think https referrers
are still sent). Are we worried about this?


>
>
> On Tue, Apr 6, 2010 at 7:04 AM, Evan Gilbert <uidude@google.com> wrote:
> >
> >
> > On Tue, Apr 6, 2010 at 12:21 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> > wrote:
> >>
> >> Hi Evan,
> >>
> >> On 4/5/10 4:28 PM, "Evan Gilbert" <uidude@google.com> wrote:
> >>
> >> > 2.4.1 Web Callback Flow & 2.4.2 Web Client Flow
> >> > In both flows, the authorization server should be able redirect back
> to
> >> > the
> >> > callback URI without interacting directly with the resource owner if
> >> > access
> >> > has already been approved.  This is not ruled out in the current
> >> > language but
> >> > it could be made cleaner.
> >> >
> >> > Suggested rewording - change
> >> >
> >> > "After receiving an authorization decision from the resource owner,
> the
> >> > server
> >> > redirects the resource owner to the callback URI."
> >> >
> >> >   to
> >> >
> >> > "If the client is already approved or denied for access to the
> protected
> >> > resource, the authorization service MAY redirect the resource owner to
> >> > the
> >> > callback URI immediately. If not, the authorization service SHOULD ask
> >> > the
> >> > resource owner for an authorization decision and after receiving the
> >> > decision redirect the resource owner to the callback URI."
> >>
> >> I opted for a simpler change:
> >>
> >> 'After receiving (or establishing via other means) an authorization
> >> decision'
> >
> > Sounds great
> >
> >>
> >> > 2.4.1 Web Callback Flow & 2.4.2 Web Client Flow
> >> > We should have an OPTIONAL username parameter:
> >> > username
> >> >   The resource owner's username. The authorization server MUST only
> send
> >> > back
> >> > refresh tokens or access tokens for this user.
> >> >
> >> > This is useful for clients where a user is already logged into a 3rd
> >> > party web
> >> > site with a specific account, and the client wants the authorization
> to
> >> > match
> >> > the specific user.
> >>
> >> I think introducing the concept of user identity is more complex than
> just
> >> a
> >> username parameter. I agree that it can be useful but we need a more
> >> detailed discussion about this before we add it.
> >
> > I agree issues around user identity are complex.
> > Would it help to spin up a separate discussion thread on this one issue?
> >>
> >> > 2.4.2 Web Client Flow
> >> > Sending an access token as a query parameter is dangerous from a
> >> > security
> >> > perspective - these tokens are leaked via referrers and server logs.
> In
> >> > previous WRAP discussions, it was felt that we should have a strong
> >> > recommendation to use the URL fragment.
> >> >
> >> > Suggested wording:
> >> > Client SHOULD send a callback URI with a query fragment, and
> >> > authorization
> >> > server MAY reject callback URLs without a fragment for security
> reasons.
> >>
> >> Why not require it?
> >
> > I made the assumption that someone had use cases that drove the examples
> in
> > the spec.
> > I would be OK with requiring it.
> >>
> >> EHL
> >>
> >
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> >
> >
>

--00163630fd5b87ac970483935876
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Tue, Apr 6, 2010 at 7:53 AM, David Re=
cordon <span dir=3D"ltr">&lt;<a href=3D"mailto:recordond@gmail.com" target=
=3D"_blank">recordond@gmail.com</a>&gt;</span> wrote:<br><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex">


The web client flow was intended to require either a fragment or SSL<br>
(or optionally both).<br></blockquote><div><br></div><div>Even with SSL, re=
ferrer leaks seem to be a danger (I think https referrers are still sent). =
Are we worried about this?</div><div>=A0</div><blockquote class=3D"gmail_qu=
ote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex=
">



<div><div></div><div><br>
<br>
On Tue, Apr 6, 2010 at 7:04 AM, Evan Gilbert &lt;<a href=3D"mailto:uidude@g=
oogle.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
&gt;<br>
&gt;<br>
&gt; On Tue, Apr 6, 2010 at 12:21 AM, Eran Hammer-Lahav &lt;<a href=3D"mail=
to:eran@hueniverse.com" target=3D"_blank">eran@hueniverse.com</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hi Evan,<br>
&gt;&gt;<br>
&gt;&gt; On 4/5/10 4:28 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"mailto:=
uidude@google.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; &gt; 2.4.1 Web Callback Flow &amp; 2.4.2 Web Client Flow<br>
&gt;&gt; &gt; In both flows,=A0the authorization server should be able redi=
rect back to<br>
&gt;&gt; &gt; the<br>
&gt;&gt; &gt; callback URI without interacting directly with the resource o=
wner if<br>
&gt;&gt; &gt; access<br>
&gt;&gt; &gt; has already been approved. =A0This is not ruled out in the cu=
rrent<br>
&gt;&gt; &gt; language but<br>
&gt;&gt; &gt; it could be made cleaner.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Suggested rewording - change<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; &quot;After receiving an authorization decision from the reso=
urce owner, the<br>
&gt;&gt; &gt; server<br>
&gt;&gt; &gt; redirects the resource owner to the callback URI.&quot;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; =A0=A0to<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; &quot;If the client is already approved or denied for access =
to the protected<br>
&gt;&gt; &gt; resource, the authorization service MAY redirect the resource=
 owner to<br>
&gt;&gt; &gt; the<br>
&gt;&gt; &gt; callback URI immediately. If not, the authorization service S=
HOULD ask<br>
&gt;&gt; &gt; the<br>
&gt;&gt; &gt; resource owner for an authorization decision and after receiv=
ing the<br>
&gt;&gt; &gt; decision=A0redirect the resource owner to the callback URI.&q=
uot;<br>
&gt;&gt;<br>
&gt;&gt; I opted for a simpler change:<br>
&gt;&gt;<br>
&gt;&gt; &#39;After receiving (or establishing via other means) an authoriz=
ation<br>
&gt;&gt; decision&#39;<br>
&gt;<br>
&gt; Sounds great<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; &gt; 2.4.1 Web Callback Flow &amp; 2.4.2 Web Client Flow<br>
&gt;&gt; &gt; We should have an OPTIONAL username parameter:<br>
&gt;&gt; &gt; username<br>
&gt;&gt; &gt; =A0=A0The resource owner&#39;s username. The authorization se=
rver MUST only send<br>
&gt;&gt; &gt; back<br>
&gt;&gt; &gt; refresh tokens or access tokens for this user.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; This is useful for clients where a user is already logged int=
o a 3rd<br>
&gt;&gt; &gt; party web<br>
&gt;&gt; &gt; site with a specific account, and the client wants the author=
ization to<br>
&gt;&gt; &gt; match<br>
&gt;&gt; &gt; the specific user.<br>
&gt;&gt;<br>
&gt;&gt; I think introducing the concept of user identity is more complex t=
han just<br>
&gt;&gt; a<br>
&gt;&gt; username parameter. I agree that it can be useful but we need a mo=
re<br>
&gt;&gt; detailed discussion about this before we add it.<br>
&gt;<br>
&gt; I agree issues around user identity are complex.<br>
&gt; Would it help to spin up a separate discussion thread on this one issu=
e?<br>
&gt;&gt;<br>
&gt;&gt; &gt; 2.4.2 Web Client Flow<br>
&gt;&gt; &gt; Sending an access token as a query parameter is dangerous fro=
m a<br>
&gt;&gt; &gt; security<br>
&gt;&gt; &gt; perspective - these tokens are leaked via referrers and serve=
r logs. In<br>
&gt;&gt; &gt; previous WRAP discussions, it was felt that we should have a =
strong<br>
&gt;&gt; &gt; recommendation to use the URL fragment.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Suggested wording:<br>
&gt;&gt; &gt; Client SHOULD send a callback URI with a query fragment, and<=
br>
&gt;&gt; &gt; authorization<br>
&gt;&gt; &gt; server MAY reject callback URLs without a fragment for securi=
ty reasons.<br>
&gt;&gt;<br>
&gt;&gt; Why not require it?<br>
&gt;<br>
&gt; I made the assumption that someone had use cases that drove the exampl=
es in<br>
&gt; the spec.<br>
&gt; I would be OK with requiring it.<br>
&gt;&gt;<br>
&gt;&gt; EHL<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a>=
<br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_bla=
nk">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;<br>
&gt;<br>
</blockquote></div><br>

--00163630fd5b87ac970483935876--

From torsten@lodderstedt.net  Tue Apr  6 10:00:50 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9AD0F28C0DB for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 10:00:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.351
X-Spam-Level: 
X-Spam-Status: No, score=0.351 tagged_above=-999 required=5 tests=[BAYES_50=0.001, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1b4sVnDHF-9i for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 10:00:49 -0700 (PDT)
Received: from smtprelay03.ispgateway.de (smtprelay03.ispgateway.de [80.67.18.15]) by core3.amsl.com (Postfix) with ESMTP id 8A4EE3A67E7 for <oauth@ietf.org>; Tue,  6 Apr 2010 10:00:49 -0700 (PDT)
Received: from p4fff04d5.dip.t-dialin.net ([79.255.4.213] helo=[127.0.0.1]) by smtprelay03.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1NzC8r-0003fw-Sh for oauth@ietf.org; Tue, 06 Apr 2010 19:00:46 +0200
Message-ID: <4BBB68BB.4010206@lodderstedt.net>
Date: Tue, 06 Apr 2010 19:00:43 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: oauth@ietf.org
References: <w2rc8689b661004051628q729ca3a8s4855be6d7af14a82@mail.gmail.com> <C7E02F03.31D50%eran@hueniverse.com>	<m2mc8689b661004060704se500b9f8l76cdc11f79757919@mail.gmail.com>	<w2vfd6741651004060753o8f56bf5ct33eb45d8fcf48ce8@mail.gmail.com> <z2tc8689b661004060845m3c2cd76l2937976143541604@mail.gmail.com>
In-Reply-To: <z2tc8689b661004060845m3c2cd76l2937976143541604@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Subject: [OAUTH-WG] Access Token Exchange Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 17:00:50 -0000

Hi all,

here at Deutsche Telekom, we see the need for a flow supporting the 
exchange of access tokens for one service into access tokens for another 
service.

The scenarios is as follows: In the context of mobile applications, we 
employ multi-layered architectures of personalized web services. The 
first layer typically exposes an API optimized for the flows of a 
particular application. This layer's business logic is built on top of 
other web services and so on. We use self-contained bearer tokens 
carrying id's, attributes and permissions. Each of the web services 
involed has a trust relationship with our authorization server based on 
shared secrets. Every web service requires a different token with 
different claims (id, permissions, attributes) and signature (HMAC).

The flow is as follows:

1) The client acquires a token for the first service eather by 
username/password authentication or web-based authorization flow.

2) The client sends a request (including the access token) to the first 
web service.

3) Access control and some business logic is executed based on the token 
contents. Afterwards, the first service determines that it needs
to call another services (second web service) on behalf of the user.

4) It requests the issuance of a new token for the second service from 
the authorization server based on the original token sent by the client.

5) The authorization server issues a new token carrying the claims need 
by the second web service and digitally signs the token
with the respective shared secret. It also encrypts the token content in 
order to prevent the first web service from eavesdropping the users data 
intended for the second service only.

6) The first web service uses the token to invoke the second web service.

...

Does anyone else see the need for such a flow?

regards,
Torsten.


From recordond@gmail.com  Tue Apr  6 11:17:51 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7E89E28C168 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 11:17:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id T0Ru5tLEkfBc for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 11:17:49 -0700 (PDT)
Received: from mail-pv0-f172.google.com (mail-pv0-f172.google.com [74.125.83.172]) by core3.amsl.com (Postfix) with ESMTP id F1ADB28C10F for <oauth@ietf.org>; Tue,  6 Apr 2010 11:14:41 -0700 (PDT)
Received: by pvd12 with SMTP id 12so133580pvd.31 for <oauth@ietf.org>; Tue, 06 Apr 2010 11:14:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:references:message-id:from:to :in-reply-to:content-type:content-transfer-encoding:x-mailer :mime-version:subject:date:cc; bh=SiNkKfaDdFvi98TJAOoMZKBB5DDitYRcRADzwwpl630=; b=t2RVCdzWOGeD24uK4R8oVmk1Okt5JcllzOT9LsbS9R5Ec7KTts/fTrqrKq2CUAu2yd csG1Fjs3z/20Wt2v0XRmKUW2oJ7XqW9fxGr/LKPNWXR4jQRA6JHhon8ItfzK5W18szOm aXFmbwlmV6uChC+UwMxGKXnjXJRmvQg8qQvgk=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=references:message-id:from:to:in-reply-to:content-type :content-transfer-encoding:x-mailer:mime-version:subject:date:cc; b=GhfRY9pvCDivwVDInHWF+sUGq5aoHlvkxHI4RTMF67jUDzh3UnTkAB7905GyyY+Itw OgWt0EA4JkO1C8HpwLCmqCcaIGS9p5uWDedg/aH5m9BtHzYMK80uPBL2g/t5G4FKNj51 yJEtTs7pDDHXOIoAO/vFQaedesOY8AuB7AMQc=
Received: by 10.141.13.6 with SMTP id q6mr5837613rvi.196.1270577676534; Tue, 06 Apr 2010 11:14:36 -0700 (PDT)
Received: from [10.39.142.115] ([205.248.100.252]) by mx.google.com with ESMTPS id 22sm707306pzk.13.2010.04.06.11.14.35 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 06 Apr 2010 11:14:35 -0700 (PDT)
References: <w2rc8689b661004051628q729ca3a8s4855be6d7af14a82@mail.gmail.com> <C7E02F03.31D50%eran@hueniverse.com> <m2mc8689b661004060704se500b9f8l76cdc11f79757919@mail.gmail.com> <w2vfd6741651004060753o8f56bf5ct33eb45d8fcf48ce8@mail.gmail.com> <z2tc8689b661004060845m3c2cd76l2937976143541604@mail.gmail.com>
Message-Id: <2EB1540C-6B2C-4053-8153-545E80A90968@gmail.com>
From: David Recordon <recordond@gmail.com>
To: Evan Gilbert <uidude@google.com>
In-Reply-To: <z2tc8689b661004060845m3c2cd76l2937976143541604@mail.gmail.com>
Content-Type: multipart/alternative; boundary=Apple-Mail-27-212729298
Content-Transfer-Encoding: 7bit
X-Mailer: iPad Mail (7B367)
Mime-Version: 1.0 (iPad Mail 7B367)
Date: Tue, 6 Apr 2010 11:15:04 -0700
Cc: Eran Hammer-Lahav <blade@yahoo-inc.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on Web Callback & Client Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 18:17:51 -0000

--Apple-Mail-27-212729298
Content-Type: text/plain;
	charset=us-ascii
Content-Transfer-Encoding: quoted-printable

There is potential for leakage if the client then redirects the user to =
another SSL URL. This doesn't feel like a common pattern and the client =
would generally be redirecting to a page which they control after =
receiving the access token.

=46rom 15.1.3 of RFC 2616:
Clients SHOULD NOT include a Referer header field in a (non-secure) HTTP =
request if the referring page was transferred with a secure protocol.


On Apr 6, 2010, at 8:45 AM, Evan Gilbert <uidude@google.com> wrote:

>=20
>=20
> On Tue, Apr 6, 2010 at 7:53 AM, David Recordon <recordond@gmail.com> =
wrote:
> The web client flow was intended to require either a fragment or SSL
> (or optionally both).
>=20
> Even with SSL, referrer leaks seem to be a danger (I think https =
referrers are still sent). Are we worried about this?
> =20
>=20
>=20
> On Tue, Apr 6, 2010 at 7:04 AM, Evan Gilbert <uidude@google.com> =
wrote:
> >
> >
> > On Tue, Apr 6, 2010 at 12:21 AM, Eran Hammer-Lahav =
<eran@hueniverse.com>
> > wrote:
> >>
> >> Hi Evan,
> >>
> >> On 4/5/10 4:28 PM, "Evan Gilbert" <uidude@google.com> wrote:
> >>
> >> > 2.4.1 Web Callback Flow & 2.4.2 Web Client Flow
> >> > In both flows, the authorization server should be able redirect =
back to
> >> > the
> >> > callback URI without interacting directly with the resource owner =
if
> >> > access
> >> > has already been approved.  This is not ruled out in the current
> >> > language but
> >> > it could be made cleaner.
> >> >
> >> > Suggested rewording - change
> >> >
> >> > "After receiving an authorization decision from the resource =
owner, the
> >> > server
> >> > redirects the resource owner to the callback URI."
> >> >
> >> >   to
> >> >
> >> > "If the client is already approved or denied for access to the =
protected
> >> > resource, the authorization service MAY redirect the resource =
owner to
> >> > the
> >> > callback URI immediately. If not, the authorization service =
SHOULD ask
> >> > the
> >> > resource owner for an authorization decision and after receiving =
the
> >> > decision redirect the resource owner to the callback URI."
> >>
> >> I opted for a simpler change:
> >>
> >> 'After receiving (or establishing via other means) an authorization
> >> decision'
> >
> > Sounds great
> >
> >>
> >> > 2.4.1 Web Callback Flow & 2.4.2 Web Client Flow
> >> > We should have an OPTIONAL username parameter:
> >> > username
> >> >   The resource owner's username. The authorization server MUST =
only send
> >> > back
> >> > refresh tokens or access tokens for this user.
> >> >
> >> > This is useful for clients where a user is already logged into a =
3rd
> >> > party web
> >> > site with a specific account, and the client wants the =
authorization to
> >> > match
> >> > the specific user.
> >>
> >> I think introducing the concept of user identity is more complex =
than just
> >> a
> >> username parameter. I agree that it can be useful but we need a =
more
> >> detailed discussion about this before we add it.
> >
> > I agree issues around user identity are complex.
> > Would it help to spin up a separate discussion thread on this one =
issue?
> >>
> >> > 2.4.2 Web Client Flow
> >> > Sending an access token as a query parameter is dangerous from a
> >> > security
> >> > perspective - these tokens are leaked via referrers and server =
logs. In
> >> > previous WRAP discussions, it was felt that we should have a =
strong
> >> > recommendation to use the URL fragment.
> >> >
> >> > Suggested wording:
> >> > Client SHOULD send a callback URI with a query fragment, and
> >> > authorization
> >> > server MAY reject callback URLs without a fragment for security =
reasons.
> >>
> >> Why not require it?
> >
> > I made the assumption that someone had use cases that drove the =
examples in
> > the spec.
> > I would be OK with requiring it.
> >>
> >> EHL
> >>
> >
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> >
> >
>=20

--Apple-Mail-27-212729298
Content-Type: text/html;
	charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html><body bgcolor=3D"#FFFFFF"><div>There is potential for leakage if =
the client then redirects the user to another SSL URL. This doesn't feel =
like a common pattern and the client would generally be redirecting to a =
page which they control after receiving the access =
token.</div><div><br></div><div>=46rom 15.1.3 of RFC =
2616:</div><div><span class=3D"Apple-style-span" style=3D"font-family: =
Times; font-size: medium; -webkit-tap-highlight-color: rgba(26, 26, 26, =
0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, =
0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, =
0.230469); ">Clients SHOULD NOT include a Referer header field in a =
(non-secure) HTTP request if the referring page was transferred with a =
secure protocol.</span></div><div><span class=3D"Apple-style-span" =
style=3D"-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); =
-webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); =
-webkit-composition-frame-color: rgba(77, 128, 180, 0.230469);"><font =
class=3D"Apple-style-span" face=3D"Times"><span class=3D"Apple-style-span"=
 style=3D"font-size: medium; -webkit-tap-highlight-color: rgba(26, 26, =
26, 0.285156); -webkit-composition-fill-color: rgba(175, 192, 227, =
0.21875); -webkit-composition-frame-color: rgba(77, 128, 180, =
0.21875);"><br></span></font></span></div><div><br>On Apr 6, 2010, at =
8:45 AM, Evan Gilbert &lt;<a =
href=3D"mailto:uidude@google.com">uidude@google.com</a>&gt; =
wrote:<br><br></div><div></div><blockquote type=3D"cite"><div><br><br><div=
 class=3D"gmail_quote">On Tue, Apr 6, 2010 at 7:53 AM, David Recordon =
<span dir=3D"ltr">&lt;<a href=3D"mailto:recordond@gmail.com" =
target=3D"_blank"><a =
href=3D"mailto:recordond@gmail.com">recordond@gmail.com</a></a>&gt;</span>=
 wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 =
.8ex;border-left:1px #ccc solid;padding-left:1ex">


The web client flow was intended to require either a fragment or SSL<br>
(or optionally both).<br></blockquote><div><br></div><div>Even with SSL, =
referrer leaks seem to be a danger (I think https referrers are still =
sent). Are we worried about this?</div><div>&nbsp;</div><blockquote =
class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex">



<div><div></div><div><br>
<br>
On Tue, Apr 6, 2010 at 7:04 AM, Evan Gilbert &lt;<a =
href=3D"mailto:uidude@google.com" target=3D"_blank"><a =
href=3D"mailto:uidude@google.com">uidude@google.com</a></a>&gt; =
wrote:<br>
&gt;<br>
&gt;<br>
&gt; On Tue, Apr 6, 2010 at 12:21 AM, Eran Hammer-Lahav &lt;<a =
href=3D"mailto:eran@hueniverse.com" target=3D"_blank"><a =
href=3D"mailto:eran@hueniverse.com">eran@hueniverse.com</a></a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hi Evan,<br>
&gt;&gt;<br>
&gt;&gt; On 4/5/10 4:28 PM, "Evan Gilbert" &lt;<a =
href=3D"mailto:uidude@google.com" target=3D"_blank"><a =
href=3D"mailto:uidude@google.com">uidude@google.com</a></a>&gt; =
wrote:<br>
&gt;&gt;<br>
&gt;&gt; &gt; 2.4.1 Web Callback Flow &amp; 2.4.2 Web Client Flow<br>
&gt;&gt; &gt; In both flows,&nbsp;the authorization server should be =
able redirect back to<br>
&gt;&gt; &gt; the<br>
&gt;&gt; &gt; callback URI without interacting directly with the =
resource owner if<br>
&gt;&gt; &gt; access<br>
&gt;&gt; &gt; has already been approved. &nbsp;This is not ruled out in =
the current<br>
&gt;&gt; &gt; language but<br>
&gt;&gt; &gt; it could be made cleaner.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Suggested rewording - change<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; "After receiving an authorization decision from the =
resource owner, the<br>
&gt;&gt; &gt; server<br>
&gt;&gt; &gt; redirects the resource owner to the callback URI."<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; &nbsp;&nbsp;to<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; "If the client is already approved or denied for access to =
the protected<br>
&gt;&gt; &gt; resource, the authorization service MAY redirect the =
resource owner to<br>
&gt;&gt; &gt; the<br>
&gt;&gt; &gt; callback URI immediately. If not, the authorization =
service SHOULD ask<br>
&gt;&gt; &gt; the<br>
&gt;&gt; &gt; resource owner for an authorization decision and after =
receiving the<br>
&gt;&gt; &gt; decision&nbsp;redirect the resource owner to the callback =
URI."<br>
&gt;&gt;<br>
&gt;&gt; I opted for a simpler change:<br>
&gt;&gt;<br>
&gt;&gt; 'After receiving (or establishing via other means) an =
authorization<br>
&gt;&gt; decision'<br>
&gt;<br>
&gt; Sounds great<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; &gt; 2.4.1 Web Callback Flow &amp; 2.4.2 Web Client Flow<br>
&gt;&gt; &gt; We should have an OPTIONAL username parameter:<br>
&gt;&gt; &gt; username<br>
&gt;&gt; &gt; &nbsp;&nbsp;The resource owner's username. The =
authorization server MUST only send<br>
&gt;&gt; &gt; back<br>
&gt;&gt; &gt; refresh tokens or access tokens for this user.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; This is useful for clients where a user is already logged =
into a 3rd<br>
&gt;&gt; &gt; party web<br>
&gt;&gt; &gt; site with a specific account, and the client wants the =
authorization to<br>
&gt;&gt; &gt; match<br>
&gt;&gt; &gt; the specific user.<br>
&gt;&gt;<br>
&gt;&gt; I think introducing the concept of user identity is more =
complex than just<br>
&gt;&gt; a<br>
&gt;&gt; username parameter. I agree that it can be useful but we need a =
more<br>
&gt;&gt; detailed discussion about this before we add it.<br>
&gt;<br>
&gt; I agree issues around user identity are complex.<br>
&gt; Would it help to spin up a separate discussion thread on this one =
issue?<br>
&gt;&gt;<br>
&gt;&gt; &gt; 2.4.2 Web Client Flow<br>
&gt;&gt; &gt; Sending an access token as a query parameter is dangerous =
from a<br>
&gt;&gt; &gt; security<br>
&gt;&gt; &gt; perspective - these tokens are leaked via referrers and =
server logs. In<br>
&gt;&gt; &gt; previous WRAP discussions, it was felt that we should have =
a strong<br>
&gt;&gt; &gt; recommendation to use the URL fragment.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Suggested wording:<br>
&gt;&gt; &gt; Client SHOULD send a callback URI with a query fragment, =
and<br>
&gt;&gt; &gt; authorization<br>
&gt;&gt; &gt; server MAY reject callback URLs without a fragment for =
security reasons.<br>
&gt;&gt;<br>
&gt;&gt; Why not require it?<br>
&gt;<br>
&gt; I made the assumption that someone had use cases that drove the =
examples in<br>
&gt; the spec.<br>
&gt; I would be OK with requiring it.<br>
&gt;&gt;<br>
&gt;&gt; EHL<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a href=3D"mailto:OAuth@ietf.org" target=3D"_blank"><a =
href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a></a><br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" =
target=3D"_blank"><a =
href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/=
mailman/listinfo/oauth</a></a><br>
&gt;<br>
&gt;<br>
</blockquote></div><br>
</div></blockquote></body></html>=

--Apple-Mail-27-212729298--

From atom@yahoo-inc.com  Tue Apr  6 11:34:15 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1088228C151 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 11:34:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -13.602
X-Spam-Level: 
X-Spam-Status: No, score=-13.602 tagged_above=-999 required=5 tests=[BAYES_50=0.001, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=1.396, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0nNRXTjeBXY6 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 11:34:10 -0700 (PDT)
Received: from mrout2.yahoo.com (mrout2.yahoo.com [216.145.54.172]) by core3.amsl.com (Postfix) with ESMTP id 356F93A6976 for <oauth@ietf.org>; Tue,  6 Apr 2010 11:27:50 -0700 (PDT)
Received: from SNV-EXPF01.ds.corp.yahoo.com (snv-expf01.ds.corp.yahoo.com [207.126.227.250]) by mrout2.yahoo.com (8.13.6/8.13.6/y.out) with ESMTP id o36IRQ44009417 for <oauth@ietf.org>; Tue, 6 Apr 2010 11:27:26 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:message-id: thread-topic:thread-index:mime-version:content-type:x-originalarrivaltime; b=YKc+z2hqusOFBsBtDGtJwu8Dz32O1BGOC8zGr7p64o7gAj/wMzTKkQUPV8dwekde
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXPF01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.3959);  Tue, 6 Apr 2010 11:27:26 -0700
Received: from 10.72.244.202 ([10.72.244.202]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.60]) with Microsoft Exchange Server HTTP-DAV ; Tue,  6 Apr 2010 18:26:40 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Tue, 06 Apr 2010 11:26:39 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: "oauth@ietf.org" <oauth@ietf.org>
Message-ID: <C7E0CAEF.29FA4%atom@yahoo-inc.com>
Thread-Topic: HTTPS requirement for using an Access Token without signatures
Thread-Index: AcrVtrKPc2+a+5PkjUWcdom/sx3EFA==
Mime-version: 1.0
Content-type: multipart/alternative; boundary="B_3353398000_386279"
X-OriginalArrivalTime: 06 Apr 2010 18:27:26.0328 (UTC) FILETIME=[CEC54780:01CAD5B6]
Subject: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 18:34:15 -0000

> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3353398000_386279
Content-type: text/plain;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

One of the biggest differences between OAuth2 and WRAP is that OAuth2
requires that Protected Resources be accessed using HTTPS if no signature i=
s
being used. Bullet Point #2 in Section 1.2 says:

=A0=A0=A04.  Don't allow bearer tokens without either SSL and/or signatures.
=A0=A0=A0=A0=A0=A0=A0While some providers may offer this ability, they should be out
=A0=A0=A0=A0=A0=A0=A0of spec for doing so though technically it won't break the flows.

While I personally think that requiring SSL is a fantastic idea, and it=B9s
very hard for me to argue against it, however....

One of the goals for WRAP was to define a standard AuthZ interface for APIs
which matched what we currently have on the Web. WRAP protected APIs are
intended to be a replacement for screen scraping.

On the web, almost all websites implement Cookie Auth. Specifically, when
you log into a website, the browser is issued a bearer token, called a
Cookie, and the browser is able to access Protected Resources by using the
Cookie as the credential.

The WRAP access token is intended to be a direct replacement for the HTTP
Cookie. A client should be able to present its bearer token (a WRAP Access
Token or an HTTP Cookie) without having to sign the request.

While I certainly think that requiring SSL would be a huge improvement in
internet security, HTTP does not require SSL, and since WRAP was intended t=
o
be a replacement for HTTP Cookie Auth, then OAuth2 should also not require
HTTPS.

Yes, dropping the SSL requirement isn=B9t optimal, but again the intent with
WRAP was to replace HTTP Cookie auth, and it should be up to the service
provider to require HTTPS when applicable.

Allen


--B_3353398000_386279
Content-type: text/html;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>HTTPS requirement for using an Access Token without signatures</TITL=
E>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:11pt=
'>One of the biggest differences between OAuth2 and WRAP is that OAuth2 requ=
ires that Protected Resources be accessed using HTTPS if no signature is bei=
ng used. Bullet Point #2 in Section 1.2 says:<BR>
<BR>
=A0=A0=A04. &nbsp;Don't allow bearer tokens without either SSL and/or signatures.=
<BR>
=A0=A0=A0=A0=A0=A0=A0While some providers may offer this ability, they should be out<BR>
=A0=A0=A0=A0=A0=A0=A0of spec for doing so though technically it won't break the flows.<BR=
>
<BR>
While I personally think that requiring SSL is a fantastic idea, and it&#82=
17;s very hard for me to argue against it, however....<BR>
<BR>
One of the goals for WRAP was to define a standard AuthZ interface for APIs=
 which matched what we currently have on the Web. WRAP protected APIs are in=
tended to be a replacement for screen scraping.<BR>
<BR>
On the web, almost all websites implement Cookie Auth. Specifically, when y=
ou log into a website, the browser is issued a bearer token, called a Cookie=
, and the browser is able to access Protected Resources by using the Cookie =
as the credential. <BR>
<BR>
The WRAP access token is intended to be a direct replacement for the HTTP C=
ookie. A client should be able to present its bearer token (a WRAP Access To=
ken or an HTTP Cookie) without having to sign the request.<BR>
<BR>
While I certainly think that requiring SSL would be a huge improvement in i=
nternet security, HTTP does not require SSL, and since WRAP was intended to =
be a replacement for HTTP Cookie Auth, then OAuth2 should also not require H=
TTPS.<BR>
<BR>
Yes, dropping the SSL requirement isn&#8217;t optimal, but again the intent=
 with WRAP was to replace HTTP Cookie auth, and it should be up to the servi=
ce provider to require HTTPS when applicable. <BR>
<BR>
Allen<BR>
</SPAN></FONT>
</BODY>
</HTML>


--B_3353398000_386279--


From uidude@google.com  Tue Apr  6 11:44:22 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1F5F928C0D6 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 11:44:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.046
X-Spam-Level: 
X-Spam-Status: No, score=-105.046 tagged_above=-999 required=5 tests=[AWL=-0.929, BAYES_20=-0.74, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oGgKWtFdATuX for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 11:44:21 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id AE2AA3A69EC for <oauth@ietf.org>; Tue,  6 Apr 2010 11:42:55 -0700 (PDT)
Received: from hpaq14.eem.corp.google.com (hpaq14.eem.corp.google.com [10.3.21.14]) by smtp-out.google.com with ESMTP id o36IgpCI031553 for <oauth@ietf.org>; Tue, 6 Apr 2010 11:42:52 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270579372; bh=4/xGyX4kuIzk0M1ivWwAyWcsCFY=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=YQB5RhOKNU072lZxptu/7Ln8r2yv+UDjQg5NZS3B9uhbH86hb9qHKChJ06MTFhXvR JTtnQ3CoxZ0Qj0qe8+PQg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=JOPUNBjiJ30tJ3iE54THtl0dybFSjwJdtYg0E56+HXRpvB8TXMJcQru5zFfEkSX6N Jzdi7mzV5nWz1S8CjIrSA==
Received: from qw-out-2122.google.com (qwb9.prod.google.com [10.241.193.73]) by hpaq14.eem.corp.google.com with ESMTP id o36IgoVH002657 for <oauth@ietf.org>; Tue, 6 Apr 2010 20:42:50 +0200
Received: by qw-out-2122.google.com with SMTP id 9so68197qwb.57 for <oauth@ietf.org>; Tue, 06 Apr 2010 11:42:49 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.194 with HTTP; Tue, 6 Apr 2010 11:42:29 -0700 (PDT)
In-Reply-To: <C7E0CAEF.29FA4%atom@yahoo-inc.com>
References: <C7E0CAEF.29FA4%atom@yahoo-inc.com>
From: Evan Gilbert <uidude@google.com>
Date: Tue, 6 Apr 2010 11:42:29 -0700
Received: by 10.229.189.212 with SMTP id df20mr5347815qcb.21.1270579369335;  Tue, 06 Apr 2010 11:42:49 -0700 (PDT)
Message-ID: <q2ic8689b661004061142n506903b9r620c73d1b3ddf651@mail.gmail.com>
To: Allen Tom <atom@yahoo-inc.com>
Content-Type: multipart/alternative; boundary=0016362849bef7dba4048395cfa3
X-System-Of-Record: true
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 18:44:22 -0000

--0016362849bef7dba4048395cfa3
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

On Tue, Apr 6, 2010 at 11:26 AM, Allen Tom <atom@yahoo-inc.com> wrote:

>  One of the biggest differences between OAuth2 and WRAP is that OAuth2
> requires that Protected Resources be accessed using HTTPS if no signature=
 is
> being used. Bullet Point #2 in Section 1.2 says:
>
>    4.  Don't allow bearer tokens without either SSL and/or signatures.
>        While some providers may offer this ability, they should be out
>        of spec for doing so though technically it won't break the flows.
>
> While I personally think that requiring SSL is a fantastic idea, and it=
=92s
> very hard for me to argue against it, however....
>
> One of the goals for WRAP was to define a standard AuthZ interface for AP=
Is
> which matched what we currently have on the Web. WRAP protected APIs are
> intended to be a replacement for screen scraping.
>
> On the web, almost all websites implement Cookie Auth. Specifically, when
> you log into a website, the browser is issued a bearer token, called a
> Cookie, and the browser is able to access Protected Resources by using th=
e
> Cookie as the credential.
>
> The WRAP access token is intended to be a direct replacement for the HTTP
> Cookie. A client should be able to present its bearer token (a WRAP Acces=
s
> Token or an HTTP Cookie) without having to sign the request.
>
> While I certainly think that requiring SSL would be a huge improvement in
> internet security, HTTP does not require SSL, and since WRAP was intended=
 to
> be a replacement for HTTP Cookie Auth, then OAuth2 should also not requir=
e
> HTTPS.
>
> Yes, dropping the SSL requirement isn=92t optimal, but again the intent w=
ith
> WRAP was to replace HTTP Cookie auth, and it should be up to the service
> provider to require HTTPS when applicable.
>

I tend to agree that this is a SHOULD and not a MUST. There is a wide range
of types of protected resources, and many of these resources are already
available over HTTP connections. It probably should be a choice by the
authorization endpoint whether to allow non-HTTPS access.


> Allen
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

--0016362849bef7dba4048395cfa3
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Tue, Apr 6, 2010 at 11:26 AM, Allen T=
om <span dir=3D"ltr">&lt;<a href=3D"mailto:atom@yahoo-inc.com" target=3D"_b=
lank">atom@yahoo-inc.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmai=
l_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left=
:1ex">






<div>
<font face=3D"Calibri, Verdana, Helvetica, Arial"><span style=3D"font-size:=
11pt">One of the biggest differences between OAuth2 and WRAP is that OAuth2=
 requires that Protected Resources be accessed using HTTPS if no signature =
is being used. Bullet Point #2 in Section 1.2 says:<br>



<br>
=A0=A0=A04. =A0Don&#39;t allow bearer tokens without either SSL and/or sign=
atures.<br>
=A0=A0=A0=A0=A0=A0=A0While some providers may offer this ability, they shou=
ld be out<br>
=A0=A0=A0=A0=A0=A0=A0of spec for doing so though technically it won&#39;t b=
reak the flows.<br>
<br>
While I personally think that requiring SSL is a fantastic idea, and it=92s=
 very hard for me to argue against it, however....<br>
<br>
One of the goals for WRAP was to define a standard AuthZ interface for APIs=
 which matched what we currently have on the Web. WRAP protected APIs are i=
ntended to be a replacement for screen scraping.<br>
<br>
On the web, almost all websites implement Cookie Auth. Specifically, when y=
ou log into a website, the browser is issued a bearer token, called a Cooki=
e, and the browser is able to access Protected Resources by using the Cooki=
e as the credential. <br>



<br>
The WRAP access token is intended to be a direct replacement for the HTTP C=
ookie. A client should be able to present its bearer token (a WRAP Access T=
oken or an HTTP Cookie) without having to sign the request.<br>
<br>
While I certainly think that requiring SSL would be a huge improvement in i=
nternet security, HTTP does not require SSL, and since WRAP was intended to=
 be a replacement for HTTP Cookie Auth, then OAuth2 should also not require=
 HTTPS.<br>



<br>
Yes, dropping the SSL requirement isn=92t optimal, but again the intent wit=
h WRAP was to replace HTTP Cookie auth, and it should be up to the service =
provider to require HTTPS when applicable. <br></span></font></div></blockq=
uote>


<div><br></div><div>I tend to agree that this is a SHOULD and not a MUST. T=
here is a wide range of types of protected resources, and many of these res=
ources are already available over HTTP connections. It probably should be a=
 choice by the authorization endpoint whether to allow non-HTTPS access.</d=
iv>


<div><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex=
;border-left:1px #ccc solid;padding-left:1ex"><div><font face=3D"Calibri, V=
erdana, Helvetica, Arial"><span style=3D"font-size:11pt">
<br>
Allen<br>
</span></font>
</div>


<br>_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></blockquote></div><br>

--0016362849bef7dba4048395cfa3--

From torsten@lodderstedt.net  Tue Apr  6 11:50:08 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 49B413A6A00 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 11:50:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.949
X-Spam-Level: 
X-Spam-Status: No, score=-0.949 tagged_above=-999 required=5 tests=[AWL=1.300,  BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rnXHA5trtny6 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 11:50:03 -0700 (PDT)
Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.18.14]) by core3.amsl.com (Postfix) with ESMTP id 20A483A6A10 for <oauth@ietf.org>; Tue,  6 Apr 2010 11:49:00 -0700 (PDT)
Received: from p4fff04d5.dip.t-dialin.net ([79.255.4.213] helo=[127.0.0.1]) by smtprelay02.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1NzDpY-0001ae-AP; Tue, 06 Apr 2010 20:48:56 +0200
Message-ID: <4BBB8214.6060100@lodderstedt.net>
Date: Tue, 06 Apr 2010 20:48:52 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Allen Tom <atom@yahoo-inc.com>
References: <C7E0CAEF.29FA4%atom@yahoo-inc.com>
In-Reply-To: <C7E0CAEF.29FA4%atom@yahoo-inc.com>
Content-Type: multipart/alternative; boundary="------------040804020301010803040400"
X-Df-Sender: 141509
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 18:50:08 -0000

This is a multi-part message in MIME format.
--------------040804020301010803040400
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

+1  for the standard should recommand HTTPS or comparable means of 
transport protection but not require it.

This requirement does not result in any benefit for the specification by 
itself (e.g. simplification). Therefore, the decision to use HTTPS or 
any other means should be up to the service providers based on its 
security considerations.
> One of the biggest differences between OAuth2 and WRAP is that OAuth2 
> requires that Protected Resources be accessed using HTTPS if no 
> signature is being used. Bullet Point #2 in Section 1.2 says:
>
>    4.  Don't allow bearer tokens without either SSL and/or signatures.
>        While some providers may offer this ability, they should be out
>        of spec for doing so though technically it won't break the flows.
>
> While I personally think that requiring SSL is a fantastic idea, and 
> it's very hard for me to argue against it, however....
>
> One of the goals for WRAP was to define a standard AuthZ interface for 
> APIs which matched what we currently have on the Web. WRAP protected 
> APIs are intended to be a replacement for screen scraping.
>
> On the web, almost all websites implement Cookie Auth. Specifically, 
> when you log into a website, the browser is issued a bearer token, 
> called a Cookie, and the browser is able to access Protected Resources 
> by using the Cookie as the credential.
>
> The WRAP access token is intended to be a direct replacement for the 
> HTTP Cookie. A client should be able to present its bearer token (a 
> WRAP Access Token or an HTTP Cookie) without having to sign the request.
>
> While I certainly think that requiring SSL would be a huge improvement 
> in internet security, HTTP does not require SSL, and since WRAP was 
> intended to be a replacement for HTTP Cookie Auth, then OAuth2 should 
> also not require HTTPS.
>
> Yes, dropping the SSL requirement isn't optimal, but again the intent 
> with WRAP was to replace HTTP Cookie auth, and it should be up to the 
> service provider to require HTTPS when applicable.
>
> Allen
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    


--------------040804020301010803040400
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
+1&nbsp; for the standard should recommand HTTPS or comparable means of
transport protection but not require it. <br>
<br>
This requirement does not result in any benefit for the specification
by itself (e.g. simplification). Therefore, the decision to use HTTPS
or any other means should be up to the service providers based on its
security considerations.&nbsp; <br>
<blockquote cite="mid:C7E0CAEF.29FA4%25atom@yahoo-inc.com" type="cite">
  <title>HTTPS requirement for using an Access Token without signatures</title>
  <font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;">One of the biggest differences between OAuth2
and WRAP is that OAuth2 requires that Protected Resources be accessed
using HTTPS if no signature is being used. Bullet Point #2 in Section
1.2 says:<br>
  <br>
&nbsp;&nbsp;&nbsp;4. &nbsp;Don't allow bearer tokens without either SSL and/or signatures.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;While some providers may offer this ability, they should be out<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;of spec for doing so though technically it won't break the flows.<br>
  <br>
While I personally think that requiring SSL is a fantastic idea, and
it&#8217;s very hard for me to argue against it, however....<br>
  <br>
One of the goals for WRAP was to define a standard AuthZ interface for
APIs which matched what we currently have on the Web. WRAP protected
APIs are intended to be a replacement for screen scraping.<br>
  <br>
On the web, almost all websites implement Cookie Auth. Specifically,
when you log into a website, the browser is issued a bearer token,
called a Cookie, and the browser is able to access Protected Resources
by using the Cookie as the credential. <br>
  <br>
The WRAP access token is intended to be a direct replacement for the
HTTP Cookie. A client should be able to present its bearer token (a
WRAP Access Token or an HTTP Cookie) without having to sign the request.<br>
  <br>
While I certainly think that requiring SSL would be a huge improvement
in internet security, HTTP does not require SSL, and since WRAP was
intended to be a replacement for HTTP Cookie Auth, then OAuth2 should
also not require HTTPS.<br>
  <br>
Yes, dropping the SSL requirement isn&#8217;t optimal, but again the intent
with WRAP was to replace HTTP Cookie auth, and it should be up to the
service provider to require HTTPS when applicable. <br>
  <br>
Allen<br>
  </span></font>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>
  </pre>
</blockquote>
<br>
</body>
</html>

--------------040804020301010803040400--


From raffi@twitter.com  Tue Apr  6 11:52:50 2010
Return-Path: <raffi@twitter.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9D14B3A6A1D for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 11:52:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.117
X-Spam-Level: 
X-Spam-Status: No, score=-0.117 tagged_above=-999 required=5 tests=[BAYES_20=-0.74, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rH5TvLDD--VE for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 11:52:48 -0700 (PDT)
Received: from qw-out-2122.google.com (qw-out-2122.google.com [74.125.92.26]) by core3.amsl.com (Postfix) with ESMTP id 2E7763A694D for <oauth@ietf.org>; Tue,  6 Apr 2010 11:52:03 -0700 (PDT)
Received: by qw-out-2122.google.com with SMTP id 9so69367qwb.31 for <oauth@ietf.org>; Tue, 06 Apr 2010 11:51:59 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.182.3 with HTTP; Tue, 6 Apr 2010 11:51:38 -0700 (PDT)
In-Reply-To: <4BBB8214.6060100@lodderstedt.net>
References: <C7E0CAEF.29FA4%atom@yahoo-inc.com> <4BBB8214.6060100@lodderstedt.net>
From: Raffi Krikorian <raffi@twitter.com>
Date: Tue, 6 Apr 2010 11:51:38 -0700
Received: by 10.229.215.72 with SMTP id hd8mr699800qcb.43.1270579918668; Tue,  06 Apr 2010 11:51:58 -0700 (PDT)
Message-ID: <s2h82c33f601004061151w32b793f7u396e7513c6bba04@mail.gmail.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Content-Type: multipart/alternative; boundary=001636310205b60466048395f02e
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 18:52:50 -0000

--001636310205b60466048395f02e
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

even though i was one who advocated for HTTPS for these tokens, i think i
agree it should be a SHOULD and not a MUST.  over the public internet,
twitter would require HTTPS, but inside our data center we would probably
just allow HTTP.

On Tue, Apr 6, 2010 at 11:48 AM, Torsten Lodderstedt <
torsten@lodderstedt.net> wrote:

>  +1  for the standard should recommand HTTPS or comparable means of
> transport protection but not require it.
>
> This requirement does not result in any benefit for the specification by
> itself (e.g. simplification). Therefore, the decision to use HTTPS or any
> other means should be up to the service providers based on its security
> considerations.
>
> One of the biggest differences between OAuth2 and WRAP is that OAuth2
> requires that Protected Resources be accessed using HTTPS if no signature=
 is
> being used. Bullet Point #2 in Section 1.2 says:
>
>    4.  Don't allow bearer tokens without either SSL and/or signatures.
>        While some providers may offer this ability, they should be out
>        of spec for doing so though technically it won't break the flows.
>
> While I personally think that requiring SSL is a fantastic idea, and it=
=92s
> very hard for me to argue against it, however....
>
> One of the goals for WRAP was to define a standard AuthZ interface for AP=
Is
> which matched what we currently have on the Web. WRAP protected APIs are
> intended to be a replacement for screen scraping.
>
> On the web, almost all websites implement Cookie Auth. Specifically, when
> you log into a website, the browser is issued a bearer token, called a
> Cookie, and the browser is able to access Protected Resources by using th=
e
> Cookie as the credential.
>
> The WRAP access token is intended to be a direct replacement for the HTTP
> Cookie. A client should be able to present its bearer token (a WRAP Acces=
s
> Token or an HTTP Cookie) without having to sign the request.
>
> While I certainly think that requiring SSL would be a huge improvement in
> internet security, HTTP does not require SSL, and since WRAP was intended=
 to
> be a replacement for HTTP Cookie Auth, then OAuth2 should also not requir=
e
> HTTPS.
>
> Yes, dropping the SSL requirement isn=92t optimal, but again the intent w=
ith
> WRAP was to replace HTTP Cookie auth, and it should be up to the service
> provider to require HTTPS when applicable.
>
> Allen
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.orghttps://www.ietf.org/mailman/listinfo/oauth
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>


--=20
Raffi Krikorian
Twitter Platform Team
http://twitter.com/raffi

--001636310205b60466048395f02e
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

even though i was one who advocated for HTTPS for these tokens, i think i a=
gree it should be a SHOULD and not a MUST. =A0over the public internet, twi=
tter would require HTTPS, but inside our data center we would probably just=
 allow HTTP.<br>

<br><div class=3D"gmail_quote">On Tue, Apr 6, 2010 at 11:48 AM, Torsten Lod=
derstedt <span dir=3D"ltr">&lt;<a href=3D"mailto:torsten@lodderstedt.net">t=
orsten@lodderstedt.net</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_=
quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1=
ex;">




 =20

<div bgcolor=3D"#ffffff" text=3D"#000000">
+1=A0 for the standard should recommand HTTPS or comparable means of
transport protection but not require it. <br>
<br>
This requirement does not result in any benefit for the specification
by itself (e.g. simplification). Therefore, the decision to use HTTPS
or any other means should be up to the service providers based on its
security considerations.=A0 <br>
<blockquote type=3D"cite"><div><div></div><div class=3D"h5">
 =20
  <font face=3D"Calibri, Verdana, Helvetica, Arial"><span style=3D"font-siz=
e:11pt">One of the biggest differences between OAuth2
and WRAP is that OAuth2 requires that Protected Resources be accessed
using HTTPS if no signature is being used. Bullet Point #2 in Section
1.2 says:<br>
  <br>
=A0=A0=A04. =A0Don&#39;t allow bearer tokens without either SSL and/or sign=
atures.<br>
=A0=A0=A0=A0=A0=A0=A0While some providers may offer this ability, they shou=
ld be out<br>
=A0=A0=A0=A0=A0=A0=A0of spec for doing so though technically it won&#39;t b=
reak the flows.<br>
  <br>
While I personally think that requiring SSL is a fantastic idea, and
it=92s very hard for me to argue against it, however....<br>
  <br>
One of the goals for WRAP was to define a standard AuthZ interface for
APIs which matched what we currently have on the Web. WRAP protected
APIs are intended to be a replacement for screen scraping.<br>
  <br>
On the web, almost all websites implement Cookie Auth. Specifically,
when you log into a website, the browser is issued a bearer token,
called a Cookie, and the browser is able to access Protected Resources
by using the Cookie as the credential. <br>
  <br>
The WRAP access token is intended to be a direct replacement for the
HTTP Cookie. A client should be able to present its bearer token (a
WRAP Access Token or an HTTP Cookie) without having to sign the request.<br=
>
  <br>
While I certainly think that requiring SSL would be a huge improvement
in internet security, HTTP does not require SSL, and since WRAP was
intended to be a replacement for HTTP Cookie Auth, then OAuth2 should
also not require HTTPS.<br>
  <br>
Yes, dropping the SSL requirement isn=92t optimal, but again the intent
with WRAP was to replace HTTP Cookie auth, and it should be up to the
service provider to require HTTPS when applicable. <br>
  <br>
Allen<br>
  </span></font>
  </div></div><pre><fieldset></fieldset>
_______________________________________________
OAuth mailing list
<div class=3D"im"><a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth=
@ietf.org</a>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a>
  </div></pre>
</blockquote>
<br>
</div>

<br>_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></blockquote></div><br><br clear=3D"all"><br>-- <br>Raffi Krikorian<br>=
Twitter Platform Team<br><a href=3D"http://twitter.com/raffi">http://twitte=
r.com/raffi</a><br>

--001636310205b60466048395f02e--

From jpanzer@google.com  Tue Apr  6 11:55:26 2010
Return-Path: <jpanzer@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4A2553A69B1 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 11:55:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.976
X-Spam-Level: 
X-Spam-Status: No, score=-101.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JE6huKzZzjAy for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 11:55:25 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 809CA3A6994 for <oauth@ietf.org>; Tue,  6 Apr 2010 11:54:51 -0700 (PDT)
Received: from kpbe11.cbf.corp.google.com (kpbe11.cbf.corp.google.com [172.25.105.75]) by smtp-out.google.com with ESMTP id o36IskFI031334 for <oauth@ietf.org>; Tue, 6 Apr 2010 20:54:46 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270580087; bh=DP75lFVKXDxmFOH7pa+uLFrGWvQ=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=HD/pxfnjbEHDiBKMYBdrQzlS6nFkNo5NaC7KnWWOFYehUx7p72egAGTqo3jWdiyAk bg7RDX7p+X8aCPSac8nng==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=HzTpPnDtL6vLHKX8tflIv0Wfj4ef9D4Hk3ds6TPoQVCZ9ZSL1Vc09cwklIuU3xZcu JZ24Q4G+c+/p7eiK/sXqQ==
Received: from pzk36 (pzk36.prod.google.com [10.243.19.164]) by kpbe11.cbf.corp.google.com with ESMTP id o36IsjnV021727 for <oauth@ietf.org>; Tue, 6 Apr 2010 13:54:45 -0500
Received: by pzk36 with SMTP id 36so210593pzk.24 for <oauth@ietf.org>; Tue, 06 Apr 2010 11:54:45 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.125.14 with HTTP; Tue, 6 Apr 2010 11:54:24 -0700 (PDT)
In-Reply-To: <4BBB8214.6060100@lodderstedt.net>
References: <C7E0CAEF.29FA4%atom@yahoo-inc.com> <4BBB8214.6060100@lodderstedt.net>
From: John Panzer <jpanzer@google.com>
Date: Tue, 6 Apr 2010 11:54:24 -0700
Received: by 10.141.90.2 with SMTP id s2mr5850780rvl.273.1270580084334; Tue,  06 Apr 2010 11:54:44 -0700 (PDT)
Message-ID: <y2zcb5f7a381004061154l2328c3e0ma8d96202596244f4@mail.gmail.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Content-Type: multipart/alternative; boundary=000e0cd1196895e07d048395fa9d
X-System-Of-Record: true
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 18:55:26 -0000

--000e0cd1196895e07d048395fa9d
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

My $.02:  SHOULD is okay, as long as all clients MUST support HTTPS.  E.g.,
SHOULD for service providers, MUST support for clients.

Otherwise, you will end up with clients that don't support https or don't d=
o
it properly.  (E.g., don't bother to check certificates.)  Which hurts
security for service providers that do want SSL.

On Tue, Apr 6, 2010 at 11:48 AM, Torsten Lodderstedt <
torsten@lodderstedt.net> wrote:

>  +1  for the standard should recommand HTTPS or comparable means of
> transport protection but not require it.
>
> This requirement does not result in any benefit for the specification by
> itself (e.g. simplification). Therefore, the decision to use HTTPS or any
> other means should be up to the service providers based on its security
> considerations.
>
> One of the biggest differences between OAuth2 and WRAP is that OAuth2
> requires that Protected Resources be accessed using HTTPS if no signature=
 is
> being used. Bullet Point #2 in Section 1.2 says:
>
>    4.  Don't allow bearer tokens without either SSL and/or signatures.
>        While some providers may offer this ability, they should be out
>        of spec for doing so though technically it won't break the flows.
>
> While I personally think that requiring SSL is a fantastic idea, and it=
=92s
> very hard for me to argue against it, however....
>
> One of the goals for WRAP was to define a standard AuthZ interface for AP=
Is
> which matched what we currently have on the Web. WRAP protected APIs are
> intended to be a replacement for screen scraping.
>
> On the web, almost all websites implement Cookie Auth. Specifically, when
> you log into a website, the browser is issued a bearer token, called a
> Cookie, and the browser is able to access Protected Resources by using th=
e
> Cookie as the credential.
>
> The WRAP access token is intended to be a direct replacement for the HTTP
> Cookie. A client should be able to present its bearer token (a WRAP Acces=
s
> Token or an HTTP Cookie) without having to sign the request.
>
> While I certainly think that requiring SSL would be a huge improvement in
> internet security, HTTP does not require SSL, and since WRAP was intended=
 to
> be a replacement for HTTP Cookie Auth, then OAuth2 should also not requir=
e
> HTTPS.
>
> Yes, dropping the SSL requirement isn=92t optimal, but again the intent w=
ith
> WRAP was to replace HTTP Cookie auth, and it should be up to the service
> provider to require HTTPS when applicable.
>
> Allen
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.orghttps://www.ietf.org/mailman/listinfo/oauth
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

--000e0cd1196895e07d048395fa9d
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

My $.02: =A0SHOULD is okay, as long as all clients MUST support HTTPS. =A0E=
.g., SHOULD for service providers, MUST support for clients.<div><br></div>=
<div>Otherwise, you will end up with clients that don&#39;t support https o=
r don&#39;t do it properly. =A0(E.g., don&#39;t bother to check certificate=
s.) =A0Which hurts security for service providers that do want SSL.<br>

<br><div class=3D"gmail_quote">On Tue, Apr 6, 2010 at 11:48 AM, Torsten Lod=
derstedt <span dir=3D"ltr">&lt;<a href=3D"mailto:torsten@lodderstedt.net">t=
orsten@lodderstedt.net</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_=
quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1=
ex;">




 =20

<div bgcolor=3D"#ffffff" text=3D"#000000">
+1=A0 for the standard should recommand HTTPS or comparable means of
transport protection but not require it. <br>
<br>
This requirement does not result in any benefit for the specification
by itself (e.g. simplification). Therefore, the decision to use HTTPS
or any other means should be up to the service providers based on its
security considerations.=A0 <br>
<blockquote type=3D"cite"><div><div></div><div class=3D"h5">
 =20
  <font face=3D"Calibri, Verdana, Helvetica, Arial"><span style=3D"font-siz=
e:11pt">One of the biggest differences between OAuth2
and WRAP is that OAuth2 requires that Protected Resources be accessed
using HTTPS if no signature is being used. Bullet Point #2 in Section
1.2 says:<br>
  <br>
=A0=A0=A04. =A0Don&#39;t allow bearer tokens without either SSL and/or sign=
atures.<br>
=A0=A0=A0=A0=A0=A0=A0While some providers may offer this ability, they shou=
ld be out<br>
=A0=A0=A0=A0=A0=A0=A0of spec for doing so though technically it won&#39;t b=
reak the flows.<br>
  <br>
While I personally think that requiring SSL is a fantastic idea, and
it=92s very hard for me to argue against it, however....<br>
  <br>
One of the goals for WRAP was to define a standard AuthZ interface for
APIs which matched what we currently have on the Web. WRAP protected
APIs are intended to be a replacement for screen scraping.<br>
  <br>
On the web, almost all websites implement Cookie Auth. Specifically,
when you log into a website, the browser is issued a bearer token,
called a Cookie, and the browser is able to access Protected Resources
by using the Cookie as the credential. <br>
  <br>
The WRAP access token is intended to be a direct replacement for the
HTTP Cookie. A client should be able to present its bearer token (a
WRAP Access Token or an HTTP Cookie) without having to sign the request.<br=
>
  <br>
While I certainly think that requiring SSL would be a huge improvement
in internet security, HTTP does not require SSL, and since WRAP was
intended to be a replacement for HTTP Cookie Auth, then OAuth2 should
also not require HTTPS.<br>
  <br>
Yes, dropping the SSL requirement isn=92t optimal, but again the intent
with WRAP was to replace HTTP Cookie auth, and it should be up to the
service provider to require HTTPS when applicable. <br>
  <br>
Allen<br>
  </span></font>
  </div></div><pre><fieldset></fieldset>
_______________________________________________
OAuth mailing list
<div class=3D"im"><a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth=
@ietf.org</a>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a>
  </div></pre>
</blockquote>
<br>
</div>

<br>_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></blockquote></div><br></div>

--000e0cd1196895e07d048395fa9d--

From romeda@gmail.com  Tue Apr  6 12:07:18 2010
Return-Path: <romeda@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 897B53A6803 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 12:07:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7EZuimTU5f2v for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 12:07:17 -0700 (PDT)
Received: from mail-ew0-f224.google.com (mail-ew0-f224.google.com [209.85.219.224]) by core3.amsl.com (Postfix) with ESMTP id 67EDF3A6B10 for <oauth@ietf.org>; Tue,  6 Apr 2010 12:05:14 -0700 (PDT)
Received: by ewy24 with SMTP id 24so129434ewy.13 for <oauth@ietf.org>; Tue, 06 Apr 2010 12:05:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :from:date:received:message-id:subject:to:content-type :content-transfer-encoding; bh=o10TpSgMSq8EoxhbhWE4G1C1FjPESf4fWTP9dqrYi+I=; b=YGM4XYs/HGY41h/Q04VQP2kp3CoTb+tk9PpMDLDSRS1fQdgAJxEj4EMPxojj0a8GLx zVfdsdj9iEsyZW5NUS1Zdj1o29Gw2KfPnZzyd7E35qaaSXQJtTnZkicNhCTQJ62oH1XT jX1/VU25CXRkGmYObpKRTTDmeNPUle+8X7P3o=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type:content-transfer-encoding; b=WB9sR/3neR+QiyhmBFZkOofBzKsMzy+gotoTjXzyb4uNr6YGbxr33BodKgp5LJV/Q5 UYlXYoWaT0jOoXSg9xI2CwmZoitw6dpovQZAnyQ40PwnwscKEWJcyuk+Mek9So1Ag6W1 vDyJW2ZPzRwB0qk08FdfOLALjjqvDwsMyR740=
MIME-Version: 1.0
Received: by 10.213.19.19 with HTTP; Tue, 6 Apr 2010 12:04:44 -0700 (PDT)
In-Reply-To: <y2zcb5f7a381004061154l2328c3e0ma8d96202596244f4@mail.gmail.com>
References: <C7E0CAEF.29FA4%atom@yahoo-inc.com> <4BBB8214.6060100@lodderstedt.net>  <y2zcb5f7a381004061154l2328c3e0ma8d96202596244f4@mail.gmail.com>
From: Blaine Cook <romeda@gmail.com>
Date: Tue, 6 Apr 2010 12:04:44 -0700
Received: by 10.213.44.73 with SMTP id z9mr1086470ebe.2.1270580705873; Tue, 06  Apr 2010 12:05:05 -0700 (PDT)
Message-ID: <y2nd37b4b431004061204p692af347h9de510184e71cc3f@mail.gmail.com>
To: "oauth@ietf.org" <oauth@ietf.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 19:07:18 -0000

My take on this is that MUSTs MAY be ignored. ;-)

To echo John's concerns here, the worst-case scenario is that client
libraries implement "no SSL present" as a gentle reminder warning with
a flag (possibly the default) to disable those HTTPS warnings. Clients
that behave in that way should be flagged as non-compliant and
publicly humiliated. If we just write SHOULD for HTTPS/secure channel
support, then those clients are acting "properly."

If WRAP is aiming to just be a replacement for Cookie auth, then why
don't we just add a redirection profile for issuing cookies? They work
now, refreshing them is built-in, etc, etc. Instead, what we're trying
to do is build something better, more secure, and more aligned with
the sorts of behaviours we see and want to encourage on the web.

b.

On 6 April 2010 11:54, John Panzer <jpanzer@google.com> wrote:
> My $.02: =C2=A0SHOULD is okay, as long as all clients MUST support HTTPS.=
 =C2=A0E.g.,
> SHOULD for service providers, MUST support for clients.
> Otherwise, you will end up with clients that don't support https or don't=
 do
> it properly. =C2=A0(E.g., don't bother to check certificates.) =C2=A0Whic=
h hurts
> security for service providers that do want SSL.
>
> On Tue, Apr 6, 2010 at 11:48 AM, Torsten Lodderstedt
> <torsten@lodderstedt.net> wrote:
>>
>> +1=C2=A0 for the standard should recommand HTTPS or comparable means of
>> transport protection but not require it.
>>
>> This requirement does not result in any benefit for the specification by
>> itself (e.g. simplification). Therefore, the decision to use HTTPS or an=
y
>> other means should be up to the service providers based on its security
>> considerations.
>>
>> One of the biggest differences between OAuth2 and WRAP is that OAuth2
>> requires that Protected Resources be accessed using HTTPS if no signatur=
e is
>> being used. Bullet Point #2 in Section 1.2 says:
>>
>> =C2=A0=C2=A0=C2=A04. =C2=A0Don't allow bearer tokens without either SSL =
and/or signatures.
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0While some providers may offer=
 this ability, they should be out
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0of spec for doing so though te=
chnically it won't break the flows.
>>
>> While I personally think that requiring SSL is a fantastic idea, and it=
=E2=80=99s
>> very hard for me to argue against it, however....
>>
>> One of the goals for WRAP was to define a standard AuthZ interface for
>> APIs which matched what we currently have on the Web. WRAP protected API=
s
>> are intended to be a replacement for screen scraping.
>>
>> On the web, almost all websites implement Cookie Auth. Specifically, whe=
n
>> you log into a website, the browser is issued a bearer token, called a
>> Cookie, and the browser is able to access Protected Resources by using t=
he
>> Cookie as the credential.
>>
>> The WRAP access token is intended to be a direct replacement for the HTT=
P
>> Cookie. A client should be able to present its bearer token (a WRAP Acce=
ss
>> Token or an HTTP Cookie) without having to sign the request.
>>
>> While I certainly think that requiring SSL would be a huge improvement i=
n
>> internet security, HTTP does not require SSL, and since WRAP was intende=
d to
>> be a replacement for HTTP Cookie Auth, then OAuth2 should also not requi=
re
>> HTTPS.
>>
>> Yes, dropping the SSL requirement isn=E2=80=99t optimal, but again the i=
ntent with
>> WRAP was to replace HTTP Cookie auth, and it should be up to the service
>> provider to require HTTPS when applicable.
>>
>> Allen
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

From torsten@lodderstedt.net  Tue Apr  6 12:39:38 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 85E5D3A693E for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 12:39:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.599
X-Spam-Level: 
X-Spam-Status: No, score=-1.599 tagged_above=-999 required=5 tests=[AWL=0.650,  BAYES_00=-2.599, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id riASDHl5X4Ag for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 12:39:37 -0700 (PDT)
Received: from smtprelay01.ispgateway.de (smtprelay01.ispgateway.de [80.67.31.39]) by core3.amsl.com (Postfix) with ESMTP id 4FCCB3A691F for <oauth@ietf.org>; Tue,  6 Apr 2010 12:39:34 -0700 (PDT)
Received: from p4fff04d5.dip.t-dialin.net ([79.255.4.213] helo=[127.0.0.1]) by smtprelay01.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1NzEcV-0006UU-LK; Tue, 06 Apr 2010 21:39:31 +0200
Message-ID: <4BBB8DE8.8080803@lodderstedt.net>
Date: Tue, 06 Apr 2010 21:39:20 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Blaine Cook <romeda@gmail.com>
References: <C7E0CAEF.29FA4%atom@yahoo-inc.com>	<4BBB8214.6060100@lodderstedt.net> <y2zcb5f7a381004061154l2328c3e0ma8d96202596244f4@mail.gmail.com> <y2nd37b4b431004061204p692af347h9de510184e71cc3f@mail.gmail.com>
In-Reply-To: <y2nd37b4b431004061204p692af347h9de510184e71cc3f@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Df-Sender: 141509
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 19:39:38 -0000

Hi Blaine,
> My take on this is that MUSTs MAY be ignored. ;-)
>
> To echo John's concerns here, the worst-case scenario is that client
> libraries implement "no SSL present" as a gentle reminder warning with
> a flag (possibly the default) to disable those HTTPS warnings. Clients
>    
I don't understand your objections. If a resource provider decides to 
support HTTPS only, no client w/o HTTPS support can connect thus 
circumventing this policy.
> that behave in that way should be flagged as non-compliant and
> publicly humiliated.
agreed :-)
> If we just write SHOULD for HTTPS/secure channel
> support, then those clients are acting "properly."
>    
Why not explicitly state in the spec that HTTPS support is a MUST HAVE 
for libraries?
> If WRAP is aiming to just be a replacement for Cookie auth, then why
> don't we just add a redirection profile for issuing cookies? They work
> now, refreshing them is built-in, etc, etc. Instead, what we're trying
> to do is build something better, more secure, and more aligned with
> the sorts of behaviours we see and want to encourage on the web.
>    
There are a variety of deployment scenarios for OAuth2 (e.g. internet 
small/large, intranet) as well as replay countermeasures (encryption, 
short-living tokens, restricted permissions, ...). Can we really 
anticipate/consider all of them and select HTTPS as the only solution? 
Even the spec for BASIC-Authentication 
(http://www.ietf.org/rfc/rfc2617.txt) does not force a certain mean of 
transport protection. It just recommends to consider security enhancements:

---- from http://www.ietf.org/rfc/rfc2617.txt

    The Basic authentication scheme is not a secure method of user
    authentication, nor does it in any way protect the entity, which is
    transmitted in cleartext across the physical network used as the
    carrier. HTTP does not prevent additional authentication schemes and
    encryption mechanisms from being employed to increase security or the
    addition of enhancements (such as schemes to use one-time passwords)
    to Basic authentication.

    The most serious flaw in Basic authentication is that it results in
    the essentially cleartext transmission of the user's password over
    the physical network. It is this problem which Digest Authentication
    attempts to address.

    Because Basic authentication involves the cleartext transmission of
    passwords it SHOULD NOT be used (without enhancements) to protect
    sensitive or valuable information.

----
HTTPS is state of the art and should from in my opinion be the 
_recommended_ option. This leaves implementors enough freedom to use 
other security measures where neccessary/sufficient/applicable.

regards,
Torsten.
> b.
>
> On 6 April 2010 11:54, John Panzer<jpanzer@google.com>  wrote:
>    
>> My $.02:  SHOULD is okay, as long as all clients MUST support HTTPS.  E.g.,
>> SHOULD for service providers, MUST support for clients.
>> Otherwise, you will end up with clients that don't support https or don't do
>> it properly.  (E.g., don't bother to check certificates.)  Which hurts
>> security for service providers that do want SSL.
>>
>> On Tue, Apr 6, 2010 at 11:48 AM, Torsten Lodderstedt
>> <torsten@lodderstedt.net>  wrote:
>>      
>>> +1  for the standard should recommand HTTPS or comparable means of
>>> transport protection but not require it.
>>>
>>> This requirement does not result in any benefit for the specification by
>>> itself (e.g. simplification). Therefore, the decision to use HTTPS or any
>>> other means should be up to the service providers based on its security
>>> considerations.
>>>
>>> One of the biggest differences between OAuth2 and WRAP is that OAuth2
>>> requires that Protected Resources be accessed using HTTPS if no signature is
>>> being used. Bullet Point #2 in Section 1.2 says:
>>>
>>>     4.  Don't allow bearer tokens without either SSL and/or signatures.
>>>         While some providers may offer this ability, they should be out
>>>         of spec for doing so though technically it won't break the flows.
>>>
>>> While I personally think that requiring SSL is a fantastic idea, and itâ€™s
>>> very hard for me to argue against it, however....
>>>
>>> One of the goals for WRAP was to define a standard AuthZ interface for
>>> APIs which matched what we currently have on the Web. WRAP protected APIs
>>> are intended to be a replacement for screen scraping.
>>>
>>> On the web, almost all websites implement Cookie Auth. Specifically, when
>>> you log into a website, the browser is issued a bearer token, called a
>>> Cookie, and the browser is able to access Protected Resources by using the
>>> Cookie as the credential.
>>>
>>> The WRAP access token is intended to be a direct replacement for the HTTP
>>> Cookie. A client should be able to present its bearer token (a WRAP Access
>>> Token or an HTTP Cookie) without having to sign the request.
>>>
>>> While I certainly think that requiring SSL would be a huge improvement in
>>> internet security, HTTP does not require SSL, and since WRAP was intended to
>>> be a replacement for HTTP Cookie Auth, then OAuth2 should also not require
>>> HTTPS.
>>>
>>> Yes, dropping the SSL requirement isnâ€™t optimal, but again the intent with
>>> WRAP was to replace HTTP Cookie auth, and it should be up to the service
>>> provider to require HTTPS when applicable.
>>>
>>> Allen
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>>        
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>>      
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    



From tonynad@microsoft.com  Tue Apr  6 12:50:37 2010
Return-Path: <tonynad@microsoft.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2DFC03A6994 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 12:50:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.598
X-Spam-Level: 
X-Spam-Status: No, score=-10.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cs5d0ZZJeIdM for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 12:50:32 -0700 (PDT)
Received: from smtp.microsoft.com (mailc.microsoft.com [131.107.115.214]) by core3.amsl.com (Postfix) with ESMTP id 149053A6953 for <oauth@ietf.org>; Tue,  6 Apr 2010 12:50:32 -0700 (PDT)
Received: from TK5EX14HUBC102.redmond.corp.microsoft.com (157.54.7.154) by TK5-EXGWY-E803.partners.extranet.microsoft.com (10.251.56.169) with Microsoft SMTP Server (TLS) id 8.2.176.0; Tue, 6 Apr 2010 12:50:30 -0700
Received: from TK5EX14MBXC103.redmond.corp.microsoft.com ([169.254.3.164]) by TK5EX14HUBC102.redmond.corp.microsoft.com ([157.54.7.154]) with mapi; Tue, 6 Apr 2010 12:50:29 -0700
From: Anthony Nadalin <tonynad@microsoft.com>
To: Allen Tom <atom@yahoo-inc.com>, "oauth@ietf.org" <oauth@ietf.org>
Thread-Topic: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
Thread-Index: AcrVtrKPc2+a+5PkjUWcdom/sx3EFAAC1/Xg
Date: Tue, 6 Apr 2010 19:50:28 +0000
Message-ID: <A08279DC79B11C48AD587060CD93977125EF96D7@TK5EX14MBXC103.redmond.corp.microsoft.com>
References: <C7E0CAEF.29FA4%atom@yahoo-inc.com>
In-Reply-To: <C7E0CAEF.29FA4%atom@yahoo-inc.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Content-Type: multipart/alternative; boundary="_000_A08279DC79B11C48AD587060CD93977125EF96D7TK5EX14MBXC103r_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without	signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 19:50:37 -0000

--_000_A08279DC79B11C48AD587060CD93977125EF96D7TK5EX14MBXC103r_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

I'm not sure if you are coming from the user or service perspective. So if =
a user asks for HTTPS do you have to support HTTPS? If a service asks for H=
TTPS do you have to support it? Or  do you just fail?

From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of A=
llen Tom
Sent: Tuesday, April 06, 2010 11:27 AM
To: oauth@ietf.org
Subject: [OAUTH-WG] HTTPS requirement for using an Access Token without sig=
natures

One of the biggest differences between OAuth2 and WRAP is that OAuth2 requi=
res that Protected Resources be accessed using HTTPS if no signature is bei=
ng used. Bullet Point #2 in Section 1.2 says:

   4.  Don't allow bearer tokens without either SSL and/or signatures.
       While some providers may offer this ability, they should be out
       of spec for doing so though technically it won't break the flows.

While I personally think that requiring SSL is a fantastic idea, and it's v=
ery hard for me to argue against it, however....

One of the goals for WRAP was to define a standard AuthZ interface for APIs=
 which matched what we currently have on the Web. WRAP protected APIs are i=
ntended to be a replacement for screen scraping.

On the web, almost all websites implement Cookie Auth. Specifically, when y=
ou log into a website, the browser is issued a bearer token, called a Cooki=
e, and the browser is able to access Protected Resources by using the Cooki=
e as the credential.

The WRAP access token is intended to be a direct replacement for the HTTP C=
ookie. A client should be able to present its bearer token (a WRAP Access T=
oken or an HTTP Cookie) without having to sign the request.

While I certainly think that requiring SSL would be a huge improvement in i=
nternet security, HTTP does not require SSL, and since WRAP was intended to=
 be a replacement for HTTP Cookie Auth, then OAuth2 should also not require=
 HTTPS.

Yes, dropping the SSL requirement isn't optimal, but again the intent with =
WRAP was to replace HTTP Cookie auth, and it should be up to the service pr=
ovider to require HTTPS when applicable.

Allen

--_000_A08279DC79B11C48AD587060CD93977125EF96D7TK5EX14MBXC103r_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV=3D"Content-Type" CONTENT=
=3D"text/html; charset=3Dus-ascii"><meta name=3DGenerator content=3D"Micros=
oft Word 14 (filtered medium)"><title>HTTPS requirement for using an Access=
 Token without signatures</title><style><!--
/* Font Definitions */
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue vli=
nk=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span style=3D'f=
ont-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I&#8217;m=
 not sure if you are coming from the user or service perspective. So if a u=
ser asks for HTTPS do you have to support HTTPS? If a service asks for HTTP=
S do you have to support it? Or &nbsp;do you just fail?<o:p></o:p></span></=
p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri=
","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div><div style=
=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><=
p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma"=
,"sans-serif"'>From:</span></b><span style=3D'font-size:10.0pt;font-family:=
"Tahoma","sans-serif"'> oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.o=
rg] <b>On Behalf Of </b>Allen Tom<br><b>Sent:</b> Tuesday, April 06, 2010 1=
1:27 AM<br><b>To:</b> oauth@ietf.org<br><b>Subject:</b> [OAUTH-WG] HTTPS re=
quirement for using an Access Token without signatures<o:p></o:p></span></p=
></div></div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal=
><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'>One of=
 the biggest differences between OAuth2 and WRAP is that OAuth2 requires th=
at Protected Resources be accessed using HTTPS if no signature is being use=
d. Bullet Point #2 in Section 1.2 says:<br><br>&nbsp;&nbsp;&nbsp;4. &nbsp;D=
on't allow bearer tokens without either SSL and/or signatures.<br>&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;While some providers may offer this abilit=
y, they should be out<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;of spec =
for doing so though technically it won't break the flows.<br><br>While I pe=
rsonally think that requiring SSL is a fantastic idea, and it&#8217;s very =
hard for me to argue against it, however....<br><br>One of the goals for WR=
AP was to define a standard AuthZ interface for APIs which matched what we =
currently have on the Web. WRAP protected APIs are intended to be a replace=
ment for screen scraping.<br><br>On the web, almost all websites implement =
Cookie Auth. Specifically, when you log into a website, the browser is issu=
ed a bearer token, called a Cookie, and the browser is able to access Prote=
cted Resources by using the Cookie as the credential. <br><br>The WRAP acce=
ss token is intended to be a direct replacement for the HTTP Cookie. A clie=
nt should be able to present its bearer token (a WRAP Access Token or an HT=
TP Cookie) without having to sign the request.<br><br>While I certainly thi=
nk that requiring SSL would be a huge improvement in internet security, HTT=
P does not require SSL, and since WRAP was intended to be a replacement for=
 HTTP Cookie Auth, then OAuth2 should also not require HTTPS.<br><br>Yes, d=
ropping the SSL requirement isn&#8217;t optimal, but again the intent with =
WRAP was to replace HTTP Cookie auth, and it should be up to the service pr=
ovider to require HTTPS when applicable. <br><br>Allen</span><o:p></o:p></p=
></div></body></html>=

--_000_A08279DC79B11C48AD587060CD93977125EF96D7TK5EX14MBXC103r_--

From igor.faynberg@alcatel-lucent.com  Tue Apr  6 12:58:53 2010
Return-Path: <igor.faynberg@alcatel-lucent.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 13B7428C0D6 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 12:58:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rVlQCZa1UU4F for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 12:58:51 -0700 (PDT)
Received: from ihemail4.lucent.com (ihemail4.lucent.com [135.245.0.39]) by core3.amsl.com (Postfix) with ESMTP id 5BA503A68ED for <oauth@ietf.org>; Tue,  6 Apr 2010 12:58:48 -0700 (PDT)
Received: from umail.lucent.com (h135-3-40-63.lucent.com [135.3.40.63]) by ihemail4.lucent.com (8.13.8/IER-o) with ESMTP id o36JwfKR028887 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 6 Apr 2010 14:58:41 -0500 (CDT)
Received: from [135.244.36.125] (faynberg.lra.lucent.com [135.244.36.125]) by umail.lucent.com (8.13.8/TPES) with ESMTP id o36Jwes6007372; Tue, 6 Apr 2010 14:58:40 -0500 (CDT)
Message-ID: <4BBB926B.4090508@alcatel-lucent.com>
Date: Tue, 06 Apr 2010 15:58:35 -0400
From: Igor Faynberg <igor.faynberg@alcatel-lucent.com>
Organization: Alcatel-Lucent
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
To: Torsten Lodderstedt <torsten@lodderstedt.net>
References: <C7E0CAEF.29FA4%atom@yahoo-inc.com>	<4BBB8214.6060100@lodderstedt.net>	<y2zcb5f7a381004061154l2328c3e0ma8d96202596244f4@mail.gmail.com>	<y2nd37b4b431004061204p692af347h9de510184e71cc3f@mail.gmail.com> <4BBB8DE8.8080803@lodderstedt.net>
In-Reply-To: <4BBB8DE8.8080803@lodderstedt.net>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.39
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: igor.faynberg@alcatel-lucent.com
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 19:58:53 -0000

++

Igor

Torsten Lodderstedt wrote:
> Hi Blaine,
>> My take on this is that MUSTs MAY be ignored. ;-)
>>
>> To echo John's concerns here, the worst-case scenario is that client
>> libraries implement "no SSL present" as a gentle reminder warning with
>> a flag (possibly the default) to disable those HTTPS warnings. Clients
>>    
> I don't understand your objections. If a resource provider decides to 
> support HTTPS only, no client w/o HTTPS support can connect thus 
> circumventing this policy.
>> that behave in that way should be flagged as non-compliant and
>> publicly humiliated.
> agreed :-)
>> If we just write SHOULD for HTTPS/secure channel
>> support, then those clients are acting "properly."
>>    
> Why not explicitly state in the spec that HTTPS support is a MUST HAVE 
> for libraries?
>> If WRAP is aiming to just be a replacement for Cookie auth, then why
>> don't we just add a redirection profile for issuing cookies? They work
>> now, refreshing them is built-in, etc, etc. Instead, what we're trying
>> to do is build something better, more secure, and more aligned with
>> the sorts of behaviours we see and want to encourage on the web.
>>    
> There are a variety of deployment scenarios for OAuth2 (e.g. internet 
> small/large, intranet) as well as replay countermeasures (encryption, 
> short-living tokens, restricted permissions, ...). Can we really 
> anticipate/consider all of them and select HTTPS as the only solution? 
> Even the spec for BASIC-Authentication 
> (http://www.ietf.org/rfc/rfc2617.txt) does not force a certain mean of 
> transport protection. It just recommends to consider security 
> enhancements:
>
> ---- from http://www.ietf.org/rfc/rfc2617.txt
>
>    The Basic authentication scheme is not a secure method of user
>    authentication, nor does it in any way protect the entity, which is
>    transmitted in cleartext across the physical network used as the
>    carrier. HTTP does not prevent additional authentication schemes and
>    encryption mechanisms from being employed to increase security or the
>    addition of enhancements (such as schemes to use one-time passwords)
>    to Basic authentication.
>
>    The most serious flaw in Basic authentication is that it results in
>    the essentially cleartext transmission of the user's password over
>    the physical network. It is this problem which Digest Authentication
>    attempts to address.
>
>    Because Basic authentication involves the cleartext transmission of
>    passwords it SHOULD NOT be used (without enhancements) to protect
>    sensitive or valuable information.
>
> ----
> HTTPS is state of the art and should from in my opinion be the 
> _recommended_ option. This leaves implementors enough freedom to use 
> other security measures where neccessary/sufficient/applicable.
>
> regards,
> Torsten.
>> b.
>>
>> On 6 April 2010 11:54, John Panzer<jpanzer@google.com>  wrote:
>>   
>>> My $.02:  SHOULD is okay, as long as all clients MUST support 
>>> HTTPS.  E.g.,
>>> SHOULD for service providers, MUST support for clients.
>>> Otherwise, you will end up with clients that don't support https or 
>>> don't do
>>> it properly.  (E.g., don't bother to check certificates.)  Which hurts
>>> security for service providers that do want SSL.
>>>
>>> On Tue, Apr 6, 2010 at 11:48 AM, Torsten Lodderstedt
>>> <torsten@lodderstedt.net>  wrote:
>>>     
>>>> +1  for the standard should recommand HTTPS or comparable means of
>>>> transport protection but not require it.
>>>>
>>>> This requirement does not result in any benefit for the 
>>>> specification by
>>>> itself (e.g. simplification). Therefore, the decision to use HTTPS 
>>>> or any
>>>> other means should be up to the service providers based on its 
>>>> security
>>>> considerations.
>>>>
>>>> One of the biggest differences between OAuth2 and WRAP is that OAuth2
>>>> requires that Protected Resources be accessed using HTTPS if no 
>>>> signature is
>>>> being used. Bullet Point #2 in Section 1.2 says:
>>>>
>>>>     4.  Don't allow bearer tokens without either SSL and/or 
>>>> signatures.
>>>>         While some providers may offer this ability, they should be 
>>>> out
>>>>         of spec for doing so though technically it won't break the 
>>>> flows.
>>>>
>>>> While I personally think that requiring SSL is a fantastic idea, 
>>>> and itâ€™s
>>>> very hard for me to argue against it, however....
>>>>
>>>> One of the goals for WRAP was to define a standard AuthZ interface for
>>>> APIs which matched what we currently have on the Web. WRAP 
>>>> protected APIs
>>>> are intended to be a replacement for screen scraping.
>>>>
>>>> On the web, almost all websites implement Cookie Auth. 
>>>> Specifically, when
>>>> you log into a website, the browser is issued a bearer token, called a
>>>> Cookie, and the browser is able to access Protected Resources by 
>>>> using the
>>>> Cookie as the credential.
>>>>
>>>> The WRAP access token is intended to be a direct replacement for 
>>>> the HTTP
>>>> Cookie. A client should be able to present its bearer token (a WRAP 
>>>> Access
>>>> Token or an HTTP Cookie) without having to sign the request.
>>>>
>>>> While I certainly think that requiring SSL would be a huge 
>>>> improvement in
>>>> internet security, HTTP does not require SSL, and since WRAP was 
>>>> intended to
>>>> be a replacement for HTTP Cookie Auth, then OAuth2 should also not 
>>>> require
>>>> HTTPS.
>>>>
>>>> Yes, dropping the SSL requirement isnâ€™t optimal, but again the 
>>>> intent with
>>>> WRAP was to replace HTTP Cookie auth, and it should be up to the 
>>>> service
>>>> provider to require HTTPS when applicable.
>>>>
>>>> Allen
>>>>
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>
>>>>
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>
>>>>        
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>>
>>>      
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>    
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth

From jpanzer@google.com  Tue Apr  6 13:30:23 2010
Return-Path: <jpanzer@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8608F3A67EF for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 13:30:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.976
X-Spam-Level: 
X-Spam-Status: No, score=-101.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id thKDMoyZzSrc for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 13:30:22 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id D39EA3A6A58 for <oauth@ietf.org>; Tue,  6 Apr 2010 13:27:12 -0700 (PDT)
Received: from hpaq5.eem.corp.google.com (hpaq5.eem.corp.google.com [10.3.21.5]) by smtp-out.google.com with ESMTP id o36KR8aM016053 for <oauth@ietf.org>; Tue, 6 Apr 2010 22:27:09 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270585629; bh=BJgEpIF3+9si7/RxJ051+E0ykUU=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=tN3y2Txit+i9IK5/+5mtwK8Gh/REyxJJCH0ichYHsfZUGFVj3ziOKk/ej/tVM7osH sOMa8eU+2igLBFlkzrghQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=eGdVp078I4ZphDrDut0Yip4ATyYHjfRyRHenSwjkmkTFzVLdBdxTgA/4ZdMWFG7II yhx3L/w5UfwXL7iSvg9rQ==
Received: from pzk34 (pzk34.prod.google.com [10.243.19.162]) by hpaq5.eem.corp.google.com with ESMTP id o36KR6KV020240 for <oauth@ietf.org>; Tue, 6 Apr 2010 22:27:07 +0200
Received: by pzk34 with SMTP id 34so327963pzk.20 for <oauth@ietf.org>; Tue, 06 Apr 2010 13:27:06 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.125.14 with HTTP; Tue, 6 Apr 2010 13:26:46 -0700 (PDT)
In-Reply-To: <4BBB8DE8.8080803@lodderstedt.net>
References: <C7E0CAEF.29FA4%atom@yahoo-inc.com> <4BBB8214.6060100@lodderstedt.net>  <y2zcb5f7a381004061154l2328c3e0ma8d96202596244f4@mail.gmail.com>  <y2nd37b4b431004061204p692af347h9de510184e71cc3f@mail.gmail.com>  <4BBB8DE8.8080803@lodderstedt.net>
From: John Panzer <jpanzer@google.com>
Date: Tue, 6 Apr 2010 13:26:46 -0700
Received: by 10.141.5.9 with SMTP id h9mr6073828rvi.12.1270585626155; Tue, 06  Apr 2010 13:27:06 -0700 (PDT)
Message-ID: <p2kcb5f7a381004061326r99583b14la7465215b29c896b@mail.gmail.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Content-Type: multipart/alternative; boundary=000e0cd0eb46e75a0004839744eb
X-System-Of-Record: true
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 20:30:23 -0000

--000e0cd0eb46e75a0004839744eb
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

On Tue, Apr 6, 2010 at 12:39 PM, Torsten Lodderstedt <
torsten@lodderstedt.net> wrote:

> Hi Blaine,
>
>  My take on this is that MUSTs MAY be ignored. ;-)
>>
>> To echo John's concerns here, the worst-case scenario is that client
>> libraries implement "no SSL present" as a gentle reminder warning with
>> a flag (possibly the default) to disable those HTTPS warnings. Clients
>>
>>
> I don't understand your objections. If a resource provider decides to
> support HTTPS only, no client w/o HTTPS support can connect thus
> circumventing this policy.


It is possible to 'support' HTTPS but not check certificates.  Would that b=
e
acceptable to servers supporting HTTPS only?  (No.)


>
>  that behave in that way should be flagged as non-compliant and
>> publicly humiliated.
>>
> agreed :-)
>
>  If we just write SHOULD for HTTPS/secure channel
>> support, then those clients are acting "properly."
>>
>>
> Why not explicitly state in the spec that HTTPS support is a MUST HAVE fo=
r
> libraries?


This would also mirror the existing de facto situation for web browsers, al=
l
of which support HTTPS on demand.


>
>  If WRAP is aiming to just be a replacement for Cookie auth, then why
>> don't we just add a redirection profile for issuing cookies? They work
>> now, refreshing them is built-in, etc, etc. Instead, what we're trying
>> to do is build something better, more secure, and more aligned with
>> the sorts of behaviours we see and want to encourage on the web.
>>
>>
> There are a variety of deployment scenarios for OAuth2 (e.g. internet
> small/large, intranet) as well as replay countermeasures (encryption,
> short-living tokens, restricted permissions, ...). Can we really
> anticipate/consider all of them and select HTTPS as the only solution? Ev=
en
> the spec for BASIC-Authentication (http://www.ietf.org/rfc/rfc2617.txt)
> does not force a certain mean of transport protection. It just recommends=
 to
> consider security enhancements:
>
> ---- from http://www.ietf.org/rfc/rfc2617.txt
>
>   The Basic authentication scheme is not a secure method of user
>   authentication, nor does it in any way protect the entity, which is
>   transmitted in cleartext across the physical network used as the
>   carrier. HTTP does not prevent additional authentication schemes and
>   encryption mechanisms from being employed to increase security or the
>   addition of enhancements (such as schemes to use one-time passwords)
>   to Basic authentication.
>
>   The most serious flaw in Basic authentication is that it results in
>   the essentially cleartext transmission of the user's password over
>   the physical network. It is this problem which Digest Authentication
>   attempts to address.
>
>   Because Basic authentication involves the cleartext transmission of
>   passwords it SHOULD NOT be used (without enhancements) to protect
>   sensitive or valuable information.
>
> ----
> HTTPS is state of the art and should from in my opinion be the
> _recommended_ option. This leaves implementors enough freedom to use othe=
r
> security measures where neccessary/sufficient/applicable.
>
> regards,
> Torsten.
>
>  b.
>>
>> On 6 April 2010 11:54, John Panzer<jpanzer@google.com>  wrote:
>>
>>
>>> My $.02:  SHOULD is okay, as long as all clients MUST support HTTPS.
>>>  E.g.,
>>> SHOULD for service providers, MUST support for clients.
>>> Otherwise, you will end up with clients that don't support https or don=
't
>>> do
>>> it properly.  (E.g., don't bother to check certificates.)  Which hurts
>>> security for service providers that do want SSL.
>>>
>>> On Tue, Apr 6, 2010 at 11:48 AM, Torsten Lodderstedt
>>> <torsten@lodderstedt.net>  wrote:
>>>
>>>
>>>> +1  for the standard should recommand HTTPS or comparable means of
>>>> transport protection but not require it.
>>>>
>>>> This requirement does not result in any benefit for the specification =
by
>>>> itself (e.g. simplification). Therefore, the decision to use HTTPS or
>>>> any
>>>> other means should be up to the service providers based on its securit=
y
>>>> considerations.
>>>>
>>>> One of the biggest differences between OAuth2 and WRAP is that OAuth2
>>>> requires that Protected Resources be accessed using HTTPS if no
>>>> signature is
>>>> being used. Bullet Point #2 in Section 1.2 says:
>>>>
>>>>    4.  Don't allow bearer tokens without either SSL and/or signatures.
>>>>        While some providers may offer this ability, they should be out
>>>>        of spec for doing so though technically it won't break the flow=
s.
>>>>
>>>> While I personally think that requiring SSL is a fantastic idea, and
>>>> it=92s
>>>> very hard for me to argue against it, however....
>>>>
>>>> One of the goals for WRAP was to define a standard AuthZ interface for
>>>> APIs which matched what we currently have on the Web. WRAP protected
>>>> APIs
>>>> are intended to be a replacement for screen scraping.
>>>>
>>>> On the web, almost all websites implement Cookie Auth. Specifically,
>>>> when
>>>> you log into a website, the browser is issued a bearer token, called a
>>>> Cookie, and the browser is able to access Protected Resources by using
>>>> the
>>>> Cookie as the credential.
>>>>
>>>> The WRAP access token is intended to be a direct replacement for the
>>>> HTTP
>>>> Cookie. A client should be able to present its bearer token (a WRAP
>>>> Access
>>>> Token or an HTTP Cookie) without having to sign the request.
>>>>
>>>> While I certainly think that requiring SSL would be a huge improvement
>>>> in
>>>> internet security, HTTP does not require SSL, and since WRAP was
>>>> intended to
>>>> be a replacement for HTTP Cookie Auth, then OAuth2 should also not
>>>> require
>>>> HTTPS.
>>>>
>>>> Yes, dropping the SSL requirement isn=92t optimal, but again the inten=
t
>>>> with
>>>> WRAP was to replace HTTP Cookie auth, and it should be up to the servi=
ce
>>>> provider to require HTTPS when applicable.
>>>>
>>>> Allen
>>>>
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>
>>>>
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>
>>>>
>>>>
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>>
>>>
>>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--000e0cd0eb46e75a0004839744eb
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

On Tue, Apr 6, 2010 at 12:39 PM, Torsten Lodderstedt <span dir=3D"ltr">&lt;=
<a href=3D"mailto:torsten@lodderstedt.net">torsten@lodderstedt.net</a>&gt;<=
/span> wrote:<br><div class=3D"gmail_quote"><blockquote class=3D"gmail_quot=
e" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"=
>

Hi Blaine,<div class=3D"im"><br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
My take on this is that MUSTs MAY be ignored. ;-)<br>
<br>
To echo John&#39;s concerns here, the worst-case scenario is that client<br=
>
libraries implement &quot;no SSL present&quot; as a gentle reminder warning=
 with<br>
a flag (possibly the default) to disable those HTTPS warnings. Clients<br>
 =A0 <br>
</blockquote></div>
I don&#39;t understand your objections. If a resource provider decides to s=
upport HTTPS only, no client w/o HTTPS support can connect thus circumventi=
ng this policy.</blockquote><div><br></div><div>It is possible to &#39;supp=
ort&#39; HTTPS but not check certificates. =A0Would that be acceptable to s=
ervers supporting HTTPS only? =A0(No.)</div>

<div>=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;=
border-left:1px #ccc solid;padding-left:1ex;"><div class=3D"im"><br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
that behave in that way should be flagged as non-compliant and<br>
publicly humiliated.<br>
</blockquote></div>
agreed :-)<div class=3D"im"><br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
If we just write SHOULD for HTTPS/secure channel<br>
support, then those clients are acting &quot;properly.&quot;<br>
 =A0 <br>
</blockquote></div>
Why not explicitly state in the spec that HTTPS support is a MUST HAVE for =
libraries?</blockquote><div><br></div><div>This would also mirror the exist=
ing de facto situation for web browsers, all of which support HTTPS on dema=
nd.</div>

<div>=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;=
border-left:1px #ccc solid;padding-left:1ex;"><div class=3D"im"><br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
If WRAP is aiming to just be a replacement for Cookie auth, then why<br>
don&#39;t we just add a redirection profile for issuing cookies? They work<=
br>
now, refreshing them is built-in, etc, etc. Instead, what we&#39;re trying<=
br>
to do is build something better, more secure, and more aligned with<br>
the sorts of behaviours we see and want to encourage on the web.<br>
 =A0 <br>
</blockquote></div>
There are a variety of deployment scenarios for OAuth2 (e.g. internet small=
/large, intranet) as well as replay countermeasures (encryption, short-livi=
ng tokens, restricted permissions, ...). Can we really anticipate/consider =
all of them and select HTTPS as the only solution? Even the spec for BASIC-=
Authentication (<a href=3D"http://www.ietf.org/rfc/rfc2617.txt" target=3D"_=
blank">http://www.ietf.org/rfc/rfc2617.txt</a>) does not force a certain me=
an of transport protection. It just recommends to consider security enhance=
ments:<br>


<br>
---- from <a href=3D"http://www.ietf.org/rfc/rfc2617.txt" target=3D"_blank"=
>http://www.ietf.org/rfc/rfc2617.txt</a><br>
<br>
 =A0 The Basic authentication scheme is not a secure method of user<br>
 =A0 authentication, nor does it in any way protect the entity, which is<br=
>
 =A0 transmitted in cleartext across the physical network used as the<br>
 =A0 carrier. HTTP does not prevent additional authentication schemes and<b=
r>
 =A0 encryption mechanisms from being employed to increase security or the<=
br>
 =A0 addition of enhancements (such as schemes to use one-time passwords)<b=
r>
 =A0 to Basic authentication.<br>
<br>
 =A0 The most serious flaw in Basic authentication is that it results in<br=
>
 =A0 the essentially cleartext transmission of the user&#39;s password over=
<br>
 =A0 the physical network. It is this problem which Digest Authentication<b=
r>
 =A0 attempts to address.<br>
<br>
 =A0 Because Basic authentication involves the cleartext transmission of<br=
>
 =A0 passwords it SHOULD NOT be used (without enhancements) to protect<br>
 =A0 sensitive or valuable information.<br>
<br>
----<br>
HTTPS is state of the art and should from in my opinion be the _recommended=
_ option. This leaves implementors enough freedom to use other security mea=
sures where neccessary/sufficient/applicable.<br>
<br>
regards,<br><font color=3D"#888888">
Torsten.</font><div><div></div><div class=3D"h5"><br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
b.<br>
<br>
On 6 April 2010 11:54, John Panzer&lt;<a href=3D"mailto:jpanzer@google.com"=
 target=3D"_blank">jpanzer@google.com</a>&gt; =A0wrote:<br>
 =A0 <br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
My $.02: =A0SHOULD is okay, as long as all clients MUST support HTTPS. =A0E=
.g.,<br>
SHOULD for service providers, MUST support for clients.<br>
Otherwise, you will end up with clients that don&#39;t support https or don=
&#39;t do<br>
it properly. =A0(E.g., don&#39;t bother to check certificates.) =A0Which hu=
rts<br>
security for service providers that do want SSL.<br>
<br>
On Tue, Apr 6, 2010 at 11:48 AM, Torsten Lodderstedt<br>
&lt;<a href=3D"mailto:torsten@lodderstedt.net" target=3D"_blank">torsten@lo=
dderstedt.net</a>&gt; =A0wrote:<br>
 =A0 =A0 <br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
+1 =A0for the standard should recommand HTTPS or comparable means of<br>
transport protection but not require it.<br>
<br>
This requirement does not result in any benefit for the specification by<br=
>
itself (e.g. simplification). Therefore, the decision to use HTTPS or any<b=
r>
other means should be up to the service providers based on its security<br>
considerations.<br>
<br>
One of the biggest differences between OAuth2 and WRAP is that OAuth2<br>
requires that Protected Resources be accessed using HTTPS if no signature i=
s<br>
being used. Bullet Point #2 in Section 1.2 says:<br>
<br>
 =A0 =A04. =A0Don&#39;t allow bearer tokens without either SSL and/or signa=
tures.<br>
 =A0 =A0 =A0 =A0While some providers may offer this ability, they should be=
 out<br>
 =A0 =A0 =A0 =A0of spec for doing so though technically it won&#39;t break =
the flows.<br>
<br>
While I personally think that requiring SSL is a fantastic idea, and it=92s=
<br>
very hard for me to argue against it, however....<br>
<br>
One of the goals for WRAP was to define a standard AuthZ interface for<br>
APIs which matched what we currently have on the Web. WRAP protected APIs<b=
r>
are intended to be a replacement for screen scraping.<br>
<br>
On the web, almost all websites implement Cookie Auth. Specifically, when<b=
r>
you log into a website, the browser is issued a bearer token, called a<br>
Cookie, and the browser is able to access Protected Resources by using the<=
br>
Cookie as the credential.<br>
<br>
The WRAP access token is intended to be a direct replacement for the HTTP<b=
r>
Cookie. A client should be able to present its bearer token (a WRAP Access<=
br>
Token or an HTTP Cookie) without having to sign the request.<br>
<br>
While I certainly think that requiring SSL would be a huge improvement in<b=
r>
internet security, HTTP does not require SSL, and since WRAP was intended t=
o<br>
be a replacement for HTTP Cookie Auth, then OAuth2 should also not require<=
br>
HTTPS.<br>
<br>
Yes, dropping the SSL requirement isn=92t optimal, but again the intent wit=
h<br>
WRAP was to replace HTTP Cookie auth, and it should be up to the service<br=
>
provider to require HTTPS when applicable.<br>
<br>
Allen<br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br>
 =A0 =A0 =A0 <br>
</blockquote>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br>
<br>
 =A0 =A0 <br>
</blockquote>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
 =A0 <br>
</blockquote>
<br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br>

--000e0cd0eb46e75a0004839744eb--

From eran@hueniverse.com  Tue Apr  6 14:29:46 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 737E73A6960 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 14:29:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.095
X-Spam-Level: 
X-Spam-Status: No, score=-2.095 tagged_above=-999 required=5 tests=[AWL=0.504,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id j195x1-uwt0x for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 14:29:45 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 1223B3A69D7 for <oauth@ietf.org>; Tue,  6 Apr 2010 14:29:44 -0700 (PDT)
Received: (qmail 10208 invoked from network); 6 Apr 2010 21:29:42 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 6 Apr 2010 21:29:42 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Tue, 6 Apr 2010 14:29:14 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Blaine Cook <romeda@gmail.com>, OAuth WG <oauth@ietf.org>
Date: Tue, 6 Apr 2010 14:29:10 -0700
Thread-Topic: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
Thread-Index: AcrVvGGnORPAYMGXRDa753m1dokfPAAE9A1X
Message-ID: <C7E0F5B6.31DAC%eran@hueniverse.com>
In-Reply-To: <y2nd37b4b431004061204p692af347h9de510184e71cc3f@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 21:29:46 -0000

IETF standards can do one of two things: they can set a high level of
security or they can clearly point out where they are insecure. If we do no=
t
require HTTPS for bearer tokens, we will have to put a big disclaimer that
doing so without some other protections is insecure.

The choice is between setting a higher bar and letting those who don't use
HTTPS be called 'not in compliance', or set a low bar and put a SHOULD with
a strongly worded warning.

I strongly believe we have a responsibility to improve internet security.
The only tool we are given in this working group is calling an
implementation 'not in compliance'. Calling something insecure does not
deter developers from doing stupid things (hence the wide use of Basic auth
where it clearly must not be used per the spec). Calling something
in-compliance when it is not falls under false marketing...

At the end, you are free to deploy whatever you want. But if you are going
to deploy OAuth in an insecure way (regardless of how insecure your other
interfaces are), you don't get say it is compliant. Is anyone here na=EFve
enough to think that the first time such an insecure OAuth token is stolen
and abused, people will care that it was ignoring the SHOULD? The company
will say that their implementation is in compliance and move the blame on t=
o
OAuth.

Go implement whatever you want. But the spec should set the highest
practical bar it can, and requiring HTTPS is trivial.

As a practical note, if the WG reaches consensus to drop the MUST, I would
ask the chairs to ask the security area and IESG to provide guidance whethe=
r
they would approve such document. The IESG did not approve OAuth 1.0a for
publication as an RFC until this was changed to a MUST (for PLAINTEXT) amon=
g
other comments, and that with a strong warning.

There is also an on going effort to improve cookie security. Do we really
want OAuth to become the next weakest link?

EHL


On 4/6/10 12:04 PM, "Blaine Cook" <romeda@gmail.com> wrote:

> My take on this is that MUSTs MAY be ignored. ;-)
>=20
> To echo John's concerns here, the worst-case scenario is that client
> libraries implement "no SSL present" as a gentle reminder warning with
> a flag (possibly the default) to disable those HTTPS warnings. Clients
> that behave in that way should be flagged as non-compliant and
> publicly humiliated. If we just write SHOULD for HTTPS/secure channel
> support, then those clients are acting "properly."
>=20
> If WRAP is aiming to just be a replacement for Cookie auth, then why
> don't we just add a redirection profile for issuing cookies? They work
> now, refreshing them is built-in, etc, etc. Instead, what we're trying
> to do is build something better, more secure, and more aligned with
> the sorts of behaviours we see and want to encourage on the web.
>=20
> b.
>=20
> On 6 April 2010 11:54, John Panzer <jpanzer@google.com> wrote:
>> My $.02: =A0SHOULD is okay, as long as all clients MUST support HTTPS. =
=A0E.g.,
>> SHOULD for service providers, MUST support for clients.
>> Otherwise, you will end up with clients that don't support https or don'=
t do
>> it properly. =A0(E.g., don't bother to check certificates.) =A0Which hur=
ts
>> security for service providers that do want SSL.
>>=20
>> On Tue, Apr 6, 2010 at 11:48 AM, Torsten Lodderstedt
>> <torsten@lodderstedt.net> wrote:
>>>=20
>>> +1=A0 for the standard should recommand HTTPS or comparable means of
>>> transport protection but not require it.
>>>=20
>>> This requirement does not result in any benefit for the specification b=
y
>>> itself (e.g. simplification). Therefore, the decision to use HTTPS or a=
ny
>>> other means should be up to the service providers based on its security
>>> considerations.
>>>=20
>>> One of the biggest differences between OAuth2 and WRAP is that OAuth2
>>> requires that Protected Resources be accessed using HTTPS if no signatu=
re is
>>> being used. Bullet Point #2 in Section 1.2 says:
>>>=20
>>> =A0=A0=A04. =A0Don't allow bearer tokens without either SSL and/or sign=
atures.
>>> =A0=A0=A0=A0=A0=A0=A0While some providers may offer this ability, they =
should be out
>>> =A0=A0=A0=A0=A0=A0=A0of spec for doing so though technically it won't b=
reak the flows.
>>>=20
>>> While I personally think that requiring SSL is a fantastic idea, and it=
=B9s
>>> very hard for me to argue against it, however....
>>>=20
>>> One of the goals for WRAP was to define a standard AuthZ interface for
>>> APIs which matched what we currently have on the Web. WRAP protected AP=
Is
>>> are intended to be a replacement for screen scraping.
>>>=20
>>> On the web, almost all websites implement Cookie Auth. Specifically, wh=
en
>>> you log into a website, the browser is issued a bearer token, called a
>>> Cookie, and the browser is able to access Protected Resources by using =
the
>>> Cookie as the credential.
>>>=20
>>> The WRAP access token is intended to be a direct replacement for the HT=
TP
>>> Cookie. A client should be able to present its bearer token (a WRAP Acc=
ess
>>> Token or an HTTP Cookie) without having to sign the request.
>>>=20
>>> While I certainly think that requiring SSL would be a huge improvement =
in
>>> internet security, HTTP does not require SSL, and since WRAP was intend=
ed to
>>> be a replacement for HTTP Cookie Auth, then OAuth2 should also not requ=
ire
>>> HTTPS.
>>>=20
>>> Yes, dropping the SSL requirement isn=B9t optimal, but again the intent=
 with
>>> WRAP was to replace HTTP Cookie auth, and it should be up to the servic=
e
>>> provider to require HTTPS when applicable.
>>>=20
>>> Allen
>>>=20
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>=20
>>>=20
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>=20
>>=20
>>=20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>=20
>>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>=20


From eran@hueniverse.com  Tue Apr  6 14:30:47 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A6C923A69D7 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 14:30:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.151
X-Spam-Level: 
X-Spam-Status: No, score=-2.151 tagged_above=-999 required=5 tests=[AWL=0.447,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 88RefJlLJhtE for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 14:30:45 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id BA6D43A6960 for <oauth@ietf.org>; Tue,  6 Apr 2010 14:30:45 -0700 (PDT)
Received: (qmail 2532 invoked from network); 6 Apr 2010 21:30:43 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 6 Apr 2010 21:30:43 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Tue, 6 Apr 2010 14:30:43 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Date: Tue, 6 Apr 2010 14:30:39 -0700
Thread-Topic: [OAUTH-WG] Scope
Thread-Index: AcrVcza+YwTdl+euRjGbyrwIkY68RwAXTAod
Message-ID: <C7E0F60F.31DAE%eran@hueniverse.com>
In-Reply-To: <4BBB0B97.6090704@lodderstedt.net>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E0F60F31DAEeranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 21:30:47 -0000

--_000_C7E0F60F31DAEeranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Like anything else, we need proposed text to discuss. Discussing a list of =
attributes is rarely practical. Discussing a concrete proposal usually work=
s...

EHL


On 4/6/10 3:23 AM, "Torsten Lodderstedt" <torsten@lodderstedt.net> wrote:

Hi Eran,

> I agree that this is the right approach (separate parameters to well defi=
ned
> scope attributes). However, so far the only well-defined attribute is a
> protected segment name (aka realm).
>
how shall we proceed in order to come to more well-defined attributes? I
already proposed some, can we discuss them?

regards,
Torsten.
> EHL
>
>
> On 4/3/10 1:25 AM, "Torsten Lodderstedt"<torsten@lodderstedt.net>  wrote:
>
>
>> You are right, there are different aspects of scope. Why not define one
>> optional parameter per scope aspect?
>>
>> Based on our experiences with implementing OAuth 1.0a at Deutsche
>> Telekom, I see the need for the following parameters
>> - resource: specification of the protected resource to be accessed
>> (type: URI or opaque string)
>> - requested permissions:  permissions on this resource the client want
>> to get authorized by the user (comma-separated list of opaque strings).
>> The range of permissions is defined by the resource as part of its API
>> design. This could be something like "upload", "download", "sent", or
>> "establish connection". The set of available permissions might be
>> advertised by way of a WWW-Authenticate parameter (status code 401), as
>> part of a 403 response, or in a XRDS discovery process.
>> - requested duration: specification of the token duration the client
>> asks for
>>
>> regards,
>> Torsten.
>>
>>> ...
>>> There isn't one - its service specific.
>>>
>>> The easy ones are:
>>>
>>> Duration
>>> List of protected resources, URI wildcard, or name of protected segment
>>> Read/write access or HTTP methods
>>>
>>> 3 years ago when we dropped the scope/token_attributes parameter from t=
he
>>> spec we decided to bring it back when we have enough deployment experie=
nce.
>>> I strongly believe this rule still holds.
>>>
>>> It would be great if those with OAuth 1.0a deployments can share how th=
ey
>>> specify scope.
>>>
>>> EHL
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>>
>>
>>
>>
>




--_000_C7E0F60F31DAEeranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Scope</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>Like anything else, we need proposed text to discuss. Discussing a li=
st of attributes is rarely practical. Discussing a concrete proposal usuall=
y works...<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/6/10 3:23 AM, &quot;Torsten Lodderstedt&quot; &lt;<a href=3D"torsten@l=
odderstedt.net">torsten@lodderstedt.net</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>Hi Eran,<BR>
<BR>
&gt; I agree that this is the right approach (separate parameters to well d=
efined<BR>
&gt; scope attributes). However, so far the only well-defined attribute is =
a<BR>
&gt; protected segment name (aka realm).<BR>
&gt; &nbsp;&nbsp;<BR>
how shall we proceed in order to come to more well-defined attributes? I<BR=
>
already proposed some, can we discuss them?<BR>
<BR>
regards,<BR>
Torsten.<BR>
&gt; EHL<BR>
&gt;<BR>
&gt;<BR>
&gt; On 4/3/10 1:25 AM, &quot;Torsten Lodderstedt&quot;&lt;<a href=3D"torst=
en@lodderstedt.net">torsten@lodderstedt.net</a>&gt; &nbsp;wrote:<BR>
&gt;<BR>
&gt; &nbsp;&nbsp;<BR>
&gt;&gt; You are right, there are different aspects of scope. Why not defin=
e one<BR>
&gt;&gt; optional parameter per scope aspect?<BR>
&gt;&gt;<BR>
&gt;&gt; Based on our experiences with implementing OAuth 1.0a at Deutsche<=
BR>
&gt;&gt; Telekom, I see the need for the following parameters<BR>
&gt;&gt; - resource: specification of the protected resource to be accessed=
<BR>
&gt;&gt; (type: URI or opaque string)<BR>
&gt;&gt; - requested permissions: &nbsp;permissions on this resource the cl=
ient want<BR>
&gt;&gt; to get authorized by the user (comma-separated list of opaque stri=
ngs).<BR>
&gt;&gt; The range of permissions is defined by the resource as part of its=
 API<BR>
&gt;&gt; design. This could be something like &quot;upload&quot;, &quot;dow=
nload&quot;, &quot;sent&quot;, or<BR>
&gt;&gt; &quot;establish connection&quot;. The set of available permissions=
 might be<BR>
&gt;&gt; advertised by way of a WWW-Authenticate parameter (status code 401=
), as<BR>
&gt;&gt; part of a 403 response, or in a XRDS discovery process.<BR>
&gt;&gt; - requested duration: specification of the token duration the clie=
nt<BR>
&gt;&gt; asks for<BR>
&gt;&gt;<BR>
&gt;&gt; regards,<BR>
&gt;&gt; Torsten.<BR>
&gt;&gt; &nbsp;&nbsp;&nbsp;&nbsp;<BR>
&gt;&gt;&gt; ...<BR>
&gt;&gt;&gt; There isn't one - its service specific.<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; The easy ones are:<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; Duration<BR>
&gt;&gt;&gt; List of protected resources, URI wildcard, or name of protecte=
d segment<BR>
&gt;&gt;&gt; Read/write access or HTTP methods<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; 3 years ago when we dropped the scope/token_attributes paramet=
er from the<BR>
&gt;&gt;&gt; spec we decided to bring it back when we have enough deploymen=
t experience.<BR>
&gt;&gt;&gt; I strongly believe this rule still holds.<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; It would be great if those with OAuth 1.0a deployments can sha=
re how they<BR>
&gt;&gt;&gt; specify scope.<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; EHL<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; _______________________________________________<BR>
&gt;&gt;&gt; OAuth mailing list<BR>
&gt;&gt;&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt;&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https:=
//www.ietf.org/mailman/listinfo/oauth</a><BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; &nbsp;&nbsp;&nbsp;&nbsp;<BR>
&gt; &nbsp;&nbsp;<BR>
<BR>
<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E0F60F31DAEeranhueniversecom_--

From eran@hueniverse.com  Tue Apr  6 14:41:13 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A2E8B3A6A01 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 14:41:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.196
X-Spam-Level: 
X-Spam-Status: No, score=-2.196 tagged_above=-999 required=5 tests=[AWL=0.403,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id V-cJZ8QOydKp for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 14:41:12 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 7E1853A699A for <oauth@ietf.org>; Tue,  6 Apr 2010 14:41:12 -0700 (PDT)
Received: (qmail 15689 invoked from network); 6 Apr 2010 21:41:10 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 6 Apr 2010 21:41:10 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Tue, 6 Apr 2010 14:41:09 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Dick Hardt <dick.hardt@gmail.com>
Date: Tue, 6 Apr 2010 14:41:06 -0700
Thread-Topic: [OAUTH-WG] Scope using Realm idea
Thread-Index: AcrVmmXaTXWygkywRLqWmrZBqlcfdgAN3bIP
Message-ID: <C7E0F882.31DB3%eran@hueniverse.com>
In-Reply-To: <0E777AD1-500D-4FEA-BBAB-069060A40D73@gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 21:41:13 -0000

RFC 2617 defines what a realm is - a set of resources sharing the same set
of credentials. It saves the client the need to prompt the user again for
their credentials when browsing a site across resources. Because sending
credentials to the wrong place is dangerous, realms are hard to use because
the client must take into account more than just the same realm but also th=
e
domain name, etc.

Most of the example people gave for their use of scope where in practice a
segment ('photos', 'contacts', etc.). Usually each of these groups use
different APIs (a single API call that can bring both a photo and contact,
but only a photo if using a limited token without contact access, is rare).

This is why I suggested using realm as a well defined subset of what people
here refer to as 'scope'.

I don't like the idea of defining a parameter that requires internal
structure as opaque and leaving it up to the individual services to define.
This doesn't help interop. If you have to define the structure of the scope
parameter, you might as well define the parameter as well.

The argument that having a consistent parameter with an opaque value help
libraries is silly. Good libraries will pass along any custom parameters
they found to the higher level. This adds nothing but is likely to cause
problems when people code libraries with scope structure specific to one
company. It will also cause confusion when two scopes mean completely
different things across services.


EHL


On 4/6/10 8:03 AM, "Dick Hardt" <dick.hardt@gmail.com> wrote:

>=20
>=20
> On 2010-04-06, at 12:16 AM, Eran Hammer-Lahav wrote:
>=20
>>=20
>>=20
>>=20
>> On 4/2/10 3:27 PM, "Dick Hardt" <dick.hardt@gmail.com> wrote:
>>=20
>>> There are times when a resource may have different scope for different =
kinds
>>> of access. realm !=3D scope
>>=20
>> No. Realm is a subset. It is what people define as the protected segment
>> name.
>=20
>  Different Protected Resources could require the same scope, so I see rea=
lm
> and scope as being orthogonal.
>=20
>> For any other scope attribute we need to first define it.
>=20
> Why? Scope will often be application specific.
>=20
>=20


From eran@hueniverse.com  Tue Apr  6 14:43:17 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2CA323A6958 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 14:43:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.232
X-Spam-Level: 
X-Spam-Status: No, score=-2.232 tagged_above=-999 required=5 tests=[AWL=0.366,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wLzerW5kD7Wd for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 14:43:13 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 1E01B3A6A2E for <oauth@ietf.org>; Tue,  6 Apr 2010 14:43:13 -0700 (PDT)
Received: (qmail 16855 invoked from network); 6 Apr 2010 21:43:11 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 6 Apr 2010 21:43:11 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Tue, 6 Apr 2010 14:42:54 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Luke Shepard <lshepard@facebook.com>, Dick Hardt <dick.hardt@gmail.com>
Date: Tue, 6 Apr 2010 14:42:50 -0700
Thread-Topic: [OAUTH-WG] Scope using Realm idea
Thread-Index: AcrVnfQ34LAmIKgqTI2e0H2/hyNDyAANCZpx
Message-ID: <C7E0F8EA.31DB5%eran@hueniverse.com>
In-Reply-To: <27B54FC8-6C50-4283-89AF-6EB44A6FD006@facebook.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E0F8EA31DB5eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 21:43:17 -0000

--_000_C7E0F8EA31DB5eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

The question is how your APIs are structure. Do you have APIs that require =
multiple "scopes" in a single call?

EHL


On 4/6/10 8:29 AM, "Luke Shepard" <lshepard@facebook.com> wrote:

For Facebook at least, we are currently planning to use scope as a comma-se=
parated list of permissions from this set: http://wiki.developers.facebook.=
com/index.php/Extended_permissions

For instance:

        oauth_scope=3Dread_stream,email,photo_upload

I'm not sure if that maps to realm exactly.

On Apr 6, 2010, at 8:03 AM, Dick Hardt wrote:

>
> On 2010-04-06, at 12:16 AM, Eran Hammer-Lahav wrote:
>
>>
>>
>>
>> On 4/2/10 3:27 PM, "Dick Hardt" <dick.hardt@gmail.com> wrote:
>>
>>> There are times when a resource may have different scope for different =
kinds
>>> of access. realm !=3D scope
>>
>> No. Realm is a subset. It is what people define as the protected segment
>> name.
>
> Different Protected Resources could require the same scope, so I see real=
m and scope as being orthogonal.
>
>> For any other scope attribute we need to first define it.
>
> Why? Scope will often be application specific.
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth



--_000_C7E0F8EA31DB5eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Scope using Realm idea</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>The question is how your APIs are structure. Do you have APIs that re=
quire multiple &#8220;scopes&#8221; in a single call?<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/6/10 8:29 AM, &quot;Luke Shepard&quot; &lt;<a href=3D"lshepard@faceboo=
k.com">lshepard@facebook.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>For Facebook at least, we are currently pla=
nning to use scope as a comma-separated list of permissions from this set: =
<a href=3D"http://wiki.developers.facebook.com/index.php/Extended_permissio=
ns">http://wiki.developers.facebook.com/index.php/Extended_permissions</a><=
BR>
<BR>
For instance:<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_scope=3Dread_stream,e=
mail,photo_upload<BR>
<BR>
I'm not sure if that maps to realm exactly.<BR>
<BR>
On Apr 6, 2010, at 8:03 AM, Dick Hardt wrote:<BR>
<BR>
&gt;<BR>
&gt; On 2010-04-06, at 12:16 AM, Eran Hammer-Lahav wrote:<BR>
&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; On 4/2/10 3:27 PM, &quot;Dick Hardt&quot; &lt;<a href=3D"dick.hard=
t@gmail.com">dick.hardt@gmail.com</a>&gt; wrote:<BR>
&gt;&gt;<BR>
&gt;&gt;&gt; There are times when a resource may have different scope for d=
ifferent kinds<BR>
&gt;&gt;&gt; of access. realm !=3D scope<BR>
&gt;&gt;<BR>
&gt;&gt; No. Realm is a subset. It is what people define as the protected s=
egment<BR>
&gt;&gt; name.<BR>
&gt;<BR>
&gt; Different Protected Resources could require the same scope, so I see r=
ealm and scope as being orthogonal.<BR>
&gt;<BR>
&gt;&gt; For any other scope attribute we need to first define it.<BR>
&gt;<BR>
&gt; Why? Scope will often be application specific.<BR>
&gt;<BR>
&gt; _______________________________________________<BR>
&gt; OAuth mailing list<BR>
&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ie=
tf.org/mailman/listinfo/oauth</a><BR>
<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E0F8EA31DB5eranhueniversecom_--

From eran@hueniverse.com  Tue Apr  6 14:44:41 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E5F343A6958 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 14:44:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.263
X-Spam-Level: 
X-Spam-Status: No, score=-2.263 tagged_above=-999 required=5 tests=[AWL=0.336,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HlSvaIm38QK6 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 14:44:41 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 0D0B93A6A45 for <oauth@ietf.org>; Tue,  6 Apr 2010 14:44:38 -0700 (PDT)
Received: (qmail 17669 invoked from network); 6 Apr 2010 21:44:36 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 6 Apr 2010 21:44:36 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Tue, 6 Apr 2010 14:44:30 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Evan Gilbert <uidude@google.com>
Date: Tue, 6 Apr 2010 14:44:27 -0700
Thread-Topic: [OAUTH-WG] Comments on Web Callback & Client Flow
Thread-Index: AcrVkitujVD7sKHGQ5O78PgMYNSjcAAQCkBL
Message-ID: <C7E0F94B.31DB6%eran@hueniverse.com>
In-Reply-To: <m2mc8689b661004060704se500b9f8l76cdc11f79757919@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: Eran Hammer-Lahav <blade@yahoo-inc.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on Web Callback & Client Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 21:44:42 -0000

On 4/6/10 7:04 AM, "Evan Gilbert" <uidude@google.com> wrote:

>=20
>=20
> On Tue, Apr 6, 2010 at 12:21 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>> Hi Evan,
>>=20
>> On 4/5/10 4:28 PM, "Evan Gilbert" <uidude@google.com> wrote:
>>=20
>>> 2.4.1 Web Callback Flow & 2.4.2 Web Client Flow
>>> We should have an OPTIONAL username parameter:
>>> username
>>> =A0=A0The resource owner's username. The authorization server MUST only=
 send
>>> back
>>> refresh tokens or access tokens for this user.
>>>=20
>>> This is useful for clients where a user is already logged into a 3rd pa=
rty
>>> web
>>> site with a specific account, and the client wants the authorization to
>>> match
>>> the specific user.
>>=20
>> I think introducing the concept of user identity is more complex than ju=
st a
>> username parameter. I agree that it can be useful but we need a more
>> detailed discussion about this before we add it.
>=20
> I agree issues around user identity are complex.
>=20
> Would it help to spin up a separate discussion thread on this one issue?

That's one way. A more developed proposal is another.

EHL


From eran@hueniverse.com  Tue Apr  6 14:46:33 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 70CA23A6958 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 14:46:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.288
X-Spam-Level: 
X-Spam-Status: No, score=-2.288 tagged_above=-999 required=5 tests=[AWL=0.310,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bORxDsVZWRDe for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 14:46:29 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id BDFDC3A6A2B for <oauth@ietf.org>; Tue,  6 Apr 2010 14:46:28 -0700 (PDT)
Received: (qmail 15992 invoked from network); 6 Apr 2010 21:46:26 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 6 Apr 2010 21:46:26 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Tue, 6 Apr 2010 14:46:26 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Luke Shepard <lshepard@facebook.com>
Date: Tue, 6 Apr 2010 14:46:23 -0700
Thread-Topic: [OAUTH-WG] Renaming expires to expires_in?
Thread-Index: AcrVnUFHfbQyCkOXQVChAWIe6+ALOQANVhNW
Message-ID: <C7E0F9BF.31DB9%eran@hueniverse.com>
In-Reply-To: <DD9BF2EB-0626-4FD4-B721-D31898D854AA@facebook.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E0F9BF31DB9eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Renaming expires to expires_in?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 21:46:33 -0000

--_000_C7E0F9BF31DB9eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

"The duration in seconds of the access token lifetime."

I liked 'lifetime' better than 'expires_in' (for no particular reason), but=
 lifetime can mean number of uses.

EHL


On 4/6/10 8:24 AM, "Luke Shepard" <lshepard@facebook.com> wrote:

Just curious, where did "duration" come from?

I hate to be picky, but I feel like "expires_in" is more clear than "durati=
on" ... if only because other protocols (OAuth 1.0a, OpenID, Facebook auth)=
 use "expires".

On Apr 6, 2010, at 12:11 AM, Eran Hammer-Lahav wrote:

Changed to 'duration'.

EHL


On 4/5/10 9:09 AM, "David Recordon" <davidrecordon@facebook.com <x-msg://35=
3/davidrecordon@facebook.com> > wrote:

As one of our engineers was implementing a client, they got confused about =
what was being returned by the expires parameter. Anyone object to renaming=
 it to expires_in so that it's clear that it isn't an absolute timestamp?

Thanks,
--David
_______________________________________________
OAuth mailing list
OAuth@ietf.org <x-msg://353/OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth

<ATT00001..txt>



--_000_C7E0F9BF31DB9eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Renaming expires to expires_in?</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>&#8220;The duration in seconds of the access token lifetime.&#8221;<B=
R>
<BR>
I liked &#8216;lifetime&#8217; better than &#8216;expires_in&#8217; (for no=
 particular reason), but lifetime can mean number of uses.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/6/10 8:24 AM, &quot;Luke Shepard&quot; &lt;<a href=3D"lshepard@faceboo=
k.com">lshepard@facebook.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>Just curious, where did &quot;duration&quot=
; come from?<BR>
<BR>
I hate to be picky, but I feel like &quot;expires_in&quot; is more clear th=
an &quot;duration&quot; ... if only because other protocols (OAuth 1.0a, Op=
enID, Facebook auth) use &quot;expires&quot;.<BR>
<BR>
On Apr 6, 2010, at 12:11 AM, Eran Hammer-Lahav wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>Changed to &#8216;duration&#8217;.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/5/10 9:09 AM, &quot;David Recordon&quot; &lt;<a href=3D"davidrecordon@=
facebook.com">davidrecordon@facebook.com</a> &lt;x-msg:<a href=3D"//353/dav=
idrecordon@facebook.com">//353/davidrecordon@facebook.com</a>&gt; &gt; wrot=
e:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>As one of our engineers was implementing a =
client, they got confused about what was being returned by the expires para=
meter. Anyone object to renaming it to expires_in so that it's clear that i=
t isn't an absolute timestamp?<BR>
<BR>
Thanks,<BR>
--David<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a> &lt;x-msg:<a href=3D"//353/OA=
uth@ietf.org">//353/OAuth@ietf.org</a>&gt; <BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial=
"><SPAN STYLE=3D'font-size:11pt'>&lt;ATT00001..txt&gt;<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial=
"><SPAN STYLE=3D'font-size:11pt'><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E0F9BF31DB9eranhueniversecom_--

From eran@hueniverse.com  Tue Apr  6 14:50:42 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 043A03A6A08 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 14:50:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.31
X-Spam-Level: 
X-Spam-Status: No, score=-2.31 tagged_above=-999 required=5 tests=[AWL=0.288,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id L6PRUo5INlMA for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 14:50:38 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id E05E13A68A4 for <oauth@ietf.org>; Tue,  6 Apr 2010 14:50:37 -0700 (PDT)
Received: (qmail 20260 invoked from network); 6 Apr 2010 21:50:35 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 6 Apr 2010 21:50:35 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Tue, 6 Apr 2010 14:50:22 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Brian Eaton <beaton@google.com>
Date: Tue, 6 Apr 2010 14:50:19 -0700
Thread-Topic: [OAUTH-WG] Scope using Realm idea
Thread-Index: AcrVkVHPq7saiwN9S6Kw17M6iGW1xwAQdRzN
Message-ID: <C7E0FAAB.31DBB%eran@hueniverse.com>
In-Reply-To: <r2pdaf5b9571004060658ic3fcf36aqf7003b1afdb364b2@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E0FAAB31DBBeranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 21:50:42 -0000

--_000_C7E0FAAB31DBBeranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

That's only when you need to trust the client. If your requirements demand =
registration, discovery is mostly pointless (other than dynamic configurati=
on).

EHL


On 4/6/10 6:58 AM, "Brian Eaton" <beaton@google.com> wrote:

Web clients are expected to have secrets or to have otherwise
registered with the AS.  In order for them to use those secrets, they
need to know the AS URL.

Cheers,
Brian

On Tue, Apr 6, 2010 at 1:23 AM, Eran Hammer-Lahav <eran@hueniverse.com> wro=
te:
> Why?
>
>
> On 4/6/10 12:58 AM, "Brian Eaton" <beaton@google.com> wrote:
>
> On Tue, Apr 6, 2010 at 12:47 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>> That's the same as what I have in the draft, only with a single endpoint
>> instead of two. Since we already have a 'mode' parameter (which I am
>> renaming to 'type'), that single endpoint can speak more than one flow.
>
> Note that the discovery flow I outlined only works for rich clients,
> and is completely insecure for other types of clients.
>
> In another thread Leif mentioned similar concerns.  I think they are
> justified.
>
> Cheers,
> Brian
>
>


--_000_C7E0FAAB31DBBeranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Scope using Realm idea</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>That&#8217;s only when you need to trust the client. If your requirem=
ents demand registration, discovery is mostly pointless (other than dynamic=
 configuration).<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/6/10 6:58 AM, &quot;Brian Eaton&quot; &lt;<a href=3D"beaton@google.com=
">beaton@google.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>Web clients are expected to have secrets or=
 to have otherwise<BR>
registered with the AS. &nbsp;In order for them to use those secrets, they<=
BR>
need to know the AS URL.<BR>
<BR>
Cheers,<BR>
Brian<BR>
<BR>
On Tue, Apr 6, 2010 at 1:23 AM, Eran Hammer-Lahav &lt;<a href=3D"eran@hueni=
verse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
&gt; Why?<BR>
&gt;<BR>
&gt;<BR>
&gt; On 4/6/10 12:58 AM, &quot;Brian Eaton&quot; &lt;<a href=3D"beaton@goog=
le.com">beaton@google.com</a>&gt; wrote:<BR>
&gt;<BR>
&gt; On Tue, Apr 6, 2010 at 12:47 AM, Eran Hammer-Lahav &lt;<a href=3D"eran=
@hueniverse.com">eran@hueniverse.com</a>&gt;<BR>
&gt; wrote:<BR>
&gt;&gt; That&#8217;s the same as what I have in the draft, only with a sin=
gle endpoint<BR>
&gt;&gt; instead of two. Since we already have a &#8216;mode&#8217; paramet=
er (which I am<BR>
&gt;&gt; renaming to &#8216;type&#8217;), that single endpoint can speak mo=
re than one flow.<BR>
&gt;<BR>
&gt; Note that the discovery flow I outlined only works for rich clients,<B=
R>
&gt; and is completely insecure for other types of clients.<BR>
&gt;<BR>
&gt; In another thread Leif mentioned similar concerns. =A0I think they are=
<BR>
&gt; justified.<BR>
&gt;<BR>
&gt; Cheers,<BR>
&gt; Brian<BR>
&gt;<BR>
&gt;<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E0FAAB31DBBeranhueniversecom_--

From mscurtescu@google.com  Tue Apr  6 14:58:27 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2C7703A68A5 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 14:58:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level: 
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4LvapDcYAFpu for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 14:58:26 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id BDE423A689C for <oauth@ietf.org>; Tue,  6 Apr 2010 14:58:25 -0700 (PDT)
Received: from kpbe11.cbf.corp.google.com (kpbe11.cbf.corp.google.com [172.25.105.75]) by smtp-out.google.com with ESMTP id o36LwJDM007530 for <oauth@ietf.org>; Tue, 6 Apr 2010 14:58:19 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270591099; bh=G6pXirLsdyjIISgaJSjpeqXKCuU=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=REJnQktD/QTBQqX9nbt7pN4hg4dK+Qvf4yQTwD7yRLIq7W3dIu8q9d658nRU+09I6 2yr+ZwO3aNpWgrS76IBZg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=Y3hjSwEBNrbs24RwP+dKebnwSRO6sM4Q2kBzrF0kAbARkvba7Rm2oyGMSOMmGyrcG JinQ9f53n+IKKevJmgZCw==
Received: from pzk17 (pzk17.prod.google.com [10.243.19.145]) by kpbe11.cbf.corp.google.com with ESMTP id o36LwHaL023483 for <oauth@ietf.org>; Tue, 6 Apr 2010 16:58:17 -0500
Received: by pzk17 with SMTP id 17so401826pzk.5 for <oauth@ietf.org>; Tue, 06 Apr 2010 14:58:17 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.248.18 with HTTP; Tue, 6 Apr 2010 14:57:57 -0700 (PDT)
In-Reply-To: <C7E0F8EA.31DB5%eran@hueniverse.com>
References: <27B54FC8-6C50-4283-89AF-6EB44A6FD006@facebook.com>  <C7E0F8EA.31DB5%eran@hueniverse.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Tue, 6 Apr 2010 14:57:57 -0700
Received: by 10.140.247.15 with SMTP id u15mr6363921rvh.1.1270591097344; Tue,  06 Apr 2010 14:58:17 -0700 (PDT)
Message-ID: <u2p74caaad21004061457we221c390z335eef56bc6aaad6@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 21:58:27 -0000

On Tue, Apr 6, 2010 at 2:42 PM, Eran Hammer-Lahav <eran@hueniverse.com> wro=
te:
> The question is how your APIs are structure. Do you have APIs that requir=
e
> multiple =93scopes=94 in a single call?

Things can get even more complicated. When the user grants access for
the client, the approval page should list all the scopes the client is
requesting. This is the set of scopes needed by the client for *all*
the API calls. Each API will need a subset of this approved, larger
set.

With that in mind, it would be useful to be able to down-scope access
tokens when using the refresh token, this way the client can send the
smallest set of scopes with each API call.

But again, for all the above, the client must have intimate knowledge
of the APIs (aka protected resources) and what scopes are required,
the OAuth 2.0 libraries used by the client can treat the scopes as
opaque strings IMO.

Marius

>
> EHL
>
>
> On 4/6/10 8:29 AM, "Luke Shepard" <lshepard@facebook.com> wrote:
>
> For Facebook at least, we are currently planning to use scope as a
> comma-separated list of permissions from this set:
> http://wiki.developers.facebook.com/index.php/Extended_permissions
>
> For instance:
>
> =A0=A0=A0=A0=A0=A0=A0=A0oauth_scope=3Dread_stream,email,photo_upload
>
> I'm not sure if that maps to realm exactly.
>
> On Apr 6, 2010, at 8:03 AM, Dick Hardt wrote:
>
>>
>> On 2010-04-06, at 12:16 AM, Eran Hammer-Lahav wrote:
>>
>>>
>>>
>>>
>>> On 4/2/10 3:27 PM, "Dick Hardt" <dick.hardt@gmail.com> wrote:
>>>
>>>> There are times when a resource may have different scope for different
>>>> kinds
>>>> of access. realm !=3D scope
>>>
>>> No. Realm is a subset. It is what people define as the protected segmen=
t
>>> name.
>>
>> Different Protected Resources could require the same scope, so I see rea=
lm
>> and scope as being orthogonal.
>>
>>> For any other scope attribute we need to first define it.
>>
>> Why? Scope will often be application specific.
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

From eran@hueniverse.com  Tue Apr  6 15:12:51 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 60FEF3A69E5 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 15:12:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.33
X-Spam-Level: 
X-Spam-Status: No, score=-2.33 tagged_above=-999 required=5 tests=[AWL=0.268,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id y6oh7CHiBFNi for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 15:12:45 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id EB9613A6933 for <oauth@ietf.org>; Tue,  6 Apr 2010 15:12:44 -0700 (PDT)
Received: (qmail 5144 invoked from network); 6 Apr 2010 22:12:42 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 6 Apr 2010 22:12:42 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Tue, 6 Apr 2010 15:12:36 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Tue, 6 Apr 2010 15:12:31 -0700
Thread-Topic: [OAUTH-WG] Scope using Realm idea
Thread-Index: AcrV1EaitWnGKKCgTcmLV2WuST8VuAAAfmP9
Message-ID: <C7E0FFDF.31DC1%eran@hueniverse.com>
In-Reply-To: <u2p74caaad21004061457we221c390z335eef56bc6aaad6@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E0FFDF31DC1eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 22:12:51 -0000

--_000_C7E0FFDF31DC1eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I am still waiting for someone to show how a scope parameter with an opaque=
 value helps interop, where every single example requires the client to kno=
w how to construct this opaque string. OAuth libraries will need to support=
 extension parameters - that's a given. So how is this not an extension if =
you will have to document how to use it in your own API spec?

If I want to ask for both a set of resources (photos, contact), access righ=
ts (read, write), and a specific duration (3 days), should I put all this i=
nto the scope parameter? Put some in and some in another parameter?

Help me write a definition that helps people understand exactly when and ho=
w they should use this parameter. How are you going to use it?

EHL




On 4/6/10 2:57 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

On Tue, Apr 6, 2010 at 2:42 PM, Eran Hammer-Lahav <eran@hueniverse.com> wro=
te:
> The question is how your APIs are structure. Do you have APIs that requir=
e
> multiple "scopes" in a single call?

Things can get even more complicated. When the user grants access for
the client, the approval page should list all the scopes the client is
requesting. This is the set of scopes needed by the client for *all*
the API calls. Each API will need a subset of this approved, larger
set.

With that in mind, it would be useful to be able to down-scope access
tokens when using the refresh token, this way the client can send the
smallest set of scopes with each API call.

But again, for all the above, the client must have intimate knowledge
of the APIs (aka protected resources) and what scopes are required,
the OAuth 2.0 libraries used by the client can treat the scopes as
opaque strings IMO.

Marius

>
> EHL
>
>
> On 4/6/10 8:29 AM, "Luke Shepard" <lshepard@facebook.com> wrote:
>
> For Facebook at least, we are currently planning to use scope as a
> comma-separated list of permissions from this set:
> http://wiki.developers.facebook.com/index.php/Extended_permissions
>
> For instance:
>
>         oauth_scope=3Dread_stream,email,photo_upload
>
> I'm not sure if that maps to realm exactly.
>
> On Apr 6, 2010, at 8:03 AM, Dick Hardt wrote:
>
>>
>> On 2010-04-06, at 12:16 AM, Eran Hammer-Lahav wrote:
>>
>>>
>>>
>>>
>>> On 4/2/10 3:27 PM, "Dick Hardt" <dick.hardt@gmail.com> wrote:
>>>
>>>> There are times when a resource may have different scope for different
>>>> kinds
>>>> of access. realm !=3D scope
>>>
>>> No. Realm is a subset. It is what people define as the protected segmen=
t
>>> name.
>>
>> Different Protected Resources could require the same scope, so I see rea=
lm
>> and scope as being orthogonal.
>>
>>> For any other scope attribute we need to first define it.
>>
>> Why? Scope will often be application specific.
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>


--_000_C7E0FFDF31DC1eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Scope using Realm idea</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>I am still waiting for someone to show how a scope parameter with an =
opaque value helps interop, where every single example requires the client =
to know how to construct this opaque string. OAuth libraries will need to s=
upport extension parameters &#8211; that&#8217;s a given. So how is this no=
t an extension if you will have to document how to use it in your own API s=
pec?<BR>
<BR>
If I want to ask for both a set of resources (photos, contact), access righ=
ts (read, write), and a specific duration (3 days), should I put all this i=
nto the scope parameter? Put some in and some in another parameter?<BR>
<BR>
Help me write a definition that helps people understand exactly when and ho=
w they should use this parameter. How are you going to use it?<BR>
<BR>
EHL<BR>
<BR>
<BR>
<BR>
<BR>
On 4/6/10 2:57 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurtescu@g=
oogle.com">mscurtescu@google.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>On Tue, Apr 6, 2010 at 2:42 PM, Eran Hammer=
-Lahav &lt;<a href=3D"eran@hueniverse.com">eran@hueniverse.com</a>&gt; wrot=
e:<BR>
&gt; The question is how your APIs are structure. Do you have APIs that req=
uire<BR>
&gt; multiple &#8220;scopes&#8221; in a single call?<BR>
<BR>
Things can get even more complicated. When the user grants access for<BR>
the client, the approval page should list all the scopes the client is<BR>
requesting. This is the set of scopes needed by the client for *all*<BR>
the API calls. Each API will need a subset of this approved, larger<BR>
set.<BR>
<BR>
With that in mind, it would be useful to be able to down-scope access<BR>
tokens when using the refresh token, this way the client can send the<BR>
smallest set of scopes with each API call.<BR>
<BR>
But again, for all the above, the client must have intimate knowledge<BR>
of the APIs (aka protected resources) and what scopes are required,<BR>
the OAuth 2.0 libraries used by the client can treat the scopes as<BR>
opaque strings IMO.<BR>
<BR>
Marius<BR>
<BR>
&gt;<BR>
&gt; EHL<BR>
&gt;<BR>
&gt;<BR>
&gt; On 4/6/10 8:29 AM, &quot;Luke Shepard&quot; &lt;<a href=3D"lshepard@fa=
cebook.com">lshepard@facebook.com</a>&gt; wrote:<BR>
&gt;<BR>
&gt; For Facebook at least, we are currently planning to use scope as a<BR>
&gt; comma-separated list of permissions from this set:<BR>
&gt; <a href=3D"http://wiki.developers.facebook.com/index.php/Extended_perm=
issions">http://wiki.developers.facebook.com/index.php/Extended_permissions=
</a><BR>
&gt;<BR>
&gt; For instance:<BR>
&gt;<BR>
&gt; =A0=A0=A0=A0=A0=A0=A0=A0oauth_scope=3Dread_stream,email,photo_upload<B=
R>
&gt;<BR>
&gt; I'm not sure if that maps to realm exactly.<BR>
&gt;<BR>
&gt; On Apr 6, 2010, at 8:03 AM, Dick Hardt wrote:<BR>
&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; On 2010-04-06, at 12:16 AM, Eran Hammer-Lahav wrote:<BR>
&gt;&gt;<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; On 4/2/10 3:27 PM, &quot;Dick Hardt&quot; &lt;<a href=3D"dick.=
hardt@gmail.com">dick.hardt@gmail.com</a>&gt; wrote:<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&gt; There are times when a resource may have different scope f=
or different<BR>
&gt;&gt;&gt;&gt; kinds<BR>
&gt;&gt;&gt;&gt; of access. realm !=3D scope<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; No. Realm is a subset. It is what people define as the protect=
ed segment<BR>
&gt;&gt;&gt; name.<BR>
&gt;&gt;<BR>
&gt;&gt; Different Protected Resources could require the same scope, so I s=
ee realm<BR>
&gt;&gt; and scope as being orthogonal.<BR>
&gt;&gt;<BR>
&gt;&gt;&gt; For any other scope attribute we need to first define it.<BR>
&gt;&gt;<BR>
&gt;&gt; Why? Scope will often be application specific.<BR>
&gt;&gt;<BR>
&gt;&gt; _______________________________________________<BR>
&gt;&gt; OAuth mailing list<BR>
&gt;&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://ww=
w.ietf.org/mailman/listinfo/oauth</a><BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt; _______________________________________________<BR>
&gt; OAuth mailing list<BR>
&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ie=
tf.org/mailman/listinfo/oauth</a><BR>
&gt;<BR>
&gt;<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E0FFDF31DC1eranhueniversecom_--

From eran@hueniverse.com  Tue Apr  6 15:21:16 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1C3D628C147 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 15:21:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.346
X-Spam-Level: 
X-Spam-Status: No, score=-2.346 tagged_above=-999 required=5 tests=[AWL=0.252,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id r6OzIVdPI4OU for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 15:21:05 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 639D63A6A03 for <oauth@ietf.org>; Tue,  6 Apr 2010 15:18:14 -0700 (PDT)
Received: (qmail 32644 invoked from network); 6 Apr 2010 22:18:12 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 6 Apr 2010 22:18:11 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Tue, 6 Apr 2010 15:17:45 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: John Kemp <john@jkemp.net>
Date: Tue, 6 Apr 2010 15:17:41 -0700
Thread-Topic: [OAUTH-WG] Scope using Realm idea
Thread-Index: AcrUPpQflwAbvQjZThGonJ0x9dZaJgBmGTWk
Message-ID: <C7E10115.31DC8%eran@hueniverse.com>
In-Reply-To: <C26EABB0-1BCB-42CD-A081-9405AAE90854@jkemp.net>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E1011531DC8eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 22:21:16 -0000

--_000_C7E1011531DC8eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Thanks John.

I tend to agree that realm comes with a lot of baggage and is probably not =
going to work given people's expectations. After all, they are not likely t=
o study 2617 before implementing OAuth.

The point of my proposal was to show one aspect of scope in which the clien=
t is being told what kind of access it should ask for. The client treats th=
is as an opaque string, and it remains the an opaque string (i.e. No higher=
 level handling by the client). In this scenario, if the client has an acce=
ss token for "photos,contact", it will not use it for "contact,photos".

There seems to be high demand for scope parameter support, but very little =
actual use cases (provided).

EHL


On 4/4/10 2:34 PM, "John Kemp" <john@jkemp.net> wrote:

Hi Eran,

On Apr 2, 2010, at 12:18 PM, Eran Hammer-Lahav wrote:

> This is half baked but I wanted to get people's reaction:
>
> Clients tries accessing a resource with or without an access token:
>
> GET /resource/1 HTTP/1.1
> Host: server.example.com
>
> The server replies with:
>
> HTTP/1.1 401 Unauthorized
> WWW-Authenticate: OAuth realm=3D'example'

>From RFC 2617 (http://www.ietf.org/rfc/rfc2617.txt):

"The realm value (case-sensitive), in combination with the canonical root U=
RL (the
absoluteURI for the server whose abs_path is empty; see section 5.1.2
of [2]) of the server being accessed, defines the protection space.
These realms allow the protected resources on a server to be
partitioned into a set of protection spaces, each with its own
authentication scheme and/or authorization database. The realm value
is a string, generally assigned by the origin server, which may have
additional semantics specific to the authentication scheme. Note that
there may be multiple challenges with the same auth-scheme but
different realms."

and:

realm
A string to be displayed to users so they know which username and
password to use. This string should contain at least the name of
the host performing the authentication and might additionally
indicate the collection of users who might have access. An example
might be "registered_users@gotham.news.com".

Leading me to conclude:

i) Realm is supposed to contain a hint for users as to which username/passw=
ord to use (ie. a client cannot by default assume it to be machine-readable=
)
ii) The "protection space" defined by a realm may be as small as one resour=
ce, or as big as an entire site. RFC2617 tells clients what they can assume=
 if they receive a challenge:

"A client SHOULD assume that all paths at or deeper than the depth of
the last symbolic element in the path field of the Request-URI also
are within the protection space specified by the Basic realm value of
the current challenge. A client MAY preemptively send the
corresponding Authorization header with requests for resources in
that space without receipt of another challenge from the server."

>
> Clients requests an access token (using the client credentials flow) and
> includes the requested realm (line breaks for display purposes):
>
> POST /access_token HTTP/1.1
> Host: server.example.com
>
> client_id=3Ds6BhdRkqt3&client_secret=3D8eSEIpnqmM&
> mode=3Dflow_client&realm=3Dexample
>
> The server issues a access token capable of accessing the resource realm.
>
> This means one new parameter on the request side which is already baked i=
nto
> the 401 response in a standard way.
>
> Thoughts?

I think that RFC2617 realms are similar in concept to the 'scope' you're lo=
oking for, but have some differences in use for the HTTP basic/digest proto=
col. In order to be sure you don't confuse clients which already know HTTP =
Basic/Digest, you may want to place some further restrictions on the values=
 that can be in the realm parameter when a WWW-Authenticate challenge is is=
sued (it's just a string in RFC2617). If a client receives an OAuth WWW-Aut=
henticate challenge, I would assume that OAuth should anyway tell the clien=
t whether/what to present the user in order to have the client get an appro=
priate token to access the protected resource.

Some care is needed to specify this in a way that is compatible with the ex=
pected behaviour of user agents already familiar with RFC2617.

Regards,

- johnk




--_000_C7E1011531DC8eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Scope using Realm idea</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>Thanks John.<BR>
<BR>
I tend to agree that realm comes with a lot of baggage and is probably not =
going to work given people&#8217;s expectations. After all, they are not li=
kely to study 2617 before implementing OAuth.<BR>
<BR>
The point of my proposal was to show one aspect of scope in which the clien=
t is being told what kind of access it should ask for. The client treats th=
is as an opaque string, and it remains the an opaque string (i.e. No higher=
 level handling by the client). In this scenario, if the client has an acce=
ss token for &#8220;photos,contact&#8221;, it will not use it for &#8220;co=
ntact,photos&#8221;.<BR>
<BR>
There seems to be high demand for scope parameter support, but very little =
actual use cases (provided).<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/4/10 2:34 PM, &quot;John Kemp&quot; &lt;<a href=3D"john@jkemp.net">joh=
n@jkemp.net</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>Hi Eran,<BR>
<BR>
On Apr 2, 2010, at 12:18 PM, Eran Hammer-Lahav wrote:<BR>
<BR>
&gt; This is half baked but I wanted to get people's reaction:<BR>
&gt;<BR>
&gt; Clients tries accessing a resource with or without an access token:<BR=
>
&gt;<BR>
&gt; GET /resource/1 HTTP/1.1<BR>
&gt; Host: server.example.com<BR>
&gt;<BR>
&gt; The server replies with:<BR>
&gt;<BR>
&gt; HTTP/1.1 401 Unauthorized<BR>
&gt; WWW-Authenticate: OAuth realm=3D'example'<BR>
<BR>
>From RFC 2617 (<a href=3D"http://www.ietf.org/rfc/rfc2617.txt">http://www.i=
etf.org/rfc/rfc2617.txt</a>):<BR>
<BR>
&quot;The realm value (case-sensitive), in combination with the canonical r=
oot URL (the<BR>
absoluteURI for the server whose abs_path is empty; see section 5.1.2<BR>
of [2]) of the server being accessed, defines the protection space.<BR>
These realms allow the protected resources on a server to be<BR>
partitioned into a set of protection spaces, each with its own<BR>
authentication scheme and/or authorization database. The realm value<BR>
is a string, generally assigned by the origin server, which may have<BR>
additional semantics specific to the authentication scheme. Note that<BR>
there may be multiple challenges with the same auth-scheme but<BR>
different realms.&quot;<BR>
<BR>
and:<BR>
<BR>
realm<BR>
A string to be displayed to users so they know which username and<BR>
password to use. This string should contain at least the name of<BR>
the host performing the authentication and might additionally<BR>
indicate the collection of users who might have access. An example<BR>
might be &quot;<a href=3D"registered_users@gotham.news.com">registered_user=
s@gotham.news.com</a>&quot;.<BR>
<BR>
Leading me to conclude:<BR>
<BR>
i) Realm is supposed to contain a hint for users as to which username/passw=
ord to use (ie. a client cannot by default assume it to be machine-readable=
)<BR>
ii) The &quot;protection space&quot; defined by a realm may be as small as =
one resource, or as big as an entire site. RFC2617 tells clients what they =
can assume if they receive a challenge:<BR>
<BR>
&quot;A client SHOULD assume that all paths at or deeper than the depth of<=
BR>
the last symbolic element in the path field of the Request-URI also<BR>
are within the protection space specified by the Basic realm value of<BR>
the current challenge. A client MAY preemptively send the<BR>
corresponding Authorization header with requests for resources in<BR>
that space without receipt of another challenge from the server.&quot;<BR>
<BR>
&gt;<BR>
&gt; Clients requests an access token (using the client credentials flow) a=
nd<BR>
&gt; includes the requested realm (line breaks for display purposes):<BR>
&gt;<BR>
&gt; POST /access_token HTTP/1.1<BR>
&gt; Host: server.example.com<BR>
&gt;<BR>
&gt; client_id=3Ds6BhdRkqt3&amp;client_secret=3D8eSEIpnqmM&amp;<BR>
&gt; mode=3Dflow_client&amp;realm=3Dexample<BR>
&gt;<BR>
&gt; The server issues a access token capable of accessing the resource rea=
lm.<BR>
&gt;<BR>
&gt; This means one new parameter on the request side which is already bake=
d into<BR>
&gt; the 401 response in a standard way.<BR>
&gt;<BR>
&gt; Thoughts?<BR>
<BR>
I think that RFC2617 realms are similar in concept to the 'scope' you're lo=
oking for, but have some differences in use for the HTTP basic/digest proto=
col. In order to be sure you don't confuse clients which already know HTTP =
Basic/Digest, you may want to place some further restrictions on the values=
 that can be in the realm parameter when a WWW-Authenticate challenge is is=
sued (it's just a string in RFC2617). If a client receives an OAuth WWW-Aut=
henticate challenge, I would assume that OAuth should anyway tell the clien=
t whether/what to present the user in order to have the client get an appro=
priate token to access the protected resource.<BR>
<BR>
Some care is needed to specify this in a way that is compatible with the ex=
pected behaviour of user agents already familiar with RFC2617.<BR>
<BR>
Regards,<BR>
<BR>
- johnk<BR>
<BR>
<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E1011531DC8eranhueniversecom_--

From mscurtescu@google.com  Tue Apr  6 15:28:37 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id CE6A53A68C5 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 15:28:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.977
X-Spam-Level: 
X-Spam-Status: No, score=-101.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EaBU96NX5auO for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 15:28:36 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 659683A68A4 for <oauth@ietf.org>; Tue,  6 Apr 2010 15:28:36 -0700 (PDT)
Received: from wpaz1.hot.corp.google.com (wpaz1.hot.corp.google.com [172.24.198.65]) by smtp-out.google.com with ESMTP id o36MSRpA029396 for <oauth@ietf.org>; Wed, 7 Apr 2010 00:28:31 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270592912; bh=0CR8fviRXuU3UWEeoxox6P3m6Rw=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=SVQmDPdi8G+0UTraIQcXdI8DB9V67mifn/LK3Hm9Xx2GQvp2VlczE8qRr+rAUf+F9 OXkmWt5eJl9x9tQsOX9eg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=ivKCMcH9TBoSyD5fPUHGL5QtjbeUzg0xwvdwlHKDK1YKCmKQQwXdXd/SAUXMohdQL YrtWtR2sGo9k/AyxtWCew==
Received: from pwj3 (pwj3.prod.google.com [10.241.219.67]) by wpaz1.hot.corp.google.com with ESMTP id o36MSDWI012085 for <oauth@ietf.org>; Tue, 6 Apr 2010 15:28:26 -0700
Received: by pwj3 with SMTP id 3so421324pwj.8 for <oauth@ietf.org>; Tue, 06 Apr 2010 15:28:26 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.248.18 with HTTP; Tue, 6 Apr 2010 15:28:06 -0700 (PDT)
In-Reply-To: <C7E0FFDF.31DC1%eran@hueniverse.com>
References: <u2p74caaad21004061457we221c390z335eef56bc6aaad6@mail.gmail.com>  <C7E0FFDF.31DC1%eran@hueniverse.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Tue, 6 Apr 2010 15:28:06 -0700
Received: by 10.140.87.23 with SMTP id k23mr6284013rvb.108.1270592906186; Tue,  06 Apr 2010 15:28:26 -0700 (PDT)
Message-ID: <z2w74caaad21004061528i68739b37ob1909b4829bf02ee@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 22:28:37 -0000

On Tue, Apr 6, 2010 at 3:12 PM, Eran Hammer-Lahav <eran@hueniverse.com> wro=
te:
> I am still waiting for someone to show how a scope parameter with an opaq=
ue
> value helps interop, where every single example requires the client to kn=
ow
> how to construct this opaque string. OAuth libraries will need to support
> extension parameters =96 that=92s a given. So how is this not an extensio=
n if
> you will have to document how to use it in your own API spec?

You are probably right, an opaque scope does not help interop. I think
the reason the scope parameter was added to wrap is that in practice
with OAuth most implementations ended up needing such a parameter.
Having a standard one prevents everyone from (re)inventing a custom
parameter. Beyond that, I don't see any benefits.


> If I want to ask for both a set of resources (photos, contact), access
> rights (read, write), and a specific duration (3 days), should I put all
> this into the scope parameter? Put some in and some in another parameter?

Set of resources and access rights probably go together in a scope.
Not so sure about duration, until now duration was considered
unlimited, Authz Servers probably allow users to revoke access at any
time (this would revoke the corresponding refresh token and any
auto-approvals).


> Help me write a definition that helps people understand exactly when and =
how
> they should use this parameter. How are you going to use it?

I think the vague definition from the wrap spec was good enough: "The
Authorization Server MAY define authorization scope values for the
Client to include"


Marius

>
> EHL
>
>
>
>
> On 4/6/10 2:57 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
> On Tue, Apr 6, 2010 at 2:42 PM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>> The question is how your APIs are structure. Do you have APIs that requi=
re
>> multiple =93scopes=94 in a single call?
>
> Things can get even more complicated. When the user grants access for
> the client, the approval page should list all the scopes the client is
> requesting. This is the set of scopes needed by the client for *all*
> the API calls. Each API will need a subset of this approved, larger
> set.
>
> With that in mind, it would be useful to be able to down-scope access
> tokens when using the refresh token, this way the client can send the
> smallest set of scopes with each API call.
>
> But again, for all the above, the client must have intimate knowledge
> of the APIs (aka protected resources) and what scopes are required,
> the OAuth 2.0 libraries used by the client can treat the scopes as
> opaque strings IMO.
>
> Marius
>
>>
>> EHL
>>
>>
>> On 4/6/10 8:29 AM, "Luke Shepard" <lshepard@facebook.com> wrote:
>>
>> For Facebook at least, we are currently planning to use scope as a
>> comma-separated list of permissions from this set:
>> http://wiki.developers.facebook.com/index.php/Extended_permissions
>>
>> For instance:
>>
>> =A0=A0=A0=A0=A0=A0=A0=A0oauth_scope=3Dread_stream,email,photo_upload
>>
>> I'm not sure if that maps to realm exactly.
>>
>> On Apr 6, 2010, at 8:03 AM, Dick Hardt wrote:
>>
>>>
>>> On 2010-04-06, at 12:16 AM, Eran Hammer-Lahav wrote:
>>>
>>>>
>>>>
>>>>
>>>> On 4/2/10 3:27 PM, "Dick Hardt" <dick.hardt@gmail.com> wrote:
>>>>
>>>>> There are times when a resource may have different scope for differen=
t
>>>>> kinds
>>>>> of access. realm !=3D scope
>>>>
>>>> No. Realm is a subset. It is what people define as the protected segme=
nt
>>>> name.
>>>
>>> Different Protected Resources could require the same scope, so I see
>>> realm
>>> and scope as being orthogonal.
>>>
>>>> For any other scope attribute we need to first define it.
>>>
>>> Why? Scope will often be application specific.
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>
>

From mscurtescu@google.com  Tue Apr  6 15:40:18 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id CEDCD3A69BC for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 15:40:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.677
X-Spam-Level: 
X-Spam-Status: No, score=-100.677 tagged_above=-999 required=5 tests=[AWL=-1.300, BAYES_50=0.001, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zgkyBakkIm65 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 15:40:18 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 2D9293A697F for <oauth@ietf.org>; Tue,  6 Apr 2010 15:40:10 -0700 (PDT)
Received: from kpbe20.cbf.corp.google.com (kpbe20.cbf.corp.google.com [172.25.105.84]) by smtp-out.google.com with ESMTP id o36Me5xH012230 for <oauth@ietf.org>; Wed, 7 Apr 2010 00:40:06 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270593606; bh=ZzqcctOiH+kjDgrwCM7vPyWzGt4=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=EtinX5C9Ljia5rv6Tfi2EFHO3aQ8h45spaSC6zKHQe02mHy9HsyZTvIZRcriHsick +i+LQ8fA4yV3SgdMPQdjQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=l5FR5DR1C3aqz0zov1Ys8nTw91Q8xANVq4MQODrpOTFfH/QFVprQPQqms84BkWLyr 7O+W2C0660vVlH2iWquuA==
Received: from pvc22 (pvc22.prod.google.com [10.241.209.150]) by kpbe20.cbf.corp.google.com with ESMTP id o36Me4pe017198 for <oauth@ietf.org>; Tue, 6 Apr 2010 15:40:04 -0700
Received: by pvc22 with SMTP id 22so311782pvc.39 for <oauth@ietf.org>; Tue, 06 Apr 2010 15:40:04 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.248.18 with HTTP; Tue, 6 Apr 2010 15:39:44 -0700 (PDT)
In-Reply-To: <4BBB68BB.4010206@lodderstedt.net>
References: <w2rc8689b661004051628q729ca3a8s4855be6d7af14a82@mail.gmail.com>  <C7E02F03.31D50%eran@hueniverse.com> <m2mc8689b661004060704se500b9f8l76cdc11f79757919@mail.gmail.com> <w2vfd6741651004060753o8f56bf5ct33eb45d8fcf48ce8@mail.gmail.com>  <z2tc8689b661004060845m3c2cd76l2937976143541604@mail.gmail.com>  <4BBB68BB.4010206@lodderstedt.net>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Tue, 6 Apr 2010 15:39:44 -0700
Received: by 10.141.90.21 with SMTP id s21mr6441882rvl.118.1270593604209; Tue,  06 Apr 2010 15:40:04 -0700 (PDT)
Message-ID: <p2h74caaad21004061539j541418a3ha3ef75c5c4b0a433@mail.gmail.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Access Token Exchange Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 22:40:18 -0000

On Tue, Apr 6, 2010 at 10:00 AM, Torsten Lodderstedt
<torsten@lodderstedt.net> wrote:
> Hi all,
>
> here at Deutsche Telekom, we see the need for a flow supporting the exchange
> of access tokens for one service into access tokens for another service.
>
> The scenarios is as follows: In the context of mobile applications, we
> employ multi-layered architectures of personalized web services. The first
> layer typically exposes an API optimized for the flows of a particular
> application. This layer's business logic is built on top of other web
> services and so on. We use self-contained bearer tokens carrying id's,
> attributes and permissions. Each of the web services involed has a trust
> relationship with our authorization server based on shared secrets. Every
> web service requires a different token with different claims (id,
> permissions, attributes) and signature (HMAC).
>
> The flow is as follows:
>
> 1) The client acquires a token for the first service eather by
> username/password authentication or web-based authorization flow.
>
> 2) The client sends a request (including the access token) to the first web
> service.
>
> 3) Access control and some business logic is executed based on the token
> contents. Afterwards, the first service determines that it needs
> to call another services (second web service) on behalf of the user.
>
> 4) It requests the issuance of a new token for the second service from the
> authorization server based on the original token sent by the client.
>
> 5) The authorization server issues a new token carrying the claims need by
> the second web service and digitally signs the token
> with the respective shared secret. It also encrypts the token content in
> order to prevent the first web service from eavesdropping the users data
> intended for the second service only.
>
> 6) The first web service uses the token to invoke the second web service.
>
> ...
>
> Does anyone else see the need for such a flow?

I think I suggested something like that on the scope thread:
"Things can get even more complicated. When the user grants access for
the client, the approval page should list all the scopes the client is
requesting. This is the set of scopes needed by the client for *all*
the API calls. Each API will need a subset of this approved, larger
set.

With that in mind, it would be useful to be able to down-scope access
tokens when using the refresh token, this way the client can send the
smallest set of scopes with each API call."

In your example, instead of having the first service request a new
token for the second service, step 4, I think the client should do
that and pass the second token as an argument in the API call.

Basically the client requests a refresh token with largest set of
permissions and then it uses the refresh token flow to get
lower-permission access tokens as needed.

The first service can ask for a second token only if the set of
permissions is a sub-set of the one it received, otherwise it has not
authority to do that.

Marius

From atom@yahoo-inc.com  Tue Apr  6 16:01:58 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B69EE3A68A4 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 16:01:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.902
X-Spam-Level: 
X-Spam-Status: No, score=-14.902 tagged_above=-999 required=5 tests=[AWL=1.300, BAYES_00=-2.599, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=1.396, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CputZzNoYDWd for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 16:01:51 -0700 (PDT)
Received: from mrout1.yahoo.com (mrout1.yahoo.com [216.145.54.171]) by core3.amsl.com (Postfix) with ESMTP id EC49C3A67E1 for <oauth@ietf.org>; Tue,  6 Apr 2010 16:01:51 -0700 (PDT)
Received: from SNV-EXBH01.ds.corp.yahoo.com (snv-exbh01.ds.corp.yahoo.com [207.126.227.249]) by mrout1.yahoo.com (8.13.6/8.13.6/y.out) with ESMTP id o36N1a4Q060991;  Tue, 6 Apr 2010 16:01:36 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:message-id: thread-topic:thread-index:in-reply-to:mime-version:content-type:x-originalarrivaltime; b=LT7Nm8n2HQsEmg8RHxrysE1lzNVolWGpDYPSJmY1SLgiopd2mLcFEE8Hdp4uuapb
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXBH01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.3959);  Tue, 6 Apr 2010 16:01:36 -0700
Received: from 10.72.244.204 ([10.72.244.204]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.60]) with Microsoft Exchange Server HTTP-DAV ; Tue,  6 Apr 2010 23:00:48 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Tue, 06 Apr 2010 16:00:47 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: Anthony Nadalin <tonynad@microsoft.com>, "oauth@ietf.org" <oauth@ietf.org>
Message-ID: <C7E10B2F.2A09C%atom@yahoo-inc.com>
Thread-Topic: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
Thread-Index: AcrVtrKPc2+a+5PkjUWcdom/sx3EFAAC1/XgAAa6/MY=
In-Reply-To: <A08279DC79B11C48AD587060CD93977125EF96D7@TK5EX14MBXC103.redmond.corp.microsoft.com>
Mime-version: 1.0
Content-type: multipart/alternative; boundary="B_3353414447_1105009"
X-OriginalArrivalTime: 06 Apr 2010 23:01:36.0843 (UTC) FILETIME=[1C0AA9B0:01CAD5DD]
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 23:01:58 -0000

> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3353414447_1105009
Content-type: text/plain;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

Hi Tony,

I=B9m suggesting that the Service Provider determine whether its services are
available via HTTPS, HTTP, or both.

This is exactly how it is today. AFAIK, there are no standard interoperable
APIs that use Oauth. All (or practically all) APIs that use Oauth are
completely proprietary. For proprietary interfaces, it=B9s really up to the
Service Provider to determine if their data and services are valuable enoug=
h
to justify using HTTPs.

(I personally think that everything should use HTTPS, however I don=B9t think
that Service Providers should be required to implement HTTPS if they don=B9t
think their proprietary API requires it)

I do hope that there are standard interoperable interfaces that are built o=
n
top of OAuth2 =AD however it=B9s up to the authors of these interfaces to
determine whether SSL is required or not.

The issue with specifying whether the SP should require HTTPS is very
similar to the problem with specifying how the the user authenticates with
the SP.   Should the user have a strong password? Should the SP implement
CAPTCHA or other anti-password cracking mechanisms? Maybe users should have
multi-factor auth?=20

I recommend that the spec does not require HTTPS =AD this decision is really
up to the Service Provider if they=B9re providing a proprietary interface.
Future standard interfaces that are built on top of Oauth should determine
for themselves whether or not HTTPS is required.

Allen


On 4/6/10 12:50 PM, "Anthony Nadalin" <tonynad@microsoft.com> wrote:

> I=B9m not sure if you are coming from the user or service perspective. So i=
f a
> user asks for HTTPS do you have to support HTTPS? If a service asks for H=
TTPS
> do you have to support it? Or  do you just fail?
> =20
>=20
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of
> Allen Tom
> Sent: Tuesday, April 06, 2010 11:27 AM
> To: oauth@ietf.org
> Subject: [OAUTH-WG] HTTPS requirement for using an Access Token without
> signatures
> =20
> One of the biggest differences between OAuth2 and WRAP is that OAuth2 req=
uires
> that Protected Resources be accessed using HTTPS if no signature is being
> used. Bullet Point #2 in Section 1.2 says:
>=20
>    4.  Don't allow bearer tokens without either SSL and/or signatures.
>        While some providers may offer this ability, they should be out
>        of spec for doing so though technically it won't break the flows.
>=20
> While I personally think that requiring SSL is a fantastic idea, and it=B9s=
 very
> hard for me to argue against it, however....
>=20
> One of the goals for WRAP was to define a standard AuthZ interface for AP=
Is
> which matched what we currently have on the Web. WRAP protected APIs are
> intended to be a replacement for screen scraping.
>=20
> On the web, almost all websites implement Cookie Auth. Specifically, when=
 you
> log into a website, the browser is issued a bearer token, called a Cookie=
, and
> the browser is able to access Protected Resources by using the Cookie as =
the
> credential.=20
>=20
> The WRAP access token is intended to be a direct replacement for the HTTP
> Cookie. A client should be able to present its bearer token (a WRAP Acces=
s
> Token or an HTTP Cookie) without having to sign the request.
>=20
> While I certainly think that requiring SSL would be a huge improvement in
> internet security, HTTP does not require SSL, and since WRAP was intended=
 to
> be a replacement for HTTP Cookie Auth, then OAuth2 should also not requir=
e
> HTTPS.
>=20
> Yes, dropping the SSL requirement isn=B9t optimal, but again the intent wit=
h
> WRAP was to replace HTTP Cookie auth, and it should be up to the service
> provider to require HTTPS when applicable.
>=20
> Allen
>=20


--B_3353414447_1105009
Content-type: text/html;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] HTTPS requirement for using an Access Token without s=
ignatures</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:11pt=
'>Hi Tony,<BR>
<BR>
I&#8217;m suggesting that the Service Provider determine whether its servic=
es are available via HTTPS, HTTP, or both.<BR>
<BR>
This is exactly how it is today. AFAIK, there are no standard interoperable=
 APIs that use Oauth. All (or practically all) APIs that use Oauth are compl=
etely proprietary. For proprietary interfaces, it&#8217;s really up to the S=
ervice Provider to determine if their data and services are valuable enough =
to justify using HTTPs.<BR>
<BR>
(I personally think that everything should use HTTPS, however I don&#8217;t=
 think that Service Providers should be required to implement HTTPS if they =
don&#8217;t think their proprietary API requires it)<BR>
<BR>
I do hope that there are standard interoperable interfaces that are built o=
n top of OAuth2 &#8211; however it&#8217;s up to the authors of these interf=
aces to determine whether SSL is required or not.<BR>
<BR>
The issue with specifying whether the SP should require HTTPS is very simil=
ar to the problem with specifying how the the user authenticates with &nbsp;=
the SP. &nbsp;&nbsp;Should the user have a strong password? Should the SP im=
plement CAPTCHA or other anti-password cracking mechanisms? Maybe users shou=
ld have multi-factor auth? <BR>
<BR>
I recommend that the spec does not require HTTPS &#8211; this decision is r=
eally up to the Service Provider if they&#8217;re providing a proprietary in=
terface. Future standard interfaces that are built on top of Oauth should de=
termine for themselves whether or not HTTPS is required. <BR>
<BR>
Allen<BR>
<BR>
<BR>
On 4/6/10 12:50 PM, &quot;Anthony Nadalin&quot; &lt;<a href=3D"tonynad@micros=
oft.com">tonynad@microsoft.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><=
SPAN STYLE=3D'font-size:11pt'><FONT COLOR=3D"#1F497D">I&#8217;m not sure if you =
are coming from the user or service perspective. So if a user asks for HTTPS=
 do you have to support HTTPS? If a service asks for HTTPS do you have to su=
pport it? Or &nbsp;do you just fail?<BR>
&nbsp;<BR>
</FONT><BR>
</SPAN></FONT><FONT SIZE=3D"2"><FONT FACE=3D"Tahoma, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:10pt'><B>From:</B> <a href=3D"oauth-bounces@ietf.org">=
oauth-bounces@ietf.org</a> [<a href=3D"mailto:oauth-bounces@ietf.org">mailto:o=
auth-bounces@ietf.org</a>] <B>On Behalf Of </B>Allen Tom<BR>
<B>Sent:</B> Tuesday, April 06, 2010 11:27 AM<BR>
<B>To:</B> <a href=3D"oauth@ietf.org">oauth@ietf.org</a><BR>
<B>Subject:</B> [OAUTH-WG] HTTPS requirement for using an Access Token with=
out signatures<BR>
</SPAN></FONT></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12=
pt'> <BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'=
font-size:11pt'>One of the biggest differences between OAuth2 and WRAP is th=
at OAuth2 requires that Protected Resources be accessed using HTTPS if no si=
gnature is being used. Bullet Point #2 in Section 1.2 says:<BR>
<BR>
&nbsp;&nbsp;&nbsp;4. &nbsp;Don't allow bearer tokens without either SSL and=
/or signatures.<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;While some providers may offer th=
is ability, they should be out<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;of spec for doing so though techn=
ically it won't break the flows.<BR>
<BR>
While I personally think that requiring SSL is a fantastic idea, and it&#82=
17;s very hard for me to argue against it, however....<BR>
<BR>
One of the goals for WRAP was to define a standard AuthZ interface for APIs=
 which matched what we currently have on the Web. WRAP protected APIs are in=
tended to be a replacement for screen scraping.<BR>
<BR>
On the web, almost all websites implement Cookie Auth. Specifically, when y=
ou log into a website, the browser is issued a bearer token, called a Cookie=
, and the browser is able to access Protected Resources by using the Cookie =
as the credential. <BR>
<BR>
The WRAP access token is intended to be a direct replacement for the HTTP C=
ookie. A client should be able to present its bearer token (a WRAP Access To=
ken or an HTTP Cookie) without having to sign the request.<BR>
<BR>
While I certainly think that requiring SSL would be a huge improvement in i=
nternet security, HTTP does not require SSL, and since WRAP was intended to =
be a replacement for HTTP Cookie Auth, then OAuth2 should also not require H=
TTPS.<BR>
<BR>
Yes, dropping the SSL requirement isn&#8217;t optimal, but again the intent=
 with WRAP was to replace HTTP Cookie auth, and it should be up to the servi=
ce provider to require HTTPS when applicable. <BR>
<BR>
Allen<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--B_3353414447_1105009--


From mscurtescu@google.com  Tue Apr  6 16:07:56 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6010C28C101 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 16:07:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -99.648
X-Spam-Level: 
X-Spam-Status: No, score=-99.648 tagged_above=-999 required=5 tests=[AWL=-1.029, BAYES_50=0.001, FM_FORGED_GMAIL=0.622, FU_ENDS_2_WRDS=0.255, HTML_MESSAGE=0.001, HTTP_ESCAPED_HOST=0.134, URI_HEX=0.368, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yIRuXptaksbC for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 16:07:18 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id AB8763A6905 for <oauth@ietf.org>; Tue,  6 Apr 2010 16:07:07 -0700 (PDT)
Received: from kpbe15.cbf.corp.google.com (kpbe15.cbf.corp.google.com [172.25.105.79]) by smtp-out.google.com with ESMTP id o36N72gr026459 for <oauth@ietf.org>; Wed, 7 Apr 2010 01:07:03 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270595224; bh=NuJn1tLlzn6HE005lgEHBS8U5BM=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=J98vz+NrFXn9lKbVLRvhfxJOVcH3PZ6VgxcSGe905/VFlGzEArhpjQfQgIV3Wt1Nx SrDszA+pSefpryHYwr0Iw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=s0ebZtum3m5Qobce0bALtDmzM29vkopFkA63h6DLdB5eAVVVZWMaCY0Ca9LEo8MxC IsfMxVN5GREdVBAkqapOA==
Received: from pwj10 (pwj10.prod.google.com [10.241.219.74]) by kpbe15.cbf.corp.google.com with ESMTP id o36N70Hq004899 for <oauth@ietf.org>; Tue, 6 Apr 2010 16:07:01 -0700
Received: by pwj10 with SMTP id 10so414705pwj.40 for <oauth@ietf.org>; Tue, 06 Apr 2010 16:07:00 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.248.18 with HTTP; Tue, 6 Apr 2010 16:06:40 -0700 (PDT)
In-Reply-To: <C7E02924.31D45%eran@hueniverse.com>
References: <h2j74caaad21004021121o69dfa9aejea36bef49b7adadb@mail.gmail.com>  <C7E02924.31D45%eran@hueniverse.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Tue, 6 Apr 2010 16:06:40 -0700
Received: by 10.140.251.20 with SMTP id y20mr6203109rvh.206.1270595220170;  Tue, 06 Apr 2010 16:07:00 -0700 (PDT)
Message-ID: <x2v74caaad21004061606z83225080x6b9f71d6216a0c18@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/mixed; boundary=000e0cd11250c06a6104839980f5
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 23:07:56 -0000

--000e0cd11250c06a6104839980f5
Content-Type: text/plain; charset=ISO-8859-1

On Mon, Apr 5, 2010 at 11:56 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> Hey Marius,
>
> Detailed replies inline but I think most of these can be answered by the
> fact that we are still getting outside feedback that says OAuth is still
> complicated and has too many options / things left open to each
> implementation.
>
> My goal with any limitation added was to increase interop. If something
> doesn't increase inteop, I agree we should remove it.

I'm all for simplification. Do we have a clear definition for interop?
I think it is clear that 100% interop cannot be achieved in all areas.


> On 4/2/10 11:21 AM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
>> 1. Only one endpoint. While I think collapsing the access token and
>> refresh token URLs into one URL was a good think, keeping the user
>> authorization as a separate URL could be beneficial. I think there
>> should be 2 endpoints defined: access token and user authorization.
>> Calls to the access token endpoint are alway direct calls and
>> restricted to HTTPS and POST, and with many frameworks this can be
>> enforced through configuration. The user authorization endpoint is
>> always accessed with a browser.
>
> I'm trying to simplify configuration and reduce the need for complex
> discovery. I am not sure what the benefits of keeping them different are.
> Can you elaborate?

Sure.

Constraints for endpoints:
access token URL: HTTPS and POST only, no user
user authentication URL: HTTP or HTTPS, GET or POST, authenticated user

In many cases the above constraints can be enforced with configuration
that sits in front of the controllers implementing these endpoints.
For example, Apache config can enforce SSL and POST. Same can be done
in a Java filter. Also a Java filter can enforce that only
authenticated users hit the endpoint, it can redirect to a login page
if needed.

By keeping two different endpoints all of the above is much simpler.
Nothing prevents an authz server to collapse these two into one
endpoint.


>> 2. Section 2.1: "The authorization endpoint advertised by the server
>> MUST NOT include a query or fragment components as defined by
>> [RFC3986] section 3." Why do we disallow query parameters? If we want
>> to enforce strict matching of callback URLs maybe we should just
>> demand that.
>
> I don't like having both custom query and a state parameter. If servers have
> to accommodate custom queries, then we might as well drop the special state
> parameter since clients can just make up whatever they want. I opted to use
> the state parameter because it makes pre-registering URIs easier, and it
> doesn't cause parameter namepsace conflicts (which is still an open issue).

I think I got mixed up a bit. The authorization server endpoints
should be allowed to have query parameters. No state is passed through
these, and also no matching done against them.

Registered callback URLs for clients should also be allowed to have
query parameters. If strict matching is enforced, at least for the
query part, then no state that can be passed, so they have to use the
state parameter. Parameter namespace can be an issue, one more reason
to keep the prefix :-)


>> 3. Section 2.2: "The values of the request and response parameters
>> defined in this section MUST only contain the following characters". I
>> asked in another thread what is the reason behind this limitation. Why
>> not any UTF-8 string?
>
> I marked this as an open issue. We need to figure out signatures first to
> deal with this. If the signature flow will be simple enough, we can/should
> drop this limitation.

If we end up keeping this limitation, how do you see clients and authz
servers dealing with this requirement? Don't you think this will lead
to real interop issues?

I think it is much better to not rely on this limitation at all when
looking at signatures.


>> 4. Section 2.4.1.1: "The client directs the end user to the
>> constructed URI using an HTTP redirection response, or by other means
>> available to it via the end user's user-agent. The request MUST use
>> the HTTP "GET" method." Why do we enforce GET?
>
> First, to stay consistent across a redirection (3xx) and something else
> (such as a button press with a form).

Yes, dealing with redirects could be an issue. Not sure how well
supported are POSTs and redirects. But on the other hand, I think it
is OK to require authz servers to support POST.


> Second, we need to guarantee interop
> which means at a minimum we must require the server to accept GET. I don't
> think making this a server requirement instead of a client one that
> beneficial.

It think we should rather require servers to support POST, that seems
the more difficult case.


>> 5. Section 2.4.2. Web Client Flow combines both rich app and
>> JavaScript flows. It think the two flows should be treated separately.
>>
>> For the rich apps the flow should include a verification code step,
>> similar to Web Client Flow. Also, in this case the callback URL should
>> be optional and if not present the authorization server must display a
>> page with instructions and a special title.
>>
>> For the JavaScript flow, the presence of an empty fragment in the
>> callback URL is a signal that the response should be put there? Can we
>> make it mandatory that the response always goes to the fragment? It is
>> not defined how is the response supposed to be encoded into the
>> fragment. I assume that also URL encoded, but it should be specified.
>
> Didn't get to it. Care to suggest text or point me where to copy it from?

See "6.3.  Rich App Profile" in attached draft-hardt-oauth-01.


Marius

--000e0cd11250c06a6104839980f5
Content-Type: text/html; charset=US-ASCII; name="draft-hardt-oauth-wrap-01.html"
Content-Disposition: attachment; filename="draft-hardt-oauth-wrap-01.html"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_g7pbj8vi0

PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+CjxodG1sIGxhbmc9
ImVuIj48aGVhZD48dGl0bGU+T0F1dGggV2ViIFJlc291cmNlIEF1dGhvcml6YXRpb24KICAgIFBy
b2ZpbGVzPC90aXRsZT4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0
ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVu
dD0iT0F1dGggV2ViIFJlc291cmNlIEF1dGhvcml6YXRpb24KICAgIFByb2ZpbGVzIj4KPG1ldGEg
bmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9InRlbXBsYXRlIj4KPG1ldGEgbmFtZT0iZ2VuZXJhdG9y
IiBjb250ZW50PSJ4bWwycmZjIHYxLjM0IChodHRwOi8veG1sLnJlc291cmNlLm9yZy8pIj4KPHN0
eWxlIHR5cGU9J3RleHQvY3NzJz48IS0tCiAgICAgICAgYm9keSB7CiAgICAgICAgICAgICAgICBm
b250LWZhbWlseTogdmVyZGFuYSwgY2hhcmNvYWwsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2Vy
aWY7CiAgICAgICAgICAgICAgICBmb250LXNpemU6IHNtYWxsOyBjb2xvcjogIzAwMDsgYmFja2dy
b3VuZC1jb2xvcjogI0ZGRjsKICAgICAgICAgICAgICAgIG1hcmdpbjogMmVtOwogICAgICAgIH0K
ICAgICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsKICAgICAgICAgICAgICAgIGZvbnQtZmFt
aWx5OiBoZWx2ZXRpY2EsIG1vbmFjbywgIk1TIFNhbnMgU2VyaWYiLCBhcmlhbCwgc2Fucy1zZXJp
ZjsKICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXN0eWxlOiBub3JtYWw7
CiAgICAgICAgfQogICAgICAgIGgxIHsgY29sb3I6ICM5MDA7IGJhY2tncm91bmQtY29sb3I6IHRy
YW5zcGFyZW50OyB0ZXh0LWFsaWduOiByaWdodDsgfQogICAgICAgIGgzIHsgY29sb3I6ICMzMzM7
IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9CgogICAgICAgIHRkLlJGQ2J1ZyB7CiAg
ICAgICAgICAgICAgICBmb250LXNpemU6IHgtc21hbGw7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsK
ICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4OyBoZWlnaHQ6IDMwcHg7IHBhZGRpbmctdG9wOiAy
cHg7CiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB2ZXJ0aWNhbC1hbGlnbjog
bWlkZGxlOwogICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsKICAgICAgICB9
CiAgICAgICAgdGQuUkZDYnVnIHNwYW4uUkZDIHsKICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5
OiBtb25hY28sIGNoYXJjb2FsLCBnZW5ldmEsICJNUyBTYW5zIFNlcmlmIiwgaGVsdmV0aWNhLCB2
ZXJkYW5hLCBzYW5zLXNlcmlmOwogICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IGNv
bG9yOiAjNjY2OwogICAgICAgIH0KICAgICAgICB0ZC5SRkNidWcgc3Bhbi5ob3RUZXh0IHsKICAg
ICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjaGFyY29hbCwgbW9uYWNvLCBnZW5ldmEsICJNUyBT
YW5zIFNlcmlmIiwgaGVsdmV0aWNhLCB2ZXJkYW5hLCBzYW5zLXNlcmlmOwogICAgICAgICAgICAg
ICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgdGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogI0ZGRjsK
ICAgICAgICB9CgogICAgICAgIHRhYmxlLlRPQ2J1ZyB7IHdpZHRoOiAzMHB4OyBoZWlnaHQ6IDE1
cHg7IH0KICAgICAgICB0ZC5UT0NidWcgewogICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2Vu
dGVyOyB3aWR0aDogMzBweDsgaGVpZ2h0OiAxNXB4OwogICAgICAgICAgICAgICAgY29sb3I6ICNG
RkY7IGJhY2tncm91bmQtY29sb3I6ICM5MDA7CiAgICAgICAgfQogICAgICAgIHRkLlRPQ2J1ZyBh
IHsKICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBtb25hY28sIGNoYXJjb2FsLCBnZW5ldmEs
ICJNUyBTYW5zIFNlcmlmIiwgaGVsdmV0aWNhLCBzYW5zLXNlcmlmOwogICAgICAgICAgICAgICAg
Zm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc2l6ZTogeC1zbWFsbDsgdGV4dC1kZWNvcmF0aW9uOiBu
b25lOwogICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5z
cGFyZW50OwogICAgICAgIH0KCiAgICAgICAgdGQuaGVhZGVyIHsKICAgICAgICAgICAgICAgIGZv
bnQtZmFtaWx5OiBhcmlhbCwgaGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IHgtc21h
bGw7CiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB3aWR0aDogMzMlOwogICAg
ICAgICAgICAgICAgY29sb3I6ICNGRkY7IGJhY2tncm91bmQtY29sb3I6ICM2NjY7CiAgICAgICAg
fQogICAgICAgIHRkLmF1dGhvciB7IGZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXNpemU6IHgtc21h
bGw7IG1hcmdpbi1sZWZ0OiA0ZW07IH0KICAgICAgICB0ZC5hdXRob3ItdGV4dCB7IGZvbnQtc2l6
ZTogeC1zbWFsbDsgfQoKICAgICAgICAvKiBpbmZvIGNvZGUgZnJvbSBTYW50YUtsYXVzcyBhdCBo
dHRwOi8vd3d3Lm1hZGFib3V0c3R5bGUuY29tL3Rvb2x0aXAyLmh0bWwgKi8KICAgICAgICBhLmlu
Zm8gewogICAgICAgICAgICAgICAgLyogVGhpcyBpcyB0aGUga2V5LiAqLwogICAgICAgICAgICAg
ICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgei1pbmRleDogMjQ7CiAgICAg
ICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgfQogICAgICAgIGEuaW5m
bzpob3ZlciB7CiAgICAgICAgICAgICAgICB6LWluZGV4OiAyNTsKICAgICAgICAgICAgICAgIGNv
bG9yOiAjRkZGOyBiYWNrZ3JvdW5kLWNvbG9yOiAjOTAwOwogICAgICAgIH0KICAgICAgICBhLmlu
Zm8gc3BhbiB7IGRpc3BsYXk6IG5vbmU7IH0KICAgICAgICBhLmluZm86aG92ZXIgc3Bhbi5pbmZv
IHsKICAgICAgICAgICAgICAgIC8qIFRoZSBzcGFuIHdpbGwgZGlzcGxheSBqdXN0IG9uIDpob3Zl
ciBzdGF0ZS4gKi8KICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgICAg
ICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICAgICAgZm9udC1zaXplOiBzbWFsbGVy
OwogICAgICAgICAgICAgICAgdG9wOiAyZW07IGxlZnQ6IC01ZW07IHdpZHRoOiAxNWVtOwogICAg
ICAgICAgICAgICAgcGFkZGluZzogMnB4OyBib3JkZXI6IDFweCBzb2xpZCAjMzMzOwogICAgICAg
ICAgICAgICAgY29sb3I6ICM5MDA7IGJhY2tncm91bmQtY29sb3I6ICNFRUU7CiAgICAgICAgICAg
ICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICAgIH0KCiAgICAgICAgYSB7IGZvbnQtd2VpZ2h0
OiBib2xkOyB9CiAgICAgICAgYTpsaW5rICAgIHsgY29sb3I6ICM5MDA7IGJhY2tncm91bmQtY29s
b3I6IHRyYW5zcGFyZW50OyB9CiAgICAgICAgYTp2aXNpdGVkIHsgY29sb3I6ICM2MzM7IGJhY2tn
cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9CiAgICAgICAgYTphY3RpdmUgIHsgY29sb3I6ICM2
MzM7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9CgogICAgICAgIHAgeyBtYXJnaW4t
bGVmdDogMmVtOyBtYXJnaW4tcmlnaHQ6IDJlbTsgfQogICAgICAgIHAuY29weXJpZ2h0IHsgZm9u
dC1zaXplOiB4LXNtYWxsOyB9CiAgICAgICAgcC50b2MgeyBmb250LXNpemU6IHNtYWxsOyBmb250
LXdlaWdodDogYm9sZDsgbWFyZ2luLWxlZnQ6IDNlbTsgfQogICAgICAgIHRhYmxlLnRvYyB7IG1h
cmdpbjogMCAwIDAgM2VtOyBwYWRkaW5nOiAwOyBib3JkZXI6IDA7IHZlcnRpY2FsLWFsaWduOiB0
ZXh0LXRvcDsgfQogICAgICAgIHRkLnRvYyB7IGZvbnQtc2l6ZTogc21hbGw7IGZvbnQtd2VpZ2h0
OiBib2xkOyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7IH0KCiAgICAgICAgb2wudGV4dCB7IG1h
cmdpbi1sZWZ0OiAyZW07IG1hcmdpbi1yaWdodDogMmVtOyB9CiAgICAgICAgdWwudGV4dCB7IG1h
cmdpbi1sZWZ0OiAyZW07IG1hcmdpbi1yaWdodDogMmVtOyB9CiAgICAgICAgbGkgICAgICB7IG1h
cmdpbi1sZWZ0OiAzZW07IH0KCiAgICAgICAgLyogUkZDLTI2MjkgPHNwYW54PnMgYW5kIDxhcnR3
b3JrPnMuICovCiAgICAgICAgZW0gICAgIHsgZm9udC1zdHlsZTogaXRhbGljOyB9CiAgICAgICAg
c3Ryb25nIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KICAgICAgICBkZm4gICAgeyBmb250LXdlaWdo
dDogYm9sZDsgZm9udC1zdHlsZTogbm9ybWFsOyB9CiAgICAgICAgY2l0ZSAgIHsgZm9udC13ZWln
aHQ6IG5vcm1hbDsgZm9udC1zdHlsZTogbm9ybWFsOyB9CiAgICAgICAgdHQgICAgIHsgY29sb3I6
ICMwMzY7IH0KICAgICAgICB0dCwgcHJlLCBwcmUgZGZuLCBwcmUgZW0sIHByZSBjaXRlLCBwcmUg
c3BhbiB7CiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmll
ciwgbW9ub3NwYWNlOyBmb250LXNpemU6IHNtYWxsOwogICAgICAgIH0KICAgICAgICBwcmUgewog
ICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZzogNHB4OwogICAgICAgICAg
ICAgICAgY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6ICNDQ0M7CiAgICAgICAgfQogICAg
ICAgIHByZSBkZm4gIHsgY29sb3I6ICM5MDA7IH0KICAgICAgICBwcmUgZW0gICB7IGNvbG9yOiAj
NjZGOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZDOyBmb250LXdlaWdodDogbm9ybWFsOyB9CiAgICAg
ICAgcHJlIC5rZXkgeyBjb2xvcjogIzMzQzsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KICAgICAgICBw
cmUgLmlkICB7IGNvbG9yOiAjOTAwOyB9CiAgICAgICAgcHJlIC5zdHIgeyBjb2xvcjogIzAwMDsg
YmFja2dyb3VuZC1jb2xvcjogI0NGRjsgfQogICAgICAgIHByZSAudmFsIHsgY29sb3I6ICMwNjY7
IH0KICAgICAgICBwcmUgLnJlcCB7IGNvbG9yOiAjOTA5OyB9CiAgICAgICAgcHJlIC5vdGggeyBj
b2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogI0ZDRjsgfQogICAgICAgIHByZSAuZXJyIHsg
YmFja2dyb3VuZC1jb2xvcjogI0ZDQzsgfQoKICAgICAgICAvKiBSRkMtMjYyOSA8dGV4dHRhYmxl
PnMuICovCiAgICAgICAgdGFibGUuYWxsLCB0YWJsZS5mdWxsLCB0YWJsZS5oZWFkZXJzLCB0YWJs
ZS5ub25lIHsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc21hbGw7IHRleHQtYWxpZ246IGNl
bnRlcjsgYm9yZGVyLXdpZHRoOiAycHg7CiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjog
dG9wOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogICAgICAgIH0KICAgICAgICB0YWJsZS5h
bGwsIHRhYmxlLmZ1bGwgeyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IGJsYWNr
OyB9CiAgICAgICAgdGFibGUuaGVhZGVycywgdGFibGUubm9uZSB7IGJvcmRlci1zdHlsZTogbm9u
ZTsgfQogICAgICAgIHRoIHsKICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyBib3Jk
ZXItY29sb3I6IGJsYWNrOwogICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHggMnB4IDNw
eCAycHg7CiAgICAgICAgfQogICAgICAgIHRhYmxlLmFsbCB0aCwgdGFibGUuZnVsbCB0aCB7IGJv
cmRlci1zdHlsZTogc29saWQ7IH0KICAgICAgICB0YWJsZS5oZWFkZXJzIHRoIHsgYm9yZGVyLXN0
eWxlOiBub25lIG5vbmUgc29saWQgbm9uZTsgfQogICAgICAgIHRhYmxlLm5vbmUgdGggeyBib3Jk
ZXItc3R5bGU6IG5vbmU7IH0KICAgICAgICB0YWJsZS5hbGwgdGQgewogICAgICAgICAgICAgICAg
Ym9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiAjMzMzOwogICAgICAgICAgICAgICAg
Ym9yZGVyLXdpZHRoOiAxcHggMnB4OwogICAgICAgIH0KICAgICAgICB0YWJsZS5mdWxsIHRkLCB0
YWJsZS5oZWFkZXJzIHRkLCB0YWJsZS5ub25lIHRkIHsgYm9yZGVyLXN0eWxlOiBub25lOyB9Cgog
ICAgICAgIGhyIHsgaGVpZ2h0OiAxcHg7IH0KICAgICAgICBoci5pbnNlcnQgewogICAgICAgICAg
ICAgICAgd2lkdGg6IDgwJTsgYm9yZGVyLXN0eWxlOiBub25lOyBib3JkZXItd2lkdGg6IDA7CiAg
ICAgICAgICAgICAgICBjb2xvcjogI0NDQzsgYmFja2dyb3VuZC1jb2xvcjogI0NDQzsKICAgICAg
ICB9Ci0tPjwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNl
bGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0
Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwv
YT48L3RkPjwvdHI+PC90YWJsZT4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgd2lkdGg9IjY2JSIg
Ym9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiPjx0cj48dGQ+PHRhYmxl
IHN1bW1hcnk9ImxheW91dCIgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjIi
IGNlbGxzcGFjaW5nPSIxIj4KPHRyPjx0ZCBjbGFzcz0iaGVhZGVyIj5JbnRlcm5ldCBFbmdpbmVl
cmluZyBUYXNrIEZvcmNlPC90ZD48dGQgY2xhc3M9ImhlYWRlciI+RC4gSGFyZHQsIEVkLjwvdGQ+
PC90cj4KPHRyPjx0ZCBjbGFzcz0iaGVhZGVyIj5JbnRlcm5ldC1EcmFmdDwvdGQ+PHRkIGNsYXNz
PSJoZWFkZXIiPk1pY3Jvc29mdDwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0iaGVhZGVyIj5JbnRl
bmRlZCBzdGF0dXM6IEluZm9ybWF0aW9uYWw8L3RkPjx0ZCBjbGFzcz0iaGVhZGVyIj5BLiBUb208
L3RkPjwvdHI+Cjx0cj48dGQgY2xhc3M9ImhlYWRlciI+RXhwaXJlczogSnVseSAxOSwgMjAxMDwv
dGQ+PHRkIGNsYXNzPSJoZWFkZXIiPllhaG9vITwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0iaGVh
ZGVyIj4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iaGVhZGVyIj5CLiBFYXRvbjwvdGQ+PC90cj4KPHRy
Pjx0ZCBjbGFzcz0iaGVhZGVyIj4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iaGVhZGVyIj5Hb29nbGU8
L3RkPjwvdHI+Cjx0cj48dGQgY2xhc3M9ImhlYWRlciI+Jm5ic3A7PC90ZD48dGQgY2xhc3M9Imhl
YWRlciI+WS4gR29sYW5kPC90ZD48L3RyPgo8dHI+PHRkIGNsYXNzPSJoZWFkZXIiPiZuYnNwOzwv
dGQ+PHRkIGNsYXNzPSJoZWFkZXIiPk1pY3Jvc29mdDwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0i
aGVhZGVyIj4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iaGVhZGVyIj5KYW51YXJ5IDE1LCAyMDEwPC90
ZD48L3RyPgo8L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPgo8aDE+PGJyIC8+T0F1dGggV2ViIFJl
c291cmNlIEF1dGhvcml6YXRpb24KICAgIFByb2ZpbGVzPGJyIC8+ZHJhZnQtaGFyZHQtb2F1dGgt
MDE8L2gxPgoKPGgzPkFic3RyYWN0PC9oMz4KCjxwPlRoZSBPQXV0aCBXZWIgUmVzb3VyY2UgQXV0
aG9yaXphdGlvbiBQcm9maWxlcyAoT0F1dGggV1JBUCkgYWxsb3cgYQogICAgICBzZXJ2ZXIgaG9z
dGluZyBhIFByb3RlY3RlZCBSZXNvdXJjZSB0byBkZWxlZ2F0ZSBhdXRob3JpemF0aW9uIHRvIG9u
ZSBvcgogICAgICBtb3JlIGF1dGhvcml0aWVzLiBBbiBhcHBsaWNhdGlvbiAoQ2xpZW50KSBhY2Nl
c3NlcyB0aGUgUHJvdGVjdGVkCiAgICAgIFJlc291cmNlIGJ5IHByZXNlbnRpbmcgYSBzaG9ydCBs
aXZlZCwgb3BhcXVlLCBiZWFyZXIgdG9rZW4gKEFjY2VzcwogICAgICBUb2tlbikgb2J0YWluZWQg
ZnJvbSBhbiBhdXRob3JpdHkgKEF1dGhvcml6YXRpb24gU2VydmVyKS4gVGhlcmUgYXJlCiAgICAg
IFByb2ZpbGVzIGZvciBob3cgYSBDbGllbnQgbWF5IG9idGFpbiBhbiBBY2Nlc3MgVG9rZW4gd2hl
biBhY3RpbmcKICAgICAgYXV0b25vbW91c2x5IG9yIG9uIGJlaGFsZiBvZiBhIFVzZXIuCjwvcD4K
PGgzPlN0YXR1cyBvZiB0aGlzIE1lbW88L2gzPgo8cD4KVGhpcyBJbnRlcm5ldC1EcmFmdCBpcyBz
dWJtaXR0ZWQgdG8gSUVURiBpbiBmdWxsCmNvbmZvcm1hbmNlIHdpdGggdGhlIHByb3Zpc2lvbnMg
b2YgQkNQJm5ic3A7NzggYW5kIEJDUCZuYnNwOzc5LjwvcD4KPHA+CkludGVybmV0LURyYWZ0cyBh
cmUgd29ya2luZyBkb2N1bWVudHMgb2YgdGhlIEludGVybmV0IEVuZ2luZWVyaW5nClRhc2sgRm9y
Y2UgKElFVEYpLCBpdHMgYXJlYXMsIGFuZCBpdHMgd29ya2luZyBncm91cHMuCk5vdGUgdGhhdCBv
dGhlciBncm91cHMgbWF5IGFsc28gZGlzdHJpYnV0ZSB3b3JraW5nIGRvY3VtZW50cyBhcwpJbnRl
cm5ldC1EcmFmdHMuPC9wPgo8cD4KSW50ZXJuZXQtRHJhZnRzIGFyZSBkcmFmdCBkb2N1bWVudHMg
dmFsaWQgZm9yIGEgbWF4aW11bSBvZiBzaXggbW9udGhzCmFuZCBtYXkgYmUgdXBkYXRlZCwgcmVw
bGFjZWQsIG9yIG9ic29sZXRlZCBieSBvdGhlciBkb2N1bWVudHMgYXQgYW55IHRpbWUuCkl0IGlz
IGluYXBwcm9wcmlhdGUgdG8gdXNlIEludGVybmV0LURyYWZ0cyBhcyByZWZlcmVuY2UgbWF0ZXJp
YWwgb3IgdG8gY2l0ZQp0aGVtIG90aGVyIHRoYW4gYXMgJmxkcXVvO3dvcmsgaW4gcHJvZ3Jlc3Mu
JnJkcXVvOzwvcD4KPHA+ClRoZSBsaXN0IG9mIGN1cnJlbnQgSW50ZXJuZXQtRHJhZnRzIGNhbiBi
ZSBhY2Nlc3NlZCBhdAo8YSBocmVmPSdodHRwOi8vd3d3LmlldGYub3JnL2lldGYvMWlkLWFic3Ry
YWN0cy50eHQnPmh0dHA6Ly93d3cuaWV0Zi5vcmcvaWV0Zi8xaWQtYWJzdHJhY3RzLnR4dDwvYT4u
PC9wPgo8cD4KVGhlIGxpc3Qgb2YgSW50ZXJuZXQtRHJhZnQgU2hhZG93IERpcmVjdG9yaWVzIGNh
biBiZSBhY2Nlc3NlZCBhdAo8YSBocmVmPSdodHRwOi8vd3d3LmlldGYub3JnL3NoYWRvdy5odG1s
Jz5odHRwOi8vd3d3LmlldGYub3JnL3NoYWRvdy5odG1sPC9hPi48L3A+CjxwPgpUaGlzIEludGVy
bmV0LURyYWZ0IHdpbGwgZXhwaXJlIG9uIEp1bHkgMTksIDIwMTAuPC9wPgoKPGgzPkNvcHlyaWdo
dCBOb3RpY2U8L2gzPgo8cD4KQ29weXJpZ2h0IChjKSAyMDEwIElFVEYgVHJ1c3QgYW5kIHRoZSBw
ZXJzb25zIGlkZW50aWZpZWQgYXMgdGhlCmRvY3VtZW50IGF1dGhvcnMuICBBbGwgcmlnaHRzIHJl
c2VydmVkLjwvcD4KPHA+ClRoaXMgZG9jdW1lbnQgaXMgc3ViamVjdCB0byBCQ1AgNzggYW5kIHRo
ZSBJRVRGIFRydXN0J3MgTGVnYWwKUHJvdmlzaW9ucyBSZWxhdGluZyB0byBJRVRGIERvY3VtZW50
cyBpbiBlZmZlY3Qgb24gdGhlIGRhdGUgb2YKcHVibGljYXRpb24gb2YgdGhpcyBkb2N1bWVudCAo
aHR0cDovL3RydXN0ZWUuaWV0Zi5vcmcvbGljZW5zZS1pbmZvKS4KUGxlYXNlIHJldmlldyB0aGVz
ZSBkb2N1bWVudHMgY2FyZWZ1bGx5LCBhcyB0aGV5IGRlc2NyaWJlIHlvdXIKcmlnaHRzIGFuZCBy
ZXN0cmljdGlvbnMgd2l0aCByZXNwZWN0IHRvIHRoaXMgZG9jdW1lbnQuPC9wPgo8YSBuYW1lPSJ0
b2MiPjwvYT48YnIgLz48aHIgLz4KPGgzPlRhYmxlIG9mIENvbnRlbnRzPC9oMz4KPHAgY2xhc3M9
InRvYyI+CjxhIGhyZWY9IiNhbmNob3IxIj4xLjwvYT4mbmJzcDsKT3ZlcnZpZXc8YnIgLz4KJm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjIiPjEuMS48L2E+Jm5ic3A7CkFj
Y2Vzc2luZyBhIFByb3RlY3RlZCBSZXNvdXJjZTxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDs8YSBocmVmPSIjYW5jaG9yMyI+MS4yLjwvYT4mbmJzcDsKQXV0b25vbW91cyBDbGllbnQgUHJv
ZmlsZXM8YnIgLz4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjQiPjEu
My48L2E+Jm5ic3A7ClVzZXIgRGVsZWdhdGlvbiBQcm9maWxlczxiciAvPgo8YSBocmVmPSIjYW5j
aG9yNSI+Mi48L2E+Jm5ic3A7ClJlcXVpcmVtZW50cyBMYW5ndWFnZTxiciAvPgo8YSBocmVmPSIj
YW5jaG9yNiI+My48L2E+Jm5ic3A7CkRlZmluaXRpb25zPGJyIC8+CiZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOzxhIGhyZWY9IiNhbmNob3I3Ij4zLjEuPC9hPiZuYnNwOwpVUkxzPGJyIC8+CjxhIGhy
ZWY9IiNQcm90ZWN0ZWRSZXNvdXJjZSI+NC48L2E+Jm5ic3A7CkFjY2Vzc2luZyBhIFByb3RlY3Rl
ZCBSZXNvdXJjZTxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9y
OCI+NC4xLjwvYT4mbmJzcDsKQWNjZXNzIFRva2VuPGJyIC8+CiZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOzxhIGhyZWY9IiNhbmNob3I5Ij40LjIuPC9hPiZuYnNwOwpBY3F1aXJpbmcgYW4gQWNjZXNz
IFRva2VuPGJyIC8+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3IxMCI+
NC4zLjwvYT4mbmJzcDsKQ2xpZW50IENhbGxzIFByb3RlY3RlZCBSZXNvdXJjZSBVc2luZyBIVFRQ
IEhlYWRlcjxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTEi
PjQuNC48L2E+Jm5ic3A7CkNsaWVudCBDYWxscyBQcm90ZWN0ZWQgUmVzb3VyY2UgVXNpbmcgVVJM
IFF1ZXJ5IFBhcmFtZXRlcjxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIj
YW5jaG9yMTIiPjQuNS48L2E+Jm5ic3A7CkNsaWVudCBDYWxscyBQcm90ZWN0ZWQgUmVzb3VyY2Ug
VXNpbmcgUG9zdCBQYXJhbWV0ZXI8YnIgLz4KPGEgaHJlZj0iI2F1dG9ub21vdXMucHJvZmlsZXMi
PjUuPC9hPiZuYnNwOwpBY3F1aXJpbmcgYW4gQWNjZXNzIFRva2VuOiBBdXRvbm9tb3VzIENsaWVu
dCBQcm9maWxlczxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjcDEiPjUu
MS48L2E+Jm5ic3A7CkNsaWVudCBBY2NvdW50IGFuZCBQYXNzd29yZCBQcm9maWxlPGJyIC8+CiZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNh
bmNob3IxMyI+NS4xLjEuPC9hPiZuYnNwOwpQcm92aXNpb25pbmc8YnIgLz4KJm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI3AxcmVxdWVzdCI+
NS4xLjIuPC9hPiZuYnNwOwpDbGllbnQgUmVxdWVzdHMgQWNjZXNzIFRva2VuPGJyIC8+CiZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNo
b3IxNCI+NS4xLjMuPC9hPiZuYnNwOwpTdWNjZXNzZnVsIEFjY2VzcyBUb2tlbiBSZXNwb25zZSBm
cm9tIEF1dGhvcml6YXRpb24gIFNlcnZlcjxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTUiPjUuMS40LjwvYT4mbmJz
cDsKVW5zdWNjZXNzZnVsIEFjY2VzcyBUb2tlbiBSZXNwb25zZSBmcm9tIEF1dGhvcml6YXRpb24g
U2VydmVyPGJyIC8+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOzxhIGhyZWY9IiNhbmNob3IxNiI+NS4xLjUuPC9hPiZuYnNwOwpDbGllbnQgUmVmcmVzaGVz
IEFjY2VzcyBUb2tlbjxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjcDIi
PjUuMi48L2E+Jm5ic3A7CkFzc2VydGlvbiBQcm9maWxlPGJyIC8+CiZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3IxNyI+NS4yLjEu
PC9hPiZuYnNwOwpQcm92aXNpb25pbmc8YnIgLz4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI3AyLmFzc2VydGlvbiI+NS4yLjIuPC9hPiZu
YnNwOwpDbGllbnQgT2J0YWlucyBBc3NlcnRpb248YnIgLz4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI3AyLnJlcXVlc3QiPjUuMi4zLjwv
YT4mbmJzcDsKQ2xpZW50IFJlcXVlc3RzIEFjY2VzcyBUb2tlbjxiciAvPgombmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTgiPjUu
Mi40LjwvYT4mbmJzcDsKU3VjY2Vzc2Z1bCBBY2Nlc3MgVG9rZW4gUmVzcG9uc2UgZnJvbSBBdXRo
b3JpemF0aW9uIFNlcnZlcjxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTkiPjUuMi41LjwvYT4mbmJzcDsKVW5zdWNj
ZXNzZnVsIEFjY2VzcyBUb2tlbiBSZXNwb25zZSBmcm9tIEF1dGhvcml6YXRpb24gU2VydmVyPGJy
IC8+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhy
ZWY9IiNhbmNob3IyMCI+NS4yLjYuPC9hPiZuYnNwOwpDbGllbnQgUmVmcmVzaGVzIEFjY2VzcyBU
b2tlbjxiciAvPgo8YSBocmVmPSIjdXNlci5wcm9maWxlcyI+Ni48L2E+Jm5ic3A7CkFjcXVpcmlu
ZyBhbiBBY2Nlc3MgVG9rZW46IFVzZXIgRGVsZWdhdGlvbiBQcm9maWxlczxiciAvPgombmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjcDMiPjYuMS48L2E+Jm5ic3A7ClVzZXJuYW1lIGFu
ZCBQYXNzd29yZCBQcm9maWxlPGJyIC8+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3IyMSI+Ni4xLjEuPC9hPiZuYnNwOwpQcm92
aXNpb25pbmc8YnIgLz4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7PGEgaHJlZj0iI3AzLnBhc3N3b3JkIj42LjEuMi48L2E+Jm5ic3A7CkNsaWVudCBPYnRh
aW5zIFVzZXJuYW1lIGFuZCAgICAgIFBhc3N3b3JkPGJyIC8+CiZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNwMy5yZXF1ZXN0Ij42LjEuMy48
L2E+Jm5ic3A7CkNsaWVudCBSZXF1ZXN0cyBBY2Nlc3MgVG9rZW48YnIgLz4KJm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjIyIj42
LjEuNC48L2E+Jm5ic3A7ClN1Y2Nlc3NmdWwgQWNjZXNzIFRva2VuIFJlc3BvbnNlIGZyb20gQXV0
aG9yaXphdGlvbiBTZXJ2ZXI8YnIgLz4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjIzIj42LjEuNS48L2E+Jm5ic3A7ClVuc3Vj
Y2Vzc2Z1bCBBY2Nlc3MgVG9rZW4gUmVzcG9uc2UgZnJvbSBBdXRob3JpemF0aW9uIFNlcnZlcjxi
ciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBo
cmVmPSIjYW5jaG9yMjQiPjYuMS42LjwvYT4mbmJzcDsKVmVyaWZpY2F0aW9uIFVSTCBSZXNwb25z
ZSBmcm9tIEF1dGhvcml6YXRpb24gU2VydmVyPGJyIC8+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3IyNSI+Ni4xLjcuPC9hPiZu
YnNwOwpDQVBUQ0hBIFJlc3BvbnNlIGZyb20gQXV0aG9yaXphdGlvbiBTZXJ2ZXI8YnIgLz4KJm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2Fu
Y2hvcjI2Ij42LjEuOC48L2E+Jm5ic3A7CkNsaWVudCBSZWZyZXNoZXMgQWNjZXNzIFRva2VuPGJy
IC8+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhy
ZWY9IiNhbmNob3IyNyI+Ni4xLjkuPC9hPiZuYnNwOwpTdWNjZXNzZnVsIEFjY2VzcyBUb2tlbiBS
ZWZyZXNoPGJyIC8+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOzxhIGhyZWY9IiNhbmNob3IyOCI+Ni4xLjEwLjwvYT4mbmJzcDsKVW5zdWNjZXNzZnVsIEFj
Y2VzcyBUb2tlbiBSZWZyZXNoPGJyIC8+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9
IiNwNCI+Ni4yLjwvYT4mbmJzcDsKV2ViIEFwcCBQcm9maWxlPGJyIC8+CiZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3IyOSI+Ni4y
LjEuPC9hPiZuYnNwOwpQcm92aXNpb25pbmc8YnIgLz4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI3A0LmF1dGhvcml6YXRpb24iPjYuMi4y
LjwvYT4mbmJzcDsKQ2xpZW50IERpcmVjdHMgdGhlIFVzZXIgdG8gdGhlICAgICAgQXV0aG9yaXph
dGlvbiBTZXJ2ZXI8YnIgLz4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjMwIj42LjIuMy48L2E+Jm5ic3A7CkF1dGhvcml6YXRp
b24gU2VydmVyIENvbmZpcm1zIEF1dGhvcml6YXRpb24gUmVxdWVzdCB3aXRoIFVzZXI8YnIgLz4K
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0i
I2FuY2hvcjMxIj42LjIuNC48L2E+Jm5ic3A7CkF1dGhvcml6YXRpb24gU2VydmVyIERpcmVjdHMg
VXNlciBiYWNrIHRvIHRoZSBDbGllbnQ8YnIgLz4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI3A0LnJlcXVlc3QiPjYuMi41LjwvYT4mbmJz
cDsKQ2xpZW50IFJlcXVlc3RzIEFjY2VzcyBUb2tlbjxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMzIiPjYuMi42Ljwv
YT4mbmJzcDsKU3VjY2Vzc2Z1bCBBY2Nlc3MgVG9rZW4gUmVzcG9uc2UgZnJvbSBBdXRob3JpemF0
aW9uIFNlcnZlcjxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMzMiPjYuMi43LjwvYT4mbmJzcDsKVW5zdWNjZXNzZnVs
IEFjY2VzcyBUb2tlbiBSZXNwb25zZSBmcm9tIEF1dGhvcml6YXRpb24gU2VydmVyPGJyIC8+CiZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNh
bmNob3IzNCI+Ni4yLjguPC9hPiZuYnNwOwpDbGllbnQgUmVmcmVzaGVzIEFjY2VzcyBUb2tlbjxi
ciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBo
cmVmPSIjYW5jaG9yMzUiPjYuMi45LjwvYT4mbmJzcDsKU3VjY2Vzc2Z1bCBBY2Nlc3MgVG9rZW4g
UmVmcmVzaDxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDs8YSBocmVmPSIjYW5jaG9yMzYiPjYuMi4xMC48L2E+Jm5ic3A7ClVuc3VjY2Vzc2Z1bCBB
Y2Nlc3MgVG9rZW4gUmVmcmVzaDxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVm
PSIjcDUiPjYuMy48L2E+Jm5ic3A7ClJpY2ggQXBwIFByb2ZpbGU8YnIgLz4KJm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjM3Ij42
LjMuMS48L2E+Jm5ic3A7ClByb3Zpc2lvbmluZzxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjcDUuYXV0aG9yaXphdGlvbiI+Ni4z
LjIuPC9hPiZuYnNwOwpDbGllbnQgRGlyZWN0cyB0aGUgVXNlciB0byB0aGUgICAgICBBdXRob3Jp
emF0aW9uIFNlcnZlcjxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMzgiPjYuMy4zLjwvYT4mbmJzcDsKQXV0aG9yaXph
dGlvbiBTZXJ2ZXIgQ29uZmlybXMgQXV0aG9yaXphdGlvbiBSZXF1ZXN0IHdpdGggVXNlcjxiciAv
PgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVm
PSIjcDUucmVxdWVzdCI+Ni4zLjQuPC9hPiZuYnNwOwpDbGllbnQgUmVxdWVzdHMgQWNjZXNzIFRv
a2VuPGJyIC8+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OzxhIGhyZWY9IiNwNS52ZXJpZmljYXRpb24iPjYuMy41LjwvYT4mbmJzcDsKU3VjY2Vzc2Z1bCBB
Y2Nlc3MgVG9rZW4gUmVzcG9uc2UgZnJvbSBBdXRob3JpemF0aW9uIFNlcnZlcjxiciAvPgombmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5j
aG9yNDEiPjYuMy42LjwvYT4mbmJzcDsKVW5zdWNjZXNzZnVsIEFjY2VzcyBUb2tlbiBSZXNwb25z
ZSBmcm9tIEF1dGhvcml6YXRpb24gU2VydmVyPGJyIC8+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3I0MiI+Ni4zLjcuPC9hPiZu
YnNwOwpDbGllbnQgUmVmcmVzaGVzIEFjY2VzcyBUb2tlbjxiciAvPgombmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNDMiPjYuMy44
LjwvYT4mbmJzcDsKU3VjY2Vzc2Z1bCBBY2Nlc3MgVG9rZW4gUmVmcmVzaDxiciAvPgombmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9y
NDQiPjYuMy45LjwvYT4mbmJzcDsKVW5zdWNjZXNzZnVsIEFjY2VzcyBUb2tlbiBSZWZyZXNoPGJy
IC8+CjxhIGhyZWY9IiNQYXJhbUNvbiI+Ny48L2E+Jm5ic3A7ClBhcmFtZXRlciBDb25zaWRlcmF0
aW9uczxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNDUiPjcu
MS48L2E+Jm5ic3A7CkF1dGhvcml6YXRpb24gU2VydmVyIFJlcXVlc3QgLyBSZXNwb25zZSBQYXJh
bWV0ZXIgICAgICAgRW5jb2Rpbmc8YnIgLz4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJl
Zj0iI2FuY2hvcjQ2Ij43LjIuPC9hPiZuYnNwOwpQYXJhbWV0ZXIgU2l6ZTxiciAvPgombmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNDciPjcuMy48L2E+Jm5ic3A7CkFjY2Vz
cyBUb2tlbiBGb3JtYXQ8YnIgLz4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2Fu
Y2hvcjQ4Ij43LjQuPC9hPiZuYnNwOwpSZWZyZXNoIFRva2VuIEZvcm1hdDxiciAvPgombmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNDkiPjcuNS48L2E+Jm5ic3A7CkFkZGl0
aW9uYWwgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgUGFyYW1ldGVyczxiciAvPgombmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNTAiPjcuNi48L2E+Jm5ic3A7ClBhcmFtZXRlciBO
YW1lcyBhbmQgT3JkZXI8YnIgLz4KPGEgaHJlZj0iI0lBTkEiPjguPC9hPiZuYnNwOwpJQU5BIENv
bnNpZGVyYXRpb25zPGJyIC8+CjxhIGhyZWY9IiNTZWN1cml0eSI+OS48L2E+Jm5ic3A7ClNlY3Vy
aXR5IENvbnNpZGVyYXRpb25zPGJyIC8+CjxhIGhyZWY9IiNyZmMucmVmZXJlbmNlczEiPjEwLjwv
YT4mbmJzcDsKUmVmZXJlbmNlczxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVm
PSIjcmZjLnJlZmVyZW5jZXMxIj4xMC4xLjwvYT4mbmJzcDsKTm9ybWF0aXZlIFJlZmVyZW5jZXM8
YnIgLz4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI3JmYy5yZWZlcmVuY2VzMiI+
MTAuMi48L2E+Jm5ic3A7CkluZm9ybWF0aXZlIFJlZmVyZW5jZXM8YnIgLz4KPGEgaHJlZj0iI2Fu
Y2hvcjUzIj5BcHBlbmRpeCZuYnNwO0EuPC9hPiZuYnNwOwpDbGllbnQgQWNjb3VudCBhbmQgUGFz
c3dvcmQgUHJvZmlsZSBFeGFtcGxlPGJyIC8+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhy
ZWY9IiNhbmNob3I1NCI+QS4xLjwvYT4mbmJzcDsKUHJvdmlzaW9uaW5nPGJyIC8+CiZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3I1NSI+QS4yLjwvYT4mbmJzcDsKQ2xpZW50
IFJlcXVlc3RzIEFjY2VzcyBUb2tlbjxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBo
cmVmPSIjYW5jaG9yNTYiPkEuMy48L2E+Jm5ic3A7ClN1Y2Nlc3NmdWwgQWNjZXNzIFRva2VuIFJl
c3BvbnNlIGZyb20gQXV0aG9yaXphdGlvbiBTZXJ2ZXI8YnIgLz4KJm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjU3Ij5BLjQuPC9hPiZuYnNwOwpDbGllbnQgQ2FsbHMgUHJv
dGVjdGVkIFJlc291cmNlPGJyIC8+CjxhIGhyZWY9IiNhbmNob3I1OCI+QXBwZW5kaXgmbmJzcDtC
LjwvYT4mbmJzcDsKV2ViIEFwcCBQcm9maWxlIEV4YW1wbGU8YnIgLz4KJm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjU5Ij5CLjEuPC9hPiZuYnNwOwpQcm92aXNpb25pbmc8
YnIgLz4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjYwIj5CLjIuPC9h
PiZuYnNwOwpDbGllbnQgRGlyZWN0cyB0aGUgVXNlciB0byB0aGUgU2VydmVyPGJyIC8+CiZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3I2MSI+Qi4zLjwvYT4mbmJzcDsKQXV0
aG9yaXphdGlvbiBTZXJ2ZXIgQ29uZmlybXMgRGVsZWdhdGlvbiBSZXF1ZXN0IHdpdGggVXNlcjxi
ciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNjIiPkIuNC48L2E+
Jm5ic3A7ClNlcnZlciBEaXJlY3RzIFVzZXIgYmFjayB0byB0aGUgQ2xpZW50PGJyIC8+CiZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3I2MyI+Qi41LjwvYT4mbmJzcDsKQ2xp
ZW50IFJlcXVlc3RzIEFjY2VzcyBUb2tlbjxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8
YSBocmVmPSIjYW5jaG9yNjQiPkIuNi48L2E+Jm5ic3A7ClN1Y2Nlc3NmdWwgQWNjZXNzIFRva2Vu
IFJlc3BvbnNlIGZyb20gQXV0aG9yaXphdGlvbiBTZXJ2ZXI8YnIgLz4KJm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjY1Ij5CLjcuPC9hPiZuYnNwOwpDbGllbnQgQ2FsbHMg
UHJvdGVjdGVkIFJlc291cmNlPGJyIC8+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9
IiNhbmNob3I2NiI+Qi44LjwvYT4mbmJzcDsKQ2xpZW50IFJlZnJlc2hlcyBBY2Nlc3MgVG9rZW48
YnIgLz4KPGEgaHJlZj0iI3JmYy5hdXRob3JzIj4mIzE2Nzs8L2E+Jm5ic3A7CkF1dGhvcnMnIEFk
ZHJlc3NlczxiciAvPgo8L3A+CjxiciBjbGVhcj0iYWxsIiAvPgoKPGEgbmFtZT0iYW5jaG9yMSI+
PC9hPjxiciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIg
Y2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFz
cz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwv
dGFibGU+CjxhIG5hbWU9InJmYy5zZWN0aW9uLjEiPjwvYT48aDM+MS4mbmJzcDsKT3ZlcnZpZXc8
L2gzPgoKPHA+QXMgdGhlIGludGVybmV0IGhhcyBldm9sdmVkLCB0aGVyZSBpcyBhIGdyb3dpbmcg
dHJlbmQgZm9yIGEgdmFyaWV0eQogICAgICBvZiBhcHBsaWNhdGlvbnMgKENsaWVudHMpIHRvIGFj
Y2VzcyByZXNvdXJjZXMgdGhyb3VnaCBhbiBBUEkgb3ZlciBIVFRQCiAgICAgIG9yIG90aGVyIHBy
b3RvY29scy4gT2Z0ZW4gdGhlc2UgcmVzb3VyY2VzIHJlcXVpcmUgYXV0aG9yaXphdGlvbiBmb3IK
ICAgICAgYWNjZXNzIGFuZCBhcmUgUHJvdGVjdGVkIFJlc291cmNlcy4gVGhlIHN5c3RlbXMgdGhh
dCBhcmUgdHJ1c3RlZCB0byBtYWtlCiAgICAgIGF1dGhvcml6YXRpb24gZGVjaXNpb25zIG1heSBi
ZSBpbmRlcGVuZGVudCBmcm9tIHRoZSBQcm90ZWN0ZWQgUmVzb3VyY2VzCiAgICAgIGZvciBzY2Fs
ZSBhbmQgc2VjdXJpdHkgcmVhc29ucy4gVGhlIE9BdXRoIFdlYiBSZXNvdXJjZSBBdXRob3JpemF0
aW9uCiAgICAgIFByb2ZpbGVzIChPQXV0aCBXUkFQKSBlbmFibGUgYSBQcm90ZWN0ZWQgUmVzb3Vy
Y2UgdG8gZGVsZWdhdGUgdGhlCiAgICAgIGF1dGhvcml6YXRpb24gdG8gYWNjZXNzIGEgUHJvdGVj
dGVkIFJlc291cmNlIHRvIG9uZSBvciBtb3JlIHRydXN0ZWQKICAgICAgYXV0aG9yaXRpZXMuCjwv
cD4KPHA+Q2xpZW50cyB0aGF0IHdpc2ggdG8gYWNjZXNzIGEgUHJvdGVjdGVkIFJlc291cmNlIGZp
cnN0IG9idGFpbgogICAgICBhdXRob3JpemF0aW9uIGZyb20gYSB0cnVzdGVkIGF1dGhvcml0eSAo
QXV0aG9yaXphdGlvbiBTZXJ2ZXIpLiBEaWZmZXJlbnQKICAgICAgY3JlZGVudGlhbHMgYW5kIHBy
b2ZpbGVzIGNhbiBiZSB1c2VkIHRvIG9idGFpbiB0aGlzIGF1dGhvcml6YXRpb24sIGJ1dAogICAg
ICBvbmNlIGF1dGhvcml6ZWQsIHRoZSBDbGllbnQgaXMgcHJvdmlkZWQgYW4gQWNjZXNzIFRva2Vu
LCBhbmQgcG9zc2libGUgYQogICAgICBSZWZyZXNoIFRva2VuIHRvIG9idGFpbiBuZXcgQWNjZXNz
IFRva2Vucy4gVGhlIEF1dGhvcml6YXRpb24gU2VydmVyCiAgICAgIHR5cGljYWxseSBpbmNsdWRl
cyBhdXRob3JpemF0aW9uIGluZm9ybWF0aW9uIGluIHRoZSBBY2Nlc3MgVG9rZW4gYW5kCiAgICAg
IGRpZ2l0YWxseSBzaWducyB0aGUgQWNjZXNzIFRva2VuLiBQcm90ZWN0ZWQgUmVzb3VyY2UgY2Fu
IHZlcmlmeSB0aGF0IGFuCiAgICAgIEFjY2VzcyBUb2tlbiByZWNlaXZlZCBmcm9tIGEgQ2xpZW50
IHdhcyBpc3N1ZWQgYnkgYSB0cnVzdGVkCiAgICAgIEF1dGhvcml6YXRpb24gU2VydmVyIGFuZCBp
cyB2YWxpZC4gVGhlIFByb3RlY3RlZCBSZXNvdXJjZSBjYW4gdGhlbgogICAgICBleGFtaW5lIHRo
ZSBjb250ZW50cyBvZiB0aGUgQWNjZXNzIFRva2VuIHRvIGRldGVybWluZSB0aGUgYXV0aG9yaXph
dGlvbgogICAgICB0aGF0IGhhcyBiZWVuIGdyYW50ZWQgdG8gdGhlIENsaWVudC4KPC9wPgo8YSBu
YW1lPSJhbmNob3IyIj48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNl
bGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0
Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwv
YT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uMS4xIj48L2E+PGgzPjEu
MS4mbmJzcDsKQWNjZXNzaW5nIGEgUHJvdGVjdGVkIFJlc291cmNlPC9oMz4KCjxwPlRoZSBBY2Nl
c3MgVG9rZW4gaXMgb3BhcXVlIHRvIHRoZSBDbGllbnQsIGFuZCBjYW4gYmUgYW55IGZvcm1hdAog
ICAgICAgIGFncmVlZCB0byBiZXR3ZWVuIHRoZSBBdXRob3JpemF0aW9uIFNlcnZlciBhbmQgdGhl
IFByb3RlY3RlZCBSZXNvdXJjZQogICAgICAgIGVuYWJsaW5nIGV4aXN0aW5nIHN5c3RlbXMgdG8g
cmV1c2Ugc3VpdGFibGUgdG9rZW5zLCBvciB1c2UgYSBzdGFuZGFyZAogICAgICAgIHRva2VuIGZv
cm1hdCBzdWNoIGFzIGEgU2ltcGxlIFdlYiBUb2tlbiBvciBKU09OIFdlYiBUb2tlbi4gU2luY2Ug
dGhlCiAgICAgICAgQWNjZXNzIFRva2VuIHByb3ZpZGVzIHRoZSBDbGllbnQgYXV0aG9yaXphdGlv
biB0byB0aGUgUHJvdGVjdGVkCiAgICAgICAgUmVzb3VyY2UgZm9yIHRoZSBsaWZlIG9mIHRoZSBB
Y2Nlc3MgVG9rZW4sIHRoZSBBdXRob3JpemF0aW9uIFNlcnZlcgogICAgICAgIHNob3VsZCBpc3N1
ZSBBY2Nlc3MgVG9rZW5zIHRoYXQgZXhwaXJlIHdpdGhpbiBhbiBhcHByb3ByaWF0ZSB0aW1lLgog
ICAgICAgIFdoZW4gYW4gQWNjZXNzIFRva2VuIGV4cGlyZXMsIHRoZSBDbGllbnQgcmVxdWVzdHMg
YSBuZXcgQWNjZXNzIFRva2VuCiAgICAgICAgZnJvbSB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIs
IHdoaWNoIG9uY2UgYWdhaW4gY29tcHV0ZXMgdGhlIENsaWVudCdzCiAgICAgICAgYXV0aG9yaXph
dGlvbiwgYW5kIGlzc3VlcyBhIG5ldyBBY2Nlc3MgVG9rZW4uIDxhIGNsYXNzPSdpbmZvJyBocmVm
PScjZmlnMSc+RmlndXJlJm5ic3A7MTwvYT4gYmVsb3cgc2hvd3MgdGhlIGZsb3cgYmV0d2VlbiB0
aGUgQ2xpZW50IGFuZAogICAgICAgIEF1dGhvcml6YXRpb24gU2VydmVyIChBLEIpOyBhbmQgdGhl
biBiZXR3ZWVuIHRoZSBDbGllbnQgYW5kIFByb3RlY3RlZAogICAgICAgIFJlc291cmNlIChDLEQp
Ogo8L3A+PGJyIC8+PGhyIGNsYXNzPSJpbnNlcnQiIC8+CjxhIG5hbWU9ImZpZzEiPjwvYT4KPGRp
diBzdHlsZT0nZGlzcGxheTogdGFibGU7IHdpZHRoOiAwOyBtYXJnaW4tbGVmdDogM2VtOyBtYXJn
aW4tcmlnaHQ6IGF1dG8nPjxwcmU+CiAgKy0tLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKy0tLS0tLS0tLS0tLS0tLSsKICB8IEMgfC0tKEEpLS0tLS0tIGNyZWRlbnRpYWxzIC0t
LS0tLS0tLSZndDt8IEF1dGhvcml6YXRpb24gfAogIHwgbCB8Jmx0Oy0oQiktLS0tLS0gQWNjZXNz
IFRva2VuIC0tLS0tLS0tLXwgU2VydmVyICAgICAgICB8CiAgfCBpIHwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLSsKICB8IGUgfAogIHwgbiB8ICAgICAg
ICAgICAgQWNjZXNzIFRva2VuICAgICAgICAgICstLS0tLS0tLS0tLSsKICB8IHQgfC0tKEMpLS0t
LS0gaW4gSFRUUCBoZWFkZXIgLS0tLS0tLSZndDt8IFByb3RlY3RlZCB8CiAgfCAgIHwmbHQ7LShE
KS0tLS0tLSBBUEkgcmVzcG9uc2UgLS0tLS0tLS0tfCBSZXNvdXJjZSAgfAogICstLS0rICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICstLS0tLS0tLS0tLSsKPC9wcmU+PC9kaXY+PHRh
YmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBhbGlnbj0iY2Vu
dGVyIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxmb250IGZhY2U9Im1vbmFjbywgTVMgU2FucyBT
ZXJpZiIgc2l6ZT0iMSI+PGI+Jm5ic3A7RmlndXJlJm5ic3A7MSZuYnNwOzwvYj48L2ZvbnQ+PGJy
IC8+PC90ZD48L3RyPjwvdGFibGU+PGhyIGNsYXNzPSJpbnNlcnQiIC8+Cgo8cD5JbiBzdGVwIEEs
IHRoZSBDbGllbnQgcHJlc2VudHMgY3JlZGVudGlhbHMgdG8gdGhlIEF1dGhvcml6YXRpb24KICAg
ICAgICBTZXJ2ZXIgaW4gZXhjaGFuZ2UgZm9yIGFuIEFjY2VzcyBUb2tlbi4KPC9wPgo8cD4gQSBQ
cm9maWxlIHNwZWNpZmllcyB0aGUgY3JlZGVudGlhbHMgdG8gYmUgcHJvdmlkZWQgaW4gc3RlcCBB
LCBhbmQKCWhvdyB0aGUgQ2xpZW50IG9idGFpbnMgdGhlbS4gVGhpcyBzcGVjaWZpY2F0aW9uIGRl
ZmluZXMgYSBudW1iZXIgb2YKCVByb2ZpbGVzOyBhZGRpdGlvbmFsIFByb2ZpbGVzIG1heSBiZSBk
ZWZpbmVkIHRvIHN1cHBvcnQgYWRkaXRpb25hbAoJc2NlbmFyaW9zLiBUaGUgUHJvZmlsZXMgaW4g
dGhpcyBzcGVjaWZpY2F0aW9uIGFyZSBzZXBhcmF0ZWQgaW50byB0d28KCWdyb3VwczogYXV0b25v
bW91cyBwcm9maWxlcyB3aGVyZSB0aGUgQ2xpZW50IGFzIGFjdGluZyBmb3IgaXRzZWxmLCBhbmQK
CXVzZXIgZGVsZWdhdGlvbiBwcm9maWxlcyB3aGVyZSB0aGUgQ2xpZW50IGlzIGFjdGluZyBvbiBi
ZWhhbGYgb2YgYQoJVXNlci4KPC9wPgo8YSBuYW1lPSJhbmNob3IzIj48L2E+PGJyIC8+PGhyIC8+
Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIg
Y2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhy
ZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0i
cmZjLnNlY3Rpb24uMS4yIj48L2E+PGgzPjEuMi4mbmJzcDsKQXV0b25vbW91cyBDbGllbnQgUHJv
ZmlsZXM8L2gzPgoKPHA+VGhlIGZvbGxvd2luZyB0d28gUHJvZmlsZXMgKHNlZSA8YSBjbGFzcz0n
aW5mbycgaHJlZj0nI2F1dG9ub21vdXMucHJvZmlsZXMnPlNlY3Rpb24mbmJzcDs1PHNwYW4+ICg8
L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPkFjcXVpcmluZyBhbiBBY2Nlc3MgVG9rZW46IEF1dG9u
b21vdXMgQ2xpZW50IFByb2ZpbGVzPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPikgYXJlIHJlY29t
bWVuZGVkIGZvciBzY2VuYXJpb3MKICAgICAgICBpbnZvbHZpbmcgYSBDbGllbnQgYWN0aW5nIGF1
dG9ub21vdXNseS4KPC9wPgo8cD5DbGllbnQgQWNjb3VudCBhbmQgUGFzc3dvcmQgUHJvZmlsZSAo
PGEgY2xhc3M9J2luZm8nIGhyZWY9JyNwMSc+U2VjdGlvbiZuYnNwOzUuMTxzcGFuPiAoPC9zcGFu
PjxzcGFuIGNsYXNzPSdpbmZvJz5DbGllbnQgQWNjb3VudCBhbmQgUGFzc3dvcmQgUHJvZmlsZTwv
c3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4pOiBUaGlzCglpcyB0aGUgc2ltcGxlc3QgUHJvZmlsZS4g
VGhlIENsaWVudCBpcyBwcm92aXNpb25lZCB3aXRoIGFuIGFjY291bnQgbmFtZQoJYW5kIGNvcnJl
c3BvbmRpbmcgcGFzc3dvcmQgYnkgdGhlIEF1dGhvcml6YXRpb24gU2VydmVyLiBUaGUgQ2xpZW50
CglwcmVzZW50cyB0aGUgYWNjb3VudCBuYW1lIGFuZCBwYXNzd29yZCB0byB0aGUgQWNjZXNzIFRv
a2VuIFVSTCBhdCB0aGUKCUF1dGhvcml6YXRpb24gU2VydmVyIGluIGV4Y2hhbmdlIGZvciBhbiBB
Y2Nlc3MgVG9rZW4uIFRoaXMgUHJvZmlsZSBpcwoJbm90IGludGVuZGVkIGZvciBhIENsaWVudCBh
Y3Rpbmcgb24gYmVoYWxmIG9mIGEgVXNlci4gU2VlIHRoZSBVc2VyCglEZWxlZ2F0aW9uIFByb2Zp
bGVzLgo8L3A+CjxwPkFzc2VydGlvbiBQcm9maWxlICg8YSBjbGFzcz0naW5mbycgaHJlZj0nI3Ay
Jz5TZWN0aW9uJm5ic3A7NS4yPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPkFzc2Vy
dGlvbiBQcm9maWxlPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPik6IFRoaXMgcHJvZmlsZSBlbmFi
bGVzIGEKCUNsaWVudCB3aXRoIGEgPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNPQVNJUy5zYW1sLWNv
cmUtMi4wLW9zJz5TQU1MPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPkNhbnRvciwg
Uy4sIEtlbXAsIEouLCBQaGlscG90dCwgUi4sIGFuZCBFLiBNYWxlciwgJmxkcXVvO0Fzc2VydGlv
bnMgYW5kIFByb3RvY29sIGZvciB0aGUgT0FTSVMgU2VjdXJpdHkgQXNzZXJ0aW9uIE1hcmt1cCBM
YW5ndWFnZSAgICAgICAgICAgICAoU0FNTCkgVjIuMCwmcmRxdW87IE1hcmNoJm5ic3A7MjAwNS48
L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+IFtPQVNJUy5zYW1sJiM4MjA5O2NvcmUmIzgyMDk7Mi4w
JiM4MjA5O29zXSBvciBvdGhlcgoJYXNzZXJ0aW9uIHJlY29nbml6ZWQgYnkgdGhlIEF1dGhvcml6
YXRpb24gU2VydmVyLiBUaGUgQ2xpZW50IHByZXNlbnRzCgl0aGUgYXNzZXJ0aW9uIHRvIHRoZSBB
Y2Nlc3MgVG9rZW4gVVJMIGF0IHRoZSBBdXRob3JpemF0aW9uIFNlcnZlciBpbgoJZXhjaGFuZ2Ug
Zm9yIGFuIEFjY2VzcyBUb2tlbi4gSG93IHRoZSBDbGllbnQgb2J0YWlucyB0aGUgYXNzZXJ0aW9u
IGlzCglvdXQgb2Ygc2NvcGUgb2YgT0F1dGggV1JBUC4KPC9wPgo8cD5BY2Nlc3MgVG9rZW5zIGFy
ZSBzaG9ydCBsaXZlZCBiZWFyZXIgdG9rZW5zLiBXaGVuIHRoZSBQcm90ZWN0ZWQKICAgICAgICBS
ZXNvdXJjZSBpcyBwcmVzZW50ZWQgd2l0aCBhbiBleHBpcmVkIEFjY2VzcyBUb2tlbiBieSB0aGUg
Q2xpZW50LCB0aGUKICAgICAgICBQcm90ZWN0ZWQgUmVzb3VyY2UgcmV0dXJucyBhbiBlcnJvci4g
VGhlIENsaWVudCBwcmVzZW50cyB0aGUgYXNzZXJ0aW9uCiAgICAgICAgb25jZSBhZ2FpbiB0byB0
aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgdG8gb2J0YWluIGEgbmV3IEFjY2VzcwogICAgICAgIFRv
a2VuLgo8L3A+CjxhIG5hbWU9ImFuY2hvcjQiPjwvYT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1h
cnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVn
IiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5i
c3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi4x
LjMiPjwvYT48aDM+MS4zLiZuYnNwOwpVc2VyIERlbGVnYXRpb24gUHJvZmlsZXM8L2gzPgoKPHA+
Q29tbW9uIHNjZW5hcmlvcyBpbnZvbHZlIHRoZSBVc2VyIGRlbGVnYXRpbmcgdG8gYSBDbGllbnQg
dG8gYWN0IG9uCiAgICAgICAgdGhlIFVzZXIncyBiZWhhbGYsIGFkZGluZyBhbm90aGVyIHBhcnR5
ICh0aGUgVXNlcikgdG8gdGhlIHByb3RvY29sLiBJbgogICAgICAgIHRoZXNlIFByb2ZpbGVzIChz
ZWUgPGEgY2xhc3M9J2luZm8nIGhyZWY9JyN1c2VyLnByb2ZpbGVzJz5TZWN0aW9uJm5ic3A7Njxz
cGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5BY3F1aXJpbmcgYW4gQWNjZXNzIFRva2Vu
OiBVc2VyIERlbGVnYXRpb24gUHJvZmlsZXM8L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+KSwgdGhl
IENsaWVudAogICAgICAgIHJlY2VpdmVzIGEgUmVmcmVzaCBUb2tlbiB3aGVuIGl0IGFjcXVpcmVz
IHRoZSBmaXJzdCBBY2Nlc3MgVG9rZW4uIFdoZW4KICAgICAgICBhbiBBY2Nlc3MgVG9rZW4gZXhw
aXJlcywgdGhlIENsaWVudCBwcmVzZW50cyB0aGUgUmVmcmVzaCBUb2tlbiB0bwogICAgICAgIGFj
cXVpcmUgYSBuZXcgQWNjZXNzIFRva2VuLiBSZWZyZXNoIFRva2VucyBhcmUgc2Vuc2l0aXZlIGFz
IHRoZXkKICAgICAgICByZXByZXNlbnQgbG9uZy1saXZlZCBwZXJtaXNzaW9ucyB0byBhY2Nlc3Mg
YSBQcm90ZWN0ZWQgUmVzb3VyY2UgYW5kCiAgICAgICAgYXJlIGFsd2F5cyB0cmFuc21pdHRlZCB1
c2luZyBIVFRQUy4KPC9wPgo8cD5Vc2VybmFtZSBhbmQgUGFzc3dvcmQgUHJvZmlsZSAoPGEgY2xh
c3M9J2luZm8nIGhyZWY9JyNwMyc+U2VjdGlvbiZuYnNwOzYuMTxzcGFuPiAoPC9zcGFuPjxzcGFu
IGNsYXNzPSdpbmZvJz5Vc2VybmFtZSBhbmQgUGFzc3dvcmQgUHJvZmlsZTwvc3Bhbj48c3Bhbj4p
PC9zcGFuPjwvYT4pOiBXaGlsZQogICAgICAgIHRoZSBVc2VyIG1heSB1c2UgYSB1c2VybmFtZSBh
bmQgcGFzc3dvcmQgdG8gYXV0aGVudGljYXRlIHRvIHRoZQogICAgICAgIEF1dGhvcml6YXRpb24g
U2VydmVyLCBpdCBpcyB1bmRlc2lyYWJsZSBmb3IgdGhlIENsaWVudCB0byBzdG9yZSB0aGUKICAg
ICAgICBVc2VyJ3MgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLiBJbiB0aGlzIHByb2ZpbGUgdGhlIFVz
ZXIgcHJvdmlkZXMgdGhlaXIKICAgICAgICB1c2VybmFtZSBhbmQgcGFzc3dvcmQgdG8gYW4gYXBw
bGljYXRpb24gKENsaWVudCkgdGhleSBoYXZlIGluc3RhbGxlZAogICAgICAgIG9uIHRoZWlyIGRl
dmljZS4gVGhlIENsaWVudCBwcmVzZW50cyBhIENsaWVudCBJZGVudGlmaWVyLCB0aGUgdXNlcm5h
bWUKICAgICAgICBhbmQgcGFzc3dvcmQgKGNyZWRlbnRpYWxzKSB0byB0aGUgQWNjZXNzIFRva2Vu
IFVSTCBhdCB0aGUKICAgICAgICBBdXRob3JpemF0aW9uIFNlcnZlciBpbiBleGNoYW5nZSBmb3Ig
YW4gQWNjZXNzIFRva2VuIGFuZCBhIFJlZnJlc2gKICAgICAgICBUb2tlbiBhcyBkZXBpY3RlZCBp
biA8YSBjbGFzcz0naW5mbycgaHJlZj0nI2ZpZzInPkZpZ3VyZSZuYnNwOzI8L2E+IGJlbG93Lgo8
L3A+PGJyIC8+PGhyIGNsYXNzPSJpbnNlcnQiIC8+CjxhIG5hbWU9ImZpZzIiPjwvYT4KPGRpdiBz
dHlsZT0nZGlzcGxheTogdGFibGU7IHdpZHRoOiAwOyBtYXJnaW4tbGVmdDogM2VtOyBtYXJnaW4t
cmlnaHQ6IGF1dG8nPjxwcmU+CiAgKy0tLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKy0tLS0tLS0tLS0tLS0tLSsKICB8IEMgfC0tKEEpLS0tLS0tIGNyZWRlbnRpYWxzIC0tLS0t
LS0tLSZndDt8IEF1dGhvcml6YXRpb24gfAogIHwgbCB8Jmx0Oy0oQiktLS0tLS0gQWNjZXNzIFRv
a2VuIC0tLS0tLS0tLXwgU2VydmVyICAgICAgICB8CiAgfCBpIHwgICAgICAgICAgICBSZWZyZXNo
IFRva2VuICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLSsKICB8IGUgfAogIHwgbiB8ICAgICAgICAg
ICAgQWNjZXNzIFRva2VuICAgICAgICAgICstLS0tLS0tLS0tLSsKICB8IHQgfC0tKEMpLS0tLS0g
aW4gSFRUUCBoZWFkZXIgLS0tLS0tLSZndDt8IFByb3RlY3RlZCB8CiAgfCAgIHwmbHQ7LShEKS0t
LS0tLSBBUEkgcmVzcG9uc2UgLS0tLS0tLS0tfCBSZXNvdXJjZSAgfAogICstLS0rICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICstLS0tLS0tLS0tLSsKCjwvcHJlPjwvZGl2Pjx0YWJs
ZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgYWxpZ249ImNlbnRl
ciI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48Zm9udCBmYWNlPSJtb25hY28sIE1TIFNhbnMgU2Vy
aWYiIHNpemU9IjEiPjxiPiZuYnNwO0ZpZ3VyZSZuYnNwOzImbmJzcDs8L2I+PC9mb250PjxiciAv
PjwvdGQ+PC90cj48L3RhYmxlPjxociBjbGFzcz0iaW5zZXJ0IiAvPgoKPHA+V2hlbiB0aGUgQWNj
ZXNzIFRva2VuIGV4cGlyZXMsIHRoZSBDbGllbnQgcHJlc2VudHMgdGhlIFJlZnJlc2gKICAgICAg
ICBUb2tlbiB0byB0aGUgUmVmcmVzaCBUb2tlbiBVUkwgYXQgdGhlIEF1dGhvcml6YXRpb24gU2Vy
dmVyIGluIGV4Y2hhbmdlCiAgICAgICAgZm9yIGEgbmV3IEFjY2VzcyBUb2tlbiAoPGEgY2xhc3M9
J2luZm8nIGhyZWY9JyNmaWczJz5GaWd1cmUmbmJzcDszPC9hPiwgc3RlcHMgQSBhbmQgQikuCiAg
ICAgICAgVGhlIENsaWVudCB0aGVuIHVzZXMgdGhlIG5ldyBBY2Nlc3MgVG9rZW4gdG8gYWNjZXNz
IHRoZSBQcm90ZWN0ZWQKICAgICAgICBSZXNvdXJjZSAoPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNm
aWczJz5GaWd1cmUmbmJzcDszPC9hPiwgc3RlcHMgQyBhbmQgRCkuCjwvcD48YnIgLz48aHIgY2xh
c3M9Imluc2VydCIgLz4KPGEgbmFtZT0iZmlnMyI+PC9hPgo8ZGl2IHN0eWxlPSdkaXNwbGF5OiB0
YWJsZTsgd2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHBy
ZT4KICArLS0tKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0t
LS0tKwogIHwgQyB8LS0oQSktLS0tLSBSZWZyZXNoIFRva2VuIC0tLS0tLS0tJmd0O3wgQXV0aG9y
aXphdGlvbiB8CiAgfCBsIHwmbHQ7LShCKS0tLS0tLSBBY2Nlc3MgVG9rZW4gLS0tLS0tLS0tfCBT
ZXJ2ZXIgICAgICAgIHwKICB8IGkgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAr
LS0tLS0tLS0tLS0tLS0tKwogIHwgZSB8CiAgfCBuIHwgICAgICAgICAgICBBY2Nlc3MgVG9rZW4g
ICAgICAgICAgKy0tLS0tLS0tLS0tKwogIHwgdCB8LS0oQyktLS0tLSBpbiBIVFRQIGhlYWRlciAt
LS0tLS0tJmd0O3wgUHJvdGVjdGVkIHwKICB8ICAgfCZsdDstKEQpLS0tLS0tIEFQSSByZXNwb25z
ZSAtLS0tLS0tLS18IFJlc291cmNlICB8CiAgKy0tLSsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKy0tLS0tLS0tLS0tKwoKPC9wcmU+PC9kaXY+PHRhYmxlIGJvcmRlcj0iMCIgY2Vs
bHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGFsaWdu
PSJjZW50ZXIiPjxmb250IGZhY2U9Im1vbmFjbywgTVMgU2FucyBTZXJpZiIgc2l6ZT0iMSI+PGI+
Jm5ic3A7RmlndXJlJm5ic3A7MyZuYnNwOzwvYj48L2ZvbnQ+PGJyIC8+PC90ZD48L3RyPjwvdGFi
bGU+PGhyIGNsYXNzPSJpbnNlcnQiIC8+Cgo8cD5XZWIgQXBwIFByb2ZpbGUgKDxhIGNsYXNzPSdp
bmZvJyBocmVmPScjcDQnPlNlY3Rpb24mbmJzcDs2LjI8c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFz
cz0naW5mbyc+V2ViIEFwcCBQcm9maWxlPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPik6IEl0IGlz
IHVuZGVzaXJhYmxlIGZvcgogICAgICAgIGEgVXNlciB0byBwcm92aWRlIHRoZWlyIEF1dGhvcml6
YXRpb24gU2VydmVyIHVzZXJuYW1lIGFuZCBwYXNzd29yZCB0bwogICAgICAgIHdlYiBhcHBsaWNh
dGlvbnMuIEFkZGl0aW9uYWxseSwgdGhlIFVzZXIgbWF5IGF1dGhlbnRpY2F0ZSB0byB0aGUKICAg
ICAgICBBdXRob3JpemF0aW9uIFNlcnZlciB1c2luZyBvdGhlciBtZWNoYW5pc21zIHRoYW4gYSB1
c2VybmFtZSBhbmQKICAgICAgICBwYXNzd29yZC4gSW4gdGhpcyBwcm9maWxlLCBhIHdlYiBhcHBs
aWNhdGlvbiAoQ2xpZW50KSBoYXMgYmVlbgogICAgICAgIHByb3Zpc2lvbmVkIHdpdGggYSBDbGll
bnQgSWRlbnRpZmllciBhbmQgQ2xpZW50IFNlY3JldCBhbmQgbWF5IGhhdmUKICAgICAgICByZWdp
c3RlcmVkIGEgQ2FsbGJhY2sgVVJMLiA8YSBjbGFzcz0naW5mbycgaHJlZj0nI2ZpZzQnPkZpZ3Vy
ZSZuYnNwOzQ8L2E+IGJlbG93CiAgICAgICAgaWxsdXN0cmF0ZXMgdGhlIHByb3RvY29sLiAoQSkg
VGhlIENsaWVudCBpbml0aWF0ZXMgdGhlIHByb3RvY29sIGJ5CiAgICAgICAgcmVkaXJlY3Rpbmcg
dGhlIFVzZXIgdG8gdGhlIFVzZXIgQXV0aG9yaXphdGlvbiBVUkwgYXQgdGhlCiAgICAgICAgQXV0
aG9yaXphdGlvbiBTZXJ2ZXIgcGFzc2luZyB0aGUgQ2xpZW50IElkZW50aWZpZXIgYW5kIHRoZSBD
YWxsYmFjawogICAgICAgIFVSTC4gKEIpIFRoZSBBdXRob3JpemF0aW9uIFNlcnZlciBhdXRoZW50
aWNhdGVzIHRoZSBVc2VyLCBjb25maXJtcyB0aGUKICAgICAgICBVc2VyIHdvdWxkIGxpa2UgdG8g
YXV0aG9yaXplIHRoZSBDbGllbnQgdG8gYWNjZXNzIHRoZSBQcm90ZWN0ZWQKICAgICAgICBSZXNv
dXJjZSwgYW5kIGdlbmVyYXRlcyBhIFZlcmlmaWNhdGlvbiBDb2RlLiAoQykgVGhlIEF1dGhvcml6
YXRpb24KICAgICAgICBTZXJ2ZXIgdGhlbiByZWRpcmVjdHMgdGhlIFVzZXIgdG8gdGhlIENhbGxi
YWNrIFVSTCBhdCB0aGUgQ2xpZW50CiAgICAgICAgcGFzc2luZyBhbG9uZyB0aGUgVmVyaWZpY2F0
aW9uIENvZGUuCjwvcD48YnIgLz48aHIgY2xhc3M9Imluc2VydCIgLz4KPGEgbmFtZT0iZmlnNCI+
PC9hPgo8ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAz
ZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4KICstLS0tLS0tLS0rCiB8IFdlYiBBcHAgfAog
fCBDbGllbnQgIHwKICstLS0tLS0tLS0rCiAgIHYgICAgXgogICB8ICAgIHwKICAoQSkgIChDKQog
ICB8ICAgIHwKICAgXCAgICBcCiArLS0tLS0tLS0tKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICstLS0tLS0tLS0tLS0tLS0rCiB8ICAgICAgICAgfFwtLS0oQyktLSBWZXJpZmljYXRp
b24gQ29kZSAtLS0tJmx0O3wgICAgICAgICAgICAgICB8CiB8ICAgVXNlciAgfCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgQXV0aG9yaXphdGlvbiB8CiB8ICAgIGF0ICAgfCZsdDst
LS0oQiktLSBVc2VyIGF1dGhlbnRpY2F0ZXMgLS0tJmd0O3wgU2VydmVyICAgICAgICB8CiB8IEJy
b3dzZXIgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICB8
CiB8ICAgICAgICAgfFwtLS0oQSktLSBDbGllbnQgSWRlbnRpZmllciAtLS0tJmd0O3wgICAgICAg
ICAgICAgICB8CiArLS0tLS0tLS0tKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICst
LS0tLS0tLS0tLS0tLS0rCjwvcHJlPjwvZGl2Pjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5n
PSIwIiBjZWxsc3BhY2luZz0iMiIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBhbGlnbj0iY2VudGVy
Ij48Zm9udCBmYWNlPSJtb25hY28sIE1TIFNhbnMgU2VyaWYiIHNpemU9IjEiPjxiPiZuYnNwO0Zp
Z3VyZSZuYnNwOzQmbmJzcDs8L2I+PC9mb250PjxiciAvPjwvdGQ+PC90cj48L3RhYmxlPjxociBj
bGFzcz0iaW5zZXJ0IiAvPgoKPHA+U2ltaWxhciB0byBzdGVwIEEgaW4gPGEgY2xhc3M9J2luZm8n
IGhyZWY9JyNmaWcyJz5GaWd1cmUmbmJzcDsyPC9hPiwgdGhlIENsaWVudCB0aGVuCiAgICAgICAg
cHJlc2VudHMgdGhlIENsaWVudCBJZGVudGlmaWVyLCBDbGllbnQgU2VjcmV0LCBDYWxsYmFjayBV
UkwgYW5kCiAgICAgICAgVmVyaWZpY2F0aW9uIGNvZGUgKGNyZWRlbnRpYWxzKSB0byB0aGUgQWNj
ZXNzIFRva2VuIFVSTCBhdCB0aGUKICAgICAgICBBdXRob3JpemF0aW9uIFNlcnZlciBmb3IgYW4g
QWNjZXNzIFRva2VuIGFuZCBhIFJlZnJlc2ggVG9rZW4uCjwvcD4KPHA+UmljaCBBcHAgUHJvZmls
ZSAoPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNwNSc+U2VjdGlvbiZuYnNwOzYuMzxzcGFuPiAoPC9z
cGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5SaWNoIEFwcCBQcm9maWxlPC9zcGFuPjxzcGFuPik8L3Nw
YW4+PC9hPik6IFRoaXMgcHJvZmlsZSBpcwogICAgICAgIHN1aXRhYmxlIHdoZW4gdGhlIENsaWVu
dCBpcyBhbiBhcHBsaWNhdGlvbiB0aGUgVXNlciBoYXMgaW5zdGFsbGVkIG9uCiAgICAgICAgdGhl
aXIgZGV2aWNlIGFuZCBhIHdlYiBicm93c2VyIGlzIGF2YWlsYWJsZSwgYnV0IGl0IGlzIHVuZGVz
aXJhYmxlIGZvcgogICAgICAgIHRoZSBVc2VyIHRvIHByb3ZpZGUgdGhlaXIgdXNlcm5hbWUgYW5k
IHBhc3N3b3JkIHRvIGFuIGFwcGxpY2F0aW9uLCBvcgogICAgICAgIHRoZSB1c2VyIG1heSBub3Qg
YmUgdXNpbmcgYSB1c2VybmFtZSBhbmQgcGFzc3dvcmQgdG8gYXV0aGVudGljYXRlIHRvCiAgICAg
ICAgdGhlIEF1dGhvcml6YXRpb24gU2VydmVyLgo8L3A+CjxwPlRoZSBDbGllbnQgaW5pdGlhdGVz
IHRoZSBwcm90b2NvbCBieSBkaXJlY3RpbmcgdGhlIFVzZXIncyBicm93c2VyCiAgICAgICAgdG8g
dGhlIEF1dGhvcml6YXRpb24gVVJMIGF0IHRoZSBBdXRob3JpemF0aW9uIFNlcnZlciBwYXNzaW5n
IHRoZQogICAgICAgIENsaWVudCBJZGVudGlmaWVyIGFuZCBwb3RlbnRpYWxseSBhIENhbGxiYWNr
IFVSTC4gVGhlIEF1dGhvcml6YXRpb24KICAgICAgICBTZXJ2ZXIgYXV0aGVudGljYXRlcyB0aGUg
VXNlciwgY29uZmlybXMgdGhlIFVzZXIgd291bGQgbGlrZSB0bwogICAgICAgIGF1dGhvcml6ZSB0
aGUgQ2xpZW50IHRvIGFjY2VzcyB0aGUgUHJvdGVjdGVkIFJlc291cmNlLCBhbmQgZ2VuZXJhdGVz
IGEKICAgICAgICBWZXJpZmljYXRpb24gQ29kZS4gVGhlIFZlcmlmaWNhdGlvbiBDb2RlIG1heSBi
ZSBjb21tdW5pY2F0ZWQgYmFjayB0bwogICAgICAgIHRoZSBDbGllbnQgaW4gYSBudW1iZXIgb2Yg
d2F5czoKPC9wPgo8cD48L3A+CjxibG9ja3F1b3RlIGNsYXNzPSJ0ZXh0Ij48ZGw+CjxkdD5hLjwv
ZHQ+CjxkZD50aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgcHJlc2VudHMgdGhlIFZlcmlmaWNhdGlv
biBDb2RlIHRvIHRoZQogICAgICAgICAgICBVc2VyLCB3aG8gaXMgaW5zdHJ1Y3RlZCB0byBlbnRl
ciB0aGUgVmVyaWZpY2F0aW9uIENvZGUgZGlyZWN0bHkgaW4KICAgICAgICAgICAgdGhlIENsaWVu
dDsKPC9kZD4KPGR0PmIuPC9kdD4KPGRkPnRoZSBDbGllbnQgcmVhZHMgdGhlIFZlcmlmaWNhdGlv
biBDb2RlIGZyb20gdGhlIHRpdGxlIG9mIHRoZQogICAgICAgICAgICB3ZWIgcGFnZSBwcmVzZW50
ZWQgYnkgdGhlIEF1dGhvcml6YXRpb24gU2VydmVyOwo8L2RkPgo8ZHQ+Yy48L2R0Pgo8ZGQ+dGhl
IEF1dGhvcml6YXRpb24gU2VydmVyIHJlZGlyZWN0cyB0aGUgVXNlciB0byB0aGUgQ2FsbGJhY2sg
VVJMCiAgICAgICAgICAgIHRoYXQgcHJlc2VudHMgQ2xpZW50IHNwZWNpZmljIGxhbmd1YWdlIGZv
ciB0aGUgVXNlciB0byBlbnRlciB0aGUKICAgICAgICAgICAgVmVyaWZpY2F0aW9uIENvZGUgaW50
byB0aGUgQ2xpZW50OyBvcgo8L2RkPgo8ZHQ+ZC48L2R0Pgo8ZGQ+dGhlIENsaWVudCBoYXMgcmVn
aXN0ZXJlZCBhIGN1c3RvbSBzY2hlbWUgYW5kIHRoZSBBdXRob3JpemF0aW9uCiAgICAgICAgICAg
IFNlcnZlciByZWRpcmVjdHMgdGhlIGJyb3dzZXIgdG8gdGhlIGN1c3RvbSBzY2hlbWUgdGhhdCBj
YXVzZXMgdGhlCiAgICAgICAgICAgIFVzZXIncyBicm93c2VyIHRvIGxvYWQgdGhlIENsaWVudCBh
cHBsaWNhdGlvbiB3aXRoIHRoZQogICAgICAgICAgICBWZXJpZmljYXRpb24gQ29kZSBhcyBhIHBh
cmFtZXRlci4KPC9kZD4KPC9kbD48L2Jsb2NrcXVvdGU+Cgo8cD5TaW1pbGFyIHRvIHN0ZXAgQSBp
biA8YSBjbGFzcz0naW5mbycgaHJlZj0nI2ZpZzInPkZpZ3VyZSZuYnNwOzI8L2E+LCB0aGUgQ2xp
ZW50IHRoZW4KICAgICAgICBwcmVzZW50cyB0aGUgQ2xpZW50IElkZW50aWZpZXIsIENhbGxiYWNr
IFVSTCAoaWYgcHJvdmlkZWQpIGFuZAogICAgICAgIFZlcmlmaWNhdGlvbiBjb2RlIChjcmVkZW50
aWFscykgdG8gdGhlIEFjY2VzcyBUb2tlbiBVUkwgYXQgdGhlCiAgICAgICAgQXV0aG9yaXphdGlv
biBTZXJ2ZXIgZm9yIGFuIEFjY2VzcyBUb2tlbiBhbmQgYSBSZWZyZXNoIFRva2VuLgo8L3A+Cjxh
IG5hbWU9ImFuY2hvcjUiPjwvYT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIg
Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmln
aHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7
PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi4yIj48L2E+PGgzPjIu
Jm5ic3A7ClJlcXVpcmVtZW50cyBMYW5ndWFnZTwvaDM+Cgo8cD5UaGUga2V5IHdvcmRzICJNVVNU
IiwgIk1VU1QgTk9UIiwgIlJFUVVJUkVEIiwgIlNIQUxMIiwgIlNIQUxMIE5PVCIsCiAgICAgICJT
SE9VTEQiLCAiU0hPVUxEIE5PVCIsICJSRUNPTU1FTkRFRCIsICJNQVkiLCBhbmQgIk9QVElPTkFM
IiBpbiB0aGlzCiAgICAgIGRvY3VtZW50IGFyZSB0byBiZSBpbnRlcnByZXRlZCBhcyBkZXNjcmli
ZWQgaW4gPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNSRkMyMTE5Jz5bUkZDMjExOV08c3Bhbj4gKDwv
c3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+QnJhZG5lciwgUy4sICZsZHF1bztLZXkgd29yZHMgZm9y
IHVzZSBpbiBSRkNzIHRvIEluZGljYXRlIFJlcXVpcmVtZW50IExldmVscywmcmRxdW87IE1hcmNo
Jm5ic3A7MTk5Ny48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+LiBEb21haW4gbmFtZSBleGFtcGxl
cyB1c2UgPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNSRkMyNjA2Jz5bUkZDMjYwNl08c3Bhbj4gKDwv
c3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+RWFzdGxha2UsIEQuIGFuZCBBLiBQYW5pdHosICZsZHF1
bztSZXNlcnZlZCBUb3AgTGV2ZWwgRE5TIE5hbWVzLCZyZHF1bzsgSnVuZSZuYnNwOzE5OTkuPC9z
cGFuPjxzcGFuPik8L3NwYW4+PC9hPi4KPC9wPgo8YSBuYW1lPSJhbmNob3I2Ij48L2E+PGJyIC8+
PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu
Zz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWci
PjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEg
bmFtZT0icmZjLnNlY3Rpb24uMyI+PC9hPjxoMz4zLiZuYnNwOwpEZWZpbml0aW9uczwvaDM+Cgo8
cD48L3A+CjxibG9ja3F1b3RlIGNsYXNzPSJ0ZXh0Ij48ZGw+CjxkdD5BY2Nlc3MgVG9rZW46PC9k
dD4KPGRkPmEgc2hvcnQgbGl2ZWQgYmVhcmVyIHRva2VuIGlzc3VlZCBieSB0aGUKICAgICAgICAg
IEF1dGhvcml6YXRpb24gU2VydmVyIHRvIHRoZSBDbGllbnQuIFRoZSBBY2Nlc3MgVG9rZW4gaXMg
cHJlc2VudGVkIGJ5CiAgICAgICAgICB0aGUgQ2xpZW50IHRvIHRoZSBQcm90ZWN0ZWQgUmVzb3Vy
Y2UgdG8gYWNjZXNzIHByb3RlY3RlZAogICAgICAgICAgcmVzb3VyY2VzLgo8L2RkPgo8ZHQ+QXV0
aG9yaXphdGlvbiBTZXJ2ZXI6PC9kdD4KPGRkPmFuIGF1dGhvcml6YXRpb24gcmVzb3VyY2UgdGhh
dAogICAgICAgICAgaXNzdWVzIEFjY2VzcyBUb2tlbnMgdG8gQ2xpZW50cyBhZnRlciBzdWNjZXNz
ZnVsIGF1dGhvcml6YXRpb24uIE1heQogICAgICAgICAgYmUgdGhlIHNhbWUgZW50aXR5IGFzIHRo
ZSBQcm90ZWN0ZWQgUmVzb3VyY2UuCjwvZGQ+CjxkdD5DbGllbnQ6PC9kdD4KPGRkPmFuIGFwcGxp
Y2F0aW9uIHRoYXQgd291bGQgbGlrZSBhY2Nlc3MgdG8gYQogICAgICAgICAgUHJvdGVjdGVkIFJl
c291cmNlLiBDbGllbnQgSWRlbnRpZmllcjoiJmd0OyBhIHZhbHVlIHVzZWQgYnkgYSBDbGllbnQK
ICAgICAgICAgIHRvIGlkZW50aWZ5IGl0c2VsZiB0byB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIu
IFRoaXMgbWF5IGJlIGEgaHVtYW4KICAgICAgICAgIHJlYWRhYmxlIHN0cmluZyBvciBhbiBvcGFx
dWUgaWRlbnRpZmllci4KPC9kZD4KPGR0PkNsaWVudCBTZWNyZXQ6PC9kdD4KPGRkPmEgc2VjcmV0
IHVzZWQgYnkgYSB3ZWIgYXBwbGljYXRpb24KICAgICAgICAgIENsaWVudCB0byBlc3RhYmxpc2gg
b3duZXJzaGlwIG9mIHRoZSBDbGllbnQgSWRlbnRpZmllci4KPC9kZD4KPGR0PlByb2ZpbGU6PC9k
dD4KPGRkPmEgbWVjaGFuaXNtIGZvciBhIENsaWVudCB0byBvYnRhaW4gYW4gQWNjZXNzCiAgICAg
ICAgICBUb2tlbiBmcm9tIGFuIEF1dGhvcml6YXRpb24gU2VydmVyLgo8L2RkPgo8ZHQ+UHJvdGVj
dGVkIFJlc291cmNlOjwvZHQ+CjxkZD5hIHByb3RlY3RlZCBBUEkgdGhhdCBhbGxvd3MgYWNjZXNz
CiAgICAgICAgICB2aWEgT0F1dGggV1JBUC4gTWF5IGJlIHRoZSBzYW1lIGVudGl0eSBhcyB0aGUg
QXV0aG9yaXphdGlvbiBTZXJ2ZXIuCiAgICAgICAgICBSZWZyZXNoIFRva2VuOiImZ3Q7IGEgbG9u
ZyBsaXZlZCBiZWFyZXIgdG9rZW4gdXNlZCBieSBhIENsaWVudCB0bwogICAgICAgICAgYWNxdWly
ZSBhbiBBY2Nlc3MgVG9rZW4gZnJvbSBhbiBBdXRob3JpemF0aW9uIFNlcnZlci4KPC9kZD4KPGR0
PlVzZXI6PC9kdD4KPGRkPmFuIGluZGl2aWR1YWwgd2hvIGhhcyBhbiBhY2NvdW50IHdpdGggdGhl
CiAgICAgICAgICBBdXRob3JpemF0aW9uIFNlcnZlci4KPC9kZD4KPGR0PlZlcmlmaWNhdGlvbiBD
b2RlOjwvZHQ+CjxkZD5hIGNvZGUgdXNlZCBieSBhIENsaWVudCB0byB2ZXJpZnkKICAgICAgICAg
IHRoZSBVc2VyIGhhcyBhdXRob3JpemVkIHRoZSBDbGllbnQgdG8gaGF2ZSBzcGVjaWZpYyBhY2Nl
c3MgdG8gYQogICAgICAgICAgUHJvdGVjdGVkIFJlc291cmNlLgo8L2RkPgo8L2RsPjwvYmxvY2tx
dW90ZT4KCjxhIG5hbWU9ImFuY2hvcjciPjwvYT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9
ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBh
bGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7
VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi4zLjEi
PjwvYT48aDM+My4xLiZuYnNwOwpVUkxzPC9oMz4KCjxwPjwvcD4KPGJsb2NrcXVvdGUgY2xhc3M9
InRleHQiPjxkbD4KPGR0PkFjY2VzcyBUb2tlbiBVUkw6PC9kdD4KPGRkPnRoZSBBdXRob3JpemF0
aW9uIFNlcnZlciBVUkwgYXQKICAgICAgICAgICAgd2hpY2ggYW4gQWNjZXNzIFRva2VuIGlzIHJl
cXVlc3RlZCBieSB0aGUgQ2xpZW50LiBUaGUgVVJMIG1heQogICAgICAgICAgICBhY2NlcHQgYSB2
YXJpZXR5IG9mIHBhcmFtZXRlcnMgZGVwZW5kaW5nIG9uIHRoZSBQcm9maWxlLiBBIFJlZnJlc2gK
ICAgICAgICAgICAgVG9rZW4gbWF5IGFsc28gYmUgcmV0dXJuZWQgdG8gdGhlIENsaWVudC4gVGhp
cyBVUkwgTVVTVCBiZSBhbgogICAgICAgICAgICBIVFRQUyBVUkwgYW5kIE1VU1QgYWx3YXlzIGJl
IGNhbGxlZCB3aXRoIFBPU1QuCjwvZGQ+CjxkdD5DYWxsYmFjayBVUkw6PC9kdD4KPGRkPnRoZSBD
bGllbnQgVVJMIHdoZXJlIHRoZSBVc2VyIHdpbGwgYmUKICAgICAgICAgICAgcmVkaXJlY3RlZCBh
ZnRlciBhbiBhdXRob3JpemF0aW9uIHJlcXVlc3QgdG8gdGhlIEF1dGhvcml6YXRpb24KICAgICAg
ICAgICAgU2VydmVyLgo8L2RkPgo8ZHQ+UmVmcmVzaCBUb2tlbiBVUkw6PC9kdD4KPGRkPnRoZSBB
dXRob3JpemF0aW9uIFNlcnZlciBVUkwgYXQKICAgICAgICAgICAgd2hpY2ggYSBSZWZyZXNoIFRv
a2VuIGlzIHByZXNlbnRlZCBpbiBleGNoYW5nZSBmb3IgYSBuZXcgQWNjZXNzCiAgICAgICAgICAg
IFRva2VuIGlzIHJlcXVlc3RlZC4gVGhpcyBVUkwgTVVTVCBiZSBhbiBIVFRQUyBVUkwgYW5kIE1V
U1QgYWx3YXlzCiAgICAgICAgICAgIGJlIGNhbGxlZCB3aXRoIFBPU1QuCjwvZGQ+CjxkdD5Vc2Vy
IEF1dGhvcml6YXRpb24gVVJMOjwvZHQ+CjxkZD50aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgVVJM
CiAgICAgICAgICAgIHdoZXJlIHRoZSBDbGllbnQgcmVkaXJlY3RzIHRoZSBVc2VyIHRvIG1ha2Ug
YW4gYXV0aG9yaXphdGlvbgogICAgICAgICAgICByZXF1ZXN0Lgo8L2RkPgo8L2RsPjwvYmxvY2tx
dW90ZT4KCjxhIG5hbWU9IlByb3RlY3RlZFJlc291cmNlIj48L2E+PGJyIC8+PGhyIC8+Cjx0YWJs
ZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9
IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0
b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNl
Y3Rpb24uNCI+PC9hPjxoMz40LiZuYnNwOwpBY2Nlc3NpbmcgYSBQcm90ZWN0ZWQgUmVzb3VyY2U8
L2gzPgoKPHA+Q2xpZW50cyBhbHdheXMgcHJlc2VudCBhbiBBY2Nlc3MgVG9rZW4gdG8gYWNjZXNz
IGEgUHJvdGVjdGVkCiAgICAgIFJlc291cmNlLiBVc2Ugb2YgdGhlIEF1dGhvcml6YXRpb24gaGVh
ZGVyIGlzIFJFQ09NTUVOREVELCBzaW5jZSBIVFRQCiAgICAgIGltcGxlbWVudGF0aW9ucyBhcmUg
YXdhcmUgdGhhdCBBdXRob3JpemF0aW9uIGhlYWRlcnMgaGF2ZSBzcGVjaWFsCiAgICAgIHNlY3Vy
aXR5IHByb3BlcnRpZXMgYW5kIG1heSByZXF1aXJlIHNwZWNpYWwgdHJlYXRtZW50IGluIGNhY2hl
cyBhbmQKICAgICAgbG9ncy4gUHJvdGVjdGVkIFJlc291cmNlcyBTSE9VTEQgdGFrZSBwcmVjYXV0
aW9ucyB0byBpbnN1cmUgdGhhdCBBY2Nlc3MKICAgICAgVG9rZW5zIGFyZSBub3QgaW5hZHZlcnRl
bnRseSBsb2dnZWQgb3IgY2FwdHVyZWQuIEluIGFkZGl0aW9uIHRvIHRoZQogICAgICBtZXRob2Rz
IHByZXNlbnRlZCBoZXJlLCB0aGUgUHJvdGVjdGVkIFJlc291cmNlIE1BWSBhbGxvdyB0aGUgQ2xp
ZW50IHRvCiAgICAgIHByZXNlbnQgdGhlIEFjY2VzcyBUb2tlbiB1c2luZyBhbnkgc2NoZW1lIGFn
cmVlZCBvbiBieSB0aGUgQ2xpZW50IGFuZAogICAgICBQcm90ZWN0ZWQgUmVzb3VyY2UuCjwvcD4K
PGEgbmFtZT0iYW5jaG9yOCI+PC9hPjxiciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0
IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJy
aWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJz
cDs8L2E+PC90ZD48L3RyPjwvdGFibGU+CjxhIG5hbWU9InJmYy5zZWN0aW9uLjQuMSI+PC9hPjxo
Mz40LjEuJm5ic3A7CkFjY2VzcyBUb2tlbjwvaDM+Cgo8cD5UaGUgZXhhY3QgZm9ybWF0IG9mIHRo
ZSBBY2Nlc3MgVG9rZW4gaXMgb3BhcXVlIHRvIENsaWVudHMgYW5kIGlzCiAgICAgICAgb3V0IG9m
IHNjb3BlIG9mIHRoaXMgc3BlY2lmaWNhdGlvbi4gSG93ZXZlciwgUHJvdGVjdGVkIFJlc291cmNl
cyBNVVNUCiAgICAgICAgYmUgYWJsZSB0byB2ZXJpZnkgdGhhdCB0aGUgQWNjZXNzIFRva2VuIHdh
cyBpc3N1ZWQgYnkgYSB0cnVzdGVkCiAgICAgICAgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgYW5kIGlz
IHN0aWxsIHZhbGlkLiBBY2Nlc3MgVG9rZW5zIFNIT1VMRAogICAgICAgIHBlcmlvZGljYWxseSBl
eHBpcmUuIFRoZSBleHBpcnkgdGltZSBvZiBBY2Nlc3MgVG9rZW5zIGlzIGRldGVybWluZWQgYXMK
ICAgICAgICBhbiBhcHByb3ByaWF0ZSBiYWxhbmNlIGJldHdlZW4gZXhjZXNzaXZlIHJlc291cmNl
IHV0aWxpemF0aW9uIGlmIHRvbwogICAgICAgIHNob3J0IGFuZCB1bmF1dGhvcml6ZWQgYWNjZXNz
IGlmIHRvbyBsb25nLgo8L3A+CjxhIG5hbWU9ImFuY2hvcjkiPjwvYT48YnIgLz48aHIgLz4KPHRh
YmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFz
cz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0i
I3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMu
c2VjdGlvbi40LjIiPjwvYT48aDM+NC4yLiZuYnNwOwpBY3F1aXJpbmcgYW4gQWNjZXNzIFRva2Vu
PC9oMz4KCjxwPkFuIEF1dGhvcml6YXRpb24gU2VydmVyIG1heSBzdXBwb3J0IG9uZSBvciBtb3Jl
IHByb3RvY29sIHByb2ZpbGVzCiAgICAgICAgdGhhdCBlbmFibGUgYSBDbGllbnQgdG8gb2J0YWlu
IGFuIEFjY2VzcyBUb2tlbiB0aGF0IGNhbiBiZSB1c2VkIHRvCiAgICAgICAgYWNjZXNzIGEgUHJv
dGVjdGVkIFJlc291cmNlLgo8L3A+CjxwPkNsaWVudCBkZXZlbG9wZXJzIG9ubHkgbmVlZCB0byBp
bXBsZW1lbnQgdGhlIHByb2ZpbGUocykgdGhhdCBhbGlnbgogICAgICAgIHdpdGggaG93IHRoZWly
IGFwcGxpY2F0aW9uIHdpbGwgYmUgZGVwbG95ZWQgYW5kIGFyZSBzdXBwb3J0ZWQgYnkgdGhlCiAg
ICAgICAgQXV0aG9yaXphdGlvbiBTZXJ2ZXIuCjwvcD4KPHA+QXV0aG9yaXphdGlvbiBTZXJ2ZXIg
ZGV2ZWxvcGVycyBvbmx5IG5lZWQgdG8gaW1wbGVtZW50IHRoZQogICAgICAgIHByb2ZpbGUocykg
dGhhdCBhcmUgYXBwcm9wcmlhdGUgZm9yIHRoZW0uCjwvcD4KPHA+UHJvdGVjdGVkIFJlc291cmNl
IGRldmVsb3BlcnMgZG8gbm90IGltcGxlbWVudCBhIHByb2ZpbGUgYXMgdGhlCiAgICAgICAgQ2xp
ZW50IGFsd2F5cyBpbnRlcmFjdHMgd2l0aCB0aGUgUHJvdGVjdGVkIFJlc291cmNlIGJ5IHByZXNl
bnRpbmcgYW4KICAgICAgICBBY2Nlc3MgVG9rZW4uCjwvcD4KPHA+PGEgY2xhc3M9J2luZm8nIGhy
ZWY9JyNQYXJhbUNvbic+U2VjdGlvbiZuYnNwOzc8c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0n
aW5mbyc+UGFyYW1ldGVyIENvbnNpZGVyYXRpb25zPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBo
YXMgZ2VuZXJhbCBpbmZvcm1hdGlvbiBhYm91dAogICAgICAgIHBhcmFtZXRlcnMgcGFzc2VkIHRv
IGFuZCBmcm9tIHRoZSBBdXRob3JpemF0aW9uIFNlcnZlci4KPC9wPgo8cD5TZWUgPGEgY2xhc3M9
J2luZm8nIGhyZWY9JyNhdXRvbm9tb3VzLnByb2ZpbGVzJz5TZWN0aW9uJm5ic3A7NTxzcGFuPiAo
PC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5BY3F1aXJpbmcgYW4gQWNjZXNzIFRva2VuOiBBdXRv
bm9tb3VzIENsaWVudCBQcm9maWxlczwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gZm9yIGhvdyB0
aGUgQ2xpZW50CiAgICAgICAgYWNxdWlyZXMgYW4gQWNjZXNzIFRva2VuIHdoZW4gYWN0aW5nIGF1
dG9ub21vdXNseSwgYW5kIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjdXNlci5wcm9maWxlcyc+U2Vj
dGlvbiZuYnNwOzY8c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+QWNxdWlyaW5nIGFu
IEFjY2VzcyBUb2tlbjogVXNlciBEZWxlZ2F0aW9uIFByb2ZpbGVzPC9zcGFuPjxzcGFuPik8L3Nw
YW4+PC9hPiBmb3IgaG93IHRoZSBDbGllbnQgYWNxdWlyZXMgYW4gQWNjZXNzCiAgICAgICAgVG9r
ZW4gd2hlbiBhY3RpbmcgYWN0aW5nIG9uIGJlaGFsZiBvZiBhIFVzZXIuCjwvcD4KPGEgbmFtZT0i
YW5jaG9yMTAiPjwvYT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBh
ZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0
cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwv
dGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi40LjMiPjwvYT48aDM+NC4zLiZu
YnNwOwpDbGllbnQgQ2FsbHMgUHJvdGVjdGVkIFJlc291cmNlIFVzaW5nIEhUVFAgSGVhZGVyPC9o
Mz4KCjxwPlRoZSBQcm90ZWN0ZWQgUmVzb3VyY2UgU0hPVUxEIGVuYWJsZSBDbGllbnRzIHRvIGFj
Y2VzcyB0aGUKICAgICAgICBQcm90ZWN0ZWQgUmVzb3VyY2UgYnkgaW5jbHVkaW5nIHRoZSBBY2Nl
c3MgVG9rZW4gaW4gdGhlIEhUVFAKICAgICAgICBBdXRob3JpemF0aW9uIGhlYWRlciB1c2luZyB0
aGUgT0F1dGggV1JBUCBzY2hlbWUgd2l0aCB0aGUgZm9sbG93aW5nCiAgICAgICAgcGFyYW1ldGVy
Ogo8L3A+CjxwPjwvcD4KPGJsb2NrcXVvdGUgY2xhc3M9InRleHQiPjxkbD4KPGR0PmFjY2Vzc190
b2tlbjwvZHQ+CjxkZD4gUkVRVUlSRUQuIFRoZSB2YWx1ZSBvZiB0aGUKICAgICAgICAgICAgQWNj
ZXNzIFRva2VuCjwvZGQ+CjwvZGw+PC9ibG9ja3F1b3RlPgoKPHA+Rm9yIGV4YW1wbGUsIGlmIHRo
ZSBBY2Nlc3MgVG9rZW4gaXMgdGhlIHN0cmluZyAxMjM0NTY3ODksIHRoZSBIVFRQCiAgICAgICAg
aGVhZGVyIHdvdWxkIGJlOgo8L3A+PGRpdiBzdHlsZT0nZGlzcGxheTogdGFibGU7IHdpZHRoOiAw
OyBtYXJnaW4tbGVmdDogM2VtOyBtYXJnaW4tcmlnaHQ6IGF1dG8nPjxwcmU+CiAgQXV0aG9yaXph
dGlvbjogV1JBUCBhY2Nlc3NfdG9rZW49IjEyMzQ1Njc4OSIKPC9wcmU+PC9kaXY+CjxwPk5vdGUg
dGhhdCBwZXIgc2VjdGlvbiAxLjIgb2YgPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNSRkMyNjE3Jz5b
UkZDMjYxN108c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+RnJhbmtzLCBKLiwgSGFs
bGFtLUJha2VyLCBQLiwgSG9zdGV0bGVyLCBKLiwgTGF3cmVuY2UsIFMuLCBMZWFjaCwgUC4sIEx1
b3RvbmVuLCBBLiwgYW5kIEwuIFN0ZXdhcnQsICZsZHF1bztIVFRQIEF1dGhlbnRpY2F0aW9uOiBC
YXNpYyBhbmQgRGlnZXN0IEFjY2VzcyBBdXRoZW50aWNhdGlvbiwmcmRxdW87IEp1bmUmbmJzcDsx
OTk5Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gdGhhdAogICAgICAgIHRoZSBmb2xsb3dpbmcg
aGVhZGVyIGlzIGFsc28gdmFsaWQ6CjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lk
dGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4KICBBdXRo
b3JpemF0aW9uOiAgV1JBUCAgYWNjZXNzX3Rva2VuID0gMTIzNDU2Nzg5CjwvcHJlPjwvZGl2Pgo8
cD5JZiB0aGUgQWNjZXNzIFRva2VuIGhhcyBleHBpcmVkIG9yIGlzIGludmFsaWQsIHRoZSBQcm90
ZWN0ZWQKICAgICAgICBSZXNvdXJjZSBNVVNUIHJldHVybjoKPC9wPjxkaXYgc3R5bGU9J2Rpc3Bs
YXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRv
Jz48cHJlPgogIEhUVFAgNDAxIFVuYXV0aG9yaXplZAo8L3ByZT48L2Rpdj4KPHA+YW5kIHRoZSBI
VFRQIGhlYWRlcjoKPC9wPjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFy
Z2luLWxlZnQ6IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPgogIFdXVy1BdXRoZW50aWNh
dGU6IFdSQVAKPC9wcmU+PC9kaXY+CjxhIG5hbWU9ImFuY2hvcjExIj48L2E+PGJyIC8+PGhyIC8+
Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIg
Y2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhy
ZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0i
cmZjLnNlY3Rpb24uNC40Ij48L2E+PGgzPjQuNC4mbmJzcDsKQ2xpZW50IENhbGxzIFByb3RlY3Rl
ZCBSZXNvdXJjZSBVc2luZyBVUkwgUXVlcnkgUGFyYW1ldGVyPC9oMz4KCjxwPlRoZSBQcm90ZWN0
ZWQgUmVzb3VyY2UgTUFZIGFsbG93IHRoZSBDbGllbnQgdG8gYWNjZXNzIHByb3RlY3RlZAogICAg
ICAgIHJlc291cmNlcyBhdCB0aGUgUHJvdGVjdGVkIFJlc291cmNlIGJ5IGluY2x1ZGluZyB0aGUg
Zm9sbG93aW5nIEhUVFAKICAgICAgICBVUkwgcXVlcnkgcGFyYW1ldGVyIGluIHRoZSBVUkw6Cjwv
cD4KPHA+PC9wPgo8YmxvY2txdW90ZSBjbGFzcz0idGV4dCI+PGRsPgo8ZHQ+YWNjZXNzX3Rva2Vu
PC9kdD4KPGRkPiBSRVFVSVJFRC4gVGhlIHZhbHVlIG9mIHRoZQogICAgICAgICAgICBBY2Nlc3Mg
VG9rZW4KPC9kZD4KPC9kbD48L2Jsb2NrcXVvdGU+Cgo8cD5JZiB0aGUgQWNjZXNzIFRva2VuIGhh
cyBleHBpcmVkIG9yIGlzIGludmFsaWQsIHRoZSBQcm90ZWN0ZWQKICAgICAgICBSZXNvdXJjZSBN
VVNUIHJldHVybjoKPC9wPjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFy
Z2luLWxlZnQ6IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPgogIEhUVFAgNDAxIFVuYXV0
aG9yaXplZAo8L3ByZT48L2Rpdj4KPHA+YW5kIHRoZSBIVFRQIGhlYWRlcjoKPC9wPjxkaXYgc3R5
bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6IDNlbTsgbWFyZ2luLXJp
Z2h0OiBhdXRvJz48cHJlPgogIFdXVy1BdXRoZW50aWNhdGU6IFdSQVAKPC9wcmU+PC9kaXY+Cjxh
IG5hbWU9ImFuY2hvcjEyIj48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQi
IGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJp
Z2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNw
OzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uNC41Ij48L2E+PGgz
PjQuNS4mbmJzcDsKQ2xpZW50IENhbGxzIFByb3RlY3RlZCBSZXNvdXJjZSBVc2luZyBQb3N0IFBh
cmFtZXRlcjwvaDM+Cgo8cD5UaGUgUHJvdGVjdGVkIFJlc291cmNlIE1BWSBhbGxvdyB0aGUgQ2xp
ZW50IHRvIGFjY2VzcyBwcm90ZWN0ZWQKICAgICAgICByZXNvdXJjZXMgYXQgdGhlIFByb3RlY3Rl
ZCBSZXNvdXJjZSBieSBpbmNsdWRpbmcgdGhlIGZvbGxvd2luZwogICAgICAgIHBhcmFtZXRlciBp
biB0aGUgYm9keSBvZiBhIEhUVFAgcG9zdCBtZXNzYWdlIGZvcm1hdHRlZCBhcwogICAgICAgIGFw
cGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCBwZXIgPGEgaHJlZj0naHR0cDovL3d3dy53
My5vcmcvVFIvMTk5OS9SRUMtVzNDLlJFQy1odG1sNDAtMTk5ODA0MjQtMTk5OTEyMjQvaW50ZXJh
Y3QvZm9ybXMuaHRtbCNoLTE3LjEzLjQuMSc+MTcuMTMuNDwvYT4KICAgICAgICBvZiA8YSBjbGFz
cz0naW5mbycgaHJlZj0nI1czQy5SRUMtaHRtbDQwLTE5OTgwNDI0Jz5IVE1MIDQuMDE8c3Bhbj4g
KDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+SG9ycywgQS4sIEphY29icywgSS4sIGFuZCBELiBS
YWdnZXR0LCAmbGRxdW87SFRNTCA0LjAgU3BlY2lmaWNhdGlvbiwmcmRxdW87IEFwcmlsJm5ic3A7
MTk5OC48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+IFtXM0MuUkVDJiM4MjA5O2h0bWw0MCYjODIw
OTsxOTk4MDQyNF06CjwvcD4KPHA+PC9wPgo8YmxvY2txdW90ZSBjbGFzcz0idGV4dCI+PGRsPgo8
ZHQ+YWNjZXNzX3Rva2VuPC9kdD4KPGRkPiBSRVFVSVJFRC4gVGhlIHZhbHVlIG9mIHRoZQogICAg
ICAgICAgICBBY2Nlc3MgVG9rZW4KPC9kZD4KPC9kbD48L2Jsb2NrcXVvdGU+Cgo8cD5JZiB0aGUg
QWNjZXNzIFRva2VuIGhhcyBleHBpcmVkIG9yIGlzIGludmFsaWQsIHRoZSBQcm90ZWN0ZWQKICAg
ICAgICBSZXNvdXJjZSBNVVNUIHJldHVybjoKPC9wPjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxl
OyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPgog
IEhUVFAgNDAxIFVuYXV0aG9yaXplZAo8L3ByZT48L2Rpdj4KPHA+YW5kIHRoZSBIVFRQIGhlYWRl
cjoKPC9wPjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6
IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPgogIFdXVy1BdXRoZW50aWNhdGU6IFdSQVAK
PC9wcmU+PC9kaXY+CjxhIG5hbWU9ImF1dG9ub21vdXMucHJvZmlsZXMiPjwvYT48YnIgLz48aHIg
Lz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIy
IiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEg
aHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1l
PSJyZmMuc2VjdGlvbi41Ij48L2E+PGgzPjUuJm5ic3A7CkFjcXVpcmluZyBhbiBBY2Nlc3MgVG9r
ZW46IEF1dG9ub21vdXMgQ2xpZW50IFByb2ZpbGVzPC9oMz4KCjxwPlRoZXNlIGFyZSB0aGUgcHJv
ZmlsZXMgdGhlIENsaWVudCB1c2VzIHdoZW4gYWN0aW5nIGF1dG9ub21vdXNseS4KPC9wPgo8YSBu
YW1lPSJwMSI+PC9hPjxiciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFk
ZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRy
Pjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90
ZD48L3RyPjwvdGFibGU+CjxhIG5hbWU9InJmYy5zZWN0aW9uLjUuMSI+PC9hPjxoMz41LjEuJm5i
c3A7CkNsaWVudCBBY2NvdW50IGFuZCBQYXNzd29yZCBQcm9maWxlPC9oMz4KCjxwPlRoaXMgcHJv
ZmlsZSBpcyBzdWl0YWJsZSB3aGVuIHRoZSBDbGllbnQgaXMgYW4gYXBwbGljYXRpb24gY2FsbGlu
ZwogICAgICAgIHRoZSBQcm90ZWN0ZWQgUmVzb3VyY2Ugb24gYmVoYWxmIG9mIGFuIG9yZ2FuaXph
dGlvbiBhbmQgdGhlCiAgICAgICAgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgYWNjZXB0cyBhY2NvdW50
IHBhc3N3b3JkcyBmb3IgYXV0aGVudGljYXRpb24uCiAgICAgICAgVGhpcyBlbmFibGVzIHRoZSBB
dXRob3JpemF0aW9uIFNlcnZlciB0byB1c2UgYW4gZXhpc3RpbmcKICAgICAgICBhdXRoZW50aWNh
dGlvbiBtZWNoYW5pc20uIFRoaXMgcHJvZmlsZSBTSE9VTEQgTk9UIGJlIHVzZWQgd2hlbiB0aGUK
ICAgICAgICBDbGllbnQgaXMgYWN0aW5nIG9uIGJlaGFsZiBvZiBhIHVzZXIuIFByb2ZpbGVzIDxh
IGNsYXNzPSdpbmZvJyBocmVmPScjcDMnPjYuMTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdp
bmZvJz5Vc2VybmFtZSBhbmQgUGFzc3dvcmQgUHJvZmlsZTwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwv
YT4sIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjcDQnPjYuMjxzcGFuPiAoPC9zcGFuPjxzcGFuIGNs
YXNzPSdpbmZvJz5XZWIgQXBwIFByb2ZpbGU8L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+IG9yCiAg
ICAgICAgPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNwNSc+Ni4zPHNwYW4+ICg8L3NwYW4+PHNwYW4g
Y2xhc3M9J2luZm8nPlJpY2ggQXBwIFByb2ZpbGU8L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+IGFy
ZSBSRUNPTU1FTkRFRCB3aGVuIGEKICAgICAgICBDbGllbnQgaXMgYWN0aW5nIG9uIGJlaGFsZiBv
ZiBhIFVzZXIuCjwvcD4KPGEgbmFtZT0iYW5jaG9yMTMiPjwvYT48YnIgLz48aHIgLz4KPHRhYmxl
IHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0i
VE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3Rv
YyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2Vj
dGlvbi41LjEuMSI+PC9hPjxoMz41LjEuMS4mbmJzcDsKUHJvdmlzaW9uaW5nPC9oMz4KCjxwPlBy
aW9yIHRvIGluaXRpYXRpbmcgdGhpcyBwcm90b2NvbCBwcm9maWxlLCB0aGUgQ2xpZW50IE1VU1Qg
aGF2ZQogICAgICAgICAgb2J0YWluZWQgYW4gYWNjb3VudCBuYW1lIGFuZCBhY2NvdW50IHBhc3N3
b3JkIGZyb20gdGhlIEF1dGhvcml6YXRpb24KICAgICAgICAgIFNlcnZlci4KPC9wPgo8YSBuYW1l
PSJwMXJlcXVlc3QiPjwvYT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2Vs
bHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQi
Pjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9h
PjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi41LjEuMiI+PC9hPjxoMz41
LjEuMi4mbmJzcDsKQ2xpZW50IFJlcXVlc3RzIEFjY2VzcyBUb2tlbjwvaDM+Cgo8cD5UaGUgQ2xp
ZW50IG1ha2VzIGFuIEhUVFBTIHJlcXVlc3QgdG8gdGhlIEF1dGhvcml6YXRpb24gU2VydmVyJ3MK
ICAgICAgICAgIEFjY2VzcyBUb2tlbiBVUkwgdXNpbmcgUE9TVC4gVGhlIHJlcXVlc3QgY29udGFp
bnMgdGhlIGZvbGxvd2luZwogICAgICAgICAgcGFyYW1ldGVyczoKPC9wPgo8cD48L3A+CjxibG9j
a3F1b3RlIGNsYXNzPSJ0ZXh0Ij48ZGw+CjxkdD53cmFwX25hbWU8L2R0Pgo8ZGQ+IFJFUVVJUkVE
LiBUaGUgYWNjb3VudAogICAgICAgICAgICAgIG5hbWUuCjwvZGQ+CjxkdD53cmFwX3Bhc3N3b3Jk
PC9kdD4KPGRkPiBSRVFVSVJFRC4gVGhlIGFjY291bnQKICAgICAgICAgICAgICBwYXNzd29yZC4K
PC9kZD4KPGR0PndyYXBfc2NvcGU8L2R0Pgo8ZGQ+IE9QVElPTkFMLiBUaGUgQXV0aG9yaXphdGlv
bgogICAgICAgICAgICAgIFNlcnZlciBNQVkgZGVmaW5lIGF1dGhvcml6YXRpb24gc2NvcGUgdmFs
dWVzIGZvciB0aGUgQ2xpZW50IHRvCiAgICAgICAgICAgICAgaW5jbHVkZS4KPC9kZD4KPGR0PkFk
ZGl0aW9uYWwgcGFyYW1ldGVyczwvZHQ+CjxkZD5BbnkgYWRkaXRpb25hbAogICAgICAgICAgICAg
IHBhcmFtZXRlcnMsIGFzIGRlZmluZWQgYnkgdGhlIEF1dGhvcml6YXRpb24gU2VydmVyLgo8L2Rk
Pgo8L2RsPjwvYmxvY2txdW90ZT4KCjxhIG5hbWU9ImFuY2hvcjE0Ij48L2E+PGJyIC8+PGhyIC8+
Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIg
Y2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhy
ZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0i
cmZjLnNlY3Rpb24uNS4xLjMiPjwvYT48aDM+NS4xLjMuJm5ic3A7ClN1Y2Nlc3NmdWwgQWNjZXNz
IFRva2VuIFJlc3BvbnNlIGZyb20gQXV0aG9yaXphdGlvbiAgU2VydmVyPC9oMz4KCjxwPklmIHN1
Y2Nlc3NmdWwsIHRoZSBBdXRob3JpemF0aW9uIFNlcnZlciByZXR1cm5zOgo8L3A+PGRpdiBzdHls
ZT0nZGlzcGxheTogdGFibGU7IHdpZHRoOiAwOyBtYXJnaW4tbGVmdDogM2VtOyBtYXJnaW4tcmln
aHQ6IGF1dG8nPjxwcmU+CiAgSFRUUCAyMDAgT0sKPC9wcmU+PC9kaXY+CjxwPndpdGggdGhlIFJl
ZnJlc2ggVG9rZW4gYW5kIGFuIEFjY2VzcyBUb2tlbiBpbiB0aGUgcmVzcG9uc2UgYm9keS4KICAg
ICAgICAgIFRoZSByZXNwb25zZSBib2R5IGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgcGFyYW1ldGVy
czoKPC9wPgo8cD48L3A+CjxibG9ja3F1b3RlIGNsYXNzPSJ0ZXh0Ij48ZGw+CjxkdD53cmFwX3Jl
ZnJlc2hfdG9rZW48L2R0Pgo8ZGQ+IFJFUVVJUkVELiBUaGUKICAgICAgICAgICAgICBSZWZyZXNo
IFRva2VuLgo8L2RkPgo8ZHQ+d3JhcF9hY2Nlc3NfdG9rZW48L2R0Pgo8ZGQ+IFJFUVVJUkVELiBU
aGUgQWNjZXNzCiAgICAgICAgICAgICAgVG9rZW4uCjwvZGQ+CjxkdD53cmFwX2FjY2Vzc190b2tl
bl9leHBpcmVzX2luPC9kdD4KPGRkPiBPUFRJT05BTC4KICAgICAgICAgICAgICBUaGUgbGlmZXRp
bWUgb2YgdGhlIEFjY2VzcyBUb2tlbiBpbiBzZWNvbmRzLiBGb3IgZXhhbXBsZSwgMzYwMAogICAg
ICAgICAgICAgIHJlcHJlc2VudHMgb25lIGhvdXIuCjwvZGQ+CjxkdD5BZGRpdGlvbmFsIHBhcmFt
ZXRlcnM8L2R0Pgo8ZGQ+IEFueSBhZGRpdGlvbmFsCiAgICAgICAgICAgICAgcGFyYW1ldGVycywg
YXMgZGVmaW5lZCBieSB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIuCjwvZGQ+CjwvZGw+PC9ibG9j
a3F1b3RlPgoKPHA+VGhlIENsaWVudCBtYXkgbm93IHVzZSB0aGUgQWNjZXNzIFRva2VuIHRvIGFj
Y2VzcyB0aGUgUHJvdGVjdGVkCiAgICAgICAgICBSZXNvdXJjZSBwZXIgPGEgY2xhc3M9J2luZm8n
IGhyZWY9JyNQcm90ZWN0ZWRSZXNvdXJjZSc+U2VjdGlvbiZuYnNwOzQ8c3Bhbj4gKDwvc3Bhbj48
c3BhbiBjbGFzcz0naW5mbyc+QWNjZXNzaW5nIGEgUHJvdGVjdGVkIFJlc291cmNlPC9zcGFuPjxz
cGFuPik8L3NwYW4+PC9hPgo8L3A+CjxhIG5hbWU9ImFuY2hvcjE1Ij48L2E+PGJyIC8+PGhyIC8+
Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIg
Y2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhy
ZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0i
cmZjLnNlY3Rpb24uNS4xLjQiPjwvYT48aDM+NS4xLjQuJm5ic3A7ClVuc3VjY2Vzc2Z1bCBBY2Nl
c3MgVG9rZW4gUmVzcG9uc2UgZnJvbSBBdXRob3JpemF0aW9uIFNlcnZlcjwvaDM+Cgo8cD5JZiB0
aGUgQ2xpZW50IGFjY291bnQgbmFtZSBhbmQgcGFzc3dvcmQgYXJlIGludmFsaWQsIHRoZQogICAg
ICAgICAgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCByZXNwb25kIHdpdGg6CjwvcD48ZGl2IHN0
eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1y
aWdodDogYXV0byc+PHByZT4KICBIVFRQIDQwMSBVbmF1dGhvcml6ZWQKPC9wcmU+PC9kaXY+Cjxw
PmFuZCB0aGUgSFRUUCBoZWFkZXI6CjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lk
dGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4KICBXV1ct
QXV0aGVudGljYXRlOiBXUkFQCjwvcHJlPjwvZGl2Pgo8cD5UaGUgQ2xpZW50IE1VU1Qgb2J0YWlu
IGEgdmFsaWQgYWNjb3VudCBuYW1lIGFuZCBwYXNzd29yZCBiZWZvcmUKICAgICAgICAgIHJldHJ5
aW5nIHRoZSByZXF1ZXN0Lgo8L3A+CjxhIG5hbWU9ImFuY2hvcjE2Ij48L2E+PGJyIC8+PGhyIC8+
Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIg
Y2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhy
ZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0i
cmZjLnNlY3Rpb24uNS4xLjUiPjwvYT48aDM+NS4xLjUuJm5ic3A7CkNsaWVudCBSZWZyZXNoZXMg
QWNjZXNzIFRva2VuPC9oMz4KCjxwPkF1dGhvcml6YXRpb24gU2VydmVycyBTSE9VTEQgaXNzdWUg
QWNjZXNzIFRva2VucyB0aGF0IGV4cGlyZSBhbmQKICAgICAgICAgIHJlcXVpcmUgQ2xpZW50cyB0
byByZWZyZXNoIHRoZW0uIFVwb24gcmVjZWl2aW5nIHRoZSBIVFRQIDQwMQogICAgICAgICAgcmVz
cG9uc2Ugd2hlbiBhY2Nlc3NpbmcgcHJvdGVjdGVkIHJlc291cmNlcyBwZXIgPGEgY2xhc3M9J2lu
Zm8nIGhyZWY9JyNQcm90ZWN0ZWRSZXNvdXJjZSc+U2VjdGlvbiZuYnNwOzQ8c3Bhbj4gKDwvc3Bh
bj48c3BhbiBjbGFzcz0naW5mbyc+QWNjZXNzaW5nIGEgUHJvdGVjdGVkIFJlc291cmNlPC9zcGFu
PjxzcGFuPik8L3NwYW4+PC9hPiwgdGhlIENsaWVudCBzaG91bGQgcmVxdWVzdCBhIG5ldwogICAg
ICAgICAgQWNjZXNzIFRva2VuIGJ5IHJlcGVhdGluZyA8YSBjbGFzcz0naW5mbycgaHJlZj0nI3Ax
cmVxdWVzdCc+U2VjdGlvbiZuYnNwOzUuMS4yPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2lu
Zm8nPkNsaWVudCBSZXF1ZXN0cyBBY2Nlc3MgVG9rZW48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+
CjwvcD4KPGEgbmFtZT0icDIiPjwvYT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91
dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0i
cmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5i
c3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi41LjIiPjwvYT48
aDM+NS4yLiZuYnNwOwpBc3NlcnRpb24gUHJvZmlsZTwvaDM+Cgo8YSBuYW1lPSJhbmNob3IxNyI+
PC9hPjxiciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIg
Y2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFz
cz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwv
dGFibGU+CjxhIG5hbWU9InJmYy5zZWN0aW9uLjUuMi4xIj48L2E+PGgzPjUuMi4xLiZuYnNwOwpQ
cm92aXNpb25pbmc8L2gzPgoKPHA+UHJpb3IgdG8gaW5pdGlhdGluZyB0aGlzIHByb3RvY29sIHBy
b2ZpbGUsIHRoZSBDbGllbnQgTVVTVCBoYXZlIGEKICAgICAgICAgIG1lY2hhbmlzbSBmb3Igb2J0
YWluZWQgYW4gYXNzZXJ0aW9uIGZyb20gYW4gYXNzZXJ0aW9uIGlzc3VlciB0aGF0CiAgICAgICAg
ICBjYW4gYmUgcHJlc2VudGVkIHRvIHRoZSBBdXRob3JpemF0aW9uIFNlcnZlciBmb3IgYWNjZXNz
IHRvIHRoZQogICAgICAgICAgUHJvdGVjdGVkIFJlc291cmNlLgo8L3A+CjxhIG5hbWU9InAyLmFz
c2VydGlvbiI+PC9hPjxiciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFk
ZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRy
Pjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90
ZD48L3RyPjwvdGFibGU+CjxhIG5hbWU9InJmYy5zZWN0aW9uLjUuMi4yIj48L2E+PGgzPjUuMi4y
LiZuYnNwOwpDbGllbnQgT2J0YWlucyBBc3NlcnRpb248L2gzPgoKPHA+VGhlIENsaWVudCBvYnRh
aW5zIGFuIGFzc2VydGlvbi4gVGhlIHByb2Nlc3MgZm9yIG9idGFpbmluZyB0aGUKICAgICAgICAg
IGFzc2VydGlvbiBpcyBkZWZpbmVkIGJ5IHRoZSBhc3NlcnRpb24gaXNzdWVyIGFuZCB0aGUgQXV0
aG9yaXphdGlvbgogICAgICAgICAgU2VydmVyLCBhbmQgaXMgb3V0IG9mIHNjb3BlIG9mIHRoaXMg
c3BlY2lmaWNhdGlvbi4KPC9wPgo8YSBuYW1lPSJwMi5yZXF1ZXN0Ij48L2E+PGJyIC8+PGhyIC8+
Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIg
Y2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhy
ZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0i
cmZjLnNlY3Rpb24uNS4yLjMiPjwvYT48aDM+NS4yLjMuJm5ic3A7CkNsaWVudCBSZXF1ZXN0cyBB
Y2Nlc3MgVG9rZW48L2gzPgoKPHA+VGhlIENsaWVudCBtYWtlcyBhbiBIVFRQUyByZXF1ZXN0IHRv
IHRoZSBBdXRob3JpemF0aW9uIFNlcnZlcidzCiAgICAgICAgICBBY2Nlc3MgVG9rZW4gVVJMIHVz
aW5nIFBPU1QuIFRoZSByZXF1ZXN0IGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcKICAgICAgICAgIHBh
cmFtZXRlcnM6CjwvcD4KPHA+PC9wPgo8YmxvY2txdW90ZSBjbGFzcz0idGV4dCI+PGRsPgo8ZHQ+
d3JhcF9hc3NlcnRpb25fZm9ybWF0PC9kdD4KPGRkPiBSRVFVSVJFRC4gVGhlCiAgICAgICAgICAg
ICAgZm9ybWF0IG9mIHRoZSBhc3NlcnRpb24gYXMgZGVmaW5lZCBieSB0aGUgQXV0aG9yaXphdGlv
bgogICAgICAgICAgICAgIFNlcnZlci4KPC9kZD4KPGR0PndyYXBfYXNzZXJ0aW9uPC9kdD4KPGRk
PiBSRVFVSVJFRC4gVGhlCiAgICAgICAgICAgICAgYXNzZXJ0aW9uLgo8L2RkPgo8ZHQ+d3JhcF9z
Y29wZTwvZHQ+CjxkZD4gT1BUSU9OQUwuIFRoZSBBdXRob3JpemF0aW9uCiAgICAgICAgICAgICAg
U2VydmVyIE1BWSBkZWZpbmUgYXV0aG9yaXphdGlvbiBzY29wZSB2YWx1ZXMgZm9yIHRoZSBDbGll
bnQgdG8KICAgICAgICAgICAgICBpbmNsdWRlCjwvZGQ+CjxkdD5BZGRpdGlvbmFsICAgIHBhcmFt
ZXRlcnM8L2R0Pgo8ZGQ+IEFueSBhZGRpdGlvbmFsCiAgICAgICAgICAgICAgcGFyYW1ldGVycywg
YXMgZGVmaW5lZCBieSB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIuCjwvZGQ+CjwvZGw+PC9ibG9j
a3F1b3RlPgoKPGEgbmFtZT0iYW5jaG9yMTgiPjwvYT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1h
cnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVn
IiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5i
c3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi41
LjIuNCI+PC9hPjxoMz41LjIuNC4mbmJzcDsKU3VjY2Vzc2Z1bCBBY2Nlc3MgVG9rZW4gUmVzcG9u
c2UgZnJvbSBBdXRob3JpemF0aW9uIFNlcnZlcjwvaDM+Cgo8cD5JZiBzdWNjZXNzZnVsLCB0aGUg
QXV0aG9yaXphdGlvbiBTZXJ2ZXIgcmV0dXJuczoKPC9wPjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRh
YmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJl
PgogIEhUVFAgMjAwIE9LCjwvcHJlPjwvZGl2Pgo8cD53aXRoIHRoZSBBY2Nlc3MgVG9rZW4gaW4g
dGhlIHJlc3BvbnNlIGJvZHkuIFRoZSByZXNwb25zZSBib2R5CiAgICAgICAgICBjb250YWlucyB0
aGUgZm9sbG93aW5nIHBhcmFtZXRlcnM6CjwvcD4KPHA+PC9wPgo8YmxvY2txdW90ZSBjbGFzcz0i
dGV4dCI+PGRsPgo8ZHQ+d3JhcF9hY2Nlc3NfdG9rZW48L2R0Pgo8ZGQ+IFJFUVVJUkVELiBUaGUg
QWNjZXNzCiAgICAgICAgICAgICAgVG9rZW4uCjwvZGQ+CjxkdD53cmFwX2FjY2Vzc190b2tlbl9l
eHBpcmVzX2luPC9kdD4KPGRkPiBPUFRJT05BTC4KICAgICAgICAgICAgICBUaGUgbGlmZXRpbWUg
b2YgdGhlIEFjY2VzcyBUb2tlbiBpbiBzZWNvbmRzLiBGb3IgZXhhbXBsZSwgMzYwMAogICAgICAg
ICAgICAgIHJlcHJlc2VudHMgb25lIGhvdXIuCjwvZGQ+CjxkdD5BZGRpdGlvbmFsICAgIHBhcmFt
ZXRlcnM8L2R0Pgo8ZGQ+IEFueSBhZGRpdGlvbmFsCiAgICAgICAgICAgICAgcGFyYW1ldGVycywg
YXMgZGVmaW5lZCBieSB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIuCjwvZGQ+CjwvZGw+PC9ibG9j
a3F1b3RlPgoKPHA+VGhlIENsaWVudCBtYXkgbm93IHVzZSB0aGUgQWNjZXNzIFRva2VuIHRvIGFj
Y2VzcyB0aGUgUHJvdGVjdGVkCiAgICAgICAgICBSZXNvdXJjZSBwZXIgPGEgY2xhc3M9J2luZm8n
IGhyZWY9JyNQcm90ZWN0ZWRSZXNvdXJjZSc+U2VjdGlvbiZuYnNwOzQ8c3Bhbj4gKDwvc3Bhbj48
c3BhbiBjbGFzcz0naW5mbyc+QWNjZXNzaW5nIGEgUHJvdGVjdGVkIFJlc291cmNlPC9zcGFuPjxz
cGFuPik8L3NwYW4+PC9hPi4KPC9wPgo8YSBuYW1lPSJhbmNob3IxOSI+PC9hPjxiciAvPjxociAv
Pgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIi
IGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBo
cmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+CjxhIG5hbWU9
InJmYy5zZWN0aW9uLjUuMi41Ij48L2E+PGgzPjUuMi41LiZuYnNwOwpVbnN1Y2Nlc3NmdWwgQWNj
ZXNzIFRva2VuIFJlc3BvbnNlIGZyb20gQXV0aG9yaXphdGlvbiBTZXJ2ZXI8L2gzPgoKPHA+SWYg
dGhlIGFzc2VydGlvbiBpcyBub3QgdmFsaWQsIHRoZSBBdXRob3JpemF0aW9uIFNlcnZlciBNVVNU
CiAgICAgICAgICByZXNwb25kIHdpdGg6CjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsg
d2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4KICBI
VFRQIDQwMSBVbmF1dGhvcml6ZWQKPC9wcmU+PC9kaXY+CjxwPmFuZCB0aGUgSFRUUCBoZWFkZXI6
CjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAz
ZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4KICBXV1ctQXV0aGVudGljYXRlOiBXUkFQCjwv
cHJlPjwvZGl2Pgo8cD5UaGUgQ2xpZW50IE1VU1Qgb2J0YWluIGEgdmFsaWQgYXNzZXJ0aW9uIGJ5
IHJlcGVhdGluZyA8YSBjbGFzcz0naW5mbycgaHJlZj0nI3AyLmFzc2VydGlvbic+U2VjdGlvbiZu
YnNwOzUuMi4yPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPkNsaWVudCBPYnRhaW5z
IEFzc2VydGlvbjwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gYmVmb3JlIHJldHJ5aW5nIHRoZSBy
ZXF1ZXN0Lgo8L3A+CjxhIG5hbWU9ImFuY2hvcjIwIj48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBz
dW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRP
Q2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2Mi
PiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rp
b24uNS4yLjYiPjwvYT48aDM+NS4yLjYuJm5ic3A7CkNsaWVudCBSZWZyZXNoZXMgQWNjZXNzIFRv
a2VuPC9oMz4KCjxwPkF1dGhvcml6YXRpb24gU2VydmVycyBTSE9VTEQgaXNzdWUgQWNjZXNzIFRv
a2VucyB0aGF0IGV4cGlyZSBhbmQKICAgICAgICAgIHJlcXVpcmUgQ2xpZW50cyB0byByZWZyZXNo
IHRoZW0uIFVwb24gcmVjZWl2aW5nIHRoZSBIVFRQIDQwMQogICAgICAgICAgcmVzcG9uc2Ugd2hl
biBhY2Nlc3NpbmcgcHJvdGVjdGVkIHJlc291cmNlcyBwZXIgPGEgY2xhc3M9J2luZm8nIGhyZWY9
JyNQcm90ZWN0ZWRSZXNvdXJjZSc+U2VjdGlvbiZuYnNwOzQ8c3Bhbj4gKDwvc3Bhbj48c3BhbiBj
bGFzcz0naW5mbyc+QWNjZXNzaW5nIGEgUHJvdGVjdGVkIFJlc291cmNlPC9zcGFuPjxzcGFuPik8
L3NwYW4+PC9hPiwgdGhlIENsaWVudCBzaG91bGQgcmVxdWVzdCBhIG5ldwogICAgICAgICAgQWNj
ZXNzIFRva2VuIGJ5IHJlcGVhdGluZyA8YSBjbGFzcz0naW5mbycgaHJlZj0nI3AyLnJlcXVlc3Qn
PlNlY3Rpb24mbmJzcDs1LjIuMzxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5DbGll
bnQgUmVxdWVzdHMgQWNjZXNzIFRva2VuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBpZiB0aGUK
ICAgICAgICAgIGFzc2VydGlvbiBpcyBzdGlsbCB2YWxpZCwgb3RoZXJ3aXNlIHRoZSBDbGllbnQg
TVVTVCBvYnRhaW4gYSBuZXcsCiAgICAgICAgICB2YWxpZCBhc3NlcnRpb24gYnkgcmVwZWF0aW5n
IDxhIGNsYXNzPSdpbmZvJyBocmVmPScjcDIuYXNzZXJ0aW9uJz5TZWN0aW9uJm5ic3A7NS4yLjI8
c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+Q2xpZW50IE9idGFpbnMgQXNzZXJ0aW9u
PC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPi4KPC9wPgo8YSBuYW1lPSJ1c2VyLnByb2ZpbGVzIj48
L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBj
ZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNz
PSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90
YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uNiI+PC9hPjxoMz42LiZuYnNwOwpBY3F1aXJpbmcg
YW4gQWNjZXNzIFRva2VuOiBVc2VyIERlbGVnYXRpb24gUHJvZmlsZXM8L2gzPgoKPHA+VGhlc2Ug
YXJlIHRoZSBwcm9maWxlcyB0aGUgQ2xpZW50IHVzZXMgd2hlbiBhY3Rpbmcgb24gYmVoYWxmIG9m
IGEKICAgICAgVXNlci4KPC9wPgo8YSBuYW1lPSJwMyI+PC9hPjxiciAvPjxociAvPgo8dGFibGUg
c3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJU
T0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9j
Ij4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+CjxhIG5hbWU9InJmYy5zZWN0
aW9uLjYuMSI+PC9hPjxoMz42LjEuJm5ic3A7ClVzZXJuYW1lIGFuZCBQYXNzd29yZCBQcm9maWxl
PC9oMz4KCjxwPlRoaXMgcHJvZmlsZSBpcyBzdWl0YWJsZSB3aGVyZSB0aGUgQ2xpZW50IGlzIGFu
IGFwcGxpY2F0aW9uIHRoZQogICAgICAgIFVzZXIgaGFzIGluc3RhbGxlZCBvbiB0aGVpciBjb21w
dXRlciBhbmQgdGhlIFVzZXIgdXNlcyBhIHVzZXJuYW1lIGFuZAogICAgICAgIHBhc3N3b3JkIHRv
IGF1dGhlbnRpY2F0ZSB0byB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIuIFRoaXMgcHJvZmlsZQog
ICAgICAgIGVuYWJsZXMgYSBDbGllbnQgdG8gYWN0IG9uIGJlaGFsZiBvZiB0aGUgVXNlciB3aXRo
b3V0IGhhdmluZyB0bwogICAgICAgIHBlcm1hbmVudGx5IHN0b3JlIHRoZSBVc2VyJ3MgdXNlcm5h
bWUgYW5kIHBhc3N3b3JkLgo8L3A+CjxhIG5hbWU9ImFuY2hvcjIxIj48L2E+PGJyIC8+PGhyIC8+
Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIg
Y2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhy
ZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0i
cmZjLnNlY3Rpb24uNi4xLjEiPjwvYT48aDM+Ni4xLjEuJm5ic3A7ClByb3Zpc2lvbmluZzwvaDM+
Cgo8cD5QcmlvciB0byBpbml0aWF0aW5nIHRoaXMgcHJvdG9jb2wgcHJvZmlsZSwgdGhlIEF1dGhv
cml6YXRpb24KICAgICAgICAgIFNlcnZlciBNQVkgaGF2ZSByZXF1aXJlZCB0aGUgQ2xpZW50IHRv
IGhhdmUgb2J0YWluZWQgYSBDbGllbnQKICAgICAgICAgIElkZW50aWZpZXIgZnJvbSB0aGUgQXV0
aG9yaXphdGlvbiBTZXJ2ZXIuCjwvcD4KPGEgbmFtZT0icDMucGFzc3dvcmQiPjwvYT48YnIgLz48
aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5n
PSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+
PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBu
YW1lPSJyZmMuc2VjdGlvbi42LjEuMiI+PC9hPjxoMz42LjEuMi4mbmJzcDsKQ2xpZW50IE9idGFp
bnMgVXNlcm5hbWUgYW5kICAgICAgUGFzc3dvcmQ8L2gzPgoKPHA+VGhlIENsaWVudCBvYnRhaW5z
IHRoZSBVc2VyJ3MgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZyb20gdGhlCiAgICAgICAgICB1c2Vy
LiBUaGUgQ2xpZW50IE1VU1QgZGlzY2FyZCB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIG9uY2Ug
YW4KICAgICAgICAgIEFjY2VzcyBUb2tlbiBoYXMgYmVlbiBvYnRhaW5lZC4KPC9wPgo8YSBuYW1l
PSJwMy5yZXF1ZXN0Ij48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNl
bGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0
Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwv
YT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uNi4xLjMiPjwvYT48aDM+
Ni4xLjMuJm5ic3A7CkNsaWVudCBSZXF1ZXN0cyBBY2Nlc3MgVG9rZW48L2gzPgoKPHA+VGhlIENs
aWVudCBtYWtlcyBhbiBIVFRQUyByZXF1ZXN0IHRvIHRoZSBBdXRob3JpemF0aW9uIFNlcnZlcidz
CiAgICAgICAgICBBY2Nlc3MgVG9rZW4gVVJMIHVzaW5nIFBPU1QuIFRoZSByZXF1ZXN0IGNvbnRh
aW5zIHRoZSBmb2xsb3dpbmcKICAgICAgICAgIHBhcmFtZXRlcnM6CjwvcD4KPHA+PC9wPgo8Ymxv
Y2txdW90ZSBjbGFzcz0idGV4dCI+PGRsPgo8ZHQ+d3JhcF9jbGllbnRfaWQ8L2R0Pgo8ZGQ+IFJF
UVVJUkVELiBUaGUgQ2xpZW50CiAgICAgICAgICAgICAgSWRlbnRpZmllci4KPC9kZD4KPGR0Pndy
YXBfdXNlcm5hbWU8L2R0Pgo8ZGQ+IFJFUVVJUkVELiBUaGUgVXNlcidzCiAgICAgICAgICAgICAg
dXNlcm5hbWUuCjwvZGQ+CjxkdD53cmFwX3Bhc3N3b3JkPC9kdD4KPGRkPiBSRVFVSVJFRC4gVGhl
IFVzZXIncwogICAgICAgICAgICAgIHBhc3N3b3JkLgo8L2RkPgo8ZHQ+d3JhcF9zY29wZTwvZHQ+
CjxkZD4gT1BUSU9OQUwuIFRoZSBBdXRob3JpemF0aW9uCiAgICAgICAgICAgICAgU2VydmVyIE1B
WSBkZWZpbmUgYXV0aG9yaXphdGlvbiBzY29wZSB2YWx1ZXMgZm9yIHRoZSBDbGllbnQgdG8KICAg
ICAgICAgICAgICBpbmNsdWRlLgo8L2RkPgo8ZHQ+QWRkaXRpb25hbCBwYXJhbWV0ZXJzPC9kdD4K
PGRkPiBBbnkgYWRkaXRpb25hbAogICAgICAgICAgICAgIHBhcmFtZXRlcnMsIGFzIGRlZmluZWQg
YnkgdGhlIEF1dGhvcml6YXRpb24gU2VydmVyLgo8L2RkPgo8L2RsPjwvYmxvY2txdW90ZT4KCjxh
IG5hbWU9ImFuY2hvcjIyIj48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQi
IGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJp
Z2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNw
OzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uNi4xLjQiPjwvYT48
aDM+Ni4xLjQuJm5ic3A7ClN1Y2Nlc3NmdWwgQWNjZXNzIFRva2VuIFJlc3BvbnNlIGZyb20gQXV0
aG9yaXphdGlvbiBTZXJ2ZXI8L2gzPgoKPHA+SWYgc3VjY2Vzc2Z1bCwgdGhlIEF1dGhvcml6YXRp
b24gU2VydmVyIHJldHVybnM6CjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lkdGg6
IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4KICBIVFRQIDIw
MCBPSwo8L3ByZT48L2Rpdj4KPHA+d2l0aCB0aGUgQWNjZXNzIFRva2VuIGluIHRoZSByZXNwb25z
ZSBib2R5LiBUaGUgcmVzcG9uc2UgYm9keQogICAgICAgICAgY29udGFpbnMgdGhlIGZvbGxvd2lu
ZyBwYXJhbWV0ZXJzOgo8L3A+CjxwPjwvcD4KPGJsb2NrcXVvdGUgY2xhc3M9InRleHQiPjxkbD4K
PGR0PndyYXBfYWNjZXNzX3Rva2VuPC9kdD4KPGRkPiBSRVFVSVJFRC4gVGhlIEFjY2VzcwogICAg
ICAgICAgICAgIFRva2VuLgo8L2RkPgo8ZHQ+d3JhcF9hY2Nlc3NfdG9rZW5fZXhwaXJlc19pbjwv
ZHQ+CjxkZD4gT1BUSU9OQUwuCiAgICAgICAgICAgICAgVGhlIGxpZmV0aW1lIG9mIHRoZSBBY2Nl
c3MgVG9rZW4gaW4gc2Vjb25kcy4gRm9yIGV4YW1wbGUsIDM2MDAKICAgICAgICAgICAgICByZXBy
ZXNlbnRzIG9uZSBob3VyLgo8L2RkPgo8ZHQ+QWRkaXRpb25hbCAgICBwYXJhbWV0ZXJzPC9kdD4K
PGRkPiBBbnkgYWRkaXRpb25hbAogICAgICAgICAgICAgIHBhcmFtZXRlcnMsIGFzIGRlZmluZWQg
YnkgdGhlIEF1dGhvcml6YXRpb24gU2VydmVyLgo8L2RkPgo8L2RsPjwvYmxvY2txdW90ZT4KCjxw
PlRoZSBDbGllbnQgTVVTVCBkaXNjYXJkIHRoZSBVc2VyJ3MgdXNlcm5hbWUgYW5kIHBhc3N3b3Jk
LiBUaGUKICAgICAgICAgIENsaWVudCBzZWN1cmVseSBzdG9yZXMgdGhlIFJlZnJlc2ggVG9rZW4g
Zm9yIGxhdGVyIHVzZS4gVGhlIENsaWVudAogICAgICAgICAgbWF5IG5vdyB1c2UgdGhlIEFjY2Vz
cyBUb2tlbiB0byBhY2Nlc3MgdGhlIFByb3RlY3RlZCBSZXNvdXJjZSBwZXIKICAgICAgICAgIDxh
IGNsYXNzPSdpbmZvJyBocmVmPScjUHJvdGVjdGVkUmVzb3VyY2UnPlNlY3Rpb24mbmJzcDs0PHNw
YW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPkFjY2Vzc2luZyBhIFByb3RlY3RlZCBSZXNv
dXJjZTwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4uCjwvcD4KPGEgbmFtZT0iYW5jaG9yMjMiPjwv
YT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNl
bGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9
IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3Rh
YmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi42LjEuNSI+PC9hPjxoMz42LjEuNS4mbmJzcDsKVW5z
dWNjZXNzZnVsIEFjY2VzcyBUb2tlbiBSZXNwb25zZSBmcm9tIEF1dGhvcml6YXRpb24gU2VydmVy
PC9oMz4KCjxwPlRoZSBBdXRob3JpemF0aW9uIFNlcnZlciBNVVNUIHZlcmlmeSBVc2VyJ3MgdXNl
cm5hbWUgYW5kCiAgICAgICAgICBwYXNzd29yZC4gSWYgdGhlIHZlcmlmaWNhdGlvbiBmYWlscywg
dGhlIEF1dGhvcml6YXRpb24gU2VydmVyIE1VU1QKICAgICAgICAgIHJlc3BvbmQgd2l0aDoKPC9w
PjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6IDNlbTsg
bWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPgogIEhUVFAgNDAxIFVuYXV0aG9yaXplZAo8L3ByZT48
L2Rpdj4KPHA+YW5kIHRoZSBIVFRQIGhlYWRlcjoKPC9wPjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRh
YmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJl
PgogIFdXVy1BdXRoZW50aWNhdGU6IFdSQVAKPC9wcmU+PC9kaXY+CjxwPlRoZSBDbGllbnQgbmVl
ZHMgdG8gb2J0YWluIGEgdmFsaWQgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZyb20gdGhlCiAgICAg
ICAgICBVc2VyIHBlciA8YSBjbGFzcz0naW5mbycgaHJlZj0nI3AzLnBhc3N3b3JkJz5TZWN0aW9u
Jm5ic3A7Ni4xLjI8c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+Q2xpZW50IE9idGFp
bnMgVXNlcm5hbWUgYW5kICAgICAgUGFzc3dvcmQ8L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+IGJl
Zm9yZSByZXRyeWluZyB0aGUKICAgICAgICAgIHJlcXVlc3QuCjwvcD4KPGEgbmFtZT0iYW5jaG9y
MjQiPjwvYT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9
IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQg
Y2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90
cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi42LjEuNiI+PC9hPjxoMz42LjEuNi4mbmJz
cDsKVmVyaWZpY2F0aW9uIFVSTCBSZXNwb25zZSBmcm9tIEF1dGhvcml6YXRpb24gU2VydmVyPC9o
Mz4KCjxwPklmIHRoZSBBdXRob3JpemF0aW9uIFNlcnZlciBkZXRlcm1pbmVzIHRoYXQgdGhlIENs
aWVudCBtYXkgYmUKICAgICAgICAgIG1hbGljaW91cywgdGhlIEF1dGhvcml6YXRpb24gU2VydmVy
IE1BWSByZXF1aXJlIHRoZSBDbGllbnQgdG8KICAgICAgICAgIGluc3RydWN0IHRoZSBVc2VyIHRv
IHZpc2l0IGEgVmVyaWZpY2F0aW9uIFVSTC4gVGhlIEF1dGhvcml6YXRpb24KICAgICAgICAgIFNl
cnZlciBjb21tdW5pY2F0ZXMgaXRzIHJlcXVpcmVtZW50IGJ5IHJlc3BvbmRpbmcgdG8gdGhlIENs
aWVudCdzCiAgICAgICAgICBBY2Nlc3MgVG9rZW4gcmVxdWVzdCB3aXRoIHRoZSBmb2xsb3dpbmc6
CjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAz
ZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4KICBIVFRQIDQwMCBCYWQgUmVxdWVzdAo8L3By
ZT48L2Rpdj4KPHA+YW5kIHRoZSBib2R5IG9mIHRoZSBBdXRob3JpemF0aW9uIFNlcnZlciByZXNw
b25zZSBjb250YWlucyB0aGUKICAgICAgICAgIGZvbGxvd2luZyBwYXJhbWV0ZXI6CjwvcD4KPHA+
PC9wPgo8YmxvY2txdW90ZSBjbGFzcz0idGV4dCI+PGRsPgo8ZHQ+d3JhcF92ZXJpZmljYXRpb25f
dXJsPC9kdD4KPGRkPlJFUVVJUkVELiBUaGUKICAgICAgICAgICAgICB2ZXJpZmljYXRpb24gVVJM
IHRoYXQgdGhlIENsaWVudCBNVVNUIGVpdGhlciBsb2FkIGluIHRoZSBVc2VyJ3MKICAgICAgICAg
ICAgICBicm93c2VyLCBvciBkaXNwbGF5IGZvciB0aGUgVXNlciB0byBlbnRlciBpbnRvIGEgYnJv
d3Nlci4KPC9kZD4KPC9kbD48L2Jsb2NrcXVvdGU+Cgo8cD5UaGUgQ2xpZW50IE1VU1QgdGhlbiB3
YWl0IGZvciB0aGUgVXNlciB0byBpbmRpY2F0ZSB0aGV5IGhhdmUKICAgICAgICAgIHN1Y2Nlc3Nm
dWxseSBjb21wbGV0ZWQgdGhlIHZlcmlmaWNhdGlvbiBwcm9jZXNzIGF0IHRoZSBBdXRob3JpemF0
aW9uCiAgICAgICAgICBTZXJ2ZXIgYW5kIGF0dGVtcHQgdG8gb2J0YWluIGFuIEFjY2VzcyBUb2tl
biBSZWZyZXNoIFRva2VuIHBlciA8YSBjbGFzcz0naW5mbycgaHJlZj0nI3AzLnJlcXVlc3QnPlNl
Y3Rpb24mbmJzcDs2LjEuMzxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5DbGllbnQg
UmVxdWVzdHMgQWNjZXNzIFRva2VuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBhZ2Fpbi4KPC9w
Pgo8YSBuYW1lPSJhbmNob3IyNSI+PC9hPjxiciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5
b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWdu
PSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0Mm
bmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+CjxhIG5hbWU9InJmYy5zZWN0aW9uLjYuMS43Ij48
L2E+PGgzPjYuMS43LiZuYnNwOwpDQVBUQ0hBIFJlc3BvbnNlIGZyb20gQXV0aG9yaXphdGlvbiBT
ZXJ2ZXI8L2gzPgoKPHA+SWYgdGhlIEF1dGhvcml6YXRpb24gU2VydmVyIGRldGVybWluZXMgdGhh
dCB0aGUgQ2xpZW50IG1heSBiZQogICAgICAgICAgbWFsaWNpb3VzLCB0aGUgQXV0aG9yaXphdGlv
biBTZXJ2ZXIgTUFZIHJlcXVpcmUgdGhlIENsaWVudCB0byBoYXZlCiAgICAgICAgICB0aGUgVXNl
ciBzb2x2ZSBhIENBUFRDSEEgUHV6emxlLiBUaGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIKICAgICAg
ICAgIGNvbW11bmljYXRlcyBpdHMgcmVxdWlyZW1lbnQgYnkgcmVzcG9uZGluZyB0byB0aGUgQ2xp
ZW50J3MgQWNjZXNzCiAgICAgICAgICBUb2tlbiByZXF1ZXN0IHdpdGggdGhlIGZvbGxvd2luZzoK
PC9wPjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6IDNl
bTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPgogIEhUVFAgNDAwIEJhZCBSZXF1ZXN0CjwvcHJl
PjwvZGl2Pgo8cD5hbmQgdGhlIGJvZHkgb2YgdGhlIEF1dGhvcml6YXRpb24gU2VydmVyIHJlc3Bv
bnNlIGNvbnRhaW5zIHRoZQogICAgICAgICAgZm9sbG93aW5nIHBhcmFtZXRlcjoKPC9wPgo8cD48
L3A+CjxibG9ja3F1b3RlIGNsYXNzPSJ0ZXh0Ij48ZGw+CjxkdD53cmFwX2NhcHRjaGFfdXJsPC9k
dD4KPGRkPlJFUVVJUkVELiBUaGUgVVJMIHRvCiAgICAgICAgICAgICAgdGhlIENBUFRDSEEgcHV6
emxlIGltYWdlLgo8L2RkPgo8L2RsPjwvYmxvY2txdW90ZT4KCjxwPlRoZSBDbGllbnQgTVVTVCBw
cmVzZW50IHRoZSBVc2VyIHdpdGggdGhlIENBUFRDSEEgcHV6emxlIGFuZAogICAgICAgICAgcHJv
bXB0IGZvciBhIHNvbHV0aW9uLiBUaGUgQ2xpZW50IHRoZW4gTUFZIGF0dGVtcHQgdG8gb2J0YWlu
IGFuCiAgICAgICAgICBBY2Nlc3MgVG9rZW4gcGVyIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjcDMu
cmVxdWVzdCc+U2VjdGlvbiZuYnNwOzYuMS4zPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2lu
Zm8nPkNsaWVudCBSZXF1ZXN0cyBBY2Nlc3MgVG9rZW48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+
IGFnYWluLCBpbmNsdWRpbmcKICAgICAgICAgIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBwYXJh
bWV0ZXI6CjwvcD4KPHA+PC9wPgo8YmxvY2txdW90ZSBjbGFzcz0idGV4dCI+PGRsPgo8ZHQ+d3Jh
cF9jYXB0Y2hhX3VybDwvZHQ+CjxkZD5SRVFVSVJFRC4gVGhlIFVSTCB0bwogICAgICAgICAgICAg
IHRoZSBDQVBUQ0hBIHB1enpsZSByZWNlaXZlZCBmcm9tIHRoZSBBdXRob3JpemF0aW9uIFNlcnZl
ci4KPC9kZD4KPGR0PndyYXBfY2FwdGNoYV9zb2x1dGlvbjwvZHQ+CjxkZD5SRVFVSVJFRC4gVGhl
CiAgICAgICAgICAgICAgc29sdXRpb24gc3RyaW5nIHRvIHRoZSBDQVBUQ0hBIHB1enpsZSBhcyBk
ZWZpbmVkIGJ5IHRoZQogICAgICAgICAgICAgIEF1dGhvcml6YXRpb24gU2VydmVyLgo8L2RkPgo8
L2RsPjwvYmxvY2txdW90ZT4KCjxhIG5hbWU9ImFuY2hvcjI2Ij48L2E+PGJyIC8+PGhyIC8+Cjx0
YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xh
c3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9
IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZj
LnNlY3Rpb24uNi4xLjgiPjwvYT48aDM+Ni4xLjguJm5ic3A7CkNsaWVudCBSZWZyZXNoZXMgQWNj
ZXNzIFRva2VuPC9oMz4KCjxwPlJlZnJlc2hpbmcgYW4gQWNjZXNzIFRva2VuIGlzIHRoZSBzYW1l
IGluIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjcDMnPlNlY3Rpb24mbmJzcDs2LjE8c3Bhbj4gKDwv
c3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+VXNlcm5hbWUgYW5kIFBhc3N3b3JkIFByb2ZpbGU8L3Nw
YW4+PHNwYW4+KTwvc3Bhbj48L2E+LCA8YSBjbGFzcz0naW5mbycgaHJlZj0nI3A0Jz5TZWN0aW9u
Jm5ic3A7Ni4yPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPldlYiBBcHAgUHJvZmls
ZTwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4sIGFuZCA8YSBjbGFzcz0naW5mbycgaHJlZj0nI3A1
Jz5TZWN0aW9uJm5ic3A7Ni4zPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPlJpY2gg
QXBwIFByb2ZpbGU8L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+LiBBdXRob3JpemF0aW9uIFNlcnZl
cnMgU0hPVUxEIGlzc3VlIEFjY2VzcwogICAgICAgICAgVG9rZW5zIHRoYXQgZXhwaXJlIGFuZCBy
ZXF1aXJlIENsaWVudHMgdG8gcmVmcmVzaCB0aGVtLiBVcG9uCiAgICAgICAgICByZWNlaXZpbmcg
dGhlIEhUVFAgNDAxIHJlc3BvbnNlIHdoZW4gYWNjZXNzaW5nIHByb3RlY3RlZCByZXNvdXJjZXMK
ICAgICAgICAgIHBlciA8YSBjbGFzcz0naW5mbycgaHJlZj0nI1Byb3RlY3RlZFJlc291cmNlJz5T
ZWN0aW9uJm5ic3A7NDxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5BY2Nlc3Npbmcg
YSBQcm90ZWN0ZWQgUmVzb3VyY2U8L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+LCB0aGUgQ2xpZW50
IG1ha2VzIGFuCiAgICAgICAgICBIVFRQUyByZXF1ZXN0IHRvIHRoZSBBdXRob3JpemF0aW9uIFNl
cnZlcidzIFJlZnJlc2ggVG9rZW4gVVJMIHVzaW5nCiAgICAgICAgICBQT1NULiBUaGUgcmVxdWVz
dCBjb250YWlucyB0aGUgZm9sbG93aW5nIHBhcmFtZXRlcnM6CjwvcD4KPHA+PC9wPgo8YmxvY2tx
dW90ZSBjbGFzcz0idGV4dCI+PGRsPgo8ZHQ+d3JhcF9yZWZyZXNoX3Rva2VuPC9kdD4KPGRkPlJF
UVVJUkVELiBUaGUgUmVmcmVzaAogICAgICAgICAgICAgIFRva2VuIHRoYXQgd2FzIHJlY2VpdmVk
IGluIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjcDMucmVxdWVzdCc+U2VjdGlvbiZuYnNwOzYuMS4z
PHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPkNsaWVudCBSZXF1ZXN0cyBBY2Nlc3Mg
VG9rZW48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+CjwvZGQ+CjxkdD5BZGRpdGlvbmFsIHBhcmFt
ZXRlcnM6PC9kdD4KPGRkPkFueSBhZGRpdGlvbmFsCiAgICAgICAgICAgICAgcGFyYW1ldGVycywg
YXMgZGVmaW5lZCBieSB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIuCjwvZGQ+CjwvZGw+PC9ibG9j
a3F1b3RlPgoKPGEgbmFtZT0iYW5jaG9yMjciPjwvYT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1h
cnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVn
IiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5i
c3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi42
LjEuOSI+PC9hPjxoMz42LjEuOS4mbmJzcDsKU3VjY2Vzc2Z1bCBBY2Nlc3MgVG9rZW4gUmVmcmVz
aDwvaDM+Cgo8cD5JZiBzdWNjZXNzZnVsLCB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgcmV0dXJu
czoKPC9wPjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6
IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPgogIEhUVFAgMjAwIE9LCjwvcHJlPjwvZGl2
Pgo8cD53aXRoIHRoZSBBY2Nlc3MgVG9rZW4gaW4gdGhlIHJlc3BvbnNlIGJvZHkuIFRoZSByZXNw
b25zZSBib2R5CiAgICAgICAgICBjb250YWlucyB0aGUgZm9sbG93aW5nIHBhcmFtZXRlcnM6Cjwv
cD4KPHA+PC9wPgo8YmxvY2txdW90ZSBjbGFzcz0idGV4dCI+PGRsPgo8ZHQ+d3JhcF9hY2Nlc3Nf
dG9rZW48L2R0Pgo8ZGQ+IFJFUVVJUkVELiBUaGUgQWNjZXNzCiAgICAgICAgICAgICAgVG9rZW4u
CjwvZGQ+CjxkdD53cmFwX2FjY2Vzc190b2tlbl9leHBpcmVzX2luPC9kdD4KPGRkPiBPUFRJT05B
TC4KICAgICAgICAgICAgICBUaGUgbGlmZXRpbWUgb2YgdGhlIEFjY2VzcyBUb2tlbiBpbiBzZWNv
bmRzLiBGb3IgZXhhbXBsZSwgMzYwMAogICAgICAgICAgICAgIHJlcHJlc2VudHMgb25lIGhvdXIu
CjwvZGQ+CjxkdD5BZGRpdGlvbmFsICAgIHBhcmFtZXRlcnM8L2R0Pgo8ZGQ+IEFueSBhZGRpdGlv
bmFsCiAgICAgICAgICAgICAgcGFyYW1ldGVycywgYXMgZGVmaW5lZCBieSB0aGUgQXV0aG9yaXph
dGlvbiBTZXJ2ZXIuCjwvZGQ+CjwvZGw+PC9ibG9ja3F1b3RlPgoKPGEgbmFtZT0iYW5jaG9yMjgi
PjwvYT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAi
IGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xh
c3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48
L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi42LjEuMTAiPjwvYT48aDM+Ni4xLjEwLiZuYnNw
OwpVbnN1Y2Nlc3NmdWwgQWNjZXNzIFRva2VuIFJlZnJlc2g8L2gzPgoKPHA+VGhlIEF1dGhvcml6
YXRpb24gU2VydmVyIE1VU1QgdmVyaWZ5IHRoZSBSZWZyZXNoIFRva2VuLiBJZiB0aGUKICAgICAg
ICAgIHZlcmlmaWNhdGlvbiBmYWlscywgdGhlIEF1dGhvcml6YXRpb24gU2VydmVyIE1VU1QgcmVz
cG9uZCB3aXRoCjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDA7IG1hcmdp
bi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4KICBIVFRQIDQwMSBVbmF1dGhv
cml6ZWQKPC9wcmU+PC9kaXY+CjxwPmFuZCB0aGUgSFRUUCBoZWFkZXI6CjwvcD48ZGl2IHN0eWxl
PSdkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdo
dDogYXV0byc+PHByZT4KICBXV1ctQXV0aGVudGljYXRlOiBXUkFQCjwvcHJlPjwvZGl2Pgo8cD5U
aGUgQ2xpZW50IE1VU1QgYWdhaW4gcmVxdWVzdCBhdXRob3JpemF0aW9uIGZyb20gdGhlIFVzZXIg
YnkKICAgICAgICAgIHByb21wdGluZyBmb3IgdGhlIFVzZXIncyB1c2VybmFtZSBhbmQgcGFzc3dv
cmQgcGVyIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjcDMucGFzc3dvcmQnPlNlY3Rpb24mbmJzcDs2
LjEuMjxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5DbGllbnQgT2J0YWlucyBVc2Vy
bmFtZSBhbmQgICAgICBQYXNzd29yZDwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gYmVmb3JlIHJl
dHJ5aW5nIHRoZSByZXF1ZXN0Lgo8L3A+CjxhIG5hbWU9InA0Ij48L2E+PGJyIC8+PGhyIC8+Cjx0
YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xh
c3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9
IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZj
LnNlY3Rpb24uNi4yIj48L2E+PGgzPjYuMi4mbmJzcDsKV2ViIEFwcCBQcm9maWxlPC9oMz4KCjxw
PlRoaXMgcHJvZmlsZSBpcyBzdWl0YWJsZSB3aGVuIHRoZSBDbGllbnQgaXMgYSB3ZWIgYXBwbGlj
YXRpb24KICAgICAgICBjYWxsaW5nIHRoZSBQcm90ZWN0ZWQgUmVzb3VyY2Ugb24gYmVoYWxmIG9m
IGEgVXNlci4gVGhpcyBwcm9maWxlCiAgICAgICAgZW5hYmxlcyBhIENsaWVudCB0byBhY3Qgb24g
YmVoYWxmIG9mIHRoZSBVc2VyIHdpdGhvdXQgYWNxdWlyaW5nIGEKICAgICAgICBVc2VyJ3MgY3Jl
ZGVudGlhbHMuCjwvcD4KPGEgbmFtZT0iYW5jaG9yMjkiPjwvYT48YnIgLz48aHIgLz4KPHRhYmxl
IHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0i
VE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3Rv
YyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2Vj
dGlvbi42LjIuMSI+PC9hPjxoMz42LjIuMS4mbmJzcDsKUHJvdmlzaW9uaW5nPC9oMz4KCjxwPlBy
aW9yIHRvIGluaXRpYXRpbmcgdGhpcyBwcm90b2NvbCBwcm9maWxlLCB0aGUgQ2xpZW50IE1VU1Qg
aGF2ZQogICAgICAgICAgb2J0YWluZWQgYSBDbGllbnQgSWRlbnRpZmllciBhbmQgQ2xpZW50IFNl
Y3JldCBmcm9tIHRoZQogICAgICAgICAgQXV0aG9yaXphdGlvbiBTZXJ2ZXIuIFRoZSBBdXRob3Jp
emF0aW9uIFNlcnZlciBNQVkgaGF2ZSBhbHNvCiAgICAgICAgICByZXF1aXJlZCB0aGUgQ2xpZW50
IHRvIHJlZ2lzdGVyIHRoZSBDYWxsYmFjayBVUkwuCjwvcD4KPGEgbmFtZT0icDQuYXV0aG9yaXph
dGlvbiI+PC9hPjxiciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGlu
Zz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0
ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48
L3RyPjwvdGFibGU+CjxhIG5hbWU9InJmYy5zZWN0aW9uLjYuMi4yIj48L2E+PGgzPjYuMi4yLiZu
YnNwOwpDbGllbnQgRGlyZWN0cyB0aGUgVXNlciB0byB0aGUgICAgICBBdXRob3JpemF0aW9uIFNl
cnZlcjwvaDM+Cgo8cD5UaGUgQ2xpZW50IGluaXRpYXRlcyBhbiBhdXRob3JpemF0aW9uIHJlcXVl
c3QgYnkgcmVkaXJlY3RpbmcgdGhlCiAgICAgICAgICBVc2VyJ3MgYnJvd3NlciB0byB0aGUgQXV0
aG9yaXphdGlvbiBTZXJ2ZXIncyBVc2VyIEF1dGhvcml6YXRpb24gVVJMLAogICAgICAgICAgd2l0
aCB0aGUgZm9sbG93aW5nIHBhcmFtZXRlcnM6CjwvcD4KPHA+PC9wPgo8YmxvY2txdW90ZSBjbGFz
cz0idGV4dCI+PGRsPgo8ZHQ+d3JhcF9jbGllbnRfaWQ8L2R0Pgo8ZGQ+IFJFUVVJUkVELiBUaGUg
Q2xpZW50CiAgICAgICAgICAgICAgSWRlbnRpZmllci4KPC9kZD4KPGR0PndyYXBfY2FsbGJhY2sg
ICAgPC9kdD4KPGRkPiBSRVFVSVJFRC4gVGhlCiAgICAgICAgICAgICAgQ2FsbGJhY2sgVVJMLiBB
biBhYnNvbHV0ZSBVUkwgdG8gd2hpY2ggdGhlIEF1dGhvcml6YXRpb24gU2VydmVyCiAgICAgICAg
ICAgICAgd2lsbCByZWRpcmVjdCB0aGUgVXNlciBiYWNrIGFmdGVyIHRoZSBVc2VyIGhhcyBhcHBy
b3ZlZCB0aGUKICAgICAgICAgICAgICBhdXRob3JpemF0aW9uIHJlcXVlc3QuIEF1dGhvcml6YXRp
b24gU2VydmVycyBNQVkgcmVxdWlyZSB0aGF0CiAgICAgICAgICAgICAgdGhlIHdyYXBfY2FsbGJh
Y2sgVVJMIG1hdGNoIHRoZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgdmFsdWUgZm9yCiAgICAgICAg
ICAgICAgdGhlIENsaWVudCBJZGVudGlmaWVyLgo8L2RkPgo8ZHQ+d3JhcF9jbGllbnRfc3RhdGU8
L2R0Pgo8ZGQ+T1BUSU9OQUwuIEFuIG9wYXF1ZQogICAgICAgICAgICAgIHZhbHVlIHRoYXQgQ2xp
ZW50cyBjYW4gdXNlIHRvIG1haW50YWluIHN0YXRlIGFzc29jaWF0ZWQgd2l0aAogICAgICAgICAg
ICAgIHRoaXMgcmVxdWVzdC4gSWYgdGhpcyB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgQXV0aG9yaXph
dGlvbiBTZXJ2ZXIKICAgICAgICAgICAgICBNVVNUIHJldHVybiBpdCB0byB0aGUgQ2xpZW50J3Mg
Q2FsbGJhY2sgVVJMLgo8L2RkPgo8ZHQ+d3JhcF9zY29wZTwvZHQ+CjxkZD4gT1BUSU9OQUwuIFRo
ZSBBdXRob3JpemF0aW9uCiAgICAgICAgICAgICAgU2VydmVyIE1BWSBkZWZpbmUgYXV0aG9yaXph
dGlvbiBzY29wZSB2YWx1ZXMgZm9yIHRoZSBDbGllbnQgdG8KICAgICAgICAgICAgICBpbmNsdWRl
Lgo8L2RkPgo8ZHQ+QWRkaXRpb25hbCBwYXJhbWV0ZXJzPC9kdD4KPGRkPiBBbnkgYWRkaXRpb25h
bAogICAgICAgICAgICAgIHBhcmFtZXRlcnMsIGFzIGRlZmluZWQgYnkgdGhlIEF1dGhvcml6YXRp
b24gU2VydmVyLgo8L2RkPgo8L2RsPjwvYmxvY2txdW90ZT4KCjxhIG5hbWU9ImFuY2hvcjMwIj48
L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBj
ZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNz
PSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90
YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uNi4yLjMiPjwvYT48aDM+Ni4yLjMuJm5ic3A7CkF1
dGhvcml6YXRpb24gU2VydmVyIENvbmZpcm1zIEF1dGhvcml6YXRpb24gUmVxdWVzdCB3aXRoIFVz
ZXI8L2gzPgoKPHA+VXBvbiByZWNlaXZpbmcgYW4gYXV0aG9yaXphdGlvbiByZXF1ZXN0IGZyb20g
dGhlIENsaWVudCBieSBhCiAgICAgICAgICByZWRpcmVjdGlvbiBvZiB0aGUgVXNlcidzIGJyb3dz
ZXIsIHRoZSBBdXRob3JpemF0aW9uIFNlcnZlcgogICAgICAgICAgYXV0aGVudGljYXRlcyB0aGUg
dXNlciwgcHJlc2VudHMgdGhlIFVzZXIgd2l0aCB0aGUgUHJvdGVjdGVkCiAgICAgICAgICBSZXNv
dXJjZSBhY2Nlc3MgdGhhdCB3aWxsIGJlIGdyYW50ZWQgdG8gdGhlIENsaWVudCwgYW5kIHByb21w
dHMgdGhlCiAgICAgICAgICBVc2VyIHRvIGNvbmZpcm0gdGhlIHJlcXVlc3QuCjwvcD4KPHA+SWYg
dGhlIFVzZXIgZGVuaWVzIHRoZSByZXF1ZXN0LCB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTUFZ
CiAgICAgICAgICBhbGxvdyB0aGUgVXNlciB0byByZXR1cm4gdG8gdGhlIENsaWVudCBDYWxsYmFj
ayBVUkwgd2l0aCB0aGUKICAgICAgICAgIGZvbGxvd2luZyBwYXJhbWV0ZXJzIGFkZGVkOgo8L3A+
CjxwPjwvcD4KPGJsb2NrcXVvdGUgY2xhc3M9InRleHQiPjxkbD4KPGR0PndyYXBfZXJyb3JfcmVh
c29uPC9kdD4KPGRkPiBSRVFVSVJFRC4gVmFsdWUgaXMKICAgICAgICAgICAgICB1c2VyX2Rlbmll
ZAo8L2RkPgo8ZHQ+d3JhcF9jbGllbnRfc3RhdGU8L2R0Pgo8ZGQ+IFJFUVVJUkVEIGlmIHRoZQog
ICAgICAgICAgICAgIENsaWVudCBzZW50IHRoZSB2YWx1ZSBpbiB0aGUgYXV0aG9yaXphdGlvbiBy
ZXF1ZXN0IGluIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjcDQuYXV0aG9yaXphdGlvbic+U2VjdGlv
biZuYnNwOzYuMi4yPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPkNsaWVudCBEaXJl
Y3RzIHRoZSBVc2VyIHRvIHRoZSAgICAgIEF1dGhvcml6YXRpb24gU2VydmVyPC9zcGFuPjxzcGFu
Pik8L3NwYW4+PC9hPgo8L2RkPgo8L2RsPjwvYmxvY2txdW90ZT4KCjxwPklmIHRoZSBVc2VyIGFw
cHJvdmVzIHRoZSByZXF1ZXN0LCB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIKICAgICAgICAgIGdl
bmVyYXRlcyBhIFZlcmlmaWNhdGlvbiBDb2RlIGFuZCBhc3NvY2lhdGVzIGl0IHdpdGggdGhlIENs
aWVudAogICAgICAgICAgSWRlbnRpZmllciBhbmQgQ2FsbGJhY2sgVVJMLgo8L3A+CjxhIG5hbWU9
ImFuY2hvcjMxIj48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxw
YWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48
dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48
L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uNi4yLjQiPjwvYT48aDM+Ni4y
LjQuJm5ic3A7CkF1dGhvcml6YXRpb24gU2VydmVyIERpcmVjdHMgVXNlciBiYWNrIHRvIHRoZSBD
bGllbnQ8L2gzPgoKPHA+SWYgdGhlIFVzZXIgYXBwcm92ZWQgdGhlIHJlcXVlc3QsIHRoZSBBdXRo
b3JpemF0aW9uIFNlcnZlciBNVVNUCiAgICAgICAgICByZWRpcmVjdCB0aGUgVXNlciBiYWNrIHRv
IHRoZSBDYWxsYmFjayBVUkwsIHdpdGggdGhlIGZvbGxvd2luZwogICAgICAgICAgcGFyYW1ldGVy
cyBhZGRlZDoKPC9wPgo8cD48L3A+CjxibG9ja3F1b3RlIGNsYXNzPSJ0ZXh0Ij48ZGw+CjxkdD53
cmFwX3ZlcmlmaWNhdGlvbl9jb2RlPC9kdD4KPGRkPiBSRVFVSVJFRC4gVGhlCiAgICAgICAgICAg
ICAgVmVyaWZpY2F0aW9uIENvZGUuCjwvZGQ+CjxkdD53cmFwX2NsaWVudF9zdGF0ZTwvZHQ+Cjxk
ZD4gUkVRVUlSRUQgaWYgdGhlCiAgICAgICAgICAgICAgQ2xpZW50IHNlbnQgdGhlIHZhbHVlIGlu
IHRoZSBhdXRob3JpemF0aW9uIHJlcXVlc3QgaW4gPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNwNC5h
dXRob3JpemF0aW9uJz5TZWN0aW9uJm5ic3A7Ni4yLjI8c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFz
cz0naW5mbyc+Q2xpZW50IERpcmVjdHMgdGhlIFVzZXIgdG8gdGhlICAgICAgQXV0aG9yaXphdGlv
biBTZXJ2ZXI8L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+CjwvZGQ+CjxkdD5BZGRpdGlvbmFsICAg
IHBhcmFtZXRlcnM6PC9kdD4KPGRkPkFueSBhZGRpdGlvbmFsCiAgICAgICAgICAgICAgcGFyYW1l
dGVycywgYXMgZGVmaW5lZCBieSB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIuCjwvZGQ+CjwvZGw+
PC9ibG9ja3F1b3RlPgoKPGEgbmFtZT0icDQucmVxdWVzdCI+PC9hPjxiciAvPjxociAvPgo8dGFi
bGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNz
PSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIj
dG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+CjxhIG5hbWU9InJmYy5z
ZWN0aW9uLjYuMi41Ij48L2E+PGgzPjYuMi41LiZuYnNwOwpDbGllbnQgUmVxdWVzdHMgQWNjZXNz
IFRva2VuPC9oMz4KCjxwPlRoZSBDbGllbnQgbWFrZXMgYW4gSFRUUFMgcmVxdWVzdCB0byB0aGUg
QXV0aG9yaXphdGlvbiBTZXJ2ZXIncwogICAgICAgICAgQWNjZXNzIFRva2VuIFVSTCwgdXNpbmcg
UE9TVC4gVGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIGZvbGxvd2luZwogICAgICAgICAgcGFyYW1l
dGVycyBpbiB0aGUgYm9keSBvZiB0aGUgcmVxdWVzdDoKPC9wPgo8cD48L3A+CjxibG9ja3F1b3Rl
IGNsYXNzPSJ0ZXh0Ij48ZGw+CjxkdD53cmFwX2NsaWVudF9pZDwvZHQ+CjxkZD4gUkVRVUlSRUQu
IFRoZSBDbGllbnQKICAgICAgICAgICAgICBJZGVudGlmaWVyCjwvZGQ+CjxkdD53cmFwX2NsaWVu
dF9zZWNyZXQ8L2R0Pgo8ZGQ+UkVRVUlSRUQuIFRoZSBDbGllbnQKICAgICAgICAgICAgICBTZWNy
ZXQKPC9kZD4KPGR0PndyYXBfdmVyaWZpY2F0aW9uX2NvZGU8L2R0Pgo8ZGQ+IFJFUVVJUkVELiBU
aGUKICAgICAgICAgICAgICBWZXJpZmljYXRpb24gQ29kZS4KPC9kZD4KPGR0PndyYXBfY2FsbGJh
Y2s8L2R0Pgo8ZGQ+IFJFUVVJUkVELiBUaGUgQ2FsbGJhY2sKICAgICAgICAgICAgICBVUkwgdXNl
ZCB0byBvYnRhaW4gdGhlIFZlcmlmaWNhdGlvbiBDb2RlLgo8L2RkPgo8ZHQ+QWRkaXRpb25hbCBw
YXJhbWV0ZXJzOjwvZHQ+CjxkZD5BbnkgYWRkaXRpb25hbAogICAgICAgICAgICAgIHBhcmFtZXRl
cnMsIGFzIGRlZmluZWQgYnkgdGhlIEF1dGhvcml6YXRpb24gU2VydmVyLgo8L2RkPgo8L2RsPjwv
YmxvY2txdW90ZT4KCjxhIG5hbWU9ImFuY2hvcjMyIj48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBz
dW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRP
Q2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2Mi
PiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rp
b24uNi4yLjYiPjwvYT48aDM+Ni4yLjYuJm5ic3A7ClN1Y2Nlc3NmdWwgQWNjZXNzIFRva2VuIFJl
c3BvbnNlIGZyb20gQXV0aG9yaXphdGlvbiBTZXJ2ZXI8L2gzPgoKPHA+QWZ0ZXIgcmVjZWl2aW5n
IHRoZSBBY2Nlc3MgVG9rZW4gcmVxdWVzdCwgdGhlIEF1dGhvcml6YXRpb24KICAgICAgICAgIFNl
cnZlciB2ZXJpZmllcyB0aGUgcmVxdWVzdCBhcyBmb2xsb3dzOgo8L3A+CjxwPjwvcD4KPGJsb2Nr
cXVvdGUgY2xhc3M9InRleHQiPgo8cD50aGUgQ2xpZW50IFNlY3JldCBNVVNUIG1hdGNoIHRoZSBD
bGllbnQgSWRlbnRpZmVyCjwvcD4KPHA+dGhlIENsaWVudCBJZGVudGlmaWVyIE1VU1QgbWF0Y2gg
dGhlIENsaWVudCBJZGVudGlmaWVyIGZyb20KICAgICAgICAgICAgICB0aGUgYXV0aG9yaXphdGlv
biByZWRpcmVjdAo8L3A+CjxwPnRoZSBWZXJpZmljYXRpb24gQ29kZSBNVVNUIG1hdGNoIHRoZSBD
bGllbnQgSWRlbnRpZmllciBmcm9tCiAgICAgICAgICAgICAgdGhlIGF1dGhvcml6YXRpb24gcmVk
aXJlY3QKPC9wPgo8cD50aGUgQ2FsbGJhY2sgVVJMIE1VU1QgbWF0Y2ggdGhlIENhbGxiYWNrIFVS
TCBmcm9tIHRoZQogICAgICAgICAgICAgIGF1dGhvcml6YXRpb24gcmVkaXJlY3QKPC9wPgo8cD5p
ZiB0aGUgQ2FsbGJhY2sgVVJMIG9yIENhbGxiYWNrIFVSTCBwYXR0ZXJuIHdhcyByZWdpc3RlcmVk
CiAgICAgICAgICAgICAgd2l0aCB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIsIHRoZSBDYWxsYmFj
ayBVUkwgTVVTVCBtYXRjaCB0aGUKICAgICAgICAgICAgICBDYWxsYmFjayBVUkwgb3IgQ2FsbGJh
Y2sgVVJMIHBhdHRlcm4gYXMgZGVmaW5lZCBieSB0aGUKICAgICAgICAgICAgICBBdXRob3JpemF0
aW9uIFNlcnZlcgo8L3A+CjxwPnRoZSBWZXJpZmljYXRpb24gQ29kZSBNVVNUIG5vdCBoYXZlIGV4
cGlyZWQKPC9wPgo8L2Jsb2NrcXVvdGU+Cgo8cD5UaGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTUFZ
IGFsc28gcmVxdWlyZSB0aGF0IGEgVmVyaWZpY2F0aW9uCiAgICAgICAgICBDb2RlIGlzIG5vdCBy
ZXVzZWQuCjwvcD4KPHA+SWYgdmVyaWZpY2F0aW9uIGlzIHN1Y2Nlc3NmdWwsIHRoZSBBdXRob3Jp
emF0aW9uIFNlcnZlcgogICAgICAgICAgcmV0dXJuczoKPC9wPjxkaXYgc3R5bGU9J2Rpc3BsYXk6
IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48
cHJlPgogIEhUVFAgMjAwIE9LCjwvcHJlPjwvZGl2Pgo8cD53aXRoIHRoZSBSZWZyZXNoIFRva2Vu
IGFuZCB0aGUgQWNjZXNzIFRva2VuIGluIHRoZSByZXNwb25zZSBib2R5LgogICAgICAgICAgVGhl
IHJlc3BvbnNlIGJvZHkgY29udGFpbnMgdGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzOgo8L3A+Cjxw
PjwvcD4KPGJsb2NrcXVvdGUgY2xhc3M9InRleHQiPjxkbD4KPGR0PndyYXBfcmVmcmVzaF90b2tl
bjwvZHQ+CjxkZD4gUkVRVUlSRUQuIFRoZQogICAgICAgICAgICAgIFJlZnJlc2ggVG9rZW4uCjwv
ZGQ+CjxkdD53cmFwX2FjY2Vzc190b2tlbjwvZHQ+CjxkZD4gUkVRVUlSRUQuIFRoZSBBY2Nlc3MK
ICAgICAgICAgICAgICBUb2tlbi4KPC9kZD4KPGR0PndyYXBfYWNjZXNzX3Rva2VuX2V4cGlyZXNf
aW48L2R0Pgo8ZGQ+IE9QVElPTkFMLgogICAgICAgICAgICAgIFRoZSBsaWZldGltZSBvZiB0aGUg
QWNjZXNzIFRva2VuIGluIHNlY29uZHMuIEZvciBleGFtcGxlLCAzNjAwCiAgICAgICAgICAgICAg
cmVwcmVzZW50cyBvbmUgaG91ci4KPC9kZD4KPGR0PkFkZGl0aW9uYWwgcGFyYW1ldGVyczwvZHQ+
CjxkZD4gQW55IGFkZGl0aW9uYWwKICAgICAgICAgICAgICBwYXJhbWV0ZXJzLCBhcyBkZWZpbmVk
IGJ5IHRoZSBBdXRob3JpemF0aW9uIFNlcnZlci4KPC9kZD4KPC9kbD48L2Jsb2NrcXVvdGU+Cgo8
cD5UaGUgQ2xpZW50IHNlY3VyZWx5IHN0b3JlcyB0aGUgUmVmcmVzaCBUb2tlbiBmb3IgbGF0ZXIg
dXNlLiBUaGUKICAgICAgICAgIENsaWVudCBtYXkgbm93IHVzZSB0aGUgQWNjZXNzIFRva2VuIHRv
IGFjY2VzcyB0aGUgUHJvdGVjdGVkIFJlc291cmNlCiAgICAgICAgICBwZXIgPGEgY2xhc3M9J2lu
Zm8nIGhyZWY9JyNQcm90ZWN0ZWRSZXNvdXJjZSc+U2VjdGlvbiZuYnNwOzQ8c3Bhbj4gKDwvc3Bh
bj48c3BhbiBjbGFzcz0naW5mbyc+QWNjZXNzaW5nIGEgUHJvdGVjdGVkIFJlc291cmNlPC9zcGFu
PjxzcGFuPik8L3NwYW4+PC9hPi4KPC9wPgo8YSBuYW1lPSJhbmNob3IzMyI+PC9hPjxiciAvPjxo
ciAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9
IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48
YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+CjxhIG5h
bWU9InJmYy5zZWN0aW9uLjYuMi43Ij48L2E+PGgzPjYuMi43LiZuYnNwOwpVbnN1Y2Nlc3NmdWwg
QWNjZXNzIFRva2VuIFJlc3BvbnNlIGZyb20gQXV0aG9yaXphdGlvbiBTZXJ2ZXI8L2gzPgoKPHA+
VGhlIEF1dGhvcml6YXRpb24gU2VydmVyIE1VU1QgZmlyc3QgdmVyaWZ5IHRoZSBDbGllbnQgSWRl
bnRpZmllcgogICAgICAgICAgYW5kIENsaWVudCBTZWNyZXQuIElmIHRoZXkgYXJlIGludmFsaWQs
IHRoZSBBdXRob3JpemF0aW9uIFNlcnZlcgogICAgICAgICAgTVVTVCByZXNwb25kIHdpdGg6Cjwv
cD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07
IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4KICBIVFRQIDQwMSBVbmF1dGhvcml6ZWQKPC9wcmU+
PC9kaXY+CjxwPmFuZCB0aGUgSFRUUCBoZWFkZXI6CjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0
YWJsZTsgd2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHBy
ZT4KICBXV1ctQXV0aGVudGljYXRlOiBXUkFQCjwvcHJlPjwvZGl2Pgo8cD5UaGUgQ2xpZW50IE1V
U1Qgb2J0YWluIGEgdmFsaWQgQ2xpZW50IElkZW50aWZpZXIgYW5kIENsaWVudAogICAgICAgICAg
U2VjcmV0IGJlZm9yZSByZXRyeWluZyB0aGUgcmVxdWVzdC4KPC9wPgo8cD5UaGUgQXV0aG9yaXph
dGlvbiBTZXJ2ZXIgTVVTVCB0aGVuIHZlcmlmeSB0aGF0IHRoZSBDYWxsYmFjayBVUkwKICAgICAg
ICAgIGFuZCBWZXJpZmljYXRpb24gQ29kZSBhcmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBDbGllbnQg
SWRlbnRpZmllci4gSWYKICAgICAgICAgIHRoZSB2ZXJpZmljYXRpb24gZmFpbHMsIHRoZSBBdXRo
b3JpemF0aW9uIFNlcnZlciBNVVNUIHJlc3BvbmQKICAgICAgICAgIHdpdGg6CjwvcD48ZGl2IHN0
eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1y
aWdodDogYXV0byc+PHByZT4KICBIVFRQIDQwMCBCYWQgUmVxdWVzdAo8L3ByZT48L2Rpdj4KPHA+
YW5kIHRoZSBib2R5IG9mIHRoZSBBdXRob3JpemF0aW9uIFNlcnZlciByZXNwb25zZSBjb250YWlu
cyB0aGUKICAgICAgICAgIGZvbGxvd2luZyBwYXJhbWV0ZXJzOgo8L3A+CjxwPjwvcD4KPGJsb2Nr
cXVvdGUgY2xhc3M9InRleHQiPjxkbD4KPGR0PndyYXBfZXJyb3JfcmVhc29uPC9kdD4KPGRkPk9Q
VElPTkFMLiBJZiBhbGwgdGhlCiAgICAgICAgICAgICAgcGFyYW1ldGVycyBhcmUgdmFsaWQgZXhj
ZXB0IHRoYXQgdGhlIFZlcmlmaWNhdGlvbiBDb2RlIGhhcwogICAgICAgICAgICAgIGV4cGlyZWQg
b3IgYmVlbiByZXZva2VkLCB0aGVuIGl0IGlzIFJFQ09NTUVOREVEIHRoYXQgdGhpcwogICAgICAg
ICAgICAgIHBhcmFtZXRlciBiZSBpbmNsdWRlZCBhbmQgaWYgc28sIHRoZW4gdGhlIHZhbHVlIE1V
U1QgYmU6CjwvZGQ+CjxkdD48L2R0Pgo8ZGQ+PGRpdiBzdHlsZT0nZGlzcGxheTogdGFibGU7IHdp
ZHRoOiAwOyBtYXJnaW4tbGVmdDogM2VtOyBtYXJnaW4tcmlnaHQ6IGF1dG8nPjxwcmU+CiBleHBp
cmVkX3ZlcmlmaWNhdGlvbl9jb2RlCjwvcHJlPjwvZGl2Pgo8L2RkPgo8ZHQ+PC9kdD4KPGRkPlRo
aXMgZW5hYmxlcyB0aGUgQ2xpZW50IHRvIGRldGVjdCBpdCBuZWVkcyBhIG5ldyBWZXJpZmljYXRp
b24KICAgICAgICAgICAgICBDb2RlIGFuZCB0byBkaXJlY3QgdGhlIFVzZXIgdG8gdGhlIEF1dGhv
cml6YXRpb24gU2VydmVyIHBlcgogICAgICAgICAgICAgIDxhIGNsYXNzPSdpbmZvJyBocmVmPScj
cDQuYXV0aG9yaXphdGlvbic+U2VjdGlvbiZuYnNwOzYuMi4yPHNwYW4+ICg8L3NwYW4+PHNwYW4g
Y2xhc3M9J2luZm8nPkNsaWVudCBEaXJlY3RzIHRoZSBVc2VyIHRvIHRoZSAgICAgIEF1dGhvcml6
YXRpb24gU2VydmVyPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPgo8L2RkPgo8ZHQ+PC9kdD4KPGRk
PklmIHRoZSBDYWxsYmFjayBVUkwgaXMgaW52YWxpZCwgdGhlIHZhbHVlIE1VU1QgYmU6CjwvZGQ+
CjxkdD48L2R0Pgo8ZGQ+PGRpdiBzdHlsZT0nZGlzcGxheTogdGFibGU7IHdpZHRoOiAwOyBtYXJn
aW4tbGVmdDogM2VtOyBtYXJnaW4tcmlnaHQ6IGF1dG8nPjxwcmU+CiBpbnZhbGlkX2NhbGxiYWNr
CjwvcHJlPjwvZGl2Pgo8L2RkPgo8ZHQ+QWRkaXRpb25hbCBwYXJhbWV0ZXJzPC9kdD4KPGRkPiBB
bnkgYWRkaXRpb25hbAogICAgICAgICAgICAgIHBhcmFtZXRlcnMsIGFzIGRlZmluZWQgYnkgdGhl
IEF1dGhvcml6YXRpb24gU2VydmVyLgo8L2RkPgo8L2RsPjwvYmxvY2txdW90ZT4KCjxhIG5hbWU9
ImFuY2hvcjM0Ij48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxw
YWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48
dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48
L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uNi4yLjgiPjwvYT48aDM+Ni4y
LjguJm5ic3A7CkNsaWVudCBSZWZyZXNoZXMgQWNjZXNzIFRva2VuPC9oMz4KCjxwPlJlZnJlc2hp
bmcgYW4gQWNjZXNzIFRva2VuIGlzIHRoZSBzYW1lIGluIDxhIGNsYXNzPSdpbmZvJyBocmVmPScj
cDMnPlNlY3Rpb24mbmJzcDs2LjE8c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+VXNl
cm5hbWUgYW5kIFBhc3N3b3JkIFByb2ZpbGU8L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+LCA8YSBj
bGFzcz0naW5mbycgaHJlZj0nI3A0Jz5TZWN0aW9uJm5ic3A7Ni4yPHNwYW4+ICg8L3NwYW4+PHNw
YW4gY2xhc3M9J2luZm8nPldlYiBBcHAgUHJvZmlsZTwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4s
IGFuZCA8YSBjbGFzcz0naW5mbycgaHJlZj0nI3A1Jz5TZWN0aW9uJm5ic3A7Ni4zPHNwYW4+ICg8
L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPlJpY2ggQXBwIFByb2ZpbGU8L3NwYW4+PHNwYW4+KTwv
c3Bhbj48L2E+LiBBdXRob3JpemF0aW9uIFNlcnZlcnMgU0hPVUxEIGlzc3VlIEFjY2VzcwogICAg
ICAgICAgVG9rZW5zIHRoYXQgZXhwaXJlIGFuZCByZXF1aXJlIENsaWVudHMgdG8gcmVmcmVzaCB0
aGVtLiBVcG9uCiAgICAgICAgICByZWNlaXZpbmcgdGhlIEhUVFAgNDAxIHJlc3BvbnNlIHdoZW4g
YWNjZXNzaW5nIHByb3RlY3RlZCByZXNvdXJjZXMKICAgICAgICAgIHBlciA8YSBjbGFzcz0naW5m
bycgaHJlZj0nI1Byb3RlY3RlZFJlc291cmNlJz5TZWN0aW9uJm5ic3A7NDxzcGFuPiAoPC9zcGFu
PjxzcGFuIGNsYXNzPSdpbmZvJz5BY2Nlc3NpbmcgYSBQcm90ZWN0ZWQgUmVzb3VyY2U8L3NwYW4+
PHNwYW4+KTwvc3Bhbj48L2E+LCB0aGUgQ2xpZW50IG1ha2VzIGFuCiAgICAgICAgICBIVFRQUyBy
ZXF1ZXN0IHRvIHRoZSBBdXRob3JpemF0aW9uIFNlcnZlcidzIFJlZnJlc2ggVG9rZW4gVVJMIHVz
aW5nCiAgICAgICAgICBQT1NULiBUaGUgcmVxdWVzdCBjb250YWlucyB0aGUgZm9sbG93aW5nIHBh
cmFtZXRlcnM6CjwvcD4KPHA+PC9wPgo8YmxvY2txdW90ZSBjbGFzcz0idGV4dCI+PGRsPgo8ZHQ+
d3JhcF9yZWZyZXNoX3Rva2VuPC9kdD4KPGRkPlJFUVVJUkVELiBUaGUgUmVmcmVzaAogICAgICAg
ICAgICAgIFRva2VuIHRoYXQgd2FzIHJlY2VpdmVkIGluIDxhIGNsYXNzPSdpbmZvJyBocmVmPScj
cDQucmVxdWVzdCc+U2VjdGlvbiZuYnNwOzYuMi41PHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9
J2luZm8nPkNsaWVudCBSZXF1ZXN0cyBBY2Nlc3MgVG9rZW48L3NwYW4+PHNwYW4+KTwvc3Bhbj48
L2E+CjwvZGQ+CjxkdD5BZGRpdGlvbmFsIHBhcmFtZXRlcnM6PC9kdD4KPGRkPkFueSBhZGRpdGlv
bmFsCiAgICAgICAgICAgICAgcGFyYW1ldGVycywgYXMgZGVmaW5lZCBieSB0aGUgQXV0aG9yaXph
dGlvbiBTZXJ2ZXIuCjwvZGQ+CjwvZGw+PC9ibG9ja3F1b3RlPgoKPGEgbmFtZT0iYW5jaG9yMzUi
PjwvYT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAi
IGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xh
c3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48
L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi42LjIuOSI+PC9hPjxoMz42LjIuOS4mbmJzcDsK
U3VjY2Vzc2Z1bCBBY2Nlc3MgVG9rZW4gUmVmcmVzaDwvaDM+Cgo8cD5JZiBzdWNjZXNzZnVsLCB0
aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgcmV0dXJuczoKPC9wPjxkaXYgc3R5bGU9J2Rpc3BsYXk6
IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48
cHJlPgogIEhUVFAgMjAwIE9LCjwvcHJlPjwvZGl2Pgo8cD53aXRoIHRoZSBBY2Nlc3MgVG9rZW4g
aW4gdGhlIHJlc3BvbnNlIGJvZHkuIFRoZSByZXNwb25zZSBib2R5CiAgICAgICAgICBjb250YWlu
cyB0aGUgZm9sbG93aW5nIHBhcmFtZXRlcnM6CjwvcD4KPHA+PC9wPgo8YmxvY2txdW90ZSBjbGFz
cz0idGV4dCI+PGRsPgo8ZHQ+d3JhcF9hY2Nlc3NfdG9rZW48L2R0Pgo8ZGQ+IFJFUVVJUkVELiBU
aGUgQWNjZXNzCiAgICAgICAgICAgICAgVG9rZW4uCjwvZGQ+CjxkdD53cmFwX2FjY2Vzc190b2tl
bl9leHBpcmVzX2luPC9kdD4KPGRkPiBPUFRJT05BTC4KICAgICAgICAgICAgICBUaGUgbGlmZXRp
bWUgb2YgdGhlIEFjY2VzcyBUb2tlbiBpbiBzZWNvbmRzLiBGb3IgZXhhbXBsZSwgMzYwMAogICAg
ICAgICAgICAgIHJlcHJlc2VudHMgb25lIGhvdXIuCjwvZGQ+CjxkdD5BZGRpdGlvbmFsICAgIHBh
cmFtZXRlcnM8L2R0Pgo8ZGQ+IEFueSBhZGRpdGlvbmFsCiAgICAgICAgICAgICAgcGFyYW1ldGVy
cywgYXMgZGVmaW5lZCBieSB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIuCjwvZGQ+CjwvZGw+PC9i
bG9ja3F1b3RlPgoKPGEgbmFtZT0iYW5jaG9yMzYiPjwvYT48YnIgLz48aHIgLz4KPHRhYmxlIHN1
bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9D
YnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+
Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlv
bi42LjIuMTAiPjwvYT48aDM+Ni4yLjEwLiZuYnNwOwpVbnN1Y2Nlc3NmdWwgQWNjZXNzIFRva2Vu
IFJlZnJlc2g8L2gzPgoKPHA+VGhlIEF1dGhvcml6YXRpb24gU2VydmVyIE1VU1QgdmVyaWZ5IHRo
ZSBSZWZyZXNoIFRva2VuLiBJZiB0aGUKICAgICAgICAgIHZlcmlmaWNhdGlvbiBmYWlscywgdGhl
IEF1dGhvcml6YXRpb24gU2VydmVyIE1VU1QgcmVzcG9uZCB3aXRoCjwvcD48ZGl2IHN0eWxlPSdk
aXNwbGF5OiB0YWJsZTsgd2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDog
YXV0byc+PHByZT4KICBIVFRQIDQwMSBVbmF1dGhvcml6ZWQKPC9wcmU+PC9kaXY+CjxwPmFuZCB0
aGUgSFRUUCBoZWFkZXI6CjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDA7
IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4KICBXV1ctQXV0aGVu
dGljYXRlOiBXUkFQCjwvcHJlPjwvZGl2Pgo8cD5UaGUgQ2xpZW50IE1VU1QgYWdhaW4gcmVxdWVz
dCBhdXRob3JpemF0aW9uIGZyb20gdGhlIFVzZXIgcGVyCiAgICAgICAgICA8YSBjbGFzcz0naW5m
bycgaHJlZj0nI3A0LmF1dGhvcml6YXRpb24nPlNlY3Rpb24mbmJzcDs2LjIuMjxzcGFuPiAoPC9z
cGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5DbGllbnQgRGlyZWN0cyB0aGUgVXNlciB0byB0aGUgICAg
ICBBdXRob3JpemF0aW9uIFNlcnZlcjwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4uCjwvcD4KPGEg
bmFtZT0icDUiPjwvYT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBh
ZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0
cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwv
dGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi42LjMiPjwvYT48aDM+Ni4zLiZu
YnNwOwpSaWNoIEFwcCBQcm9maWxlPC9oMz4KCjxwPlRoaXMgcHJvZmlsZSBpcyBzdWl0YWJsZSB3
aGVyZSB0aGUgQ2xpZW50IGlzIGFuIGFwcGxpY2F0aW9uIHRoZQogICAgICAgIFVzZXIgaGFzIGlu
c3RhbGxlZCBvbiB0aGVpciBjb21wdXRlciBhbmQgdGhlcmUgaXMgYSBicm93c2VyIGF2YWlsYWJs
ZQogICAgICAgIGZvciB0aGUgQ2xpZW50IHRvIGxhdW5jaC4gVGhpcyBwcm9maWxlIGVuYWJsZXMg
YSBDbGllbnQgdG8gYWN0IG9uCiAgICAgICAgYmVoYWxmIG9mIHRoZSBVc2VyIHJlZ2FyZGxlc3Mg
b2YgaG93IHRoZSBVc2VyIGF1dGhlbnRpY2F0ZXMgdG8gdGhlCiAgICAgICAgU2VydmVyIGFuZCB3
aXRob3V0IGFjY2VzcyB0byB0aGUgVXNlcidzIGNyZWRlbnRpYWxzLgo8L3A+CjxhIG5hbWU9ImFu
Y2hvcjM3Ij48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRk
aW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+
PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3Rk
PjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uNi4zLjEiPjwvYT48aDM+Ni4zLjEu
Jm5ic3A7ClByb3Zpc2lvbmluZzwvaDM+Cgo8cD5QcmlvciB0byBpbml0aWF0aW5nIHRoaXMgcHJv
dG9jb2wgcHJvZmlsZSwgdGhlIENsaWVudCBNQVkgYmUKICAgICAgICAgIHJlcXVpcmVkIHRvIHJl
Z2lzdGVyIHRoZSBDbGllbnQgSWRlbnRpZmllciBhbmQvb3IgdGhlIENhbGxiYWNrIFVSTAogICAg
ICAgICAgd2l0aCB0aGUgU2VydmVyLgo8L3A+CjxhIG5hbWU9InA1LmF1dGhvcml6YXRpb24iPjwv
YT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNl
bGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9
IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3Rh
YmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi42LjMuMiI+PC9hPjxoMz42LjMuMi4mbmJzcDsKQ2xp
ZW50IERpcmVjdHMgdGhlIFVzZXIgdG8gdGhlICAgICAgQXV0aG9yaXphdGlvbiBTZXJ2ZXI8L2gz
PgoKPHA+VGhlIENsaWVudCBpbml0aWF0ZXMgYW4gYXV0aG9yaXphdGlvbiByZXF1ZXN0IGJ5IG9w
ZW5pbmcgdGhlCiAgICAgICAgICBVc2VyJ3MgYnJvd3NlciB3aXRoIHRoZSBTZXJ2ZXIncyBVc2Vy
IEF1dGhvcml6YXRpb24gVVJMLCBhbmQKICAgICAgICAgIGluY2x1ZGluZyB0aGUgZm9sbG93aW5n
IHBhcmFtZXRlcnM6CjwvcD4KPHA+PC9wPgo8YmxvY2txdW90ZSBjbGFzcz0idGV4dCI+PGRsPgo8
ZHQ+d3JhcF9jbGllbnRfaWQ8L2R0Pgo8ZGQ+IFJFUVVJUkVELiBUaGUgQ2xpZW50CiAgICAgICAg
ICAgICAgSWRlbnRpZmllci4KPC9kZD4KPGR0PndyYXBfY2FsbGJhY2sgICAgPC9kdD4KPGRkPiBP
UFRJT05BTC4gQSBDYWxsYmFjawogICAgICAgICAgICAgIFVSTCB3aGVyZSB0aGUgQXV0aG9yaXph
dGlvbiBTZXJ2ZXIgTUFZIHJlZGlyZWN0IHRoZSBVc2VyJ3MKICAgICAgICAgICAgICBicm93c2Vy
IGFmdGVyIHRoZSBVc2VyIHJlc3BvbmRzIHRvIHRoZSBhdXRob3JpemF0aW9uCiAgICAgICAgICAg
ICAgcmVxdWVzdC4KPC9kZD4KPGR0PndyYXBfY2xpZW50X3N0YXRlPC9kdD4KPGRkPk9QVElPTkFM
LiBBbiBvcGFxdWUKICAgICAgICAgICAgICB2YWx1ZSB0aGF0IENsaWVudHMgY2FuIHVzZSB0byBt
YWludGFpbiBzdGF0ZSBhc3NvY2lhdGVkIHdpdGgKICAgICAgICAgICAgICB0aGlzIHJlcXVlc3Qu
IElmIHRoaXMgdmFsdWUgaXMgcHJlc2VudCwgdGhlIEF1dGhvcml6YXRpb24gU2VydmVyCiAgICAg
ICAgICAgICAgTVVTVCByZXR1cm4gaXQgdG8gdGhlIENsaWVudCdzIENhbGxiYWNrIFVSTC4KPC9k
ZD4KPGR0PndyYXBfc2NvcGU8L2R0Pgo8ZGQ+IE9QVElPTkFMLiBUaGUgQXV0aG9yaXphdGlvbgog
ICAgICAgICAgICAgIFNlcnZlciBNQVkgZGVmaW5lIGF1dGhvcml6YXRpb24gc2NvcGUgdmFsdWVz
IGZvciB0aGUgQ2xpZW50IHRvCiAgICAgICAgICAgICAgaW5jbHVkZS4KPC9kZD4KPGR0PkFkZGl0
aW9uYWwgcGFyYW1ldGVyczwvZHQ+CjxkZD4gQW55IGFkZGl0aW9uYWwKICAgICAgICAgICAgICBw
YXJhbWV0ZXJzLCBhcyBkZWZpbmVkIGJ5IHRoZSBBdXRob3JpemF0aW9uIFNlcnZlci4KPC9kZD4K
PC9kbD48L2Jsb2NrcXVvdGU+Cgo8YSBuYW1lPSJhbmNob3IzOCI+PC9hPjxiciAvPjxociAvPgo8
dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNs
YXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVm
PSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+CjxhIG5hbWU9InJm
Yy5zZWN0aW9uLjYuMy4zIj48L2E+PGgzPjYuMy4zLiZuYnNwOwpBdXRob3JpemF0aW9uIFNlcnZl
ciBDb25maXJtcyBBdXRob3JpemF0aW9uIFJlcXVlc3Qgd2l0aCBVc2VyPC9oMz4KCjxwPlVwb24g
cmVjZWl2aW5nIGFuIGF1dGhvcml6YXRpb24gcmVxdWVzdCBmcm9tIHRoZSBDbGllbnQgYnkgd2F5
IG9mCiAgICAgICAgICB0aGUgVXNlcidzIGJyb3dzZXIsIHRoZSBBdXRob3JpemF0aW9uIFNlcnZl
ciBhdXRoZW50aWNhdGVzIHRoZSB1c2VyLAogICAgICAgICAgcHJlc2VudHMgdGhlIFVzZXIgd2l0
aCB0aGUgUHJvdGVjdGVkIFJlc291cmNlIGFjY2VzcyB0aGF0IHdpbGwgYmUKICAgICAgICAgIGdy
YW50ZWQgdG8gdGhlIENsaWVudCwgYW5kIHByb21wdHMgdGhlIFVzZXIgdG8gY29uZmlybSB0aGUg
cmVxdWVzdC4KICAgICAgICAgIElmIHRoZSBVc2VyIGFwcHJvdmVzIHRoZSByZXF1ZXN0LCB0aGUg
QXV0aG9yaXphdGlvbiBTZXJ2ZXIgZ2VuZXJhdGVzCiAgICAgICAgICBhIFZlcmlmaWNhdGlvbiBD
b2RlLiBJZiB0aGUgVXNlciBkZW5pZWQgYWNjZXNzLCB0aGUgQXV0aG9yaXphdGlvbgogICAgICAg
ICAgU2VydmVyIE1BWSBzZXQgdGhlIFZlcmlmaWNhdGlvbiBDb2RlIHRvIHRoZSByZXNlcnZlZCB2
YWx1ZToKPC9wPjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxl
ZnQ6IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPgogIHVzZXJfZGVuaWVkCjwvcHJlPjwv
ZGl2Pgo8cD5JdCBpcyBSRUNPTU1FTkRFRCB0aGUgVmVyaWZpY2F0aW9uIENvZGUgYmUgc2luZ2xl
IHVzZSwgYW5kIGV4cGlyZQogICAgICAgICAgd2l0aGluIG1pbnV0ZXMgb2YgaXNzdWUuIFRoZXJl
IGFyZSBhIG51bWJlciBvZiBtZWNoYW5pc21zIGZvciB0aGUKICAgICAgICAgIEF1dGhvcml6YXRp
b24gU2VydmVyIHRvIHRyYW5zbWl0IHRoZSBWZXJpZmljYXRpb24gQ29kZSB0byB0aGUKICAgICAg
ICAgIENsaWVudCwgc3BlY2lmaWVkIGJlbG93Lgo8L3A+CjxwPlJpY2ggQXBwbGljYXRpb24gaW50
ZXJhY3Rpb24gd2l0aCB0aGUgVXNlciBhbmQgdGhlIEF1dGhvcml6YXRpb24KICAgICAgICAgIFNl
cnZlciBpcyBhbiBhcmVhIG9mIGFjdGl2ZSByZXNlYXJjaCBhbmQgZGV2ZWxvcG1lbnQuIElmIHRo
ZSBSaWNoCiAgICAgICAgICBBcHBsaWNhdGlvbiBpcyBhYmxlIHRvIHJldHJpZXZlIHRoZSB2ZXJp
ZmllciBkaXJlY3RseSBmcm9tIHRoZQogICAgICAgICAgY2FsbGJhY2sgVVJMIHJldHVybmVkIGJ5
IHRoZSBBdXRob3JpemF0aW9uIFNlcnZlciwgYW4gaW1wcm92ZWQgdXNlcgogICAgICAgICAgZXhw
ZXJpZW5jZSBpcyBwb3NzaWJsZS4gSG93ZXZlciwgbm90IGFsbCBhcHBsaWNhdGlvbnMgYXJlIGFi
bGUgdG8KICAgICAgICAgIGludGVyYWN0IHdpdGggdGhlIEF1dGhvcml6YXRpb24gU2VydmVyIGlu
IHRoaXMgbWFubmVyLgo8L3A+CjxhIG5hbWU9ImFuY2hvcjM5Ij48L2E+PGJyIC8+PGhyIC8+Cjx0
YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xh
c3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9
IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZj
LnNlY3Rpb24uNi4zLjMuMSI+PC9hPjxoMz42LjMuMy4xLiZuYnNwOwpBcHBsaWNhdGlvbnMgd2l0
aCBDYWxsYmFjayBVUkxzPC9oMz4KCjxwPlJpY2ggQXBwbGljYXRpb25zIG1heSBiZSBhYmxlIHRv
IHJlY2VpdmUgY2FsbGJhY2sgVVJMcyBpbiBhbnkKICAgICAgICAgICAgb2Ygc2V2ZXJhbCB3YXlz
LiBGb3IgZXhhbXBsZSwgdGhlIFJpY2ggQXBwbGljYXRpb24gbWF5IHJlZ2lzdGVyIGEKICAgICAg
ICAgICAgY3VzdG9tIHByb3RvY29sIGhhbmRsZXIgd2l0aCB0aGUgYXBwbGljYXRpb24gcGxhdGZv
cm0gc28gdGhhdCB0aGUKICAgICAgICAgICAgYXBwbGljYXRpb24gd2lsbCBiZSBpbnZva2VkIHdo
ZW4gdGhlIGJyb3dzZXIgaXMgcmVkaXJlY3RlZCB0byB0aGUKICAgICAgICAgICAgY2FsbGJhY2sg
VVJMLiBBbHRlcm5hdGl2ZWx5LCB0aGUgY2FsbGJhY2sgVVJMIG1heSBwb2ludCB0byBhIHdlYgog
ICAgICAgICAgICBzaXRlIHdpdGggd2hpY2ggdGhlIFJpY2ggQXBwbGljYXRpb24gaGFzIGEgdHJ1
c3QgcmVsYXRpb25zaGlwLiBUaGUKICAgICAgICAgICAgd2ViIHNpdGUgY2FuIHRoZW4gcGFzcyB0
aGUgQ2FsbGJhY2sgVVJMIGRvd24gdG8gdGhlIFJpY2gKICAgICAgICAgICAgQXBwbGljYXRpb24g
Zm9yIHByb2Nlc3NpbmcuIEZpbmFsbHksIHRoZSBDYWxsYmFjayBVUkwgbWF5IHBvaW50IHRvCiAg
ICAgICAgICAgIGEgd2ViIHNpdGUgdGhhdCB3aWxsIGRpc3BsYXkgdGhlIENhbGxiYWNrIFVSTCB0
byB0aGUgc2NyZWVuIGFsb25nCiAgICAgICAgICAgIHdpdGggaW5zdHJ1Y3Rpb25zIGZvciB0aGUg
dXNlciB0byBlbnRlciB0aGUgVmVyaWZpY2F0aW9uIENvZGUgaW50bwogICAgICAgICAgICB0aGUg
YXBwbGljYXRpb24uCjwvcD4KPHA+Rm9yIFJpY2ggQXBwbGljYXRpb25zIHdpdGggYSBDYWxsYmFj
ayBVUkwsIHRoZSBBdXRob3JpemF0aW9uCiAgICAgICAgICAgIFNlcnZlciBNVVNUIHJlZGlyZWN0
IHRoZSBVc2VyIGJhY2sgdG8gdGhlIENhbGxiYWNrIFVSTCwgd2l0aCB0aGUKICAgICAgICAgICAg
Zm9sbG93aW5nIHBhcmFtZXRlcnMgYWRkZWQ6CjwvcD4KPHA+PC9wPgo8YmxvY2txdW90ZSBjbGFz
cz0idGV4dCI+PGRsPgo8ZHQ+d3JhcF92ZXJpZmljYXRpb25fY29kZTwvZHQ+CjxkZD4gUkVRVUlS
RUQuIFRoZQogICAgICAgICAgICAgICAgVmVyaWZpY2F0aW9uIENvZGUKPC9kZD4KPGR0PndyYXBf
Y2xpZW50X3N0YXRlPC9kdD4KPGRkPiBSRVFVSVJFRCBpZiB0aGUKICAgICAgICAgICAgICAgIENs
aWVudCBzZW50IHRoZSB2YWx1ZSBpbiB0aGUgYXV0aG9yaXphdGlvbiByZXF1ZXN0IGluIDxhIGNs
YXNzPSdpbmZvJyBocmVmPScjcDUuYXV0aG9yaXphdGlvbic+U2VjdGlvbiZuYnNwOzYuMy4yPHNw
YW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPkNsaWVudCBEaXJlY3RzIHRoZSBVc2VyIHRv
IHRoZSAgICAgIEF1dGhvcml6YXRpb24gU2VydmVyPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPgo8
L2RkPgo8ZHQ+QWRkaXRpb25hbCAgICBwYXJhbWV0ZXJzPC9kdD4KPGRkPiBBbnkKICAgICAgICAg
ICAgICAgIGFkZGl0aW9uYWwgcGFyYW1ldGVycywgYXMgZGVmaW5lZCBieSB0aGUgQXV0aG9yaXph
dGlvbgogICAgICAgICAgICAgICAgU2VydmVyLgo8L2RkPgo8L2RsPjwvYmxvY2txdW90ZT4KCjxw
PklmIHRoZSBVc2VyIGRlbmllZCBhY2Nlc3MsIHRoZSBTZXJ2ZXIgTUFZIHJlZGlyZWN0IHRoZSBV
c2VyJ3MKICAgICAgICAgICAgYnJvd3NlciB0byB0aGUgQ2FsbGJhY2sgVVJMIHdpdGggdGhlIFZl
cmlmaWNhdGlvbiBDb2RlIHNldCB0byB0aGUKICAgICAgICAgICAgcmVzZXJ2ZWQgdmFsdWU6Cjwv
cD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07
IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4KICB1c2VyX2RlbmllZAo8L3ByZT48L2Rpdj4KPGEg
bmFtZT0iYW5jaG9yNDAiPjwvYT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIg
Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmln
aHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7
PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi42LjMuMy4yIj48L2E+
PGgzPjYuMy4zLjIuJm5ic3A7CkFwcGxpY2F0aW9ucyB3aXRob3V0IENhbGxiYWNrIFVSTHM8L2gz
PgoKPHA+UmljaCBBcHBsaWNhdGlvbnMgd2l0aG91dCBDYWxsYmFjayBVUkxzIG5lZWQgdG8gcmVj
ZWl2ZSB0aGUKICAgICAgICAgICAgdmVyaWZpY2F0aW9uIGNvZGUgaW4gb3RoZXIgd2F5cy4gRm9y
IFJpY2ggQXBwbGljYXRpb25zIHdpdGhvdXQgYQogICAgICAgICAgICBDYWxsYmFjayBVUkwsIHRo
ZSBBdXRob3JpemF0aW9uIFNlcnZlciBNVVNUIHByZXNlbnQgdGhlCiAgICAgICAgICAgIFZlcmlm
aWNhdGlvbiBDb2RlIG9uIHRoZSB3ZWIgcGFnZSBhbmQgaW5zdHJ1Y3QgdGhlIHVzZXIgdG8gZW50
ZXIKICAgICAgICAgICAgaXQgaW50byB0aGUgQ2xpZW50Lgo8L3A+CjxwPlRoZSBTZXJ2ZXIgTUFZ
IGFsc28gYXBwZW5kIHRoZSBWZXJpZmljYXRpb24gQ29kZSB0byB0aGUgdGl0bGUKICAgICAgICAg
ICAgb2YgdGhlIEhUTUwgcGFnZSBzbyB0aGF0IENsaWVudHMgdGhhdCBoYXZlIGFjY2VzcyB0byB0
aGUgdGl0bGUgb2YKICAgICAgICAgICAgdGhlIGJyb3dzZXIncyBjdXJyZW50IHBhZ2UgY2FuIG9i
dGFpbiB0aGUgVmVyaWZpY2F0aW9uIENvZGUKICAgICAgICAgICAgd2l0aG91dCByZXF1aXJpbmcg
dGhlIFVzZXIgZW50ZXIgdGhlIFZlcmlmaWNhdGlvbiBDb2RlIGludG8gdGhlCiAgICAgICAgICAg
IENsaWVudC4gVGhlIENsaWVudCBjYW4gcGFyc2UgdGhlIHRpdGxlIGxvb2tpbmcgZm9yICJjb2Rl
PSIgYW5kCiAgICAgICAgICAgIHRoZW4gdGhlIHJlc3Qgb2YgdGhlIHRpdGxlIGlzIHRoZSBWZXJp
ZmljYXRpb24gQ29kZS4gSWYgYWRkaW5nIHRoZQogICAgICAgICAgICBWZXJpZmljYXRpb24gQ29k
ZSB0byB0aGUgdGl0bGUgb2YgdGhlIEhUTUwgcGFnZSwgdGhlIFNlcnZlciBNVVNUCiAgICAgICAg
ICAgIGFsc28gaW5jbHVkZSB0aGUgd3JhcF9jbGllbnRfc3RhdGUgcGFyYW1ldGVyIGlmIHNlbnQg
ZnJvbSB0aGUKICAgICAgICAgICAgQ2xpZW50IGFzIHRoZSAic3RhdGU9IiBwYXJhbWV0ZXIuCjwv
cD4KPHA+RWcuIEZvciBleGFtcGxlLmNvbSB3aGVyZSB0aGUgVmVyaWZpY2F0aW9uIENvZGUgPSBX
RjM0RjdIRyBhbmQKICAgICAgICAgICAgQ2xpZW50IFN0YXRlID0gTk1NR0ZKSiwgdGhlIFNlcnZl
ciB3b3VsZCBzZXQgdGhlIHRpdGxlIG9mIHRoZSBwYWdlCiAgICAgICAgICAgIHRvIHNvbWV0aGlu
ZyBsaWtlOgo8L3A+PGRpdiBzdHlsZT0nZGlzcGxheTogdGFibGU7IHdpZHRoOiAwOyBtYXJnaW4t
bGVmdDogM2VtOyBtYXJnaW4tcmlnaHQ6IGF1dG8nPjxwcmU+ICZsdDt0aXRsZSZndDtTdWNjZXNz
ZnVsIGRlbGVnYXRpb24sIGNvZGU9V0YzNEY3SEcKc3RhdGU9Tk1NR0ZKSiZsdDsvdGl0bGUmZ3Q7
PC9wcmU+PC9kaXY+CjxwPklmIHRoZSBVc2VyIGRlbmllZCBhY2Nlc3MsIHRoZSBTZXJ2ZXIgTUFZ
IGFwcGVuZAogICAgICAgICAgICBjb2RlPXVzZXJfZGVuaWVkIHRvIHRoZSB0aXRsZSBvZiB0aGUg
SFRNTCBwYWdlIHNvIHRoYXQgdGhlIENsaWVudAogICAgICAgICAgICBjYW4gZGV0ZWN0IHRoYXQg
dGhlIFVzZXIgaGFzIGRlbmllZCBhY2Nlc3MuCjwvcD4KPGEgbmFtZT0icDUucmVxdWVzdCI+PC9h
PjxiciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2Vs
bHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0i
VE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFi
bGU+CjxhIG5hbWU9InJmYy5zZWN0aW9uLjYuMy40Ij48L2E+PGgzPjYuMy40LiZuYnNwOwpDbGll
bnQgUmVxdWVzdHMgQWNjZXNzIFRva2VuPC9oMz4KCjxwPlRoZSBDbGllbnQgbWFrZXMgYW4gSFRU
UFMgcmVxdWVzdCB0byB0aGUgU2VydmVyJ3MgQWNjZXNzIFRva2VuCiAgICAgICAgICBVUkwgdXNp
bmcgUE9TVC4gVGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzOgo8
L3A+CjxwPjwvcD4KPGJsb2NrcXVvdGUgY2xhc3M9InRleHQiPjxkbD4KPGR0PndyYXBfY2xpZW50
X2lkPC9kdD4KPGRkPiBSRVFVSVJFRC4gVGhlIENsaWVudAogICAgICAgICAgICAgIElkZW50aWZp
ZXIKPC9kZD4KPGR0PndyYXBfdmVyaWZpY2F0aW9uX2NvZGU8L2R0Pgo8ZGQ+IFJFUVVJUkVELiBU
aGUKICAgICAgICAgICAgICBWZXJpZmljYXRpb24gQ29kZS4KPC9kZD4KPGR0PkFkZGl0aW9uYWwg
cGFyYW1ldGVyczo8L2R0Pgo8ZGQ+QW55IGFkZGl0aW9uYWwKICAgICAgICAgICAgICBwYXJhbWV0
ZXJzLCBhcyBkZWZpbmVkIGJ5IHRoZSBBdXRob3JpemF0aW9uIFNlcnZlci4KPC9kZD4KPC9kbD48
L2Jsb2NrcXVvdGU+Cgo8YSBuYW1lPSJwNS52ZXJpZmljYXRpb24iPjwvYT48YnIgLz48aHIgLz4K
PHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBj
bGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJl
Zj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJy
ZmMuc2VjdGlvbi42LjMuNSI+PC9hPjxoMz42LjMuNS4mbmJzcDsKU3VjY2Vzc2Z1bCBBY2Nlc3Mg
VG9rZW4gUmVzcG9uc2UgZnJvbSBBdXRob3JpemF0aW9uIFNlcnZlcjwvaDM+Cgo8cD5UaGUgU2Vy
dmVyIGNoZWNrcyB0aGUgVmVyaWZpY2F0aW9uIENvZGUgd2FzIHByZXZpb3VzbHkgaXNzdWVkIHRv
CiAgICAgICAgICB0aGUgc2FtZSBDbGllbnQgSWRlbnRpZmllciwgaGFzIG5vdCBleHBpcmVkIGFu
ZCBoYXMgbm90IGJlZW4gdXNlZC4KICAgICAgICAgIElmIHRoZXNlIGNvbmRpdGlvbnMgYXJlIG1l
dCwgdGhlIFNlcnZlciBtYXJrcyB0aGUgVmVyaWZpY2F0aW9uIENvZGUKICAgICAgICAgIGFzIGJl
aW5nIHVzZWQgYW5kIHJldHVybnM6CjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lk
dGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4KICBIVFRQ
IDIwMCBPSwo8L3ByZT48L2Rpdj4KPHA+d2l0aCB0aGUgUmVmcmVzaCBUb2tlbiBhbmQgYW4gQWNj
ZXNzIFRva2VuIGluIHRoZSByZXNwb25zZSBib2R5LgogICAgICAgICAgVGhlIHJlc3BvbnNlIGJv
ZHkgY29udGFpbnMgdGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzOgo8L3A+CjxwPjwvcD4KPGJsb2Nr
cXVvdGUgY2xhc3M9InRleHQiPjxkbD4KPGR0PndyYXBfcmVmcmVzaF90b2tlbjwvZHQ+CjxkZD4g
UkVRVUlSRUQuIFRoZQogICAgICAgICAgICAgIFJlZnJlc2ggVG9rZW4uCjwvZGQ+CjxkdD53cmFw
X2FjY2Vzc190b2tlbjwvZHQ+CjxkZD4gUkVRVUlSRUQuIFRoZSBBY2Nlc3MKICAgICAgICAgICAg
ICBUb2tlbi4KPC9kZD4KPGR0PndyYXBfYWNjZXNzX3Rva2VuX2V4cGlyZXNfaW48L2R0Pgo8ZGQ+
IE9QVElPTkFMLgogICAgICAgICAgICAgIFRoZSBsaWZldGltZSBvZiB0aGUgQWNjZXNzIFRva2Vu
IGluIHNlY29uZHMuIEZvciBleGFtcGxlLCAzNjAwCiAgICAgICAgICAgICAgcmVwcmVzZW50cyBv
bmUgaG91ci4KPC9kZD4KPGR0PkFkZGl0aW9uYWwgcGFyYW1ldGVyczwvZHQ+CjxkZD4gQW55IGFk
ZGl0aW9uYWwKICAgICAgICAgICAgICBwYXJhbWV0ZXJzLCBhcyBkZWZpbmVkIGJ5IHRoZSBBdXRo
b3JpemF0aW9uIFNlcnZlci4KPC9kZD4KPC9kbD48L2Jsb2NrcXVvdGU+Cgo8cD5UaGUgQ2xpZW50
IHNlY3VyZWx5IHN0b3JlcyB0aGUgUmVmcmVzaCBUb2tlbiBmb3IgbGF0ZXIgdXNlLiBUaGUKICAg
ICAgICAgIENsaWVudCBtYXkgbm93IHVzZSB0aGUgQWNjZXNzIFRva2VuIHRvIGFjY2VzcyB0aGUg
UHJvdGVjdGVkIFJlc291cmNlCiAgICAgICAgICBwZXIgPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNQ
cm90ZWN0ZWRSZXNvdXJjZSc+U2VjdGlvbiZuYnNwOzQ8c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFz
cz0naW5mbyc+QWNjZXNzaW5nIGEgUHJvdGVjdGVkIFJlc291cmNlPC9zcGFuPjxzcGFuPik8L3Nw
YW4+PC9hPi4KPC9wPgo8YSBuYW1lPSJhbmNob3I0MSI+PC9hPjxiciAvPjxociAvPgo8dGFibGUg
c3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJU
T0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9j
Ij4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+CjxhIG5hbWU9InJmYy5zZWN0
aW9uLjYuMy42Ij48L2E+PGgzPjYuMy42LiZuYnNwOwpVbnN1Y2Nlc3NmdWwgQWNjZXNzIFRva2Vu
IFJlc3BvbnNlIGZyb20gQXV0aG9yaXphdGlvbiBTZXJ2ZXI8L2gzPgoKPHA+VGhlIEF1dGhvcml6
YXRpb24gU2VydmVyIE1VU1QgZmlyc3QgdmVyaWZ5IHRoZSBDbGllbnQgSWRlbnRpZmllcgogICAg
ICAgICAgYW5kIENsaWVudCBTZWNyZXQgcGVyIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjcDUudmVy
aWZpY2F0aW9uJz5TZWN0aW9uJm5ic3A7Ni4zLjU8c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0n
aW5mbyc+U3VjY2Vzc2Z1bCBBY2Nlc3MgVG9rZW4gUmVzcG9uc2UgZnJvbSBBdXRob3JpemF0aW9u
IFNlcnZlcjwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4uIElmCiAgICAgICAgICB0aGV5IGFyZSBp
bnZhbGlkLCB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVCByZXNwb25kIHdpdGg6CjwvcD48
ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1h
cmdpbi1yaWdodDogYXV0byc+PHByZT4KICBIVFRQIDQwMSBVbmF1dGhvcml6ZWQKPC9wcmU+PC9k
aXY+CjxwPmFuZCB0aGUgSFRUUCBoZWFkZXI6CjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJs
ZTsgd2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4K
ICBXV1ctQXV0aGVudGljYXRlOiBXUkFQCjwvcHJlPjwvZGl2Pgo8cD5UaGUgQ2xpZW50IG5lZWRz
IHRvIG9idGFpbiBhIG5ldyBWZXJpZmljYXRpb24gQ29kZSBwZXIgPGEgY2xhc3M9J2luZm8nIGhy
ZWY9JyNwNS5hdXRob3JpemF0aW9uJz5TZWN0aW9uJm5ic3A7Ni4zLjI8c3Bhbj4gKDwvc3Bhbj48
c3BhbiBjbGFzcz0naW5mbyc+Q2xpZW50IERpcmVjdHMgdGhlIFVzZXIgdG8gdGhlICAgICAgQXV0
aG9yaXphdGlvbiBTZXJ2ZXI8L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+Lgo8L3A+CjxhIG5hbWU9
ImFuY2hvcjQyIj48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxw
YWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48
dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48
L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uNi4zLjciPjwvYT48aDM+Ni4z
LjcuJm5ic3A7CkNsaWVudCBSZWZyZXNoZXMgQWNjZXNzIFRva2VuPC9oMz4KCjxwPlJlZnJlc2hp
bmcgYW4gQWNjZXNzIFRva2VuIGlzIHRoZSBzYW1lIGluIDxhIGNsYXNzPSdpbmZvJyBocmVmPScj
cDMnPlNlY3Rpb24mbmJzcDs2LjE8c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+VXNl
cm5hbWUgYW5kIFBhc3N3b3JkIFByb2ZpbGU8L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+LCA8YSBj
bGFzcz0naW5mbycgaHJlZj0nI3A0Jz5TZWN0aW9uJm5ic3A7Ni4yPHNwYW4+ICg8L3NwYW4+PHNw
YW4gY2xhc3M9J2luZm8nPldlYiBBcHAgUHJvZmlsZTwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4s
IGFuZCA8YSBjbGFzcz0naW5mbycgaHJlZj0nI3A1Jz5TZWN0aW9uJm5ic3A7Ni4zPHNwYW4+ICg8
L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPlJpY2ggQXBwIFByb2ZpbGU8L3NwYW4+PHNwYW4+KTwv
c3Bhbj48L2E+LiBBdXRob3JpemF0aW9uIFNlcnZlcnMgU0hPVUxEIGlzc3VlIEFjY2VzcwogICAg
ICAgICAgVG9rZW5zIHRoYXQgZXhwaXJlIGFuZCByZXF1aXJlIENsaWVudHMgdG8gcmVmcmVzaCB0
aGVtLiBVcG9uCiAgICAgICAgICByZWNlaXZpbmcgdGhlIEhUVFAgNDAxIHJlc3BvbnNlIHdoZW4g
YWNjZXNzaW5nIHByb3RlY3RlZCByZXNvdXJjZXMKICAgICAgICAgIHBlciA8YSBjbGFzcz0naW5m
bycgaHJlZj0nI1Byb3RlY3RlZFJlc291cmNlJz5TZWN0aW9uJm5ic3A7NDxzcGFuPiAoPC9zcGFu
PjxzcGFuIGNsYXNzPSdpbmZvJz5BY2Nlc3NpbmcgYSBQcm90ZWN0ZWQgUmVzb3VyY2U8L3NwYW4+
PHNwYW4+KTwvc3Bhbj48L2E+LCB0aGUgQ2xpZW50IG1ha2VzIGFuCiAgICAgICAgICBIVFRQUyBy
ZXF1ZXN0IHRvIHRoZSBBdXRob3JpemF0aW9uIFNlcnZlcidzIFJlZnJlc2ggVG9rZW4gVVJMIHVz
aW5nCiAgICAgICAgICBQT1NULiBUaGUgcmVxdWVzdCBjb250YWlucyB0aGUgZm9sbG93aW5nIHBh
cmFtZXRlcnM6CjwvcD4KPHA+PC9wPgo8YmxvY2txdW90ZSBjbGFzcz0idGV4dCI+PGRsPgo8ZHQ+
d3JhcF9yZWZyZXNoX3Rva2VuPC9kdD4KPGRkPlJFUVVJUkVELiBUaGUgUmVmcmVzaAogICAgICAg
ICAgICAgIFRva2VuIHRoYXQgd2FzIHJlY2VpdmVkIGluIDxhIGNsYXNzPSdpbmZvJyBocmVmPScj
cDUucmVxdWVzdCc+U2VjdGlvbiZuYnNwOzYuMy40PHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9
J2luZm8nPkNsaWVudCBSZXF1ZXN0cyBBY2Nlc3MgVG9rZW48L3NwYW4+PHNwYW4+KTwvc3Bhbj48
L2E+CjwvZGQ+CjxkdD5BZGRpdGlvbmFsIHBhcmFtZXRlcnM6PC9kdD4KPGRkPkFueSBhZGRpdGlv
bmFsCiAgICAgICAgICAgICAgcGFyYW1ldGVycywgYXMgZGVmaW5lZCBieSB0aGUgQXV0aG9yaXph
dGlvbiBTZXJ2ZXIuCjwvZGQ+CjwvZGw+PC9ibG9ja3F1b3RlPgoKPGEgbmFtZT0iYW5jaG9yNDMi
PjwvYT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAi
IGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xh
c3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48
L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi42LjMuOCI+PC9hPjxoMz42LjMuOC4mbmJzcDsK
U3VjY2Vzc2Z1bCBBY2Nlc3MgVG9rZW4gUmVmcmVzaDwvaDM+Cgo8cD5JZiBzdWNjZXNzZnVsLCB0
aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgcmV0dXJuczoKPC9wPjxkaXYgc3R5bGU9J2Rpc3BsYXk6
IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48
cHJlPgogIEhUVFAgMjAwIE9LCjwvcHJlPjwvZGl2Pgo8cD53aXRoIHRoZSBBY2Nlc3MgVG9rZW4g
aW4gdGhlIHJlc3BvbnNlIGJvZHkuIFRoZSByZXNwb25zZSBib2R5CiAgICAgICAgICBjb250YWlu
cyB0aGUgZm9sbG93aW5nIHBhcmFtZXRlcnM6CjwvcD4KPHA+PC9wPgo8YmxvY2txdW90ZSBjbGFz
cz0idGV4dCI+PGRsPgo8ZHQ+d3JhcF9hY2Nlc3NfdG9rZW48L2R0Pgo8ZGQ+IFJFUVVJUkVELiBU
aGUgQWNjZXNzCiAgICAgICAgICAgICAgVG9rZW4uCjwvZGQ+CjxkdD53cmFwX2FjY2Vzc190b2tl
bl9leHBpcmVzX2luPC9kdD4KPGRkPiBPUFRJT05BTC4KICAgICAgICAgICAgICBUaGUgbGlmZXRp
bWUgb2YgdGhlIEFjY2VzcyBUb2tlbiBpbiBzZWNvbmRzLiBGb3IgZXhhbXBsZSwgMzYwMAogICAg
ICAgICAgICAgIHJlcHJlc2VudHMgb25lIGhvdXIuCjwvZGQ+CjxkdD5BZGRpdGlvbmFsICAgIHBh
cmFtZXRlcnM8L2R0Pgo8ZGQ+IEFueSBhZGRpdGlvbmFsCiAgICAgICAgICAgICAgcGFyYW1ldGVy
cywgYXMgZGVmaW5lZCBieSB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIuCjwvZGQ+CjwvZGw+PC9i
bG9ja3F1b3RlPgoKPGEgbmFtZT0iYW5jaG9yNDQiPjwvYT48YnIgLz48aHIgLz4KPHRhYmxlIHN1
bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9D
YnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+
Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlv
bi42LjMuOSI+PC9hPjxoMz42LjMuOS4mbmJzcDsKVW5zdWNjZXNzZnVsIEFjY2VzcyBUb2tlbiBS
ZWZyZXNoPC9oMz4KCjxwPlRoZSBBdXRob3JpemF0aW9uIFNlcnZlciBNVVNUIHZlcmlmeSB0aGUg
UmVmcmVzaCBUb2tlbi4gSWYgdGhlCiAgICAgICAgICB2ZXJpZmljYXRpb24gZmFpbHMsIHRoZSBB
dXRob3JpemF0aW9uIFNlcnZlciBNVVNUIHJlc3BvbmQgd2l0aAo8L3A+PGRpdiBzdHlsZT0nZGlz
cGxheTogdGFibGU7IHdpZHRoOiAwOyBtYXJnaW4tbGVmdDogM2VtOyBtYXJnaW4tcmlnaHQ6IGF1
dG8nPjxwcmU+CiAgSFRUUCA0MDEgVW5hdXRob3JpemVkCjwvcHJlPjwvZGl2Pgo8cD5hbmQgdGhl
IEhUVFAgaGVhZGVyOgo8L3A+PGRpdiBzdHlsZT0nZGlzcGxheTogdGFibGU7IHdpZHRoOiAwOyBt
YXJnaW4tbGVmdDogM2VtOyBtYXJnaW4tcmlnaHQ6IGF1dG8nPjxwcmU+CiAgV1dXLUF1dGhlbnRp
Y2F0ZTogV1JBUAo8L3ByZT48L2Rpdj4KPHA+VGhlIENsaWVudCBNVVNUIGFnYWluIHJlcXVlc3Qg
YXV0aG9yaXphdGlvbiBmcm9tIHRoZSBVc2VyIHBlcgogICAgICAgICAgPGEgY2xhc3M9J2luZm8n
IGhyZWY9JyNwNS5hdXRob3JpemF0aW9uJz5TZWN0aW9uJm5ic3A7Ni4zLjI8c3Bhbj4gKDwvc3Bh
bj48c3BhbiBjbGFzcz0naW5mbyc+Q2xpZW50IERpcmVjdHMgdGhlIFVzZXIgdG8gdGhlICAgICAg
QXV0aG9yaXphdGlvbiBTZXJ2ZXI8L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+Lgo8L3A+CjxhIG5h
bWU9IlBhcmFtQ29uIj48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNl
bGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0
Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwv
YT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uNyI+PC9hPjxoMz43LiZu
YnNwOwpQYXJhbWV0ZXIgQ29uc2lkZXJhdGlvbnM8L2gzPgoKPGEgbmFtZT0iYW5jaG9yNDUiPjwv
YT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNl
bGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9
IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3Rh
YmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi43LjEiPjwvYT48aDM+Ny4xLiZuYnNwOwpBdXRob3Jp
emF0aW9uIFNlcnZlciBSZXF1ZXN0IC8gUmVzcG9uc2UgUGFyYW1ldGVyICAgICAgIEVuY29kaW5n
PC9oMz4KCjxwPkFsbCByZXF1ZXN0cyBtYWRlIGRpcmVjdGx5IHRvIHRoZSBBdXRob3JpemF0aW9u
IFNlcnZlciB1c2UgdGhlIEhUVFAKICAgICAgICBQT1NUIG1ldGhvZCBhbmQgdGhlIHBhcmFtZXRl
cnMgTVVTVCBiZSBpbiB0aGUgYm9keSBvZiB0aGUgbWVzc2FnZSBhbmQKICAgICAgICBmb3JtYXR0
ZWQgYXMgYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIHBlciA8YSBocmVmPSdodHRw
Oi8vd3d3LnczLm9yZy9UUi8xOTk5L1JFQy1XM0MuUkVDLWh0bWw0MC0xOTk4MDQyNC0xOTk5MTIy
NC9pbnRlcmFjdC9mb3Jtcy5odG1sI2gtMTcuMTMuNC4xJz4xNy4xMy40PC9hPgogICAgICAgIG9m
IDxhIGNsYXNzPSdpbmZvJyBocmVmPScjVzNDLlJFQy1odG1sNDAtMTk5ODA0MjQnPkhUTUwgNC4w
MTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5Ib3JzLCBBLiwgSmFjb2JzLCBJLiwg
YW5kIEQuIFJhZ2dldHQsICZsZHF1bztIVE1MIDQuMCBTcGVjaWZpY2F0aW9uLCZyZHF1bzsgQXBy
aWwmbmJzcDsxOTk4Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gW1czQy5SRUMmIzgyMDk7aHRt
bDQwJiM4MjA5OzE5OTgwNDI0XS4KPC9wPgo8cD5BbnkgcGFyYW1ldGVycyBpbiB0aGUgcmVzcG9u
c2UgZnJvbSB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgTVVTVAogICAgICAgIGJlIGluIHRoZSBi
b2R5IG9mIHRoZSBtZXNzYWdlIGFuZCBmb3JtYXR0ZWQgYXMKICAgICAgICBhcHBsaWNhdGlvbi94
LXd3dy1mb3JtLXVybGVuY29kZWQgcGVyIDxhIGhyZWY9J2h0dHA6Ly93d3cudzMub3JnL1RSLzE5
OTkvUkVDLVczQy5SRUMtaHRtbDQwLTE5OTgwNDI0LTE5OTkxMjI0L2ludGVyYWN0L2Zvcm1zLmh0
bWwjaC0xNy4xMy40LjEnPjE3LjEzLjQ8L2E+CiAgICAgICAgb2YgPGEgY2xhc3M9J2luZm8nIGhy
ZWY9JyNXM0MuUkVDLWh0bWw0MC0xOTk4MDQyNCc+SFRNTCA0LjAxPHNwYW4+ICg8L3NwYW4+PHNw
YW4gY2xhc3M9J2luZm8nPkhvcnMsIEEuLCBKYWNvYnMsIEkuLCBhbmQgRC4gUmFnZ2V0dCwgJmxk
cXVvO0hUTUwgNC4wIFNwZWNpZmljYXRpb24sJnJkcXVvOyBBcHJpbCZuYnNwOzE5OTguPC9zcGFu
PjxzcGFuPik8L3NwYW4+PC9hPiBbVzNDLlJFQyYjODIwOTtodG1sNDAmIzgyMDk7MTk5ODA0MjRd
Lgo8L3A+CjxhIG5hbWU9ImFuY2hvcjQ2Ij48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5
PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIg
YWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNw
O1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uNy4y
Ij48L2E+PGgzPjcuMi4mbmJzcDsKUGFyYW1ldGVyIFNpemU8L2gzPgoKPHA+PC9wPgo8YmxvY2tx
dW90ZSBjbGFzcz0idGV4dCI+PGRsPgo8ZHQ+SFRUUCBIZWFkZXJzPC9kdD4KPGRkPiBXZWIgc2Vy
dmVycyBvZnRlbiBpbXBvc2UgYQogICAgICAgICAgICBtYXhpbXVtIG9uIHRoZSBjb21iaW5lZCBz
aXplIG9mIGFsbCBIVFRQIGhlYWRlcnMgcmFuZ2luZyBmcm9tIDhLQgogICAgICAgICAgICB0byAx
NktCLiBUaGUgc2l6ZSBvZiB0aGUgQWNjZXNzIFRva2VuIHNob3VsZCBiZSBzbWFsbCBlbm91Z2gg
dG8KICAgICAgICAgICAgZW5zdXJlIHRoZSB0b3RhbCBzaXplIG9mIHRoZSBIVFRQIGhlYWRlcnMg
ZG9lcyBub3QgZXhjZWVkIHRoZQogICAgICAgICAgICBsaW1pdHMgb2Ygd2ViIHNlcnZlcnMuCjwv
ZGQ+CjxkdD5VUkxzPC9kdD4KPGRkPiBXZWIgc2VydmVycyBhbmQgYnJvd3NlcnMgb2Z0ZW4KICAg
ICAgICAgICAgaW1wb3NlIGEgbWF4aW11bSBvbiB0aGUgdG90YWwgbGVuZ3RoIG9mIHRoZSBVUkwg
b2YgYXMgbG93IGFzIDIwODMKICAgICAgICAgICAgYnl0ZXMuIFRoZSBsZW5ndGggb2YgVVJMcyBl
eHBvc2VkIGJ5IHRoZSBBdXRob3JpemF0aW9uIFNlcnZlciBhbmQKICAgICAgICAgICAgdGhlIGxl
bmd0aCBvZiBwYXJhbWV0ZXJzIHBhc3NlZCBvbiBhIFVSTCBzaG91bGQgYmUgbWluaW1pemVkIHNv
CiAgICAgICAgICAgIHRoYXQgdGhlIHRvdGFsIGxlbmd0aCBkb2VzIG5vdCBleGNlZWQgdGhpcyBs
aW1pdC4KPC9kZD4KPC9kbD48L2Jsb2NrcXVvdGU+Cgo8YSBuYW1lPSJhbmNob3I0NyI+PC9hPjxi
ciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNw
YWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9D
YnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+
CjxhIG5hbWU9InJmYy5zZWN0aW9uLjcuMyI+PC9hPjxoMz43LjMuJm5ic3A7CkFjY2VzcyBUb2tl
biBGb3JtYXQ8L2gzPgoKPHA+T0F1dGggV1JBUCBkb2VzIG5vdCBzcGVjaWZ5IHRoZSBmb3JtYXQg
b2YgdGhlIEFjY2VzcyBUb2tlbi4gVGhlCiAgICAgICAgZm9ybWF0IGlzIG11dHVhbGx5IGFncmVl
ZCB0byBieSB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgYW5kIHRoZQogICAgICAgIFByb3RlY3Rl
ZCBSZXNvdXJjZSBhbmQgaXMgb3BhcXVlIHRvIHRoZSBDbGllbnQuIFRoZSBBY2Nlc3MgVG9rZW4K
ICAgICAgICBmb3JtYXQgTVVTVCBjb25zaXN0IG9mIGxlZ2FsIGNoYXJhY3RlcnMgaW4gYW4gSFRU
UCBoZWFkZXIgcGVyCiAgICAgICAgW1JlZmVyZW5jZSBuZWVkZWRdCjwvcD4KPHA+VGhlIFNpbXBs
ZSBXZWIgVG9rZW4gKFNXVCkgYW5kIEpTT04gV2ViIFRva2VuIChKV1QpIGFyZSBwb3NzaWJsZQog
ICAgICAgIEFjY2VzcyBUb2tlbiBmb3JtYXRzLgo8L3A+CjxwPltUQkQ6IGVudHJvcHkgcmVjb21t
ZW5kYXRpb25zIGZvciBBY2Nlc3MgVG9rZW4gc28gdGhhdCBpdCByZW1haW5zCiAgICAgICAgc2Vj
dXJlIGR1cmluZyBpdHMgbGlmZXRpbWVdCjwvcD4KPGEgbmFtZT0iYW5jaG9yNDgiPjwvYT48YnIg
Lz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFj
aW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1
ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8
YSBuYW1lPSJyZmMuc2VjdGlvbi43LjQiPjwvYT48aDM+Ny40LiZuYnNwOwpSZWZyZXNoIFRva2Vu
IEZvcm1hdDwvaDM+Cgo8cD5PQXV0aCBXUkFQIGRvZXMgbm90IHNwZWNpZnkgdGhlIGZvcm1hdCBv
ZiB0aGUgUmVmcmVzaCBUb2tlbi4gVGhlCiAgICAgICAgUmVmcmVzaCBUb2tlbiBpcyBib3RoIGdl
bmVyYXRlZCBhbmQgY29uc3VtZWQgYnkgdGhlIEF1dGhvcml6YXRpb24KICAgICAgICBTZXJ2ZXIg
YW5kIGlzIG9wYXF1ZSB0byB0aGUgQ2xpZW50IGFuZCBuZXZlciBleHBvc2VkIHRvIHRoZSBQcm90
ZWN0ZWQKICAgICAgICBSZXNvdXJjZS4gVGhlIFJlZnJlc2ggVG9rZW4gaXMgYSBsb25nIGxpdmVk
IGNyZWRlbnRpYWwsIGFuZCBzaG91bGQKICAgICAgICBjb250YWluIGVub3VnaCBlbnRyb3B5IHRo
YXQgaXQgY2Fubm90IGJlIGd1ZXNzZWQuIFRoZSBzaXplIGxpbWl0YXRpb25zCiAgICAgICAgb2Yg
dGhlIEFjY2VzcyBUb2tlbiBhcmUgbm90IGFwcGxpY2FibGUgdG8gdGhlIFJlZnJlc2ggVG9rZW4g
YXMgdGhlCiAgICAgICAgUmVmcmVzaCBUb2tlbiBpcyBhbHdheXMgaW4gdGhlIGJvZHkgb2YgYW4g
SFRUUCBtZXNzYWdlLgo8L3A+CjxhIG5hbWU9ImFuY2hvcjQ5Ij48L2E+PGJyIC8+PGhyIC8+Cjx0
YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xh
c3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9
IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZj
LnNlY3Rpb24uNy41Ij48L2E+PGgzPjcuNS4mbmJzcDsKQWRkaXRpb25hbCBBdXRob3JpemF0aW9u
IFNlcnZlciBQYXJhbWV0ZXJzPC9oMz4KCjxwPlRoZSBBdXRob3JpemF0aW9uIFNlcnZlciBtYXkg
ZGVmaW5lIGFkZGl0aW9uYWwgcGFyYW1ldGVycyB0byBiZQogICAgICAgIGluY2x1ZGVkIGluIGFy
ZSByZXR1cm5lZCBmcm9tIGNhbGxzIHRvIHRoZSBBY2Nlc3MgVG9rZW4gVVJMIG9yIFVzZXIKICAg
ICAgICBBdXRob3JpemF0aW9uIFVSTC4gUGFyYW1ldGVycyB0aGF0IHN0YXJ0IHdpdGggd3JhcF8g
YXJlIHJlc2VydmVkIGFuZAogICAgICAgIG1heSBub3QgYmUgdXNlZC4KPC9wPgo8YSBuYW1lPSJh
bmNob3I1MCI+PC9hPjxiciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFk
ZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRy
Pjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90
ZD48L3RyPjwvdGFibGU+CjxhIG5hbWU9InJmYy5zZWN0aW9uLjcuNiI+PC9hPjxoMz43LjYuJm5i
c3A7ClBhcmFtZXRlciBOYW1lcyBhbmQgT3JkZXI8L2gzPgoKPHA+QWxsIHBhcmFtZXRlciBuYW1l
cyBhcmUgY2FzZSBzZW5zaXRpdmUuIFRoZSBwYXJhbWV0ZXJzIG15IGFwcGVhciBpbgogICAgICAg
IGFueSBvcmRlci4gVW5yZWNvZ25pemVkIHBhcmFtZXRlcnMgYXJlIGFsbG93ZWQsIGJ1dCBNVVNU
IGJlCiAgICAgICAgaWdub3JlZC4KPC9wPgo8YSBuYW1lPSJJQU5BIj48L2E+PGJyIC8+PGhyIC8+
Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIg
Y2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhy
ZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0i
cmZjLnNlY3Rpb24uOCI+PC9hPjxoMz44LiZuYnNwOwpJQU5BIENvbnNpZGVyYXRpb25zPC9oMz4K
CjxwPlRoaXMgbWVtbyBpbmNsdWRlcyBubyByZXF1ZXN0IHRvIElBTkEuCjwvcD4KPGEgbmFtZT0i
U2VjdXJpdHkiPjwvYT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBh
ZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0
cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwv
dGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi45Ij48L2E+PGgzPjkuJm5ic3A7
ClNlY3VyaXR5IENvbnNpZGVyYXRpb25zPC9oMz4KCjxwPlRCRDogbmVlZCB0byBwdXQgaW4gYWxs
IHRoZSBzZWN1cml0eSBjb25zaWRlcmF0aW9ucyBmb3IKICAgICAgaW1wbGVtZW50b3JzLgo8L3A+
CjxhIG5hbWU9InJmYy5yZWZlcmVuY2VzIj48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5
PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIg
YWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNw
O1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uMTAi
PjwvYT48aDM+MTAuJm5ic3A7ClJlZmVyZW5jZXM8L2gzPgoKPGEgbmFtZT0icmZjLnJlZmVyZW5j
ZXMxIj48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5n
PSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRk
IGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwv
dHI+PC90YWJsZT4KPGgzPjEwLjEuJm5ic3A7Tm9ybWF0aXZlIFJlZmVyZW5jZXM8L2gzPgo8dGFi
bGUgd2lkdGg9Ijk5JSIgYm9yZGVyPSIwIj4KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZh
bGlnbj0idG9wIj48YSBuYW1lPSJSRkMyMTE5Ij5bUkZDMjExOV08L2E+PC90ZD4KPHRkIGNsYXNz
PSJhdXRob3ItdGV4dCI+PGEgaHJlZj0ibWFpbHRvOnNvYkBoYXJ2YXJkLmVkdSI+QnJhZG5lciwg
Uy48L2E+LCAmbGRxdW87PGEgaHJlZj0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMjEx
OSI+S2V5IHdvcmRzIGZvciB1c2UgaW4gUkZDcyB0byBJbmRpY2F0ZSBSZXF1aXJlbWVudCBMZXZl
bHM8L2E+LCZyZHF1bzsgQkNQJm5ic3A7MTQsIFJGQyZuYnNwOzIxMTksIE1hcmNoJm5ic3A7MTk5
NyAoPGEgaHJlZj0iZnRwOi8vZnRwLmlzaS5lZHUvaW4tbm90ZXMvcmZjMjExOS50eHQiPlRYVDwv
YT4sIDxhIGhyZWY9Imh0dHA6Ly94bWwucmVzb3VyY2Uub3JnL3B1YmxpYy9yZmMvaHRtbC9yZmMy
MTE5Lmh0bWwiPkhUTUw8L2E+LCA8YSBocmVmPSJodHRwOi8veG1sLnJlc291cmNlLm9yZy9wdWJs
aWMvcmZjL3htbC9yZmMyMTE5LnhtbCI+WE1MPC9hPikuPC90ZD48L3RyPgo8dHI+PHRkIGNsYXNz
PSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzI2MDYiPltSRkMyNjA2XTwv
YT48L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBocmVmPSJtYWlsdG86ZGVlM0B1cy5p
Ym0uY29tIj5FYXN0bGFrZSwgRC48L2E+IGFuZCA8YSBocmVmPSJtYWlsdG86YnVnbGFkeUBmdXNj
aGlhLm5ldCI+QS4gUGFuaXR6PC9hPiwgJmxkcXVvOzxhIGhyZWY9Imh0dHA6Ly90b29scy5pZXRm
Lm9yZy9odG1sL3JmYzI2MDYiPlJlc2VydmVkIFRvcCBMZXZlbCBETlMgTmFtZXM8L2E+LCZyZHF1
bzsgQkNQJm5ic3A7MzIsIFJGQyZuYnNwOzI2MDYsIEp1bmUmbmJzcDsxOTk5ICg8YSBocmVmPSJm
dHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMyNjA2LnR4dCI+VFhUPC9hPikuPC90ZD48L3Ry
Pgo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzI2
MTciPltSRkMyNjE3XTwvYT48L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBocmVmPSJt
YWlsdG86am9obkBtYXRoLm53dS5lZHUiPkZyYW5rcywgSi48L2E+LCA8YSBocmVmPSJtYWlsdG86
cGJha2VyQHZlcmlzaWduLmNvbSI+SGFsbGFtLUJha2VyLCBQLjwvYT4sIDxhIGhyZWY9Im1haWx0
bzpqZWZmQEFiaVNvdXJjZS5jb20iPkhvc3RldGxlciwgSi48L2E+LCA8YSBocmVmPSJtYWlsdG86
bGF3cmVuY2VAYWdyYW5hdC5jb20iPkxhd3JlbmNlLCBTLjwvYT4sIDxhIGhyZWY9Im1haWx0bzpw
YXVsbGVAbWljcm9zb2Z0LmNvbSI+TGVhY2gsIFAuPC9hPiwgTHVvdG9uZW4sIEEuLCBhbmQgPGEg
aHJlZj0ibWFpbHRvOnN0ZXdhcnRAT3Blbk1hcmtldC5jb20iPkwuIFN0ZXdhcnQ8L2E+LCAmbGRx
dW87PGEgaHJlZj0iaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMjYxNyI+SFRUUCBBdXRo
ZW50aWNhdGlvbjogQmFzaWMgYW5kIERpZ2VzdCBBY2Nlc3MgQXV0aGVudGljYXRpb248L2E+LCZy
ZHF1bzsgUkZDJm5ic3A7MjYxNywgSnVuZSZuYnNwOzE5OTkgKDxhIGhyZWY9ImZ0cDovL2Z0cC5p
c2kuZWR1L2luLW5vdGVzL3JmYzI2MTcudHh0Ij5UWFQ8L2E+LCA8YSBocmVmPSJodHRwOi8veG1s
LnJlc291cmNlLm9yZy9wdWJsaWMvcmZjL2h0bWwvcmZjMjYxNy5odG1sIj5IVE1MPC9hPiwgPGEg
aHJlZj0iaHR0cDovL3htbC5yZXNvdXJjZS5vcmcvcHVibGljL3JmYy94bWwvcmZjMjYxNy54bWwi
PlhNTDwvYT4pLjwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGlnbj0i
dG9wIj48YSBuYW1lPSJXM0MuUkVDLWh0bWw0MC0xOTk4MDQyNCI+W1czQy5SRUMtaHRtbDQwLTE5
OTgwNDI0XTwvYT48L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5Ib3JzLCBBLiwgSmFjb2Jz
LCBJLiwgYW5kIEQuIFJhZ2dldHQsICZsZHF1bzs8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9U
Ui8xOTk4L1JFQy1odG1sNDAtMTk5ODA0MjQiPkhUTUwgNC4wIFNwZWNpZmljYXRpb248L2E+LCZy
ZHF1bzsgV29ybGQgV2lkZSBXZWIgQ29uc29ydGl1bSBSZWNvbW1lbmRhdGlvbiZuYnNwO1JFQy1o
dG1sNDAtMTk5ODA0MjQsIEFwcmlsJm5ic3A7MTk5OCAoPGEgaHJlZj0iaHR0cDovL3d3dy53My5v
cmcvVFIvMTk5OC9SRUMtaHRtbDQwLTE5OTgwNDI0Ij5IVE1MPC9hPikuPC90ZD48L3RyPgo8L3Rh
YmxlPgoKPGEgbmFtZT0icmZjLnJlZmVyZW5jZXMyIj48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBz
dW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRP
Q2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2Mi
PiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGgzPjEwLjIuJm5ic3A7SW5m
b3JtYXRpdmUgUmVmZXJlbmNlczwvaDM+Cjx0YWJsZSB3aWR0aD0iOTklIiBib3JkZXI9IjAiPgo8
dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IkktRC5uYXJ0
ZW4taWFuYS1jb25zaWRlcmF0aW9ucy1yZmMyNDM0YmlzIj5bSS1ELm5hcnRlbi1pYW5hLWNvbnNp
ZGVyYXRpb25zLXJmYzI0MzRiaXNdPC9hPjwvdGQ+Cjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPk5h
cnRlbiwgVC4gYW5kIEguIEFsdmVzdHJhbmQsICZsZHF1bzs8YSBocmVmPSJodHRwOi8vd3d3Lmll
dGYub3JnL2ludGVybmV0LWRyYWZ0cy9kcmFmdC1uYXJ0ZW4taWFuYS1jb25zaWRlcmF0aW9ucy1y
ZmMyNDM0YmlzLTA5LnR4dCI+R3VpZGVsaW5lcyBmb3IgV3JpdGluZyBhbiBJQU5BIENvbnNpZGVy
YXRpb25zIFNlY3Rpb24gaW4gUkZDczwvYT4sJnJkcXVvOyBkcmFmdC1uYXJ0ZW4taWFuYS1jb25z
aWRlcmF0aW9ucy1yZmMyNDM0YmlzLTA5ICh3b3JrIGluIHByb2dyZXNzKSwgTWFyY2gmbmJzcDsy
MDA4ICg8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL2ludGVybmV0LWRyYWZ0cy9kcmFmdC1u
YXJ0ZW4taWFuYS1jb25zaWRlcmF0aW9ucy1yZmMyNDM0YmlzLTA5LnR4dCI+VFhUPC9hPikuPC90
ZD48L3RyPgo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9
Ik9BU0lTLnNhbWwtY29yZS0yLjAtb3MiPltPQVNJUy5zYW1sLWNvcmUtMi4wLW9zXTwvYT48L3Rk
Pgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBocmVmPSJtYWlsdG86Y2FudG9yLjJAb3N1LmVk
dSI+Q2FudG9yLCBTLjwvYT4sIDxhIGhyZWY9Im1haWx0bzpKb2huLktlbXBAbm9raWEuY29tIj5L
ZW1wLCBKLjwvYT4sIDxhIGhyZWY9Im1haWx0bzpycGhpbHBvdHRAcnNhc2VjdXJpdHkuY29tIj5Q
aGlscG90dCwgUi48L2E+LCBhbmQgPGEgaHJlZj0ibWFpbHRvOmV2ZS5tYWxlckBzdW4uY29tIj5F
LiBNYWxlcjwvYT4sICZsZHF1bzs8YSBocmVmPSJodHRwOi8vZG9jcy5vYXNpcy1vcGVuLm9yZy9z
ZWN1cml0eS9zYW1sL3YyLjAvc2FtbC1jb3JlLTIuMC1vcy5wZGYiPkFzc2VydGlvbnMgYW5kIFBy
b3RvY29sIGZvciB0aGUgT0FTSVMgU2VjdXJpdHkgQXNzZXJ0aW9uIE1hcmt1cCBMYW5ndWFnZQog
ICAgICAgICAgICAoU0FNTCkgVjIuMDwvYT4sJnJkcXVvOyBPQVNJUyBTdGFuZGFyZCZuYnNwO3Nh
bWwtY29yZS0yLjAtb3MsIE1hcmNoJm5ic3A7MjAwNS48L3RkPjwvdHI+Cjx0cj48dGQgY2xhc3M9
ImF1dGhvci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iT0F1dGggQ29yZSAxLjAiPltPQXV0
aCBDb3JlIDEuMF08L2E+PC90ZD4KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+SGFtbWVyLUxhaGF2
LCBFLiwgJmxkcXVvOzxhIGhyZWY9Imh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LWhh
bW1lci1vYXV0aC0wOCI+T0F1dGggQ29yZSAxLjAgUHJvdG9jb2w8L2E+LiZyZHF1bzs8L3RkPjwv
dHI+CjwvdGFibGU+Cgo8YSBuYW1lPSJhbmNob3I1MyI+PC9hPjxiciAvPjxociAvPgo8dGFibGUg
c3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJU
T0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9j
Ij4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+CjxhIG5hbWU9InJmYy5zZWN0
aW9uLkEiPjwvYT48aDM+QXBwZW5kaXggQS4mbmJzcDsKQ2xpZW50IEFjY291bnQgYW5kIFBhc3N3
b3JkIFByb2ZpbGUgRXhhbXBsZTwvaDM+Cgo8cD5JbiB0aGlzIGV4YW1wbGUsIGNybS5leGFtcGxl
LmNvbSBpcyBhbiBhcHBsaWNhdGlvbiBzZXJ2ZXIgdGhhdCBoYXMgYQogICAgICBQcm90ZWN0ZWQg
UmVzb3VyY2UgYXQgaHR0cHM6Ly9jcm0uZXhhbXBsZS5jb20vZGF0YS4gRGF0YUR1bXBlciBpcyBh
bgogICAgICBhcHBsaWNhdGlvbiBhY3RpbmcgYXMgYSBDbGllbnQgdGhhdCBwZXJpb2RpY2FsbHkg
Y2FsbHMKICAgICAgaHR0cHM6Ly9jcm0uZXhhbXBsZS5jb20vZGF0YS4gVGhlIFByb3RlY3RlZCBS
ZXNvdXJjZSB0cnVzdHMgdGhlCiAgICAgIEF1dGhvcml6YXRpb24gU2VydmVyIGF1dGguZXhhbXBs
ZS5uZXQgdG8gZGV0ZXJtaW5lIGlmIGEgQ2xpZW50IGhhcwogICAgICBhY2Nlc3MuCjwvcD4KPGEg
bmFtZT0iYW5jaG9yNTQiPjwvYT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIg
Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmln
aHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7
PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi5BLjEiPjwvYT48aDM+
QS4xLiZuYnNwOwpQcm92aXNpb25pbmc8L2gzPgoKPHA+VGhlIEF1dGhvcml6YXRpb24gU2VydmVy
IGRvY3VtZW50YXRpb24gZGVmaW5lcyB0aGUgQWNjZXNzIFRva2VuIFVSTAogICAgICAgIGFzOgo8
L3A+PGRpdiBzdHlsZT0nZGlzcGxheTogdGFibGU7IHdpZHRoOiAwOyBtYXJnaW4tbGVmdDogM2Vt
OyBtYXJnaW4tcmlnaHQ6IGF1dG8nPjxwcmU+CiBodHRwczovL2F1dGguZXhhbXBsZS5uZXQvYWNj
ZXNzX3Rva2VuCjwvcHJlPjwvZGl2Pgo8cD5UaGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgaGFzIGRl
ZmluZWQgdGhhdCB0aGUgcGFyYW1ldGVyIEF1ZGllbmNlIGJlCiAgICAgICAgaW5jbHVkZWQgaW4g
Y2FsbHMgdG8gdGhlIEFjY2VzcyBUb2tlbiBVUkwuCjwvcD4KPHA+VGhlIENsaWVudCBoYXMgYmVl
biBwcm92aXNpb25lZCB3aXRoIHRoZSBmb2xsb3dpbmc6CjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5
OiB0YWJsZTsgd2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+
PHByZT4KIENsaWVudCBBY2NvdW50OiBkYXRhZHVtcGVyIENsaWVudCBQYXNzd29yZDogajJodzdH
UHNsMAo8L3ByZT48L2Rpdj4KPHA+VGhlIFByb3RlY3RlZCBSZXNvdXJjZSBhbmQgdGhlIEF1dGhv
cml6YXRpb24gU2VydmVyIGhhdmUgYWdyZWVkIHRvCiAgICAgICAgdXNlIGEgU2ltcGxlIFdlYiBU
b2tlbiAoU1dUKSBmb3IgdGhlIEFjY2VzcyBUb2tlbiB3aXRoIHRoZSByZXNlcnZlZAogICAgICAg
IGF0dHJpYnV0ZXMgSXNzdWVyLCBBdWRpZW5jZSwgRXhwaXJlc09uIGFuZCB0aGUgcHVibGljIGF0
dHJpYnV0ZQogICAgICAgIG5ldC5leGFtcGxlLmF1dGguYWNjb3VudCBhbmQgaGF2ZSBleGNoYW5n
ZWQgdGhlIGZvbGxvd2luZyBITUFDIGtleQogICAgICAgIHZhbHVlIChleHByZXNzZWQgaW4gYmFz
ZSA2NCk6CjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDA7IG1hcmdpbi1s
ZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4KM2lLNVpZQW9CUXVPcVNnRi9ZcWxE
dzcwSEtSbWJ5WGtybDVmNFNKNFRvYz0KPC9wcmU+PC9kaXY+CjxhIG5hbWU9ImFuY2hvcjU1Ij48
L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBj
ZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNz
PSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90
YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uQS4yIj48L2E+PGgzPkEuMi4mbmJzcDsKQ2xpZW50
IFJlcXVlc3RzIEFjY2VzcyBUb2tlbjwvaDM+Cgo8cD5UaGUgQ2xpZW50IG1ha2VzIGFuIEhUVFBT
IFBPU1QgdG86CjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDA7IG1hcmdp
bi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4KaHR0cHM6Ly9hdXRoLmV4YW1w
bGUubmV0L2FjY2Vzc190b2tlbgo8L3ByZT48L2Rpdj4KPHA+V2l0aCB0aGUgZm9sbG93aW5nIG1l
c3NhZ2UgYm9keToKPC9wPjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFy
Z2luLWxlZnQ6IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPgp3cmFwX25hbWU9ZGF0YWR1
bXBlciZhbXA7d3JhcF9wYXNzd29yZD1qMmh3N0dQc2wwJmFtcDtBdWRpZW5jZT1jcm0uZXhhbXBs
ZS5jb20KPC9wcmU+PC9kaXY+CjxhIG5hbWU9ImFuY2hvcjU2Ij48L2E+PGJyIC8+PGhyIC8+Cjx0
YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xh
c3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9
IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZj
LnNlY3Rpb24uQS4zIj48L2E+PGgzPkEuMy4mbmJzcDsKU3VjY2Vzc2Z1bCBBY2Nlc3MgVG9rZW4g
UmVzcG9uc2UgZnJvbSBBdXRob3JpemF0aW9uIFNlcnZlcjwvaDM+Cgo8cD5UaGUgQXV0aG9yaXph
dGlvbiBTZXJ2ZXIgY2hlY2tzIHRoYXQgdGhlIENsaWVudCBQYXNzd29yZCBqMmh3N0dQc2wwCiAg
ICAgICAgaXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBDbGllbnQgTmFtZSBkYXRhZHVtcGVyIGFuZCB0
aGF0IHRoZSBDbGllbnQgaXMKICAgICAgICBhdXRob3JpemVkIHRvIGFjY2VzcyBjcm0uZXhhbXBs
ZS5jb20uIFRoZSBBdXRob3JpemF0aW9uIFNlcnZlciBub3RlcwogICAgICAgIHRoZSB0aW1lIGlz
IDIwMTAtMDItMDNUMDQ6MDU6MDZaLCB3aGljaCBpcyAxMjY1MTk4NzA2IHNlY29uZHMgc2luY2UK
ICAgICAgICAxOTcwLTAxLTAxVDA6MDowWi4gVGhlIEF1dGhvcml6YXRpb24gU2VydmVyIHdvdWxk
IGxpa2UgdGhlIEFjY2VzcwogICAgICAgIFRva2VuIHRvIGV4cGlyZSBpbiBhbiBob3VyLCBzbyAz
NjAwIGlzIGFkZGVkIHRvIHRoZSBjdXJyZW50IHRpbWUuIFRoZQogICAgICAgIEF1dGhvcml6YXRp
b24gU2VydmVyIHRoZW4gdXNlcyB0aGUgdmFsdWVzOgo8L3A+PGRpdiBzdHlsZT0nZGlzcGxheTog
dGFibGU7IHdpZHRoOiAwOyBtYXJnaW4tbGVmdDogM2VtOyBtYXJnaW4tcmlnaHQ6IGF1dG8nPjxw
cmU+Cm5ldC5leGFtcGxlLmF1dGguYWNjb3VudDoKZGF0YWR1bXBlciBFeHBpcmVzT246IDEyNjUy
MDIzMDYgKDEyNjUxOTg3MDYgKyAzNjAwKQpBdWRpZW5jZTogY3JtLmV4YW1wbGUuY29tCklzc3Vl
cjogYXV0aC5leGFtcGxlLm5ldAo8L3ByZT48L2Rpdj4KPHA+YW5kIHRoZSBhZ3JlZWQgSE1BQyBr
ZXkgdG8gZ2VuZXJhdGUgdGhlIGZvbGxvd2luZyBTV1Q6CjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5
OiB0YWJsZTsgd2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+
PHByZT4KbmV0LmV4YW1wbGUuYXV0aC5hY2NvdW50PWRhdGFkdW1wZXImYW1wO0V4cGlyZXNPbj0x
MjY1MjAyMzA2JmFtcDtBdWRpZW5jZT1jcm0uCmV4YW1wbGUuY29tJmFtcDtJc3N1ZXI9YXV0aC5l
eGFtcGxlLm5ldCZhbXA7SE1BQ1NIQTI1Nj1OOSUyRiUyRjB0U29zNzhNZTM2JTJCaQpvQkgwc0ZL
ZmQ3ZUNzVVJsRUloZW9VYkNKayUzRAo8L3ByZT48L2Rpdj4KPHA+VGhlIEF1dGhvcml6YXRpb24g
U2VydmVyIHRoZW4gcmVzcG9uZHMgdG8gdGhlIENsaWVudHMgSFRUUFMgcmVxdWVzdAogICAgICAg
IHdpdGg6CjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDA7IG1hcmdpbi1s
ZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4KSFRUUCAyMDAgT0sKPC9wcmU+PC9k
aXY+CjxwPmFuZCB0aGUgQWNjZXNzIFRva2VuIGFuZCBsaWZldGltZSBvZiB0aGUgQWNjZXNzIFRv
a2VuIGFzCiAgICAgICAgYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIGRhdGEgaW4g
dGhlIGJvZHkgb2YgdGhlIG1lc3NhZ2UgYXMKICAgICAgICBzdWNoOgo8L3A+PGRpdiBzdHlsZT0n
ZGlzcGxheTogdGFibGU7IHdpZHRoOiAwOyBtYXJnaW4tbGVmdDogM2VtOyBtYXJnaW4tcmlnaHQ6
IGF1dG8nPjxwcmU+CndyYXBfYWNjZXNzX3Rva2VuPW5ldC5leGFtcGxlLmF1dGguYWNjb3VudCUz
RGRhdGFkdW1wZXIlMjZFeHBpcmVzT24lM0QKMTI2NTIwMjMwNiUyNkF1ZGllbmNlJTNEY3JtLmV4
YW1wbGUuY29tJTI2SXNzdWVyJTNEYXV0aC5leGFtcGxlLm5ldCUyNgpITUFDU0hBMjU2JTNETjkl
MjUyRiUyNTJGMHRTb3M3OE1lMzYlMjUyQmlvQkgwc0ZLZmQ3ZUNzVVJsRUloZW9VYkNKayUyCjUz
RCZhbXA7d3JhcF9hY2Nlc3NfdG9rZW5fZXhwaXJlc19pbj0zNjAwPC9wcmU+PC9kaXY+CjxhIG5h
bWU9ImFuY2hvcjU3Ij48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNl
bGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0
Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwv
YT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uQS40Ij48L2E+PGgzPkEu
NC4mbmJzcDsKQ2xpZW50IENhbGxzIFByb3RlY3RlZCBSZXNvdXJjZTwvaDM+Cgo8cD5UaGUgQ2xp
ZW50IG5vdyBoYXMgYW4gQWNjZXNzIFRva2VuIHZhbGlkIGZvciBhbiBob3VyLiBUaGUgQ2xpZW50
CiAgICAgICAgbWFrZXMgYW4gQVBJIGNhbGwgdG86CjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0
YWJsZTsgd2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHBy
ZT4KaHR0cHM6Ly9jcm0uZXhhbXBsZS5jb20vZGF0YQo8L3ByZT48L2Rpdj4KPHA+aW5jbHVkaW5n
IHRoZSBmb2xsb3dpbmcgSFRUUCBoZWFkZXI6CjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJs
ZTsgd2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4K
QXV0aG9yaXphdGlvbjogV1JBUCBhY2Nlc3NfdG9rZW49Im5ldC5leGFtcGxlLmF1dGguYWNjb3Vu
dD1kYXRhZHVtcGVyJmFtcDsKRXhwaXJlc09uPTEyNjUyMDIzMDYmYW1wO0F1ZGllbmNlPWNybS5l
eGFtcGxlLmNvbSZhbXA7SXNzdWVyPWF1dGguZXhhbXBsZS5uZXQmYW1wOwpITUFDU0hBMjU2PU45
JTJGJTJGMHRTb3M3OE1lMzYlMkJpb0JIMHNGS2ZkN2VDc1VSbEVJaGVvVWJDSmslM0QiCjwvcHJl
PjwvZGl2Pgo8cD5UaGUgUHJvdGVjdGVkIFJlc291cmNlcyB2ZXJpZmllcyB0aGUgU1dUIGFuZCBw
ZXJmb3JtcyB0aGUgQ2xpZW50J3MKICAgICAgICByZXF1ZXN0IHBlciB0aGUgYXV0aG9yaXphdGlv
biBhdHRyaWJ1dGVzIGluIHRoZSBTV1QuCjwvcD4KPGEgbmFtZT0iYW5jaG9yNTgiPjwvYT48YnIg
Lz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFj
aW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1
ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8
YSBuYW1lPSJyZmMuc2VjdGlvbi5CIj48L2E+PGgzPkFwcGVuZGl4IEIuJm5ic3A7CldlYiBBcHAg
UHJvZmlsZSBFeGFtcGxlPC9oMz4KCjxwPkluIHRoaXMgZXhhbXBsZSwgSmFuZSwgdGhlIFVzZXIs
IGxpc3RlbnMgdG8gbXVzaWMgZnJvbQogICAgICBtdXNpYy5leGFtcGxlLmNvbSBhbmQgdXBkYXRl
cyBoZXIgc3RhdHVzIGF0IHN0YXR1cy5leGFtcGxlLmNvbS4gV2hlbgogICAgICBsaXN0ZW5pbmcg
dG8gbXVzaWMsIEphbmUgd291bGQgbGlrZSBoZXIgc3RhdHVzIHRvIGJlIHVwZGF0ZWQgYXQgdGhl
CiAgICAgIHN0YXJ0IG9mIGVhY2ggc29uZy4gRnJvbSBhbiBPQXV0aCBXUkFQIHBlcnNwZWN0aXZl
LCB0aGUgQ2xpZW50IGlzCiAgICAgIG11c2ljLmV4YW1wbGUuY29tLCB0aGUgUHJvdGVjdGVkIFJl
c291cmNlIGlzCiAgICAgIGh0dHBzOi8vc3RhdHVzLmV4YW1wbGUuY29tL3VwZGF0ZSwgYW5kIGF1
dGguZXhhbXBsZS5jb20gaXMgdGhlCiAgICAgIEF1dGhvcml6YXRpb24gU2VydmVyIHRydXN0ZWQg
Ynkgc3RhdHVzLmV4YW1wbGUuY29tLgo8L3A+CjxhIG5hbWU9ImFuY2hvcjU5Ij48L2E+PGJyIC8+
PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu
Zz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWci
PjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEg
bmFtZT0icmZjLnNlY3Rpb24uQi4xIj48L2E+PGgzPkIuMS4mbmJzcDsKUHJvdmlzaW9uaW5nPC9o
Mz4KCjxwPlRoZSBBdXRob3JpemF0aW9uIFNlcnZlciBkb2N1bWVudGF0aW9uIGRlZmluZXMgdGhl
IGZvbGxvd2luZwogICAgICAgIFVSTHM6CjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsg
d2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4KIFVz
ZXIgQXV0aG9yaXphdGlvbiBVUkw6ICBodHRwczovL2F1dGguZXhhbXBsZS5jb20vdXNlcl9hdXRo
b3JpemF0aW9uCiBBY2Nlc3MgVG9rZW4gVVJMOiAgICAgICAgaHR0cHM6Ly9hdXRoLmV4YW1wbGUu
Y29tL2FjY2Vzc190b2tlbgogUmVmcmVzaCBUb2tlbiBVUkw6ICAgICAgIGh0dHBzOi8vYXV0aC5l
eGFtcGxlLmNvbS9yZWZyZXNoX3Rva2VuCjwvcHJlPjwvZGl2Pgo8cD5UaGUgQXV0aG9yaXphdGlv
biBTZXJ2ZXIgaGFzIGRlZmluZWQgdGhhdCBpZiB0aGUgQ2xpZW50IHdhbnRzCiAgICAgICAgYXV0
aG9yaXphdGlvbiB0byB1cGRhdGUgYSBVc2VyJ3Mgc3RhdHVzLCB0aGF0IHRoZSBDbGllbnQgaW5j
bHVkZSB0aGUKICAgICAgICB3cmFwX3Njb3BlIHBhcmFtZXRlciB3aXRoIHRoZSB2YWx1ZSBzdGF0
dXNfdXBkYXRlIHdoZW4gcmVxdWVzdGluZwogICAgICAgIGF1dGhvcml6YXRpb24uCjwvcD4KPHA+
VGhlIENsaWVudCBoYXMgYmVlbiBwcm92aXNpb25lZCB3aXRoOgo8L3A+PGRpdiBzdHlsZT0nZGlz
cGxheTogdGFibGU7IHdpZHRoOiAwOyBtYXJnaW4tbGVmdDogM2VtOyBtYXJnaW4tcmlnaHQ6IGF1
dG8nPjxwcmU+CkNsaWVudCBJZGVudGlmaWVyOiBtdXNpYy5leGFtcGxlLmNvbQpDbGllbnQgU2Vj
cmV0OiA3RjI5ODZERjIzNDI5MTRBCjwvcHJlPjwvZGl2Pgo8cD5UaGUgQ2xpZW50IGhhcyByZWdp
c3RlcmVkIHRoZSBDYWxsYmFjayBVUkw6CjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsg
d2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4KaHR0
cHM6Ly9tdXNpYy5leGFtcGxlLmNvbS9hdXRoX2NhbGxiYWNrCjwvcHJlPjwvZGl2Pgo8cD5UaGUg
UHJvdGVjdGVkIFJlc291cmNlIGFuZCB0aGUgQXV0aG9yaXphdGlvbiBTZXJ2ZXIgaGF2ZSBhZ3Jl
ZWQgdG8KICAgICAgICB1c2UgYSBTaW1wbGUgV2ViIFRva2VuIChTV1QpIGZvciB0aGUgQWNjZXNz
IFRva2VuIHdpdGggdGhlIHJlc2VydmVkCiAgICAgICAgYXR0cmlidXRlcyBJc3N1ZXIsIEF1ZGll
bmNlLCBFeHBpcmVzT24gYW5kIHRoZSBwdWJsaWMgYXR0cmlidXRlcwogICAgICAgIGNvbS5leGFt
cGxlLmF1dGguYWNjb3VudCwgY29tLmV4YW1wbGUuYXV0aC5jbGllbnQgYW5kCiAgICAgICAgY29t
LmV4YW1wbGUuYXV0aC5zY29wZS4gVGhleSBoYXZlIGV4Y2hhbmdlZCB0aGUgZm9sbG93aW5nIEhN
QUMga2V5CiAgICAgICAgdmFsdWUgKGV4cHJlc3NlZCBpbiBiYXNlIDY0KToKPC9wPjxkaXYgc3R5
bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6IDNlbTsgbWFyZ2luLXJp
Z2h0OiBhdXRvJz48cHJlPgpadDlKbEwxUXZQWVJTQ0s5UGdTanJ4UlVCV2U3bGJFWXNaQ2RNK3NK
Q0Y0PQo8L3ByZT48L2Rpdj4KPGEgbmFtZT0iYW5jaG9yNjAiPjwvYT48YnIgLz48aHIgLz4KPHRh
YmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFz
cz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0i
I3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMu
c2VjdGlvbi5CLjIiPjwvYT48aDM+Qi4yLiZuYnNwOwpDbGllbnQgRGlyZWN0cyB0aGUgVXNlciB0
byB0aGUgU2VydmVyPC9oMz4KCjxwPkphbmUgaW5mb3JtcyBtdXNpYy5leGFtcGxlLmNvbSB0aGF0
IHNoZSB3b3VsZCBsaWtlIGhlciBzdGF0dXMgYXQKICAgICAgICBzdGF0dXMuZXhhbXBsZS5jb20g
dG8gYmUgdXBkYXRlZCB3aGVuIGEgbmV3IHNvbmcgc3RhcnRzIHBsYXlpbmcuIFRoZQogICAgICAg
IG11c2ljLmV4YW1wbGUuY29tIHdlYnNpdGUgbWFpbnRhaW5zIHVzZXIgc2Vzc2lvbnMgd2l0aCBh
IFVSTCBwYXJhbWV0ZXIKICAgICAgICBuYW1lZCBzZXNzaW9uIHdoaWNoIGhhcyB0aGUgdmFsdWUg
Vm4zSUcyRlJBTFNFUVgyTnhyIGF0IHRoaXMgdGltZSBmb3IKICAgICAgICBKYW5lLiBUaGUgQ2xp
ZW50IHdpbGwgdXNlIHdyYXBfY2xpZW50X3N0YXRlIHRvIG1haW50YWluIHRoZSBzZXNzaW9uCiAg
ICAgICAgdmFsdWUuIFRoZSBDbGllbnQgcmVkaXJlY3RzIEphbmUncyBicm93c2VyIHRvIHRoZSBB
dXRob3JpemF0aW9uCiAgICAgICAgU2VydmVyJ3MgVXNlciBBdXRob3JpemF0aW9uIFVSTCBhcHBl
bmRpbmcgcGFyYW1ldGVycyBmb3IgdGhlIENsaWVudAogICAgICAgIElkZW50aWZpZXIsIENhbGxi
YWNrIFVSTCwgQ2xpZW50IHN0YXRlIGFuZCBhdXRob3JpemF0aW9uIHNjb3BlLgo8L3A+PGRpdiBz
dHlsZT0nZGlzcGxheTogdGFibGU7IHdpZHRoOiAwOyBtYXJnaW4tbGVmdDogM2VtOyBtYXJnaW4t
cmlnaHQ6IGF1dG8nPjxwcmU+Cmh0dHBzOi8vYXV0aC5leGFtcGxlLmNvbS91c2VyX2F1dGhvcml6
YXRpb24/d3JhcF9jbGllbnRfaWQ9bXVzaWMuZXhhbXAKbGUuY29tJmFtcDt3cmFwX2NhbGxiYWNr
PWh0dHAlM0ElMkYlMkZtdXNpYy5leGFtcGxlLmNvbSUyRmF1dGhfY2FsbGJhY2smYW1wO3dyCmFw
X2NsaWVudF9zdGF0ZT1WbjNJRzJGUkFMU0VRWDJOeHImYW1wO3dyYXBfc2NvcGU9c3RhdHVzX3Vw
ZGF0ZQo8L3ByZT48L2Rpdj4KPGEgbmFtZT0iYW5jaG9yNjEiPjwvYT48YnIgLz48aHIgLz4KPHRh
YmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFz
cz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0i
I3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMu
c2VjdGlvbi5CLjMiPjwvYT48aDM+Qi4zLiZuYnNwOwpBdXRob3JpemF0aW9uIFNlcnZlciBDb25m
aXJtcyBEZWxlZ2F0aW9uIFJlcXVlc3Qgd2l0aCBVc2VyPC9oMz4KCjxwPlRoZSBBdXRob3JpemF0
aW9uIFNlcnZlciB2ZXJpZmllcyB0aGUgc3VwcGxpZWQgQ2xpZW50IElkZW50aWZpZXIKICAgICAg
ICBtdXNpYy5leGFtcGxlLmNvbSBoYXMgYmVlbiByZWdpc3RlcmVkIGFuZCBoYXMgdGhlIENhbGxi
YWNrIFVSTAogICAgICAgIGh0dHBzOi8vbXVzaWMuZXhhbXBsZS5jb20vYXV0aF9jYWxsYmFjay4g
VGhlIEF1dGhvcml6YXRpb24gU2VydmVyCiAgICAgICAgYXV0aGVudGljYXRlcyB0aGF0IHRoZSBV
c2VyIGl0IGlzIGRlYWxpbmcgd2l0aCBpcyBKYW5lLCBhbmQgdGhlbiBhc2tzCiAgICAgICAgSmFu
ZSB0byBhdXRob3JpemUgbXVzaWMuZXhhbXBsZS5jb20gdG8gdXBkYXRlIEphbmUncyBzdGF0dXMg
YXQKICAgICAgICBzdGF0dXMuZXhhbXBsZS5jb20uIEphbmUgYXBwcm92ZXMgdGhlIHJlcXVlc3Qg
YW5kIHRoZSBBdXRob3JpemF0aW9uCiAgICAgICAgU2VydmVyIGdlbmVyYXRlcyBhIFZlcmlmaWNh
dGlvbiBDb2RlIHdpdGggdGhlIHZhbHVlIDQ2WUVYUWpWaXQ2VDNuUTgsCiAgICAgICAgc3RvcmVz
IGl0IHdpdGggdGhlIENsaWVudCBJZGVudGlmaWVyLCBDYWxsYmFjayBVUmwgYW5kIHRoZSBjdXJy
ZW50CiAgICAgICAgdGltZS4KPC9wPgo8YSBuYW1lPSJhbmNob3I2MiI+PC9hPjxiciAvPjxociAv
Pgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIi
IGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBo
cmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+CjxhIG5hbWU9
InJmYy5zZWN0aW9uLkIuNCI+PC9hPjxoMz5CLjQuJm5ic3A7ClNlcnZlciBEaXJlY3RzIFVzZXIg
YmFjayB0byB0aGUgQ2xpZW50PC9oMz4KCjxwPlRoZSBTZXJ2ZXIgcmVkaXJlY3RzIEphbmUgYmFj
ayB0byB0aGUgQ2xpZW50J3MgQ2FsbGJhY2sgVVJMIHdpdGgKICAgICAgICB0aGUgVmVyaWZpY2F0
aW9uIENvZGUgYW5kIENsaWVudCBTdGF0ZSBhcHBlbmRlZDoKPC9wPjxkaXYgc3R5bGU9J2Rpc3Bs
YXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRv
Jz48cHJlPgpodHRwczovL211c2ljLmV4YW1wbGUuY29tL2F1dGhfY2FsbGJhY2s/d3JhcF92ZXJp
ZmljYXRpb25fY29kZT00NllFWFFqClZpdDZUM25ROCZhbXA7d3JhcF9jbGllbnRfc3RhdGU9Vm4z
SUcyRlJBTFNFUVgyTnhyCjwvcHJlPjwvZGl2Pgo8YSBuYW1lPSJhbmNob3I2MyI+PC9hPjxiciAv
PjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNp
bmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVn
Ij48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+Cjxh
IG5hbWU9InJmYy5zZWN0aW9uLkIuNSI+PC9hPjxoMz5CLjUuJm5ic3A7CkNsaWVudCBSZXF1ZXN0
cyBBY2Nlc3MgVG9rZW48L2gzPgoKPHA+VGhlIENsaWVudCBtYWtlcyBhbiBIVFRQUyBQT1NUIHJl
cXVlc3QgdG86CjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDA7IG1hcmdp
bi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4KaHR0cHM6Ly9hdXRoLmV4YW1w
bGUuY29tL2FjY2Vzc190b2tlbgo8L3ByZT48L2Rpdj4KPHA+V2l0aCB0aGUgZm9sbG93aW5nIG1l
c3NhZ2UgYm9keToKPC9wPjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFy
Z2luLWxlZnQ6IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPgp3cmFwX2NsaWVudF9pZD1t
dXNpYy5leGFtcGxlLmNvbSZhbXA7d3JhcF9jbGllbnRfc2VjcmV0PTdGMjk4NkRGMjM0MjkxNEEm
YW1wO3cKcmFwX3ZlcmlmaWNhdGlvbl9jb2RlPTQ2WUVYUWpWaXQ2VDNuUTgmYW1wO3dyYXBfY2Fs
bGJhY2s9aHR0cCUzQSUyRiUyRm11c2kKYy5leGFtcGxlLmNvbSUyRmF1dGhfY2FsbGJhY2sKPC9w
cmU+PC9kaXY+CjxhIG5hbWU9ImFuY2hvcjY0Ij48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1t
YXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1
ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZu
YnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24u
Qi42Ij48L2E+PGgzPkIuNi4mbmJzcDsKU3VjY2Vzc2Z1bCBBY2Nlc3MgVG9rZW4gUmVzcG9uc2Ug
ZnJvbSBBdXRob3JpemF0aW9uIFNlcnZlcjwvaDM+Cgo8cD5UaGUgQXV0aG9yaXphdGlvbiBTZXJ2
ZXIgdmVyaWZpZXMgdGhhdCB0aGUgVmVyaWZpY2F0aW9uIENvZGUgaXMKICAgICAgICBzdGlsbCB2
YWxpZCwgaGFzIG5vdCBiZWVuIHVzZWQsIGFuZCBpcyBhc3NvY2lhdGVkIHdpdGggdGhlIENsaWVu
dCBJRCwKICAgICAgICBDbGllbnQgU2VjcmV0IGFuZCBDYWxsYmFjayBVUkwgUGFzc3dvcmQuIFRo
ZSBBdXRob3JpemF0aW9uIFNlcnZlciB0aGVuCiAgICAgICAgZ2VuZXJhdGVzIGEgUmVmcmVzaCBU
b2tlbiB3aXRoIHRoZSB2YWx1ZToKPC9wPjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0
aDogMDsgbWFyZ2luLWxlZnQ6IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPgpNZmRXVGMr
djlNWGhwYytkL2NzcktGTVBmajFSeVNtNkN6SWptVEJHTjZ3PQo8L3ByZT48L2Rpdj4KPHA+VGhl
IEF1dGhvcml6YXRpb24gU2VydmVyIG5vdGVzIHRoZSB0aW1lIGlzIDIwMTAtMDEtMDJUMDM6MDQ6
MDVaLAogICAgICAgIHdoaWNoIGlzIDEyNjI0MzAyNDUgc2Vjb25kcyBzaW5jZSAxOTcwLTAxLTAx
VDA6MDowWi4gVGhlIEF1dGhvcml6YXRpb24KICAgICAgICBTZXJ2ZXIgdGhlbiB1c2VzIHRoZSB2
YWx1ZXM6CjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDA7IG1hcmdpbi1s
ZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4KY29tLmV4YW1wbGUuYXV0aC5zY29w
ZTogc3RhdHVzX3VwZGF0ZWEKY29tLmV4YW1wbGUuYXV0aC5hY2NvdW50OiBKYW5lCmNvbS5leGFt
cGxlLmF1dGguY2xpZW50OiBtdXNpYy5leGFtcGxlLmNvbQpFeHBpcmVzT246IDEyNjI0MzM4NDUg
KDEyNjI0MzAyNDUgKyAzNjAwIHNlY29uZHMgbGF0ZXIpCkF1ZGllbmNlOiBzdGF0dXMuZXhhbXBs
ZS5jb20KSXNzdWVyOiBhdXRoLmV4YW1wbGUuY29tCjwvcHJlPjwvZGl2Pgo8cD5hbmQgdGhlIGFn
cmVlZCBITUFDIGtleSB0byBnZW5lcmF0ZSB0aGUgZm9sbG93aW5nIFNXVDoKPC9wPjxkaXYgc3R5
bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6IDNlbTsgbWFyZ2luLXJp
Z2h0OiBhdXRvJz48cHJlPgpjb20uZXhhbXBsZS5hdXRoLnNjb3BlPXN0YXR1c191cGRhdGUmYW1w
O2NvbS5leGFtcGxlLmF1dGguYWNjb3VudD1KYW5lJmFtcDtjb20KLmV4YW1wbGUuYXV0aC5jbGll
bnQ9bXVzaWMuZXhhbXBsZS5jb20mYW1wO0V4cGlyZXNPbj0xMjYyNDMzODQ1JmFtcDtBdWRpZW5j
ZT1zCnRhdHVzLmV4YW1wbGUuY29tJmFtcDtJc3N1ZXI9YXV0aC5leGFtcGxlLmNvbSZhbXA7SE1B
Q1NIQTI1Nj0zeFpBWXpKUnRZQ1Fna0FGMwppcUVscDFEaHlLa1BocTk0N2owNE5jRG9jUSUzRAo8
L3ByZT48L2Rpdj4KPHA+VGhlIEF1dGhvcml6YXRpb24gU2VydmVyIHRoZW4gcmVzcG9uZHMgdG8g
dGhlIENsaWVudHMgSFRUUFMgcmVxdWVzdAogICAgICAgIHdpdGg6CjwvcD48ZGl2IHN0eWxlPSdk
aXNwbGF5OiB0YWJsZTsgd2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDog
YXV0byc+PHByZT4KSFRUUCAyMDAgT0sKPC9wcmU+PC9kaXY+CjxwPmFuZCB0aGUgUmVmcmVzaCBU
b2tlbiwgQWNjZXNzIFRva2VuIGFuZCBsaWZldGltZSBvZiB0aGUgQWNjZXNzCiAgICAgICAgVG9r
ZW4gYXMgYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIGRhdGEgaW4gdGhlIGJvZHkg
b2YgdGhlCiAgICAgICAgbWVzc2FnZSBhcyBzdWNoOgo8L3A+PGRpdiBzdHlsZT0nZGlzcGxheTog
dGFibGU7IHdpZHRoOiAwOyBtYXJnaW4tbGVmdDogM2VtOyBtYXJnaW4tcmlnaHQ6IGF1dG8nPjxw
cmU+CndyYXBfcmVmcmVzaF90b2tlbj1NZmRXVGMlMkJ2OU1YaHBjJTJCZCUyRmNzcktGTVBmajFS
eVNtNkN6SWptVEJHTjZ3JTMKRCZhbXA7d3JhcF9hY2Nlc3NfdG9rZW49Y29tLmV4YW1wbGUuYXV0
aC5zY29wZSUzRHN0YXR1c191cGRhdGUlMjZjb20uZXhhbXAKbGUuYXV0aC5hY2NvdW50JTNESmFu
ZSUyNmNvbS5leGFtcGxlLmF1dGguY2xpZW50JTNEbXVzaWMuZXhhbXBsZS5jb20lMgo2RXhwaXJl
c09uJTNEMTI2MjQzMzg0NSUyNkF1ZGllbmNlJTNEc3RhdHVzLmV4YW1wbGUuY29tJTI2SXNzdWVy
JTNEYXV0CmguZXhhbXBsZS5jb20lMjZITUFDU0hBMjU2JTNEM3haQVl6SlJ0WUNRZ2tBRjNpcUVs
cDFEaHlLa1BocTk0N2owNE5jRG8KY1ElMjUzRCZhbXA7d3JhcF9hY2Nlc3NfdG9rZW5fZXhwaXJl
c19pbj0zNjAwCjwvcHJlPjwvZGl2Pgo8cD5UaGUgQ2xpZW50IG5vdyBoYXMgYSBSZWZyZXNoIFRv
a2VuIGFuZCBBY2Nlc3MgVG9rZW4gdmFsaWQgZm9yIGFuCiAgICAgICAgaG91ci4gVGhlIENsaWVu
dCBzdG9yZXMgdGhlIFJlZnJlc2ggVG9rZW4gZm9yIGxhdGVyIHVzZS4KPC9wPgo8YSBuYW1lPSJh
bmNob3I2NSI+PC9hPjxiciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFk
ZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRy
Pjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90
ZD48L3RyPjwvdGFibGU+CjxhIG5hbWU9InJmYy5zZWN0aW9uLkIuNyI+PC9hPjxoMz5CLjcuJm5i
c3A7CkNsaWVudCBDYWxscyBQcm90ZWN0ZWQgUmVzb3VyY2U8L2gzPgoKPHA+QSBmZXcgbWludXRl
cyBsYXRlciwgbXVzaWMuZXhhbXBsZS5jb20gc3RhcnRzIHBsYXlpbmcgYSBuZXcgc29uZwogICAg
ICAgIGZvciBKYW5lLiBUaGUgQ2xpZW50IHVwZGF0ZXMgSmFuZSdzIHN0YXR1cyBhdCBzdGF0dXMu
ZXhhbXBsZS5jb20gYnkKICAgICAgICBtYWtpbmcgYW4gQVBJIGNhbGwgdG86CjwvcD48ZGl2IHN0
eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1y
aWdodDogYXV0byc+PHByZT4KaHR0cHM6Ly9zdGF0dXMuZXhhbXBsZS5jb20vdXBkYXRlCjwvcHJl
PjwvZGl2Pgo8cD5pbmNsdWRpbmcgdGhlIGZvbGxvd2luZyBIVFRQIGhlYWRlcjoKPC9wPjxkaXYg
c3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6IDNlbTsgbWFyZ2lu
LXJpZ2h0OiBhdXRvJz48cHJlPgpBdXRob3JpemF0aW9uOiBXUkFQIGFjY2Vzc190b2tlbj0iY29t
LmV4YW1wbGUuYXV0aC5zY29wZT1zdGF0dXNfdXBkYXRlCiZhbXA7Y29tLmV4YW1wbGUuYXV0aC5h
Y2NvdW50PUphbmUmYW1wO2NvbS5leGFtcGxlLmF1dGguY2xpZW50PW11c2ljLmV4YW1wbGUuYwpv
bSZhbXA7RXhwaXJlc09uPTEyNjI0MzM4NDUmYW1wO0F1ZGllbmNlPXN0YXR1cy5leGFtcGxlLmNv
bSZhbXA7SXNzdWVyPWF1dGguZXhhbXBsCmUuY29tJmFtcDtITUFDU0hBMjU2PTN4WkFZekpSdFlD
UWdrQUYzaXFFbHAxRGh5S2tQaHE5NDdqMDROY0RvY1ElM0QiCjwvcHJlPjwvZGl2Pgo8cD5UaGUg
UHJvdGVjdGVkIFJlc291cmNlcyB2ZXJpZmllcyB0aGUgU1dULCBjb25maXJtcyB0aGUKICAgICAg
ICBhdXRob3JpemF0aW9uIGNvbnRhaW5lZCBpbiB0aGUgU1dULCBhbmQgdXBkYXRlcyBKYW5lJ3Mg
c3RhdHVzLgo8L3A+CjxhIG5hbWU9ImFuY2hvcjY2Ij48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBz
dW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRP
Q2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2Mi
PiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rp
b24uQi44Ij48L2E+PGgzPkIuOC4mbmJzcDsKQ2xpZW50IFJlZnJlc2hlcyBBY2Nlc3MgVG9rZW48
L2gzPgoKPHA+QW4gaG91ciBwYXNzZXMgYnkgYW5kIG11c2ljLmV4YW1wbGUuY29tIHN0YXJ0cyBw
bGF5aW5nIGFub3RoZXIgbmV3CiAgICAgICAgc29uZyBmb3IgSmFuZS4gVGhlIENsaWVudCBhZ2Fp
biBtYWtlcyBhbiBBUEkgY2FsbCB0bwogICAgICAgIHN0YXR1cy5leGFtcGxlLmNvbSBpbmNsdWRp
bmcgdGhlIHNhbWUgSFRUUCBBdXRob3JpemF0aW9uIGhlYWRlci4KICAgICAgICBVbmxpa2UgcHJl
dmlvdXMgY2FsbHMgd2hlcmUgdGhlIHN0YXR1cyB1cGRhdGUgd2FzIHBlcmZvcm1lZCwgdGhlCiAg
ICAgICAgUHJvdGVjdGVkIFJlc291cmNlIHJldHVybnMgdGhlIGZvbGxvd2luZyBlcnJvciByZXNw
b25zZToKPC9wPjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxl
ZnQ6IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPgpIVFRQIDQwMSBVbmF1dGhvcml6ZWQK
PC9wcmU+PC9kaXY+CjxwPmFuZCB0aGUgSFRUUCBoZWFkZXI6CjwvcD48ZGl2IHN0eWxlPSdkaXNw
bGF5OiB0YWJsZTsgd2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0
byc+PHByZT4KV1dXLUF1dGhlbnRpY2F0ZTogV1JBUAo8L3ByZT48L2Rpdj4KPHA+VGhlIENsaWVu
dCBkZXRlcm1pbmVzIGl0IHByb2JhYmx5IG5lZWRzIGEgbmV3IEFjY2VzcyBUb2tlbiwKICAgICAg
ICByZXRyaWV2ZXMgdGhlIFJlZnJlc2ggVG9rZW4gYW5kIG1ha2VzIGFuIEhUVFBTIFBPU1QgdG86
CjwvcD48ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiAz
ZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4KaHR0cHM6Ly9hdXRoLmV4YW1wbGUuY29tL3Jl
ZnJlc2hfdG9rZW4KPC9wcmU+PC9kaXY+CjxwPmluY2x1ZGluZyB0aGUgQ2xpZW50IElkZW50aWZp
ZXIsIENsaWVudCBTZWNyZXQgYW5kIFJlZnJlc2ggVG9rZW4gaW4KICAgICAgICB0aGUgbWVzc2Fn
ZSBib2R5IGFzOgo8L3A+PGRpdiBzdHlsZT0nZGlzcGxheTogdGFibGU7IHdpZHRoOiAwOyBtYXJn
aW4tbGVmdDogM2VtOyBtYXJnaW4tcmlnaHQ6IGF1dG8nPjxwcmU+CndyYXBfY2xpZW50X2lkPW11
c2ljLmV4YW1wbGUuY29tJmFtcDt3cmFwX2NsaWVudF9zZWNyZXQ9N0YyOTg2REYyMzQyOTE0QSZh
bXA7dwpyYXBfcmVmcmVzaF90b2tlbj1NZmRXVGMlMkJ2OU1YaHBjJTJCZCUyRmNzcktGTVBmajFS
eVNtNkN6SWptVEJHTjZ3JTNECjwvcHJlPjwvZGl2Pgo8cD5UaGUgQXV0aG9yaXphdGlvbiBTZXJ2
ZXIgbG9va3MgdXAgdGhlIGRhdGEgYXNzb2NpYXRlZCB3aXRoIHRoZQogICAgICAgIFJlZnJlc2gg
VG9rZW4sIGRldGVybWluZXMgbXVzaWMuZXhhbXBsZS5jb20gaXMgc3RpbGwgYXV0aG9yaXplZCB0
bwogICAgICAgIHVwZGF0ZSBKYW5lJ3Mgc3RhdHVzLCBhbmQgZGV0ZXJtaW5lcyBpdCB3aWxsIGdl
bmVyYXRlIGEgbmV3IEFjY2VzcwogICAgICAgIFRva2VuIGZvciB0aGUgQ2xpZW50IHRoYXQgZXhw
aXJlcyBpbiBhbiBob3VyLiBUaGUgdGltZSBpcyBub3cKICAgICAgICAyMDEwLTAxLTAyVDA0OjE1
OjIzWiwgd2hpY2ggcmVzdWx0cyBpbiBhbiBBY2Nlc3MgVG9rZW4gZXhwaXJ5IHRpbWUgb2YKICAg
ICAgICAxMjYyNDM4MTIzIHNlY29uZHMgc2luY2UgMTk3MC0wMS0wMVQwOjA6MFouIFRoZSBBdXRo
b3JpemF0aW9uIFNlcnZlcgogICAgICAgIGdlbmVyYXRlcyBhIG5ldyBBY2Nlc3MgVG9rZW4gYW5k
IHJldHVybnMgaXQgaW4gdGhlIGJvZHkgb2YgdGhlIG1lc3NhZ2UKICAgICAgICBhczoKPC9wPjxk
aXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6IDNlbTsgbWFy
Z2luLXJpZ2h0OiBhdXRvJz48cHJlPgp3cmFwX2FjY2Vzc190b2tlbj1jb20uZXhhbXBsZS5hdXRo
LnNjb3BlPXN0YXR1c191cGRhdGUmYW1wO2NvbS5leGFtcGxlLmF1dApoLmFjY291bnQ9SmFuZSZh
bXA7Y29tLmV4YW1wbGUuYXV0aC5jbGllbnQ9bXVzaWMuZXhhbXBsZS5jb20mYW1wO0V4cGlyZXNP
bj0xMjYKMjQzODEyMyZhbXA7QXVkaWVuY2U9c3RhdHVzLmV4YW1wbGUuY29tJmFtcDtJc3N1ZXI9
YXV0aC5leGFtcGxlLmNvbSZhbXA7SE1BQ1NIQTI1Ngo9QVQ0VEZDaEhneXlsSXRFV0FqSzdNRlJK
dXZVUzNXTFZ6TyUyRjY4Z3ZJUlFJJTNEJmFtcDt3cmFwX2FjY2Vzc190b2tlbl9leApwaXJlc19p
bj0zNjAwCjwvcHJlPjwvZGl2Pgo8cD5UaGUgQ2xpZW50IHRha2VzIHRoZSBuZXcgQWNjZXNzIFRv
a2VuIGFuZCB1c2VzIGl0IHRvIHN1Y2Nlc3NmdWxseQogICAgICAgIHVwZGF0ZSBKYW5lJ3Mgc3Rh
dHVzIGF0IHN0YXR1cy5leGFtcGxlLmNvbS4KPC9wPgo8YSBuYW1lPSJyZmMuYXV0aG9ycyI+PC9h
PjxiciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2Vs
bHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0i
VE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFi
bGU+CjxoMz5BdXRob3JzJyBBZGRyZXNzZXM8L2gzPgo8dGFibGUgd2lkdGg9Ijk5JSIgYm9yZGVy
PSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiPgo8dHI+PHRkIGNsYXNzPSJhdXRo
b3ItdGV4dCI+Jm5ic3A7PC90ZD4KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+RGljayBIYXJkdCAo
ZWRpdG9yKTwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPiZuYnNwOzwvdGQ+
Cjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPk1pY3Jvc29mdDwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFz
cz0iYXV0aG9yIiBhbGlnbj0icmlnaHQiPkVtYWlsOiZuYnNwOzwvdGQ+Cjx0ZCBjbGFzcz0iYXV0
aG9yLXRleHQiPjxhIGhyZWY9Im1haWx0bzpkaWNrLmhhcmR0QGdtYWlsLmNvbSI+ZGljay5oYXJk
dEBnbWFpbC5jb208L2E+PC90ZD48L3RyPgo8dHIgY2VsbHBhZGRpbmc9IjMiPjx0ZD4mbmJzcDs8
L3RkPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Cjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4mbmJz
cDs8L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5BbGxlbiBUb208L3RkPjwvdHI+Cjx0cj48
dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4mbmJzcDs8L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0
Ij5ZYWhvbyE8L3RkPjwvdHI+Cjx0cj48dGQgY2xhc3M9ImF1dGhvciIgYWxpZ249InJpZ2h0Ij5F
bWFpbDombmJzcDs8L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBocmVmPSJtYWlsdG86
YXRvbUB5YWhvby1pbmMuY29tIj5hdG9tQHlhaG9vLWluYy5jb208L2E+PC90ZD48L3RyPgo8dHIg
Y2VsbHBhZGRpbmc9IjMiPjx0ZD4mbmJzcDs8L3RkPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Cjx0cj48
dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4mbmJzcDs8L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0
Ij5CcmlhbiBFYXRvbjwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPiZuYnNw
OzwvdGQ+Cjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPkdvb2dsZTwvdGQ+PC90cj4KPHRyPjx0ZCBj
bGFzcz0iYXV0aG9yIiBhbGlnbj0icmlnaHQiPkVtYWlsOiZuYnNwOzwvdGQ+Cjx0ZCBjbGFzcz0i
YXV0aG9yLXRleHQiPjxhIGhyZWY9Im1haWx0bzpiZWF0b25AZ29vZ2xlLmNvbSI+YmVhdG9uQGdv
b2dsZS5jb208L2E+PC90ZD48L3RyPgo8dHIgY2VsbHBhZGRpbmc9IjMiPjx0ZD4mbmJzcDs8L3Rk
Pjx0ZD4mbmJzcDs8L3RkPjwvdHI+Cjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4mbmJzcDs8
L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5ZYXJvbiBHb2xhbmQ8L3RkPjwvdHI+Cjx0cj48
dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4mbmJzcDs8L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0
Ij5NaWNyb3NvZnQ8L3RkPjwvdHI+Cjx0cj48dGQgY2xhc3M9ImF1dGhvciIgYWxpZ249InJpZ2h0
Ij5FbWFpbDombmJzcDs8L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBocmVmPSJtYWls
dG86eWFyb25nQG1pY3Jvc29mdC5jb20iPnlhcm9uZ0BtaWNyb3NvZnQuY29tPC9hPjwvdGQ+PC90
cj4KPC90YWJsZT4KPC9ib2R5PjwvaHRtbD4KCg==
--000e0cd11250c06a6104839980f5--

From uidude@google.com  Tue Apr  6 17:25:19 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 62C6A3A62C1 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 17:25:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.511
X-Spam-Level: 
X-Spam-Status: No, score=-105.511 tagged_above=-999 required=5 tests=[AWL=0.465, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id p6BMX10vZvgB for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 17:25:18 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 3F6AB3A672F for <oauth@ietf.org>; Tue,  6 Apr 2010 17:25:15 -0700 (PDT)
Received: from hpaq3.eem.corp.google.com (hpaq3.eem.corp.google.com [10.3.21.3]) by smtp-out.google.com with ESMTP id o370PAJA022648 for <oauth@ietf.org>; Tue, 6 Apr 2010 17:25:10 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270599910; bh=XkypenS4FMoDBUN5tmIrdt7puyU=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=KrxzDUcxiIdVKbP6XIhg+c4BC+CorjUJ92ZsCwmAtIJdcCqUQPjh8aD+DO1v6GW1G +imPq4jjD9qTPVqprLyjw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=cvEDUzZ0vXXzHjVugilKIYjPrJ1kYEfhPShI+eKDB1KXBYQu65FNXn3BipS/gEEHU 6iNOYxcCHzvBFKcg/ckqg==
Received: from qyk5 (qyk5.prod.google.com [10.241.83.133]) by hpaq3.eem.corp.google.com with ESMTP id o370OsjT027757 for <oauth@ietf.org>; Wed, 7 Apr 2010 02:25:09 +0200
Received: by qyk5 with SMTP id 5so587152qyk.3 for <oauth@ietf.org>; Tue, 06 Apr 2010 17:25:08 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.194 with HTTP; Tue, 6 Apr 2010 17:24:48 -0700 (PDT)
In-Reply-To: <C7E0F94B.31DB6%eran@hueniverse.com>
References: <m2mc8689b661004060704se500b9f8l76cdc11f79757919@mail.gmail.com>  <C7E0F94B.31DB6%eran@hueniverse.com>
From: Evan Gilbert <uidude@google.com>
Date: Tue, 6 Apr 2010 17:24:48 -0700
Received: by 10.229.230.4 with SMTP id jk4mr2842227qcb.1.1270599908504; Tue,  06 Apr 2010 17:25:08 -0700 (PDT)
Message-ID: <s2hc8689b661004061724m8d8d0790w8c491e7fa29aa712@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=0016364ec7a832bff204839a985d
X-System-Of-Record: true
Cc: Eran Hammer-Lahav <blade@yahoo-inc.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on Web Callback & Client Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Apr 2010 00:25:19 -0000

--0016364ec7a832bff204839a985d
Content-Type: text/plain; charset=ISO-8859-1

On Tue, Apr 6, 2010 at 2:44 PM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

>
>
>
> On 4/6/10 7:04 AM, "Evan Gilbert" <uidude@google.com> wrote:
>
> >
> >
> > On Tue, Apr 6, 2010 at 12:21 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> > wrote:
> >> Hi Evan,
> >>
> >> On 4/5/10 4:28 PM, "Evan Gilbert" <uidude@google.com> wrote:
> >>
> >>> 2.4.1 Web Callback Flow & 2.4.2 Web Client Flow
> >>> We should have an OPTIONAL username parameter:
> >>> username
> >>>   The resource owner's username. The authorization server MUST only
> send
> >>> back
> >>> refresh tokens or access tokens for this user.
> >>>
> >>> This is useful for clients where a user is already logged into a 3rd
> party
> >>> web
> >>> site with a specific account, and the client wants the authorization to
> >>> match
> >>> the specific user.
> >>
> >> I think introducing the concept of user identity is more complex than
> just a
> >> username parameter. I agree that it can be useful but we need a more
> >> detailed discussion about this before we add it.
> >
> > I agree issues around user identity are complex.
> >
> > Would it help to spin up a separate discussion thread on this one issue?
>
> That's one way. A more developed proposal is another.
>

Hah, ok :)

Can you give more feedback about what kind of information would help
clarify? Te exact meaning of the username needs to be tied to some identity
system (similiar to the username + password profile), and I wasn't sure how
to expand upon it.

Proposal:
In 2.4.1 & 2.4.2, add the following OPTIONAL parameter
username
  The resource owner's username. The authorization server MUST only send
back refresh tokens or access tokens for the user identified by username.




> EHL
>
>

--0016364ec7a832bff204839a985d
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Tue, Apr 6, 2010 at 2:44 PM, Eran Ham=
mer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com" targ=
et=3D"_blank">eran@hueniverse.com</a>&gt;</span> wrote:<br><blockquote clas=
s=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;pad=
ding-left:1ex">


<div><br>
<br>
<br>
On 4/6/10 7:04 AM, &quot;Evan Gilbert&quot; &lt;<a href=3D"mailto:uidude@go=
ogle.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
<br>
&gt;<br>
&gt;<br>
&gt; On Tue, Apr 6, 2010 at 12:21 AM, Eran Hammer-Lahav &lt;<a href=3D"mail=
to:eran@hueniverse.com" target=3D"_blank">eran@hueniverse.com</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt; Hi Evan,<br>
&gt;&gt;<br>
&gt;&gt; On 4/5/10 4:28 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"mailto:=
uidude@google.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; 2.4.1 Web Callback Flow &amp; 2.4.2 Web Client Flow<br>
</div><div>&gt;&gt;&gt; We should have an OPTIONAL username parameter:<br>
&gt;&gt;&gt; username<br>
&gt;&gt;&gt; =A0=A0The resource owner&#39;s username. The authorization ser=
ver MUST only send<br>
&gt;&gt;&gt; back<br>
&gt;&gt;&gt; refresh tokens or access tokens for this user.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; This is useful for clients where a user is already logged into=
 a 3rd party<br>
&gt;&gt;&gt; web<br>
&gt;&gt;&gt; site with a specific account, and the client wants the authori=
zation to<br>
&gt;&gt;&gt; match<br>
&gt;&gt;&gt; the specific user.<br>
&gt;&gt;<br>
&gt;&gt; I think introducing the concept of user identity is more complex t=
han just a<br>
&gt;&gt; username parameter. I agree that it can be useful but we need a mo=
re<br>
&gt;&gt; detailed discussion about this before we add it.<br>
&gt;<br>
&gt; I agree issues around user identity are complex.<br>
&gt;<br>
&gt; Would it help to spin up a separate discussion thread on this one issu=
e?<br>
<br>
</div>That&#39;s one way. A more developed proposal is another.<br></blockq=
uote><div><br></div><div>Hah, ok :)</div><div><br>Can you give more feedbac=
k about what kind of information would help clarify? Te exact meaning of th=
e username needs to be tied to some identity system (similiar to the userna=
me + password profile), and I wasn&#39;t sure how to expand upon it.</div>

<div><br></div><div>Proposal:</div><div>In 2.4.1 &amp; 2.4.2, add the follo=
wing OPTIONAL parameter</div><div><span style=3D"font-family:arial, sans-se=
rif;font-size:13px;border-collapse:collapse"><div>
<font face=3D"arial, sans-serif"><span style=3D"border-collapse:collapse"><=
span style=3D"border-collapse:separate;font-family:arial">username</span></=
span></font></div><div><font face=3D"arial, sans-serif"><span style=3D"bord=
er-collapse:collapse"><span style=3D"border-collapse:separate;font-family:a=
rial">=A0=A0The resource owner&#39;s username. The authorization server MUS=
T only send back refresh tokens or access tokens for the user identified by=
 username.</span></span></font></div>

<div><span class=3D"Apple-style-span" style=3D"border-collapse: separate;">=
<br></span></div><div><span class=3D"Apple-style-span" style=3D"border-coll=
apse: separate;"><br></span></div>
<div><font face=3D"arial, sans-serif"><span style=3D"border-collapse:collap=
se"><span style=3D"border-collapse:separate;font-family:arial"><br></span><=
/span></font></div></span></div><blockquote class=3D"gmail_quote" style=3D"=
margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<font color=3D"#888888"><br>
EHL<br>
<br>
</font></blockquote></div><br>

--0016364ec7a832bff204839a985d--

From igor.faynberg@alcatel-lucent.com  Tue Apr  6 21:16:48 2010
Return-Path: <igor.faynberg@alcatel-lucent.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 52DF43A6A63 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 21:16:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NWJtEtlaiWrC for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 21:16:47 -0700 (PDT)
Received: from ihemail3.lucent.com (ihemail3.lucent.com [135.245.0.37]) by core3.amsl.com (Postfix) with ESMTP id CD4803A6A29 for <oauth@ietf.org>; Tue,  6 Apr 2010 21:16:46 -0700 (PDT)
Received: from umail.lucent.com (h135-3-40-63.lucent.com [135.3.40.63]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id o374Gdbo005873 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 6 Apr 2010 23:16:39 -0500 (CDT)
Received: from [135.244.33.38] (faynberg.lra.lucent.com [135.244.33.38]) by umail.lucent.com (8.13.8/TPES) with ESMTP id o374Gc0e028903; Tue, 6 Apr 2010 23:16:38 -0500 (CDT)
Message-ID: <4BBC0727.1080702@alcatel-lucent.com>
Date: Wed, 07 Apr 2010 00:16:39 -0400
From: Igor Faynberg <igor.faynberg@alcatel-lucent.com>
Organization: Alcatel-Lucent
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <C7E0F882.31DB3%eran@hueniverse.com>
In-Reply-To: <C7E0F882.31DB3%eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.37
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: igor.faynberg@alcatel-lucent.com
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Apr 2010 04:16:48 -0000

Yes, if we go with RFC 2617, then--and please correct me if I am 
wrong--it looks to me that *realm* here means pretty much the same thing 
as *Kerberos realm*. I strongly agree on getting the definition clear, 
and I agree that nothing should be "opaque."

(I as puzzled by the quoted exchange, and I decided that I am simply 
ignorant about the terminology and should wait until it is clarified. In 
this group there is a good mix of people with different backgrounds, and 
so sorting out the terminology seems to be the most important thing to 
accomplish.)

Igor

Eran Hammer-Lahav wrote:
> RFC 2617 defines what a realm is - a set of resources sharing the same set
> of credentials. It saves the client the need to prompt the user again for
> their credentials when browsing a site across resources. Because sending
> credentials to the wrong place is dangerous, realms are hard to use because
> the client must take into account more than just the same realm but also the
> domain name, etc.
>
> Most of the example people gave for their use of scope where in practice a
> segment ('photos', 'contacts', etc.). Usually each of these groups use
> different APIs (a single API call that can bring both a photo and contact,
> but only a photo if using a limited token without contact access, is rare).
>
> This is why I suggested using realm as a well defined subset of what people
> here refer to as 'scope'.
>
> I don't like the idea of defining a parameter that requires internal
> structure as opaque and leaving it up to the individual services to define.
> This doesn't help interop. If you have to define the structure of the scope
> parameter, you might as well define the parameter as well.
>
> The argument that having a consistent parameter with an opaque value help
> libraries is silly. Good libraries will pass along any custom parameters
> they found to the higher level. This adds nothing but is likely to cause
> problems when people code libraries with scope structure specific to one
> company. It will also cause confusion when two scopes mean completely
> different things across services.
>
>
> EHL
>
>
> On 4/6/10 8:03 AM, "Dick Hardt" <dick.hardt@gmail.com> wrote:
>
>   
>> On 2010-04-06, at 12:16 AM, Eran Hammer-Lahav wrote:
>>
>>     
>>>
>>> On 4/2/10 3:27 PM, "Dick Hardt" <dick.hardt@gmail.com> wrote:
>>>
>>>       
>>>> There are times when a resource may have different scope for different kinds
>>>> of access. realm != scope
>>>>         
>>> No. Realm is a subset. It is what people define as the protected segment
>>> name.
>>>       
>>  Different Protected Resources could require the same scope, so I see realm
>> and scope as being orthogonal.
>>
>>     
>>> For any other scope attribute we need to first define it.
>>>       
>> Why? Scope will often be application specific.
>>
>>
>>     
>
>   

From igor.faynberg@alcatel-lucent.com  Tue Apr  6 21:31:58 2010
Return-Path: <igor.faynberg@alcatel-lucent.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 279103A67EC for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 21:31:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8s09KEbxJkz9 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 21:31:57 -0700 (PDT)
Received: from ihemail3.lucent.com (ihemail3.lucent.com [135.245.0.37]) by core3.amsl.com (Postfix) with ESMTP id 018AB3A6A6D for <oauth@ietf.org>; Tue,  6 Apr 2010 21:31:55 -0700 (PDT)
Received: from umail.lucent.com (h135-3-40-63.lucent.com [135.3.40.63]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id o374Vaet011796 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 6 Apr 2010 23:31:36 -0500 (CDT)
Received: from [135.244.33.38] (faynberg.lra.lucent.com [135.244.33.38]) by umail.lucent.com (8.13.8/TPES) with ESMTP id o374VZUP004525; Tue, 6 Apr 2010 23:31:35 -0500 (CDT)
Message-ID: <4BBC0AA8.2010708@alcatel-lucent.com>
Date: Wed, 07 Apr 2010 00:31:36 -0400
From: Igor Faynberg <igor.faynberg@alcatel-lucent.com>
Organization: Alcatel-Lucent
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
To: Marius Scurtescu <mscurtescu@google.com>
References: <27B54FC8-6C50-4283-89AF-6EB44A6FD006@facebook.com> <C7E0F8EA.31DB5%eran@hueniverse.com> <u2p74caaad21004061457we221c390z335eef56bc6aaad6@mail.gmail.com>
In-Reply-To: <u2p74caaad21004061457we221c390z335eef56bc6aaad6@mail.gmail.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.37
Cc: OAuth WG <oauth@ietf.org>
Subject: [OAUTH-WG] More on definitions (was Re:  Scope using Realm idea)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: igor.faynberg@alcatel-lucent.com
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Apr 2010 04:31:58 -0000

I've been reading this with much interest, but I am getting hopelessly 
lost because of the usage of the word API.  Somehow, to me -- for many 
years--it meant the format of procedure calls, or, more general, 
procedure signatures in standard libraries.

I remember David at the last meeting clarified to me that by "API" he 
meant HTTP headers.  I don't mind broadening the term, but do we have a 
definition for it?

Igor

Marius Scurtescu wrote:
> On Tue, Apr 6, 2010 at 2:42 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
>   
>> The question is how your APIs are structure. Do you have APIs that require
>> multiple “scopes” in a single call?
>>     
>
> Things can get even more complicated. When the user grants access for
> the client, the approval page should list all the scopes the client is
> requesting. This is the set of scopes needed by the client for *all*
> the API calls. Each API will need a subset of this approved, larger
> set.
>
> With that in mind, it would be useful to be able to down-scope access
> tokens when using the refresh token, this way the client can send the
> smallest set of scopes with each API call.
>
> But again, for all the above, the client must have intimate knowledge
> of the APIs (aka protected resources) and what scopes are required,
> the OAuth 2.0 libraries used by the client can treat the scopes as
> opaque strings IMO.
>
> Marius
>
>   
>> EHL
>>
>>
>> On 4/6/10 8:29 AM, "Luke Shepard" <lshepard@facebook.com> wrote:
>>
>> For Facebook at least, we are currently planning to use scope as a
>> comma-separated list of permissions from this set:
>> http://wiki.developers.facebook.com/index.php/Extended_permissions
>>
>> For instance:
>>
>>         oauth_scope=read_stream,email,photo_upload
>>
>> I'm not sure if that maps to realm exactly.
>>
>> On Apr 6, 2010, at 8:03 AM, Dick Hardt wrote:
>>
>>     
>>> On 2010-04-06, at 12:16 AM, Eran Hammer-Lahav wrote:
>>>
>>>       
>>>>
>>>> On 4/2/10 3:27 PM, "Dick Hardt" <dick.hardt@gmail.com> wrote:
>>>>
>>>>         
>>>>> There are times when a resource may have different scope for different
>>>>> kinds
>>>>> of access. realm != scope
>>>>>           
>>>> No. Realm is a subset. It is what people define as the protected segment
>>>> name.
>>>>         
>>> Different Protected Resources could require the same scope, so I see realm
>>> and scope as being orthogonal.
>>>
>>>       
>>>> For any other scope attribute we need to first define it.
>>>>         
>>> Why? Scope will often be application specific.
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>       
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>>     
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>   

From beaton@google.com  Tue Apr  6 22:13:55 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 74EAF3A6A7A for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 22:13:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level: 
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 88dhPBCIT8jl for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 22:13:49 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 48EED3A6A6C for <oauth@ietf.org>; Tue,  6 Apr 2010 22:13:49 -0700 (PDT)
Received: from kpbe18.cbf.corp.google.com (kpbe18.cbf.corp.google.com [172.25.105.82]) by smtp-out.google.com with ESMTP id o375DjJf025759 for <oauth@ietf.org>; Tue, 6 Apr 2010 22:13:45 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270617225; bh=8jMiIVnUmBcKUo0iQIDwB0X+1kQ=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=npQ+xtGStOfZMUV+eHvmbmz6S5YlVy1Jeg6yhG6UurmoDO1YesopkSpqiO7rt8u68 bHvT8+gwuQk1h2fPB0ogQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=L1dd8tB4rF2U6gKRLxvk8QySbgz/XkOcjNcHV33VJd6wxOdOBejYQOnOJmkFfJJmF m1LUNfOAq1QYNqL9x3Y7w==
Received: from vws5 (vws5.prod.google.com [10.241.21.133]) by kpbe18.cbf.corp.google.com with ESMTP id o375Dg2V028366 for <oauth@ietf.org>; Tue, 6 Apr 2010 22:13:44 -0700
Received: by vws5 with SMTP id 5so59987vws.8 for <oauth@ietf.org>; Tue, 06 Apr 2010 22:13:42 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.124.2 with HTTP; Tue, 6 Apr 2010 22:13:41 -0700 (PDT)
In-Reply-To: <2EB1540C-6B2C-4053-8153-545E80A90968@gmail.com>
References: <w2rc8689b661004051628q729ca3a8s4855be6d7af14a82@mail.gmail.com> <C7E02F03.31D50%eran@hueniverse.com> <m2mc8689b661004060704se500b9f8l76cdc11f79757919@mail.gmail.com> <w2vfd6741651004060753o8f56bf5ct33eb45d8fcf48ce8@mail.gmail.com> <z2tc8689b661004060845m3c2cd76l2937976143541604@mail.gmail.com> <2EB1540C-6B2C-4053-8153-545E80A90968@gmail.com>
Date: Tue, 6 Apr 2010 22:13:41 -0700
Received: by 10.220.121.145 with SMTP id h17mr4137725vcr.174.1270617221482;  Tue, 06 Apr 2010 22:13:41 -0700 (PDT)
Message-ID: <k2qdaf5b9571004062213id823cbb2yd2ee351dd24b1989@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: David Recordon <recordond@gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: Eran Hammer-Lahav <blade@yahoo-inc.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on Web Callback & Client Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Apr 2010 05:13:55 -0000

On Tue, Apr 6, 2010 at 11:15 AM, David Recordon <recordond@gmail.com> wrote:
> There is potential for leakage if the client then redirects the user to
> another SSL URL. This doesn't feel like a common pattern and the client
> would generally be redirecting to a page which they control after receiving
> the access token.
> From 15.1.3 of RFC 2616:
> Clients SHOULD NOT include a Referer header field in a (non-secure) HTTP
> request if the referring page was transferred with a secure protocol.

There are several ways tokens passed on URLs tend to leak.  I think I
listed them all in the security considerations. [1]

If the callback URL points to a page that links to third-party
content, the third-party content will get a copy of the URL, including
the access token, via the referer header.  Search for 'referer' in the
browsersec wiki [2] for the gory details.

If the callback URL is an open redirector, it might be tricked into
sending the access token to an untrusted third-party.

If the web server logs requests, the access token will end up in the
web server logs.

Passing the token on the fragment mitigates all of those risks.
Callback URL whitelisting is also important.  Time-limited access
tokens are a final layer of defense.

There are some intrinsic risks here - I'd like to make sure that we
treat lightweight javascript clients (no secrets, transient data
access, authenticated only by callback URL) different than
full-fledged web servers (can keep secrets, permanent data access.)

Note that it's pretty easy for a web server to pass an access token
down into a javascript widget.  So I think there's a clear upgrade
path from the one mode to the other.

Cheers,
Brian

[1] http://trac.tools.ietf.org/wg/oauth/trac/wiki/SecurityConsiderations
[2] http://code.google.com/p/browsersec/wiki/Part1#Hypertext_Transfer_Protocol

From beaton@google.com  Tue Apr  6 22:33:48 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AEB6B3A6877 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 22:33:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.977
X-Spam-Level: 
X-Spam-Status: No, score=-101.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id obCiSwJ7l8bQ for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 22:33:44 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id C9E983A67EB for <oauth@ietf.org>; Tue,  6 Apr 2010 22:33:40 -0700 (PDT)
Received: from hpaq6.eem.corp.google.com (hpaq6.eem.corp.google.com [10.3.21.6]) by smtp-out.google.com with ESMTP id o375XY9P011572 for <oauth@ietf.org>; Wed, 7 Apr 2010 07:33:34 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270618414; bh=jOc0n8KAAlXe29jpYkQYbokzaTI=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=W4nKYcoTDMilbiPqZpFP9hIrhB1q0b78kkFuHOGjR+lQ/UH6m1ogcsXD+HcxUXC98 YzEPECj5/HANJ9/NzOrig==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=VKEt9JZcDhPhbFuymEbqpPf+ma5eS/Ik4bF3nqG1Mg6oOWLk/ydxiwnFl9hxnEk1i v9NGa2/Pp1TeChmikjSMA==
Received: from vws19 (vws19.prod.google.com [10.241.21.147]) by hpaq6.eem.corp.google.com with ESMTP id o375XXJu017858 for <oauth@ietf.org>; Wed, 7 Apr 2010 07:33:33 +0200
Received: by vws19 with SMTP id 19so348123vws.29 for <oauth@ietf.org>; Tue, 06 Apr 2010 22:33:32 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.124.2 with HTTP; Tue, 6 Apr 2010 22:33:32 -0700 (PDT)
In-Reply-To: <DD9BF2EB-0626-4FD4-B721-D31898D854AA@facebook.com>
References: <C7E02CA6.31D47%eran@hueniverse.com> <DD9BF2EB-0626-4FD4-B721-D31898D854AA@facebook.com>
Date: Tue, 6 Apr 2010 22:33:32 -0700
Received: by 10.220.107.137 with SMTP id b9mr4061834vcp.227.1270618412663;  Tue, 06 Apr 2010 22:33:32 -0700 (PDT)
Message-ID: <v2xdaf5b9571004062233r41ae4b3at7ba04ea0e5b6fb2d@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Luke Shepard <lshepard@facebook.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Renaming expires to expires_in?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Apr 2010 05:33:48 -0000

On Tue, Apr 6, 2010 at 8:24 AM, Luke Shepard <lshepard@facebook.com> wrote:
> Just curious, where did "duration" come from?
> I hate to be picky, but I feel like "expires_in" is more clear than
> "duration" ... if only because other protocols (OAuth 1.0a, OpenID, Facebook
> auth) use "expires".

"duration" is pretty vague.  "expires" or "expires_in" are both fine by me.

From eran@hueniverse.com  Tue Apr  6 23:07:32 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D59003A6807 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 23:07:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.362
X-Spam-Level: 
X-Spam-Status: No, score=-2.362 tagged_above=-999 required=5 tests=[AWL=0.237,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SjjEZgd81Xdg for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 23:07:31 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id A6B6B3A67E3 for <oauth@ietf.org>; Tue,  6 Apr 2010 23:07:31 -0700 (PDT)
Received: (qmail 14019 invoked from network); 7 Apr 2010 06:07:27 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 7 Apr 2010 06:07:27 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Tue, 6 Apr 2010 23:07:27 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Evan Gilbert <uidude@google.com>
Date: Tue, 6 Apr 2010 23:07:24 -0700
Thread-Topic: [OAUTH-WG] Comments on Web Callback & Client Flow
Thread-Index: AcrV6MqcWg8mVxnvTTSH/GdUTcfIMwAL8y5M
Message-ID: <C7E16F2C.31E21%eran@hueniverse.com>
In-Reply-To: <s2hc8689b661004061724m8d8d0790w8c491e7fa29aa712@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on Web Callback & Client Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Apr 2010 06:07:33 -0000

On 4/6/10 5:24 PM, "Evan Gilbert" <uidude@google.com> wrote:

> Proposal:
> In 2.4.1 & 2.4.2, add the following OPTIONAL parameter
> username
> =A0=A0The resource owner's username. The authorization server MUST only s=
end back
> refresh tokens or access tokens for the user identified by username.

What are the security implications? How can the client know that the token
it got is really for that user?

EHL


From uidude@google.com  Tue Apr  6 23:15:14 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id CF6313A6767 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 23:15:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.326
X-Spam-Level: 
X-Spam-Status: No, score=-101.326 tagged_above=-999 required=5 tests=[AWL=0.650, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0nYeOjiGNWU8 for <oauth@core3.amsl.com>; Tue,  6 Apr 2010 23:15:13 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 080983A66B4 for <oauth@ietf.org>; Tue,  6 Apr 2010 23:15:12 -0700 (PDT)
Received: from wpaz33.hot.corp.google.com (wpaz33.hot.corp.google.com [172.24.198.97]) by smtp-out.google.com with ESMTP id o376F66e011557 for <oauth@ietf.org>; Wed, 7 Apr 2010 08:15:07 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270620907; bh=zot9jaFpIaROGOESVN06xwTIhq0=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=M5d/BpRq0wq+mE+d1B/tk3eScaJ2y56LAvIaZ2dL0BHges1fr7DHhFvc1vCOyBr7j YFvjuQglffyiFnuyFjusQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=d4sFhyov/bTuYjnoyc2KBiCUrpRGERpZEb9mPFbnWtwY5xgjtqeUKiIhDnmM0VFWx jntweM+ZKrJQ1/pmcWohg==
Received: from qyk26 (qyk26.prod.google.com [10.241.83.154]) by wpaz33.hot.corp.google.com with ESMTP id o376F4ef016038 for <oauth@ietf.org>; Tue, 6 Apr 2010 23:15:06 -0700
Received: by qyk26 with SMTP id 26so760066qyk.19 for <oauth@ietf.org>; Tue, 06 Apr 2010 23:15:04 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.194 with HTTP; Tue, 6 Apr 2010 23:14:43 -0700 (PDT)
In-Reply-To: <C7E16F2C.31E21%eran@hueniverse.com>
References: <s2hc8689b661004061724m8d8d0790w8c491e7fa29aa712@mail.gmail.com>  <C7E16F2C.31E21%eran@hueniverse.com>
From: Evan Gilbert <uidude@google.com>
Date: Tue, 6 Apr 2010 23:14:43 -0700
Received: by 10.229.242.3 with SMTP id lg3mr878260qcb.102.1270620904695; Tue,  06 Apr 2010 23:15:04 -0700 (PDT)
Message-ID: <n2ic8689b661004062314ha8689ddcrd6fa932b1915eda4@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=001485eba704ab29f404839f7bf4
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on Web Callback & Client Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Apr 2010 06:15:14 -0000

--001485eba704ab29f404839f7bf4
Content-Type: text/plain; charset=ISO-8859-1

On Tue, Apr 6, 2010 at 11:07 PM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

>
>
>
> On 4/6/10 5:24 PM, "Evan Gilbert" <uidude@google.com> wrote:
>
> > Proposal:
> > In 2.4.1 & 2.4.2, add the following OPTIONAL parameter
> > username
> >   The resource owner's username. The authorization server MUST only send
> back
> > refresh tokens or access tokens for the user identified by username.
>
> What are the security implications? How can the client know that the token
> it got is really for that user?
>

Think the client has to trust the auth server, in the same way as with the
username + password profile. The auth server can always send back a scope
for a different user.

Worst case is that there is an identity mismatch between client and the
identity implicit in the authorization token. This mismatch is already
possible, and I don't think the username parameter makes the problem worse.


> EHL
>
>

--001485eba704ab29f404839f7bf4
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Tue, Apr 6, 2010 at 11:07 PM, Eran Ha=
mmer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com">era=
n@hueniverse.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote"=
 style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class=3D"im"><br>
<br>
<br>
On 4/6/10 5:24 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"mailto:uidude@go=
ogle.com">uidude@google.com</a>&gt; wrote:<br>
<br>
&gt; Proposal:<br>
&gt; In 2.4.1 &amp; 2.4.2, add the following OPTIONAL parameter<br>
&gt; username<br>
&gt; =A0=A0The resource owner&#39;s username. The authorization server MUST=
 only send back<br>
&gt; refresh tokens or access tokens for the user identified by username.<b=
r>
<br>
</div>What are the security implications? How can the client know that the =
token<br>
it got is really for that user?<br></blockquote><div><br></div><div>Think t=
he client has to trust the auth server, in the same way as with the usernam=
e + password profile. The auth server can always send back a scope for a di=
fferent user.</div>

<div><br></div><div>Worst case is that there is an identity mismatch betwee=
n client and the identity implicit in the authorization token. This mismatc=
h is already possible, and I don&#39;t think the username parameter makes t=
he problem worse.</div>

<div><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex=
;border-left:1px #ccc solid;padding-left:1ex;">
<font color=3D"#888888"><br>
EHL<br>
<br>
</font></blockquote></div><br>

--001485eba704ab29f404839f7bf4--

From eran@hueniverse.com  Wed Apr  7 00:08:32 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D3FC23A681D for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 00:08:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.374
X-Spam-Level: 
X-Spam-Status: No, score=-2.374 tagged_above=-999 required=5 tests=[AWL=0.224,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id W9UlCHZ-8-BW for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 00:08:31 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id A46B23A6774 for <oauth@ietf.org>; Wed,  7 Apr 2010 00:08:31 -0700 (PDT)
Received: (qmail 16178 invoked from network); 7 Apr 2010 07:08:27 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 7 Apr 2010 07:08:27 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Wed, 7 Apr 2010 00:08:27 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Evan Gilbert <uidude@google.com>
Date: Wed, 7 Apr 2010 00:08:22 -0700
Thread-Topic: [OAUTH-WG] Comments on Web Callback & Client Flow
Thread-Index: AcrWGawx4WxfkiE1Q96aR1ABor+cggAB296n
Message-ID: <C7E17D76.31E24%eran@hueniverse.com>
In-Reply-To: <n2ic8689b661004062314ha8689ddcrd6fa932b1915eda4@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E17D7631E24eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on Web Callback & Client Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Apr 2010 07:08:32 -0000

--_000_C7E17D7631E24eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

What about an attacker changing the username similar to the way a callback =
can be changed?

EHL


On 4/6/10 11:14 PM, "Evan Gilbert" <uidude@google.com> wrote:



On Tue, Apr 6, 2010 at 11:07 PM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:



On 4/6/10 5:24 PM, "Evan Gilbert" <uidude@google.com> wrote:

> Proposal:
> In 2.4.1 & 2.4.2, add the following OPTIONAL parameter
> username
>   The resource owner's username. The authorization server MUST only send =
back
> refresh tokens or access tokens for the user identified by username.

What are the security implications? How can the client know that the token
it got is really for that user?

Think the client has to trust the auth server, in the same way as with the =
username + password profile. The auth server can always send back a scope f=
or a different user.

Worst case is that there is an identity mismatch between client and the ide=
ntity implicit in the authorization token. This mismatch is already possibl=
e, and I don't think the username parameter makes the problem worse.


EHL




--_000_C7E17D7631E24eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Comments on Web Callback &amp; Client Flow</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>What about an attacker changing the username similar to the way a cal=
lback can be changed?<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/6/10 11:14 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"uidude@google.c=
om">uidude@google.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'><BR>
<BR>
On Tue, Apr 6, 2010 at 11:07 PM, Eran Hammer-Lahav &lt;<a href=3D"eran@huen=
iverse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'><BR>
<BR>
<BR>
On 4/6/10 5:24 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"uidude@google.co=
m">uidude@google.com</a>&gt; wrote:<BR>
<BR>
&gt; Proposal:<BR>
&gt; In 2.4.1 &amp; 2.4.2, add the following OPTIONAL parameter<BR>
&gt; username<BR>
&gt; =A0=A0The resource owner's username. The authorization server MUST onl=
y send back<BR>
&gt; refresh tokens or access tokens for the user identified by username.<B=
R>
<BR>
What are the security implications? How can the client know that the token<=
BR>
it got is really for that user?<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial=
"><SPAN STYLE=3D'font-size:11pt'><BR>
Think the client has to trust the auth server, in the same way as with the =
username + password profile. The auth server can always send back a scope f=
or a different user.<BR>
<BR>
Worst case is that there is an identity mismatch between client and the ide=
ntity implicit in the authorization token. This mismatch is already possibl=
e, and I don't think the username parameter makes the problem worse.<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'><FONT COLOR=3D"#888888"><BR>
EHL<BR>
<BR>
</FONT></SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica=
, Arial"><SPAN STYLE=3D'font-size:11pt'><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E17D7631E24eranhueniversecom_--

From leifj@mnt.se  Wed Apr  7 00:20:51 2010
Return-Path: <leifj@mnt.se>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id EC5133A689F for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 00:20:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.051
X-Spam-Level: 
X-Spam-Status: No, score=-2.051 tagged_above=-999 required=5 tests=[AWL=0.548,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Xr3ZR82q4K-i for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 00:20:48 -0700 (PDT)
Received: from backup-server.nordu.net (backup-server.nordu.net [IPv6:2001:948:4:1::66]) by core3.amsl.com (Postfix) with ESMTP id C4E9A3A68C1 for <oauth@ietf.org>; Wed,  7 Apr 2010 00:20:32 -0700 (PDT)
Received: from [10.0.0.11] (ua-83-227-179-169.cust.bredbandsbolaget.se [83.227.179.169]) (authenticated bits=0) by backup-server.nordu.net (8.14.3/8.14.3) with ESMTP id o377KPhE014001 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <oauth@ietf.org>; Wed, 7 Apr 2010 09:20:27 +0200 (CEST)
Message-ID: <4BBC3239.7020505@mnt.se>
Date: Wed, 07 Apr 2010 09:20:25 +0200
From: Leif Johansson <leifj@mnt.se>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9pre) Gecko/20100217 Lightning/1.0b1 Shredder/3.0.3pre ThunderBrowse/3.2.8.1
MIME-Version: 1.0
To: oauth@ietf.org
References: <C7E0FAAB.31DBB%eran@hueniverse.com>
In-Reply-To: <C7E0FAAB.31DBB%eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Scanned-By: MIMEDefang 2.63 on 193.10.252.66
Subject: Re: [OAUTH-WG] Scope using Realm idea
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Apr 2010 07:20:51 -0000

On 04/06/2010 11:50 PM, Eran Hammer-Lahav wrote:
> That's only when you need to trust the client. If your requirements demand registration, discovery is mostly pointless (other than dynamic configuration).
>

At the risk of comparing apples and pears - many large-scale SAML 
deployments rely on discovery even though the domain of discoverable
entities is provided by a registry. It isn't pointless :-)

	Cheers Leif

From greg@blinkbox.com  Wed Apr  7 03:33:29 2010
Return-Path: <greg@blinkbox.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DBF043A68C0 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 03:33:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.001
X-Spam-Level: 
X-Spam-Status: No, score=0.001 tagged_above=-999 required=5 tests=[BAYES_50=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YW8jM7QBBe+v for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 03:33:29 -0700 (PDT)
Received: from blinkbox.com (mail.blinkbox.com [80.169.194.210]) by core3.amsl.com (Postfix) with ESMTP id C89E23A6882 for <oauth@ietf.org>; Wed,  7 Apr 2010 03:33:27 -0700 (PDT)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.4325
Content-Class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Importance: normal
Priority: normal
Content-Transfer-Encoding: quoted-printable
Date: Wed, 7 Apr 2010 11:33:22 +0100
Message-ID: <9D8B012531C07B45913FFB083D82BF530150BE98@rpc.blinkbox.com>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: Error in example in section 3.4.1.1 of draft-hammer-oauth-10
thread-index: AcrWPb9ae0yI2aMURvyBSMlmv5iszw==
From: "Greg Beech" <greg@blinkbox.com>
To: <oauth@ietf.org>
Subject: [OAUTH-WG] Error in example in section 3.4.1.1 of draft-hammer-oauth-10
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Apr 2010 10:34:43 -0000

Hi

I noticed that there is an error in the example for section 3.4.1.1 in
the latest OAuth draft. The example of building a signature base string
uses the following request as an example (note the extraneous query
parameters at the bottom):

     GET /request?b5=3D%3D%253D&a3=3Da&c%40=3D&a2=3Dr%20b HTTP/1.1
     Host: example.com
     Content-Type: application/x-www-form-urlencoded
     Authorization: OAuth realm=3D"Example",
                    oauth_consumer_key=3D"9djdj82h48djs9d2",
                    oauth_token=3D"kkk9d7dh3k39sjv7",
                    oauth_signature_method=3D"HMAC-SHA1",
                    oauth_timestamp=3D"137131201",
                    oauth_nonce=3D"7d8f3e4a",
                    oauth_signature=3D"djosJKDKJSD8743243%2Fjdk33klY%3D"

     c2&a3=3D2+q

I believe that this should be as follows, which will cause the
documented signature base string to be constructed:

     GET /request?b5=3D%3D%253D&a3=3Da&c%40=3D&a2=3Dr%20b&c2=3D&a3=3D2+q =
HTTP/1.1
     Host: example.com
     Content-Type: application/x-www-form-urlencoded
     Authorization: OAuth realm=3D"Example",
                    oauth_consumer_key=3D"9djdj82h48djs9d2",
                    oauth_token=3D"kkk9d7dh3k39sjv7",
                    oauth_signature_method=3D"HMAC-SHA1",
                    oauth_timestamp=3D"137131201",
                    oauth_nonce=3D"7d8f3e4a",
                    oauth_signature=3D"djosJKDKJSD8743243%2Fjdk33klY%3D"

Apologies if this is a duplicate comment; I searched the archives but
could not find any reference to this issue.

--
Greg




=20
Blinkbox Entertainment Ltd - The best movies & TV online |
Greg Beech | Senior Development Engineer Lead | +44 20 7092 8700 | +44 =
7970 480901
=20

From eran@hueniverse.com  Wed Apr  7 03:47:10 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8B85C3A694F for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 03:47:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.386
X-Spam-Level: 
X-Spam-Status: No, score=-2.386 tagged_above=-999 required=5 tests=[AWL=0.212,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Bkx+-gvw34X9 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 03:47:05 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id E3D413A6861 for <oauth@ietf.org>; Wed,  7 Apr 2010 03:47:04 -0700 (PDT)
Received: (qmail 18821 invoked from network); 7 Apr 2010 10:47:01 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 7 Apr 2010 10:47:01 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Wed, 7 Apr 2010 03:46:04 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Greg Beech <greg@blinkbox.com>, OAuth WG <oauth@ietf.org>
Date: Wed, 7 Apr 2010 03:46:00 -0700
Thread-Topic: [OAUTH-WG] Error in example in section 3.4.1.1 of draft-hammer-oauth-10
Thread-Index: AcrWPb9ae0yI2aMURvyBSMlmv5iszwAAcN+u
Message-ID: <C7E1B078.31E5A%eran@hueniverse.com>
In-Reply-To: <9D8B012531C07B45913FFB083D82BF530150BE98@rpc.blinkbox.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E1B07831E5Aeranhueniversecom_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Error in example in section 3.4.1.1 of draft-hammer-oauth-10
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Apr 2010 10:47:10 -0000

--_000_C7E1B07831E5Aeranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

While odd, this is a perfectly legal GET request with a form-encoded body.

EHL


On 4/7/10 3:33 AM, "Greg Beech" <greg@blinkbox.com> wrote:

Hi

I noticed that there is an error in the example for section 3.4.1.1 in
the latest OAuth draft. The example of building a signature base string
uses the following request as an example (note the extraneous query
parameters at the bottom):

     GET /request?b5=3D%3D%253D&a3=3Da&c%40=3D&a2=3Dr%20b HTTP/1.1
     Host: example.com
     Content-Type: application/x-www-form-urlencoded
     Authorization: OAuth realm=3D"Example",
                    oauth_consumer_key=3D"9djdj82h48djs9d2",
                    oauth_token=3D"kkk9d7dh3k39sjv7",
                    oauth_signature_method=3D"HMAC-SHA1",
                    oauth_timestamp=3D"137131201",
                    oauth_nonce=3D"7d8f3e4a",
                    oauth_signature=3D"djosJKDKJSD8743243%2Fjdk33klY%3D"

     c2&a3=3D2+q

I believe that this should be as follows, which will cause the
documented signature base string to be constructed:

     GET /request?b5=3D%3D%253D&a3=3Da&c%40=3D&a2=3Dr%20b&c2=3D&a3=3D2+q HT=
TP/1.1
     Host: example.com
     Content-Type: application/x-www-form-urlencoded
     Authorization: OAuth realm=3D"Example",
                    oauth_consumer_key=3D"9djdj82h48djs9d2",
                    oauth_token=3D"kkk9d7dh3k39sjv7",
                    oauth_signature_method=3D"HMAC-SHA1",
                    oauth_timestamp=3D"137131201",
                    oauth_nonce=3D"7d8f3e4a",
                    oauth_signature=3D"djosJKDKJSD8743243%2Fjdk33klY%3D"

Apologies if this is a duplicate comment; I searched the archives but
could not find any reference to this issue.

--
Greg





Blinkbox Entertainment Ltd - The best movies & TV online |
Greg Beech | Senior Development Engineer Lead | +44 20 7092 8700 | +44 7970=
 480901

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


--_000_C7E1B07831E5Aeranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Error in example in section 3.4.1.1 of draft-hammer-o=
auth-10</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>While odd, this is a perfectly legal GET request with a form-encoded =
body.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/7/10 3:33 AM, &quot;Greg Beech&quot; &lt;<a href=3D"greg@blinkbox.com"=
>greg@blinkbox.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>Hi<BR>
<BR>
I noticed that there is an error in the example for section 3.4.1.1 in<BR>
the latest OAuth draft. The example of building a signature base string<BR>
uses the following request as an example (note the extraneous query<BR>
parameters at the bottom):<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GET /request?b5=3D%3D%253D&amp;a3=3Da&amp;c%4=
0=3D&amp;a2=3Dr%20b HTTP/1.1<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Host: example.com<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Content-Type: application/x-www-form-urlencod=
ed<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Authorization: OAuth realm=3D&quot;Example&qu=
ot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_consumer_key=3D&quot;9dj=
dj82h48djs9d2&quot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_token=3D&quot;kkk9d7dh3k=
39sjv7&quot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_signature_method=3D&quot=
;HMAC-SHA1&quot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_timestamp=3D&quot;137131=
201&quot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_nonce=3D&quot;7d8f3e4a&q=
uot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_signature=3D&quot;djosJK=
DKJSD8743243%2Fjdk33klY%3D&quot;<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c2&amp;a3=3D2+q<BR>
<BR>
I believe that this should be as follows, which will cause the<BR>
documented signature base string to be constructed:<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GET /request?b5=3D%3D%253D&amp;a3=3Da&amp;c%4=
0=3D&amp;a2=3Dr%20b&amp;c2=3D&amp;a3=3D2+q HTTP/1.1<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Host: example.com<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Content-Type: application/x-www-form-urlencod=
ed<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Authorization: OAuth realm=3D&quot;Example&qu=
ot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_consumer_key=3D&quot;9dj=
dj82h48djs9d2&quot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_token=3D&quot;kkk9d7dh3k=
39sjv7&quot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_signature_method=3D&quot=
;HMAC-SHA1&quot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_timestamp=3D&quot;137131=
201&quot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_nonce=3D&quot;7d8f3e4a&q=
uot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_signature=3D&quot;djosJK=
DKJSD8743243%2Fjdk33klY%3D&quot;<BR>
<BR>
Apologies if this is a duplicate comment; I searched the archives but<BR>
could not find any reference to this issue.<BR>
<BR>
--<BR>
Greg<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
Blinkbox Entertainment Ltd - The best movies &amp; TV online |<BR>
Greg Beech | Senior Development Engineer Lead | +44 20 7092 8700 | +44 7970=
 480901<BR>
<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E1B07831E5Aeranhueniversecom_--

From leifj@mnt.se  Wed Apr  7 04:20:40 2010
Return-Path: <leifj@mnt.se>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DA9CF3A68B8 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 04:20:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0VXDMRD8ZCXE for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 04:20:37 -0700 (PDT)
Received: from backup-server.nordu.net (backup-server.nordu.net [IPv6:2001:948:4:1::66]) by core3.amsl.com (Postfix) with ESMTP id BA56A3A6A98 for <oauth@ietf.org>; Wed,  7 Apr 2010 04:20:25 -0700 (PDT)
Received: from [192.36.125.216] (dhcp-216.pilsnet.sunet.se [192.36.125.216] (may be forged)) (authenticated bits=0) by backup-server.nordu.net (8.14.3/8.14.3) with ESMTP id o37BKDWt017507 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <oauth@ietf.org>; Wed, 7 Apr 2010 13:20:15 +0200 (CEST)
Message-ID: <4BBC6A6D.7020105@mnt.se>
Date: Wed, 07 Apr 2010 13:20:13 +0200
From: Leif Johansson <leifj@mnt.se>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9pre) Gecko/20100217 Lightning/1.0b1 Shredder/3.0.3pre ThunderBrowse/3.2.8.1
MIME-Version: 1.0
To: oauth@ietf.org
References: <C7E0F5B6.31DAC%eran@hueniverse.com>
In-Reply-To: <C7E0F5B6.31DAC%eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Scanned-By: MIMEDefang 2.63 on 193.10.252.66
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Apr 2010 11:20:40 -0000

> Go implement whatever you want. But the spec should set the highest
> practical bar it can, and requiring HTTPS is trivial.
>
> As a practical note, if the WG reaches consensus to drop the MUST, I would
> ask the chairs to ask the security area and IESG to provide guidance whether
> they would approve such document. The IESG did not approve OAuth 1.0a for
> publication as an RFC until this was changed to a MUST (for PLAINTEXT) among
> other comments, and that with a strong warning.
>
> There is also an on going effort to improve cookie security. Do we really
> want OAuth to become the next weakest link?

I emphatically agree.

I suspect that a lot of confusion on this thread is caused by confusing 
implementation requirements with deployment requirements btw.

	Cheers Leif

From rbarnes@bbn.com  Wed Apr  7 07:09:20 2010
Return-Path: <rbarnes@bbn.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4296A3A6931 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 07:09:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.475
X-Spam-Level: 
X-Spam-Status: No, score=-2.475 tagged_above=-999 required=5 tests=[AWL=0.124,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JGtq8pzs1PCH for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 07:09:19 -0700 (PDT)
Received: from smtp.bbn.com (smtp.bbn.com [128.33.1.81]) by core3.amsl.com (Postfix) with ESMTP id 2F8463A67E9 for <oauth@ietf.org>; Wed,  7 Apr 2010 07:09:13 -0700 (PDT)
Received: from [192.1.255.171] (port=54877 helo=col-dhcp-192-1-255-171.bbn.com) by smtp.bbn.com with esmtp (Exim 4.71 (FreeBSD)) (envelope-from <rbarnes@bbn.com>) id 1NzVwL-000CgO-R5; Wed, 07 Apr 2010 10:09:10 -0400
Message-Id: <500DAF88-2DA3-479A-9849-F465F74EE753@bbn.com>
From: Richard Barnes <rbarnes@bbn.com>
To: Leif Johansson <leifj@mnt.se>
In-Reply-To: <4BBC6A6D.7020105@mnt.se>
Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (Apple Message framework v936)
Date: Wed, 7 Apr 2010 10:09:12 -0400
References: <C7E0F5B6.31DAC%eran@hueniverse.com> <4BBC6A6D.7020105@mnt.se>
X-Mailer: Apple Mail (2.936)
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Apr 2010 14:09:20 -0000

To re-iterate and clarify Leif's second point, I would be in favor of  
making TLS:

-- REQUIRED for implementations to support (== MUST)
-- RECOMMENDED for deployments to use (== SHOULD)

This a pretty universal pattern in IETF protocols.

--Richard


On Apr 7, 2010, at 7:20 AM, Leif Johansson wrote:

>
>> Go implement whatever you want. But the spec should set the highest
>> practical bar it can, and requiring HTTPS is trivial.
>>
>> As a practical note, if the WG reaches consensus to drop the MUST,  
>> I would
>> ask the chairs to ask the security area and IESG to provide  
>> guidance whether
>> they would approve such document. The IESG did not approve OAuth  
>> 1.0a for
>> publication as an RFC until this was changed to a MUST (for  
>> PLAINTEXT) among
>> other comments, and that with a strong warning.
>>
>> There is also an on going effort to improve cookie security. Do we  
>> really
>> want OAuth to become the next weakest link?
>
> I emphatically agree.
>
> I suspect that a lot of confusion on this thread is caused by  
> confusing implementation requirements with deployment requirements  
> btw.
>
> 	Cheers Leif
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From uidude@google.com  Wed Apr  7 08:26:14 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7AEC128C149 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 08:26:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.666
X-Spam-Level: 
X-Spam-Status: No, score=-105.666 tagged_above=-999 required=5 tests=[AWL=0.310, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2nn56CcjIrRT for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 08:26:09 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 5598428B797 for <oauth@ietf.org>; Wed,  7 Apr 2010 08:23:03 -0700 (PDT)
Received: from kpbe18.cbf.corp.google.com (kpbe18.cbf.corp.google.com [172.25.105.82]) by smtp-out.google.com with ESMTP id o37FMulq018426 for <oauth@ietf.org>; Wed, 7 Apr 2010 08:22:58 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270653778; bh=KHVNCRGd40Ln0vebH5t+TS7T5qU=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=g7Mz2rZmQf+XhJbu15mlS6sLZoNx6ihk+d6u1BkSu0vlLiFmJJKtq9TXPd3FOR/T9 2RNdz5aVzYrV2/RYMWDiw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=VoLc+Ei41EQy30yhkdHNGx+4o9kAhARdQ0c/iLtb3k/aSKapQhY6eonpeHUq9bhdC ncC7b4lJ/E7dFVvAKoKVg==
Received: from qyk4 (qyk4.prod.google.com [10.241.83.132]) by kpbe18.cbf.corp.google.com with ESMTP id o37FMmLc010790 for <oauth@ietf.org>; Wed, 7 Apr 2010 08:22:55 -0700
Received: by qyk4 with SMTP id 4so1184845qyk.17 for <oauth@ietf.org>; Wed, 07 Apr 2010 08:22:55 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.194 with HTTP; Wed, 7 Apr 2010 08:22:35 -0700 (PDT)
In-Reply-To: <C7E17D76.31E24%eran@hueniverse.com>
References: <n2ic8689b661004062314ha8689ddcrd6fa932b1915eda4@mail.gmail.com>  <C7E17D76.31E24%eran@hueniverse.com>
From: Evan Gilbert <uidude@google.com>
Date: Wed, 7 Apr 2010 08:22:35 -0700
Received: by 10.229.181.16 with SMTP id bw16mr14407602qcb.0.1270653775259;  Wed, 07 Apr 2010 08:22:55 -0700 (PDT)
Message-ID: <j2zc8689b661004070822z90effc46v83f790849cbb9636@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=00163630fd5fe8294c0483a722ee
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on Web Callback & Client Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Apr 2010 15:26:14 -0000

--00163630fd5fe8294c0483a722ee
Content-Type: text/plain; charset=ISO-8859-1

On Wed, Apr 7, 2010 at 12:08 AM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

>  What about an attacker changing the username similar to the way a
> callback can be changed?
>

I don't think there is a danger here.

We still use all of the safeguards in place from the rest of the flow -
adding this parameter never log you in when omitting the parameter would not
have. It will just create more error responses.


>
> EHL
>
>
>
> On 4/6/10 11:14 PM, "Evan Gilbert" <uidude@google.com> wrote:
>
>
>
> On Tue, Apr 6, 2010 at 11:07 PM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>
>
>
>
> On 4/6/10 5:24 PM, "Evan Gilbert" <uidude@google.com> wrote:
>
> > Proposal:
> > In 2.4.1 & 2.4.2, add the following OPTIONAL parameter
> > username
> >   The resource owner's username. The authorization server MUST only send
> back
> > refresh tokens or access tokens for the user identified by username.
>
> What are the security implications? How can the client know that the token
> it got is really for that user?
>
>
> Think the client has to trust the auth server, in the same way as with the
> username + password profile. The auth server can always send back a scope
> for a different user.
>
> Worst case is that there is an identity mismatch between client and the
> identity implicit in the authorization token. This mismatch is already
> possible, and I don't think the username parameter makes the problem worse.
>
>
> EHL
>
>
>
>

--00163630fd5fe8294c0483a722ee
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Wed, Apr 7, 2010 at 12:08 AM, Eran Ha=
mmer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com">era=
n@hueniverse.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote"=
 style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">





<div>
<font face=3D"Calibri, Verdana, Helvetica, Arial"><span style=3D"font-size:=
11pt">What about an attacker changing the username similar to the way a cal=
lback can be changed?<br></span></font></div></blockquote><div><br></div><d=
iv>

I don&#39;t think there is a danger here.</div><div><br>We still use all of=
 the safeguards in place from the rest of the flow - adding this parameter =
never log you in when omitting the parameter would not have. It will just c=
reate more error responses.</div>

<div>=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;=
border-left:1px #ccc solid;padding-left:1ex;"><div><font face=3D"Calibri, V=
erdana, Helvetica, Arial"><span style=3D"font-size:11pt"><font color=3D"#88=
8888">
<br>
EHL</font><div><div></div><div class=3D"h5"><br>
<br>
<br>
On 4/6/10 11:14 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"http://uidude@g=
oogle.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
<br>
</div></div></span></font><div><div></div><div class=3D"h5"><blockquote><fo=
nt face=3D"Calibri, Verdana, Helvetica, Arial"><span style=3D"font-size:11p=
t"><br>
<br>
On Tue, Apr 6, 2010 at 11:07 PM, Eran Hammer-Lahav &lt;<a href=3D"http://er=
an@hueniverse.com" target=3D"_blank">eran@hueniverse.com</a>&gt; wrote:<br>
</span></font><blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial"=
><span style=3D"font-size:11pt"><br>
<br>
<br>
On 4/6/10 5:24 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"http://uidude@go=
ogle.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
<br>
&gt; Proposal:<br>
&gt; In 2.4.1 &amp; 2.4.2, add the following OPTIONAL parameter<br>
&gt; username<br>
&gt; =A0=A0The resource owner&#39;s username. The authorization server MUST=
 only send back<br>
&gt; refresh tokens or access tokens for the user identified by username.<b=
r>
<br>
What are the security implications? How can the client know that the token<=
br>
it got is really for that user?<br>
</span></font></blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial=
"><span style=3D"font-size:11pt"><br>
Think the client has to trust the auth server, in the same way as with the =
username + password profile. The auth server can always send back a scope f=
or a different user.<br>
<br>
Worst case is that there is an identity mismatch between client and the ide=
ntity implicit in the authorization token. This mismatch is already possibl=
e, and I don&#39;t think the username parameter makes the problem worse.<br=
>


<br>
</span></font><blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial"=
><span style=3D"font-size:11pt"><font color=3D"#888888"><br>
EHL<br>
<br>
</font></span></font></blockquote><font face=3D"Calibri, Verdana, Helvetica=
, Arial"><span style=3D"font-size:11pt"><br>
<br>
</span></font></blockquote>
</div></div></div>


</blockquote></div><br>

--00163630fd5fe8294c0483a722ee--

From jpanzer@google.com  Wed Apr  7 09:29:59 2010
Return-Path: <jpanzer@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4DE2D3A67F6 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 09:29:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -103.398
X-Spam-Level: 
X-Spam-Status: No, score=-103.398 tagged_above=-999 required=5 tests=[AWL=2.578, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id k1uDRYnwPQbW for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 09:29:58 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 525083A6954 for <oauth@ietf.org>; Wed,  7 Apr 2010 09:29:48 -0700 (PDT)
Received: from wpaz29.hot.corp.google.com (wpaz29.hot.corp.google.com [172.24.198.93]) by smtp-out.google.com with ESMTP id o37GTeoT011374 for <oauth@ietf.org>; Wed, 7 Apr 2010 09:29:41 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270657781; bh=8zqNPAU16Pl06rauTF8D0v22mik=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=tt8LoHVLjNToh+HXJH4HMDq272dT+EJehCNAO8+JPBqt8HpZ9Pz//z0liBXoIWCeh UhE+zJtwRX69mXW3S/duA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=BFyYcwh0ivSH40/ujeLwQFCPXP+94PEXTD0eNjml4iUiSgFqD00jTb+H8OBEKey4q CZPmSES/krcV0Hs0sEOkg==
Received: from pwj1 (pwj1.prod.google.com [10.241.219.65]) by wpaz29.hot.corp.google.com with ESMTP id o37GTdOY009438 for <oauth@ietf.org>; Wed, 7 Apr 2010 09:29:39 -0700
Received: by pwj1 with SMTP id 1so1215167pwj.37 for <oauth@ietf.org>; Wed, 07 Apr 2010 09:29:38 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.125.14 with HTTP; Wed, 7 Apr 2010 09:29:18 -0700 (PDT)
In-Reply-To: <j2zc8689b661004070822z90effc46v83f790849cbb9636@mail.gmail.com>
References: <n2ic8689b661004062314ha8689ddcrd6fa932b1915eda4@mail.gmail.com>  <C7E17D76.31E24%eran@hueniverse.com> <j2zc8689b661004070822z90effc46v83f790849cbb9636@mail.gmail.com>
From: John Panzer <jpanzer@google.com>
Date: Wed, 7 Apr 2010 09:29:18 -0700
Received: by 10.141.107.5 with SMTP id j5mr4665862rvm.105.1270657778138; Wed,  07 Apr 2010 09:29:38 -0700 (PDT)
Message-ID: <i2ncb5f7a381004070929qde2c746dtb6f9ead849436d32@mail.gmail.com>
To: Evan Gilbert <uidude@google.com>
Content-Type: multipart/alternative; boundary=000e0cd13b6a7f489e0483a81144
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on Web Callback & Client Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Apr 2010 16:29:59 -0000

--000e0cd13b6a7f489e0483a81144
Content-Type: text/plain; charset=ISO-8859-1

I'm assuming that tokens need not be bound to a specific user (typically
they are, but imagine a secretary granting an app access to his boss's
calendar and then leaving the company and therefore being removed from the
calendar ACL, but the app still keeping access by virtue of the capability
granted by the token).  In this case, the proposed wording seems kind of
problematic for a MUST.

On Wed, Apr 7, 2010 at 8:22 AM, Evan Gilbert <uidude@google.com> wrote:

>
>
> On Wed, Apr 7, 2010 at 12:08 AM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:
>
>>  What about an attacker changing the username similar to the way a
>> callback can be changed?
>>
>
>  I don't think there is a danger here.
>
> We still use all of the safeguards in place from the rest of the flow -
> adding this parameter never log you in when omitting the parameter would not
> have. It will just create more error responses.
>
>
>>
>> EHL
>>
>>
>>
>> On 4/6/10 11:14 PM, "Evan Gilbert" <uidude@google.com> wrote:
>>
>>
>>
>> On Tue, Apr 6, 2010 at 11:07 PM, Eran Hammer-Lahav <eran@hueniverse.com>
>> wrote:
>>
>>
>>
>>
>> On 4/6/10 5:24 PM, "Evan Gilbert" <uidude@google.com> wrote:
>>
>> > Proposal:
>> > In 2.4.1 & 2.4.2, add the following OPTIONAL parameter
>> > username
>> >   The resource owner's username. The authorization server MUST only send
>> back
>> > refresh tokens or access tokens for the user identified by username.
>>
>> What are the security implications? How can the client know that the token
>> it got is really for that user?
>>
>>
>> Think the client has to trust the auth server, in the same way as with the
>> username + password profile. The auth server can always send back a scope
>> for a different user.
>>
>> Worst case is that there is an identity mismatch between client and the
>> identity implicit in the authorization token. This mismatch is already
>> possible, and I don't think the username parameter makes the problem worse.
>>
>>
>> EHL
>>
>>
>>
>>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

--000e0cd13b6a7f489e0483a81144
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I&#39;m assuming that tokens need not be bound to a specific user (typicall=
y they are, but imagine a secretary granting an app access to his boss&#39;=
s calendar and then leaving the company and therefore being removed from th=
e calendar ACL, but the app still keeping access by virtue of the capabilit=
y granted by the token). =A0In this case, the proposed wording seems kind o=
f problematic for a MUST.<div>

<div><br><div class=3D"gmail_quote">On Wed, Apr 7, 2010 at 8:22 AM, Evan Gi=
lbert <span dir=3D"ltr">&lt;<a href=3D"mailto:uidude@google.com">uidude@goo=
gle.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D=
"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<br><br><div class=3D"gmail_quote"><div class=3D"im">On Wed, Apr 7, 2010 at=
 12:08 AM, Eran Hammer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@h=
ueniverse.com" target=3D"_blank">eran@hueniverse.com</a>&gt;</span> wrote:<=
br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left=
:1px #ccc solid;padding-left:1ex">







<div>
<font face=3D"Calibri, Verdana, Helvetica, Arial"><span style=3D"font-size:=
11pt">What about an attacker changing the username similar to the way a cal=
lback can be changed?<br></span></font></div></blockquote><div><br></div></=
div>

<div>

I don&#39;t think there is a danger here.</div><div><br>We still use all of=
 the safeguards in place from the rest of the flow - adding this parameter =
never log you in when omitting the parameter would not have. It will just c=
reate more error responses.</div>

<div><div></div><div class=3D"h5">

<div>=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;=
border-left:1px #ccc solid;padding-left:1ex"><div><font face=3D"Calibri, Ve=
rdana, Helvetica, Arial"><span style=3D"font-size:11pt"><font color=3D"#888=
888">
<br>
EHL</font><div><div></div><div><br>
<br>
<br>
On 4/6/10 11:14 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"http://uidude@g=
oogle.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
<br>
</div></div></span></font><div><div></div><div><blockquote><font face=3D"Ca=
libri, Verdana, Helvetica, Arial"><span style=3D"font-size:11pt"><br>
<br>
On Tue, Apr 6, 2010 at 11:07 PM, Eran Hammer-Lahav &lt;<a href=3D"http://er=
an@hueniverse.com" target=3D"_blank">eran@hueniverse.com</a>&gt; wrote:<br>
</span></font><blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial"=
><span style=3D"font-size:11pt"><br>
<br>
<br>
On 4/6/10 5:24 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"http://uidude@go=
ogle.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
<br>
&gt; Proposal:<br>
&gt; In 2.4.1 &amp; 2.4.2, add the following OPTIONAL parameter<br>
&gt; username<br>
&gt; =A0=A0The resource owner&#39;s username. The authorization server MUST=
 only send back<br>
&gt; refresh tokens or access tokens for the user identified by username.<b=
r>
<br>
What are the security implications? How can the client know that the token<=
br>
it got is really for that user?<br>
</span></font></blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial=
"><span style=3D"font-size:11pt"><br>
Think the client has to trust the auth server, in the same way as with the =
username + password profile. The auth server can always send back a scope f=
or a different user.<br>
<br>
Worst case is that there is an identity mismatch between client and the ide=
ntity implicit in the authorization token. This mismatch is already possibl=
e, and I don&#39;t think the username parameter makes the problem worse.<br=
>




<br>
</span></font><blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial"=
><span style=3D"font-size:11pt"><font color=3D"#888888"><br>
EHL<br>
<br>
</font></span></font></blockquote><font face=3D"Calibri, Verdana, Helvetica=
, Arial"><span style=3D"font-size:11pt"><br>
<br>
</span></font></blockquote>
</div></div></div>


</blockquote></div></div></div><br>
<br>_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></blockquote></div><br></div></div>

--000e0cd13b6a7f489e0483a81144--

From torsten@lodderstedt.net  Wed Apr  7 11:35:12 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0E4C93A6955 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 11:35:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.515
X-Spam-Level: 
X-Spam-Status: No, score=-0.515 tagged_above=-999 required=5 tests=[AWL=-0.866, BAYES_50=0.001, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aPWbuJBxDWdC for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 11:35:11 -0700 (PDT)
Received: from smtprelay01.ispgateway.de (smtprelay01.ispgateway.de [80.67.31.39]) by core3.amsl.com (Postfix) with ESMTP id EC4403A67B3 for <oauth@ietf.org>; Wed,  7 Apr 2010 11:34:37 -0700 (PDT)
Received: from p4fff3b6a.dip.t-dialin.net ([79.255.59.106] helo=[127.0.0.1]) by smtprelay01.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1Nza5C-0003nq-0C; Wed, 07 Apr 2010 20:34:34 +0200
Message-ID: <4BBCD036.3070702@lodderstedt.net>
Date: Wed, 07 Apr 2010 20:34:30 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Marius Scurtescu <mscurtescu@google.com>
References: <w2rc8689b661004051628q729ca3a8s4855be6d7af14a82@mail.gmail.com> <C7E02F03.31D50%eran@hueniverse.com> <m2mc8689b661004060704se500b9f8l76cdc11f79757919@mail.gmail.com> <w2vfd6741651004060753o8f56bf5ct33eb45d8fcf48ce8@mail.gmail.com> <z2tc8689b661004060845m3c2cd76l2937976143541604@mail.gmail.com> <4BBB68BB.4010206@lodderstedt.net> <p2h74caaad21004061539j541418a3ha3ef75c5c4b0a433@mail.gmail.com>
In-Reply-To: <p2h74caaad21004061539j541418a3ha3ef75c5c4b0a433@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Access Token Exchange Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Apr 2010 18:35:12 -0000

Hi Marius,

Am 07.04.2010 00:39, schrieb Marius Scurtescu:
> On Tue, Apr 6, 2010 at 10:00 AM, Torsten Lodderstedt
> <torsten@lodderstedt.net>  wrote:
>    
>> Hi all,
>>
>> here at Deutsche Telekom, we see the need for a flow supporting the exchange
>> of access tokens for one service into access tokens for another service.
>>
>> The scenarios is as follows: In the context of mobile applications, we
>> employ multi-layered architectures of personalized web services. The first
>> layer typically exposes an API optimized for the flows of a particular
>> application. This layer's business logic is built on top of other web
>> services and so on. We use self-contained bearer tokens carrying id's,
>> attributes and permissions. Each of the web services involed has a trust
>> relationship with our authorization server based on shared secrets. Every
>> web service requires a different token with different claims (id,
>> permissions, attributes) and signature (HMAC).
>>
>> The flow is as follows:
>>
>> 1) The client acquires a token for the first service eather by
>> username/password authentication or web-based authorization flow.
>>
>> 2) The client sends a request (including the access token) to the first web
>> service.
>>
>> 3) Access control and some business logic is executed based on the token
>> contents. Afterwards, the first service determines that it needs
>> to call another services (second web service) on behalf of the user.
>>
>> 4) It requests the issuance of a new token for the second service from the
>> authorization server based on the original token sent by the client.
>>
>> 5) The authorization server issues a new token carrying the claims need by
>> the second web service and digitally signs the token
>> with the respective shared secret. It also encrypts the token content in
>> order to prevent the first web service from eavesdropping the users data
>> intended for the second service only.
>>
>> 6) The first web service uses the token to invoke the second web service.
>>
>> ...
>>
>> Does anyone else see the need for such a flow?
>>      
> I think I suggested something like that on the scope thread:
> "Things can get even more complicated. When the user grants access for
> the client, the approval page should list all the scopes the client is
> requesting. This is the set of scopes needed by the client for *all*
> the API calls. Each API will need a subset of this approved, larger
> set.
>
> With that in mind, it would be useful to be able to down-scope access
> tokens when using the refresh token, this way the client can send the
> smallest set of scopes with each API call."
>
>    

The idea of acquiring downsized access tokens is very interesting from a 
security standpoint. A client could obtain a token with the least 
privileges set required for the transaction it is about to perform thus 
reducing the impact if a token gets revealed.
>    
> In your example, instead of having the first service request a new
> token for the second service, step 4, I think the client should do
> that and pass the second token as an argument in the API call.
>    

You are right, this is an alternative option. We don't go that way 
because we don't want the clients to know the internal structure of our 
services. Therefore the first service (or any other service in the call 
chain) is exchanging the tokens. This token exhange is more a technical 
"claim transformation" than a scope reduction/transformation. As I 
described, trust between authz server and service ist based on shared 
secrets (as in Kerberos) so any piece data intended for a particular 
service must be encrypted/HMACd with the corresponding secret. Moreover 
(and most important), the token payload is different. That's why we 
can't use the same token for the whole call chain.
> Basically the client requests a refresh token with largest set of
> permissions and then it uses the refresh token flow to get
> lower-permission access tokens as needed.
>    
> The first service can ask for a second token only if the set of
> permissions is a sub-set of the one it received, otherwise it has not
> authority to do that.
>    
That's true.

regards,
Torsten.
> Marius
>    



From eran@hueniverse.com  Wed Apr  7 13:51:18 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 766EB3A6847 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 13:51:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.397
X-Spam-Level: 
X-Spam-Status: No, score=-2.397 tagged_above=-999 required=5 tests=[AWL=0.202,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OWPwS+xqm9j5 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 13:51:17 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 002AE3A687E for <oauth@ietf.org>; Wed,  7 Apr 2010 13:51:07 -0700 (PDT)
Received: (qmail 21748 invoked from network); 7 Apr 2010 20:51:03 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 7 Apr 2010 20:51:03 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Wed, 7 Apr 2010 13:51:03 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: OAuth WG <oauth@ietf.org>
Date: Wed, 7 Apr 2010 13:51:01 -0700
Thread-Topic: Consistency across access token replies
Thread-Index: AcrWlAfthISeW8agEUKBsqlyN5E9gQ==
Message-ID: <C7E23E45.31E92%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: [OAUTH-WG] Consistency across access token replies
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Apr 2010 20:51:18 -0000

Right now most of the flows return the same parameters (access token,
expiration, refresh token). A few do not return a refresh token. When we ad=
d
signatures, we will need to add token secret and algorithm type.

I know there are good reasons why certain flows do not return a refresh
token but instead rely on the client repeating the request. However, there
is a lot of value in simplicity and consistency in making every request
return the same parameters.

It will also allow specifying it one time instead of over and over again.

Thoughts?

EHL


From eran@hueniverse.com  Wed Apr  7 16:14:00 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 62DAB3A67B2 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 16:14:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.107
X-Spam-Level: 
X-Spam-Status: No, score=-2.107 tagged_above=-999 required=5 tests=[AWL=-0.108, BAYES_00=-2.599, J_CHICKENPOX_46=0.6]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5ygycOuooyUU for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 16:13:59 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id B8A063A69AA for <oauth@ietf.org>; Wed,  7 Apr 2010 16:13:45 -0700 (PDT)
Received: (qmail 15556 invoked from network); 7 Apr 2010 23:13:42 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 7 Apr 2010 23:13:41 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Wed, 7 Apr 2010 16:13:41 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Paul Walker <catch-all@paulwalker.tv>, Luke Shepard <lshepard@facebook.com>
Date: Wed, 7 Apr 2010 16:13:38 -0700
Thread-Topic: [OAUTH-WG] Draft progress update
Thread-Index: AcrSCKDXVyKD06baTR6C6iH3OxZkfQEn1N2W
Message-ID: <C7E25FB2.31E9F%eran@hueniverse.com>
In-Reply-To: <DE601765-628B-4E25-93D6-FD5E6F417A48@paulwalker.tv>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Apr 2010 23:14:00 -0000

Yes, shorter is better, and we'll get to it later. But all the flows use a
single endpoint (right now), so each request needs a unique type.

EHL


On 4/1/10 7:02 PM, "Paul Walker" <catch-all@paulwalker.tv> wrote:

> Along those lines, I would suggest renaming the mode values as the terms
> "request" and "flow" are kinda superfluous.  Perhaps
>=20
> mode=3Dweb_callback
> mode=3Dweb_client
> mode=3Ddevice
> mode=3Dcredentials
> mode=3Dclient
>=20
> I understand that the Web Callback Flow uses two different values, one fo=
r the
> authorization step and another for the access token, but is this really n=
eeded
> given that these are different uris?
>=20
>=20
> On Mar 31, 2010, at 10:28 PM, Luke Shepard wrote:
>=20
>> At first, I had the same first reaction as Marius, but after reading thi=
s
>> thread, I agree with Eran. Two observations:
>>=20
>> 1/ OAuth endpoints are usually already namespaced as "oauth" - if there =
are
>> other endpoints that accept custom parameters, they can be defined elsew=
here.
>> For example:
>>=20
>> https://www.google.com/accounts/OAuthAuthorizeToken
>> https://api.login.yahoo.com/oauth/v2/request_auth
>> http://twitter.com/oauth/authorize
>>=20
>> 2/ We should fight to keep URLs short and leave out redundant informatio=
n
>> where possible. We should leave out redundant information where possible=
.
>>=20
>> Here are two sample URLs. The first is 12% shorter than the second.
>>=20
>> http://facebook.com/oauth/authorize?mode=3Dweb_callback_access_request&c=
lient_i
>> d=3D123456789&callback=3Dhttp://facebook.com/oauth/callback
>> http://facebook.com/oauth/authorize?oauth_mode=3Dweb_callback_access_req=
uest&oa
>> uth_client_id=3D123456789&oauth_callback=3Dhttp://facebook.com/oauth/cal=
lback
>>=20
>>=20
>>=20
>> On Mar 31, 2010, at 9:17 PM, Eran Hammer-Lahav wrote:
>>=20
>>> Hey Marius,
>>>=20
>>> On 3/31/10 8:37 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>>>=20
>>>> On Wed, Mar 31, 2010 at 6:22 PM, Eran Hammer-Lahav <eran@hueniverse.co=
m>
>>>> wrote:
>>>>> The only significant change I have made (which is of course open to
>>>>> debate)
>>>>> is renaming all the authorization flows parameters. I dropped the oau=
th_
>>>>> prefix (no real need since these are purely OAuth endpoints, not prot=
ected
>>>>> resources), and made most of the parameter names shorter. I am not do=
ne so
>>>>> they are not consistent yet.
>>>>=20
>>>> Having a common prefix for all parameters is quite important IMO. It
>>>> allows parties
>>>> to define and pass additional, non-standard, parameters.
>>>=20
>>> Non-standard parameter hurt interoperability. The question is whether t=
he
>>> right approach is to add a prefix to the protocol parameters or to the
>>> extension parameters (such as x_), or none.
>>>=20
>>> What prevents a custom parameter to collide with a standard extension n=
ot
>>> supported by the server or someone else's custom parameter? If we are
>>> serious about parameter collision (which I doubt given past sentiments =
on
>>> registries etc.), we should require all parameters to register unless t=
hey
>>> have some special custom prefix.
>>>=20
>>> In other word, adding the oauth_ prefix to the core parameters doesn't
>>> really accomplish much, other than making requests longer. In the past,
>>> people wanted to define extension parameters starting with oauth_ and w=
e
>>> didn't really reach consensus on whether to allow it or not. Then we pl=
ayed
>>> with xoauth_ for a while, then went back and just allowed oauth_ for
>>> extensions.
>>>=20
>>> If we keep the oauth_ prefix, do we also require a registry for extensi=
ons?
>>> Do we define another prefix? Do we create a registry for extension pref=
ixes?
>>> This gets bad really fast.
>>>=20
>>>> Also, quite
>>>> often parameters
>>>> are added to existing URLs, and a prefix helps prevent collisions.
>>>=20
>>> Extension parameters should never conflict with core parameter because =
we
>>> know all the core parameters before we write custom ones...
>>>=20
>>> This is only for the OAuth-specific endpoint (authorization endpoint), =
not
>>> the protected resource endpoint in which we will still use oauth_token =
(the
>>> only parameter added to protected resource requests).
>>>=20
>>> What do you think?
>>>=20
>>> EHL
>>>=20
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>=20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>=20
>=20


From eran@hueniverse.com  Wed Apr  7 16:22:06 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B21CC3A67D7 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 16:22:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.402
X-Spam-Level: 
X-Spam-Status: No, score=-2.402 tagged_above=-999 required=5 tests=[AWL=0.197,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Dt2WncRQ6Cgx for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 16:22:02 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 4D95A3A659A for <oauth@ietf.org>; Wed,  7 Apr 2010 16:22:01 -0700 (PDT)
Received: (qmail 21783 invoked from network); 7 Apr 2010 23:21:58 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 7 Apr 2010 23:21:58 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Wed, 7 Apr 2010 16:21:58 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Richard Barnes <rbarnes@bbn.com>, Leif Johansson <leifj@mnt.se>
Date: Wed, 7 Apr 2010 16:21:56 -0700
Thread-Topic: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
Thread-Index: AcrWW+u319C0zJ3YTv+OZ50NlYuVGgATTFoi
Message-ID: <C7E261A4.31EA3%eran@hueniverse.com>
In-Reply-To: <500DAF88-2DA3-479A-9849-F465F74EE753@bbn.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Apr 2010 23:22:06 -0000

We are looking at this all wrong.

There are two kinds of protected resources OAuth supports:

* http://
* https://

OAuth provides two kinds of token authentication modes:

* bearer token
* token + signature

I don't know how to translate your statement below into text I can put in
the draft to answer:

When you access/serve an http:// protected resource you do what?
When you access/serve an https:// protected resource you do what?

It is not about requiring SSL for bearer token. It is about what you
can/should do when accessing an http:// resource.

EHL

On 4/7/10 7:09 AM, "Richard Barnes" <rbarnes@bbn.com> wrote:

> To re-iterate and clarify Leif's second point, I would be in favor of
> making TLS:
>=20
> -- REQUIRED for implementations to support (=3D=3D MUST)
> -- RECOMMENDED for deployments to use (=3D=3D SHOULD)
>=20
> This a pretty universal pattern in IETF protocols.
>=20
> --Richard
>=20
>=20
> On Apr 7, 2010, at 7:20 AM, Leif Johansson wrote:
>=20
>>=20
>>> Go implement whatever you want. But the spec should set the highest
>>> practical bar it can, and requiring HTTPS is trivial.
>>>=20
>>> As a practical note, if the WG reaches consensus to drop the MUST,
>>> I would
>>> ask the chairs to ask the security area and IESG to provide
>>> guidance whether
>>> they would approve such document. The IESG did not approve OAuth
>>> 1.0a for
>>> publication as an RFC until this was changed to a MUST (for
>>> PLAINTEXT) among
>>> other comments, and that with a strong warning.
>>>=20
>>> There is also an on going effort to improve cookie security. Do we
>>> really
>>> want OAuth to become the next weakest link?
>>=20
>> I emphatically agree.
>>=20
>> I suspect that a lot of confusion on this thread is caused by
>> confusing implementation requirements with deployment requirements
>> btw.
>>=20
>>       Cheers Leif
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>=20


From eran@hueniverse.com  Wed Apr  7 16:26:21 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4FF383A67D7 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 16:26:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.411
X-Spam-Level: 
X-Spam-Status: No, score=-2.411 tagged_above=-999 required=5 tests=[AWL=0.188,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8WAURRhYGkeX for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 16:26:19 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id D99553A67B2 for <oauth@ietf.org>; Wed,  7 Apr 2010 16:26:19 -0700 (PDT)
Received: (qmail 5807 invoked from network); 7 Apr 2010 23:26:17 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 7 Apr 2010 23:26:16 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Wed, 7 Apr 2010 16:26:09 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: OAuth WG <oauth@ietf.org>
Date: Wed, 7 Apr 2010 16:26:06 -0700
Thread-Topic: Another draft update
Thread-Index: AcrWqbIjUlaC4+BgjEOhw966lZewiQ==
Message-ID: <C7E2629E.31EA4%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: [OAUTH-WG] Another draft update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Apr 2010 23:26:21 -0000

Latest is always at:

http://github.com/theRazorBlade/draft-ietf-oauth

(xml is always up to date. txt and html when I can. Atom feed available)

---

I finished going over sections 1-4 which includes the overview, flows, and
refresh method. Next is using tokens. By finished I mean those sections are
ready to be submitted as a working group draft -00.

Unfortunately I am unable (or unwilling) to go back and review comments mad=
e
to sections I previously ignored. Please review sections 1-4 again and
submit any changes needed for a -00 draft. This means focus on critical
changes that should be made before the document is considered a starting
point for the working group.

Open issues:

* token size limit
* restriction on values characters
* specificity of the assertion flow
* parameter name prefix
* single authorization endpoint
* inclusion of both user-agent flow and native application flow
* requiring HTTPS for bearer token protected resource requests
* username parameter proposal
* scope parameter
* adding refresh token as optional in all access token requests
* limiting signed requests to use the auth header (no query / form body)

Once we approve this as -00 I plan to post a weekly draft based on the
feedback received and approved by the group. I will no longer make changes
to the draft (after -00) without working group consensus.

Please (PLEASE) don't reply to this message with feedback but instead send =
a
separate post for each major issue. Feel free to bunch small comments into
one post. This will help facilitate our discussion.

The spec is now 50 pages before adding the security consideration and
signature workflow. Its big. I would appreciate any feedback you can spare
so we can decide next week if it is ready for a -00.

Thanks!

EHL=20


From dick.hardt@gmail.com  Wed Apr  7 17:23:22 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 702733A6842 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 17:23:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UxXDxJ8yz298 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 17:23:20 -0700 (PDT)
Received: from mail-qy0-f181.google.com (mail-qy0-f181.google.com [209.85.221.181]) by core3.amsl.com (Postfix) with ESMTP id 0AE343A67E1 for <oauth@ietf.org>; Wed,  7 Apr 2010 17:23:19 -0700 (PDT)
Received: by qyk11 with SMTP id 11so965622qyk.13 for <oauth@ietf.org>; Wed, 07 Apr 2010 17:23:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=eWEPfw/P1bvbXVTjLTepTC30SJAlgmuYkL+jC2cuIxo=; b=v0msam3JAFXeQt/QWw/b6QHhInijzvSUBTZ7Vjpj1II9u/eWI7hzzMgB32ljTiejIC FfF8ctKNV5ZHgfHeithKFu1ohh0GElURvQ4exJfzp0AEt1i8oEo6TlYEV+tKmJTjQeTH 4rA3X4tlIOrVoxL+wKObQwHuVAfYpqMo7gSRo=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=WaL3FUuRNf+v7d4hSQpYN+6Mk3UK4Yld+sxwlCBat1YwnW8n4YOVwJH4EqZ0lAgt0U nzHBenFHu2bYK7NC3dORxCPo7XaqvnpcOufXsZtx/TMJFC6g3+LTUyc5u1j/QvnPEEuJ +pwqCxr0GgzwTroGsJXdCfd2PfVvvi5qOz62I=
Received: by 10.229.238.70 with SMTP id kr6mr3543794qcb.49.1270686193551; Wed, 07 Apr 2010 17:23:13 -0700 (PDT)
Received: from [10.0.1.8] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id v26sm8559549qce.19.2010.04.07.17.23.11 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 07 Apr 2010 17:23:12 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1077)
Content-Type: text/plain; charset=us-ascii
From: Dick Hardt <dick.hardt@gmail.com>
In-Reply-To: <C7E2629E.31EA4%eran@hueniverse.com>
Date: Wed, 7 Apr 2010 17:23:10 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <D28E7E3E-0432-46E1-8920-6CD12DA12652@gmail.com>
References: <C7E2629E.31EA4%eran@hueniverse.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
X-Mailer: Apple Mail (2.1077)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Another draft update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 00:23:22 -0000

On 2010-04-07, at 4:26 PM, Eran Hammer-Lahav wrote:

> Latest is always at:
>=20
> http://github.com/theRazorBlade/draft-ietf-oauth
>=20
> (xml is always up to date. txt and html when I can. Atom feed =
available)
>=20
> ---
>=20
> I finished going over sections 1-4 which includes the overview, flows, =
and
> refresh method. Next is using tokens. By finished I mean those =
sections are
> ready to be submitted as a working group draft -00.
>=20
> Unfortunately I am unable (or unwilling) to go back and review =
comments made
> to sections I previously ignored. Please review sections 1-4 again and
> submit any changes needed for a -00 draft. This means focus on =
critical
> changes that should be made before the document is considered a =
starting
> point for the working group.
>=20
> Open issues:
>=20
> * token size limit
> * restriction on values characters
> * specificity of the assertion flow
> * parameter name prefix
> * single authorization endpoint
> * inclusion of both user-agent flow and native application flow
> * requiring HTTPS for bearer token protected resource requests
> * username parameter proposal
> * scope parameter
> * adding refresh token as optional in all access token requests
> * limiting signed requests to use the auth header (no query / form =
body)

Are these issues where you expect to have a consensus vote and you are =
only looking for other issues, or are you looking for feedback on these =
as separate emails as well?

-- Dick


From dick.hardt@gmail.com  Wed Apr  7 18:25:15 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 20A473A6842 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 18:25:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CWzxro4WMuK9 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 18:25:09 -0700 (PDT)
Received: from qw-out-2122.google.com (qw-out-2122.google.com [74.125.92.25]) by core3.amsl.com (Postfix) with ESMTP id BF1563A6841 for <oauth@ietf.org>; Wed,  7 Apr 2010 18:25:08 -0700 (PDT)
Received: by qw-out-2122.google.com with SMTP id 9so569257qwb.31 for <oauth@ietf.org>; Wed, 07 Apr 2010 18:25:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=OHlJXrIW+TgKbnYF/Q2anfLGwfZDhAsVcIKpCxdFhQM=; b=CgpIttpOZfAEYX3HqRUgvRsicR/966FlwtXMklDjkXbasZeS5uxdpUg7PMhP7iSd3N vZoUAiqwMe1UVwq43NiGuRofpt7uxBipoxELlO6ULHmBfjif7IPmKXgEPLTZifhxKW21 0xTP4zELLHfI+nffsspG0tdn0BRYCbzFp4z3s=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=xr8mhmqFpZUkhJaAIyExFlqFuebJeI3UzLdTh0ZUVOeJRKzzxGC5TEAKPcznRhpDdf Ta4zyWbCM5MoICvnURBKeIWj+2xTB4STCWqqb/G6THyNmEREaTaJet6SJig4ioI3hQGw G3xT2GtFR3ZSL1wpcz/CpS7gbs+osJ8C4d7+0=
Received: by 10.229.181.16 with SMTP id bw16mr432650qcb.0.1270689902899; Wed, 07 Apr 2010 18:25:02 -0700 (PDT)
Received: from [10.0.1.8] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id w30sm8614664qce.4.2010.04.07.18.25.00 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 07 Apr 2010 18:25:02 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1077)
Content-Type: text/plain; charset=us-ascii
From: Dick Hardt <dick.hardt@gmail.com>
In-Reply-To: <C7E261A4.31EA3%eran@hueniverse.com>
Date: Wed, 7 Apr 2010 18:24:59 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <B51A6602-10EC-4F8D-952E-65CE76EDD445@gmail.com>
References: <C7E261A4.31EA3%eran@hueniverse.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
X-Mailer: Apple Mail (2.1077)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 01:25:15 -0000

Eran

Richard and Lief are describing the same point we had in the past where =
Peter surmised the discussion that an *implementation* MUST support TLS =
is required for bearer tokens to be compliant, and that TLS is =
recommended for *deployment*

-- Dick

On 2010-04-07, at 4:21 PM, Eran Hammer-Lahav wrote:

> We are looking at this all wrong.
>=20
> There are two kinds of protected resources OAuth supports:
>=20
> * http://
> * https://
>=20
> OAuth provides two kinds of token authentication modes:
>=20
> * bearer token
> * token + signature
>=20
> I don't know how to translate your statement below into text I can put =
in
> the draft to answer:
>=20
> When you access/serve an http:// protected resource you do what?
> When you access/serve an https:// protected resource you do what?
>=20
> It is not about requiring SSL for bearer token. It is about what you
> can/should do when accessing an http:// resource.
>=20
> EHL
>=20
> On 4/7/10 7:09 AM, "Richard Barnes" <rbarnes@bbn.com> wrote:
>=20
>> To re-iterate and clarify Leif's second point, I would be in favor of
>> making TLS:
>>=20
>> -- REQUIRED for implementations to support (=3D=3D MUST)
>> -- RECOMMENDED for deployments to use (=3D=3D SHOULD)
>>=20
>> This a pretty universal pattern in IETF protocols.
>>=20
>> --Richard
>>=20
>>=20
>> On Apr 7, 2010, at 7:20 AM, Leif Johansson wrote:
>>=20
>>>=20
>>>> Go implement whatever you want. But the spec should set the highest
>>>> practical bar it can, and requiring HTTPS is trivial.
>>>>=20
>>>> As a practical note, if the WG reaches consensus to drop the MUST,
>>>> I would
>>>> ask the chairs to ask the security area and IESG to provide
>>>> guidance whether
>>>> they would approve such document. The IESG did not approve OAuth
>>>> 1.0a for
>>>> publication as an RFC until this was changed to a MUST (for
>>>> PLAINTEXT) among
>>>> other comments, and that with a strong warning.
>>>>=20
>>>> There is also an on going effort to improve cookie security. Do we
>>>> really
>>>> want OAuth to become the next weakest link?
>>>=20
>>> I emphatically agree.
>>>=20
>>> I suspect that a lot of confusion on this thread is caused by
>>> confusing implementation requirements with deployment requirements
>>> btw.
>>>=20
>>>      Cheers Leif
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>=20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>=20
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From rbarnes@bbn.com  Wed Apr  7 18:42:49 2010
Return-Path: <rbarnes@bbn.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 96B8B3A68F8 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 18:42:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R5qAH3qjDesV for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 18:42:48 -0700 (PDT)
Received: from smtp.bbn.com (smtp.bbn.com [128.33.0.80]) by core3.amsl.com (Postfix) with ESMTP id 8A5583A6841 for <oauth@ietf.org>; Wed,  7 Apr 2010 18:42:48 -0700 (PDT)
Received: from [128.89.255.215] (port=59892 helo=[192.168.1.46]) by smtp.bbn.com with esmtp (Exim 4.71 (FreeBSD)) (envelope-from <rbarnes@bbn.com>) id 1NzglX-000FaH-VJ; Wed, 07 Apr 2010 21:42:44 -0400
Message-Id: <D6AB9043-2F71-479C-9C4F-3463FEEA0B09@bbn.com>
From: Richard Barnes <rbarnes@bbn.com>
To: Dick Hardt <dick.hardt@gmail.com>
In-Reply-To: <B51A6602-10EC-4F8D-952E-65CE76EDD445@gmail.com>
Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (Apple Message framework v936)
Date: Wed, 7 Apr 2010 21:42:40 -0400
References: <C7E261A4.31EA3%eran@hueniverse.com> <B51A6602-10EC-4F8D-952E-65CE76EDD445@gmail.com>
X-Mailer: Apple Mail (2.936)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 01:42:49 -0000

You guys are both right: The recommendation I made before is basically  
saying that you SHOULD only use tokens without signing on HTTPS  
resources.

--Richard


On Apr 7, 2010, at 9:24 PM, Dick Hardt wrote:

> Eran
>
> Richard and Lief are describing the same point we had in the past  
> where Peter surmised the discussion that an *implementation* MUST  
> support TLS is required for bearer tokens to be compliant, and that  
> TLS is recommended for *deployment*
>
> -- Dick
>
> On 2010-04-07, at 4:21 PM, Eran Hammer-Lahav wrote:
>
>> We are looking at this all wrong.
>>
>> There are two kinds of protected resources OAuth supports:
>>
>> * http://
>> * https://
>>
>> OAuth provides two kinds of token authentication modes:
>>
>> * bearer token
>> * token + signature
>>
>> I don't know how to translate your statement below into text I can  
>> put in
>> the draft to answer:
>>
>> When you access/serve an http:// protected resource you do what?
>> When you access/serve an https:// protected resource you do what?
>>
>> It is not about requiring SSL for bearer token. It is about what you
>> can/should do when accessing an http:// resource.
>>
>> EHL
>>
>> On 4/7/10 7:09 AM, "Richard Barnes" <rbarnes@bbn.com> wrote:
>>
>>> To re-iterate and clarify Leif's second point, I would be in favor  
>>> of
>>> making TLS:
>>>
>>> -- REQUIRED for implementations to support (== MUST)
>>> -- RECOMMENDED for deployments to use (== SHOULD)
>>>
>>> This a pretty universal pattern in IETF protocols.
>>>
>>> --Richard
>>>
>>>
>>> On Apr 7, 2010, at 7:20 AM, Leif Johansson wrote:
>>>
>>>>
>>>>> Go implement whatever you want. But the spec should set the  
>>>>> highest
>>>>> practical bar it can, and requiring HTTPS is trivial.
>>>>>
>>>>> As a practical note, if the WG reaches consensus to drop the MUST,
>>>>> I would
>>>>> ask the chairs to ask the security area and IESG to provide
>>>>> guidance whether
>>>>> they would approve such document. The IESG did not approve OAuth
>>>>> 1.0a for
>>>>> publication as an RFC until this was changed to a MUST (for
>>>>> PLAINTEXT) among
>>>>> other comments, and that with a strong warning.
>>>>>
>>>>> There is also an on going effort to improve cookie security. Do we
>>>>> really
>>>>> want OAuth to become the next weakest link?
>>>>
>>>> I emphatically agree.
>>>>
>>>> I suspect that a lot of confusion on this thread is caused by
>>>> confusing implementation requirements with deployment requirements
>>>> btw.
>>>>
>>>>     Cheers Leif
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>


From dick.hardt@gmail.com  Wed Apr  7 20:05:57 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 49FDC3A68E0 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 20:05:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DArP92yp99NK for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 20:05:56 -0700 (PDT)
Received: from mail-gy0-f172.google.com (mail-gy0-f172.google.com [209.85.160.172]) by core3.amsl.com (Postfix) with ESMTP id 114513A688D for <oauth@ietf.org>; Wed,  7 Apr 2010 20:05:55 -0700 (PDT)
Received: by gyh4 with SMTP id 4so958691gyh.31 for <oauth@ietf.org>; Wed, 07 Apr 2010 20:05:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=1DZ0H6ib2Yhrhfzbb+vQz6AmAEw+bh4D5VVJUgOrjsw=; b=uDliUAgp+9r3y4yg0nSkMI/xGVV5CBUFkiWg3LTiX64D8siyFmDL+2Z6AnP6k0enuF Wz9grVBp4NtyWNz6DlTZfTd2Zl0ng5GeTMOpOsqo9MCVIJ+H2z0pBdid/UktWkVVqb96 e5aT/ZeUUNZZOuxPc2V0wqMZ35YfnbY09XXAQ=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=uJEhvLu1pwRvIRmqC6bbXraO7lGsjKSth1PEeGptyJlxGijE7clluaEHFURND25jDK yd2Y2/bZ4ySOORmEuGCpklCRzJCx3WRjQZ2pt42yGNFOaHxJ2xMQ+LZH/bh88kc+i2yu ZYRr/PpNw8jdGR2p/wvyqvi+Cz+voc/Cm0ySE=
Received: by 10.150.193.21 with SMTP id q21mr10528681ybf.44.1270695950230; Wed, 07 Apr 2010 20:05:50 -0700 (PDT)
Received: from [10.0.1.4] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id 4sm3745841yxd.34.2010.04.07.20.05.44 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 07 Apr 2010 20:05:47 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: Dick Hardt <dick.hardt@gmail.com>
In-Reply-To: <C7E23E45.31E92%eran@hueniverse.com>
Date: Wed, 7 Apr 2010 20:05:42 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <4D47E672-7CA0-43B9-8B8E-56B6669F0ACE@gmail.com>
References: <C7E23E45.31E92%eran@hueniverse.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
X-Mailer: Apple Mail (2.1078)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Consistency across access token replies
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 03:05:57 -0000

I would envision that the requests from different flows will have a =
different mode value, which makes them uniquely different requests for =
the AS.

I think returning a refresh token when it can't be used will lead to =
confusion for Client and AS developers.

-- Dick

On 2010-04-07, at 1:51 PM, Eran Hammer-Lahav wrote:

> Right now most of the flows return the same parameters (access token,
> expiration, refresh token). A few do not return a refresh token. When =
we add
> signatures, we will need to add token secret and algorithm type.
>=20
> I know there are good reasons why certain flows do not return a =
refresh
> token but instead rely on the client repeating the request. However, =
there
> is a lot of value in simplicity and consistency in making every =
request
> return the same parameters.
>=20
> It will also allow specifying it one time instead of over and over =
again.
>=20
> Thoughts?
>=20
> EHL
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From sarahfaulkner3@gmail.com  Wed Apr  7 20:23:32 2010
Return-Path: <sarahfaulkner3@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 165973A6802 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 20:23:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eq3wCkinMdvs for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 20:23:30 -0700 (PDT)
Received: from mail-pz0-f191.google.com (mail-pz0-f191.google.com [209.85.222.191]) by core3.amsl.com (Postfix) with ESMTP id CD36C3A67A5 for <oauth@ietf.org>; Wed,  7 Apr 2010 20:23:29 -0700 (PDT)
Received: by pzk29 with SMTP id 29so1591709pzk.29 for <oauth@ietf.org>; Wed, 07 Apr 2010 20:23:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=ELUnhLIe7s7BUD7JDTiP53GZxQF4DH3OVPEywyuEJsg=; b=ezY4m0Esw77b5SQmI+pQoZhbeex3CLeJ60bNnTzken4qn0hJM1p7e+LtJwhBQD7eqt +GFAx4jn5BSs0ttTdqiKE/BpjYAG94ot6V/x8mDEKojg/GWOISAIMirRRxpKVUumZXcg Hp6jpbSXovWZDks4YndXqXIL24ww7lKZbzN2I=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=NWg4UN40LkVxqVxoDXp3onYp9lHhGE+ak1cIHzz2Hb6A/Lhlj4Q+mf01g4/q1x1QCO 5/QKxnazOQ9hyeX3fEVLT6i6zuqygLQschI+Dr45KdMzxhue58Bv9xvZL03Ukbrg9Tcf 3cPFZ4bbBDHI2/1g5t6Bu4mY5l9Cz95uaG8BI=
MIME-Version: 1.0
Received: by 10.142.73.9 with HTTP; Wed, 7 Apr 2010 20:23:24 -0700 (PDT)
In-Reply-To: <4D47E672-7CA0-43B9-8B8E-56B6669F0ACE@gmail.com>
References: <C7E23E45.31E92%eran@hueniverse.com> <4D47E672-7CA0-43B9-8B8E-56B6669F0ACE@gmail.com>
Date: Wed, 7 Apr 2010 20:23:24 -0700
Received: by 10.142.209.1 with SMTP id h1mr1925157wfg.269.1270697004231; Wed,  07 Apr 2010 20:23:24 -0700 (PDT)
Message-ID: <j2t12aab3571004072023k44ca6037o7d5ab993eac1a88b@mail.gmail.com>
From: Sarah Faulkner <sarahfaulkner3@gmail.com>
To: Dick Hardt <dick.hardt@gmail.com>
Content-Type: multipart/alternative; boundary=000e0cd32c988def0b0483b133c8
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Consistency across access token replies
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 03:23:32 -0000

--000e0cd32c988def0b0483b133c8
Content-Type: text/plain; charset=ISO-8859-1

I think it depends on which profiles we end up with. If we have the web and
rich client profiles from Dick's WRAP draft plus the JS profile from David's
draft, I would want to return the refresh token with the first two profiles
but not with the third. Since our refresh tokens are going to be very long
lived in most cases (months), I'd like to promote that they are kept
server-side. I don't want to return the refresh token to the client in the
JS profile and have it sent to the server over HTTP or set in a cookie.



At the very least, I would like the refresh token return to be optional if
it's not returned in a server-to-server or to a device that has secure
storage.



This brings up the question of the device profile -- there are some devices
(ex. xbox) that have a way to secure the refresh token, there are others
that do not. It may be good to either allow the device to self-declare (in
the request, specifically ask for the refresh token) or allow the provider
to optionally return the refresh token based on what they know about the
device.


On Wed, Apr 7, 2010 at 8:05 PM, Dick Hardt <dick.hardt@gmail.com> wrote:

> I would envision that the requests from different flows will have a
> different mode value, which makes them uniquely different requests for the
> AS.
>
> I think returning a refresh token when it can't be used will lead to
> confusion for Client and AS developers.
>
> -- Dick
>
> On 2010-04-07, at 1:51 PM, Eran Hammer-Lahav wrote:
>
> > Right now most of the flows return the same parameters (access token,
> > expiration, refresh token). A few do not return a refresh token. When we
> add
> > signatures, we will need to add token secret and algorithm type.
> >
> > I know there are good reasons why certain flows do not return a refresh
> > token but instead rely on the client repeating the request. However,
> there
> > is a lot of value in simplicity and consistency in making every request
> > return the same parameters.
> >
> > It will also allow specifying it one time instead of over and over again.
> >
> > Thoughts?
> >
> > EHL
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--000e0cd32c988def0b0483b133c8
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<p style=3D"MARGIN: 0in 0in 0pt" class=3D"MsoPlainText"><font size=3D"3"><f=
ont face=3D"Consolas">I think it depends on which profiles we end up with. =
If we have the web and rich client profiles from Dick&#39;s WRAP draft plus=
 the JS profile from David&#39;s draft, I would want to return the refresh =
token with the first two profiles but not with the third. Since our refresh=
 tokens are going to be very long lived in most cases (months), I&#39;d lik=
e to promote that they are kept server-side. I don&#39;t want to return the=
 refresh token to the client in the JS profile and have it sent to the serv=
er over HTTP or set in a cookie. </font></font></p>

<p style=3D"MARGIN: 0in 0in 0pt" class=3D"MsoPlainText"><font size=3D"3" fa=
ce=3D"Consolas">=A0</font></p>
<p style=3D"MARGIN: 0in 0in 0pt" class=3D"MsoPlainText"><font size=3D"3"><f=
ont face=3D"Consolas">At the very least, I would like the refresh token ret=
urn to be optional if it&#39;s not returned in a server-to-server or to a d=
evice that has secure storage. </font></font></p>

<p style=3D"MARGIN: 0in 0in 0pt" class=3D"MsoPlainText"><font size=3D"3" fa=
ce=3D"Consolas">=A0</font></p>
<p style=3D"MARGIN: 0in 0in 0pt" class=3D"MsoPlainText"><font size=3D"3"><f=
ont face=3D"Consolas">This brings up the question of the device profile -- =
there are some devices (ex. xbox) that have a way to secure the refresh tok=
en, there are others that do not. It may be good to either allow the device=
 to self-declare (in the request, specifically ask for the refresh token) o=
r allow the provider to optionally return the refresh token based on what t=
hey know about the device.</font></font></p>
<br><br>
<div class=3D"gmail_quote">On Wed, Apr 7, 2010 at 8:05 PM, Dick Hardt <span=
 dir=3D"ltr">&lt;<a href=3D"mailto:dick.hardt@gmail.com">dick.hardt@gmail.c=
om</a>&gt;</span> wrote:<br>
<blockquote style=3D"BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex=
; PADDING-LEFT: 1ex" class=3D"gmail_quote">I would envision that the reques=
ts from different flows will have a different mode value, which makes them =
uniquely different requests for the AS.<br>
<br>I think returning a refresh token when it can&#39;t be used will lead t=
o confusion for Client and AS developers.<br><font color=3D"#888888"><br>--=
 Dick<br></font>
<div>
<div></div>
<div class=3D"h5"><br>On 2010-04-07, at 1:51 PM, Eran Hammer-Lahav wrote:<b=
r><br>&gt; Right now most of the flows return the same parameters (access t=
oken,<br>&gt; expiration, refresh token). A few do not return a refresh tok=
en. When we add<br>
&gt; signatures, we will need to add token secret and algorithm type.<br>&g=
t;<br>&gt; I know there are good reasons why certain flows do not return a =
refresh<br>&gt; token but instead rely on the client repeating the request.=
 However, there<br>
&gt; is a lot of value in simplicity and consistency in making every reques=
t<br>&gt; return the same parameters.<br>&gt;<br>&gt; It will also allow sp=
ecifying it one time instead of over and over again.<br>&gt;<br>&gt; Though=
ts?<br>
&gt;<br>&gt; EHL<br>&gt;<br>&gt; __________________________________________=
_____<br>&gt; OAuth mailing list<br>&gt; <a href=3D"mailto:OAuth@ietf.org">=
OAuth@ietf.org</a><br>&gt; <a href=3D"https://www.ietf.org/mailman/listinfo=
/oauth" target=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><b=
r>
<br>_______________________________________________<br>OAuth mailing list<b=
r><a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br><a href=3D"https:=
//www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">https://www.ietf.o=
rg/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br>

--000e0cd32c988def0b0483b133c8--

From uidude@google.com  Wed Apr  7 21:21:47 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 165983A693C for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 21:21:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.543
X-Spam-Level: 
X-Spam-Status: No, score=-101.543 tagged_above=-999 required=5 tests=[AWL=0.433, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id u718SfEkD8S6 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 21:21:46 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 1F5573A68D1 for <oauth@ietf.org>; Wed,  7 Apr 2010 21:21:39 -0700 (PDT)
Received: from hpaq12.eem.corp.google.com (hpaq12.eem.corp.google.com [10.3.21.12]) by smtp-out.google.com with ESMTP id o384LWiI028826 for <oauth@ietf.org>; Thu, 8 Apr 2010 06:21:32 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270700492; bh=6wzM86NRkPHAcpCtQB/ZRzaTFFs=; h=MIME-Version:From:Date:Message-ID:Subject:To:Content-Type; b=IAkfrr3BQbnTwzeCr/0JDf8fU8FxXXB1Bj/mR4pv2rBYdxN9lxbc6VgnOoXix2D/8 dWfNq2CEcr7Sm2bDZeg3g==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:from:date:message-id:subject:to:content-type:x-system-of-record; b=J4+2Ng3h7rlUw1KmKULa7ZLKRQ2UeujpLrA4tvzDHJ8VT+W/uVDmg93kwh+8hbDlj sSR09/l3+wK6359sk3FWw==
Received: from qw-out-1920.google.com (qwk4.prod.google.com [10.241.195.132]) by hpaq12.eem.corp.google.com with ESMTP id o384LQsI003399 for <oauth@ietf.org>; Thu, 8 Apr 2010 06:21:31 +0200
Received: by qw-out-1920.google.com with SMTP id 4so588478qwk.22 for <oauth@ietf.org>; Wed, 07 Apr 2010 21:21:26 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.194 with HTTP; Wed, 7 Apr 2010 21:20:58 -0700 (PDT)
From: Evan Gilbert <uidude@google.com>
Date: Wed, 7 Apr 2010 21:20:58 -0700
Received: by 10.229.184.130 with SMTP id ck2mr13684862qcb.95.1270700480120;  Wed, 07 Apr 2010 21:21:20 -0700 (PDT)
Message-ID: <l2vc8689b661004072120sb9360d8eq601eafe349ff42e5@mail.gmail.com>
To: OAuth WG <oauth@ietf.org>
Content-Type: multipart/alternative; boundary=0016362848c2bd26fd0483b20251
X-System-Of-Record: true
Subject: [OAUTH-WG] Option to not prompt the user for authorization
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 04:21:47 -0000

--0016362848c2bd26fd0483b20251
Content-Type: text/plain; charset=ISO-8859-1

Authorization servers in the OAuth Web Callback flow and the User Agent flow
should have the option to redirect back with access/refresh tokens without
prompting the user, if the client has already been granted access to the
protected resource.

This is already implied by some of the text (3.4.3.1 "After receiving (or
establishing via other means) an authorization decision from the resource
owner", but is not supported by the example flows.

Suggested changes

3.4.1 Web Callback Flow

   (B) The authorization server authenticates the end user (via
the user-agent) and *MAY prompt* the end user to grant or deny the client's
access request.
   (C) *If authorization server determines the client has access to
protected resource*, the authorization server redirects the user-agent back
to the client to the callback URI provided earlier. The authorization
includes a verification code for the client to use to obtain an access token


3.4.3 User Agent Flow

   (B) The authorization server authenticates the end user (via
the user-agent) and *MAY prompt* the end user to grant or deny the client's
access request.
   (C) *If authorization server determines the client has access to
protected resource*, the authorization server redirects the user-agent to
the redirection URI provided earlier. The redirection URI includes the
access token in the URI fragment.

Also, in cases where the authorization server doesn't prompt the user, we
may want the ability for a client to ask for an immediate decision from the
server instead of prompting the user using a parameter. Suggested changes:

3.4.1.1 Web Callback Flow | Client Requests Authorization
3.4.3.1 User Agent Flow | Client Requests Authorization

(new parameter)
immediate
  OPTIONAL. The parameter value must be set to "true" or "false" (case
sensitive). If set to "true", then the authorization flow MUST check
immediately if the client has access to protected resource and redirect back
with a successful response or "user_denied" error without prompting the
user.

Evan

--0016362848c2bd26fd0483b20251
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Authorization servers in the OAuth Web Callback flow and the User Agent flo=
w should have the option to redirect back with access/refresh tokens withou=
t prompting the user, if the client has already been granted access to the =
protected resource.<div>

<br>This is already implied by some of the text (3.4.3.1 &quot;After receiv=
ing (or establishing via other means) an authorization=A0decision from the =
resource owner&quot;, but is not supported by the example flows.<br><div>

<div><br>Suggested changes</div><div><br><div>3.4.1 Web Callback Flow</div>=
<br>=A0=A0 (B) The authorization server authenticates the end user (via the=
=A0user-agent) and <b>MAY prompt</b> the end user to grant or deny the=A0cl=
ient&#39;s access request.<br>

=A0=A0 (C)=A0<b>If authorization server determines the client has access to=
 protected resource</b>, the authorization server=A0redirects the user-agen=
t back to the client to the callback URI=A0provided earlier. The authorizat=
ion includes a verification=A0code for the client to use to obtain an acces=
s token<br>

<div><span class=3D"Apple-style-span" style=3D"font-family: helvetica, aria=
l, freesans, clean, sans-serif; font-size: 11px; line-height: 14px; "><pre =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-lef=
t: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-=
left: 0px; font: normal normal normal 115%/normal Monaco, &#39;Courier New&=
#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, monos=
pace; line-height: 1.4em; font-family: &#39;Bitstream Vera Sans Mono&#39;, =
Courier, monospace; font-size: 12px; ">

<div class=3D"line" id=3D"LC568" style=3D"margin-top: 0px; margin-right: 0p=
x; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0=
px; padding-bottom: 0px; padding-left: 1em; line-height: 1.4em; "><br></div=
>
</pre>
</span>3.4.3 User Agent Flow<br><br>=A0=A0 (B) The authorization server aut=
henticates the end user (via the=A0user-agent) and <b>MAY prompt</b> the en=
d user to grant or deny the=A0client&#39;s access request.<br>=A0=A0 (C) <b=
>If authorization server determines the client has access to protected reso=
urce</b>, the authorization server=A0redirects the user-agent to the redire=
ction URI provided=A0earlier. The redirection URI includes the access token=
 in the=A0URI fragment.</div>

</div></div></div><div><br></div><div>Also, in cases where the authorizatio=
n server doesn&#39;t prompt the user, we may want the ability for a client =
to ask for an immediate decision from the server instead of prompting the u=
ser using a parameter. Suggested changes:</div>

<div><br></div><div>3.4.1.1 Web Callback Flow | Client Requests Authorizati=
on</div><div>3.4.3.1 User Agent Flow | Client Requests Authorization</div><=
div><br></div><div>(new parameter)</div><div>immediate</div><div>=A0=A0OPTI=
ONAL. The parameter value must be set to &quot;true&quot; or &quot;false&qu=
ot; (case sensitive). If set to &quot;true&quot;, then the authorization fl=
ow MUST check immediately if the client has access to protected resource an=
d redirect back with a successful response or &quot;user_denied&quot; error=
 without prompting the user.</div>

<div><br></div><div>Evan</div>

--0016362848c2bd26fd0483b20251--

From uidude@google.com  Wed Apr  7 22:51:33 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9F6433A687C for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 22:51:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.651
X-Spam-Level: 
X-Spam-Status: No, score=-101.651 tagged_above=-999 required=5 tests=[AWL=0.325, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0e8ycQye7guj for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 22:51:32 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id EFFF03A69F0 for <oauth@ietf.org>; Wed,  7 Apr 2010 22:46:57 -0700 (PDT)
Received: from hpaq3.eem.corp.google.com (hpaq3.eem.corp.google.com [10.3.21.3]) by smtp-out.google.com with ESMTP id o385kmNT014664 for <oauth@ietf.org>; Thu, 8 Apr 2010 07:46:48 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270705608; bh=JKofaj4HyH+mzRO1Pk+k+lqSkvI=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=ZSrfEe91SVpdLSzkz2MaCcqttauHbgbvC3hruE8GOAFdYnXGQDmiipX0Oqs9ftG/B KccPJtzMLRRQDKS7ANL2w==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=Te3XWl9dr9F8bdtfHIPc1RXC8e9QHdshew4Y0QNbTUEqvLXqQ4dlqikJAntMk9KBp hqvxnc8m24tdO7xZW9PAQ==
Received: from qw-out-2122.google.com (qwh8.prod.google.com [10.241.194.200]) by hpaq3.eem.corp.google.com with ESMTP id o385kkOq003167 for <oauth@ietf.org>; Thu, 8 Apr 2010 07:46:47 +0200
Received: by qw-out-2122.google.com with SMTP id 8so599197qwh.47 for <oauth@ietf.org>; Wed, 07 Apr 2010 22:46:46 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.194 with HTTP; Wed, 7 Apr 2010 22:46:18 -0700 (PDT)
In-Reply-To: <i2ncb5f7a381004070929qde2c746dtb6f9ead849436d32@mail.gmail.com>
References: <n2ic8689b661004062314ha8689ddcrd6fa932b1915eda4@mail.gmail.com>  <C7E17D76.31E24%eran@hueniverse.com> <j2zc8689b661004070822z90effc46v83f790849cbb9636@mail.gmail.com> <i2ncb5f7a381004070929qde2c746dtb6f9ead849436d32@mail.gmail.com>
From: Evan Gilbert <uidude@google.com>
Date: Wed, 7 Apr 2010 22:46:18 -0700
Received: by 10.229.217.14 with SMTP id hk14mr894493qcb.89.1270705600351; Wed,  07 Apr 2010 22:46:40 -0700 (PDT)
Message-ID: <q2rc8689b661004072246ie4bda2f3p560c7c18ab621fa3@mail.gmail.com>
To: John Panzer <jpanzer@google.com>
Content-Type: multipart/alternative; boundary=00163630f7a3ecf50f0483b333fe
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on Web Callback & Client Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 05:51:33 -0000

--00163630f7a3ecf50f0483b333fe
Content-Type: text/plain; charset=ISO-8859-1

On Wed, Apr 7, 2010 at 9:29 AM, John Panzer <jpanzer@google.com> wrote:

> I'm assuming that tokens need not be bound to a specific user (typically
> they are, but imagine a secretary granting an app access to his boss's
> calendar and then leaving the company and therefore being removed from the
> calendar ACL, but the app still keeping access by virtue of the capability
> granted by the token).  In this case, the proposed wording seems kind of
> problematic for a MUST.


Note that the "resource owner" in this case is the secretary, not his boss.
Resource owner is "An entity capable of granting access to a protected
resource."

Since access tokens are bound to the resource owner ("A unique identifier
used by the client to make authenticated requests on behalf of the resource
owner."), I think in this case the system would have a clear way to revoke
access to the document.

Updating the wording on the proposal slightly to clarify (also changing
format to new parameter formatting)

Before:
username
  The resource owner's username. The authorization server MUST only send
back refresh tokens or access tokens for the user identified by username

Current:
username
  OPTIONAL. The resource owner's username. The authorization server MUST
only send back refresh tokens or access tokens *capable of making requests
on behalf of* the user identified by username


>
> On Wed, Apr 7, 2010 at 8:22 AM, Evan Gilbert <uidude@google.com> wrote:
>
>>
>>
>> On Wed, Apr 7, 2010 at 12:08 AM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:
>>
>>>  What about an attacker changing the username similar to the way a
>>> callback can be changed?
>>>
>>
>>  I don't think there is a danger here.
>>
>> We still use all of the safeguards in place from the rest of the flow -
>> adding this parameter never log you in when omitting the parameter would not
>> have. It will just create more error responses.
>>
>>
>>>
>>> EHL
>>>
>>>
>>>
>>> On 4/6/10 11:14 PM, "Evan Gilbert" <uidude@google.com> wrote:
>>>
>>>
>>>
>>> On Tue, Apr 6, 2010 at 11:07 PM, Eran Hammer-Lahav <eran@hueniverse.com>
>>> wrote:
>>>
>>>
>>>
>>>
>>> On 4/6/10 5:24 PM, "Evan Gilbert" <uidude@google.com> wrote:
>>>
>>> > Proposal:
>>> > In 2.4.1 & 2.4.2, add the following OPTIONAL parameter
>>> > username
>>> >   The resource owner's username. The authorization server MUST only
>>> send back
>>> > refresh tokens or access tokens for the user identified by username.
>>>
>>> What are the security implications? How can the client know that the
>>> token
>>> it got is really for that user?
>>>
>>>
>>> Think the client has to trust the auth server, in the same way as with
>>> the username + password profile. The auth server can always send back a
>>> scope for a different user.
>>>
>>> Worst case is that there is an identity mismatch between client and the
>>> identity implicit in the authorization token. This mismatch is already
>>> possible, and I don't think the username parameter makes the problem worse.
>>>
>>>
>>> EHL
>>>
>>>
>>>
>>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>

--00163630f7a3ecf50f0483b333fe
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><div><span class=3D"Apple-style-span" style=3D"font-family: arial, sans=
-serif; font-size: 13px; border-collapse: collapse; "><div><font face=3D"ar=
ial, sans-serif"><span style=3D"border-collapse: collapse; "><span style=3D=
"border-collapse: separate; font-family: arial; "><br>

</span></span></font></div></span><br><div class=3D"gmail_quote">On Wed, Ap=
r 7, 2010 at 9:29 AM, John Panzer <span dir=3D"ltr">&lt;<a href=3D"mailto:j=
panzer@google.com">jpanzer@google.com</a>&gt;</span> wrote:<br><blockquote =
class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid=
;padding-left:1ex;">

I&#39;m assuming that tokens need not be bound to a specific user (typicall=
y they are, but imagine a secretary granting an app access to his boss&#39;=
s calendar and then leaving the company and therefore being removed from th=
e calendar ACL, but the app still keeping access by virtue of the capabilit=
y granted by the token). =A0In this case, the proposed wording seems kind o=
f problematic for a MUST.</blockquote>

<div><br>Note that the &quot;resource owner&quot; in this case is the secre=
tary, not his boss. Resource owner is &quot;An entity capable of granting a=
ccess to a protected resource.&quot;</div><div><br>Since access tokens are =
bound to the resource owner (&quot;A unique identifier used by the client t=
o make authenticated=A0requests on beh<span class=3D"Apple-style-span" styl=
e=3D"font-size: 13px; ">alf of the resource owner.&quot;), I think in this =
case the system would have a clear way to revoke access to the document.</s=
pan>=A0</div>

<div><br></div><div>U<span class=3D"Apple-style-span" style=3D"font-size: 1=
3px; ">pdating the wording on the proposal slightly to clarify (also changi=
ng format to new parameter formatting)</span></div></div><div class=3D"gmai=
l_quote">

<span class=3D"Apple-style-span" style=3D"font-size: 13px; "><br>Before:<br=
>username</span><div><span class=3D"Apple-style-span" style=3D"font-size: 1=
3px; ">=A0=A0The resource owner&#39;s username. The authorization server MU=
ST only send back refresh tokens or access tokens for the user identified b=
y username</span></div>

<div><span class=3D"Apple-style-span" style=3D"font-size: 13px; "><br></spa=
n></div><div><span class=3D"Apple-style-span" style=3D"font-size: 13px; ">C=
urrent:</span></div><div><span class=3D"Apple-style-span" style=3D"font-siz=
e: 13px; "><span class=3D"Apple-style-span" style=3D"font-size: small; "><s=
pan class=3D"Apple-style-span" style=3D"font-size: 13px; ">username</span><=
div>

<span class=3D"Apple-style-span" style=3D"font-size: 13px; ">=A0=A0OPTIONAL=
. The resource owner&#39;s username. The authorization server MUST only sen=
d back refresh tokens or access tokens <b>capable of making requests on beh=
alf of</b> the user identified by username</span></div>

</span></span></div><div><span class=3D"Apple-style-span" style=3D"font-siz=
e: 13px; "></span>=A0</div><blockquote class=3D"gmail_quote" style=3D"margi=
n:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div>

<div><br><div class=3D"gmail_quote"><div><div></div><div class=3D"h5">On We=
d, Apr 7, 2010 at 8:22 AM, Evan Gilbert <span dir=3D"ltr">&lt;<a href=3D"ma=
ilto:uidude@google.com" target=3D"_blank">uidude@google.com</a>&gt;</span> =
wrote:<br>

</div></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo=
rder-left:1px #ccc solid;padding-left:1ex"><div><div></div><div class=3D"h5=
">

<br><br><div class=3D"gmail_quote"><div>On Wed, Apr 7, 2010 at 12:08 AM, Er=
an Hammer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com=
" target=3D"_blank">eran@hueniverse.com</a>&gt;</span> wrote:<br><blockquot=
e class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc sol=
id;padding-left:1ex">









<div>
<font face=3D"Calibri, Verdana, Helvetica, Arial"><span style=3D"font-size:=
11pt">What about an attacker changing the username similar to the way a cal=
lback can be changed?<br></span></font></div></blockquote><div><br></div></=
div>



<div>

I don&#39;t think there is a danger here.</div><div><br>We still use all of=
 the safeguards in place from the rest of the flow - adding this parameter =
never log you in when omitting the parameter would not have. It will just c=
reate more error responses.</div>



<div><div></div><div>

<div>=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;=
border-left:1px #ccc solid;padding-left:1ex"><div><font face=3D"Calibri, Ve=
rdana, Helvetica, Arial"><span style=3D"font-size:11pt"><font color=3D"#888=
888">
<br>
EHL</font><div><div></div><div><br>
<br>
<br>
On 4/6/10 11:14 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"http://uidude@g=
oogle.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
<br>
</div></div></span></font><div><div></div><div><blockquote><font face=3D"Ca=
libri, Verdana, Helvetica, Arial"><span style=3D"font-size:11pt"><br>
<br>
On Tue, Apr 6, 2010 at 11:07 PM, Eran Hammer-Lahav &lt;<a href=3D"http://er=
an@hueniverse.com" target=3D"_blank">eran@hueniverse.com</a>&gt; wrote:<br>
</span></font><blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial"=
><span style=3D"font-size:11pt"><br>
<br>
<br>
On 4/6/10 5:24 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"http://uidude@go=
ogle.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
<br>
&gt; Proposal:<br>
&gt; In 2.4.1 &amp; 2.4.2, add the following OPTIONAL parameter<br>
&gt; username<br>
&gt; =A0=A0The resource owner&#39;s username. The authorization server MUST=
 only send back<br>
&gt; refresh tokens or access tokens for the user identified by username.<b=
r>
<br>
What are the security implications? How can the client know that the token<=
br>
it got is really for that user?<br>
</span></font></blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial=
"><span style=3D"font-size:11pt"><br>
Think the client has to trust the auth server, in the same way as with the =
username + password profile. The auth server can always send back a scope f=
or a different user.<br>
<br>
Worst case is that there is an identity mismatch between client and the ide=
ntity implicit in the authorization token. This mismatch is already possibl=
e, and I don&#39;t think the username parameter makes the problem worse.<br=
>






<br>
</span></font><blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial"=
><span style=3D"font-size:11pt"><font color=3D"#888888"><br>
EHL<br>
<br>
</font></span></font></blockquote><font face=3D"Calibri, Verdana, Helvetica=
, Arial"><span style=3D"font-size:11pt"><br>
<br>
</span></font></blockquote>
</div></div></div>


</blockquote></div></div></div><br>
<br></div></div><div class=3D"im">_________________________________________=
______<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></div></blockquote></div><br></div></div>
</blockquote></div><br></div>

--00163630f7a3ecf50f0483b333fe--

From eran@hueniverse.com  Wed Apr  7 22:58:02 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B07B13A699C for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 22:58:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.418
X-Spam-Level: 
X-Spam-Status: No, score=-2.418 tagged_above=-999 required=5 tests=[AWL=0.181,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RZZYgwxmflxk for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 22:58:02 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id D48CB3A6982 for <oauth@ietf.org>; Wed,  7 Apr 2010 22:58:01 -0700 (PDT)
Received: (qmail 5649 invoked from network); 8 Apr 2010 05:57:57 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 8 Apr 2010 05:57:57 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Wed, 7 Apr 2010 22:57:57 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Dick Hardt <dick.hardt@gmail.com>
Date: Wed, 7 Apr 2010 22:57:54 -0700
Thread-Topic: [OAUTH-WG] Another draft update
Thread-Index: AcrWsa4XUk0ewDywQzS5IKf4soShWQALr/q+
Message-ID: <C7E2BE72.31ECD%eran@hueniverse.com>
In-Reply-To: <D28E7E3E-0432-46E1-8920-6CD12DA12652@gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Another draft update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 05:58:02 -0000

On 4/7/10 5:23 PM, "Dick Hardt" <dick.hardt@gmail.com> wrote:

>=20
>=20
> On 2010-04-07, at 4:26 PM, Eran Hammer-Lahav wrote:
>=20
>> * token size limit
>> * restriction on values characters
>> * specificity of the assertion flow
>> * parameter name prefix
>> * single authorization endpoint
>> * inclusion of both user-agent flow and native application flow
>> * requiring HTTPS for bearer token protected resource requests
>> * username parameter proposal
>> * scope parameter
>> * adding refresh token as optional in all access token requests
>> * limiting signed requests to use the auth header (no query / form body)
>=20
> Are these issues where you expect to have a consensus vote and you are on=
ly
> looking for other issues, or are you looking for feedback on these as sep=
arate
> emails as well?

I just listed all the issues people reported which were not (yet) addressed
in the draft. I didn't want to give the impression that by not addressing
them, some decision has been made. I expect us to continue to debate them
and hope that consensus will emerge or that the chairs will start working
more actively to resolve them.

So yes, please do provide feedback on these or any other issues you have.

As for reaching consensus, I will leave it up to the chairs to decide their
favorite method, but what worked well for us in the past is to make a
statement that reflects what the majority seems to want with the reasons fo=
r
and against and then ask if someone has *strong* objections.

And this is not limited to the chairs. If you feel a position you agree wit=
h
has consensus, please do sum it up and ask if people are ok moving forward
with that view. The key is that you need to have *strong* objections, not
just keep pointing out that something can be slightly better.

EHL


From eran@hueniverse.com  Wed Apr  7 23:06:32 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A5FCC3A6888 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 23:06:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.148
X-Spam-Level: 
X-Spam-Status: No, score=-1.148 tagged_above=-999 required=5 tests=[AWL=-1.105, BAYES_00=-2.599, HTML_MESSAGE=0.001, SARE_OBFU_AMP2B=2.555]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bu80l-cL95bN for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 23:06:30 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 79CC63A6853 for <oauth@ietf.org>; Wed,  7 Apr 2010 23:06:30 -0700 (PDT)
Received: (qmail 7192 invoked from network); 8 Apr 2010 06:06:27 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 8 Apr 2010 06:06:26 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Wed, 7 Apr 2010 23:06:26 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Richard Barnes <rbarnes@bbn.com>, Dick Hardt <dick.hardt@gmail.com>
Date: Wed, 7 Apr 2010 23:06:23 -0700
Thread-Topic: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
Thread-Index: AcrWvMoG4vV7aOOBTgC4xD/VrBwIfQAJNNfm
Message-ID: <C7E2C06F.31ED0%eran@hueniverse.com>
In-Reply-To: <D6AB9043-2F71-479C-9C4F-3463FEEA0B09@bbn.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E2C06F31ED0eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 06:06:32 -0000

--_000_C7E2C06F31ED0eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

How about something like this:

When accessing resources using the http URI scheme, clients SHOULD NOT use =
and servers SHOULD NOT accept bearer token requests (unsigned requests) as =
such a request is equal to sending unprotected credentials in the clear. In=
stead, clients SHOULD obtain and utilize an access token with a matching se=
cret by sending a signed request. Servers MUST accept signed requests for p=
rotected resources using the http URI scheme.

EHL




On 4/7/10 6:42 PM, "Richard Barnes" <rbarnes@bbn.com> wrote:

You guys are both right: The recommendation I made before is basically
saying that you SHOULD only use tokens without signing on HTTPS
resources.

--Richard


On Apr 7, 2010, at 9:24 PM, Dick Hardt wrote:

> Eran
>
> Richard and Lief are describing the same point we had in the past
> where Peter surmised the discussion that an *implementation* MUST
> support TLS is required for bearer tokens to be compliant, and that
> TLS is recommended for *deployment*
>
> -- Dick
>
> On 2010-04-07, at 4:21 PM, Eran Hammer-Lahav wrote:
>
>> We are looking at this all wrong.
>>
>> There are two kinds of protected resources OAuth supports:
>>
>> * http://
>> * https://
>>
>> OAuth provides two kinds of token authentication modes:
>>
>> * bearer token
>> * token + signature
>>
>> I don't know how to translate your statement below into text I can
>> put in
>> the draft to answer:
>>
>> When you access/serve an http:// protected resource you do what?
>> When you access/serve an https:// protected resource you do what?
>>
>> It is not about requiring SSL for bearer token. It is about what you
>> can/should do when accessing an http:// resource.
>>
>> EHL
>>
>> On 4/7/10 7:09 AM, "Richard Barnes" <rbarnes@bbn.com> wrote:
>>
>>> To re-iterate and clarify Leif's second point, I would be in favor
>>> of
>>> making TLS:
>>>
>>> -- REQUIRED for implementations to support (=3D=3D MUST)
>>> -- RECOMMENDED for deployments to use (=3D=3D SHOULD)
>>>
>>> This a pretty universal pattern in IETF protocols.
>>>
>>> --Richard
>>>
>>>
>>> On Apr 7, 2010, at 7:20 AM, Leif Johansson wrote:
>>>
>>>>
>>>>> Go implement whatever you want. But the spec should set the
>>>>> highest
>>>>> practical bar it can, and requiring HTTPS is trivial.
>>>>>
>>>>> As a practical note, if the WG reaches consensus to drop the MUST,
>>>>> I would
>>>>> ask the chairs to ask the security area and IESG to provide
>>>>> guidance whether
>>>>> they would approve such document. The IESG did not approve OAuth
>>>>> 1.0a for
>>>>> publication as an RFC until this was changed to a MUST (for
>>>>> PLAINTEXT) among
>>>>> other comments, and that with a strong warning.
>>>>>
>>>>> There is also an on going effort to improve cookie security. Do we
>>>>> really
>>>>> want OAuth to become the next weakest link?
>>>>
>>>> I emphatically agree.
>>>>
>>>> I suspect that a lot of confusion on this thread is caused by
>>>> confusing implementation requirements with deployment requirements
>>>> btw.
>>>>
>>>>     Cheers Leif
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>



--_000_C7E2C06F31ED0eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] HTTPS requirement for using an Access Token without s=
ignatures</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>How about something like this:<BR>
<BR>
When accessing resources using the http URI scheme, clients SHOULD NOT use =
and servers SHOULD NOT accept bearer token requests (unsigned requests) as =
such a request is equal to sending unprotected credentials in the clear. In=
stead, clients SHOULD obtain and utilize an access token with a matching se=
cret by sending a signed request. Servers MUST accept signed requests for p=
rotected resources using the http URI scheme.<BR>
<BR>
EHL<BR>
<BR>
&nbsp;<BR>
<BR>
<BR>
On 4/7/10 6:42 PM, &quot;Richard Barnes&quot; &lt;<a href=3D"rbarnes@bbn.co=
m">rbarnes@bbn.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>You guys are both right: The recommendation=
 I made before is basically <BR>
saying that you SHOULD only use tokens without signing on HTTPS <BR>
resources.<BR>
<BR>
--Richard<BR>
<BR>
<BR>
On Apr 7, 2010, at 9:24 PM, Dick Hardt wrote:<BR>
<BR>
&gt; Eran<BR>
&gt;<BR>
&gt; Richard and Lief are describing the same point we had in the past <BR>
&gt; where Peter surmised the discussion that an *implementation* MUST <BR>
&gt; support TLS is required for bearer tokens to be compliant, and that <B=
R>
&gt; TLS is recommended for *deployment*<BR>
&gt;<BR>
&gt; -- Dick<BR>
&gt;<BR>
&gt; On 2010-04-07, at 4:21 PM, Eran Hammer-Lahav wrote:<BR>
&gt;<BR>
&gt;&gt; We are looking at this all wrong.<BR>
&gt;&gt;<BR>
&gt;&gt; There are two kinds of protected resources OAuth supports:<BR>
&gt;&gt;<BR>
&gt;&gt; * <a href=3D"http://">http://</a><BR>
&gt;&gt; * <a href=3D"https://">https://</a><BR>
&gt;&gt;<BR>
&gt;&gt; OAuth provides two kinds of token authentication modes:<BR>
&gt;&gt;<BR>
&gt;&gt; * bearer token<BR>
&gt;&gt; * token + signature<BR>
&gt;&gt;<BR>
&gt;&gt; I don't know how to translate your statement below into text I can=
 <BR>
&gt;&gt; put in<BR>
&gt;&gt; the draft to answer:<BR>
&gt;&gt;<BR>
&gt;&gt; When you access/serve an <a href=3D"http://">http://</a> protected=
 resource you do what?<BR>
&gt;&gt; When you access/serve an <a href=3D"https://">https://</a> protect=
ed resource you do what?<BR>
&gt;&gt;<BR>
&gt;&gt; It is not about requiring SSL for bearer token. It is about what y=
ou<BR>
&gt;&gt; can/should do when accessing an <a href=3D"http://">http://</a> re=
source.<BR>
&gt;&gt;<BR>
&gt;&gt; EHL<BR>
&gt;&gt;<BR>
&gt;&gt; On 4/7/10 7:09 AM, &quot;Richard Barnes&quot; &lt;<a href=3D"rbarn=
es@bbn.com">rbarnes@bbn.com</a>&gt; wrote:<BR>
&gt;&gt;<BR>
&gt;&gt;&gt; To re-iterate and clarify Leif's second point, I would be in f=
avor <BR>
&gt;&gt;&gt; of<BR>
&gt;&gt;&gt; making TLS:<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; -- REQUIRED for implementations to support (=3D=3D MUST)<BR>
&gt;&gt;&gt; -- RECOMMENDED for deployments to use (=3D=3D SHOULD)<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; This a pretty universal pattern in IETF protocols.<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; --Richard<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; On Apr 7, 2010, at 7:20 AM, Leif Johansson wrote:<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&gt;&gt; Go implement whatever you want. But the spec should se=
t the <BR>
&gt;&gt;&gt;&gt;&gt; highest<BR>
&gt;&gt;&gt;&gt;&gt; practical bar it can, and requiring HTTPS is trivial.<=
BR>
&gt;&gt;&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&gt;&gt; As a practical note, if the WG reaches consensus to dr=
op the MUST,<BR>
&gt;&gt;&gt;&gt;&gt; I would<BR>
&gt;&gt;&gt;&gt;&gt; ask the chairs to ask the security area and IESG to pr=
ovide<BR>
&gt;&gt;&gt;&gt;&gt; guidance whether<BR>
&gt;&gt;&gt;&gt;&gt; they would approve such document. The IESG did not app=
rove OAuth<BR>
&gt;&gt;&gt;&gt;&gt; 1.0a for<BR>
&gt;&gt;&gt;&gt;&gt; publication as an RFC until this was changed to a MUST=
 (for<BR>
&gt;&gt;&gt;&gt;&gt; PLAINTEXT) among<BR>
&gt;&gt;&gt;&gt;&gt; other comments, and that with a strong warning.<BR>
&gt;&gt;&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&gt;&gt; There is also an on going effort to improve cookie sec=
urity. Do we<BR>
&gt;&gt;&gt;&gt;&gt; really<BR>
&gt;&gt;&gt;&gt;&gt; want OAuth to become the next weakest link?<BR>
&gt;&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&gt; I emphatically agree.<BR>
&gt;&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&gt; I suspect that a lot of confusion on this thread is caused=
 by<BR>
&gt;&gt;&gt;&gt; confusing implementation requirements with deployment requ=
irements<BR>
&gt;&gt;&gt;&gt; btw.<BR>
&gt;&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&gt; &nbsp;&nbsp;&nbsp;&nbsp;Cheers Leif<BR>
&gt;&gt;&gt;&gt; _______________________________________________<BR>
&gt;&gt;&gt;&gt; OAuth mailing list<BR>
&gt;&gt;&gt;&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt;&gt;&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">ht=
tps://www.ietf.org/mailman/listinfo/oauth</a><BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; _______________________________________________<BR>
&gt;&gt;&gt; OAuth mailing list<BR>
&gt;&gt;&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt;&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https:=
//www.ietf.org/mailman/listinfo/oauth</a><BR>
&gt;&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; _______________________________________________<BR>
&gt;&gt; OAuth mailing list<BR>
&gt;&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://ww=
w.ietf.org/mailman/listinfo/oauth</a><BR>
&gt;<BR>
<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E2C06F31ED0eranhueniversecom_--

From eran@hueniverse.com  Wed Apr  7 23:13:25 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 16AD13A6973 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 23:13:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.383
X-Spam-Level: 
X-Spam-Status: No, score=-2.383 tagged_above=-999 required=5 tests=[AWL=0.216,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UaHl2dr16iff for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 23:13:19 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id B8D033A6919 for <oauth@ietf.org>; Wed,  7 Apr 2010 23:13:10 -0700 (PDT)
Received: (qmail 8170 invoked from network); 8 Apr 2010 06:13:07 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 8 Apr 2010 06:13:07 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Wed, 7 Apr 2010 23:13:07 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Sarah Faulkner <sarahfaulkner3@gmail.com>, Dick Hardt <dick.hardt@gmail.com>
Date: Wed, 7 Apr 2010 23:13:04 -0700
Thread-Topic: [OAUTH-WG] Consistency across access token replies
Thread-Index: AcrWyto2+BjpBfujTaezUGL+5wLSxwAF7IwB
Message-ID: <C7E2C200.31ED3%eran@hueniverse.com>
In-Reply-To: <j2t12aab3571004072023k44ca6037o7d5ab993eac1a88b@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Consistency across access token replies
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 06:13:25 -0000

My point is simple. *Server* should be allowed to include a refresh token
with every access token issued. It is already optional everywhere it is
included. What I suggested is to allow it to be optional everywhere.

If the server doesn't support refresh tokens for some flows, it should
simply not provide one. Its a deployment decision. Nowhere in the spec can
the client demand it so this is purely a server deployment decision.

If my server supports refresh tokens in the client credentials flow or
assertion flow, it should be allowed to issue one. What is the gain from
forbidding it? The gain from allowing it (as optional) is consistency and
simplicity. What's the gain from not letting servers decide?

EHL


On 4/7/10 8:23 PM, "Sarah Faulkner" <sarahfaulkner3@gmail.com> wrote:

> I think it depends on which profiles we end up with. If we have the web a=
nd
> rich client profiles from Dick's WRAP draft plus the JS profile from Davi=
d's
> draft, I would want to return the refresh token with the first two profil=
es
> but not with the third. Since our refresh tokens are going to be very lon=
g
> lived in most cases (months), I'd like to promote that they are kept
> server-side. I don't want to return the refresh token to the client in th=
e JS
> profile and have it sent to the server over HTTP or set in a cookie.
> =A0
> At the very least, I would like the refresh token return to be optional i=
f
> it's not returned in a server-to-server or to a device that has secure
> storage.=20
> =A0
> This brings up the question of the device profile -- there are some devic=
es
> (ex. xbox) that have a way to secure the refresh token, there are others =
that
> do not. It may be good to either allow the device to self-declare (in the
> request, specifically ask for the refresh token) or allow the provider to
> optionally return the refresh token based on what they know about the dev=
ice.
>=20
>=20
> On Wed, Apr 7, 2010 at 8:05 PM, Dick Hardt <dick.hardt@gmail.com> wrote:
>> I would envision that the requests from different flows will have a diff=
erent
>> mode value, which makes them uniquely different requests for the AS.
>>=20
>> I think returning a refresh token when it can't be used will lead to
>> confusion for Client and AS developers.
>>=20
>> -- Dick
>>=20
>> On 2010-04-07, at 1:51 PM, Eran Hammer-Lahav wrote:
>>=20
>>> Right now most of the flows return the same parameters (access token,
>>> expiration, refresh token). A few do not return a refresh token. When w=
e add
>>> signatures, we will need to add token secret and algorithm type.
>>>=20
>>> I know there are good reasons why certain flows do not return a refresh
>>> token but instead rely on the client repeating the request. However, th=
ere
>>> is a lot of value in simplicity and consistency in making every request
>>> return the same parameters.
>>>=20
>>> It will also allow specifying it one time instead of over and over agai=
n.
>>>=20
>>> Thoughts?
>>>=20
>>> EHL
>>>=20
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>=20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>=20
>=20


From eran@hueniverse.com  Wed Apr  7 23:22:45 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4C7153A69D4 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 23:22:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.391
X-Spam-Level: 
X-Spam-Status: No, score=-2.391 tagged_above=-999 required=5 tests=[AWL=0.208,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Axlie6eNJX1d for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 23:22:43 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 8BCC13A69C6 for <oauth@ietf.org>; Wed,  7 Apr 2010 23:21:30 -0700 (PDT)
Received: (qmail 10605 invoked from network); 8 Apr 2010 06:21:27 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 8 Apr 2010 06:21:26 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Wed, 7 Apr 2010 23:21:26 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Evan Gilbert <uidude@google.com>, John Panzer <jpanzer@google.com>
Date: Wed, 7 Apr 2010 23:21:24 -0700
Thread-Topic: [OAUTH-WG] Comments on Web Callback & Client Flow
Thread-Index: AcrW3uH7GOh84M5qRQ6gDfhBHF+4BgABNRwF
Message-ID: <C7E2C3F4.31ED6%eran@hueniverse.com>
In-Reply-To: <q2rc8689b661004072246ie4bda2f3p560c7c18ab621fa3@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on Web Callback & Client Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 06:22:45 -0000

I will leave this to the security folks to decide but it seems to me that i=
f
the client asks to limit the username of the end user granting access by
specifying it in the request, the server must repeat that information when
issuing such a token. Otherwise, an attacker can force a user to grant
access to another account (for example, if they have both a personal and
work accounts on the same server) without the client being able to detect
it.

In other words, if the client can demand an access token for a specific
username, it should be able to have the absolute confidence (assuming it
trusts the server) that the access token received has that attribute.

EHL


On 4/7/10 10:46 PM, "Evan Gilbert" <uidude@google.com> wrote:

>=20
>=20
>=20
> On Wed, Apr 7, 2010 at 9:29 AM, John Panzer <jpanzer@google.com> wrote:
>> I'm assuming that tokens need not be bound to a specific user (typically=
 they
>> are, but imagine a secretary granting an app access to his boss's calend=
ar
>> and then leaving the company and therefore being removed from the calend=
ar
>> ACL, but the app still keeping access by virtue of the capability grante=
d by
>> the token). =A0In this case, the proposed wording seems kind of problema=
tic for
>> a MUST.
>=20
> Note that the "resource owner" in this case is the secretary, not his bos=
s.
> Resource owner is "An entity capable of granting access to a protected
> resource."
>=20
> Since access tokens are bound to the resource owner ("A unique identifier=
 used
> by the client to make authenticated=A0requests on behalf of the resource
> owner."), I think in this case the system would have a clear way to revok=
e
> access to the document.=A0
>=20
> Updating the wording on the proposal slightly to clarify (also changing f=
ormat
> to new parameter formatting)
>=20
> Before:
> username
> =A0=A0The resource owner's username. The authorization server MUST only s=
end back
> refresh tokens or access tokens for the user identified by username
>=20
> Current:
> username
> =A0=A0OPTIONAL. The resource owner's username. The authorization server M=
UST only
> send back refresh tokens or access tokens capable of making requests on b=
ehalf
> of the user identified by username
> =A0
>>=20
>> On Wed, Apr 7, 2010 at 8:22 AM, Evan Gilbert <uidude@google.com> wrote:
>>>=20
>>>=20
>>> On Wed, Apr 7, 2010 at 12:08 AM, Eran Hammer-Lahav <eran@hueniverse.com=
>
>>> wrote:
>>>> What about an attacker changing the username similar to the way a call=
back
>>>> can be changed?
>>>=20
>>> I don't think there is a danger here.
>>>=20
>>> We still use all of the safeguards in place from the rest of the flow -
>>> adding this parameter never log you in when omitting the parameter woul=
d not
>>> have. It will just create more error responses.
>>> =A0
>>>>=20
>>>> EHL
>>>>=20
>>>>=20
>>>>=20
>>>> On 4/6/10 11:14 PM, "Evan Gilbert" <uidude@google.com
>>>> <http://uidude@google.com> > wrote:
>>>>=20
>>>>>=20
>>>>>=20
>>>>> On Tue, Apr 6, 2010 at 11:07 PM, Eran Hammer-Lahav <eran@hueniverse.c=
om
>>>>> <http://eran@hueniverse.com> > wrote:
>>>>>>=20
>>>>>>=20
>>>>>>=20
>>>>>> On 4/6/10 5:24 PM, "Evan Gilbert" <uidude@google.com
>>>>>> <http://uidude@google.com> > wrote:
>>>>>>=20
>>>>>>> Proposal:
>>>>>>> In 2.4.1 & 2.4.2, add the following OPTIONAL parameter
>>>>>>> username
>>>>>>> =A0=A0The resource owner's username. The authorization server MUST =
only send
>>>>>>> back
>>>>>>> refresh tokens or access tokens for the user identified by username=
.
>>>>>>=20
>>>>>> What are the security implications? How can the client know that the
>>>>>> token
>>>>>> it got is really for that user?
>>>>>=20
>>>>> Think the client has to trust the auth server, in the same way as wit=
h the
>>>>> username + password profile. The auth server can always send back a s=
cope
>>>>> for a different user.
>>>>>=20
>>>>> Worst case is that there is an identity mismatch between client and t=
he
>>>>> identity implicit in the authorization token. This mismatch is alread=
y
>>>>> possible, and I don't think the username parameter makes the problem
>>>>> worse.
>>>>>=20
>>>>>>=20
>>>>>> EHL
>>>>>>=20
>>>>>=20
>>>>>=20
>>>=20
>>>=20
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>=20
>>=20
>=20
>=20


From jpanzer@google.com  Wed Apr  7 23:41:24 2010
Return-Path: <jpanzer@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1782C3A68DA for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 23:41:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.687
X-Spam-Level: 
X-Spam-Status: No, score=-104.687 tagged_above=-999 required=5 tests=[AWL=1.289, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YWTwK3YDXVn5 for <oauth@core3.amsl.com>; Wed,  7 Apr 2010 23:41:22 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 7115C3A68D4 for <oauth@ietf.org>; Wed,  7 Apr 2010 23:41:22 -0700 (PDT)
Received: from kpbe14.cbf.corp.google.com (kpbe14.cbf.corp.google.com [172.25.105.78]) by smtp-out.google.com with ESMTP id o386fGJK000544 for <oauth@ietf.org>; Wed, 7 Apr 2010 23:41:16 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270708876; bh=C9AScxswOARqf2YeQyBENt8ZbZo=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=HS+zWlABkSfkSRn2tiryNbJnHowgDGr1ulIz1JLnA0XDm5uYbX0tR+9m9RLnG7rrG W9L2bnA83+7YxTua7xQTw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=mpF7uQZrjBqaLubdNQeuEcrvvnsJyhF6d77H5pSjF6aHlkyIjSjiUSHSUR65vPvxa s+iKhC2pTxW5wV7DnWQog==
Received: from pzk27 (pzk27.prod.google.com [10.243.19.155]) by kpbe14.cbf.corp.google.com with ESMTP id o386fETx023141 for <oauth@ietf.org>; Wed, 7 Apr 2010 23:41:15 -0700
Received: by pzk27 with SMTP id 27so1650245pzk.2 for <oauth@ietf.org>; Wed, 07 Apr 2010 23:41:14 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.125.14 with HTTP; Wed, 7 Apr 2010 23:40:54 -0700 (PDT)
In-Reply-To: <q2rc8689b661004072246ie4bda2f3p560c7c18ab621fa3@mail.gmail.com>
References: <n2ic8689b661004062314ha8689ddcrd6fa932b1915eda4@mail.gmail.com>  <C7E17D76.31E24%eran@hueniverse.com> <j2zc8689b661004070822z90effc46v83f790849cbb9636@mail.gmail.com> <i2ncb5f7a381004070929qde2c746dtb6f9ead849436d32@mail.gmail.com>  <q2rc8689b661004072246ie4bda2f3p560c7c18ab621fa3@mail.gmail.com>
From: John Panzer <jpanzer@google.com>
Date: Wed, 7 Apr 2010 23:40:54 -0700
Received: by 10.140.255.10 with SMTP id c10mr8395298rvi.289.1270708874293;  Wed, 07 Apr 2010 23:41:14 -0700 (PDT)
Message-ID: <t2pcb5f7a381004072340nbc82983tfb94a45af8ef0cda@mail.gmail.com>
To: Evan Gilbert <uidude@google.com>
Content-Type: multipart/alternative; boundary=000e0cd0ebbc10b45b0483b3f747
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on Web Callback & Client Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 06:41:24 -0000

--000e0cd0ebbc10b45b0483b3f747
Content-Type: text/plain; charset=ISO-8859-1

On Wed, Apr 7, 2010 at 10:46 PM, Evan Gilbert <uidude@google.com> wrote:

>
>
>
> On Wed, Apr 7, 2010 at 9:29 AM, John Panzer <jpanzer@google.com> wrote:
>
>> I'm assuming that tokens need not be bound to a specific user (typically
>> they are, but imagine a secretary granting an app access to his boss's
>> calendar and then leaving the company and therefore being removed from the
>> calendar ACL, but the app still keeping access by virtue of the capability
>> granted by the token).  In this case, the proposed wording seems kind of
>> problematic for a MUST.
>
>
> Note that the "resource owner" in this case is the secretary, not his boss.
> Resource owner is "An entity capable of granting access to a protected
> resource."
>
> Since access tokens are bound to the resource owner ("A unique identifier
> used by the client to make authenticated requests on behalf of the
> resource owner."), I think in this case the system would have a clear way to
> revoke access to the document.
>

Sorry, I was unclear.  In the scenario I'm imagining, the boss has delegated
calendar access to his secretary, who uses this delegated access to hook up
an app to the calendar.  The boss is very happy with this situation because
now his Zombieville reminders show up on his calendar.  If the token is tied
to the secretary, and the secretary's account is shut down when the
secretary leaves, then the boss no longer sees the Zombieville reminders pop
up.  He then complains that this sort of thing never happened with
password-based access!

I can imagine either scenario upon termination of the secretary -- you may
want to revoke all the tokens, some of the tokens, or none of the tokens.


>
> Updating the wording on the proposal slightly to clarify (also changing
> format to new parameter formatting)
>
> Before:
> username
>   The resource owner's username. The authorization server MUST only send
> back refresh tokens or access tokens for the user identified by username
>
> Current:
> username
>   OPTIONAL. The resource owner's username. The authorization server MUST
> only send back refresh tokens or access tokens *capable of making requests
> on behalf of* the user identified by username
>
>
>>
>> On Wed, Apr 7, 2010 at 8:22 AM, Evan Gilbert <uidude@google.com> wrote:
>>
>>>
>>>
>>> On Wed, Apr 7, 2010 at 12:08 AM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:
>>>
>>>>  What about an attacker changing the username similar to the way a
>>>> callback can be changed?
>>>>
>>>
>>>  I don't think there is a danger here.
>>>
>>> We still use all of the safeguards in place from the rest of the flow -
>>> adding this parameter never log you in when omitting the parameter would not
>>> have. It will just create more error responses.
>>>
>>>
>>>>
>>>> EHL
>>>>
>>>>
>>>>
>>>> On 4/6/10 11:14 PM, "Evan Gilbert" <uidude@google.com> wrote:
>>>>
>>>>
>>>>
>>>> On Tue, Apr 6, 2010 at 11:07 PM, Eran Hammer-Lahav <eran@hueniverse.com>
>>>> wrote:
>>>>
>>>>
>>>>
>>>>
>>>> On 4/6/10 5:24 PM, "Evan Gilbert" <uidude@google.com> wrote:
>>>>
>>>> > Proposal:
>>>> > In 2.4.1 & 2.4.2, add the following OPTIONAL parameter
>>>> > username
>>>> >   The resource owner's username. The authorization server MUST only
>>>> send back
>>>> > refresh tokens or access tokens for the user identified by username.
>>>>
>>>> What are the security implications? How can the client know that the
>>>> token
>>>> it got is really for that user?
>>>>
>>>>
>>>> Think the client has to trust the auth server, in the same way as with
>>>> the username + password profile. The auth server can always send back a
>>>> scope for a different user.
>>>>
>>>> Worst case is that there is an identity mismatch between client and the
>>>> identity implicit in the authorization token. This mismatch is already
>>>> possible, and I don't think the username parameter makes the problem worse.
>>>>
>>>>
>>>> EHL
>>>>
>>>>
>>>>
>>>>
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>>
>>
>

--000e0cd0ebbc10b45b0483b3f747
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Wed, Apr 7, 2010 at 10:46 PM, Evan Gi=
lbert <span dir=3D"ltr">&lt;<a href=3D"mailto:uidude@google.com">uidude@goo=
gle.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D=
"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<br><div><span style=3D"font-family:arial, sans-serif;font-size:13px;border=
-collapse:collapse"><div><font face=3D"arial, sans-serif"><span style=3D"bo=
rder-collapse:collapse"><span style=3D"border-collapse:separate;font-family=
:arial"><br>



</span></span></font></div></span><br><div class=3D"gmail_quote"><div class=
=3D"im">On Wed, Apr 7, 2010 at 9:29 AM, John Panzer <span dir=3D"ltr">&lt;<=
a href=3D"mailto:jpanzer@google.com" target=3D"_blank">jpanzer@google.com</=
a>&gt;</span> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">

I&#39;m assuming that tokens need not be bound to a specific user (typicall=
y they are, but imagine a secretary granting an app access to his boss&#39;=
s calendar and then leaving the company and therefore being removed from th=
e calendar ACL, but the app still keeping access by virtue of the capabilit=
y granted by the token). =A0In this case, the proposed wording seems kind o=
f problematic for a MUST.</blockquote>



</div><div><br>Note that the &quot;resource owner&quot; in this case is the=
 secretary, not his boss. Resource owner is &quot;An entity capable of gran=
ting access to a protected resource.&quot;</div><div><br>Since access token=
s are bound to the resource owner (&quot;A unique identifier used by the cl=
ient to make authenticated=A0requests on beh<span style=3D"font-size:13px">=
alf of the resource owner.&quot;), I think in this case the system would ha=
ve a clear way to revoke access to the document.</span>=A0</div>

</div></div></blockquote><div><br></div><div>Sorry, I was unclear. =A0In th=
e scenario I&#39;m imagining, the boss has delegated calendar access to his=
 secretary, who uses this delegated access to hook up an app to the calenda=
r. =A0The boss is very happy with this situation because now his Zombievill=
e reminders show up on his calendar. =A0If the token is tied to the secreta=
ry, and the secretary&#39;s account is shut down when the secretary leaves,=
 then the boss no longer sees the Zombieville reminders pop up. =A0He then =
complains that this sort of thing never happened with password-based access=
!</div>

<div><br></div><div>I can imagine either scenario upon termination of the s=
ecretary -- you may want to revoke all the tokens, some of the tokens, or n=
one of the tokens.</div><div>=A0</div><blockquote class=3D"gmail_quote" sty=
le=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div><div class=3D"gmail_quote">

<div><br></div><div>U<span style=3D"font-size:13px">pdating the wording on =
the proposal slightly to clarify (also changing format to new parameter for=
matting)</span></div></div><div class=3D"gmail_quote">

<span style=3D"font-size:13px"><br>Before:<br>username</span><div class=3D"=
im"><div><span style=3D"font-size:13px">=A0=A0The resource owner&#39;s user=
name. The authorization server MUST only send back refresh tokens or access=
 tokens for the user identified by username</span></div>



<div><span style=3D"font-size:13px"><br></span></div></div><div><span style=
=3D"font-size:13px">Current:</span></div><div><span style=3D"font-size:13px=
"><span style=3D"font-size:small"><span style=3D"font-size:13px">username</=
span><div>



<span style=3D"font-size:13px">=A0=A0OPTIONAL. The resource owner&#39;s use=
rname. The authorization server MUST only send back refresh tokens or acces=
s tokens <b>capable of making requests on behalf of</b> the user identified=
 by username</span></div>



</span></span></div><div class=3D"im"><div><span style=3D"font-size:13px"><=
/span>=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex=
;border-left:1px #ccc solid;padding-left:1ex"><div>

<div><br><div class=3D"gmail_quote"><div><div></div><div>On Wed, Apr 7, 201=
0 at 8:22 AM, Evan Gilbert <span dir=3D"ltr">&lt;<a href=3D"mailto:uidude@g=
oogle.com" target=3D"_blank">uidude@google.com</a>&gt;</span> wrote:<br>

</div></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo=
rder-left:1px #ccc solid;padding-left:1ex"><div><div></div><div>

<br><br><div class=3D"gmail_quote"><div>On Wed, Apr 7, 2010 at 12:08 AM, Er=
an Hammer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com=
" target=3D"_blank">eran@hueniverse.com</a>&gt;</span> wrote:<br><blockquot=
e class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc sol=
id;padding-left:1ex">











<div>
<font face=3D"Calibri, Verdana, Helvetica, Arial"><span style=3D"font-size:=
11pt">What about an attacker changing the username similar to the way a cal=
lback can be changed?<br></span></font></div></blockquote><div><br></div></=
div>





<div>

I don&#39;t think there is a danger here.</div><div><br>We still use all of=
 the safeguards in place from the rest of the flow - adding this parameter =
never log you in when omitting the parameter would not have. It will just c=
reate more error responses.</div>





<div><div></div><div>

<div>=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;=
border-left:1px #ccc solid;padding-left:1ex"><div><font face=3D"Calibri, Ve=
rdana, Helvetica, Arial"><span style=3D"font-size:11pt"><font color=3D"#888=
888">
<br>
EHL</font><div><div></div><div><br>
<br>
<br>
On 4/6/10 11:14 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"http://uidude@g=
oogle.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
<br>
</div></div></span></font><div><div></div><div><blockquote><font face=3D"Ca=
libri, Verdana, Helvetica, Arial"><span style=3D"font-size:11pt"><br>
<br>
On Tue, Apr 6, 2010 at 11:07 PM, Eran Hammer-Lahav &lt;<a href=3D"http://er=
an@hueniverse.com" target=3D"_blank">eran@hueniverse.com</a>&gt; wrote:<br>
</span></font><blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial"=
><span style=3D"font-size:11pt"><br>
<br>
<br>
On 4/6/10 5:24 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"http://uidude@go=
ogle.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
<br>
&gt; Proposal:<br>
&gt; In 2.4.1 &amp; 2.4.2, add the following OPTIONAL parameter<br>
&gt; username<br>
&gt; =A0=A0The resource owner&#39;s username. The authorization server MUST=
 only send back<br>
&gt; refresh tokens or access tokens for the user identified by username.<b=
r>
<br>
What are the security implications? How can the client know that the token<=
br>
it got is really for that user?<br>
</span></font></blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial=
"><span style=3D"font-size:11pt"><br>
Think the client has to trust the auth server, in the same way as with the =
username + password profile. The auth server can always send back a scope f=
or a different user.<br>
<br>
Worst case is that there is an identity mismatch between client and the ide=
ntity implicit in the authorization token. This mismatch is already possibl=
e, and I don&#39;t think the username parameter makes the problem worse.<br=
>








<br>
</span></font><blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial"=
><span style=3D"font-size:11pt"><font color=3D"#888888"><br>
EHL<br>
<br>
</font></span></font></blockquote><font face=3D"Calibri, Verdana, Helvetica=
, Arial"><span style=3D"font-size:11pt"><br>
<br>
</span></font></blockquote>
</div></div></div>


</blockquote></div></div></div><br>
<br></div></div><div>_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></div></blockquote></div><br></div></div>
</blockquote></div></div><br></div>
</blockquote></div><br>

--000e0cd0ebbc10b45b0483b3f747--

From eran@hueniverse.com  Thu Apr  8 00:24:59 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1A7C028C0F2 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 00:24:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.399
X-Spam-Level: 
X-Spam-Status: No, score=-2.399 tagged_above=-999 required=5 tests=[AWL=0.200,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id F0U6BfXjo6Fz for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 00:24:58 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id AC1613A6A3F for <oauth@ietf.org>; Thu,  8 Apr 2010 00:22:32 -0700 (PDT)
Received: (qmail 8292 invoked from network); 8 Apr 2010 07:22:28 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 8 Apr 2010 07:22:28 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Thu, 8 Apr 2010 00:22:28 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Evan Gilbert <uidude@google.com>, OAuth WG <oauth@ietf.org>
Date: Thu, 8 Apr 2010 00:22:25 -0700
Thread-Topic: [OAUTH-WG] Option to not prompt the user for authorization
Thread-Index: AcrW0wN86AZUtHK+ReGfoDhfiyK3ngAGTkQ2
Message-ID: <C7E2D241.31EE4%eran@hueniverse.com>
In-Reply-To: <l2vc8689b661004072120sb9360d8eq601eafe349ff42e5@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Option to not prompt the user for authorization
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 07:24:59 -0000

On 4/7/10 9:20 PM, "Evan Gilbert" <uidude@google.com> wrote:

> Authorization servers in the OAuth Web Callback flow and the User Agent f=
low
> should have the option to redirect back with access/refresh tokens withou=
t
> prompting the user, if the client has already been granted access to the
> protected resource.
>=20
> This is already implied by some of the text (3.4.3.1 "After receiving (or
> establishing via other means) an authorization=A0decision from the resour=
ce
> owner", but is not supported by the example flows.
>=20
> Suggested changes
>=20
> 3.4.1 Web Callback Flow
>=20
> =A0=A0 (B) The authorization server authenticates the end user (via
> the=A0user-agent) and MAY prompt the end user to grant or deny the=A0clie=
nt's
> access request.

How about instead:

(B) The authorization server authenticates the end user (via the user-agent=
)
and establishes whether the end user grants or denies the client's access
request.

> =A0=A0 (C)=A0If authorization server determines the client has access to =
protected
> resource, the authorization server=A0redirects the user-agent back to the=
 client
> to the callback URI=A0provided earlier. The authorization includes a
> verification=A0code for the client to use to obtain an access token

I don't think this is needed. The question is whether the user granted
access. My proposed change removes the need to 'prompt' the user, which
makes it possible to establish end user intent without asking again. But as
some point you user must have granted access.
=20
> 3.4.3 User Agent Flow
>=20
> =A0=A0 (B) The authorization server authenticates the end user (via
> the=A0user-agent) and MAY prompt the end user to grant or deny the=A0clie=
nt's
> access request.
> =A0=A0 (C) If authorization server determines the client has access to pr=
otected
> resource, the authorization server=A0redirects the user-agent to the redi=
rection
> URI provided=A0earlier. The redirection URI includes the access token in =
the=A0URI
> fragment.

Same.

> Also, in cases where the authorization server doesn't prompt the user, we=
 may
> want the ability for a client to ask for an immediate decision from the s=
erver
> instead of prompting the user using a parameter. Suggested changes:
>=20
> 3.4.1.1 Web Callback Flow | Client Requests Authorization
> 3.4.3.1 User Agent Flow | Client Requests Authorization
>=20
> (new parameter)
> immediate
> =A0=A0OPTIONAL. The parameter value must be set to "true" or "false" (cas=
e
> sensitive). If set to "true", then the authorization flow MUST check
> immediately if the client has access to protected resource and redirect b=
ack
> with a successful response or "user_denied" error without prompting the u=
ser.

How about:

immediate:

OPTIONAL. The parameter value must be set to 'true' or 'false' (case
sensitive). If set to 'true', the authorization server MUST NOT prompt the
end user to authenticate or approve access. Instead, the authorization
server attempts to establish the end user's identity via other means (e.g.
Browser  cookies) and checks if the end user has previously approved an
identical access  request by the same client and if that access grant is
still active. If the authorization server does not support an immediate
check or if it is unable to establish the end user's identity or approval
status, it MUST deny the request without prompting the end user. Defaults t=
o
'no' is omitted.

Also, is it safe to add to the user-agent flow since the client isn't the
same entity as a web server, but another installation? I think it is but
want to ask before I add it there.

EHL



From torsten@lodderstedt.net  Thu Apr  8 01:55:06 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E8FCA3A6A15 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 01:55:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.165
X-Spam-Level: 
X-Spam-Status: No, score=0.165 tagged_above=-999 required=5 tests=[BAYES_40=-0.185, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qak-GPdurFK6 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 01:55:03 -0700 (PDT)
Received: from smtprelay04.ispgateway.de (smtprelay04.ispgateway.de [80.67.31.27]) by core3.amsl.com (Postfix) with ESMTP id EBF5F3A67CF for <oauth@ietf.org>; Thu,  8 Apr 2010 01:54:52 -0700 (PDT)
Received: from [80.67.16.112] (helo=localhost) by smtprelay04.ispgateway.de with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1NznVg-0001vU-Bm; Thu, 08 Apr 2010 10:54:48 +0200
Received: from proxy1.t-online.net (proxy1.t-online.net [195.243.113.249]) by webmail.df.eu (Horde Framework) with HTTP; Thu, 08 Apr 2010 10:54:48 +0200
Message-ID: <20100408105448.74772jb2mqega0o4@webmail.df.eu>
Date: Thu, 08 Apr 2010 10:54:48 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
To: eran@hueniverse.com
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; DelSp="Yes"; format="flowed"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit
User-Agent: Dynamic Internet Messaging Program (DIMP) H3 (1.1.2)
X-Originating-IP: 195.243.113.249
X-Df-Sender: 141509
Cc: oauth@ietf.org
Subject: [OAUTH-WG] Comments on sections 5-7
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 08:55:07 -0000

Hi Eran,

since you are re-working sections 5-7 now, I want to address some  
general issues I see there.

- What is the benefit of including "URI Query Parameter" and  
"Form-Encoded Body Parameter" in the standard? I see OAuth as an HTTP  
authentication scheme similar to BASIC or SPNEGO. All of these schemes  
exclusively use Authorization headers for sending credentials from  
clients to servers. That way, authorization is kept orthogonal from  
the servers API.
Advantages:
+ APIs can be combined with different authentication schemes
+ Libraries can be plugged in and easily add authorization data
+ no name clashes with API parameters
+ can be combined with any HTTP method

It's ok with me if someone wants to send tokens as Query/Body  
Parameters. But then the token parameter becomes a part of the  
resource servers API. Why standardizing that?

 From a security standpoint, sending tokens as query parameter is  
problematic since their are many ways to leak them. Servers typically  
log target URLs in default configurations, GET request URLs are stored  
in browser caches and proxies. And what about Referer-Headers?

When we adopted OAuth 1.0a, the fact that OAuth 1.0a supported three  
different ways of sending tokens caused a lot of confusion. What type  
is supported by what resource server? Do we need to support all of  
them or a sub set? e.t.c.

So IMHO removing 5.1.2 and 5.1.3 would make the standard much simpler  
and easier to understand/implement/use.

Moreover, it should save at least 2 pages.

- I would like to suggest to change section ordering (5-7) in order to  
facilitate readability. From my point of view, the major contribution  
of the OAuth HTTP authentication scheme is the definition of the  
Authorization headers syntax (and semantics). Why not putting this in  
front? Further on, the natural counter part of the Authorization  
header is the WWW-Authenticate header since it is used to advertise  
important properties of the authentication scheme to clients. So I  
would suggest to describe it afterwards.

Based on this considerations, I would suggest the following structure  
(just a sketch):

4 (was 7) Authorization Header
  description of both variants
   token only
   token + signature
  5.2.1 Computing the signature
  security considerations
   e.g. implementations MUST support bearer tokens w/ HTTPS, resource  
servers and clients SHOULD use it
5 (was 6) WWW-Authenticate Header

I'm willed to contribute a more elaborated proposal if you and the WG  
agree with the direction I proposed.

What do you think?

regards,
Torsten.




From greg@blinkbox.com  Thu Apr  8 07:03:56 2010
Return-Path: <greg@blinkbox.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7279A3A6A39 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 07:03:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.677
X-Spam-Level: 
X-Spam-Status: No, score=-0.677 tagged_above=-999 required=5 tests=[AWL=-0.492, BAYES_40=-0.185]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OpVtQvvtUiEx for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 07:03:55 -0700 (PDT)
Received: from blinkbox.com (mail.blinkbox.com [80.169.194.210]) by core3.amsl.com (Postfix) with ESMTP id 194463A67EF for <oauth@ietf.org>; Thu,  8 Apr 2010 07:03:39 -0700 (PDT)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.4325
Content-Class: urn:content-classes:message
MIME-Version: 1.0
Importance: normal
Priority: normal
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Date: Thu, 8 Apr 2010 15:03:35 +0100
Message-ID: <9D8B012531C07B45913FFB083D82BF53015937B6@rpc.blinkbox.com>
In-Reply-To: <C7E1B078.31E5A%eran@hueniverse.com>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: [OAUTH-WG] Error in example in section 3.4.1.1 of draft-hammer-oauth-10
thread-index: AcrWPb9ae0yI2aMURvyBSMlmv5iszwAAcN+uAAooRiA=
References: <9D8B012531C07B45913FFB083D82BF530150BE98@rpc.blinkbox.com> <C7E1B078.31E5A%eran@hueniverse.com>
From: "Greg Beech" <greg@blinkbox.com>
To: "Eran Hammer-Lahav" <eran@hueniverse.com>, "OAuth WG" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Error in example in section 3.4.1.1 of draft-hammer-oauth-10
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 14:03:56 -0000

Apologies, I had not realised that this was intended to be a =
form-encoded body, and thought it was a typo. However, according to RFC =
2616 the body of a GET request has no semantic meaning and should be =
ignored by an origin server (summarised well in the following quotation =
from Roy Fielding):

    "Yes. In other words, any HTTP request message is allowed to contain
    a message body, and thus must parse messages with that in mind.
    Server semantics for GET, however, are restricted such that a body,
    if any, has no semantic meaning to the request. The requirements
    on parsing are separate from the requirements on method semantics."

    Source: http://tech.groups.yahoo.com/group/rest-discuss/message/9962 =


As such, I would have thought that when computing the signature base =
string the form body should similarly be ignored here. Is the OAuth =
specification stating that we should consider the form body even when it =
has no semantic meaning?



From: Eran Hammer-Lahav [mailto:eran@hueniverse.com]=20
Sent: 07 April 2010 11:46
To: Greg Beech; OAuth WG
Subject: Re: [OAUTH-WG] Error in example in section 3.4.1.1 of =
draft-hammer-oauth-10

While odd, this is a perfectly legal GET request with a form-encoded =
body.

EHL


On 4/7/10 3:33 AM, "Greg Beech" <greg@blinkbox.com> wrote:
Hi

I noticed that there is an error in the example for section 3.4.1.1 in
the latest OAuth draft. The example of building a signature base string
uses the following request as an example (note the extraneous query
parameters at the bottom):

     GET /request?b5=3D%3D%253D&a3=3Da&c%40=3D&a2=3Dr%20b HTTP/1.1
     Host: example.com
     Content-Type: application/x-www-form-urlencoded
     Authorization: OAuth realm=3D"Example",
                    oauth_consumer_key=3D"9djdj82h48djs9d2",
                    oauth_token=3D"kkk9d7dh3k39sjv7",
                    oauth_signature_method=3D"HMAC-SHA1",
                    oauth_timestamp=3D"137131201",
                    oauth_nonce=3D"7d8f3e4a",
                    oauth_signature=3D"djosJKDKJSD8743243%2Fjdk33klY%3D"

     c2&a3=3D2+q

I believe that this should be as follows, which will cause the
documented signature base string to be constructed:

     GET /request?b5=3D%3D%253D&a3=3Da&c%40=3D&a2=3Dr%20b&c2=3D&a3=3D2+q =
HTTP/1.1
     Host: example.com
     Content-Type: application/x-www-form-urlencoded
     Authorization: OAuth realm=3D"Example",
                    oauth_consumer_key=3D"9djdj82h48djs9d2",
                    oauth_token=3D"kkk9d7dh3k39sjv7",
                    oauth_signature_method=3D"HMAC-SHA1",
                    oauth_timestamp=3D"137131201",
                    oauth_nonce=3D"7d8f3e4a",
                    oauth_signature=3D"djosJKDKJSD8743243%2Fjdk33klY%3D"

Apologies if this is a duplicate comment; I searched the archives but
could not find any reference to this issue.

--
Greg





Blinkbox Entertainment Ltd - The best movies & TV online |
Greg Beech | Senior Development Engineer Lead | +44 20 7092 8700 | +44 =
7970 480901



=20
Blinkbox Entertainment Ltd - The best movies & TV online |
Greg Beech | Senior Development Engineer Lead | +44 20 7092 8700 | +44 =
7970 480901
=20
_______________________________________________

OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

From gffletch@aol.com  Thu Apr  8 07:09:14 2010
Return-Path: <gffletch@aol.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 710D63A68C1 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 07:09:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.002
X-Spam-Level: 
X-Spam-Status: No, score=0.002 tagged_above=-999 required=5 tests=[BAYES_50=0.001, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jCwPFpCOxDPa for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 07:09:10 -0700 (PDT)
Received: from imr-da06.mx.aol.com (imr-da06.mx.aol.com [205.188.169.203]) by core3.amsl.com (Postfix) with ESMTP id 463913A6837 for <oauth@ietf.org>; Thu,  8 Apr 2010 07:09:01 -0700 (PDT)
Received: from mtaout-db05.r1000.mx.aol.com (mtaout-db05.r1000.mx.aol.com [172.29.51.197]) by imr-da06.mx.aol.com (8.14.1/8.14.1) with ESMTP id o38E8VMQ006465; Thu, 8 Apr 2010 10:08:32 -0400
Received: from palantir.local (unknown [10.172.3.77]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mtaout-db05.r1000.mx.aol.com (MUA/Third Party Client Interface) with ESMTPSA id 5FFE0E003583; Thu,  8 Apr 2010 10:08:32 -0400 (EDT)
Message-ID: <4BBDE35F.4000102@aol.com>
Date: Thu, 08 Apr 2010 10:08:31 -0400
From: George Fletcher <gffletch@aol.com>
Organization: AOL LLC
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: OAuth WG <oauth@ietf.org>
References: <C7D81BA8.319A2%eran@hueniverse.com> <ED97F89464499E4D80A68CDCE1E3D1FF08280A59@PACORPEXCMB03.cable.comcast.com>
In-Reply-To: <ED97F89464499E4D80A68CDCE1E3D1FF08280A59@PACORPEXCMB03.cable.comcast.com>
Content-Type: multipart/alternative; boundary="------------080805080609090703020904"
x-aol-global-disposition: G
X-AOL-SCOLL-SCORE: 0:2:485123904:93952408  
X-AOL-SCOLL-URL_COUNT: 0  
x-aol-sid: 3039ac1d33c54bbde36049bf
X-AOL-IP: 10.172.3.77
Cc: "Moore, Jonathan" <Jonathan_Moore@Comcast.com>
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization request header
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 14:09:14 -0000

This is a multi-part message in MIME format.
--------------080805080609090703020904
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Another use case is where a rich client wants to bootstrap a web session 
with the same identity (rich client to web SSO). Assuming that the web 
session will be established via OAuth with signatures, there is no way 
to fire up the browser with a "signed URL" if the OAuth parameters and 
signature need to be in a header.

As Jon mentions, the concept of allowing a service to create a signed 
URL and then pass it back to JS running in the browser, or invoking a 
browser directly is something that we leverage a lot across our rich 
clients and web applications.

I realize that these sorts of use cases are trivial if establishment of 
the SSO session switches from a signed mechanism to the OAuth WRAP 
bearer token model. The one nice feature of the signed URL is that it is 
one time use where the bearer token can be replayed multiple times.

Thanks,
George

Real world use case. Login into the latest AIM client. Click the mail 
icon/link.


On 3/31/10 7:25 AM, Moore, Jonathan wrote:
> What about a use case where the signature will be generated by one component but the request will be redeemed by another?
>
> For example, suppose there is a cross-domain JSONP call that requires authorization; in this case, I might have my client side code hit *my* origin server, obtain a signed URL, and then redeem it by hitting the JSONP resource. This has scaling advantages over having my origin proxy an OAuth request, and doesn't require me to have keys located on the client; I can keep them safely in my data centers.
>
> In this case, sending a "ready to redeem" signed request using the query parameter mechanism simplifies the client-side code. Furthermore, in this use case (cross-domain script inclusion), the client doesn't have the means to set the Authorization header (it can only include a<script>  element with a URL).
>
> A similar use case would be if you wanted to provide signed redirects (similarly useful for cross-domain functionality); browsers aren't going to modify the redirect URL they get back, or add an Authorization header to it.
>
> Jon
> ........
> Jon Moore
> Comcast Interactive Media
>
>
>
> -----Original Message-----
> From:oauth-bounces@ietf.org  on behalf of Eran Hammer-Lahav
> Sent: Wed 3/31/2010 12:20 AM
> To: OAuth WG
> Subject: [OAUTH-WG] Limiting signed requests to use the Authorizationrequest header
>
> Since we have consensus that using signed requests is a more advance use
> case and will be used by more experienced developer, I would like to suggest
> we limit sending signed request parameters to the Authorization header (no
> URI query parameters or form-encoded body).
>
> This will not change the ability to send the oauth_token parameter in the
> query or body when using bearer tokens (as well as in the header). It will
> only apply to sending signed requests.
>
> The makes client request parameter much simpler as the only parameter
> "invading" the URI or body space of the request is oauth_token. Anything
> else is limited to the header.
>
> Thoughts? If you are not a fan, please reply with a use case.
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>    

--------------080805080609090703020904
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
<font face="Helvetica, Arial, sans-serif">Another use case is where a
rich client wants to bootstrap a web session with the same identity
(rich client to web SSO). Assuming that the web session will be
established via OAuth with signatures, there is no way to fire up the
browser with a "signed URL" if the OAuth parameters and signature need
to be in a header.<br>
<br>
As Jon mentions, the concept of allowing a service to create a signed
URL and then pass it back to JS running in the browser, or invoking a
browser directly is something that we leverage a lot across our rich
clients and web applications.<br>
<br>
I realize that these sorts of use cases are trivial if establishment of
the SSO session switches from a signed mechanism to the OAuth WRAP
bearer token model. The one nice feature of the signed URL is that it
is one time use where the bearer token can be replayed multiple times.<br>
<br>
Thanks,<br>
George<br>
<br>
Real world use case. Login into the latest AIM client. Click the mail
icon/link.<br>
<br>
</font><br>
On 3/31/10 7:25 AM, Moore, Jonathan wrote:
<blockquote
 cite="mid:ED97F89464499E4D80A68CDCE1E3D1FF08280A59@PACORPEXCMB03.cable.comcast.com"
 type="cite">
  <pre wrap="">What about a use case where the signature will be generated by one component but the request will be redeemed by another?

For example, suppose there is a cross-domain JSONP call that requires authorization; in this case, I might have my client side code hit *my* origin server, obtain a signed URL, and then redeem it by hitting the JSONP resource. This has scaling advantages over having my origin proxy an OAuth request, and doesn't require me to have keys located on the client; I can keep them safely in my data centers.

In this case, sending a "ready to redeem" signed request using the query parameter mechanism simplifies the client-side code. Furthermore, in this use case (cross-domain script inclusion), the client doesn't have the means to set the Authorization header (it can only include a &lt;script&gt; element with a URL).

A similar use case would be if you wanted to provide signed redirects (similarly useful for cross-domain functionality); browsers aren't going to modify the redirect URL they get back, or add an Authorization header to it.

Jon
........
Jon Moore
Comcast Interactive Media



-----Original Message-----
From: <a class="moz-txt-link-abbreviated"
 href="mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> on behalf of Eran Hammer-Lahav
Sent: Wed 3/31/2010 12:20 AM
To: OAuth WG
Subject: [OAUTH-WG] Limiting signed requests to use the Authorizationrequest header
 
Since we have consensus that using signed requests is a more advance use
case and will be used by more experienced developer, I would like to suggest
we limit sending signed request parameters to the Authorization header (no
URI query parameters or form-encoded body).

This will not change the ability to send the oauth_token parameter in the
query or body when using bearer tokens (as well as in the header). It will
only apply to sending signed requests.

The makes client request parameter much simpler as the only parameter
"invading" the URI or body space of the request is oauth_token. Anything
else is limited to the header.

Thoughts? If you are not a fan, please reply with a use case.

EHL

_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext"
 href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>

_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext"
 href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>

  </pre>
</blockquote>
</body>
</html>

--------------080805080609090703020904--

From eran@hueniverse.com  Thu Apr  8 07:31:45 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0E7A13A6810 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 07:31:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.661
X-Spam-Level: 
X-Spam-Status: No, score=-1.661 tagged_above=-999 required=5 tests=[AWL=-0.551, BAYES_05=-1.11]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TbuL7dujyX2z for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 07:31:37 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id C853A3A6823 for <oauth@ietf.org>; Thu,  8 Apr 2010 07:31:26 -0700 (PDT)
Received: (qmail 14453 invoked from network); 8 Apr 2010 14:31:12 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 8 Apr 2010 14:31:12 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Thu, 8 Apr 2010 07:31:09 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Date: Thu, 8 Apr 2010 07:31:07 -0700
Thread-Topic: Comments on sections 5-7
Thread-Index: AcrW+TUWDAfHZmr2S7CZgVpzELVOJwALur4f
Message-ID: <C7E336BB.31F09%eran@hueniverse.com>
In-Reply-To: <20100408105448.74772jb2mqega0o4@webmail.df.eu>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on sections 5-7
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 14:31:45 -0000

While I agree that the spec would be much cleaner with only HTTP header
support, and have tried that approach before, in practice it will cause
significant adoption problems.

I rather add support for query and post parameters (we are really talking
about a single parameter, oauth_token, outside the HTTP header), and in a
few year deprecate it in OAuth 3.0. The benefit of these features is that
they allow existing browsers to deploy OAuth *today*.

As for the document structure, it is too early to tell. With OAuth 1.0a I
ended shuffling the sections in draft -09... The spec has to tell a story.

EHL


On 4/8/10 1:54 AM, "Torsten Lodderstedt" <torsten@lodderstedt.net> wrote:

>=20
>=20
> Hi Eran,
>=20
> since you are re-working sections 5-7 now, I want to address some
> general issues I see there.
>=20
> - What is the benefit of including "URI Query Parameter" and
> "Form-Encoded Body Parameter" in the standard? I see OAuth as an HTTP
> authentication scheme similar to BASIC or SPNEGO. All of these schemes
> exclusively use Authorization headers for sending credentials from
> clients to servers. That way, authorization is kept orthogonal from
> the servers API.
> Advantages:
> + APIs can be combined with different authentication schemes
> + Libraries can be plugged in and easily add authorization data
> + no name clashes with API parameters
> + can be combined with any HTTP method
>=20
> It's ok with me if someone wants to send tokens as Query/Body
> Parameters. But then the token parameter becomes a part of the
> resource servers API. Why standardizing that?
>=20
>  From a security standpoint, sending tokens as query parameter is
> problematic since their are many ways to leak them. Servers typically
> log target URLs in default configurations, GET request URLs are stored
> in browser caches and proxies. And what about Referer-Headers?
>=20
> When we adopted OAuth 1.0a, the fact that OAuth 1.0a supported three
> different ways of sending tokens caused a lot of confusion. What type
> is supported by what resource server? Do we need to support all of
> them or a sub set? e.t.c.
>=20
> So IMHO removing 5.1.2 and 5.1.3 would make the standard much simpler
> and easier to understand/implement/use.
>=20
> Moreover, it should save at least 2 pages.
>=20
> - I would like to suggest to change section ordering (5-7) in order to
> facilitate readability. From my point of view, the major contribution
> of the OAuth HTTP authentication scheme is the definition of the
> Authorization headers syntax (and semantics). Why not putting this in
> front? Further on, the natural counter part of the Authorization
> header is the WWW-Authenticate header since it is used to advertise
> important properties of the authentication scheme to clients. So I
> would suggest to describe it afterwards.
>=20
> Based on this considerations, I would suggest the following structure
> (just a sketch):
>=20
> 4 (was 7) Authorization Header
>   description of both variants
>    token only
>    token + signature
>   5.2.1 Computing the signature
>   security considerations
>    e.g. implementations MUST support bearer tokens w/ HTTPS, resource
> servers and clients SHOULD use it
> 5 (was 6) WWW-Authenticate Header
>=20
> I'm willed to contribute a more elaborated proposal if you and the WG
> agree with the direction I proposed.
>=20
> What do you think?
>=20
> regards,
> Torsten.
>=20
>=20
>=20
>=20


From eran@hueniverse.com  Thu Apr  8 07:40:25 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AE65F3A6AA3 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 07:40:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.387
X-Spam-Level: 
X-Spam-Status: No, score=-2.387 tagged_above=-999 required=5 tests=[AWL=0.211,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id L-H2PNSbzgoS for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 07:40:20 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id B9AFD3A6A82 for <oauth@ietf.org>; Thu,  8 Apr 2010 07:38:05 -0700 (PDT)
Received: (qmail 20520 invoked from network); 8 Apr 2010 14:38:02 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 8 Apr 2010 14:38:02 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Thu, 8 Apr 2010 07:38:02 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Greg Beech <greg@blinkbox.com>, OAuth WG <oauth@ietf.org>
Date: Thu, 8 Apr 2010 07:38:00 -0700
Thread-Topic: [OAUTH-WG] Error in example in section 3.4.1.1 of draft-hammer-oauth-10
Thread-Index: AcrWPb9ae0yI2aMURvyBSMlmv5iszwAAcN+uAAooRiAAMDyS6w==
Message-ID: <C7E33858.31F0E%eran@hueniverse.com>
In-Reply-To: <9D8B012531C07B45913FFB083D82BF53015937B6@rpc.blinkbox.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E3385831F0Eeranhueniversecom_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Error in example in section 3.4.1.1 of draft-hammer-oauth-10
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 14:40:25 -0000

--_000_C7E3385831F0Eeranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

There is a difference between having no semantic meaning (i.e. Not a repres=
entation of a resource, etc.) to being ignored. I agree it is odd. I'll tak=
e a look when it is in AUTH48.

EHL


On 4/8/10 7:03 AM, "Greg Beech" <greg@blinkbox.com> wrote:

Apologies, I had not realised that this was intended to be a form-encoded b=
ody, and thought it was a typo. However, according to RFC 2616 the body of =
a GET request has no semantic meaning and should be ignored by an origin se=
rver (summarised well in the following quotation from Roy Fielding):

    "Yes. In other words, any HTTP request message is allowed to contain
    a message body, and thus must parse messages with that in mind.
    Server semantics for GET, however, are restricted such that a body,
    if any, has no semantic meaning to the request. The requirements
    on parsing are separate from the requirements on method semantics."

    Source: http://tech.groups.yahoo.com/group/rest-discuss/message/9962

As such, I would have thought that when computing the signature base string=
 the form body should similarly be ignored here. Is the OAuth specification=
 stating that we should consider the form body even when it has no semantic=
 meaning?



From: Eran Hammer-Lahav [mailto:eran@hueniverse.com]
Sent: 07 April 2010 11:46
To: Greg Beech; OAuth WG
Subject: Re: [OAUTH-WG] Error in example in section 3.4.1.1 of draft-hammer=
-oauth-10

While odd, this is a perfectly legal GET request with a form-encoded body.

EHL


On 4/7/10 3:33 AM, "Greg Beech" <greg@blinkbox.com> wrote:
Hi

I noticed that there is an error in the example for section 3.4.1.1 in
the latest OAuth draft. The example of building a signature base string
uses the following request as an example (note the extraneous query
parameters at the bottom):

     GET /request?b5=3D%3D%253D&a3=3Da&c%40=3D&a2=3Dr%20b HTTP/1.1
     Host: example.com
     Content-Type: application/x-www-form-urlencoded
     Authorization: OAuth realm=3D"Example",
                    oauth_consumer_key=3D"9djdj82h48djs9d2",
                    oauth_token=3D"kkk9d7dh3k39sjv7",
                    oauth_signature_method=3D"HMAC-SHA1",
                    oauth_timestamp=3D"137131201",
                    oauth_nonce=3D"7d8f3e4a",
                    oauth_signature=3D"djosJKDKJSD8743243%2Fjdk33klY%3D"

     c2&a3=3D2+q

I believe that this should be as follows, which will cause the
documented signature base string to be constructed:

     GET /request?b5=3D%3D%253D&a3=3Da&c%40=3D&a2=3Dr%20b&c2=3D&a3=3D2+q HT=
TP/1.1
     Host: example.com
     Content-Type: application/x-www-form-urlencoded
     Authorization: OAuth realm=3D"Example",
                    oauth_consumer_key=3D"9djdj82h48djs9d2",
                    oauth_token=3D"kkk9d7dh3k39sjv7",
                    oauth_signature_method=3D"HMAC-SHA1",
                    oauth_timestamp=3D"137131201",
                    oauth_nonce=3D"7d8f3e4a",
                    oauth_signature=3D"djosJKDKJSD8743243%2Fjdk33klY%3D"

Apologies if this is a duplicate comment; I searched the archives but
could not find any reference to this issue.

--
Greg





Blinkbox Entertainment Ltd - The best movies & TV online |
Greg Beech | Senior Development Engineer Lead | +44 20 7092 8700 | +44 7970=
 480901




Blinkbox Entertainment Ltd - The best movies & TV online |
Greg Beech | Senior Development Engineer Lead | +44 20 7092 8700 | +44 7970=
 480901

_______________________________________________

OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


--_000_C7E3385831F0Eeranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Error in example in section 3.4.1.1 of draft-hammer-o=
auth-10</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>There is a difference between having no semantic meaning (i.e. Not a =
representation of a resource, etc.) to being ignored. I agree it is odd. I&=
#8217;ll take a look when it is in AUTH48.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/8/10 7:03 AM, &quot;Greg Beech&quot; &lt;<a href=3D"greg@blinkbox.com"=
>greg@blinkbox.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>Apologies, I had not realised that this was=
 intended to be a form-encoded body, and thought it was a typo. However, ac=
cording to RFC 2616 the body of a GET request has no semantic meaning and s=
hould be ignored by an origin server (summarised well in the following quot=
ation from Roy Fielding):<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;Yes. In other words, any HTTP request message=
 is allowed to contain<BR>
&nbsp;&nbsp;&nbsp;&nbsp;a message body, and thus must parse messages with t=
hat in mind.<BR>
&nbsp;&nbsp;&nbsp;&nbsp;Server semantics for GET, however, are restricted s=
uch that a body,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;if any, has no semantic meaning to the request. The=
 requirements<BR>
&nbsp;&nbsp;&nbsp;&nbsp;on parsing are separate from the requirements on me=
thod semantics.&quot;<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;Source: <a href=3D"http://tech.groups.yahoo.com/gro=
up/rest-discuss/message/9962">http://tech.groups.yahoo.com/group/rest-discu=
ss/message/9962</a><BR>
<BR>
As such, I would have thought that when computing the signature base string=
 the form body should similarly be ignored here. Is the OAuth specification=
 stating that we should consider the form body even when it has no semantic=
 meaning?<BR>
<BR>
<BR>
<BR>
From: Eran Hammer-Lahav [<a href=3D"mailto:eran@hueniverse.com">mailto:eran=
@hueniverse.com</a>]<BR>
Sent: 07 April 2010 11:46<BR>
To: Greg Beech; OAuth WG<BR>
Subject: Re: [OAUTH-WG] Error in example in section 3.4.1.1 of draft-hammer=
-oauth-10<BR>
<BR>
While odd, this is a perfectly legal GET request with a form-encoded body.<=
BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/7/10 3:33 AM, &quot;Greg Beech&quot; &lt;<a href=3D"greg@blinkbox.com"=
>greg@blinkbox.com</a>&gt; wrote:<BR>
Hi<BR>
<BR>
I noticed that there is an error in the example for section 3.4.1.1 in<BR>
the latest OAuth draft. The example of building a signature base string<BR>
uses the following request as an example (note the extraneous query<BR>
parameters at the bottom):<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GET /request?b5=3D%3D%253D&amp;a3=3Da&amp;c%4=
0=3D&amp;a2=3Dr%20b HTTP/1.1<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Host: example.com<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Content-Type: application/x-www-form-urlencod=
ed<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Authorization: OAuth realm=3D&quot;Example&qu=
ot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_consumer_key=3D&quot;9dj=
dj82h48djs9d2&quot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_token=3D&quot;kkk9d7dh3k=
39sjv7&quot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_signature_method=3D&quot=
;HMAC-SHA1&quot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_timestamp=3D&quot;137131=
201&quot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_nonce=3D&quot;7d8f3e4a&q=
uot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_signature=3D&quot;djosJK=
DKJSD8743243%2Fjdk33klY%3D&quot;<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c2&amp;a3=3D2+q<BR>
<BR>
I believe that this should be as follows, which will cause the<BR>
documented signature base string to be constructed:<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GET /request?b5=3D%3D%253D&amp;a3=3Da&amp;c%4=
0=3D&amp;a2=3Dr%20b&amp;c2=3D&amp;a3=3D2+q HTTP/1.1<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Host: example.com<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Content-Type: application/x-www-form-urlencod=
ed<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Authorization: OAuth realm=3D&quot;Example&qu=
ot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_consumer_key=3D&quot;9dj=
dj82h48djs9d2&quot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_token=3D&quot;kkk9d7dh3k=
39sjv7&quot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_signature_method=3D&quot=
;HMAC-SHA1&quot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_timestamp=3D&quot;137131=
201&quot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_nonce=3D&quot;7d8f3e4a&q=
uot;,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth_signature=3D&quot;djosJK=
DKJSD8743243%2Fjdk33klY%3D&quot;<BR>
<BR>
Apologies if this is a duplicate comment; I searched the archives but<BR>
could not find any reference to this issue.<BR>
<BR>
--<BR>
Greg<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
Blinkbox Entertainment Ltd - The best movies &amp; TV online |<BR>
Greg Beech | Senior Development Engineer Lead | +44 20 7092 8700 | +44 7970=
 480901<BR>
<BR>
<BR>
<BR>
<BR>
Blinkbox Entertainment Ltd - The best movies &amp; TV online |<BR>
Greg Beech | Senior Development Engineer Lead | +44 20 7092 8700 | +44 7970=
 480901<BR>
<BR>
_______________________________________________<BR>
<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E3385831F0Eeranhueniversecom_--

From eran@hueniverse.com  Thu Apr  8 07:44:46 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 399A13A6903 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 07:44:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.393
X-Spam-Level: 
X-Spam-Status: No, score=-2.393 tagged_above=-999 required=5 tests=[AWL=0.205,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4vfjt3rjarKD for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 07:44:44 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 01D7E3A6A87 for <oauth@ietf.org>; Thu,  8 Apr 2010 07:41:22 -0700 (PDT)
Received: (qmail 10936 invoked from network); 8 Apr 2010 14:41:19 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 8 Apr 2010 14:41:19 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Thu, 8 Apr 2010 07:41:10 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: George Fletcher <gffletch@aol.com>, OAuth WG <oauth@ietf.org>
Date: Thu, 8 Apr 2010 07:41:01 -0700
Thread-Topic: [OAUTH-WG] Limiting signed requests to use the Authorization request header
Thread-Index: AcrXJQgWjvEOcYcUSe2PBOz8V3dzMwABHoGB
Message-ID: <C7E3390D.31F0F%eran@hueniverse.com>
In-Reply-To: <4BBDE35F.4000102@aol.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E3390D31F0Feranhueniversecom_"
MIME-Version: 1.0
Cc: Jonathan Moore <Jonathan_Moore@Comcast.com>
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization request header
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 14:44:46 -0000

--_000_C7E3390D31F0Feranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Why is the native application launching a browser with a protected resource=
 request? That seems odd.

Note that we currently have no plans of supporting signatures in any of the=
 flows. We are discussing signatures only for using tokens with secrets whe=
n accessing protected resources.

EHL


On 4/8/10 7:08 AM, "George Fletcher" <gffletch@aol.com> wrote:

Another use case is where a rich client wants to bootstrap a web session wi=
th the same identity (rich client to web SSO). Assuming that the web sessio=
n will be established via OAuth with signatures, there is no way to fire up=
 the browser with a "signed URL" if the OAuth parameters and signature need=
 to be in a header.

As Jon mentions, the concept of allowing a service to create a signed URL a=
nd then pass it back to JS running in the browser, or invoking a browser di=
rectly is something that we leverage a lot across our rich clients and web =
applications.

I realize that these sorts of use cases are trivial if establishment of the=
 SSO session switches from a signed mechanism to the OAuth WRAP bearer toke=
n model. The one nice feature of the signed URL is that it is one time use =
where the bearer token can be replayed multiple times.

Thanks,
George

Real world use case. Login into the latest AIM client. Click the mail icon/=
link.


On 3/31/10 7:25 AM, Moore, Jonathan wrote:

What about a use case where the signature will be generated by one componen=
t but the request will be redeemed by another?

For example, suppose there is a cross-domain JSONP call that requires autho=
rization; in this case, I might have my client side code hit *my* origin se=
rver, obtain a signed URL, and then redeem it by hitting the JSONP resource=
. This has scaling advantages over having my origin proxy an OAuth request,=
 and doesn't require me to have keys located on the client; I can keep them=
 safely in my data centers.

In this case, sending a "ready to redeem" signed request using the query pa=
rameter mechanism simplifies the client-side code. Furthermore, in this use=
 case (cross-domain script inclusion), the client doesn't have the means to=
 set the Authorization header (it can only include a <script> element with =
a URL).

A similar use case would be if you wanted to provide signed redirects (simi=
larly useful for cross-domain functionality); browsers aren't going to modi=
fy the redirect URL they get back, or add an Authorization header to it.

Jon
........
Jon Moore
Comcast Interactive Media



-----Original Message-----
From: oauth-bounces@ietf.org on behalf of Eran Hammer-Lahav
Sent: Wed 3/31/2010 12:20 AM
To: OAuth WG
Subject: [OAUTH-WG] Limiting signed requests to use the Authorizationreques=
t header

Since we have consensus that using signed requests is a more advance use
case and will be used by more experienced developer, I would like to sugges=
t
we limit sending signed request parameters to the Authorization header (no
URI query parameters or form-encoded body).

This will not change the ability to send the oauth_token parameter in the
query or body when using bearer tokens (as well as in the header). It will
only apply to sending signed requests.

The makes client request parameter much simpler as the only parameter
"invading" the URI or body space of the request is oauth_token. Anything
else is limited to the header.

Thoughts? If you are not a fan, please reply with a use case.

EHL

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth




--_000_C7E3390D31F0Feranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Limiting signed requests to use the Authorization req=
uest header</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>Why is the native application launching a browser with a protected re=
source request? That seems odd.<BR>
<BR>
Note that we currently have no plans of supporting signatures in any of the=
 flows. We are discussing signatures only for using tokens with secrets whe=
n accessing protected resources.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/8/10 7:08 AM, &quot;George Fletcher&quot; &lt;<a href=3D"gffletch@aol.=
com">gffletch@aol.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Helv=
etica, Verdana, Arial">Another use case is where a rich client wants to boo=
tstrap a web session with the same identity (rich client to web SSO). Assum=
ing that the web session will be established via OAuth with signatures, the=
re is no way to fire up the browser with a &quot;signed URL&quot; if the OA=
uth parameters and signature need to be in a header.<BR>
<BR>
As Jon mentions, the concept of allowing a service to create a signed URL a=
nd then pass it back to JS running in the browser, or invoking a browser di=
rectly is something that we leverage a lot across our rich clients and web =
applications.<BR>
<BR>
I realize that these sorts of use cases are trivial if establishment of the=
 SSO session switches from a signed mechanism to the OAuth WRAP bearer toke=
n model. The one nice feature of the signed URL is that it is one time use =
where the bearer token can be replayed multiple times.<BR>
<BR>
Thanks,<BR>
George<BR>
<BR>
Real world use case. Login into the latest AIM client. Click the mail icon/=
link.<BR>
<BR>
</FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><BR>
On 3/31/10 7:25 AM, Moore, Jonathan wrote: <BR>
</FONT></SPAN><BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Cali=
bri, Verdana, Helvetica, Arial"> <BR>
What about a use case where the signature will be generated by one componen=
t but the request will be redeemed by another?<BR>
<BR>
For example, suppose there is a cross-domain JSONP call that requires autho=
rization; in this case, I might have my client side code hit *my* origin se=
rver, obtain a signed URL, and then redeem it by hitting the JSONP resource=
. This has scaling advantages over having my origin proxy an OAuth request,=
 and doesn't require me to have keys located on the client; I can keep them=
 safely in my data centers.<BR>
<BR>
In this case, sending a &quot;ready to redeem&quot; signed request using th=
e query parameter mechanism simplifies the client-side code. Furthermore, i=
n this use case (cross-domain script inclusion), the client doesn't have th=
e means to set the Authorization header (it can only include a &lt;script&g=
t; element with a URL).<BR>
<BR>
A similar use case would be if you wanted to provide signed redirects (simi=
larly useful for cross-domain functionality); browsers aren't going to modi=
fy the redirect URL they get back, or add an Authorization header to it.<BR=
>
<BR>
Jon<BR>
........<BR>
Jon Moore<BR>
Comcast Interactive Media<BR>
<BR>
<BR>
<BR>
-----Original Message-----<BR>
From: <a href=3D"oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> on beha=
lf of Eran Hammer-Lahav<BR>
Sent: Wed 3/31/2010 12:20 AM<BR>
To: OAuth WG<BR>
Subject: [OAUTH-WG] Limiting signed requests to use the Authorizationreques=
t header<BR>
&nbsp;<BR>
Since we have consensus that using signed requests is a more advance use<BR=
>
case and will be used by more experienced developer, I would like to sugges=
t<BR>
we limit sending signed request parameters to the Authorization header (no<=
BR>
URI query parameters or form-encoded body).<BR>
<BR>
This will not change the ability to send the oauth_token parameter in the<B=
R>
query or body when using bearer tokens (as well as in the header). It will<=
BR>
only apply to sending signed requests.<BR>
<BR>
The makes client request parameter much simpler as the only parameter<BR>
&quot;invading&quot; the URI or body space of the request is oauth_token. A=
nything<BR>
else is limited to the header.<BR>
<BR>
Thoughts? If you are not a fan, please reply with a use case.<BR>
<BR>
EHL<BR>
<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
<BR>
&nbsp;&nbsp;<BR>
</FONT></SPAN></BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Cal=
ibri, Verdana, Helvetica, Arial"><BR>
</FONT></SPAN></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E3390D31F0Feranhueniversecom_--

From tonynad@microsoft.com  Thu Apr  8 07:51:21 2010
Return-Path: <tonynad@microsoft.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E77693A67B4 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 07:51:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.598
X-Spam-Level: 
X-Spam-Status: No, score=-10.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vZNC-C6u3ZK1 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 07:51:20 -0700 (PDT)
Received: from smtp.microsoft.com (mailb.microsoft.com [131.107.115.215]) by core3.amsl.com (Postfix) with ESMTP id 9223C3A69C5 for <oauth@ietf.org>; Thu,  8 Apr 2010 07:51:04 -0700 (PDT)
Received: from TK5EX14CASC131.redmond.corp.microsoft.com (157.54.52.38) by TK5-EXGWY-E802.partners.extranet.microsoft.com (10.251.56.168) with Microsoft SMTP Server (TLS) id 8.2.176.0; Thu, 8 Apr 2010 07:51:01 -0700
Received: from TK5EX14MBXC103.redmond.corp.microsoft.com ([169.254.3.164]) by TK5EX14CASC131.redmond.corp.microsoft.com ([157.54.52.38]) with mapi; Thu, 8 Apr 2010 07:51:01 -0700
From: Anthony Nadalin <tonynad@microsoft.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, George Fletcher <gffletch@aol.com>, OAuth WG <oauth@ietf.org>
Thread-Topic: [OAUTH-WG] Limiting signed requests to use the Authorization request header
Thread-Index: AQHK1yVA5llf1YoV8kSB13XJeQieeJIZGhKA//+NBtA=
Date: Thu, 8 Apr 2010 14:51:00 +0000
Message-ID: <A08279DC79B11C48AD587060CD93977125EFD442@TK5EX14MBXC103.redmond.corp.microsoft.com>
References: <4BBDE35F.4000102@aol.com> <C7E3390D.31F0F%eran@hueniverse.com>
In-Reply-To: <C7E3390D.31F0F%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Content-Type: multipart/alternative; boundary="_000_A08279DC79B11C48AD587060CD93977125EFD442TK5EX14MBXC103r_"
MIME-Version: 1.0
Cc: Jonathan Moore <Jonathan_Moore@Comcast.com>
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization request header
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 14:51:22 -0000

--_000_A08279DC79B11C48AD587060CD93977125EFD442TK5EX14MBXC103r_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

> Why is the native application launching a browser with a protected resour=
ce request? That seems odd.

Not odd at all a lot of the Eclipse applications can work this way

From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
ran Hammer-Lahav
Sent: Thursday, April 08, 2010 7:41 AM
To: George Fletcher; OAuth WG
Cc: Jonathan Moore
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization r=
equest header

Why is the native application launching a browser with a protected resource=
 request? That seems odd.

Note that we currently have no plans of supporting signatures in any of the=
 flows. We are discussing signatures only for using tokens with secrets whe=
n accessing protected resources.

EHL


On 4/8/10 7:08 AM, "George Fletcher" <gffletch@aol.com> wrote:
Another use case is where a rich client wants to bootstrap a web session wi=
th the same identity (rich client to web SSO). Assuming that the web sessio=
n will be established via OAuth with signatures, there is no way to fire up=
 the browser with a "signed URL" if the OAuth parameters and signature need=
 to be in a header.

As Jon mentions, the concept of allowing a service to create a signed URL a=
nd then pass it back to JS running in the browser, or invoking a browser di=
rectly is something that we leverage a lot across our rich clients and web =
applications.

I realize that these sorts of use cases are trivial if establishment of the=
 SSO session switches from a signed mechanism to the OAuth WRAP bearer toke=
n model. The one nice feature of the signed URL is that it is one time use =
where the bearer token can be replayed multiple times.

Thanks,
George

Real world use case. Login into the latest AIM client. Click the mail icon/=
link.


On 3/31/10 7:25 AM, Moore, Jonathan wrote:

What about a use case where the signature will be generated by one componen=
t but the request will be redeemed by another?

For example, suppose there is a cross-domain JSONP call that requires autho=
rization; in this case, I might have my client side code hit *my* origin se=
rver, obtain a signed URL, and then redeem it by hitting the JSONP resource=
. This has scaling advantages over having my origin proxy an OAuth request,=
 and doesn't require me to have keys located on the client; I can keep them=
 safely in my data centers.

In this case, sending a "ready to redeem" signed request using the query pa=
rameter mechanism simplifies the client-side code. Furthermore, in this use=
 case (cross-domain script inclusion), the client doesn't have the means to=
 set the Authorization header (it can only include a <script> element with =
a URL).

A similar use case would be if you wanted to provide signed redirects (simi=
larly useful for cross-domain functionality); browsers aren't going to modi=
fy the redirect URL they get back, or add an Authorization header to it.

Jon
........
Jon Moore
Comcast Interactive Media



-----Original Message-----
From: oauth-bounces@ietf.org on behalf of Eran Hammer-Lahav
Sent: Wed 3/31/2010 12:20 AM
To: OAuth WG
Subject: [OAUTH-WG] Limiting signed requests to use the Authorizationreques=
t header

Since we have consensus that using signed requests is a more advance use
case and will be used by more experienced developer, I would like to sugges=
t
we limit sending signed request parameters to the Authorization header (no
URI query parameters or form-encoded body).

This will not change the ability to send the oauth_token parameter in the
query or body when using bearer tokens (as well as in the header). It will
only apply to sending signed requests.

The makes client request parameter much simpler as the only parameter
"invading" the URI or body space of the request is oauth_token. Anything
else is limited to the header.

Thoughts? If you are not a fan, please reply with a use case.

EHL

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth




--_000_A08279DC79B11C48AD587060CD93977125EFD442TK5EX14MBXC103r_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV=3D"Content-Type" CONTENT=
=3D"text/html; charset=3Dus-ascii"><meta name=3DGenerator content=3D"Micros=
oft Word 14 (filtered medium)"><title>Re: [OAUTH-WG] Limiting signed reques=
ts to use the Authorization request header</title><style><!--
/* Font Definitions */
@font-face
	{font-family:Helvetica;
	panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
	{font-family:Helvetica;
	panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";
	font-family:"Tahoma","sans-serif";}
span.EmailStyle19
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue vli=
nk=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span style=3D'f=
ont-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>&gt;</spa=
n><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'> Why =
is the native application launching a browser with a protected resource req=
uest? That seems odd.<o:p></o:p></span></p><p class=3DMsoNormal><span style=
=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p>&nbsp;</o:p><=
/span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:=
"Calibri","sans-serif"'>Not odd at all a lot of the Eclipse applications ca=
n work this way</span><span style=3D'font-size:11.0pt;font-family:"Calibri"=
,"sans-serif";color:#1F497D'><o:p></o:p></span></p><p class=3DMsoNormal><sp=
an style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F49=
7D'><o:p>&nbsp;</o:p></span></p><div><div style=3D'border:none;border-top:s=
olid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=3DMsoNormal><b><span=
 style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span><=
/b><span style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> oaut=
h-bounces@ietf.org [mailto:oauth-bounces@ietf.org] <b>On Behalf Of </b>Eran=
 Hammer-Lahav<br><b>Sent:</b> Thursday, April 08, 2010 7:41 AM<br><b>To:</b=
> George Fletcher; OAuth WG<br><b>Cc:</b> Jonathan Moore<br><b>Subject:</b>=
 Re: [OAUTH-WG] Limiting signed requests to use the Authorization request h=
eader<o:p></o:p></span></p></div></div><p class=3DMsoNormal><o:p>&nbsp;</o:=
p></p><p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><span style=3D'fo=
nt-size:11.0pt;font-family:"Calibri","sans-serif"'>Why is the native applic=
ation launching a browser with a protected resource request? That seems odd=
.<br><br>Note that we currently have no plans of supporting signatures in a=
ny of the flows. We are discussing signatures only for using tokens with se=
crets when accessing protected resources.<br><br>EHL<br><br><br>On 4/8/10 7=
:08 AM, &quot;George Fletcher&quot; &lt;<a href=3D"gffletch@aol.com">gfflet=
ch@aol.com</a>&gt; wrote:</span><o:p></o:p></p><p class=3DMsoNormal><span s=
tyle=3D'font-size:11.0pt;font-family:"Helvetica","sans-serif"'>Another use =
case is where a rich client wants to bootstrap a web session with the same =
identity (rich client to web SSO). Assuming that the web session will be es=
tablished via OAuth with signatures, there is no way to fire up the browser=
 with a &quot;signed URL&quot; if the OAuth parameters and signature need t=
o be in a header.<br><br>As Jon mentions, the concept of allowing a service=
 to create a signed URL and then pass it back to JS running in the browser,=
 or invoking a browser directly is something that we leverage a lot across =
our rich clients and web applications.<br><br>I realize that these sorts of=
 use cases are trivial if establishment of the SSO session switches from a =
signed mechanism to the OAuth WRAP bearer token model. The one nice feature=
 of the signed URL is that it is one time use where the bearer token can be=
 replayed multiple times.<br><br>Thanks,<br>George<br><br>Real world use ca=
se. Login into the latest AIM client. Click the mail icon/link.<br><br></sp=
an><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'><br>=
On 3/31/10 7:25 AM, Moore, Jonathan wrote: </span><o:p></o:p></p><p class=
=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-se=
rif"'><br>What about a use case where the signature will be generated by on=
e component but the request will be redeemed by another?<br><br>For example=
, suppose there is a cross-domain JSONP call that requires authorization; i=
n this case, I might have my client side code hit *my* origin server, obtai=
n a signed URL, and then redeem it by hitting the JSONP resource. This has =
scaling advantages over having my origin proxy an OAuth request, and doesn'=
t require me to have keys located on the client; I can keep them safely in =
my data centers.<br><br>In this case, sending a &quot;ready to redeem&quot;=
 signed request using the query parameter mechanism simplifies the client-s=
ide code. Furthermore, in this use case (cross-domain script inclusion), th=
e client doesn't have the means to set the Authorization header (it can onl=
y include a &lt;script&gt; element with a URL).<br><br>A similar use case w=
ould be if you wanted to provide signed redirects (similarly useful for cro=
ss-domain functionality); browsers aren't going to modify the redirect URL =
they get back, or add an Authorization header to it.<br><br>Jon<br>........=
<br>Jon Moore<br>Comcast Interactive Media<br><br><br><br>-----Original Mes=
sage-----<br>From: <a href=3D"oauth-bounces@ietf.org">oauth-bounces@ietf.or=
g</a> on behalf of Eran Hammer-Lahav<br>Sent: Wed 3/31/2010 12:20 AM<br>To:=
 OAuth WG<br>Subject: [OAUTH-WG] Limiting signed requests to use the Author=
izationrequest header<br>&nbsp;<br>Since we have consensus that using signe=
d requests is a more advance use<br>case and will be used by more experienc=
ed developer, I would like to suggest<br>we limit sending signed request pa=
rameters to the Authorization header (no<br>URI query parameters or form-en=
coded body).<br><br>This will not change the ability to send the oauth_toke=
n parameter in the<br>query or body when using bearer tokens (as well as in=
 the header). It will<br>only apply to sending signed requests.<br><br>The =
makes client request parameter much simpler as the only parameter<br>&quot;=
invading&quot; the URI or body space of the request is oauth_token. Anythin=
g<br>else is limited to the header.<br><br>Thoughts? If you are not a fan, =
please reply with a use case.<br><br>EHL<br><br>___________________________=
____________________<br>OAuth mailing list<br><a href=3D"OAuth@ietf.org">OA=
uth@ietf.org</a><br><a href=3D"https://www.ietf.org/mailman/listinfo/oauth"=
>https://www.ietf.org/mailman/listinfo/oauth</a><br><br>___________________=
____________________________<br>OAuth mailing list<br><a href=3D"OAuth@ietf=
.org">OAuth@ietf.org</a><br><a href=3D"https://www.ietf.org/mailman/listinf=
o/oauth">https://www.ietf.org/mailman/listinfo/oauth</a><br><br>&nbsp;&nbsp=
;</span><o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div></bo=
dy></html>=

--_000_A08279DC79B11C48AD587060CD93977125EFD442TK5EX14MBXC103r_--

From eran@hueniverse.com  Thu Apr  8 08:31:30 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C31283A6AB4 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 08:31:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.4
X-Spam-Level: 
X-Spam-Status: No, score=-2.4 tagged_above=-999 required=5 tests=[AWL=0.198, BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lX2Dy7dXDpoN for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 08:31:23 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 018AA3A6AAC for <oauth@ietf.org>; Thu,  8 Apr 2010 08:31:22 -0700 (PDT)
Received: (qmail 10004 invoked from network); 8 Apr 2010 15:31:19 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 8 Apr 2010 15:31:19 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Thu, 8 Apr 2010 08:31:15 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Anthony Nadalin <tonynad@microsoft.com>, OAuth WG <oauth@ietf.org>
Date: Thu, 8 Apr 2010 08:31:12 -0700
Thread-Topic: [OAUTH-WG] Limiting signed requests to use the Authorization request header
Thread-Index: AQHK1yVA5llf1YoV8kSB13XJeQieeJIZGhKA//+NBtCAAAunLg==
Message-ID: <C7E344D0.31F1B%eran@hueniverse.com>
In-Reply-To: <A08279DC79B11C48AD587060CD93977125EFD442@TK5EX14MBXC103.redmond.corp.microsoft.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E344D031F1Beranhueniversecom_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization request header
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 15:31:30 -0000

--_000_C7E344D031F1Beranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Can you share an example of a native application launching an external brow=
ser with a protect resource?

Why can't the end user just login to the browser using normal web login and=
 access the resource?

EHL


On 4/8/10 7:51 AM, "Anthony Nadalin" <tonynad@microsoft.com> wrote:

> Why is the native application launching a browser with a protected resour=
ce request? That seems odd.

Not odd at all a lot of the Eclipse applications can work this way


From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
ran Hammer-Lahav
Sent: Thursday, April 08, 2010 7:41 AM
To: George Fletcher; OAuth WG
Cc: Jonathan Moore
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization r=
equest header

Why is the native application launching a browser with a protected resource=
 request? That seems odd.

Note that we currently have no plans of supporting signatures in any of the=
 flows. We are discussing signatures only for using tokens with secrets whe=
n accessing protected resources.

EHL


On 4/8/10 7:08 AM, "George Fletcher" <gffletch@aol.com> wrote:
Another use case is where a rich client wants to bootstrap a web session wi=
th the same identity (rich client to web SSO). Assuming that the web sessio=
n will be established via OAuth with signatures, there is no way to fire up=
 the browser with a "signed URL" if the OAuth parameters and signature need=
 to be in a header.

As Jon mentions, the concept of allowing a service to create a signed URL a=
nd then pass it back to JS running in the browser, or invoking a browser di=
rectly is something that we leverage a lot across our rich clients and web =
applications.

I realize that these sorts of use cases are trivial if establishment of the=
 SSO session switches from a signed mechanism to the OAuth WRAP bearer toke=
n model. The one nice feature of the signed URL is that it is one time use =
where the bearer token can be replayed multiple times.

Thanks,
George

Real world use case. Login into the latest AIM client. Click the mail icon/=
link.


On 3/31/10 7:25 AM, Moore, Jonathan wrote:

What about a use case where the signature will be generated by one componen=
t but the request will be redeemed by another?

For example, suppose there is a cross-domain JSONP call that requires autho=
rization; in this case, I might have my client side code hit *my* origin se=
rver, obtain a signed URL, and then redeem it by hitting the JSONP resource=
. This has scaling advantages over having my origin proxy an OAuth request,=
 and doesn't require me to have keys located on the client; I can keep them=
 safely in my data centers.

In this case, sending a "ready to redeem" signed request using the query pa=
rameter mechanism simplifies the client-side code. Furthermore, in this use=
 case (cross-domain script inclusion), the client doesn't have the means to=
 set the Authorization header (it can only include a <script> element with =
a URL).

A similar use case would be if you wanted to provide signed redirects (simi=
larly useful for cross-domain functionality); browsers aren't going to modi=
fy the redirect URL they get back, or add an Authorization header to it.

Jon
........
Jon Moore
Comcast Interactive Media



-----Original Message-----
From: oauth-bounces@ietf.org on behalf of Eran Hammer-Lahav
Sent: Wed 3/31/2010 12:20 AM
To: OAuth WG
Subject: [OAUTH-WG] Limiting signed requests to use the Authorizationreques=
t header

Since we have consensus that using signed requests is a more advance use
case and will be used by more experienced developer, I would like to sugges=
t
we limit sending signed request parameters to the Authorization header (no
URI query parameters or form-encoded body).

This will not change the ability to send the oauth_token parameter in the
query or body when using bearer tokens (as well as in the header). It will
only apply to sending signed requests.

The makes client request parameter much simpler as the only parameter
"invading" the URI or body space of the request is oauth_token. Anything
else is limited to the header.

Thoughts? If you are not a fan, please reply with a use case.

EHL

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth





--_000_C7E344D031F1Beranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Limiting signed requests to use the Authorization req=
uest header</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>Can you share an example of a native application launching an externa=
l browser with a protect resource?<BR>
<BR>
Why can&#8217;t the end user just login to the browser using normal web log=
in and access the resource?<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/8/10 7:51 AM, &quot;Anthony Nadalin&quot; &lt;<a href=3D"tonynad@micro=
soft.com">tonynad@microsoft.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'><FONT COLOR=3D"#1F497D">&gt;</FONT> Why is =
the native application launching a browser with a protected resource reques=
t? That seems odd.<BR>
&nbsp;<BR>
Not odd at all a lot of the Eclipse applications can work this way<BR>
<FONT COLOR=3D"#1F497D"> <BR>
</FONT><BR>
</SPAN></FONT><FONT SIZE=3D"2"><FONT FACE=3D"Tahoma, Verdana, Helvetica, Ar=
ial"><SPAN STYLE=3D'font-size:10pt'><B>From:</B> <a href=3D"oauth-bounces@i=
etf.org">oauth-bounces@ietf.org</a> [<a href=3D"mailto:oauth-bounces@ietf.o=
rg">mailto:oauth-bounces@ietf.org</a>] <B>On Behalf Of </B>Eran Hammer-Laha=
v<BR>
<B>Sent:</B> Thursday, April 08, 2010 7:41 AM<BR>
<B>To:</B> George Fletcher; OAuth WG<BR>
<B>Cc:</B> Jonathan Moore<BR>
<B>Subject:</B> Re: [OAUTH-WG] Limiting signed requests to use the Authoriz=
ation request header<BR>
</SPAN></FONT></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-siz=
e:12pt'> <BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=
=3D'font-size:11pt'>Why is the native application launching a browser with =
a protected resource request? That seems odd.<BR>
<BR>
Note that we currently have no plans of supporting signatures in any of the=
 flows. We are discussing signatures only for using tokens with secrets whe=
n accessing protected resources.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/8/10 7:08 AM, &quot;George Fletcher&quot; &lt;<a href=3D"gffletch@aol.=
com">gffletch@aol.com</a>&gt; wrote:<BR>
</SPAN></FONT><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Helvetica, Verda=
na, Arial">Another use case is where a rich client wants to bootstrap a web=
 session with the same identity (rich client to web SSO). Assuming that the=
 web session will be established via OAuth with signatures, there is no way=
 to fire up the browser with a &quot;signed URL&quot; if the OAuth paramete=
rs and signature need to be in a header.<BR>
<BR>
As Jon mentions, the concept of allowing a service to create a signed URL a=
nd then pass it back to JS running in the browser, or invoking a browser di=
rectly is something that we leverage a lot across our rich clients and web =
applications.<BR>
<BR>
I realize that these sorts of use cases are trivial if establishment of the=
 SSO session switches from a signed mechanism to the OAuth WRAP bearer toke=
n model. The one nice feature of the signed URL is that it is one time use =
where the bearer token can be replayed multiple times.<BR>
<BR>
Thanks,<BR>
George<BR>
<BR>
Real world use case. Login into the latest AIM client. Click the mail icon/=
link.<BR>
<BR>
</FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><BR>
On 3/31/10 7:25 AM, Moore, Jonathan wrote: <BR>
<BR>
What about a use case where the signature will be generated by one componen=
t but the request will be redeemed by another?<BR>
<BR>
For example, suppose there is a cross-domain JSONP call that requires autho=
rization; in this case, I might have my client side code hit *my* origin se=
rver, obtain a signed URL, and then redeem it by hitting the JSONP resource=
. This has scaling advantages over having my origin proxy an OAuth request,=
 and doesn't require me to have keys located on the client; I can keep them=
 safely in my data centers.<BR>
<BR>
In this case, sending a &quot;ready to redeem&quot; signed request using th=
e query parameter mechanism simplifies the client-side code. Furthermore, i=
n this use case (cross-domain script inclusion), the client doesn't have th=
e means to set the Authorization header (it can only include a &lt;script&g=
t; element with a URL).<BR>
<BR>
A similar use case would be if you wanted to provide signed redirects (simi=
larly useful for cross-domain functionality); browsers aren't going to modi=
fy the redirect URL they get back, or add an Authorization header to it.<BR=
>
<BR>
Jon<BR>
........<BR>
Jon Moore<BR>
Comcast Interactive Media<BR>
<BR>
<BR>
<BR>
-----Original Message-----<BR>
From: <a href=3D"oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> on beha=
lf of Eran Hammer-Lahav<BR>
Sent: Wed 3/31/2010 12:20 AM<BR>
To: OAuth WG<BR>
Subject: [OAUTH-WG] Limiting signed requests to use the Authorizationreques=
t header<BR>
&nbsp;<BR>
Since we have consensus that using signed requests is a more advance use<BR=
>
case and will be used by more experienced developer, I would like to sugges=
t<BR>
we limit sending signed request parameters to the Authorization header (no<=
BR>
URI query parameters or form-encoded body).<BR>
<BR>
This will not change the ability to send the oauth_token parameter in the<B=
R>
query or body when using bearer tokens (as well as in the header). It will<=
BR>
only apply to sending signed requests.<BR>
<BR>
The makes client request parameter much simpler as the only parameter<BR>
&quot;invading&quot; the URI or body space of the request is oauth_token. A=
nything<BR>
else is limited to the header.<BR>
<BR>
Thoughts? If you are not a fan, please reply with a use case.<BR>
<BR>
EHL<BR>
<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
<BR>
&nbsp;&nbsp;<BR>
</FONT></SPAN><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
> <BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=
=3D'font-size:11pt'><BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E344D031F1Beranhueniversecom_--

From uidude@google.com  Thu Apr  8 08:31:57 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6133D3A6AAC for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 08:31:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.744
X-Spam-Level: 
X-Spam-Status: No, score=-105.744 tagged_above=-999 required=5 tests=[AWL=0.232, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mXPIQIIMPnpA for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 08:31:55 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id EE1B53A6AB6 for <oauth@ietf.org>; Thu,  8 Apr 2010 08:31:52 -0700 (PDT)
Received: from wpaz29.hot.corp.google.com (wpaz29.hot.corp.google.com [172.24.198.93]) by smtp-out.google.com with ESMTP id o38FViBp023437 for <oauth@ietf.org>; Thu, 8 Apr 2010 08:31:44 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270740704; bh=LrWcrl5ebXQCT3EKmqwcNtX5+fc=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=s6rx3BUs3ZbqKxDnn6V4RCFdOqfr633O0OZ2xXzKnubMU9VoA96R/jqSoLLqX5qtg zgZ+O1NRkq2oQX9tcR6xA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=QFuIaN5DBerKpM9b+C06v2P/ZYpmVfopaiqKe5o3mk8lqWc1GFHz1DL2NgW0Zxu0K qWZCE2e4OeWIV8uypTTgA==
Received: from qw-out-1920.google.com (qwk4.prod.google.com [10.241.195.132]) by wpaz29.hot.corp.google.com with ESMTP id o38FVh9R020788 for <oauth@ietf.org>; Thu, 8 Apr 2010 08:31:43 -0700
Received: by qw-out-1920.google.com with SMTP id 4so1394008qwk.44 for <oauth@ietf.org>; Thu, 08 Apr 2010 08:31:43 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.194 with HTTP; Thu, 8 Apr 2010 08:31:13 -0700 (PDT)
In-Reply-To: <t2pcb5f7a381004072340nbc82983tfb94a45af8ef0cda@mail.gmail.com>
References: <n2ic8689b661004062314ha8689ddcrd6fa932b1915eda4@mail.gmail.com>  <C7E17D76.31E24%eran@hueniverse.com> <j2zc8689b661004070822z90effc46v83f790849cbb9636@mail.gmail.com> <i2ncb5f7a381004070929qde2c746dtb6f9ead849436d32@mail.gmail.com>  <q2rc8689b661004072246ie4bda2f3p560c7c18ab621fa3@mail.gmail.com>  <t2pcb5f7a381004072340nbc82983tfb94a45af8ef0cda@mail.gmail.com>
From: Evan Gilbert <uidude@google.com>
Date: Thu, 8 Apr 2010 08:31:13 -0700
Received: by 10.229.213.208 with SMTP id gx16mr481344qcb.35.1270740693509;  Thu, 08 Apr 2010 08:31:33 -0700 (PDT)
Message-ID: <w2qc8689b661004080831nfd66eed6o6e24392d2e154cf5@mail.gmail.com>
To: John Panzer <jpanzer@google.com>
Content-Type: multipart/alternative; boundary=0016361e898ca420860483bb5f70
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on Web Callback & Client Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 15:31:57 -0000

--0016361e898ca420860483bb5f70
Content-Type: text/plain; charset=ISO-8859-1

On Wed, Apr 7, 2010 at 11:40 PM, John Panzer <jpanzer@google.com> wrote:

>
>
> On Wed, Apr 7, 2010 at 10:46 PM, Evan Gilbert <uidude@google.com> wrote:
>
>>
>>
>>
>> On Wed, Apr 7, 2010 at 9:29 AM, John Panzer <jpanzer@google.com> wrote:
>>
>>> I'm assuming that tokens need not be bound to a specific user (typically
>>> they are, but imagine a secretary granting an app access to his boss's
>>> calendar and then leaving the company and therefore being removed from the
>>> calendar ACL, but the app still keeping access by virtue of the capability
>>> granted by the token).  In this case, the proposed wording seems kind of
>>> problematic for a MUST.
>>
>>
>> Note that the "resource owner" in this case is the secretary, not his
>> boss. Resource owner is "An entity capable of granting access to a protected
>> resource."
>>
>> Since access tokens are bound to the resource owner ("A unique identifier
>> used by the client to make authenticated requests on behalf of the
>> resource owner."), I think in this case the system would have a clear way to
>> revoke access to the document.
>>
>
> Sorry, I was unclear.  In the scenario I'm imagining, the boss has
> delegated calendar access to his secretary, who uses this delegated access
> to hook up an app to the calendar.  The boss is very happy with this
> situation because now his Zombieville reminders show up on his calendar.  If
> the token is tied to the secretary, and the secretary's account is shut down
> when the secretary leaves, then the boss no longer sees the Zombieville
> reminders pop up.  He then complains that this sort of thing never happened
> with password-based access!
>
> I can imagine either scenario upon termination of the secretary -- you may
> want to revoke all the tokens, some of the tokens, or none of the tokens.
>

This seems to be an issue with all of the delegation profiles, and not
related to the username parameter.

Note that expected behavior in this case is unclear. If the secretary has
installed an app on her cell phone to view his boss' calendar, you clearly
do want to revoke access.


>
>
>>
>> Updating the wording on the proposal slightly to clarify (also changing
>> format to new parameter formatting)
>>
>> Before:
>> username
>>   The resource owner's username. The authorization server MUST only send
>> back refresh tokens or access tokens for the user identified by username
>>
>> Current:
>> username
>>   OPTIONAL. The resource owner's username. The authorization server MUST
>> only send back refresh tokens or access tokens *capable of making
>> requests on behalf of* the user identified by username
>>
>>
>>>
>>> On Wed, Apr 7, 2010 at 8:22 AM, Evan Gilbert <uidude@google.com> wrote:
>>>
>>>>
>>>>
>>>> On Wed, Apr 7, 2010 at 12:08 AM, Eran Hammer-Lahav <eran@hueniverse.com
>>>> > wrote:
>>>>
>>>>>  What about an attacker changing the username similar to the way a
>>>>> callback can be changed?
>>>>>
>>>>
>>>>  I don't think there is a danger here.
>>>>
>>>> We still use all of the safeguards in place from the rest of the flow -
>>>> adding this parameter never log you in when omitting the parameter would not
>>>> have. It will just create more error responses.
>>>>
>>>>
>>>>>
>>>>> EHL
>>>>>
>>>>>
>>>>>
>>>>> On 4/6/10 11:14 PM, "Evan Gilbert" <uidude@google.com> wrote:
>>>>>
>>>>>
>>>>>
>>>>> On Tue, Apr 6, 2010 at 11:07 PM, Eran Hammer-Lahav <
>>>>> eran@hueniverse.com> wrote:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On 4/6/10 5:24 PM, "Evan Gilbert" <uidude@google.com> wrote:
>>>>>
>>>>> > Proposal:
>>>>> > In 2.4.1 & 2.4.2, add the following OPTIONAL parameter
>>>>> > username
>>>>> >   The resource owner's username. The authorization server MUST only
>>>>> send back
>>>>> > refresh tokens or access tokens for the user identified by username.
>>>>>
>>>>> What are the security implications? How can the client know that the
>>>>> token
>>>>> it got is really for that user?
>>>>>
>>>>>
>>>>> Think the client has to trust the auth server, in the same way as with
>>>>> the username + password profile. The auth server can always send back a
>>>>> scope for a different user.
>>>>>
>>>>> Worst case is that there is an identity mismatch between client and the
>>>>> identity implicit in the authorization token. This mismatch is already
>>>>> possible, and I don't think the username parameter makes the problem worse.
>>>>>
>>>>>
>>>>> EHL
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>
>>>>
>>>
>>
>

--0016361e898ca420860483bb5f70
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Wed, Apr 7, 2010 at 11:40 PM, John Pa=
nzer <span dir=3D"ltr">&lt;<a href=3D"mailto:jpanzer@google.com" target=3D"=
_blank">jpanzer@google.com</a>&gt;</span> wrote:<br><blockquote class=3D"gm=
ail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-le=
ft:1ex">


<br><br><div class=3D"gmail_quote"><div>On Wed, Apr 7, 2010 at 10:46 PM, Ev=
an Gilbert <span dir=3D"ltr">&lt;<a href=3D"mailto:uidude@google.com" targe=
t=3D"_blank">uidude@google.com</a>&gt;</span> wrote:<br><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex">




<br><div><span style=3D"font-family:arial, sans-serif;font-size:13px;border=
-collapse:collapse"><div><font face=3D"arial, sans-serif"><span style=3D"bo=
rder-collapse:collapse"><span style=3D"border-collapse:separate;font-family=
:arial"><br>






</span></span></font></div></span><br><div class=3D"gmail_quote"><div>On We=
d, Apr 7, 2010 at 9:29 AM, John Panzer <span dir=3D"ltr">&lt;<a href=3D"mai=
lto:jpanzer@google.com" target=3D"_blank">jpanzer@google.com</a>&gt;</span>=
 wrote:<br>




<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">

I&#39;m assuming that tokens need not be bound to a specific user (typicall=
y they are, but imagine a secretary granting an app access to his boss&#39;=
s calendar and then leaving the company and therefore being removed from th=
e calendar ACL, but the app still keeping access by virtue of the capabilit=
y granted by the token). =A0In this case, the proposed wording seems kind o=
f problematic for a MUST.</blockquote>






</div><div><br>Note that the &quot;resource owner&quot; in this case is the=
 secretary, not his boss. Resource owner is &quot;An entity capable of gran=
ting access to a protected resource.&quot;</div><div><br>Since access token=
s are bound to the resource owner (&quot;A unique identifier used by the cl=
ient to make authenticated=A0requests on beh<span style=3D"font-size:13px">=
alf of the resource owner.&quot;), I think in this case the system would ha=
ve a clear way to revoke access to the document.</span>=A0</div>




</div></div></blockquote><div><br></div></div><div>Sorry, I was unclear. =
=A0In the scenario I&#39;m imagining, the boss has delegated calendar acces=
s to his secretary, who uses this delegated access to hook up an app to the=
 calendar. =A0The boss is very happy with this situation because now his Zo=
mbieville reminders show up on his calendar. =A0If the token is tied to the=
 secretary, and the secretary&#39;s account is shut down when the secretary=
 leaves, then the boss no longer sees the Zombieville reminders pop up. =A0=
He then complains that this sort of thing never happened with password-base=
d access!</div>




<div><br></div><div>I can imagine either scenario upon termination of the s=
ecretary -- you may want to revoke all the tokens, some of the tokens, or n=
one of the tokens.</div></div></blockquote><div><br></div><div>This seems t=
o be an issue with all of the delegation profiles, and not related to the u=
sername parameter.</div>


<div><br></div><div>Note that expected behavior in this case is unclear. If=
 the secretary has installed an app on her cell phone to view his boss&#39;=
 calendar, you clearly do want to revoke access.</div><div>=A0</div><blockq=
uote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex">


<div class=3D"gmail_quote"><div><div></div><div><div>=A0</div><blockquote c=
lass=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;=
padding-left:1ex">

<div><div class=3D"gmail_quote">

<div><br></div><div>U<span style=3D"font-size:13px">pdating the wording on =
the proposal slightly to clarify (also changing format to new parameter for=
matting)</span></div></div><div class=3D"gmail_quote">

<span style=3D"font-size:13px"><br>Before:<br>username</span><div><div><spa=
n style=3D"font-size:13px">=A0=A0The resource owner&#39;s username. The aut=
horization server MUST only send back refresh tokens or access tokens for t=
he user identified by username</span></div>






<div><span style=3D"font-size:13px"><br></span></div></div><div><span style=
=3D"font-size:13px">Current:</span></div><div><span style=3D"font-size:13px=
"><span style=3D"font-size:small"><span style=3D"font-size:13px">username</=
span><div>






<span style=3D"font-size:13px">=A0=A0OPTIONAL. The resource owner&#39;s use=
rname. The authorization server MUST only send back refresh tokens or acces=
s tokens <b>capable of making requests on behalf of</b> the user identified=
 by username</span></div>






</span></span></div><div><div><span style=3D"font-size:13px"></span>=A0</di=
v><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:=
1px #ccc solid;padding-left:1ex"><div>

<div><br><div class=3D"gmail_quote"><div><div></div><div>On Wed, Apr 7, 201=
0 at 8:22 AM, Evan Gilbert <span dir=3D"ltr">&lt;<a href=3D"mailto:uidude@g=
oogle.com" target=3D"_blank">uidude@google.com</a>&gt;</span> wrote:<br>

</div></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo=
rder-left:1px #ccc solid;padding-left:1ex"><div><div></div><div>

<br><br><div class=3D"gmail_quote"><div>On Wed, Apr 7, 2010 at 12:08 AM, Er=
an Hammer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com=
" target=3D"_blank">eran@hueniverse.com</a>&gt;</span> wrote:<br><blockquot=
e class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc sol=
id;padding-left:1ex">














<div>
<font face=3D"Calibri, Verdana, Helvetica, Arial"><span style=3D"font-size:=
11pt">What about an attacker changing the username similar to the way a cal=
lback can be changed?<br></span></font></div></blockquote><div><br></div></=
div>








<div>

I don&#39;t think there is a danger here.</div><div><br>We still use all of=
 the safeguards in place from the rest of the flow - adding this parameter =
never log you in when omitting the parameter would not have. It will just c=
reate more error responses.</div>








<div><div></div><div>

<div>=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;=
border-left:1px #ccc solid;padding-left:1ex"><div><font face=3D"Calibri, Ve=
rdana, Helvetica, Arial"><span style=3D"font-size:11pt"><font color=3D"#888=
888">
<br>
EHL</font><div><div></div><div><br>
<br>
<br>
On 4/6/10 11:14 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"http://uidude@g=
oogle.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
<br>
</div></div></span></font><div><div></div><div><blockquote><font face=3D"Ca=
libri, Verdana, Helvetica, Arial"><span style=3D"font-size:11pt"><br>
<br>
On Tue, Apr 6, 2010 at 11:07 PM, Eran Hammer-Lahav &lt;<a href=3D"http://er=
an@hueniverse.com" target=3D"_blank">eran@hueniverse.com</a>&gt; wrote:<br>
</span></font><blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial"=
><span style=3D"font-size:11pt"><br>
<br>
<br>
On 4/6/10 5:24 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"http://uidude@go=
ogle.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
<br>
&gt; Proposal:<br>
&gt; In 2.4.1 &amp; 2.4.2, add the following OPTIONAL parameter<br>
&gt; username<br>
&gt; =A0=A0The resource owner&#39;s username. The authorization server MUST=
 only send back<br>
&gt; refresh tokens or access tokens for the user identified by username.<b=
r>
<br>
What are the security implications? How can the client know that the token<=
br>
it got is really for that user?<br>
</span></font></blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial=
"><span style=3D"font-size:11pt"><br>
Think the client has to trust the auth server, in the same way as with the =
username + password profile. The auth server can always send back a scope f=
or a different user.<br>
<br>
Worst case is that there is an identity mismatch between client and the ide=
ntity implicit in the authorization token. This mismatch is already possibl=
e, and I don&#39;t think the username parameter makes the problem worse.<br=
>











<br>
</span></font><blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial"=
><span style=3D"font-size:11pt"><font color=3D"#888888"><br>
EHL<br>
<br>
</font></span></font></blockquote><font face=3D"Calibri, Verdana, Helvetica=
, Arial"><span style=3D"font-size:11pt"><br>
<br>
</span></font></blockquote>
</div></div></div>


</blockquote></div></div></div><br>
<br></div></div><div>_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></div></blockquote></div><br></div></div>
</blockquote></div></div><br></div>
</blockquote></div></div></div><br>
</blockquote></div><br>

--0016361e898ca420860483bb5f70--

From uidude@google.com  Thu Apr  8 08:34:01 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 5CEF23A6812 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 08:34:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.79
X-Spam-Level: 
X-Spam-Status: No, score=-105.79 tagged_above=-999 required=5 tests=[AWL=0.186, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id v8m0MbEzf7sV for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 08:34:00 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id AB5C83A680E for <oauth@ietf.org>; Thu,  8 Apr 2010 08:33:59 -0700 (PDT)
Received: from wpaz1.hot.corp.google.com (wpaz1.hot.corp.google.com [172.24.198.65]) by smtp-out.google.com with ESMTP id o38FXtjB025798 for <oauth@ietf.org>; Thu, 8 Apr 2010 08:33:55 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270740835; bh=S1/pf7+llJ7ZnEC4SI78lUXm0fk=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=Djdl3JnXDS7inNj5+bGozOtgOmoL4yAHPxFvJLDZeX7TIGGnZVN/OaYy5DQVTOD03 twpSMJXbq4WIPIMybASjQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=FuyMC1KchkhxV7CuNOxTMaId1GQKmPNdQqegCsGPdcVU7HKTcfF7TBJXDS8lIbyOC pje57oHDjhevoekLnGXag==
Received: from qyk7 (qyk7.prod.google.com [10.241.83.135]) by wpaz1.hot.corp.google.com with ESMTP id o38FXpAc025682 for <oauth@ietf.org>; Thu, 8 Apr 2010 08:33:54 -0700
Received: by qyk7 with SMTP id 7so180567qyk.6 for <oauth@ietf.org>; Thu, 08 Apr 2010 08:33:54 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.194 with HTTP; Thu, 8 Apr 2010 08:33:30 -0700 (PDT)
In-Reply-To: <C7E2C3F4.31ED6%eran@hueniverse.com>
References: <q2rc8689b661004072246ie4bda2f3p560c7c18ab621fa3@mail.gmail.com>  <C7E2C3F4.31ED6%eran@hueniverse.com>
From: Evan Gilbert <uidude@google.com>
Date: Thu, 8 Apr 2010 08:33:30 -0700
Received: by 10.229.192.68 with SMTP id dp4mr445748qcb.36.1270740832852; Thu,  08 Apr 2010 08:33:52 -0700 (PDT)
Message-ID: <h2vc8689b661004080833tfce9cdfbhb879866be984229c@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=0016361e7efef3b6560483bb679d
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on Web Callback & Client Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 15:34:01 -0000

--0016361e7efef3b6560483bb679d
Content-Type: text/plain; charset=ISO-8859-1

On Wed, Apr 7, 2010 at 11:21 PM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

> I will leave this to the security folks to decide but it seems to me that
> if
> the client asks to limit the username of the end user granting access by
> specifying it in the request, the server must repeat that information when
> issuing such a token. Otherwise, an attacker can force a user to grant
> access to another account (for example, if they have both a personal and
> work accounts on the same server) without the client being able to detect
> it.
>
> In other words, if the client can demand an access token for a specific
> username, it should be able to have the absolute confidence (assuming it
> trusts the server) that the access token received has that attribute.
>

Note: I'm fine with adding a username in the response if it helps from the
security side. It's not clear to me that there's a security hole, but it
never hurts to provide more information in the response back.


> EHL
>
>
> On 4/7/10 10:46 PM, "Evan Gilbert" <uidude@google.com> wrote:
>
> >
> >
> >
> > On Wed, Apr 7, 2010 at 9:29 AM, John Panzer <jpanzer@google.com> wrote:
> >> I'm assuming that tokens need not be bound to a specific user (typically
> they
> >> are, but imagine a secretary granting an app access to his boss's
> calendar
> >> and then leaving the company and therefore being removed from the
> calendar
> >> ACL, but the app still keeping access by virtue of the capability
> granted by
> >> the token).  In this case, the proposed wording seems kind of
> problematic for
> >> a MUST.
> >
> > Note that the "resource owner" in this case is the secretary, not his
> boss.
> > Resource owner is "An entity capable of granting access to a protected
> > resource."
> >
> > Since access tokens are bound to the resource owner ("A unique identifier
> used
> > by the client to make authenticated requests on behalf of the resource
> > owner."), I think in this case the system would have a clear way to
> revoke
> > access to the document.
> >
> > Updating the wording on the proposal slightly to clarify (also changing
> format
> > to new parameter formatting)
> >
> > Before:
> > username
> >   The resource owner's username. The authorization server MUST only send
> back
> > refresh tokens or access tokens for the user identified by username
> >
> > Current:
> > username
> >   OPTIONAL. The resource owner's username. The authorization server MUST
> only
> > send back refresh tokens or access tokens capable of making requests on
> behalf
> > of the user identified by username
> >
> >>
> >> On Wed, Apr 7, 2010 at 8:22 AM, Evan Gilbert <uidude@google.com> wrote:
> >>>
> >>>
> >>> On Wed, Apr 7, 2010 at 12:08 AM, Eran Hammer-Lahav <
> eran@hueniverse.com>
> >>> wrote:
> >>>> What about an attacker changing the username similar to the way a
> callback
> >>>> can be changed?
> >>>
> >>> I don't think there is a danger here.
> >>>
> >>> We still use all of the safeguards in place from the rest of the flow -
> >>> adding this parameter never log you in when omitting the parameter
> would not
> >>> have. It will just create more error responses.
> >>>
> >>>>
> >>>> EHL
> >>>>
> >>>>
> >>>>
> >>>> On 4/6/10 11:14 PM, "Evan Gilbert" <uidude@google.com
> >>>> <http://uidude@google.com> > wrote:
> >>>>
> >>>>>
> >>>>>
> >>>>> On Tue, Apr 6, 2010 at 11:07 PM, Eran Hammer-Lahav <
> eran@hueniverse.com
> >>>>> <http://eran@hueniverse.com> > wrote:
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> On 4/6/10 5:24 PM, "Evan Gilbert" <uidude@google.com
> >>>>>> <http://uidude@google.com> > wrote:
> >>>>>>
> >>>>>>> Proposal:
> >>>>>>> In 2.4.1 & 2.4.2, add the following OPTIONAL parameter
> >>>>>>> username
> >>>>>>>   The resource owner's username. The authorization server MUST only
> send
> >>>>>>> back
> >>>>>>> refresh tokens or access tokens for the user identified by
> username.
> >>>>>>
> >>>>>> What are the security implications? How can the client know that the
> >>>>>> token
> >>>>>> it got is really for that user?
> >>>>>
> >>>>> Think the client has to trust the auth server, in the same way as
> with the
> >>>>> username + password profile. The auth server can always send back a
> scope
> >>>>> for a different user.
> >>>>>
> >>>>> Worst case is that there is an identity mismatch between client and
> the
> >>>>> identity implicit in the authorization token. This mismatch is
> already
> >>>>> possible, and I don't think the username parameter makes the problem
> >>>>> worse.
> >>>>>
> >>>>>>
> >>>>>> EHL
> >>>>>>
> >>>>>
> >>>>>
> >>>
> >>>
> >>> _______________________________________________
> >>> OAuth mailing list
> >>> OAuth@ietf.org
> >>> https://www.ietf.org/mailman/listinfo/oauth
> >>>
> >>
> >
> >
>
>

--0016361e7efef3b6560483bb679d
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Wed, Apr 7, 2010 at 11:21 PM, Eran Ha=
mmer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com">era=
n@hueniverse.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote"=
 style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

I will leave this to the security folks to decide but it seems to me that i=
f<br>
the client asks to limit the username of the end user granting access by<br=
>
specifying it in the request, the server must repeat that information when<=
br>
issuing such a token. Otherwise, an attacker can force a user to grant<br>
access to another account (for example, if they have both a personal and<br=
>
work accounts on the same server) without the client being able to detect<b=
r>
it.<br>
<br>
In other words, if the client can demand an access token for a specific<br>
username, it should be able to have the absolute confidence (assuming it<br=
>
trusts the server) that the access token received has that attribute.<br></=
blockquote><div><br></div><div>Note: I&#39;m fine with adding a username in=
 the response if it helps from the security side. It&#39;s not clear to me =
that there&#39;s a security hole, but it never hurts to provide more inform=
ation in the response back.</div>

<div><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex=
;border-left:1px #ccc solid;padding-left:1ex;">
<font color=3D"#888888"><br>
EHL<br>
</font><div><div></div><div class=3D"h5"><br>
<br>
On 4/7/10 10:46 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"mailto:uidude@g=
oogle.com">uidude@google.com</a>&gt; wrote:<br>
<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Wed, Apr 7, 2010 at 9:29 AM, John Panzer &lt;<a href=3D"mailto:jpan=
zer@google.com">jpanzer@google.com</a>&gt; wrote:<br>
&gt;&gt; I&#39;m assuming that tokens need not be bound to a specific user =
(typically they<br>
&gt;&gt; are, but imagine a secretary granting an app access to his boss&#3=
9;s calendar<br>
&gt;&gt; and then leaving the company and therefore being removed from the =
calendar<br>
&gt;&gt; ACL, but the app still keeping access by virtue of the capability =
granted by<br>
&gt;&gt; the token). =A0In this case, the proposed wording seems kind of pr=
oblematic for<br>
&gt;&gt; a MUST.<br>
&gt;<br>
&gt; Note that the &quot;resource owner&quot; in this case is the secretary=
, not his boss.<br>
&gt; Resource owner is &quot;An entity capable of granting access to a prot=
ected<br>
&gt; resource.&quot;<br>
&gt;<br>
&gt; Since access tokens are bound to the resource owner (&quot;A unique id=
entifier used<br>
&gt; by the client to make authenticated=A0requests on behalf of the resour=
ce<br>
&gt; owner.&quot;), I think in this case the system would have a clear way =
to revoke<br>
&gt; access to the document.=A0<br>
&gt;<br>
&gt; Updating the wording on the proposal slightly to clarify (also changin=
g format<br>
&gt; to new parameter formatting)<br>
&gt;<br>
&gt; Before:<br>
&gt; username<br>
&gt; =A0=A0The resource owner&#39;s username. The authorization server MUST=
 only send back<br>
&gt; refresh tokens or access tokens for the user identified by username<br=
>
&gt;<br>
&gt; Current:<br>
&gt; username<br>
&gt; =A0=A0OPTIONAL. The resource owner&#39;s username. The authorization s=
erver MUST only<br>
&gt; send back refresh tokens or access tokens capable of making requests o=
n behalf<br>
&gt; of the user identified by username<br>
&gt; =A0<br>
&gt;&gt;<br>
&gt;&gt; On Wed, Apr 7, 2010 at 8:22 AM, Evan Gilbert &lt;<a href=3D"mailto=
:uidude@google.com">uidude@google.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Wed, Apr 7, 2010 at 12:08 AM, Eran Hammer-Lahav &lt;<a href=
=3D"mailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt;<br>
&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt; What about an attacker changing the username similar to th=
e way a callback<br>
&gt;&gt;&gt;&gt; can be changed?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I don&#39;t think there is a danger here.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; We still use all of the safeguards in place from the rest of t=
he flow -<br>
&gt;&gt;&gt; adding this parameter never log you in when omitting the param=
eter would not<br>
&gt;&gt;&gt; have. It will just create more error responses.<br>
&gt;&gt;&gt; =A0<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; EHL<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On 4/6/10 11:14 PM, &quot;Evan Gilbert&quot; &lt;<a href=
=3D"mailto:uidude@google.com">uidude@google.com</a><br>
</div></div><div class=3D"im">&gt;&gt;&gt;&gt; &lt;<a href=3D"http://uidude=
" target=3D"_blank">http://uidude</a>@<a href=3D"http://google.com" target=
=3D"_blank">google.com</a>&gt; &gt; wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; On Tue, Apr 6, 2010 at 11:07 PM, Eran Hammer-Lahav &lt=
;<a href=3D"mailto:eran@hueniverse.com">eran@hueniverse.com</a><br>
</div><div class=3D"im">&gt;&gt;&gt;&gt;&gt; &lt;<a href=3D"http://eran" ta=
rget=3D"_blank">http://eran</a>@<a href=3D"http://hueniverse.com" target=3D=
"_blank">hueniverse.com</a>&gt; &gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; On 4/6/10 5:24 PM, &quot;Evan Gilbert&quot; &lt;<a=
 href=3D"mailto:uidude@google.com">uidude@google.com</a><br>
</div><div><div></div><div class=3D"h5">&gt;&gt;&gt;&gt;&gt;&gt; &lt;<a hre=
f=3D"http://uidude" target=3D"_blank">http://uidude</a>@<a href=3D"http://g=
oogle.com" target=3D"_blank">google.com</a>&gt; &gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Proposal:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; In 2.4.1 &amp; 2.4.2, add the following OPTION=
AL parameter<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; username<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; =A0=A0The resource owner&#39;s username. The a=
uthorization server MUST only send<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; back<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; refresh tokens or access tokens for the user i=
dentified by username.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; What are the security implications? How can the cl=
ient know that the<br>
&gt;&gt;&gt;&gt;&gt;&gt; token<br>
&gt;&gt;&gt;&gt;&gt;&gt; it got is really for that user?<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Think the client has to trust the auth server, in the =
same way as with the<br>
&gt;&gt;&gt;&gt;&gt; username + password profile. The auth server can alway=
s send back a scope<br>
&gt;&gt;&gt;&gt;&gt; for a different user.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Worst case is that there is an identity mismatch betwe=
en client and the<br>
&gt;&gt;&gt;&gt;&gt; identity implicit in the authorization token. This mis=
match is already<br>
&gt;&gt;&gt;&gt;&gt; possible, and I don&#39;t think the username parameter=
 makes the problem<br>
&gt;&gt;&gt;&gt;&gt; worse.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; EHL<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; OAuth mailing list<br>
&gt;&gt;&gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt;&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=
=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br>

--0016361e7efef3b6560483bb679d--

From recordond@gmail.com  Thu Apr  8 09:35:24 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0744D3A687F for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 09:35:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id i7DA3v14Xbel for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 09:35:20 -0700 (PDT)
Received: from mail-pv0-f172.google.com (mail-pv0-f172.google.com [74.125.83.172]) by core3.amsl.com (Postfix) with ESMTP id 8E4163A686A for <oauth@ietf.org>; Thu,  8 Apr 2010 09:35:20 -0700 (PDT)
Received: by pvf33 with SMTP id 33so696899pvf.31 for <oauth@ietf.org>; Thu, 08 Apr 2010 09:35:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=hDcOgJa7VcJDY5KgrlkVPUb+BiTYXjskR2iGaxf1JW8=; b=KrXZ1PI4pKXhvkWQzXjS2IzhJyDis2cnq2gayROObXTzRE/ggz6QV9VcNRtctlqTm7 1zw0Sq8G5IEJAVfHE4KTpreeSEnpPRflu1B9Ujg9P5xl5Ff/l9DVVk5ZSPKUqV+gbAFM jDW5EX08uGPJhyl2RrRXJBKxTZ+spoVEa4gTg=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=lcsLZi44f5zDCkLxYe3NngH/dpkI8Ydg0GM7/SOJO1Ppu2ej2CyGFZ8Q7if52c6kCH VWqXY6+tcewPd7c8TZOQ13EnQr+FOM59iG+FvTtS10R1Rh6cxsudIWDWn7WNbMwtJC/S ggq0CjATCfzIQj+zvyKQ5iO8nSJdyQbtzZPkg=
MIME-Version: 1.0
Received: by 10.231.183.18 with HTTP; Thu, 8 Apr 2010 09:35:13 -0700 (PDT)
In-Reply-To: <C7E2C200.31ED3%eran@hueniverse.com>
References: <j2t12aab3571004072023k44ca6037o7d5ab993eac1a88b@mail.gmail.com> <C7E2C200.31ED3%eran@hueniverse.com>
Date: Thu, 8 Apr 2010 09:35:13 -0700
Received: by 10.141.131.13 with SMTP id i13mr563715rvn.121.1270744513862; Thu,  08 Apr 2010 09:35:13 -0700 (PDT)
Message-ID: <q2ufd6741651004080935ocf73d5dcs90e472fe4d190662@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Consistency across access token replies
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 16:35:24 -0000

+1, I support servers being allowed to optionally include refresh
tokens with every access token.


On Wed, Apr 7, 2010 at 11:13 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> My point is simple. *Server* should be allowed to include a refresh token
> with every access token issued. It is already optional everywhere it is
> included. What I suggested is to allow it to be optional everywhere.
>
> If the server doesn't support refresh tokens for some flows, it should
> simply not provide one. Its a deployment decision. Nowhere in the spec can
> the client demand it so this is purely a server deployment decision.
>
> If my server supports refresh tokens in the client credentials flow or
> assertion flow, it should be allowed to issue one. What is the gain from
> forbidding it? The gain from allowing it (as optional) is consistency and
> simplicity. What's the gain from not letting servers decide?
>
> EHL
>
>
> On 4/7/10 8:23 PM, "Sarah Faulkner" <sarahfaulkner3@gmail.com> wrote:
>
>> I think it depends on which profiles we end up with. If we have the web and
>> rich client profiles from Dick's WRAP draft plus the JS profile from David's
>> draft, I would want to return the refresh token with the first two profiles
>> but not with the third. Since our refresh tokens are going to be very long
>> lived in most cases (months), I'd like to promote that they are kept
>> server-side. I don't want to return the refresh token to the client in the JS
>> profile and have it sent to the server over HTTP or set in a cookie.
>>
>> At the very least, I would like the refresh token return to be optional if
>> it's not returned in a server-to-server or to a device that has secure
>> storage.
>>
>> This brings up the question of the device profile -- there are some devices
>> (ex. xbox) that have a way to secure the refresh token, there are others that
>> do not. It may be good to either allow the device to self-declare (in the
>> request, specifically ask for the refresh token) or allow the provider to
>> optionally return the refresh token based on what they know about the device.
>>
>>
>> On Wed, Apr 7, 2010 at 8:05 PM, Dick Hardt <dick.hardt@gmail.com> wrote:
>>> I would envision that the requests from different flows will have a different
>>> mode value, which makes them uniquely different requests for the AS.
>>>
>>> I think returning a refresh token when it can't be used will lead to
>>> confusion for Client and AS developers.
>>>
>>> -- Dick
>>>
>>> On 2010-04-07, at 1:51 PM, Eran Hammer-Lahav wrote:
>>>
>>>> Right now most of the flows return the same parameters (access token,
>>>> expiration, refresh token). A few do not return a refresh token. When we add
>>>> signatures, we will need to add token secret and algorithm type.
>>>>
>>>> I know there are good reasons why certain flows do not return a refresh
>>>> token but instead rely on the client repeating the request. However, there
>>>> is a lot of value in simplicity and consistency in making every request
>>>> return the same parameters.
>>>>
>>>> It will also allow specifying it one time instead of over and over again.
>>>>
>>>> Thoughts?
>>>>
>>>> EHL
>>>>
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From recordond@gmail.com  Thu Apr  8 09:38:11 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E12223A6961 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 09:38:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id J6YfJYGlBb2H for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 09:38:10 -0700 (PDT)
Received: from mail-pv0-f172.google.com (mail-pv0-f172.google.com [74.125.83.172]) by core3.amsl.com (Postfix) with ESMTP id E6B8D3A68DE for <oauth@ietf.org>; Thu,  8 Apr 2010 09:38:10 -0700 (PDT)
Received: by pvf33 with SMTP id 33so699189pvf.31 for <oauth@ietf.org>; Thu, 08 Apr 2010 09:38:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=OI8sDj1Rf9qo011QwFfriLBTV3oety4FxfqIjrmb8m4=; b=MK0zOYf78jIj2uHQ8aDsDvbb9KjQaf+g1ZENcW0Rsgn7N+Q1JJz2+AdsVNLM0HZKlN YcD5gXzvdUuk5FN7KVue2SaDbazDJCmmJUotq8YxbodkfEW0xvsMDqIyDrktpfKu4REz mJ00wK4OoaeZ7ZwnzSN7Udbn3V3UEMTRRmv5o=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=jOv+dPe4hW6pvZI9nKIlwsqVoGiOSs+k9qE/+asHDpc0323wy9loHivjMbidyk14Ep bOB83h5nXGrS2DWZ/kNuHq7Ye4w1Dya2nQwCc+5h/MaEGh9vdsvAp5r++ehKt3YQq2oP bLL0f9PbLX3/xvwGF4P7ltr4PBd3hmu6JCrQQ=
MIME-Version: 1.0
Received: by 10.231.183.18 with HTTP; Thu, 8 Apr 2010 09:38:04 -0700 (PDT)
In-Reply-To: <C7E336BB.31F09%eran@hueniverse.com>
References: <20100408105448.74772jb2mqega0o4@webmail.df.eu> <C7E336BB.31F09%eran@hueniverse.com>
Date: Thu, 8 Apr 2010 09:38:04 -0700
Received: by 10.114.19.9 with SMTP id 9mr661016was.52.1270744684858; Thu, 08  Apr 2010 09:38:04 -0700 (PDT)
Message-ID: <t2nfd6741651004080938m89510a8q9b5f3b073bcd6676@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on sections 5-7
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 16:38:12 -0000

Agreed with Eran. GET parameters certainly make exploring APIs easier.

On Thu, Apr 8, 2010 at 7:31 AM, Eran Hammer-Lahav <eran@hueniverse.com> wro=
te:
> While I agree that the spec would be much cleaner with only HTTP header
> support, and have tried that approach before, in practice it will cause
> significant adoption problems.
>
> I rather add support for query and post parameters (we are really talking
> about a single parameter, oauth_token, outside the HTTP header), and in a
> few year deprecate it in OAuth 3.0. The benefit of these features is that
> they allow existing browsers to deploy OAuth *today*.
>
> As for the document structure, it is too early to tell. With OAuth 1.0a I
> ended shuffling the sections in draft -09... The spec has to tell a story=
.
>
> EHL
>
>
> On 4/8/10 1:54 AM, "Torsten Lodderstedt" <torsten@lodderstedt.net> wrote:
>
>>
>>
>> Hi Eran,
>>
>> since you are re-working sections 5-7 now, I want to address some
>> general issues I see there.
>>
>> - What is the benefit of including "URI Query Parameter" and
>> "Form-Encoded Body Parameter" in the standard? I see OAuth as an HTTP
>> authentication scheme similar to BASIC or SPNEGO. All of these schemes
>> exclusively use Authorization headers for sending credentials from
>> clients to servers. That way, authorization is kept orthogonal from
>> the servers API.
>> Advantages:
>> + APIs can be combined with different authentication schemes
>> + Libraries can be plugged in and easily add authorization data
>> + no name clashes with API parameters
>> + can be combined with any HTTP method
>>
>> It's ok with me if someone wants to send tokens as Query/Body
>> Parameters. But then the token parameter becomes a part of the
>> resource servers API. Why standardizing that?
>>
>> =A0From a security standpoint, sending tokens as query parameter is
>> problematic since their are many ways to leak them. Servers typically
>> log target URLs in default configurations, GET request URLs are stored
>> in browser caches and proxies. And what about Referer-Headers?
>>
>> When we adopted OAuth 1.0a, the fact that OAuth 1.0a supported three
>> different ways of sending tokens caused a lot of confusion. What type
>> is supported by what resource server? Do we need to support all of
>> them or a sub set? e.t.c.
>>
>> So IMHO removing 5.1.2 and 5.1.3 would make the standard much simpler
>> and easier to understand/implement/use.
>>
>> Moreover, it should save at least 2 pages.
>>
>> - I would like to suggest to change section ordering (5-7) in order to
>> facilitate readability. From my point of view, the major contribution
>> of the OAuth HTTP authentication scheme is the definition of the
>> Authorization headers syntax (and semantics). Why not putting this in
>> front? Further on, the natural counter part of the Authorization
>> header is the WWW-Authenticate header since it is used to advertise
>> important properties of the authentication scheme to clients. So I
>> would suggest to describe it afterwards.
>>
>> Based on this considerations, I would suggest the following structure
>> (just a sketch):
>>
>> 4 (was 7) Authorization Header
>> =A0 description of both variants
>> =A0 =A0token only
>> =A0 =A0token + signature
>> =A0 5.2.1 Computing the signature
>> =A0 security considerations
>> =A0 =A0e.g. implementations MUST support bearer tokens w/ HTTPS, resourc=
e
>> servers and clients SHOULD use it
>> 5 (was 6) WWW-Authenticate Header
>>
>> I'm willed to contribute a more elaborated proposal if you and the WG
>> agree with the direction I proposed.
>>
>> What do you think?
>>
>> regards,
>> Torsten.
>>
>>
>>
>>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From mscurtescu@google.com  Thu Apr  8 11:04:01 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 612533A685E for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 11:04:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level: 
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oBWGuHEb3dCf for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 11:04:00 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 6864B3A6765 for <oauth@ietf.org>; Thu,  8 Apr 2010 11:03:59 -0700 (PDT)
Received: from kpbe14.cbf.corp.google.com (kpbe14.cbf.corp.google.com [172.25.105.78]) by smtp-out.google.com with ESMTP id o38I3tEt002646 for <oauth@ietf.org>; Thu, 8 Apr 2010 11:03:55 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270749835; bh=xDngqZFpI220eagp+vzXK9P+6vc=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=BNAS0Tg1s+Mr4K0YnEIwTcRTuqcUAGXSObkNnynLtNCX+/eVldiN/14qfFf+n4nq/ Rwwt/RYTv9ab1DufJv9rA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=s8BACpsQmKBfplZIjQNEw3AuO7i8gIe7/ZmzfAb8AQfG4d5mIv/83kvhys7wq7Lk2 htvkvqVTwEqSv607Xii2g==
Received: from pwj3 (pwj3.prod.google.com [10.241.219.67]) by kpbe14.cbf.corp.google.com with ESMTP id o38I3ERV031240 for <oauth@ietf.org>; Thu, 8 Apr 2010 11:03:54 -0700
Received: by pwj3 with SMTP id 3so2069152pwj.8 for <oauth@ietf.org>; Thu, 08 Apr 2010 11:03:54 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.248.18 with HTTP; Thu, 8 Apr 2010 11:03:34 -0700 (PDT)
In-Reply-To: <C7E2C200.31ED3%eran@hueniverse.com>
References: <j2t12aab3571004072023k44ca6037o7d5ab993eac1a88b@mail.gmail.com>  <C7E2C200.31ED3%eran@hueniverse.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 8 Apr 2010 11:03:34 -0700
Received: by 10.141.110.4 with SMTP id n4mr730949rvm.261.1270749834152; Thu,  08 Apr 2010 11:03:54 -0700 (PDT)
Message-ID: <o2z74caaad21004081103s7062d111l4534f92377e4dc92@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Consistency across access token replies
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 18:04:01 -0000

On Wed, Apr 7, 2010 at 11:13 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> My point is simple. *Server* should be allowed to include a refresh token
> with every access token issued. It is already optional everywhere it is
> included. What I suggested is to allow it to be optional everywhere.
>
> If the server doesn't support refresh tokens for some flows, it should
> simply not provide one. Its a deployment decision. Nowhere in the spec can
> the client demand it so this is purely a server deployment decision.
>
> If my server supports refresh tokens in the client credentials flow or
> assertion flow, it should be allowed to issue one. What is the gain from
> forbidding it? The gain from allowing it (as optional) is consistency and
> simplicity. What's the gain from not letting servers decide?

Would it make sense to allow the client to explicitly request a
refresh token and potentially have one returned only in this case?

If the client will not use a refresh token then by telling this to the
authorization server both security and load on the server are
improved. Managing these tokens on the server is quite expensive. If
some implementation of the User-Agent flow, for example, cannot use
these refresh tokens then it would be much preferred to not even send
them back.

Marius

From atom@yahoo-inc.com  Thu Apr  8 11:29:19 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A386A3A696D for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 11:29:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.107
X-Spam-Level: 
X-Spam-Status: No, score=-14.107 tagged_above=-999 required=5 tests=[AWL=-0.794, BAYES_00=-2.599, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, MIME_QP_LONG_LINE=1.396, SARE_OBFU_AMP2B=2.555,  USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id C1jN0tLPFsLy for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 11:29:14 -0700 (PDT)
Received: from mrout1-b.corp.re1.yahoo.com (mrout1-b.corp.re1.yahoo.com [69.147.107.20]) by core3.amsl.com (Postfix) with ESMTP id 737B73A6930 for <oauth@ietf.org>; Thu,  8 Apr 2010 11:29:12 -0700 (PDT)
Received: from SNV-EXPF01.ds.corp.yahoo.com (snv-expf01.ds.corp.yahoo.com [207.126.227.250]) by mrout1-b.corp.re1.yahoo.com (8.13.8/8.13.8/y.out) with ESMTP id o38ISVZs056424; Thu, 8 Apr 2010 11:28:32 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:cc:message-id: thread-topic:thread-index:in-reply-to:mime-version:content-type: return-path:x-originalarrivaltime; b=onuRclgLzlXen0BhH0gLr2LEttEzSUvdp6FO0Qmfl6KxL3ANcI/XP6LiMDUqdije
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXPF01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.3959);  Thu, 8 Apr 2010 11:28:31 -0700
Received: from 10.72.168.82 ([10.72.168.82]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.60]) with Microsoft Exchange Server HTTP-DAV ; Thu,  8 Apr 2010 18:27:43 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Thu, 08 Apr 2010 11:27:42 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, Richard Barnes <rbarnes@bbn.com>,  Dick Hardt <dick.hardt@gmail.com>
Message-ID: <C7E36E2E.2A441%atom@yahoo-inc.com>
Thread-Topic: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
Thread-Index: AcrWvMoG4vV7aOOBTgC4xD/VrBwIfQAJNNfmABnj4wM=
In-Reply-To: <C7E2C06F.31ED0%eran@hueniverse.com>
Mime-version: 1.0
Content-type: multipart/alternative; boundary="B_3353570862_2888681"
X-OriginalArrivalTime: 08 Apr 2010 18:28:31.0289 (UTC) FILETIME=[4A510A90:01CAD749]
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 18:29:19 -0000

> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3353570862_2888681
Content-type: text/plain;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

Using a bearer token without a signature over HTTP is not equivalent to HTT=
P
Basic Auth in the clear.

A bearer token is far less powerful than the user=B9s password.  In most
cases, a MITM who steals the user=B9s password would be able to change the
user=B9s password, locking the user out his account. Passwords are not scoped
and allow full access to the user=B9s account.

A bearer token (for all reasonable implementations) would never let the
holder change the user=B9s password. Although we have not standardized on the
concept of scope, presumably, many implementers will issue Access Tokens
that do not grant access to the entirety of the user=B9 account.

Another important difference between OAuth2 Access Tokens and HTTP Basic
Auth is that Access Tokens can have a limited lifetime, so a MITM would onl=
y
be able to hijack an Access Token for a short duration.

My recommendation is that the spec recommend that Service Providers use
HTTPS for enhanced security, however in the cases where using HTTPS is not
feasible or desirable, Services Providers should do one or more of the
following:

1. Issue access tokens that are less powerful than the user=B9s password
2. Use signatures=20
3. Issue access tokens with a short lifetime, and use the Refresh workflow

Allen




On 4/7/10 11:06 PM, "Eran Hammer-Lahav" <eran@hueniverse.com> wrote:

> How about something like this:
>=20
> When accessing resources using the http URI scheme, clients SHOULD NOT us=
e and
> servers SHOULD NOT accept bearer token requests (unsigned requests) as su=
ch a
> request is equal to sending unprotected credentials in the clear. Instead=
,
> clients SHOULD obtain and utilize an access token with a matching secret =
by
> sending a signed request. Servers MUST accept signed requests for protect=
ed
> resources using the http URI scheme.
>=20
> EHL
>=20
> =20
>=20
>=20
> On 4/7/10 6:42 PM, "Richard Barnes" <rbarnes@bbn.com> wrote:
>=20
>> You guys are both right: The recommendation I made before is basically
>> saying that you SHOULD only use tokens without signing on HTTPS
>> resources.
>>=20
>> --Richard
>>=20
>>=20
>> On Apr 7, 2010, at 9:24 PM, Dick Hardt wrote:
>>=20
>>> > Eran
>>> >
>>> > Richard and Lief are describing the same point we had in the past
>>> > where Peter surmised the discussion that an *implementation* MUST
>>> > support TLS is required for bearer tokens to be compliant, and that
>>> > TLS is recommended for *deployment*
>>> >
>>> > -- Dick
>>> >
>>> > On 2010-04-07, at 4:21 PM, Eran Hammer-Lahav wrote:
>>> >
>>>> >> We are looking at this all wrong.
>>>> >>
>>>> >> There are two kinds of protected resources OAuth supports:
>>>> >>
>>>> >> * http://
>>>> >> * https://
>>>> >>
>>>> >> OAuth provides two kinds of token authentication modes:
>>>> >>
>>>> >> * bearer token
>>>> >> * token + signature
>>>> >>
>>>> >> I don't know how to translate your statement below into text I can
>>>> >> put in
>>>> >> the draft to answer:
>>>> >>
>>>> >> When you access/serve an http:// protected resource you do what?
>>>> >> When you access/serve an https:// protected resource you do what?
>>>> >>
>>>> >> It is not about requiring SSL for bearer token. It is about what yo=
u
>>>> >> can/should do when accessing an http:// resource.
>>>> >>
>>>> >> EHL
>>>> >>
>>>> >> On 4/7/10 7:09 AM, "Richard Barnes" <rbarnes@bbn.com> wrote:
>>>> >>
>>>>> >>> To re-iterate and clarify Leif's second point, I would be in favo=
r
>>>>> >>> of
>>>>> >>> making TLS:
>>>>> >>>
>>>>> >>> -- REQUIRED for implementations to support (=3D=3D MUST)
>>>>> >>> -- RECOMMENDED for deployments to use (=3D=3D SHOULD)
>>>>> >>>
>>>>> >>> This a pretty universal pattern in IETF protocols.
>>>>> >>>
>>>>> >>> --Richard
>>>>> >>>
>>>>> >>>
>>>>> >>> On Apr 7, 2010, at 7:20 AM, Leif Johansson wrote:
>>>>> >>>
>>>>>> >>>>
>>>>>>> >>>>> Go implement whatever you want. But the spec should set the
>>>>>>> >>>>> highest
>>>>>>> >>>>> practical bar it can, and requiring HTTPS is trivial.
>>>>>>> >>>>>
>>>>>>> >>>>> As a practical note, if the WG reaches consensus to drop the =
MUST,
>>>>>>> >>>>> I would
>>>>>>> >>>>> ask the chairs to ask the security area and IESG to provide
>>>>>>> >>>>> guidance whether
>>>>>>> >>>>> they would approve such document. The IESG did not approve OA=
uth
>>>>>>> >>>>> 1.0a for
>>>>>>> >>>>> publication as an RFC until this was changed to a MUST (for
>>>>>>> >>>>> PLAINTEXT) among
>>>>>>> >>>>> other comments, and that with a strong warning.
>>>>>>> >>>>>
>>>>>>> >>>>> There is also an on going effort to improve cookie security. =
Do we
>>>>>>> >>>>> really
>>>>>>> >>>>> want OAuth to become the next weakest link?
>>>>>> >>>>
>>>>>> >>>> I emphatically agree.
>>>>>> >>>>
>>>>>> >>>> I suspect that a lot of confusion on this thread is caused by
>>>>>> >>>> confusing implementation requirements with deployment requireme=
nts
>>>>>> >>>> btw.
>>>>>> >>>>
>>>>>> >>>>     Cheers Leif
>>>>>> >>>> _______________________________________________
>>>>>> >>>> OAuth mailing list
>>>>>> >>>> OAuth@ietf.org
>>>>>> >>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>> >>>
>>>>> >>> _______________________________________________
>>>>> >>> OAuth mailing list
>>>>> >>> OAuth@ietf.org
>>>>> >>> https://www.ietf.org/mailman/listinfo/oauth
>>>>> >>>
>>>> >>
>>>> >> _______________________________________________
>>>> >> OAuth mailing list
>>>> >> OAuth@ietf.org
>>>> >> https://www.ietf.org/mailman/listinfo/oauth
>>> >
>>=20
>>=20
>=20
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


--B_3353570862_2888681
Content-type: text/html;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] HTTPS requirement for using an Access Token without s=
ignatures</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:11pt=
'>Using a bearer token without a signature over HTTP is not equivalent to HT=
TP Basic Auth in the clear. <BR>
<BR>
A bearer token is far less powerful than the user&#8217;s password. &nbsp;I=
n most cases, a MITM who steals the user&#8217;s password would be able to c=
hange the user&#8217;s password, locking the user out his account. Passwords=
 are not scoped and allow full access to the user&#8217;s account.<BR>
<BR>
A bearer token (for all reasonable implementations) would never let the hol=
der change the user&#8217;s password. Although we have not standardized on t=
he concept of scope, presumably, many implementers will issue Access Tokens =
that do not grant access to the entirety of the user&#8217; account.<BR>
<BR>
Another important difference between OAuth2 Access Tokens and HTTP Basic Au=
th is that Access Tokens can have a limited lifetime, so a MITM would only b=
e able to hijack an Access Token for a short duration. <BR>
<BR>
My recommendation is that the spec recommend that Service Providers use HTT=
PS for enhanced security, however in the cases where using HTTPS is not feas=
ible or desirable, Services Providers should do one or more of the following=
:<BR>
<BR>
</SPAN></FONT><OL><LI><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN=
 STYLE=3D'font-size:11pt'>Issue access tokens that are less powerful than the =
user&#8217;s password
</SPAN></FONT><LI><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STY=
LE=3D'font-size:11pt'>Use signatures
</SPAN></FONT><LI><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STY=
LE=3D'font-size:11pt'>Issue access tokens with a short lifetime, and use the R=
efresh workflow<BR>
</SPAN></FONT></OL><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN ST=
YLE=3D'font-size:11pt'><BR>
Allen<BR>
<BR>
<BR>
<BR>
<BR>
On 4/7/10 11:06 PM, &quot;Eran Hammer-Lahav&quot; &lt;<a href=3D"eran@huenive=
rse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><=
SPAN STYLE=3D'font-size:11pt'>How about something like this:<BR>
<BR>
When accessing resources using the http URI scheme, clients SHOULD NOT use =
and servers SHOULD NOT accept bearer token requests (unsigned requests) as s=
uch a request is equal to sending unprotected credentials in the clear. Inst=
ead, clients SHOULD obtain and utilize an access token with a matching secre=
t by sending a signed request. Servers MUST accept signed requests for prote=
cted resources using the http URI scheme.<BR>
<BR>
EHL<BR>
<BR>
&nbsp;<BR>
<BR>
<BR>
On 4/7/10 6:42 PM, &quot;Richard Barnes&quot; &lt;<a href=3D"rbarnes@bbn.com"=
>rbarnes@bbn.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><=
SPAN STYLE=3D'font-size:11pt'>You guys are both right: The recommendation I ma=
de before is basically <BR>
saying that you SHOULD only use tokens without signing on HTTPS <BR>
resources.<BR>
<BR>
--Richard<BR>
<BR>
<BR>
On Apr 7, 2010, at 9:24 PM, Dick Hardt wrote:<BR>
<BR>
&gt; Eran<BR>
&gt;<BR>
&gt; Richard and Lief are describing the same point we had in the past <BR>
&gt; where Peter surmised the discussion that an *implementation* MUST <BR>
&gt; support TLS is required for bearer tokens to be compliant, and that <B=
R>
&gt; TLS is recommended for *deployment*<BR>
&gt;<BR>
&gt; -- Dick<BR>
&gt;<BR>
&gt; On 2010-04-07, at 4:21 PM, Eran Hammer-Lahav wrote:<BR>
&gt;<BR>
&gt;&gt; We are looking at this all wrong.<BR>
&gt;&gt;<BR>
&gt;&gt; There are two kinds of protected resources OAuth supports:<BR>
&gt;&gt;<BR>
&gt;&gt; * <a href=3D"http://">http://</a><BR>
&gt;&gt; * <a href=3D"https://">https://</a><BR>
&gt;&gt;<BR>
&gt;&gt; OAuth provides two kinds of token authentication modes:<BR>
&gt;&gt;<BR>
&gt;&gt; * bearer token<BR>
&gt;&gt; * token + signature<BR>
&gt;&gt;<BR>
&gt;&gt; I don't know how to translate your statement below into text I can=
 <BR>
&gt;&gt; put in<BR>
&gt;&gt; the draft to answer:<BR>
&gt;&gt;<BR>
&gt;&gt; When you access/serve an <a href=3D"http://">http://</a> protected r=
esource you do what?<BR>
&gt;&gt; When you access/serve an <a href=3D"https://">https://</a> protected=
 resource you do what?<BR>
&gt;&gt;<BR>
&gt;&gt; It is not about requiring SSL for bearer token. It is about what y=
ou<BR>
&gt;&gt; can/should do when accessing an <a href=3D"http://">http://</a> reso=
urce.<BR>
&gt;&gt;<BR>
&gt;&gt; EHL<BR>
&gt;&gt;<BR>
&gt;&gt; On 4/7/10 7:09 AM, &quot;Richard Barnes&quot; &lt;<a href=3D"rbarnes=
@bbn.com">rbarnes@bbn.com</a>&gt; wrote:<BR>
&gt;&gt;<BR>
&gt;&gt;&gt; To re-iterate and clarify Leif's second point, I would be in f=
avor <BR>
&gt;&gt;&gt; of<BR>
&gt;&gt;&gt; making TLS:<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; -- REQUIRED for implementations to support (=3D=3D MUST)<BR>
&gt;&gt;&gt; -- RECOMMENDED for deployments to use (=3D=3D SHOULD)<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; This a pretty universal pattern in IETF protocols.<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; --Richard<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; On Apr 7, 2010, at 7:20 AM, Leif Johansson wrote:<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&gt;&gt; Go implement whatever you want. But the spec should se=
t the <BR>
&gt;&gt;&gt;&gt;&gt; highest<BR>
&gt;&gt;&gt;&gt;&gt; practical bar it can, and requiring HTTPS is trivial.<=
BR>
&gt;&gt;&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&gt;&gt; As a practical note, if the WG reaches consensus to dr=
op the MUST,<BR>
&gt;&gt;&gt;&gt;&gt; I would<BR>
&gt;&gt;&gt;&gt;&gt; ask the chairs to ask the security area and IESG to pr=
ovide<BR>
&gt;&gt;&gt;&gt;&gt; guidance whether<BR>
&gt;&gt;&gt;&gt;&gt; they would approve such document. The IESG did not app=
rove OAuth<BR>
&gt;&gt;&gt;&gt;&gt; 1.0a for<BR>
&gt;&gt;&gt;&gt;&gt; publication as an RFC until this was changed to a MUST=
 (for<BR>
&gt;&gt;&gt;&gt;&gt; PLAINTEXT) among<BR>
&gt;&gt;&gt;&gt;&gt; other comments, and that with a strong warning.<BR>
&gt;&gt;&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&gt;&gt; There is also an on going effort to improve cookie sec=
urity. Do we<BR>
&gt;&gt;&gt;&gt;&gt; really<BR>
&gt;&gt;&gt;&gt;&gt; want OAuth to become the next weakest link?<BR>
&gt;&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&gt; I emphatically agree.<BR>
&gt;&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&gt; I suspect that a lot of confusion on this thread is caused=
 by<BR>
&gt;&gt;&gt;&gt; confusing implementation requirements with deployment requ=
irements<BR>
&gt;&gt;&gt;&gt; btw.<BR>
&gt;&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&gt; &nbsp;&nbsp;&nbsp;&nbsp;Cheers Leif<BR>
&gt;&gt;&gt;&gt; _______________________________________________<BR>
&gt;&gt;&gt;&gt; OAuth mailing list<BR>
&gt;&gt;&gt;&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt;&gt;&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">http=
s://www.ietf.org/mailman/listinfo/oauth</a><BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; _______________________________________________<BR>
&gt;&gt;&gt; OAuth mailing list<BR>
&gt;&gt;&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt;&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://=
www.ietf.org/mailman/listinfo/oauth</a><BR>
&gt;&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; _______________________________________________<BR>
&gt;&gt; OAuth mailing list<BR>
&gt;&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.=
ietf.org/mailman/listinfo/oauth</a><BR>
&gt;<BR>
<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial">=
<SPAN STYLE=3D'font-size:11pt'><BR>
<HR ALIGN=3DCENTER SIZE=3D"3" WIDTH=3D"95%"></SPAN></FONT><FONT SIZE=3D"2"><FONT FA=
CE=3D"Consolas, Courier New, Courier"><SPAN STYLE=3D'font-size:10pt'>___________=
____________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/=
mailman/listinfo/oauth</a><BR>
</SPAN></FONT></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--B_3353570862_2888681--


From gffletch@aol.com  Thu Apr  8 11:31:31 2010
Return-Path: <gffletch@aol.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2E4593A6823 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 11:31:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.298
X-Spam-Level: 
X-Spam-Status: No, score=-1.298 tagged_above=-999 required=5 tests=[AWL=1.300,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QDyk6VXYemUY for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 11:31:24 -0700 (PDT)
Received: from imr-da04.mx.aol.com (imr-da04.mx.aol.com [205.188.105.146]) by core3.amsl.com (Postfix) with ESMTP id 848413A690A for <oauth@ietf.org>; Thu,  8 Apr 2010 11:31:24 -0700 (PDT)
Received: from mtaout-mb01.r1000.mx.aol.com (mtaout-mb01.r1000.mx.aol.com [172.29.41.65]) by imr-da04.mx.aol.com (8.14.1/8.14.1) with ESMTP id o38IUqDe030024; Thu, 8 Apr 2010 14:30:52 -0400
Received: from palantir.local (unknown [10.172.3.77]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mtaout-mb01.r1000.mx.aol.com (MUA/Third Party Client Interface) with ESMTPSA id 9CF89E000081; Thu,  8 Apr 2010 14:30:51 -0400 (EDT)
Message-ID: <4BBE20DA.9050700@aol.com>
Date: Thu, 08 Apr 2010 14:30:50 -0400
From: George Fletcher <gffletch@aol.com>
Organization: AOL LLC
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <C7E344D0.31F1B%eran@hueniverse.com>
In-Reply-To: <C7E344D0.31F1B%eran@hueniverse.com>
Content-Type: multipart/alternative; boundary="------------080309040301050406010100"
x-aol-global-disposition: G
X-AOL-SCOLL-SCORE: 0:2:498926176:93952408  
X-AOL-SCOLL-URL_COUNT: 0  
x-aol-sid: 3039ac1d29414bbe20db5a43
X-AOL-IP: 10.172.3.77
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization request header
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 18:31:31 -0000

This is a multi-part message in MIME format.
--------------080309040301050406010100
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

On 4/8/10 11:31 AM, Eran Hammer-Lahav wrote:
> Can you share an example of a native application launching an external 
> browser with a protect resource?
Native application = AIM
Protected Resource = User's AIM Mail box

AIM has supported this for a while.
>
> Why can't the end user just login to the browser using normal web 
> login and access the resource?
It's a better user experience to be seamlessly logged in than having to 
reenter credentials.

Thanks,
George
>
> EHL
>
>
> On 4/8/10 7:51 AM, "Anthony Nadalin" <tonynad@microsoft.com> wrote:
>
>     > Why is the native application launching a browser with a
>     protected resource request? That seems odd.
>
>     Not odd at all a lot of the Eclipse applications can work this way
>
>
>     *From:* oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] *On
>     Behalf Of *Eran Hammer-Lahav
>     *Sent:* Thursday, April 08, 2010 7:41 AM
>     *To:* George Fletcher; OAuth WG
>     *Cc:* Jonathan Moore
>     *Subject:* Re: [OAUTH-WG] Limiting signed requests to use the
>     Authorization request header
>
>     Why is the native application launching a browser with a protected
>     resource request? That seems odd.
>
>     Note that we currently have no plans of supporting signatures in
>     any of the flows. We are discussing signatures only for using
>     tokens with secrets when accessing protected resources.
>
>     EHL
>
>
>     On 4/8/10 7:08 AM, "George Fletcher" <gffletch@aol.com> wrote:
>     Another use case is where a rich client wants to bootstrap a web
>     session with the same identity (rich client to web SSO). Assuming
>     that the web session will be established via OAuth with
>     signatures, there is no way to fire up the browser with a "signed
>     URL" if the OAuth parameters and signature need to be in a header.
>
>     As Jon mentions, the concept of allowing a service to create a
>     signed URL and then pass it back to JS running in the browser, or
>     invoking a browser directly is something that we leverage a lot
>     across our rich clients and web applications.
>
>     I realize that these sorts of use cases are trivial if
>     establishment of the SSO session switches from a signed mechanism
>     to the OAuth WRAP bearer token model. The one nice feature of the
>     signed URL is that it is one time use where the bearer token can
>     be replayed multiple times.
>
>     Thanks,
>     George
>
>     Real world use case. Login into the latest AIM client. Click the
>     mail icon/link.
>
>
>     On 3/31/10 7:25 AM, Moore, Jonathan wrote:
>
>     What about a use case where the signature will be generated by one
>     component but the request will be redeemed by another?
>
>     For example, suppose there is a cross-domain JSONP call that
>     requires authorization; in this case, I might have my client side
>     code hit *my* origin server, obtain a signed URL, and then redeem
>     it by hitting the JSONP resource. This has scaling advantages over
>     having my origin proxy an OAuth request, and doesn't require me to
>     have keys located on the client; I can keep them safely in my data
>     centers.
>
>     In this case, sending a "ready to redeem" signed request using the
>     query parameter mechanism simplifies the client-side code.
>     Furthermore, in this use case (cross-domain script inclusion), the
>     client doesn't have the means to set the Authorization header (it
>     can only include a <script> element with a URL).
>
>     A similar use case would be if you wanted to provide signed
>     redirects (similarly useful for cross-domain functionality);
>     browsers aren't going to modify the redirect URL they get back, or
>     add an Authorization header to it.
>
>     Jon
>     ........
>     Jon Moore
>     Comcast Interactive Media
>
>
>
>     -----Original Message-----
>     From: oauth-bounces@ietf.org on behalf of Eran Hammer-Lahav
>     Sent: Wed 3/31/2010 12:20 AM
>     To: OAuth WG
>     Subject: [OAUTH-WG] Limiting signed requests to use the
>     Authorizationrequest header
>
>     Since we have consensus that using signed requests is a more
>     advance use
>     case and will be used by more experienced developer, I would like
>     to suggest
>     we limit sending signed request parameters to the Authorization
>     header (no
>     URI query parameters or form-encoded body).
>
>     This will not change the ability to send the oauth_token parameter
>     in the
>     query or body when using bearer tokens (as well as in the header).
>     It will
>     only apply to sending signed requests.
>
>     The makes client request parameter much simpler as the only parameter
>     "invading" the URI or body space of the request is oauth_token.
>     Anything
>     else is limited to the header.
>
>     Thoughts? If you are not a fan, please reply with a use case.
>
>     EHL
>
>     _______________________________________________
>     OAuth mailing list
>     OAuth@ietf.org
>     https://www.ietf.org/mailman/listinfo/oauth
>
>     _______________________________________________
>     OAuth mailing list
>     OAuth@ietf.org
>     https://www.ietf.org/mailman/listinfo/oauth
>
>
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    

--------------080309040301050406010100
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
On 4/8/10 11:31 AM, Eran Hammer-Lahav wrote:
<blockquote cite="mid:C7E344D0.31F1B%25eran@hueniverse.com" type="cite">
  <title>Re: [OAUTH-WG] Limiting signed requests to use the
Authorization request header</title>
  <font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;">Can you share an example of a native
application launching an external browser with a protect resource?<br>
  </span></font></blockquote>
Native application = AIM<br>
Protected Resource = User's AIM Mail box<br>
<br>
AIM has supported this for a while.<br>
<blockquote cite="mid:C7E344D0.31F1B%25eran@hueniverse.com" type="cite"><font
 face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;"><br>
Why can&#8217;t the end user just login to the browser using normal web login
and access the resource?<br>
  </span></font></blockquote>
It's a better user experience to be seamlessly logged in than having to
reenter credentials.<br>
<br>
Thanks,<br>
George<br>
<blockquote cite="mid:C7E344D0.31F1B%25eran@hueniverse.com" type="cite"><font
 face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;"><br>
EHL<br>
  <br>
  <br>
On 4/8/10 7:51 AM, "Anthony Nadalin" &lt;<a moz-do-not-send="true"
 href="tonynad@microsoft.com">tonynad@microsoft.com</a>&gt; wrote:<br>
  <br>
  </span></font>
  <blockquote><font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;"><font color="#1f497d">&gt;</font> Why is the
native application launching a browser with a protected resource
request? That seems odd.<br>
&nbsp;<br>
Not odd at all a lot of the Eclipse applications can work this way<br>
    <font color="#1f497d"> <br>
    </font><br>
    </span></font><font size="2"><font
 face="Tahoma, Verdana, Helvetica, Arial"><span style="font-size: 10pt;"><b>From:</b>
    <a moz-do-not-send="true" href="oauth-bounces@ietf.org">oauth-bounces@ietf.org</a>
[<a moz-do-not-send="true" href="mailto:oauth-bounces@ietf.org">mailto:oauth-bounces@ietf.org</a>]
    <b>On Behalf Of </b>Eran Hammer-Lahav<br>
    <b>Sent:</b> Thursday, April 08, 2010 7:41 AM<br>
    <b>To:</b> George Fletcher; OAuth WG<br>
    <b>Cc:</b> Jonathan Moore<br>
    <b>Subject:</b> Re: [OAUTH-WG] Limiting signed requests to use the
Authorization request header<br>
    </span></font></font><font face="Times New Roman"><span
 style="font-size: 12pt;"> <br>
    </span></font><font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;">Why is the native application launching a
browser with a protected resource request? That seems odd.<br>
    <br>
Note that we currently have no plans of supporting signatures in any of
the flows. We are discussing signatures only for using tokens with
secrets when accessing protected resources.<br>
    <br>
EHL<br>
    <br>
    <br>
On 4/8/10 7:08 AM, "George Fletcher" &lt;<a moz-do-not-send="true"
 href="gffletch@aol.com">gffletch@aol.com</a>&gt; wrote:<br>
    </span></font><span style="font-size: 11pt;"><font
 face="Helvetica, Verdana, Arial">Another use case is where a rich
client wants to bootstrap a web session with the same identity (rich
client to web SSO). Assuming that the web session will be established
via OAuth with signatures, there is no way to fire up the browser with
a "signed URL" if the OAuth parameters and signature need to be in a
header.<br>
    <br>
As Jon mentions, the concept of allowing a service to create a signed
URL and then pass it back to JS running in the browser, or invoking a
browser directly is something that we leverage a lot across our rich
clients and web applications.<br>
    <br>
I realize that these sorts of use cases are trivial if establishment of
the SSO session switches from a signed mechanism to the OAuth WRAP
bearer token model. The one nice feature of the signed URL is that it
is one time use where the bearer token can be replayed multiple times.<br>
    <br>
Thanks,<br>
George<br>
    <br>
Real world use case. Login into the latest AIM client. Click the mail
icon/link.<br>
    <br>
    </font><font face="Calibri, Verdana, Helvetica, Arial"><br>
On 3/31/10 7:25 AM, Moore, Jonathan wrote: <br>
    <br>
What about a use case where the signature will be generated by one
component but the request will be redeemed by another?<br>
    <br>
For example, suppose there is a cross-domain JSONP call that requires
authorization; in this case, I might have my client side code hit *my*
origin server, obtain a signed URL, and then redeem it by hitting the
JSONP resource. This has scaling advantages over having my origin proxy
an OAuth request, and doesn't require me to have keys located on the
client; I can keep them safely in my data centers.<br>
    <br>
In this case, sending a "ready to redeem" signed request using the
query parameter mechanism simplifies the client-side code. Furthermore,
in this use case (cross-domain script inclusion), the client doesn't
have the means to set the Authorization header (it can only include a
&lt;script&gt; element with a URL).<br>
    <br>
A similar use case would be if you wanted to provide signed redirects
(similarly useful for cross-domain functionality); browsers aren't
going to modify the redirect URL they get back, or add an Authorization
header to it.<br>
    <br>
Jon<br>
........<br>
Jon Moore<br>
Comcast Interactive Media<br>
    <br>
    <br>
    <br>
-----Original Message-----<br>
From: <a moz-do-not-send="true" href="oauth-bounces@ietf.org">oauth-bounces@ietf.org</a>
on behalf of Eran Hammer-Lahav<br>
Sent: Wed 3/31/2010 12:20 AM<br>
To: OAuth WG<br>
Subject: [OAUTH-WG] Limiting signed requests to use the
Authorizationrequest header<br>
&nbsp;<br>
Since we have consensus that using signed requests is a more advance use<br>
case and will be used by more experienced developer, I would like to
suggest<br>
we limit sending signed request parameters to the Authorization header
(no<br>
URI query parameters or form-encoded body).<br>
    <br>
This will not change the ability to send the oauth_token parameter in
the<br>
query or body when using bearer tokens (as well as in the header). It
will<br>
only apply to sending signed requests.<br>
    <br>
The makes client request parameter much simpler as the only parameter<br>
"invading" the URI or body space of the request is oauth_token. Anything<br>
else is limited to the header.<br>
    <br>
Thoughts? If you are not a fan, please reply with a use case.<br>
    <br>
EHL<br>
    <br>
_______________________________________________<br>
OAuth mailing list<br>
    <a moz-do-not-send="true" href="OAuth@ietf.org">OAuth@ietf.org</a><br>
    <a moz-do-not-send="true"
 href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a><br>
    <br>
_______________________________________________<br>
OAuth mailing list<br>
    <a moz-do-not-send="true" href="OAuth@ietf.org">OAuth@ietf.org</a><br>
    <a moz-do-not-send="true"
 href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a><br>
    <br>
&nbsp;&nbsp;<br>
    </font></span><font face="Times New Roman"><span
 style="font-size: 12pt;"> <br>
    </span></font><font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;"><br>
    </span></font></blockquote>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>
  </pre>
</blockquote>
</body>
</html>

--------------080309040301050406010100--

From sarahfaulkner3@gmail.com  Thu Apr  8 12:43:07 2010
Return-Path: <sarahfaulkner3@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DB2C53A6A05 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 12:43:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6rOHP6Px8EFS for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 12:43:06 -0700 (PDT)
Received: from mail-pz0-f191.google.com (mail-pz0-f191.google.com [209.85.222.191]) by core3.amsl.com (Postfix) with ESMTP id A448A3A6943 for <oauth@ietf.org>; Thu,  8 Apr 2010 12:43:06 -0700 (PDT)
Received: by pzk29 with SMTP id 29so2268012pzk.29 for <oauth@ietf.org>; Thu, 08 Apr 2010 12:43:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=ZHNgZf3NDzYVYPeC2foh5eWapp4G5vzEvwVT12Zam8w=; b=Ibs9i5tnGP9yMkIf4XK3tH3FVuddbXKOQagzxs9LQOolvV0SwaD2YJh4/zDpA+d0xV lKNbHjabBMyIvD/mrF+0h3D1Aa45426MAQOiAXHBoRnPGD2rCct292m3t1vEI++uNeqG BqFD2tZc+Smvl2ZqCieoXxu8yd/jilg9r3wJM=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=toXwPYPI0TNjDALcWqU4vfPo+k/USbbsYYITTiGT2RjYqniUDD4wrReZgbumyL7CJf JrYlxedKugQQsEK8PE3CwvJ/0Og6w0yILNUAo5u19abbMh81pkNbqf8cbOeGSrTSIwwn NF42HUw/B8EXTkjvbftDlqq3lXXPA9GchYy8s=
MIME-Version: 1.0
Received: by 10.143.165.15 with HTTP; Thu, 8 Apr 2010 12:43:00 -0700 (PDT)
In-Reply-To: <C7E2C200.31ED3%eran@hueniverse.com>
References: <j2t12aab3571004072023k44ca6037o7d5ab993eac1a88b@mail.gmail.com> <C7E2C200.31ED3%eran@hueniverse.com>
Date: Thu, 8 Apr 2010 12:43:00 -0700
Received: by 10.143.138.7 with SMTP id q7mr447146wfn.112.1270755780749; Thu,  08 Apr 2010 12:43:00 -0700 (PDT)
Message-ID: <z2t12aab3571004081243n45cadabcz6b119dba98580bee@mail.gmail.com>
From: Sarah Faulkner <sarahfaulkner3@gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=000e0cd5f6fae869c90483bee2a5
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Consistency across access token replies
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 19:43:08 -0000

--000e0cd5f6fae869c90483bee2a5
Content-Type: text/plain; charset=ISO-8859-1

Yes, I don't see a problem with returning the refresh token with every
access token response as long as its optional.

On Wed, Apr 7, 2010 at 11:13 PM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

> My point is simple. *Server* should be allowed to include a refresh token
> with every access token issued. It is already optional everywhere it is
> included. What I suggested is to allow it to be optional everywhere.
>
> If the server doesn't support refresh tokens for some flows, it should
> simply not provide one. Its a deployment decision. Nowhere in the spec can
> the client demand it so this is purely a server deployment decision.
>
> If my server supports refresh tokens in the client credentials flow or
> assertion flow, it should be allowed to issue one. What is the gain from
> forbidding it? The gain from allowing it (as optional) is consistency and
> simplicity. What's the gain from not letting servers decide?
>
> EHL
>
>
> On 4/7/10 8:23 PM, "Sarah Faulkner" <sarahfaulkner3@gmail.com> wrote:
>
> > I think it depends on which profiles we end up with. If we have the web
> and
> > rich client profiles from Dick's WRAP draft plus the JS profile from
> David's
> > draft, I would want to return the refresh token with the first two
> profiles
> > but not with the third. Since our refresh tokens are going to be very
> long
> > lived in most cases (months), I'd like to promote that they are kept
> > server-side. I don't want to return the refresh token to the client in
> the JS
> > profile and have it sent to the server over HTTP or set in a cookie.
> >
> > At the very least, I would like the refresh token return to be optional
> if
> > it's not returned in a server-to-server or to a device that has secure
> > storage.
> >
> > This brings up the question of the device profile -- there are some
> devices
> > (ex. xbox) that have a way to secure the refresh token, there are others
> that
> > do not. It may be good to either allow the device to self-declare (in the
> > request, specifically ask for the refresh token) or allow the provider to
> > optionally return the refresh token based on what they know about the
> device.
> >
> >
> > On Wed, Apr 7, 2010 at 8:05 PM, Dick Hardt <dick.hardt@gmail.com> wrote:
> >> I would envision that the requests from different flows will have a
> different
> >> mode value, which makes them uniquely different requests for the AS.
> >>
> >> I think returning a refresh token when it can't be used will lead to
> >> confusion for Client and AS developers.
> >>
> >> -- Dick
> >>
> >> On 2010-04-07, at 1:51 PM, Eran Hammer-Lahav wrote:
> >>
> >>> Right now most of the flows return the same parameters (access token,
> >>> expiration, refresh token). A few do not return a refresh token. When
> we add
> >>> signatures, we will need to add token secret and algorithm type.
> >>>
> >>> I know there are good reasons why certain flows do not return a refresh
> >>> token but instead rely on the client repeating the request. However,
> there
> >>> is a lot of value in simplicity and consistency in making every request
> >>> return the same parameters.
> >>>
> >>> It will also allow specifying it one time instead of over and over
> again.
> >>>
> >>> Thoughts?
> >>>
> >>> EHL
> >>>
> >>> _______________________________________________
> >>> OAuth mailing list
> >>> OAuth@ietf.org
> >>> https://www.ietf.org/mailman/listinfo/oauth
> >>
> >> _______________________________________________
> >> OAuth mailing list
> >> OAuth@ietf.org
> >> https://www.ietf.org/mailman/listinfo/oauth
> >
> >
>
>

--000e0cd5f6fae869c90483bee2a5
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Yes, I don&#39;t see a problem with returning the refresh token with every =
access token response as long as its optional.<br><br>
<div class=3D"gmail_quote">On Wed, Apr 7, 2010 at 11:13 PM, Eran Hammer-Lah=
av <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com">eran@hueniv=
erse.com</a>&gt;</span> wrote:<br>
<blockquote style=3D"BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex=
; PADDING-LEFT: 1ex" class=3D"gmail_quote">My point is simple. *Server* sho=
uld be allowed to include a refresh token<br>with every access token issued=
. It is already optional everywhere it is<br>
included. What I suggested is to allow it to be optional everywhere.<br><br=
>If the server doesn&#39;t support refresh tokens for some flows, it should=
<br>simply not provide one. Its a deployment decision. Nowhere in the spec =
can<br>
the client demand it so this is purely a server deployment decision.<br><br=
>If my server supports refresh tokens in the client credentials flow or<br>=
assertion flow, it should be allowed to issue one. What is the gain from<br=
>
forbidding it? The gain from allowing it (as optional) is consistency and<b=
r>simplicity. What&#39;s the gain from not letting servers decide?<br><font=
 color=3D"#888888"><br>EHL<br></font>
<div>
<div></div>
<div class=3D"h5"><br><br>On 4/7/10 8:23 PM, &quot;Sarah Faulkner&quot; &lt=
;<a href=3D"mailto:sarahfaulkner3@gmail.com">sarahfaulkner3@gmail.com</a>&g=
t; wrote:<br><br>&gt; I think it depends on which profiles we end up with. =
If we have the web and<br>
&gt; rich client profiles from Dick&#39;s WRAP draft plus the JS profile fr=
om David&#39;s<br>&gt; draft, I would want to return the refresh token with=
 the first two profiles<br>&gt; but not with the third. Since our refresh t=
okens are going to be very long<br>
&gt; lived in most cases (months), I&#39;d like to promote that they are ke=
pt<br>&gt; server-side. I don&#39;t want to return the refresh token to the=
 client in the JS<br>&gt; profile and have it sent to the server over HTTP =
or set in a cookie.<br>
&gt; =A0<br>&gt; At the very least, I would like the refresh token return t=
o be optional if<br>&gt; it&#39;s not returned in a server-to-server or to =
a device that has secure<br>&gt; storage.<br>&gt; =A0<br>&gt; This brings u=
p the question of the device profile -- there are some devices<br>
&gt; (ex. xbox) that have a way to secure the refresh token, there are othe=
rs that<br>&gt; do not. It may be good to either allow the device to self-d=
eclare (in the<br>&gt; request, specifically ask for the refresh token) or =
allow the provider to<br>
&gt; optionally return the refresh token based on what they know about the =
device.<br>&gt;<br>&gt;<br>&gt; On Wed, Apr 7, 2010 at 8:05 PM, Dick Hardt =
&lt;<a href=3D"mailto:dick.hardt@gmail.com">dick.hardt@gmail.com</a>&gt; wr=
ote:<br>
&gt;&gt; I would envision that the requests from different flows will have =
a different<br>&gt;&gt; mode value, which makes them uniquely different req=
uests for the AS.<br>&gt;&gt;<br>&gt;&gt; I think returning a refresh token=
 when it can&#39;t be used will lead to<br>
&gt;&gt; confusion for Client and AS developers.<br>&gt;&gt;<br>&gt;&gt; --=
 Dick<br>&gt;&gt;<br>&gt;&gt; On 2010-04-07, at 1:51 PM, Eran Hammer-Lahav =
wrote:<br>&gt;&gt;<br>&gt;&gt;&gt; Right now most of the flows return the s=
ame parameters (access token,<br>
&gt;&gt;&gt; expiration, refresh token). A few do not return a refresh toke=
n. When we add<br>&gt;&gt;&gt; signatures, we will need to add token secret=
 and algorithm type.<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; I know there are good =
reasons why certain flows do not return a refresh<br>
&gt;&gt;&gt; token but instead rely on the client repeating the request. Ho=
wever, there<br>&gt;&gt;&gt; is a lot of value in simplicity and consistenc=
y in making every request<br>&gt;&gt;&gt; return the same parameters.<br>
&gt;&gt;&gt;<br>&gt;&gt;&gt; It will also allow specifying it one time inst=
ead of over and over again.<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; Thoughts?<br>&g=
t;&gt;&gt;<br>&gt;&gt;&gt; EHL<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; ____________=
___________________________________<br>
&gt;&gt;&gt; OAuth mailing list<br>&gt;&gt;&gt; <a href=3D"mailto:OAuth@iet=
f.org">OAuth@ietf.org</a><br>&gt;&gt;&gt; <a href=3D"https://www.ietf.org/m=
ailman/listinfo/oauth" target=3D"_blank">https://www.ietf.org/mailman/listi=
nfo/oauth</a><br>
&gt;&gt;<br>&gt;&gt; _______________________________________________<br>&gt=
;&gt; OAuth mailing list<br>&gt;&gt; <a href=3D"mailto:OAuth@ietf.org">OAut=
h@ietf.org</a><br>&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo=
/oauth" target=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><b=
r>
&gt;<br>&gt;<br><br></div></div></blockquote></div><br>

--000e0cd5f6fae869c90483bee2a5--

From john@jkemp.net  Thu Apr  8 12:45:37 2010
Return-Path: <john@jkemp.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AFE3728C14F for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 12:45:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.265
X-Spam-Level: 
X-Spam-Status: No, score=-2.265 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fA+IEvJ0W-1B for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 12:45:35 -0700 (PDT)
Received: from outbound-mail-01.bluehost.com (cpoproxy1-pub.bluehost.com [69.89.21.11]) by core3.amsl.com (Postfix) with SMTP id E43DD3A6AD8 for <oauth@ietf.org>; Thu,  8 Apr 2010 12:45:31 -0700 (PDT)
Received: (qmail 1531 invoked by uid 0); 8 Apr 2010 19:45:28 -0000
Received: from unknown (HELO box320.bluehost.com) (69.89.31.120) by cpoproxy1.bluehost.com with SMTP; 8 Apr 2010 19:45:28 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=jkemp.net; h=Received:Subject:Mime-Version:Content-Type:From:In-Reply-To:Date:Cc:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=ehpITYAMoguoXnKLO4wWcuYvnrXlkgDPDs/pMCqCaecrd5L780YKkuzNqBQrSUtAoDa0EyhKEVyhneyLZHpne4449iHvqa1knrWjMgJif1SXCB//kFtB8lScme1gN53u;
Received: from c-75-69-14-217.hsd1.vt.comcast.net ([75.69.14.217] helo=[192.168.0.61]) by box320.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from <john@jkemp.net>) id 1NzxfM-0005EQ-6S; Thu, 08 Apr 2010 13:45:28 -0600
Mime-Version: 1.0 (Apple Message framework v1077)
Content-Type: text/plain; charset=windows-1252
From: John Kemp <john@jkemp.net>
In-Reply-To: <C7E36E2E.2A441%atom@yahoo-inc.com>
Date: Thu, 8 Apr 2010 15:45:25 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <84044589-5B2F-4E4A-81BB-6A37543385DB@jkemp.net>
References: <C7E36E2E.2A441%atom@yahoo-inc.com>
To: Allen Tom <atom@yahoo-inc.com>
X-Mailer: Apple Mail (2.1077)
X-Identified-User: {1122:box320.bluehost.com:jkempnet:jkemp.net} {sentby:smtp auth 75.69.14.217 authed with john+jkemp.net}
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 19:45:37 -0000

On Apr 8, 2010, at 2:27 PM, Allen Tom wrote:

> Using a bearer token without a signature over HTTP is not equivalent =
to HTTP Basic Auth in the clear.=20

+1

>=20
> A bearer token is far less powerful than the user=92s password.

s/is/should be/ and I agree ;)

>  In most cases, a MITM who steals the user=92s password would be able =
to change the user=92s password, locking the user out his account. =
Passwords are not scoped and allow full access to the user=92s account.
>=20
> A bearer token (for all reasonable implementations) would never let =
the holder change the user=92s password.

Yes, so we need security considerations that encourage "reasonable" =
implementations.=20

> Although we have not standardized on the concept of scope, presumably, =
many implementers will issue Access Tokens that do not grant access to =
the entirety of the user=92 account.

More will do it if we construct text to encourage them to do so.=20

>=20
> Another important difference between OAuth2 Access Tokens and HTTP =
Basic Auth is that Access Tokens can have a limited lifetime, so a MITM =
would only be able to hijack an Access Token for a short duration.=20
>=20
> My recommendation is that the spec recommend that Service Providers =
use HTTPS for enhanced security, however in the cases where using HTTPS =
is not feasible or desirable, Services Providers should do one or more =
of the following:
>=20
> 	=95 Issue access tokens that are less powerful than the user=92s =
password

Right, apply the principle of least authority =
(http://en.wikipedia.org/wiki/Principle_of_least_privilege). The scope =
of an issued token should be limited to that necessary to complete the =
requested task.=20

> 	=95 Use signatures
> 	=95 Issue access tokens with a short lifetime, and use the =
Refresh workflow

These would be fine security considerations for the specification, if =
they aren't already documented in the security considerations document?=20=


Regards,

- johnk

>=20
> Allen
>=20
>=20
>=20
>=20
> On 4/7/10 11:06 PM, "Eran Hammer-Lahav" <eran@hueniverse.com> wrote:
>=20
>> How about something like this:
>>=20
>> When accessing resources using the http URI scheme, clients SHOULD =
NOT use and servers SHOULD NOT accept bearer token requests (unsigned =
requests) as such a request is equal to sending unprotected credentials =
in the clear. Instead, clients SHOULD obtain and utilize an access token =
with a matching secret by sending a signed request. Servers MUST accept =
signed requests for protected resources using the http URI scheme.
>>=20
>> EHL
>>=20
>> =20
>>=20
>>=20
>> On 4/7/10 6:42 PM, "Richard Barnes" <rbarnes@bbn.com> wrote:
>>=20
>>> You guys are both right: The recommendation I made before is =
basically=20
>>> saying that you SHOULD only use tokens without signing on HTTPS=20
>>> resources.
>>>=20
>>> --Richard
>>>=20
>>>=20
>>> On Apr 7, 2010, at 9:24 PM, Dick Hardt wrote:
>>>=20
>>> > Eran
>>> >
>>> > Richard and Lief are describing the same point we had in the past=20=

>>> > where Peter surmised the discussion that an *implementation* MUST=20=

>>> > support TLS is required for bearer tokens to be compliant, and =
that=20
>>> > TLS is recommended for *deployment*
>>> >
>>> > -- Dick
>>> >
>>> > On 2010-04-07, at 4:21 PM, Eran Hammer-Lahav wrote:
>>> >
>>> >> We are looking at this all wrong.
>>> >>
>>> >> There are two kinds of protected resources OAuth supports:
>>> >>
>>> >> * http://
>>> >> * https://
>>> >>
>>> >> OAuth provides two kinds of token authentication modes:
>>> >>
>>> >> * bearer token
>>> >> * token + signature
>>> >>
>>> >> I don't know how to translate your statement below into text I =
can=20
>>> >> put in
>>> >> the draft to answer:
>>> >>
>>> >> When you access/serve an http:// protected resource you do what?
>>> >> When you access/serve an https:// protected resource you do what?
>>> >>
>>> >> It is not about requiring SSL for bearer token. It is about what =
you
>>> >> can/should do when accessing an http:// resource.
>>> >>
>>> >> EHL
>>> >>
>>> >> On 4/7/10 7:09 AM, "Richard Barnes" <rbarnes@bbn.com> wrote:
>>> >>
>>> >>> To re-iterate and clarify Leif's second point, I would be in =
favor=20
>>> >>> of
>>> >>> making TLS:
>>> >>>
>>> >>> -- REQUIRED for implementations to support (=3D=3D MUST)
>>> >>> -- RECOMMENDED for deployments to use (=3D=3D SHOULD)
>>> >>>
>>> >>> This a pretty universal pattern in IETF protocols.
>>> >>>
>>> >>> --Richard
>>> >>>
>>> >>>
>>> >>> On Apr 7, 2010, at 7:20 AM, Leif Johansson wrote:
>>> >>>
>>> >>>>
>>> >>>>> Go implement whatever you want. But the spec should set the=20
>>> >>>>> highest
>>> >>>>> practical bar it can, and requiring HTTPS is trivial.
>>> >>>>>
>>> >>>>> As a practical note, if the WG reaches consensus to drop the =
MUST,
>>> >>>>> I would
>>> >>>>> ask the chairs to ask the security area and IESG to provide
>>> >>>>> guidance whether
>>> >>>>> they would approve such document. The IESG did not approve =
OAuth
>>> >>>>> 1.0a for
>>> >>>>> publication as an RFC until this was changed to a MUST (for
>>> >>>>> PLAINTEXT) among
>>> >>>>> other comments, and that with a strong warning.
>>> >>>>>
>>> >>>>> There is also an on going effort to improve cookie security. =
Do we
>>> >>>>> really
>>> >>>>> want OAuth to become the next weakest link?
>>> >>>>
>>> >>>> I emphatically agree.
>>> >>>>
>>> >>>> I suspect that a lot of confusion on this thread is caused by
>>> >>>> confusing implementation requirements with deployment =
requirements
>>> >>>> btw.
>>> >>>>
>>> >>>>     Cheers Leif
>>> >>>> _______________________________________________
>>> >>>> OAuth mailing list
>>> >>>> OAuth@ietf.org
>>> >>>> https://www.ietf.org/mailman/listinfo/oauth
>>> >>>
>>> >>> _______________________________________________
>>> >>> OAuth mailing list
>>> >>> OAuth@ietf.org
>>> >>> https://www.ietf.org/mailman/listinfo/oauth
>>> >>>
>>> >>
>>> >> _______________________________________________
>>> >> OAuth mailing list
>>> >> OAuth@ietf.org
>>> >> https://www.ietf.org/mailman/listinfo/oauth
>>> >
>>>=20
>>>=20
>>=20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From torsten@lodderstedt.net  Thu Apr  8 13:10:27 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 671F23A6AA0 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 13:10:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.599
X-Spam-Level: 
X-Spam-Status: No, score=-1.599 tagged_above=-999 required=5 tests=[AWL=0.650,  BAYES_00=-2.599, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id q-01oav7zvch for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 13:10:26 -0700 (PDT)
Received: from smtprelay01.ispgateway.de (smtprelay01.ispgateway.de [80.67.18.43]) by core3.amsl.com (Postfix) with ESMTP id 8DD583A6A93 for <oauth@ietf.org>; Thu,  8 Apr 2010 13:10:25 -0700 (PDT)
Received: from p4fff2a79.dip.t-dialin.net ([79.255.42.121] helo=[127.0.0.1]) by smtprelay01.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1Nzy3Q-00062G-JL; Thu, 08 Apr 2010 22:10:20 +0200
Message-ID: <4BBE382B.3040700@lodderstedt.net>
Date: Thu, 08 Apr 2010 22:10:19 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <C7E336BB.31F09%eran@hueniverse.com>
In-Reply-To: <C7E336BB.31F09%eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on sections 5-7
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 20:10:27 -0000

Am 08.04.2010 16:31, schrieb Eran Hammer-Lahav:
> While I agree that the spec would be much cleaner with only HTTP header
> support, and have tried that approach before, in practice it will cause
> significant adoption problems.
>    

Can you please give details on that? You removed query and post 
parameters for signed requests. Doesn't this cause adoption problems, too?

> I rather add support for query and post parameters (we are really talking
> about a single parameter, oauth_token, outside the HTTP header), and in a
> few year deprecate it in OAuth 3.0. The benefit of these features is that
>    

I didn't argue against passing tokens as parameters. I just said: "don't 
include it in the standard, please". I still don't see any benefit - 
just confusion.

Moreover as I already pointed out, query parameters are dangerous from a 
security standpoint. Do you really want to standardize something like 
that? Or do you want to improve internet security?

> they allow existing browsers to deploy OAuth *today*.
>    

I don't understand this. Would you please give examples? Browsers today 
natively support BASIC/DIGEST/SPNEGO with authorization headers, they 
could do this the same way for OAUTH.

> As for the document structure, it is too early to tell. With OAuth 1.0a I
> ended shuffling the sections in draft -09... The spec has to tell a story.
>    

What does this mean with respect to my proposal?

regards,
Torsten.
> EHL
>
>
> On 4/8/10 1:54 AM, "Torsten Lodderstedt"<torsten@lodderstedt.net>  wrote:
>
>    
>> Hi Eran,
>>
>> since you are re-working sections 5-7 now, I want to address some
>> general issues I see there.
>>
>> - What is the benefit of including "URI Query Parameter" and
>> "Form-Encoded Body Parameter" in the standard? I see OAuth as an HTTP
>> authentication scheme similar to BASIC or SPNEGO. All of these schemes
>> exclusively use Authorization headers for sending credentials from
>> clients to servers. That way, authorization is kept orthogonal from
>> the servers API.
>> Advantages:
>> + APIs can be combined with different authentication schemes
>> + Libraries can be plugged in and easily add authorization data
>> + no name clashes with API parameters
>> + can be combined with any HTTP method
>>
>> It's ok with me if someone wants to send tokens as Query/Body
>> Parameters. But then the token parameter becomes a part of the
>> resource servers API. Why standardizing that?
>>
>>   From a security standpoint, sending tokens as query parameter is
>> problematic since their are many ways to leak them. Servers typically
>> log target URLs in default configurations, GET request URLs are stored
>> in browser caches and proxies. And what about Referer-Headers?
>>
>> When we adopted OAuth 1.0a, the fact that OAuth 1.0a supported three
>> different ways of sending tokens caused a lot of confusion. What type
>> is supported by what resource server? Do we need to support all of
>> them or a sub set? e.t.c.
>>
>> So IMHO removing 5.1.2 and 5.1.3 would make the standard much simpler
>> and easier to understand/implement/use.
>>
>> Moreover, it should save at least 2 pages.
>>
>> - I would like to suggest to change section ordering (5-7) in order to
>> facilitate readability. From my point of view, the major contribution
>> of the OAuth HTTP authentication scheme is the definition of the
>> Authorization headers syntax (and semantics). Why not putting this in
>> front? Further on, the natural counter part of the Authorization
>> header is the WWW-Authenticate header since it is used to advertise
>> important properties of the authentication scheme to clients. So I
>> would suggest to describe it afterwards.
>>
>> Based on this considerations, I would suggest the following structure
>> (just a sketch):
>>
>> 4 (was 7) Authorization Header
>>    description of both variants
>>     token only
>>     token + signature
>>    5.2.1 Computing the signature
>>    security considerations
>>     e.g. implementations MUST support bearer tokens w/ HTTPS, resource
>> servers and clients SHOULD use it
>> 5 (was 6) WWW-Authenticate Header
>>
>> I'm willed to contribute a more elaborated proposal if you and the WG
>> agree with the direction I proposed.
>>
>> What do you think?
>>
>> regards,
>> Torsten.
>>
>>
>>
>>
>>      
>    



From rbarnes@bbn.com  Thu Apr  8 13:58:57 2010
Return-Path: <rbarnes@bbn.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id EFC523A6A59 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 13:58:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.977
X-Spam-Level: 
X-Spam-Status: No, score=-0.977 tagged_above=-999 required=5 tests=[AWL=1.622,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5kQt+9dZGxVF for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 13:58:57 -0700 (PDT)
Received: from smtp.bbn.com (smtp.bbn.com [128.33.1.81]) by core3.amsl.com (Postfix) with ESMTP id CAB7C3A695D for <oauth@ietf.org>; Thu,  8 Apr 2010 13:58:56 -0700 (PDT)
Received: from [128.89.255.198] (port=49394 helo=[192.168.1.46]) by smtp.bbn.com with esmtp (Exim 4.71 (FreeBSD)) (envelope-from <rbarnes@bbn.com>) id 1NzyoN-000BAo-G3; Thu, 08 Apr 2010 16:58:52 -0400
Message-Id: <5156B7B4-DA4F-4E16-8F0B-1156607BD2C0@bbn.com>
From: Richard Barnes <rbarnes@bbn.com>
To: Allen Tom <atom@yahoo-inc.com>
In-Reply-To: <C7E36E2E.2A441%atom@yahoo-inc.com>
Content-Type: text/plain; charset=WINDOWS-1252; format=flowed; delsp=yes
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Apple Message framework v936)
Date: Thu, 8 Apr 2010 16:58:49 -0400
References: <C7E36E2E.2A441%atom@yahoo-inc.com>
X-Mailer: Apple Mail (2.936)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 20:58:58 -0000

The scope argument doesn't really hold any water, since OAuth isn't =20
defining the scope that tokens have -- authorization servers could =20
issue tokens that have the same power as passwords.  Not all =20
implementors are "reasonable" :)

--Richard



On Apr 8, 2010, at 2:27 PM, Allen Tom wrote:

> Using a bearer token without a signature over HTTP is not equivalent =20=

> to HTTP Basic Auth in the clear.
>
> A bearer token is far less powerful than the user=92s password.  In =20=

> most cases, a MITM who steals the user=92s password would be able to =20=

> change the user=92s password, locking the user out his account. =20
> Passwords are not scoped and allow full access to the user=92s =
account.
>
> A bearer token (for all reasonable implementations) would never let =20=

> the holder change the user=92s password. Although we have not =20
> standardized on the concept of scope, presumably, many implementers =20=

> will issue Access Tokens that do not grant access to the entirety of =20=

> the user=92 account.
>
> Another important difference between OAuth2 Access Tokens and HTTP =20
> Basic Auth is that Access Tokens can have a limited lifetime, so a =20
> MITM would only be able to hijack an Access Token for a short =20
> duration.
>
> My recommendation is that the spec recommend that Service Providers =20=

> use HTTPS for enhanced security, however in the cases where using =20
> HTTPS is not feasible or desirable, Services Providers should do one =20=

> or more of the following:
>
> 	=95 Issue access tokens that are less powerful than the user=92s =
password
> 	=95 Use signatures
> 	=95 Issue access tokens with a short lifetime, and use the =
Refresh =20
> workflow
>
> Allen
>
>
>
>
> On 4/7/10 11:06 PM, "Eran Hammer-Lahav" <eran@hueniverse.com> wrote:
>
>> How about something like this:
>>
>> When accessing resources using the http URI scheme, clients SHOULD =20=

>> NOT use and servers SHOULD NOT accept bearer token requests =20
>> (unsigned requests) as such a request is equal to sending =20
>> unprotected credentials in the clear. Instead, clients SHOULD =20
>> obtain and utilize an access token with a matching secret by =20
>> sending a signed request. Servers MUST accept signed requests for =20
>> protected resources using the http URI scheme.
>>
>> EHL
>>
>>
>>
>>
>> On 4/7/10 6:42 PM, "Richard Barnes" <rbarnes@bbn.com> wrote:
>>
>>> You guys are both right: The recommendation I made before is =20
>>> basically
>>> saying that you SHOULD only use tokens without signing on HTTPS
>>> resources.
>>>
>>> --Richard
>>>
>>>
>>> On Apr 7, 2010, at 9:24 PM, Dick Hardt wrote:
>>>
>>> > Eran
>>> >
>>> > Richard and Lief are describing the same point we had in the past
>>> > where Peter surmised the discussion that an *implementation* MUST
>>> > support TLS is required for bearer tokens to be compliant, and =20
>>> that
>>> > TLS is recommended for *deployment*
>>> >
>>> > -- Dick
>>> >
>>> > On 2010-04-07, at 4:21 PM, Eran Hammer-Lahav wrote:
>>> >
>>> >> We are looking at this all wrong.
>>> >>
>>> >> There are two kinds of protected resources OAuth supports:
>>> >>
>>> >> * http://
>>> >> * https://
>>> >>
>>> >> OAuth provides two kinds of token authentication modes:
>>> >>
>>> >> * bearer token
>>> >> * token + signature
>>> >>
>>> >> I don't know how to translate your statement below into text I =20=

>>> can
>>> >> put in
>>> >> the draft to answer:
>>> >>
>>> >> When you access/serve an http:// protected resource you do what?
>>> >> When you access/serve an https:// protected resource you do what?
>>> >>
>>> >> It is not about requiring SSL for bearer token. It is about =20
>>> what you
>>> >> can/should do when accessing an http:// resource.
>>> >>
>>> >> EHL
>>> >>
>>> >> On 4/7/10 7:09 AM, "Richard Barnes" <rbarnes@bbn.com> wrote:
>>> >>
>>> >>> To re-iterate and clarify Leif's second point, I would be in =20
>>> favor
>>> >>> of
>>> >>> making TLS:
>>> >>>
>>> >>> -- REQUIRED for implementations to support (=3D=3D MUST)
>>> >>> -- RECOMMENDED for deployments to use (=3D=3D SHOULD)
>>> >>>
>>> >>> This a pretty universal pattern in IETF protocols.
>>> >>>
>>> >>> --Richard
>>> >>>
>>> >>>
>>> >>> On Apr 7, 2010, at 7:20 AM, Leif Johansson wrote:
>>> >>>
>>> >>>>
>>> >>>>> Go implement whatever you want. But the spec should set the
>>> >>>>> highest
>>> >>>>> practical bar it can, and requiring HTTPS is trivial.
>>> >>>>>
>>> >>>>> As a practical note, if the WG reaches consensus to drop the =20=

>>> MUST,
>>> >>>>> I would
>>> >>>>> ask the chairs to ask the security area and IESG to provide
>>> >>>>> guidance whether
>>> >>>>> they would approve such document. The IESG did not approve =20
>>> OAuth
>>> >>>>> 1.0a for
>>> >>>>> publication as an RFC until this was changed to a MUST (for
>>> >>>>> PLAINTEXT) among
>>> >>>>> other comments, and that with a strong warning.
>>> >>>>>
>>> >>>>> There is also an on going effort to improve cookie security. =20=

>>> Do we
>>> >>>>> really
>>> >>>>> want OAuth to become the next weakest link?
>>> >>>>
>>> >>>> I emphatically agree.
>>> >>>>
>>> >>>> I suspect that a lot of confusion on this thread is caused by
>>> >>>> confusing implementation requirements with deployment =20
>>> requirements
>>> >>>> btw.
>>> >>>>
>>> >>>>     Cheers Leif
>>> >>>> _______________________________________________
>>> >>>> OAuth mailing list
>>> >>>> OAuth@ietf.org
>>> >>>> https://www.ietf.org/mailman/listinfo/oauth
>>> >>>
>>> >>> _______________________________________________
>>> >>> OAuth mailing list
>>> >>> OAuth@ietf.org
>>> >>> https://www.ietf.org/mailman/listinfo/oauth
>>> >>>
>>> >>
>>> >> _______________________________________________
>>> >> OAuth mailing list
>>> >> OAuth@ietf.org
>>> >> https://www.ietf.org/mailman/listinfo/oauth
>>> >
>>>
>>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth


From rbarnes@bbn.com  Thu Apr  8 13:59:11 2010
Return-Path: <rbarnes@bbn.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0036C28C156 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 13:59:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.518
X-Spam-Level: 
X-Spam-Status: No, score=-1.518 tagged_above=-999 required=5 tests=[AWL=1.081,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id r7U-avRaFQMy for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 13:59:10 -0700 (PDT)
Received: from smtp.bbn.com (smtp.bbn.com [128.33.1.81]) by core3.amsl.com (Postfix) with ESMTP id F37A53A6AD8 for <oauth@ietf.org>; Thu,  8 Apr 2010 13:59:09 -0700 (PDT)
Received: from [128.89.255.198] (port=49394 helo=[192.168.1.46]) by smtp.bbn.com with esmtp (Exim 4.71 (FreeBSD)) (envelope-from <rbarnes@bbn.com>) id 1Nzyoa-000BAo-MT; Thu, 08 Apr 2010 16:59:05 -0400
Message-Id: <25FF253D-7FCC-4B86-B349-DA337FDDABBE@bbn.com>
From: Richard Barnes <rbarnes@bbn.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
In-Reply-To: <C7E2C06F.31ED0%eran@hueniverse.com>
Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (Apple Message framework v936)
Date: Thu, 8 Apr 2010 16:59:02 -0400
References: <C7E2C06F.31ED0%eran@hueniverse.com>
X-Mailer: Apple Mail (2.936)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 20:59:11 -0000

That looks fine to me.


On Apr 8, 2010, at 2:06 AM, Eran Hammer-Lahav wrote:

> How about something like this:
>
> When accessing resources using the http URI scheme, clients SHOULD  
> NOT use and servers SHOULD NOT accept bearer token requests  
> (unsigned requests) as such a request is equal to sending  
> unprotected credentials in the clear. Instead, clients SHOULD obtain  
> and utilize an access token with a matching secret by sending a  
> signed request. Servers MUST accept signed requests for protected  
> resources using the http URI scheme.
>
> EHL
>
>
>
>
> On 4/7/10 6:42 PM, "Richard Barnes" <rbarnes@bbn.com> wrote:
>
> You guys are both right: The recommendation I made before is basically
> saying that you SHOULD only use tokens without signing on HTTPS
> resources.
>
> --Richard
>
>
> On Apr 7, 2010, at 9:24 PM, Dick Hardt wrote:
>
> > Eran
> >
> > Richard and Lief are describing the same point we had in the past
> > where Peter surmised the discussion that an *implementation* MUST
> > support TLS is required for bearer tokens to be compliant, and that
> > TLS is recommended for *deployment*
> >
> > -- Dick
> >
> > On 2010-04-07, at 4:21 PM, Eran Hammer-Lahav wrote:
> >
> >> We are looking at this all wrong.
> >>
> >> There are two kinds of protected resources OAuth supports:
> >>
> >> * http://
> >> * https://
> >>
> >> OAuth provides two kinds of token authentication modes:
> >>
> >> * bearer token
> >> * token + signature
> >>
> >> I don't know how to translate your statement below into text I can
> >> put in
> >> the draft to answer:
> >>
> >> When you access/serve an http:// protected resource you do what?
> >> When you access/serve an https:// protected resource you do what?
> >>
> >> It is not about requiring SSL for bearer token. It is about what  
> you
> >> can/should do when accessing an http:// resource.
> >>
> >> EHL
> >>
> >> On 4/7/10 7:09 AM, "Richard Barnes" <rbarnes@bbn.com> wrote:
> >>
> >>> To re-iterate and clarify Leif's second point, I would be in favor
> >>> of
> >>> making TLS:
> >>>
> >>> -- REQUIRED for implementations to support (== MUST)
> >>> -- RECOMMENDED for deployments to use (== SHOULD)
> >>>
> >>> This a pretty universal pattern in IETF protocols.
> >>>
> >>> --Richard
> >>>
> >>>
> >>> On Apr 7, 2010, at 7:20 AM, Leif Johansson wrote:
> >>>
> >>>>
> >>>>> Go implement whatever you want. But the spec should set the
> >>>>> highest
> >>>>> practical bar it can, and requiring HTTPS is trivial.
> >>>>>
> >>>>> As a practical note, if the WG reaches consensus to drop the  
> MUST,
> >>>>> I would
> >>>>> ask the chairs to ask the security area and IESG to provide
> >>>>> guidance whether
> >>>>> they would approve such document. The IESG did not approve OAuth
> >>>>> 1.0a for
> >>>>> publication as an RFC until this was changed to a MUST (for
> >>>>> PLAINTEXT) among
> >>>>> other comments, and that with a strong warning.
> >>>>>
> >>>>> There is also an on going effort to improve cookie security.  
> Do we
> >>>>> really
> >>>>> want OAuth to become the next weakest link?
> >>>>
> >>>> I emphatically agree.
> >>>>
> >>>> I suspect that a lot of confusion on this thread is caused by
> >>>> confusing implementation requirements with deployment  
> requirements
> >>>> btw.
> >>>>
> >>>>     Cheers Leif
> >>>> _______________________________________________
> >>>> OAuth mailing list
> >>>> OAuth@ietf.org
> >>>> https://www.ietf.org/mailman/listinfo/oauth
> >>>
> >>> _______________________________________________
> >>> OAuth mailing list
> >>> OAuth@ietf.org
> >>> https://www.ietf.org/mailman/listinfo/oauth
> >>>
> >>
> >> _______________________________________________
> >> OAuth mailing list
> >> OAuth@ietf.org
> >> https://www.ietf.org/mailman/listinfo/oauth
> >
>
>


From john@jkemp.net  Thu Apr  8 14:20:16 2010
Return-Path: <john@jkemp.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DE8CB28C0F3 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 14:20:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.965
X-Spam-Level: 
X-Spam-Status: No, score=-0.965 tagged_above=-999 required=5 tests=[AWL=1.300,  BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ceCcfmf9DuHB for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 14:20:15 -0700 (PDT)
Received: from outbound-mail-01.bluehost.com (cpoproxy1-pub.bluehost.com [69.89.21.11]) by core3.amsl.com (Postfix) with SMTP id 3FDF13A6855 for <oauth@ietf.org>; Thu,  8 Apr 2010 14:20:14 -0700 (PDT)
Received: (qmail 1517 invoked by uid 0); 8 Apr 2010 21:20:09 -0000
Received: from unknown (HELO box320.bluehost.com) (69.89.31.120) by cpoproxy1.bluehost.com with SMTP; 8 Apr 2010 21:20:09 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=jkemp.net; h=Received:Subject:Mime-Version:Content-Type:From:In-Reply-To:Date:Cc:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=bqpu0iGWmG4K4soHV+XYYjnjTKZGw7IGFVV6NudLqeF2bNIqEOW5PhtwuEP5qv+GT5L+u6lqeyX7GoTGI2qoJvUMqaSOztdmjWEwAqrZdoXTd0UCObJwcvcY0F0xII5H;
Received: from cpe-69-205-56-47.nycap.res.rr.com ([69.205.56.47] helo=[192.168.1.103]) by box320.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from <john@jkemp.net>) id 1Nzz8z-0003An-02; Thu, 08 Apr 2010 15:20:09 -0600
Mime-Version: 1.0 (Apple Message framework v1077)
Content-Type: text/plain; charset=windows-1252
From: John Kemp <john@jkemp.net>
In-Reply-To: <5156B7B4-DA4F-4E16-8F0B-1156607BD2C0@bbn.com>
Date: Thu, 8 Apr 2010 17:20:07 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <55A2FE2D-CFBC-48E7-94AA-AA8DCDA7A1F5@jkemp.net>
References: <C7E36E2E.2A441%atom@yahoo-inc.com> <5156B7B4-DA4F-4E16-8F0B-1156607BD2C0@bbn.com>
To: Richard Barnes <rbarnes@bbn.com>
X-Mailer: Apple Mail (2.1077)
X-Identified-User: {1122:box320.bluehost.com:jkempnet:jkemp.net} {sentby:smtp auth 69.205.56.47 authed with john+jkemp.net}
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 21:20:17 -0000

On Apr 8, 2010, at 4:58 PM, Richard Barnes wrote:

> The scope argument doesn't really hold any water, since OAuth isn't =
defining the scope that tokens have -- authorization servers could issue =
tokens that have the same power as passwords.  Not all implementors are =
"reasonable" :)

Indeed, you can't ever stop people doing stupid things.=20

But the "scope argument" (and expiration time) does certainly hold =
water. Bearer tokens that have appropriate limitations on usage are =
well-known to be useful (see one-time use, or time-limited URLs -- for =
confirming email subscriptions, for example). Such conditions on usage =
are useful irrespective of whether you believe that tokens should be =
sent only over SSL/TLS.=20

Regards,

- johnk

>=20
> --Richard
>=20
>=20
>=20
> On Apr 8, 2010, at 2:27 PM, Allen Tom wrote:
>=20
>> Using a bearer token without a signature over HTTP is not equivalent =
to HTTP Basic Auth in the clear.
>>=20
>> A bearer token is far less powerful than the user=92s password.  In =
most cases, a MITM who steals the user=92s password would be able to =
change the user=92s password, locking the user out his account. =
Passwords are not scoped and allow full access to the user=92s account.
>>=20
>> A bearer token (for all reasonable implementations) would never let =
the holder change the user=92s password. Although we have not =
standardized on the concept of scope, presumably, many implementers will =
issue Access Tokens that do not grant access to the entirety of the =
user=92 account.
>>=20
>> Another important difference between OAuth2 Access Tokens and HTTP =
Basic Auth is that Access Tokens can have a limited lifetime, so a MITM =
would only be able to hijack an Access Token for a short duration.
>>=20
>> My recommendation is that the spec recommend that Service Providers =
use HTTPS for enhanced security, however in the cases where using HTTPS =
is not feasible or desirable, Services Providers should do one or more =
of the following:
>>=20
>> 	=95 Issue access tokens that are less powerful than the user=92s =
password
>> 	=95 Use signatures
>> 	=95 Issue access tokens with a short lifetime, and use the =
Refresh workflow
>>=20
>> Allen
>>=20
>>=20
>>=20
>>=20
>> On 4/7/10 11:06 PM, "Eran Hammer-Lahav" <eran@hueniverse.com> wrote:
>>=20
>>> How about something like this:
>>>=20
>>> When accessing resources using the http URI scheme, clients SHOULD =
NOT use and servers SHOULD NOT accept bearer token requests (unsigned =
requests) as such a request is equal to sending unprotected credentials =
in the clear. Instead, clients SHOULD obtain and utilize an access token =
with a matching secret by sending a signed request. Servers MUST accept =
signed requests for protected resources using the http URI scheme.
>>>=20
>>> EHL
>>>=20
>>>=20
>>>=20
>>>=20
>>> On 4/7/10 6:42 PM, "Richard Barnes" <rbarnes@bbn.com> wrote:
>>>=20
>>>> You guys are both right: The recommendation I made before is =
basically
>>>> saying that you SHOULD only use tokens without signing on HTTPS
>>>> resources.
>>>>=20
>>>> --Richard
>>>>=20
>>>>=20
>>>> On Apr 7, 2010, at 9:24 PM, Dick Hardt wrote:
>>>>=20
>>>>> Eran
>>>>>=20
>>>>> Richard and Lief are describing the same point we had in the past
>>>>> where Peter surmised the discussion that an *implementation* MUST
>>>>> support TLS is required for bearer tokens to be compliant, and =
that
>>>>> TLS is recommended for *deployment*
>>>>>=20
>>>>> -- Dick
>>>>>=20
>>>>> On 2010-04-07, at 4:21 PM, Eran Hammer-Lahav wrote:
>>>>>=20
>>>>>> We are looking at this all wrong.
>>>>>>=20
>>>>>> There are two kinds of protected resources OAuth supports:
>>>>>>=20
>>>>>> * http://
>>>>>> * https://
>>>>>>=20
>>>>>> OAuth provides two kinds of token authentication modes:
>>>>>>=20
>>>>>> * bearer token
>>>>>> * token + signature
>>>>>>=20
>>>>>> I don't know how to translate your statement below into text I =
can
>>>>>> put in
>>>>>> the draft to answer:
>>>>>>=20
>>>>>> When you access/serve an http:// protected resource you do what?
>>>>>> When you access/serve an https:// protected resource you do what?
>>>>>>=20
>>>>>> It is not about requiring SSL for bearer token. It is about what =
you
>>>>>> can/should do when accessing an http:// resource.
>>>>>>=20
>>>>>> EHL
>>>>>>=20
>>>>>> On 4/7/10 7:09 AM, "Richard Barnes" <rbarnes@bbn.com> wrote:
>>>>>>=20
>>>>>>> To re-iterate and clarify Leif's second point, I would be in =
favor
>>>>>>> of
>>>>>>> making TLS:
>>>>>>>=20
>>>>>>> -- REQUIRED for implementations to support (=3D=3D MUST)
>>>>>>> -- RECOMMENDED for deployments to use (=3D=3D SHOULD)
>>>>>>>=20
>>>>>>> This a pretty universal pattern in IETF protocols.
>>>>>>>=20
>>>>>>> --Richard
>>>>>>>=20
>>>>>>>=20
>>>>>>> On Apr 7, 2010, at 7:20 AM, Leif Johansson wrote:
>>>>>>>=20
>>>>>>>>=20
>>>>>>>>> Go implement whatever you want. But the spec should set the
>>>>>>>>> highest
>>>>>>>>> practical bar it can, and requiring HTTPS is trivial.
>>>>>>>>>=20
>>>>>>>>> As a practical note, if the WG reaches consensus to drop the =
MUST,
>>>>>>>>> I would
>>>>>>>>> ask the chairs to ask the security area and IESG to provide
>>>>>>>>> guidance whether
>>>>>>>>> they would approve such document. The IESG did not approve =
OAuth
>>>>>>>>> 1.0a for
>>>>>>>>> publication as an RFC until this was changed to a MUST (for
>>>>>>>>> PLAINTEXT) among
>>>>>>>>> other comments, and that with a strong warning.
>>>>>>>>>=20
>>>>>>>>> There is also an on going effort to improve cookie security. =
Do we
>>>>>>>>> really
>>>>>>>>> want OAuth to become the next weakest link?
>>>>>>>>=20
>>>>>>>> I emphatically agree.
>>>>>>>>=20
>>>>>>>> I suspect that a lot of confusion on this thread is caused by
>>>>>>>> confusing implementation requirements with deployment =
requirements
>>>>>>>> btw.
>>>>>>>>=20
>>>>>>>>    Cheers Leif
>>>>>>>> _______________________________________________
>>>>>>>> OAuth mailing list
>>>>>>>> OAuth@ietf.org
>>>>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>>>>=20
>>>>>>> _______________________________________________
>>>>>>> OAuth mailing list
>>>>>>> OAuth@ietf.org
>>>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>>>>=20
>>>>>>=20
>>>>>> _______________________________________________
>>>>>> OAuth mailing list
>>>>>> OAuth@ietf.org
>>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>>=20
>>>>=20
>>>>=20
>>>=20
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From zachary.zeltsan@alcatel-lucent.com  Thu Apr  8 14:24:41 2010
Return-Path: <zachary.zeltsan@alcatel-lucent.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 07DBB28C0E9 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 14:24:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2ZhSuGfN-3dD for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 14:24:40 -0700 (PDT)
Received: from ihemail2.lucent.com (ihemail2.lucent.com [135.245.0.35]) by core3.amsl.com (Postfix) with ESMTP id 13FD128C0E0 for <oauth@ietf.org>; Thu,  8 Apr 2010 14:24:39 -0700 (PDT)
Received: from ihrh1.emsr.lucent.com (h135-1-218-53.lucent.com [135.1.218.53]) by ihemail2.lucent.com (8.13.8/IER-o) with ESMTP id o38LOZOK020405;  Thu, 8 Apr 2010 16:24:35 -0500 (CDT)
Received: from USNAVSXCHHUB02.ndc.alcatel-lucent.com (usnavsxchhub02.ndc.alcatel-lucent.com [135.3.39.111]) by ihrh1.emsr.lucent.com (8.13.8/emsr) with ESMTP id o38LOY0K021399; Thu, 8 Apr 2010 16:24:35 -0500 (CDT)
Received: from USNAVSXCHMBSA3.ndc.alcatel-lucent.com ([135.3.39.126]) by USNAVSXCHHUB02.ndc.alcatel-lucent.com ([135.3.39.111]) with mapi; Thu, 8 Apr 2010 16:24:34 -0500
From: "Zeltsan, Zachary (Zachary)" <zachary.zeltsan@alcatel-lucent.com>
To: "'Torsten Lodderstedt'" <torsten@lodderstedt.net>, "oauth@ietf.org" <oauth@ietf.org>
Date: Thu, 8 Apr 2010 16:24:34 -0500
Thread-Topic: [OAUTH-WG] Access Token Exchange Flow
Thread-Index: AcrVqsFLfkNLj6gbQBC0no3aZL+q9QBsvLFQ
Message-ID: <5710F82C0E73B04FA559560098BF95B124F7A92BF6@USNAVSXCHMBSA3.ndc.alcatel-lucent.com>
References: <w2rc8689b661004051628q729ca3a8s4855be6d7af14a82@mail.gmail.com> <C7E02F03.31D50%eran@hueniverse.com> <m2mc8689b661004060704se500b9f8l76cdc11f79757919@mail.gmail.com> <w2vfd6741651004060753o8f56bf5ct33eb45d8fcf48ce8@mail.gmail.com> <z2tc8689b661004060845m3c2cd76l2937976143541604@mail.gmail.com> <4BBB68BB.4010206@lodderstedt.net>
In-Reply-To: <4BBB68BB.4010206@lodderstedt.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.35
Subject: Re: [OAUTH-WG] Access Token Exchange Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 21:24:41 -0000

Torsten,

I really like this use case. I think it ought to be documented on its own. =
 (But please let me know if you disagree and thing that it is a subset of a=
nother use case.)

I also see potential synergy with the recursive delegation case.=20

For my use-cases draft, I am trying to develop a common template for all us=
e cases.  In a day or two, I am going to send your case described in this t=
emplate to check your opinion.

Zachary

-----Original Message-----
From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of T=
orsten Lodderstedt
Sent: Tuesday, April 06, 2010 1:01 PM
To: oauth@ietf.org
Subject: [OAUTH-WG] Access Token Exchange Flow

Hi all,

here at Deutsche Telekom, we see the need for a flow supporting the=20
exchange of access tokens for one service into access tokens for another=20
service.

The scenarios is as follows: In the context of mobile applications, we=20
employ multi-layered architectures of personalized web services. The=20
first layer typically exposes an API optimized for the flows of a=20
particular application. This layer's business logic is built on top of=20
other web services and so on. We use self-contained bearer tokens=20
carrying id's, attributes and permissions. Each of the web services=20
involed has a trust relationship with our authorization server based on=20
shared secrets. Every web service requires a different token with=20
different claims (id, permissions, attributes) and signature (HMAC).

The flow is as follows:

1) The client acquires a token for the first service eather by=20
username/password authentication or web-based authorization flow.

2) The client sends a request (including the access token) to the first=20
web service.

3) Access control and some business logic is executed based on the token=20
contents. Afterwards, the first service determines that it needs
to call another services (second web service) on behalf of the user.

4) It requests the issuance of a new token for the second service from=20
the authorization server based on the original token sent by the client.

5) The authorization server issues a new token carrying the claims need=20
by the second web service and digitally signs the token
with the respective shared secret. It also encrypts the token content in=20
order to prevent the first web service from eavesdropping the users data=20
intended for the second service only.

6) The first web service uses the token to invoke the second web service.

...

Does anyone else see the need for such a flow?

regards,
Torsten.

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

From atom@yahoo-inc.com  Thu Apr  8 14:42:51 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BDB4E3A67F5 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 14:42:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -15.287
X-Spam-Level: 
X-Spam-Status: No, score=-15.287 tagged_above=-999 required=5 tests=[AWL=0.915, BAYES_00=-2.599, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=1.396, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id i-QNhVDpiYYw for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 14:42:43 -0700 (PDT)
Received: from mrout2.yahoo.com (mrout2.yahoo.com [216.145.54.172]) by core3.amsl.com (Postfix) with ESMTP id 879853A688F for <oauth@ietf.org>; Thu,  8 Apr 2010 14:42:43 -0700 (PDT)
Received: from SNV-EXBH01.ds.corp.yahoo.com (snv-exbh01.ds.corp.yahoo.com [207.126.227.249]) by mrout2.yahoo.com (8.13.6/8.13.6/y.out) with ESMTP id o38Lg606033082;  Thu, 8 Apr 2010 14:42:06 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:message-id: thread-topic:thread-index:in-reply-to:mime-version:content-type:x-originalarrivaltime; b=ZEmcN6SMei8yM+tJIuFTtcinjUyq5xiNGeeTkGfIsEOWwyoyloRy9YDkMKQcfBry
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXBH01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.3959);  Thu, 8 Apr 2010 14:42:06 -0700
Received: from 10.72.168.82 ([10.72.168.82]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.60]) with Microsoft Exchange Server HTTP-DAV ; Thu,  8 Apr 2010 21:41:48 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Thu, 08 Apr 2010 14:41:47 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: George Fletcher <gffletch@aol.com>, Eran Hammer-Lahav <eran@hueniverse.com>, OAuth WG <oauth@ietf.org>
Message-ID: <C7E39BAB.2A4B1%atom@yahoo-inc.com>
Thread-Topic: [OAUTH-WG] Limiting signed requests to use the Authorization request header
Thread-Index: AcrXZEnmSkAbq9UwPUe4r5pK+/Q+Tw==
In-Reply-To: <4BBE20DA.9050700@aol.com>
Mime-version: 1.0
Content-type: multipart/alternative; boundary="B_3353582507_3556104"
X-OriginalArrivalTime: 08 Apr 2010 21:42:06.0374 (UTC) FILETIME=[55725C60:01CAD764]
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization request header
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 21:42:51 -0000

> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3353582507_3556104
Content-type: text/plain;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

Yahoo has exactly the same use case.

The user is authenticated into the Yahoo Instant Messenger client
application, and clicks on the Yahoo Mail button to check Yahoo Mail.

Clicking the Mail button spawns a browser window with an authentication
token that is passed to the browser on the URL. The browser submits the
token to Yahoo=B9s authentication server which validates the token, sets
authentication cookies to the browser, and then redirects the browser to
Yahoo Mail.

Allen


On 4/8/10 11:30 AM, "George Fletcher" <gffletch@aol.com> wrote:

> On 4/8/10 11:31 AM, Eran Hammer-Lahav wrote:
>>  Re: [OAUTH-WG] Limiting signed requests to use the Authorization reques=
t
>> header Can you share an example of a native application launching an ext=
ernal
>> browser with a protect resource?
>> =20
> Native application =3D AIM
> Protected Resource =3D User's AIM Mail box
>=20
> AIM has supported this for a while.
>>=20
>> Why can=B9t the end user just login to the browser using normal web login =
and
>> access the resource?
>> =20
> It's a better user experience to be seamlessly logged in than having to
> reenter credentials.
>=20
> Thanks,
> George
>>=20
>> EHL
>> =20
>> =20
>> On 4/8/10 7:51 AM, "Anthony Nadalin" <tonynad@microsoft.com> wrote:
>> =20
>>  =20
>>>> > Why is the native application launching a browser with a protected
>>>> resource request? That seems odd.
>>> =20
>>> Not odd at all a lot of the Eclipse applications can work this way
>>>  =20
>>> =20
>>>  From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf=
 Of
>>> Eran Hammer-Lahav
>>>  Sent: Thursday, April 08, 2010 7:41 AM
>>>  To: George Fletcher; OAuth WG
>>>  Cc: Jonathan Moore
>>>  Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorizat=
ion
>>> request header
>>>  =20
>>>  Why is the native application launching a browser with a protected res=
ource
>>> request? That seems odd.
>>> =20
>>> Note that we currently have no plans of supporting signatures in any of=
 the
>>> flows. We are discussing signatures only for using tokens with secrets =
when
>>> accessing protected resources.
>>> =20
>>> EHL
>>> =20
>>> =20
>>> On 4/8/10 7:08 AM, "George Fletcher" <gffletch@aol.com> wrote:
>>>  Another use case is where a rich client wants to bootstrap a web sessi=
on
>>> with the same identity (rich client to web SSO). Assuming that the web
>>> session will be established via OAuth with signatures, there is no way =
to
>>> fire up the browser with a "signed URL" if the OAuth parameters and
>>> signature need to be in a header.
>>> =20
>>> As Jon mentions, the concept of allowing a service to create a signed U=
RL
>>> and then pass it back to JS running in the browser, or invoking a brows=
er
>>> directly is something that we leverage a lot across our rich clients an=
d web
>>> applications.
>>> =20
>>> I realize that these sorts of use cases are trivial if establishment of=
 the
>>> SSO session switches from a signed mechanism to the OAuth WRAP bearer t=
oken
>>> model. The one nice feature of the signed URL is that it is one time us=
e
>>> where the bearer token can be replayed multiple times.
>>> =20
>>> Thanks,
>>> George
>>> =20
>>> Real world use case. Login into the latest AIM client. Click the mail
>>> icon/link.
>>> =20
>>> =20
>>> On 3/31/10 7:25 AM, Moore, Jonathan wrote:
>>> =20
>>> What about a use case where the signature will be generated by one comp=
onent
>>> but the request will be redeemed by another?
>>> =20
>>> For example, suppose there is a cross-domain JSONP call that requires
>>> authorization; in this case, I might have my client side code hit *my*
>>> origin server, obtain a signed URL, and then redeem it by hitting the J=
SONP
>>> resource. This has scaling advantages over having my origin proxy an OA=
uth
>>> request, and doesn't require me to have keys located on the client; I c=
an
>>> keep them safely in my data centers.
>>> =20
>>> In this case, sending a "ready to redeem" signed request using the quer=
y
>>> parameter mechanism simplifies the client-side code. Furthermore, in th=
is
>>> use case (cross-domain script inclusion), the client doesn't have the m=
eans
>>> to set the Authorization header (it can only include a <script> element=
 with
>>> a URL).
>>> =20
>>> A similar use case would be if you wanted to provide signed redirects
>>> (similarly useful for cross-domain functionality); browsers aren't goin=
g to
>>> modify the redirect URL they get back, or add an Authorization header t=
o it.
>>> =20
>>> Jon
>>> ........
>>> Jon Moore
>>> Comcast Interactive Media
>>> =20
>>> =20
>>> =20
>>> -----Original Message-----
>>> From: oauth-bounces@ietf.org on behalf of Eran Hammer-Lahav
>>> Sent: Wed 3/31/2010 12:20 AM
>>> To: OAuth WG
>>> Subject: [OAUTH-WG] Limiting signed requests to use the Authorizationre=
quest
>>> header
>>> =20
>>> Since we have consensus that using signed requests is a more advance us=
e
>>> case and will be used by more experienced developer, I would like to su=
ggest
>>> we limit sending signed request parameters to the Authorization header =
(no
>>> URI query parameters or form-encoded body).
>>> =20
>>> This will not change the ability to send the oauth_token parameter in t=
he
>>> query or body when using bearer tokens (as well as in the header). It w=
ill
>>> only apply to sending signed requests.
>>> =20
>>> The makes client request parameter much simpler as the only parameter
>>> "invading" the URI or body space of the request is oauth_token. Anythin=
g
>>> else is limited to the header.
>>> =20
>>> Thoughts? If you are not a fan, please reply with a use case.
>>> =20
>>> EHL
>>> =20
>>> _______________________________________________
>>> OAuth mailing list
>>>  OAuth@ietf.org
>>>  https://www.ietf.org/mailman/listinfo/oauth
>>> =20
>>> _______________________________________________
>>> OAuth mailing list
>>>  OAuth@ietf.org
>>>  https://www.ietf.org/mailman/listinfo/oauth
>>> =20
>>>  =20
>>>  =20
>>> =20
>>> =20
>> =20
>>=20
>>=20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>  =20
>=20
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


--B_3353582507_3556104
Content-type: text/html;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Limiting signed requests to use the Authorization req=
uest header</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:11pt=
'>Yahoo has exactly the same use case.<BR>
<BR>
The user is authenticated into the Yahoo Instant Messenger client applicati=
on, and clicks on the Yahoo Mail button to check Yahoo Mail. <BR>
<BR>
Clicking the Mail button spawns a browser window with an authentication tok=
en that is passed to the browser on the URL. The browser submits the token t=
o Yahoo&#8217;s authentication server which validates the token, sets authen=
tication cookies to the browser, and then redirects the browser to Yahoo Mai=
l.<BR>
<BR>
Allen<BR>
<BR>
<BR>
On 4/8/10 11:30 AM, &quot;George Fletcher&quot; &lt;<a href=3D"gffletch@aol.c=
om">gffletch@aol.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><=
SPAN STYLE=3D'font-size:11pt'>On 4/8/10 11:31 AM, Eran Hammer-Lahav wrote: <BR=
>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><=
SPAN STYLE=3D'font-size:11pt'> Re: [OAUTH-WG] Limiting signed requests to use =
the Authorization request header Can you share an example of a native applic=
ation launching an external browser with a protect resource?<BR>
&nbsp;<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial">=
<SPAN STYLE=3D'font-size:11pt'>Native application =3D AIM<BR>
Protected Resource =3D User's AIM Mail box<BR>
<BR>
AIM has supported this for a while.<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><=
SPAN STYLE=3D'font-size:11pt'><BR>
Why can&#8217;t the end user just login to the browser using normal web log=
in and access the resource?<BR>
&nbsp;<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial">=
<SPAN STYLE=3D'font-size:11pt'>It's a better user experience to be seamlessly =
logged in than having to reenter credentials.<BR>
<BR>
Thanks,<BR>
George<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><=
SPAN STYLE=3D'font-size:11pt'><BR>
EHL<BR>
&nbsp;<BR>
&nbsp;<BR>
On 4/8/10 7:51 AM, &quot;Anthony Nadalin&quot; &lt;<a href=3D"tonynad@microso=
ft.com">tonynad@microsoft.com</a>&gt; wrote:<BR>
&nbsp;<BR>
&nbsp;&nbsp;<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><=
SPAN STYLE=3D'font-size:11pt'><FONT COLOR=3D"#1F497D">&gt;</FONT> Why is the nat=
ive application launching a browser with a protected resource request? That =
seems odd.<BR>
&nbsp;<BR>
Not odd at all a lot of the Eclipse applications can work this way<BR>
&nbsp;<FONT COLOR=3D"#1F497D"> <BR>
&nbsp;<BR>
</FONT> </SPAN></FONT><FONT SIZE=3D"2"><FONT FACE=3D"Tahoma, Verdana, Helvetica=
, Arial"><SPAN STYLE=3D'font-size:10pt'><B>From:</B> <a href=3D"oauth-bounces@ie=
tf.org">oauth-bounces@ietf.org</a> [<a href=3D"mailto:oauth-bounces@ietf.org">=
mailto:oauth-bounces@ietf.org</a>] <B>On Behalf Of </B>Eran Hammer-Lahav<BR>
&nbsp;<B>Sent:</B> Thursday, April 08, 2010 7:41 AM<BR>
&nbsp;<B>To:</B> George Fletcher; OAuth WG<BR>
&nbsp;<B>Cc:</B> Jonathan Moore<BR>
&nbsp;<B>Subject:</B> Re: [OAUTH-WG] Limiting signed requests to use the Au=
thorization request header<BR>
&nbsp;</SPAN></FONT></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-s=
ize:12pt'> <BR>
&nbsp;</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN S=
TYLE=3D'font-size:11pt'>Why is the native application launching a browser with=
 a protected resource request? That seems odd.<BR>
&nbsp;<BR>
Note that we currently have no plans of supporting signatures in any of the=
 flows. We are discussing signatures only for using tokens with secrets when=
 accessing protected resources.<BR>
&nbsp;<BR>
EHL<BR>
&nbsp;<BR>
&nbsp;<BR>
On 4/8/10 7:08 AM, &quot;George Fletcher&quot; &lt;<a href=3D"gffletch@aol.co=
m">gffletch@aol.com</a>&gt; wrote:<BR>
&nbsp;</SPAN></FONT><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Helvetica, Ver=
dana, Arial">Another use case is where a rich client wants to bootstrap a we=
b session with the same identity (rich client to web SSO). Assuming that the=
 web session will be established via OAuth with signatures, there is no way =
to fire up the browser with a &quot;signed URL&quot; if the OAuth parameters=
 and signature need to be in a header.<BR>
&nbsp;<BR>
As Jon mentions, the concept of allowing a service to create a signed URL a=
nd then pass it back to JS running in the browser, or invoking a browser dir=
ectly is something that we leverage a lot across our rich clients and web ap=
plications.<BR>
&nbsp;<BR>
I realize that these sorts of use cases are trivial if establishment of the=
 SSO session switches from a signed mechanism to the OAuth WRAP bearer token=
 model. The one nice feature of the signed URL is that it is one time use wh=
ere the bearer token can be replayed multiple times.<BR>
&nbsp;<BR>
Thanks,<BR>
George<BR>
&nbsp;<BR>
Real world use case. Login into the latest AIM client. Click the mail icon/=
link.<BR>
&nbsp;<BR>
&nbsp;<BR>
</FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial">On 3/31/10 7:25 AM, =
Moore, Jonathan wrote: <BR>
&nbsp;<BR>
What about a use case where the signature will be generated by one componen=
t but the request will be redeemed by another?<BR>
&nbsp;<BR>
For example, suppose there is a cross-domain JSONP call that requires autho=
rization; in this case, I might have my client side code hit *my* origin ser=
ver, obtain a signed URL, and then redeem it by hitting the JSONP resource. =
This has scaling advantages over having my origin proxy an OAuth request, an=
d doesn't require me to have keys located on the client; I can keep them saf=
ely in my data centers.<BR>
&nbsp;<BR>
In this case, sending a &quot;ready to redeem&quot; signed request using th=
e query parameter mechanism simplifies the client-side code. Furthermore, in=
 this use case (cross-domain script inclusion), the client doesn't have the =
means to set the Authorization header (it can only include a &lt;script&gt; =
element with a URL).<BR>
&nbsp;<BR>
A similar use case would be if you wanted to provide signed redirects (simi=
larly useful for cross-domain functionality); browsers aren't going to modif=
y the redirect URL they get back, or add an Authorization header to it.<BR>
&nbsp;<BR>
Jon<BR>
........<BR>
Jon Moore<BR>
Comcast Interactive Media<BR>
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>
-----Original Message-----<BR>
From: <a href=3D"oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> on behalf=
 of Eran Hammer-Lahav<BR>
Sent: Wed 3/31/2010 12:20 AM<BR>
To: OAuth WG<BR>
Subject: [OAUTH-WG] Limiting signed requests to use the Authorizationreques=
t header<BR>
&nbsp;<BR>
Since we have consensus that using signed requests is a more advance use<BR=
>
case and will be used by more experienced developer, I would like to sugges=
t<BR>
we limit sending signed request parameters to the Authorization header (no<=
BR>
URI query parameters or form-encoded body).<BR>
&nbsp;<BR>
This will not change the ability to send the oauth_token parameter in the<B=
R>
query or body when using bearer tokens (as well as in the header). It will<=
BR>
only apply to sending signed requests.<BR>
&nbsp;<BR>
The makes client request parameter much simpler as the only parameter<BR>
&quot;invading&quot; the URI or body space of the request is oauth_token. A=
nything<BR>
else is limited to the header.<BR>
&nbsp;<BR>
Thoughts? If you are not a fan, please reply with a use case.<BR>
&nbsp;<BR>
EHL<BR>
&nbsp;<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
&nbsp;<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&nbsp;<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.iet=
f.org/mailman/listinfo/oauth</a><BR>
&nbsp;<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
&nbsp;<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&nbsp;<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.iet=
f.org/mailman/listinfo/oauth</a><BR>
&nbsp;<BR>
&nbsp;&nbsp;<BR>
&nbsp;</FONT></SPAN><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12p=
t'> <BR>
&nbsp;<BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'=
font-size:11pt'> <BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial">=
<SPAN STYLE=3D'font-size:11pt'> <BR>
<BR>
<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/=
mailman/listinfo/oauth</a><BR>
&nbsp;&nbsp;<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial">=
<SPAN STYLE=3D'font-size:11pt'><BR>
<HR ALIGN=3DCENTER SIZE=3D"3" WIDTH=3D"95%"></SPAN></FONT><FONT SIZE=3D"2"><FONT FA=
CE=3D"Consolas, Courier New, Courier"><SPAN STYLE=3D'font-size:10pt'>___________=
____________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/=
mailman/listinfo/oauth</a><BR>
</SPAN></FONT></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--B_3353582507_3556104--


From rbarnes@bbn.com  Thu Apr  8 14:56:34 2010
Return-Path: <rbarnes@bbn.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B23A128C12B for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 14:56:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.788
X-Spam-Level: 
X-Spam-Status: No, score=-2.788 tagged_above=-999 required=5 tests=[AWL=1.811,  BAYES_00=-2.599, GB_I_LETTER=-2]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XtFKpo-JMjZn for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 14:56:33 -0700 (PDT)
Received: from smtp.bbn.com (smtp.bbn.com [128.33.0.80]) by core3.amsl.com (Postfix) with ESMTP id 77DE73A6897 for <oauth@ietf.org>; Thu,  8 Apr 2010 14:56:33 -0700 (PDT)
Received: from [128.89.255.198] (port=49706 helo=[192.168.1.46]) by smtp.bbn.com with esmtp (Exim 4.71 (FreeBSD)) (envelope-from <rbarnes@bbn.com>) id 1Nzzi8-0001Gy-Q5; Thu, 08 Apr 2010 17:56:29 -0400
Message-Id: <643A3E69-64B5-4738-9B09-85A51FC93FF5@bbn.com>
From: Richard Barnes <rbarnes@bbn.com>
To: John Kemp <john@jkemp.net>
In-Reply-To: <55A2FE2D-CFBC-48E7-94AA-AA8DCDA7A1F5@jkemp.net>
Content-Type: text/plain; charset=WINDOWS-1252; format=flowed; delsp=yes
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Apple Message framework v936)
Date: Thu, 8 Apr 2010 17:56:20 -0400
References: <C7E36E2E.2A441%atom@yahoo-inc.com> <5156B7B4-DA4F-4E16-8F0B-1156607BD2C0@bbn.com> <55A2FE2D-CFBC-48E7-94AA-AA8DCDA7A1F5@jkemp.net>
X-Mailer: Apple Mail (2.936)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] HTTPS requirement for using an Access Token without signatures
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 21:56:34 -0000

Certainly it should be recommended that bearer tokens have limited =20
scope, but because the notion of "limited scope" isn't well-defined, =20
you can't really say that "bearer tokens MUST have limited scope".  =20
When it comes to the *normative* text (i.e., the stuff in capital =20
letters), we need to cover the general case, which requires the "MUST =20=

implement security, SHOULD use security" pattern.  Language about =20
scope is complementary to this.

--Richard



On Apr 8, 2010, at 5:20 PM, John Kemp wrote:

> On Apr 8, 2010, at 4:58 PM, Richard Barnes wrote:
>
>> The scope argument doesn't really hold any water, since OAuth isn't =20=

>> defining the scope that tokens have -- authorization servers could =20=

>> issue tokens that have the same power as passwords.  Not all =20
>> implementors are "reasonable" :)
>
> Indeed, you can't ever stop people doing stupid things.
>
> But the "scope argument" (and expiration time) does certainly hold =20
> water. Bearer tokens that have appropriate limitations on usage are =20=

> well-known to be useful (see one-time use, or time-limited URLs -- =20
> for confirming email subscriptions, for example). Such conditions on =20=

> usage are useful irrespective of whether you believe that tokens =20
> should be sent only over SSL/TLS.
>
> Regards,
>
> - johnk
>
>>
>> --Richard
>>
>>
>>
>> On Apr 8, 2010, at 2:27 PM, Allen Tom wrote:
>>
>>> Using a bearer token without a signature over HTTP is not =20
>>> equivalent to HTTP Basic Auth in the clear.
>>>
>>> A bearer token is far less powerful than the user=92s password.  In =20=

>>> most cases, a MITM who steals the user=92s password would be able to =
=20
>>> change the user=92s password, locking the user out his account. =20
>>> Passwords are not scoped and allow full access to the user=92s =20
>>> account.
>>>
>>> A bearer token (for all reasonable implementations) would never =20
>>> let the holder change the user=92s password. Although we have not =20=

>>> standardized on the concept of scope, presumably, many =20
>>> implementers will issue Access Tokens that do not grant access to =20=

>>> the entirety of the user=92 account.
>>>
>>> Another important difference between OAuth2 Access Tokens and HTTP =20=

>>> Basic Auth is that Access Tokens can have a limited lifetime, so a =20=

>>> MITM would only be able to hijack an Access Token for a short =20
>>> duration.
>>>
>>> My recommendation is that the spec recommend that Service =20
>>> Providers use HTTPS for enhanced security, however in the cases =20
>>> where using HTTPS is not feasible or desirable, Services Providers =20=

>>> should do one or more of the following:
>>>
>>> 	=95 Issue access tokens that are less powerful than the user=92s =
=20
>>> password
>>> 	=95 Use signatures
>>> 	=95 Issue access tokens with a short lifetime, and use the =
Refresh =20
>>> workflow
>>>
>>> Allen
>>>
>>>
>>>
>>>
>>> On 4/7/10 11:06 PM, "Eran Hammer-Lahav" <eran@hueniverse.com> wrote:
>>>
>>>> How about something like this:
>>>>
>>>> When accessing resources using the http URI scheme, clients =20
>>>> SHOULD NOT use and servers SHOULD NOT accept bearer token =20
>>>> requests (unsigned requests) as such a request is equal to =20
>>>> sending unprotected credentials in the clear. Instead, clients =20
>>>> SHOULD obtain and utilize an access token with a matching secret =20=

>>>> by sending a signed request. Servers MUST accept signed requests =20=

>>>> for protected resources using the http URI scheme.
>>>>
>>>> EHL
>>>>
>>>>
>>>>
>>>>
>>>> On 4/7/10 6:42 PM, "Richard Barnes" <rbarnes@bbn.com> wrote:
>>>>
>>>>> You guys are both right: The recommendation I made before is =20
>>>>> basically
>>>>> saying that you SHOULD only use tokens without signing on HTTPS
>>>>> resources.
>>>>>
>>>>> --Richard
>>>>>
>>>>>
>>>>> On Apr 7, 2010, at 9:24 PM, Dick Hardt wrote:
>>>>>
>>>>>> Eran
>>>>>>
>>>>>> Richard and Lief are describing the same point we had in the past
>>>>>> where Peter surmised the discussion that an *implementation* MUST
>>>>>> support TLS is required for bearer tokens to be compliant, and =20=

>>>>>> that
>>>>>> TLS is recommended for *deployment*
>>>>>>
>>>>>> -- Dick
>>>>>>
>>>>>> On 2010-04-07, at 4:21 PM, Eran Hammer-Lahav wrote:
>>>>>>
>>>>>>> We are looking at this all wrong.
>>>>>>>
>>>>>>> There are two kinds of protected resources OAuth supports:
>>>>>>>
>>>>>>> * http://
>>>>>>> * https://
>>>>>>>
>>>>>>> OAuth provides two kinds of token authentication modes:
>>>>>>>
>>>>>>> * bearer token
>>>>>>> * token + signature
>>>>>>>
>>>>>>> I don't know how to translate your statement below into text I =20=

>>>>>>> can
>>>>>>> put in
>>>>>>> the draft to answer:
>>>>>>>
>>>>>>> When you access/serve an http:// protected resource you do what?
>>>>>>> When you access/serve an https:// protected resource you do =20
>>>>>>> what?
>>>>>>>
>>>>>>> It is not about requiring SSL for bearer token. It is about =20
>>>>>>> what you
>>>>>>> can/should do when accessing an http:// resource.
>>>>>>>
>>>>>>> EHL
>>>>>>>
>>>>>>> On 4/7/10 7:09 AM, "Richard Barnes" <rbarnes@bbn.com> wrote:
>>>>>>>
>>>>>>>> To re-iterate and clarify Leif's second point, I would be in =20=

>>>>>>>> favor
>>>>>>>> of
>>>>>>>> making TLS:
>>>>>>>>
>>>>>>>> -- REQUIRED for implementations to support (=3D=3D MUST)
>>>>>>>> -- RECOMMENDED for deployments to use (=3D=3D SHOULD)
>>>>>>>>
>>>>>>>> This a pretty universal pattern in IETF protocols.
>>>>>>>>
>>>>>>>> --Richard
>>>>>>>>
>>>>>>>>
>>>>>>>> On Apr 7, 2010, at 7:20 AM, Leif Johansson wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Go implement whatever you want. But the spec should set the
>>>>>>>>>> highest
>>>>>>>>>> practical bar it can, and requiring HTTPS is trivial.
>>>>>>>>>>
>>>>>>>>>> As a practical note, if the WG reaches consensus to drop =20
>>>>>>>>>> the MUST,
>>>>>>>>>> I would
>>>>>>>>>> ask the chairs to ask the security area and IESG to provide
>>>>>>>>>> guidance whether
>>>>>>>>>> they would approve such document. The IESG did not approve =20=

>>>>>>>>>> OAuth
>>>>>>>>>> 1.0a for
>>>>>>>>>> publication as an RFC until this was changed to a MUST (for
>>>>>>>>>> PLAINTEXT) among
>>>>>>>>>> other comments, and that with a strong warning.
>>>>>>>>>>
>>>>>>>>>> There is also an on going effort to improve cookie =20
>>>>>>>>>> security. Do we
>>>>>>>>>> really
>>>>>>>>>> want OAuth to become the next weakest link?
>>>>>>>>>
>>>>>>>>> I emphatically agree.
>>>>>>>>>
>>>>>>>>> I suspect that a lot of confusion on this thread is caused by
>>>>>>>>> confusing implementation requirements with deployment =20
>>>>>>>>> requirements
>>>>>>>>> btw.
>>>>>>>>>
>>>>>>>>>   Cheers Leif
>>>>>>>>> _______________________________________________
>>>>>>>>> OAuth mailing list
>>>>>>>>> OAuth@ietf.org
>>>>>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> OAuth mailing list
>>>>>>>> OAuth@ietf.org
>>>>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> OAuth mailing list
>>>>>>> OAuth@ietf.org
>>>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>>>
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>


From igor.faynberg@alcatel-lucent.com  Thu Apr  8 15:09:43 2010
Return-Path: <igor.faynberg@alcatel-lucent.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 56B4A3A6897 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 15:09:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PbFfVbCBtf+7 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 15:09:42 -0700 (PDT)
Received: from ihemail4.lucent.com (ihemail4.lucent.com [135.245.0.39]) by core3.amsl.com (Postfix) with ESMTP id 5B9D228C0E9 for <oauth@ietf.org>; Thu,  8 Apr 2010 15:09:39 -0700 (PDT)
Received: from umail.lucent.com (h135-3-40-63.lucent.com [135.3.40.63]) by ihemail4.lucent.com (8.13.8/IER-o) with ESMTP id o38M9S3h018822 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 8 Apr 2010 17:09:28 -0500 (CDT)
Received: from [135.222.134.173] (faynberg-c1.mh.lucent.com [135.222.134.173]) by umail.lucent.com (8.13.8/TPES) with ESMTP id o38M9RKW020091; Thu, 8 Apr 2010 17:09:28 -0500 (CDT)
Message-ID: <4BBE5417.3010401@alcatel-lucent.com>
Date: Thu, 08 Apr 2010 18:09:27 -0400
From: Igor Faynberg <igor.faynberg@alcatel-lucent.com>
Organization: Alcatel-Lucent
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
To: Allen Tom <atom@yahoo-inc.com>
References: <C7E39BAB.2A4B1%atom@yahoo-inc.com>
In-Reply-To: <C7E39BAB.2A4B1%atom@yahoo-inc.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.39
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization request header
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: igor.faynberg@alcatel-lucent.com
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 22:09:43 -0000

Allen,

(I am a happy user of Yahoo mail via Verizon.) In some cases, especially 
if I had not used e-mail for a while, Yahoo prompts me to enter the 
password. Now, I think this is a very good feature, which would protect 
me if my computer is stolen. The question: how is this interworking with 
the case you explained?

Igor

Allen Tom wrote:
> Yahoo has exactly the same use case.
>
> The user is authenticated into the Yahoo Instant Messenger client 
> application, and clicks on the Yahoo Mail button to check Yahoo Mail.
>
> Clicking the Mail button spawns a browser window with an 
> authentication token that is passed to the browser on the URL. The 
> browser submits the token to Yahoo’s authentication server which 
> validates the token, sets authentication cookies to the browser, and 
> then redirects the browser to Yahoo Mail.
>
> Allen
>
>
> On 4/8/10 11:30 AM, "George Fletcher" <gffletch@aol.com> wrote:
>
>     On 4/8/10 11:31 AM, Eran Hammer-Lahav wrote:
>
>         Re: [OAUTH-WG] Limiting signed requests to use the
>         Authorization request header Can you share an example of a
>         native application launching an external browser with a
>         protect resource?
>
>     Native application = AIM
>     Protected Resource = User's AIM Mail box
>
>     AIM has supported this for a while.
>
>
>         Why can’t the end user just login to the browser using normal
>         web login and access the resource?
>
>     It's a better user experience to be seamlessly logged in than
>     having to reenter credentials.
>
>     Thanks,
>     George
>
>
>         EHL
>
>
>         On 4/8/10 7:51 AM, "Anthony Nadalin" <tonynad@microsoft.com>
>         wrote:
>
>
>             > Why is the native application launching a browser with a
>             protected resource request? That seems odd.
>
>             Not odd at all a lot of the Eclipse applications can work
>             this way
>
>
>             *From:* oauth-bounces@ietf.org
>             [mailto:oauth-bounces@ietf.org] *On Behalf Of *Eran
>             Hammer-Lahav
>             *Sent:* Thursday, April 08, 2010 7:41 AM
>             *To:* George Fletcher; OAuth WG
>             *Cc:* Jonathan Moore
>             *Subject:* Re: [OAUTH-WG] Limiting signed requests to use
>             the Authorization request header
>
>             Why is the native application launching a browser with a
>             protected resource request? That seems odd.
>
>             Note that we currently have no plans of supporting
>             signatures in any of the flows. We are discussing
>             signatures only for using tokens with secrets when
>             accessing protected resources.
>
>             EHL
>
>
>             On 4/8/10 7:08 AM, "George Fletcher" <gffletch@aol.com> wrote:
>             Another use case is where a rich client wants to bootstrap
>             a web session with the same identity (rich client to web
>             SSO). Assuming that the web session will be established
>             via OAuth with signatures, there is no way to fire up the
>             browser with a "signed URL" if the OAuth parameters and
>             signature need to be in a header.
>
>             As Jon mentions, the concept of allowing a service to
>             create a signed URL and then pass it back to JS running in
>             the browser, or invoking a browser directly is something
>             that we leverage a lot across our rich clients and web
>             applications.
>
>             I realize that these sorts of use cases are trivial if
>             establishment of the SSO session switches from a signed
>             mechanism to the OAuth WRAP bearer token model. The one
>             nice feature of the signed URL is that it is one time use
>             where the bearer token can be replayed multiple times.
>
>             Thanks,
>             George
>
>             Real world use case. Login into the latest AIM client.
>             Click the mail icon/link.
>
>
>             On 3/31/10 7:25 AM, Moore, Jonathan wrote:
>
>             What about a use case where the signature will be
>             generated by one component but the request will be
>             redeemed by another?
>
>             For example, suppose there is a cross-domain JSONP call
>             that requires authorization; in this case, I might have my
>             client side code hit *my* origin server, obtain a signed
>             URL, and then redeem it by hitting the JSONP resource.
>             This has scaling advantages over having my origin proxy an
>             OAuth request, and doesn't require me to have keys located
>             on the client; I can keep them safely in my data centers.
>
>             In this case, sending a "ready to redeem" signed request
>             using the query parameter mechanism simplifies the
>             client-side code. Furthermore, in this use case
>             (cross-domain script inclusion), the client doesn't have
>             the means to set the Authorization header (it can only
>             include a <script> element with a URL).
>
>             A similar use case would be if you wanted to provide
>             signed redirects (similarly useful for cross-domain
>             functionality); browsers aren't going to modify the
>             redirect URL they get back, or add an Authorization header
>             to it.
>
>             Jon
>             ........
>             Jon Moore
>             Comcast Interactive Media
>
>
>
>             -----Original Message-----
>             From: oauth-bounces@ietf.org on behalf of Eran Hammer-Lahav
>             Sent: Wed 3/31/2010 12:20 AM
>             To: OAuth WG
>             Subject: [OAUTH-WG] Limiting signed requests to use the
>             Authorizationrequest header
>
>             Since we have consensus that using signed requests is a
>             more advance use
>             case and will be used by more experienced developer, I
>             would like to suggest
>             we limit sending signed request parameters to the
>             Authorization header (no
>             URI query parameters or form-encoded body).
>
>             This will not change the ability to send the oauth_token
>             parameter in the
>             query or body when using bearer tokens (as well as in the
>             header). It will
>             only apply to sending signed requests.
>
>             The makes client request parameter much simpler as the
>             only parameter
>             "invading" the URI or body space of the request is
>             oauth_token. Anything
>             else is limited to the header.
>
>             Thoughts? If you are not a fan, please reply with a use case.
>
>             EHL
>
>             _______________________________________________
>             OAuth mailing list
>             OAuth@ietf.org
>             https://www.ietf.org/mailman/listinfo/oauth
>
>             _______________________________________________
>             OAuth mailing list
>             OAuth@ietf.org
>             https://www.ietf.org/mailman/listinfo/oauth
>
>
>
>
>
>
>
>
>         _______________________________________________
>         OAuth mailing list
>         OAuth@ietf.org
>         https://www.ietf.org/mailman/listinfo/oauth
>
>
>     ------------------------------------------------------------------------
>     _______________________________________________
>     OAuth mailing list
>     OAuth@ietf.org
>     https://www.ietf.org/mailman/listinfo/oauth
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>   

From eran@hueniverse.com  Thu Apr  8 15:36:31 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id CC47928C14C for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 15:36:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.406
X-Spam-Level: 
X-Spam-Status: No, score=-2.406 tagged_above=-999 required=5 tests=[AWL=0.192,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8Kl7afKBe7BS for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 15:36:27 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id D03993A677E for <oauth@ietf.org>; Thu,  8 Apr 2010 15:36:27 -0700 (PDT)
Received: (qmail 2124 invoked from network); 8 Apr 2010 22:36:23 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 8 Apr 2010 22:36:23 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Thu, 8 Apr 2010 15:36:24 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 8 Apr 2010 15:36:21 -0700
Thread-Topic: [OAUTH-WG] Consistency across access token replies
Thread-Index: AcrXRdz88OEClrSDQOmmhjtTzCNHSwAJgxd5
Message-ID: <C7E3A875.31F49%eran@hueniverse.com>
In-Reply-To: <o2z74caaad21004081103s7062d111l4534f92377e4dc92@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E3A87531F49eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Consistency across access token replies
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 22:36:31 -0000

--_000_C7E3A87531F49eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

This seems reasonable, but it does add more complexity for the client. The =
thing is, there is no point in a refresh token if the token lifetime is the=
 same as the access grant. Should the server ignore the client's request in=
 such cases?

EHL


On 4/8/10 11:03 AM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

On Wed, Apr 7, 2010 at 11:13 PM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:
> My point is simple. *Server* should be allowed to include a refresh token
> with every access token issued. It is already optional everywhere it is
> included. What I suggested is to allow it to be optional everywhere.
>
> If the server doesn't support refresh tokens for some flows, it should
> simply not provide one. Its a deployment decision. Nowhere in the spec ca=
n
> the client demand it so this is purely a server deployment decision.
>
> If my server supports refresh tokens in the client credentials flow or
> assertion flow, it should be allowed to issue one. What is the gain from
> forbidding it? The gain from allowing it (as optional) is consistency and
> simplicity. What's the gain from not letting servers decide?

Would it make sense to allow the client to explicitly request a
refresh token and potentially have one returned only in this case?

If the client will not use a refresh token then by telling this to the
authorization server both security and load on the server are
improved. Managing these tokens on the server is quite expensive. If
some implementation of the User-Agent flow, for example, cannot use
these refresh tokens then it would be much preferred to not even send
them back.

Marius


--_000_C7E3A87531F49eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Consistency across access token replies</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>This seems reasonable, but it does add more complexity for the client=
. The thing is, there is no point in a refresh token if the token lifetime =
is the same as the access grant. Should the server ignore the client&#8217;=
s request in such cases?<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/8/10 11:03 AM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurtescu@=
google.com">mscurtescu@google.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>On Wed, Apr 7, 2010 at 11:13 PM, Eran Hamme=
r-Lahav &lt;<a href=3D"eran@hueniverse.com">eran@hueniverse.com</a>&gt; wro=
te:<BR>
&gt; My point is simple. *Server* should be allowed to include a refresh to=
ken<BR>
&gt; with every access token issued. It is already optional everywhere it i=
s<BR>
&gt; included. What I suggested is to allow it to be optional everywhere.<B=
R>
&gt;<BR>
&gt; If the server doesn't support refresh tokens for some flows, it should=
<BR>
&gt; simply not provide one. Its a deployment decision. Nowhere in the spec=
 can<BR>
&gt; the client demand it so this is purely a server deployment decision.<B=
R>
&gt;<BR>
&gt; If my server supports refresh tokens in the client credentials flow or=
<BR>
&gt; assertion flow, it should be allowed to issue one. What is the gain fr=
om<BR>
&gt; forbidding it? The gain from allowing it (as optional) is consistency =
and<BR>
&gt; simplicity. What's the gain from not letting servers decide?<BR>
<BR>
Would it make sense to allow the client to explicitly request a<BR>
refresh token and potentially have one returned only in this case?<BR>
<BR>
If the client will not use a refresh token then by telling this to the<BR>
authorization server both security and load on the server are<BR>
improved. Managing these tokens on the server is quite expensive. If<BR>
some implementation of the User-Agent flow, for example, cannot use<BR>
these refresh tokens then it would be much preferred to not even send<BR>
them back.<BR>
<BR>
Marius<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E3A87531F49eranhueniversecom_--

From atom@yahoo-inc.com  Thu Apr  8 16:19:26 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D883A3A6AA4 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 16:19:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -16.214
X-Spam-Level: 
X-Spam-Status: No, score=-16.214 tagged_above=-999 required=5 tests=[AWL=1.385, BAYES_00=-2.599, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RTlVyoIKaEXD for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 16:19:24 -0700 (PDT)
Received: from mrout3.yahoo.com (mrout3.yahoo.com [216.145.54.173]) by core3.amsl.com (Postfix) with ESMTP id 50BF83A6840 for <oauth@ietf.org>; Thu,  8 Apr 2010 16:19:22 -0700 (PDT)
Received: from SNV-EXPF01.ds.corp.yahoo.com (snv-expf01.ds.corp.yahoo.com [207.126.227.250]) by mrout3.yahoo.com (8.13.6/8.13.6/y.out) with ESMTP id o38NIgrG093486;  Thu, 8 Apr 2010 16:18:42 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:cc:message-id: thread-topic:thread-index:in-reply-to:mime-version:content-type: content-transfer-encoding:x-originalarrivaltime; b=cQP07rr655navrO1O1MW58Cw7RYJPFV1RQ20ZR4BtN3suDaWMob2eACegUwi7Nhl
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXPF01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.3959);  Thu, 8 Apr 2010 16:18:42 -0700
Received: from 10.72.168.82 ([10.72.168.82]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.60]) with Microsoft Exchange Server HTTP-DAV ; Thu,  8 Apr 2010 23:17:42 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Thu, 08 Apr 2010 16:17:40 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: <igor.faynberg@alcatel-lucent.com>
Message-ID: <C7E3B224.2A50E%atom@yahoo-inc.com>
Thread-Topic: [OAUTH-WG] Limiting signed requests to use the Authorization request header
Thread-Index: AcrXca70uFg7j4CpzEWnVJ5HU+SqLQ==
In-Reply-To: <4BBE5417.3010401@alcatel-lucent.com>
Mime-version: 1.0
Content-type: text/plain; charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable
X-OriginalArrivalTime: 08 Apr 2010 23:18:42.0524 (UTC) FILETIME=[D438A9C0:01CAD771]
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization request header
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 23:19:26 -0000

Hi Igor,

Without getting into any specific details, most large websites will check
your browser cookies, along with other factors (including your IP address,
simultaneous sessions from other IP addresses, recent changes to your
account, the time you last verified your password, etc) to determine if you=
r
browser is still authorized to access your Mail. When in doubt, the site
will verify your password to refresh the session before continuing.

Hope that helps,
Allen



On 4/8/10 3:09 PM, "Igor Faynberg" <igor.faynberg@alcatel-lucent.com> wrote=
:

> Allen,
>=20
> (I am a happy user of Yahoo mail via Verizon.) In some cases, especially
> if I had not used e-mail for a while, Yahoo prompts me to enter the
> password. Now, I think this is a very good feature, which would protect
> me if my computer is stolen. The question: how is this interworking with
> the case you explained?
>=20
> Igor
>=20
> Allen Tom wrote:
>> Yahoo has exactly the same use case.
>>=20
>> The user is authenticated into the Yahoo Instant Messenger client
>> application, and clicks on the Yahoo Mail button to check Yahoo Mail.
>>=20
>> Clicking the Mail button spawns a browser window with an
>> authentication token that is passed to the browser on the URL. The
>> browser submits the token to Yahoo=B9s authentication server which
>> validates the token, sets authentication cookies to the browser, and
>> then redirects the browser to Yahoo Mail.
>>=20
>> Allen
>>=20
>>=20
>> On 4/8/10 11:30 AM, "George Fletcher" <gffletch@aol.com> wrote:
>>=20
>>     On 4/8/10 11:31 AM, Eran Hammer-Lahav wrote:
>>=20
>>         Re: [OAUTH-WG] Limiting signed requests to use the
>>         Authorization request header Can you share an example of a
>>         native application launching an external browser with a
>>         protect resource?
>>=20
>>     Native application =3D AIM
>>     Protected Resource =3D User's AIM Mail box
>>=20
>>     AIM has supported this for a while.
>>=20
>>=20
>>         Why can=B9t the end user just login to the browser using normal
>>         web login and access the resource?
>>=20
>>     It's a better user experience to be seamlessly logged in than
>>     having to reenter credentials.
>>=20
>>     Thanks,
>>     George
>>=20
>>=20
>>         EHL
>>=20
>>=20
>>         On 4/8/10 7:51 AM, "Anthony Nadalin" <tonynad@microsoft.com>
>>         wrote:
>>=20
>>=20
>>> Why is the native application launching a browser with a
>>             protected resource request? That seems odd.
>>=20
>>             Not odd at all a lot of the Eclipse applications can work
>>             this way
>>=20
>>=20
>>             *From:* oauth-bounces@ietf.org
>>             [mailto:oauth-bounces@ietf.org] *On Behalf Of *Eran
>>             Hammer-Lahav
>>             *Sent:* Thursday, April 08, 2010 7:41 AM
>>             *To:* George Fletcher; OAuth WG
>>             *Cc:* Jonathan Moore
>>             *Subject:* Re: [OAUTH-WG] Limiting signed requests to use
>>             the Authorization request header
>>=20
>>             Why is the native application launching a browser with a
>>             protected resource request? That seems odd.
>>=20
>>             Note that we currently have no plans of supporting
>>             signatures in any of the flows. We are discussing
>>             signatures only for using tokens with secrets when
>>             accessing protected resources.
>>=20
>>             EHL
>>=20
>>=20
>>             On 4/8/10 7:08 AM, "George Fletcher" <gffletch@aol.com> wrot=
e:
>>             Another use case is where a rich client wants to bootstrap
>>             a web session with the same identity (rich client to web
>>             SSO). Assuming that the web session will be established
>>             via OAuth with signatures, there is no way to fire up the
>>             browser with a "signed URL" if the OAuth parameters and
>>             signature need to be in a header.
>>=20
>>             As Jon mentions, the concept of allowing a service to
>>             create a signed URL and then pass it back to JS running in
>>             the browser, or invoking a browser directly is something
>>             that we leverage a lot across our rich clients and web
>>             applications.
>>=20
>>             I realize that these sorts of use cases are trivial if
>>             establishment of the SSO session switches from a signed
>>             mechanism to the OAuth WRAP bearer token model. The one
>>             nice feature of the signed URL is that it is one time use
>>             where the bearer token can be replayed multiple times.
>>=20
>>             Thanks,
>>             George
>>=20
>>             Real world use case. Login into the latest AIM client.
>>             Click the mail icon/link.
>>=20
>>=20
>>             On 3/31/10 7:25 AM, Moore, Jonathan wrote:
>>=20
>>             What about a use case where the signature will be
>>             generated by one component but the request will be
>>             redeemed by another?
>>=20
>>             For example, suppose there is a cross-domain JSONP call
>>             that requires authorization; in this case, I might have my
>>             client side code hit *my* origin server, obtain a signed
>>             URL, and then redeem it by hitting the JSONP resource.
>>             This has scaling advantages over having my origin proxy an
>>             OAuth request, and doesn't require me to have keys located
>>             on the client; I can keep them safely in my data centers.
>>=20
>>             In this case, sending a "ready to redeem" signed request
>>             using the query parameter mechanism simplifies the
>>             client-side code. Furthermore, in this use case
>>             (cross-domain script inclusion), the client doesn't have
>>             the means to set the Authorization header (it can only
>>             include a <script> element with a URL).
>>=20
>>             A similar use case would be if you wanted to provide
>>             signed redirects (similarly useful for cross-domain
>>             functionality); browsers aren't going to modify the
>>             redirect URL they get back, or add an Authorization header
>>             to it.
>>=20
>>             Jon
>>             ........
>>             Jon Moore
>>             Comcast Interactive Media
>>=20
>>=20
>>=20
>>             -----Original Message-----
>>             From: oauth-bounces@ietf.org on behalf of Eran Hammer-Lahav
>>             Sent: Wed 3/31/2010 12:20 AM
>>             To: OAuth WG
>>             Subject: [OAUTH-WG] Limiting signed requests to use the
>>             Authorizationrequest header
>>=20
>>             Since we have consensus that using signed requests is a
>>             more advance use
>>             case and will be used by more experienced developer, I
>>             would like to suggest
>>             we limit sending signed request parameters to the
>>             Authorization header (no
>>             URI query parameters or form-encoded body).
>>=20
>>             This will not change the ability to send the oauth_token
>>             parameter in the
>>             query or body when using bearer tokens (as well as in the
>>             header). It will
>>             only apply to sending signed requests.
>>=20
>>             The makes client request parameter much simpler as the
>>             only parameter
>>             "invading" the URI or body space of the request is
>>             oauth_token. Anything
>>             else is limited to the header.
>>=20
>>             Thoughts? If you are not a fan, please reply with a use case=
.
>>=20
>>             EHL
>>=20
>>             _______________________________________________
>>             OAuth mailing list
>>             OAuth@ietf.org
>>             https://www.ietf.org/mailman/listinfo/oauth
>>=20
>>             _______________________________________________
>>             OAuth mailing list
>>             OAuth@ietf.org
>>             https://www.ietf.org/mailman/listinfo/oauth
>>=20
>>=20
>>=20
>>=20
>>=20
>>=20
>>=20
>>=20
>>         _______________________________________________
>>         OAuth mailing list
>>         OAuth@ietf.org
>>         https://www.ietf.org/mailman/listinfo/oauth
>>=20
>>=20
>>     --------------------------------------------------------------------=
----
>>     _______________________________________________
>>     OAuth mailing list
>>     OAuth@ietf.org
>>     https://www.ietf.org/mailman/listinfo/oauth
>>=20
>> ------------------------------------------------------------------------
>>=20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>  =20


From mscurtescu@google.com  Thu Apr  8 16:25:59 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9769D3A6967 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 16:25:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level: 
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Fd-EnePv6OfT for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 16:25:58 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id AB73B3A6840 for <oauth@ietf.org>; Thu,  8 Apr 2010 16:25:57 -0700 (PDT)
Received: from hpaq3.eem.corp.google.com (hpaq3.eem.corp.google.com [10.3.21.3]) by smtp-out.google.com with ESMTP id o38NPp61015012 for <oauth@ietf.org>; Thu, 8 Apr 2010 16:25:52 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270769152; bh=LQZgf7gzhaUnz2hA6KtZz84Z6qk=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=cRGF0t8YfQgZm3UX+zsRomJlnZsJrp5sUZscEtM8FhiQ7dgMoKNjGvtnLt0+FCVV5 /DIEjf0em/37QDpRSsq+g==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=uyhmWZGxBRL28he6/RyYvEdnWf37THpEMHl9GRyo14VOua6Z2HBJxeTswjiJGLLrb 2CVTaUnInXWmw9/tdXJVg==
Received: from pwj6 (pwj6.prod.google.com [10.241.219.70]) by hpaq3.eem.corp.google.com with ESMTP id o38NPndO003007 for <oauth@ietf.org>; Fri, 9 Apr 2010 01:25:50 +0200
Received: by pwj6 with SMTP id 6so3756968pwj.2 for <oauth@ietf.org>; Thu, 08 Apr 2010 16:25:49 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.248.18 with HTTP; Thu, 8 Apr 2010 16:25:29 -0700 (PDT)
In-Reply-To: <C7E3A875.31F49%eran@hueniverse.com>
References: <o2z74caaad21004081103s7062d111l4534f92377e4dc92@mail.gmail.com>  <C7E3A875.31F49%eran@hueniverse.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 8 Apr 2010 16:25:29 -0700
Received: by 10.141.124.10 with SMTP id b10mr1160641rvn.176.1270769149112;  Thu, 08 Apr 2010 16:25:49 -0700 (PDT)
Message-ID: <h2i74caaad21004081625mba6535ffl8ea5ddee0f701c05@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Consistency across access token replies
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2010 23:26:00 -0000

On Thu, Apr 8, 2010 at 3:36 PM, Eran Hammer-Lahav <eran@hueniverse.com> wro=
te:
> This seems reasonable, but it does add more complexity for the client.

True, but not that much. Just an extra request parameter if it wants a
refresh token. Default could be "no".


> The
> thing is, there is no point in a refresh token if the token lifetime is t=
he
> same as the access grant. Should the server ignore the client=92s request=
 in
> such cases?

Lost you. What do you mean by access grant? The refresh token is
probably unlimited, at least long lived. The client cannot control the
lifetime of the access token either.


Marius

>
> EHL
>
>
> On 4/8/10 11:03 AM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
> On Wed, Apr 7, 2010 at 11:13 PM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>> My point is simple. *Server* should be allowed to include a refresh toke=
n
>> with every access token issued. It is already optional everywhere it is
>> included. What I suggested is to allow it to be optional everywhere.
>>
>> If the server doesn't support refresh tokens for some flows, it should
>> simply not provide one. Its a deployment decision. Nowhere in the spec c=
an
>> the client demand it so this is purely a server deployment decision.
>>
>> If my server supports refresh tokens in the client credentials flow or
>> assertion flow, it should be allowed to issue one. What is the gain from
>> forbidding it? The gain from allowing it (as optional) is consistency an=
d
>> simplicity. What's the gain from not letting servers decide?
>
> Would it make sense to allow the client to explicitly request a
> refresh token and potentially have one returned only in this case?
>
> If the client will not use a refresh token then by telling this to the
> authorization server both security and load on the server are
> improved. Managing these tokens on the server is quite expensive. If
> some implementation of the User-Agent flow, for example, cannot use
> these refresh tokens then it would be much preferred to not even send
> them back.
>
> Marius
>
>

From eran@hueniverse.com  Thu Apr  8 17:01:26 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A2BF13A6938 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 17:01:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.412
X-Spam-Level: 
X-Spam-Status: No, score=-2.412 tagged_above=-999 required=5 tests=[AWL=0.187,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 37paEnHjP7oL for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 17:01:26 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id E92DE3A67B2 for <oauth@ietf.org>; Thu,  8 Apr 2010 17:01:25 -0700 (PDT)
Received: (qmail 1872 invoked from network); 9 Apr 2010 00:01:21 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 9 Apr 2010 00:01:21 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Thu, 8 Apr 2010 17:01:21 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 8 Apr 2010 17:01:11 -0700
Thread-Topic: [OAUTH-WG] Consistency across access token replies
Thread-Index: AcrXctXvYzyqcq0wQ2C0Y48LOuEsJwABO1N5
Message-ID: <C7E3BC57.31F50%eran@hueniverse.com>
In-Reply-To: <h2i74caaad21004081625mba6535ffl8ea5ddee0f701c05@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Consistency across access token replies
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 00:01:26 -0000

On 4/8/10 4:25 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

> On Thu, Apr 8, 2010 at 3:36 PM, Eran Hammer-Lahav <eran@hueniverse.com> w=
rote:
>> This seems reasonable, but it does add more complexity for the client.
>=20
> True, but not that much. Just an extra request parameter if it wants a
> refresh token. Default could be "no".

Its a growing list... :-)

If the client can ask for a refresh token, why not also let it ask for a
secret in each flow, and a username, and specific UI, etc. At some point we
cross a line and the protocol becomes complex (even if rich). I'm asking
where that line is, and if this qualifies as worth of extra complexity. I
don't have an answer.

>=20
>> The
>> thing is, there is no point in a refresh token if the token lifetime is =
the
>> same as the access grant. Should the server ignore the client=B9s reques=
t in
>> such cases?
>=20
> Lost you. What do you mean by access grant? The refresh token is
> probably unlimited, at least long lived. The client cannot control the
> lifetime of the access token either.

User approves access to his resources for 2 weeks (the access grant). The
server issues an access token good for 2 weeks. The client asked for a
refresh token (not knowing it is pointless). What should the server do?

EHL


From eran@hueniverse.com  Thu Apr  8 17:12:26 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7D8023A6AD4 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 17:12:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.417
X-Spam-Level: 
X-Spam-Status: No, score=-2.417 tagged_above=-999 required=5 tests=[AWL=0.182,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sShfAtu8MrBs for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 17:12:24 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 836793A659A for <oauth@ietf.org>; Thu,  8 Apr 2010 17:12:24 -0700 (PDT)
Received: (qmail 6157 invoked from network); 9 Apr 2010 00:12:21 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 9 Apr 2010 00:12:21 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Thu, 8 Apr 2010 17:12:13 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Date: Thu, 8 Apr 2010 17:12:11 -0700
Thread-Topic: Comments on sections 5-7
Thread-Index: AcrXV4Y9pWMlSoc0S+aIb+3eYq1hAAAIcZhD
Message-ID: <C7E3BEEB.31F53%eran@hueniverse.com>
In-Reply-To: <4BBE382B.3040700@lodderstedt.net>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on sections 5-7
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 00:12:26 -0000

On 4/8/10 1:10 PM, "Torsten Lodderstedt" <torsten@lodderstedt.net> wrote:

> Am 08.04.2010 16:31, schrieb Eran Hammer-Lahav:
>> While I agree that the spec would be much cleaner with only HTTP header
>> support, and have tried that approach before, in practice it will cause
>> significant adoption problems.
>>  =20
>=20
> Can you please give details on that? You removed query and post
> parameters for signed requests. Doesn't this cause adoption problems, too=
?

There was consensus that signatures are advanced feature where the need for
these methods was low. That is being questioned now.

>> I rather add support for query and post parameters (we are really talkin=
g
>> about a single parameter, oauth_token, outside the HTTP header), and in =
a
>> few year deprecate it in OAuth 3.0. The benefit of these features is tha=
t
>>  =20
>=20
> I didn't argue against passing tokens as parameters. I just said: "don't
> include it in the standard, please". I still don't see any benefit -
> just confusion.

I think the majority of working group members would argue that forcing
developers to read another spec for a feature they already have in OAuth
1.0a and will rely upon in OAuth 2.0 is more confusing.

> Moreover as I already pointed out, query parameters are dangerous from a
> security standpoint. Do you really want to standardize something like
> that? Or do you want to improve internet security?

Not always. We will document the issues and offer suggestions on how to
mitigate that. The entire spec relies heavily on implementation details and
this falls right into that.

>> they allow existing browsers to deploy OAuth *today*.
>>  =20
>=20
> I don't understand this. Would you please give examples? Browsers today
> natively support BASIC/DIGEST/SPNEGO with authorization headers, they
> could do this the same way for OAUTH.

Facebook and Yahoo! (as an example) have about 400-500 million users today.
They want to deploy OAuth 2.0 within a few months. Clearly expecting these
users to upgrade their browser to a version not likely to be available for =
a
year isn't practical.

>> As for the document structure, it is too early to tell. With OAuth 1.0a =
I
>> ended shuffling the sections in draft -09... The spec has to tell a stor=
y.
>>  =20
>=20
> What does this mean with respect to my proposal?

That it is too early for me to use it. I focus on document structure later
in the process. That's how I write.

EHL


From uidude@google.com  Thu Apr  8 21:18:12 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id CE39B3A692C for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 21:18:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.821
X-Spam-Level: 
X-Spam-Status: No, score=-105.821 tagged_above=-999 required=5 tests=[AWL=0.155, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4jxcxYpEbqHr for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 21:18:01 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 73C193A67C1 for <oauth@ietf.org>; Thu,  8 Apr 2010 21:18:00 -0700 (PDT)
Received: from kpbe19.cbf.corp.google.com (kpbe19.cbf.corp.google.com [172.25.105.83]) by smtp-out.google.com with ESMTP id o394Hqfm025588 for <oauth@ietf.org>; Thu, 8 Apr 2010 21:17:53 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270786673; bh=PrjQxKufnZVi2h26BGaeNnDhM7I=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=K8dzr6OVjT+68XqJab5a+4Pzx6BvHLWcE7lR4PZNtNfTjEdvU4ge5dQlvLw/wiKrP LQ9iqFARF1qzmSsqYuVeQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=XgvutKEVWCu0QRJQ6koQfpRMUFG/LouP4y1GJIsnTvw0pGW6Hv5G/8MK3zM+vTxhI ItF2CvwmMDEfxvSfA1Q7g==
Received: from qw-out-2122.google.com (qwi5.prod.google.com [10.241.195.5]) by kpbe19.cbf.corp.google.com with ESMTP id o394HoIr017129 for <oauth@ietf.org>; Thu, 8 Apr 2010 21:17:51 -0700
Received: by qw-out-2122.google.com with SMTP id 5so850572qwi.3 for <oauth@ietf.org>; Thu, 08 Apr 2010 21:17:50 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.131 with HTTP; Thu, 8 Apr 2010 21:17:22 -0700 (PDT)
In-Reply-To: <C7E2D241.31EE4%eran@hueniverse.com>
References: <l2vc8689b661004072120sb9360d8eq601eafe349ff42e5@mail.gmail.com>  <C7E2D241.31EE4%eran@hueniverse.com>
From: Evan Gilbert <uidude@google.com>
Date: Thu, 8 Apr 2010 21:17:22 -0700
Received: by 10.229.242.3 with SMTP id lg3mr1571111qcb.102.1270786662498; Thu,  08 Apr 2010 21:17:42 -0700 (PDT)
Message-ID: <p2sc8689b661004082117i64c88b4cq7add894e4b3e6d35@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=001485eba7049b18950483c613f2
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Option to not prompt the user for authorization
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 04:18:12 -0000

--001485eba7049b18950483c613f2
Content-Type: text/plain; charset=ISO-8859-1

On Thu, Apr 8, 2010 at 12:22 AM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

>
>
>
> On 4/7/10 9:20 PM, "Evan Gilbert" <uidude@google.com> wrote:
>
> > Authorization servers in the OAuth Web Callback flow and the User Agent
> flow
> > should have the option to redirect back with access/refresh tokens
> without
> > prompting the user, if the client has already been granted access to the
> > protected resource.
> >
> > This is already implied by some of the text (3.4.3.1 "After receiving (or
> > establishing via other means) an authorization decision from the resource
> > owner", but is not supported by the example flows.
> >
> > Suggested changes
> >
> > 3.4.1 Web Callback Flow
> >
> >    (B) The authorization server authenticates the end user (via
> > the user-agent) and MAY prompt the end user to grant or deny the client's
> > access request.
>
> How about instead:
>
> (B) The authorization server authenticates the end user (via the
> user-agent)
> and establishes whether the end user grants or denies the client's access
> request.
>

The end user doesn't always control the resource grant decision (as an
example, a domain admin may grant access for users).

Maybe "establishes whether the client has been granted access to protected
resource"?

However, looking at all of the variants, think these new phrasings leave
some ambiguity. Ideally this will be clear to the reader that the user agent
may return immediately or may interact with the end user.


> >    (C) If authorization server determines the client has access to
> protected
> > resource, the authorization server redirects the user-agent back to the
> client
> > to the callback URI provided earlier. The authorization includes a
> > verification code for the client to use to obtain an access token
>
> I don't think this is needed. The question is whether the user granted
> access. My proposed change removes the need to 'prompt' the user, which
> makes it possible to establish end user intent without asking again. But as
> some point you user must have granted access.
>

Per note above, think it's slightly limiting to say the user must have
granted access.


>
> > 3.4.3 User Agent Flow
> >
> >    (B) The authorization server authenticates the end user (via
> > the user-agent) and MAY prompt the end user to grant or deny the client's
> > access request.
> >    (C) If authorization server determines the client has access to
> protected
> > resource, the authorization server redirects the user-agent to the
> redirection
> > URI provided earlier. The redirection URI includes the access token in
> the URI
> > fragment.
>
> Same.
>
> > Also, in cases where the authorization server doesn't prompt the user, we
> may
> > want the ability for a client to ask for an immediate decision from the
> server
> > instead of prompting the user using a parameter. Suggested changes:
> >
> > 3.4.1.1 Web Callback Flow | Client Requests Authorization
> > 3.4.3.1 User Agent Flow | Client Requests Authorization
> >
> > (new parameter)
> > immediate
> >   OPTIONAL. The parameter value must be set to "true" or "false" (case
> > sensitive). If set to "true", then the authorization flow MUST check
> > immediately if the client has access to protected resource and redirect
> back
> > with a successful response or "user_denied" error without prompting the
> user.
>
> How about:
>
> immediate:
>
> OPTIONAL. The parameter value must be set to 'true' or 'false' (case
> sensitive). If set to 'true', the authorization server MUST NOT prompt the
> end user to authenticate or approve access. Instead, the authorization
> server attempts to establish the end user's identity via other means (e.g.
> Browser  cookies) and checks if the end user has previously approved an
> identical access  request by the same client and if that access grant is
> still active. If the authorization server does not support an immediate
> check or if it is unable to establish the end user's identity or approval
> status, it MUST deny the request without prompting the end user. Defaults
> to
> 'no' is omitted.
>

This is better. Couple of requested modifications:
- Same point on whether the user has to grant access. Possibly change:
"checks if the end user has previously approved an
identical access  request by the same client and if that access grant is
still active" to
"checks if the client is authorized to access protected resource"
- Defaults to 'no' if omitted -> Defaults to 'false' if omitted


>
> Also, is it safe to add to the user-agent flow since the client isn't the
> same entity as a web server, but another installation? I think it is but
> want to ask before I add it there.
>

Not sure I followed this question - could you provide more details?


>
> EHL
>
>
>

--001485eba7049b18950483c613f2
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Thu, Apr 8, 2010 at 12:22 AM, Eran Ha=
mmer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com" tar=
get=3D"_blank">eran@hueniverse.com</a>&gt;</span> wrote:<br><blockquote cla=
ss=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;pa=
dding-left:1ex">


<div><br>
<br>
<br>
On 4/7/10 9:20 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"mailto:uidude@go=
ogle.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
<br>
&gt; Authorization servers in the OAuth Web Callback flow and the User Agen=
t flow<br>
&gt; should have the option to redirect back with access/refresh tokens wit=
hout<br>
&gt; prompting the user, if the client has already been granted access to t=
he<br>
&gt; protected resource.<br>
&gt;<br>
&gt; This is already implied by some of the text (3.4.3.1 &quot;After recei=
ving (or<br>
&gt; establishing via other means) an authorization=A0decision from the res=
ource<br>
&gt; owner&quot;, but is not supported by the example flows.<br>
&gt;<br>
&gt; Suggested changes<br>
&gt;<br>
&gt; 3.4.1 Web Callback Flow<br>
&gt;<br>
&gt; =A0=A0 (B) The authorization server authenticates the end user (via<br=
>
&gt; the=A0user-agent) and MAY prompt the end user to grant or deny the=A0c=
lient&#39;s<br>
&gt; access request.<br>
<br>
</div>How about instead:<br>
<div><br>
(B) The authorization server authenticates the end user (via the user-agent=
)<br>
</div>and establishes whether the end user grants or denies the client&#39;=
s access<br>
<div>request.<br></div></blockquote><div><br>The end user doesn&#39;t alway=
s control the resource grant decision (as an example, a domain admin may gr=
ant access for users).=A0</div><div><br></div><div>Maybe &quot;establishes =
whether the client has been granted access to protected resource&quot;?=A0<=
/div>


<div><br></div><div>However, looking at all of the variants, think these ne=
w phrasings leave some ambiguity. Ideally this will be clear to the reader =
that the user agent may return immediately or may interact with the end use=
r.</div>

<div><br></div>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div>
<br>
&gt; =A0=A0 (C)=A0If authorization server determines the client has access =
to protected<br>
&gt; resource, the authorization server=A0redirects the user-agent back to =
the client<br>
&gt; to the callback URI=A0provided earlier. The authorization includes a<b=
r>
&gt; verification=A0code for the client to use to obtain an access token<br=
>
<br>
</div>I don&#39;t think this is needed. The question is whether the user gr=
anted<br>
access. My proposed change removes the need to &#39;prompt&#39; the user, w=
hich<br>
makes it possible to establish end user intent without asking again. But as=
<br>
some point you user must have granted access.<br></blockquote><div><br></di=
v><div>Per note above, think it&#39;s slightly limiting to say the user mus=
t have granted access.</div><div>=A0</div><blockquote class=3D"gmail_quote"=
 style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div><br>
&gt; 3.4.3 User Agent Flow<br>
&gt;<br>
&gt; =A0=A0 (B) The authorization server authenticates the end user (via<br=
>
&gt; the=A0user-agent) and MAY prompt the end user to grant or deny the=A0c=
lient&#39;s<br>
&gt; access request.<br>
&gt; =A0=A0 (C) If authorization server determines the client has access to=
 protected<br>
&gt; resource, the authorization server=A0redirects the user-agent to the r=
edirection<br>
&gt; URI provided=A0earlier. The redirection URI includes the access token =
in the=A0URI<br>
&gt; fragment.<br>
<br>
</div>Same.<br>
<div><br>
&gt; Also, in cases where the authorization server doesn&#39;t prompt the u=
ser, we may<br>
&gt; want the ability for a client to ask for an immediate decision from th=
e server<br>
&gt; instead of prompting the user using a parameter. Suggested changes:<br=
>
&gt;<br>
&gt; 3.4.1.1 Web Callback Flow | Client Requests Authorization<br>
&gt; 3.4.3.1 User Agent Flow | Client Requests Authorization<br>
&gt;<br>
&gt; (new parameter)<br>
&gt; immediate<br>
&gt; =A0=A0OPTIONAL. The parameter value must be set to &quot;true&quot; or=
 &quot;false&quot; (case<br>
&gt; sensitive). If set to &quot;true&quot;, then the authorization flow MU=
ST check<br>
&gt; immediately if the client has access to protected resource and redirec=
t back<br>
&gt; with a successful response or &quot;user_denied&quot; error without pr=
ompting the user.<br>
<br>
</div>How about:<br>
<div><br>
immediate:<br>
<br>
OPTIONAL. The parameter value must be set to &#39;true&#39; or &#39;false&#=
39; (case<br>
</div>sensitive). If set to &#39;true&#39;, the authorization server MUST N=
OT prompt the<br>
end user to authenticate or approve access. Instead, the authorization<br>
server attempts to establish the end user&#39;s identity via other means (e=
.g.<br>
Browser =A0cookies) and checks if the end user has previously approved an<b=
r>
identical access =A0request by the same client and if that access grant is<=
br>
still active. If the authorization server does not support an immediate<br>
check or if it is unable to establish the end user&#39;s identity or approv=
al<br>
status, it MUST deny the request without prompting the end user. Defaults t=
o<br>
&#39;no&#39; is omitted.<br></blockquote><div><br></div><div>This is better=
. Couple of requested modifications:</div><div>- Same point on whether the =
user has to grant access. Possibly change:</div><div>&quot;checks if the en=
d user has previously approved an</div>

identical access =A0request by the same client and if that access grant is<=
br>still active&quot; to</div><div class=3D"gmail_quote">&quot;checks if th=
e client is authorized to access protected resource&quot;</div><div class=
=3D"gmail_quote">

- Defaults to &#39;no&#39; if omitted -&gt; Defaults to &#39;false&#39; if =
omitted<br><div>=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:=
0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Also, is it safe to add to the user-agent flow since the client isn&#39;t t=
he<br>
same entity as a web server, but another installation? I think it is but<br=
>
want to ask before I add it there.<br></blockquote><div><br>Not sure I foll=
owed this question - could you provide more details?</div><div>=A0</div><bl=
ockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #=
ccc solid;padding-left:1ex">


<font color=3D"#888888"><br>
EHL<br>
<br>
<br>
</font></blockquote></div><br>

--001485eba7049b18950483c613f2--

From beaton@google.com  Thu Apr  8 21:59:05 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 16E663A6976 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 21:59:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.977
X-Spam-Level: 
X-Spam-Status: No, score=-101.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HaPlMKQ4yLac for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 21:59:03 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 8E9743A696A for <oauth@ietf.org>; Thu,  8 Apr 2010 21:59:03 -0700 (PDT)
Received: from hpaq5.eem.corp.google.com (hpaq5.eem.corp.google.com [10.3.21.5]) by smtp-out.google.com with ESMTP id o394ws5M030042 for <oauth@ietf.org>; Fri, 9 Apr 2010 06:58:54 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270789134; bh=W3L9hW1G/I78BjYvYWVe1M2Cizc=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=kovttBHaoB8xaUnHiruJKW1GwAlY5lQG2okH41vqkrUaSs9eAaztrrOzmm9p0XieU Ehu/exxwatPUYgiruFPcQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=OtqvOftz+YVZLbI5iIrTvqqTHmaYNORaO5Kr+ub7NehFdJmDOuoPM5OUTijmFnKe3 9607C+ZeLHM8GLlLLZsrw==
Received: from vws1 (vws1.prod.google.com [10.241.21.129]) by hpaq5.eem.corp.google.com with ESMTP id o394wqS8019139 for <oauth@ietf.org>; Fri, 9 Apr 2010 06:58:52 +0200
Received: by vws1 with SMTP id 1so475615vws.38 for <oauth@ietf.org>; Thu, 08 Apr 2010 21:58:52 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.124.2 with HTTP; Thu, 8 Apr 2010 21:58:51 -0700 (PDT)
In-Reply-To: <4BBDE35F.4000102@aol.com>
References: <C7D81BA8.319A2%eran@hueniverse.com> <ED97F89464499E4D80A68CDCE1E3D1FF08280A59@PACORPEXCMB03.cable.comcast.com> <4BBDE35F.4000102@aol.com>
Date: Thu, 8 Apr 2010 21:58:51 -0700
Received: by 10.220.125.25 with SMTP id w25mr838948vcr.92.1270789131848; Thu,  08 Apr 2010 21:58:51 -0700 (PDT)
Message-ID: <u2mdaf5b9571004082158r62fad046t6fb29004c255a4f4@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: George Fletcher <gffletch@aol.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: "Moore, Jonathan" <Jonathan_Moore@comcast.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization request header
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 04:59:05 -0000

On Thu, Apr 8, 2010 at 7:08 AM, George Fletcher <gffletch@aol.com> wrote:
> I realize that these sorts of use cases are trivial if establishment of the
> SSO session switches from a signed mechanism to the OAuth WRAP bearer token
> model. The one nice feature of the signed URL is that it is one time use
> where the bearer token can be replayed multiple times.

Yep, Google does this kind of thing too.

Is there something that stops you from declaring that a particular
token is single use?

1) Client makes call to Authorization server, passing in either the
refresh token or an access token (depending on the security model you
want.)
2) AS returns a token.
3) Client uses the token to pop open a web browser.

Cheers,
Brian

From uidude@google.com  Thu Apr  8 23:13:07 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7F2A63A6958 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 23:13:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.843
X-Spam-Level: 
X-Spam-Status: No, score=-105.843 tagged_above=-999 required=5 tests=[AWL=0.133, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5z3Hwp6TnziN for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 23:13:06 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 5386E3A696A for <oauth@ietf.org>; Thu,  8 Apr 2010 23:12:17 -0700 (PDT)
Received: from hpaq7.eem.corp.google.com (hpaq7.eem.corp.google.com [10.3.21.7]) by smtp-out.google.com with ESMTP id o396CBDB012678 for <oauth@ietf.org>; Thu, 8 Apr 2010 23:12:11 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270793531; bh=ZoQSYIy6lryk3QAyaxk0WwPrapQ=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=DwJ1Z39/72eSdscr7bPu/Dl+Ewro0zRgrj8mWTf+7dyHx51CdJBA1eW2hSrs0mVwT gCGtyBaDS2Wd3Li2oVtPw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=gtT54uldn8RaxaWFXmY/uaCx7HsvbXZWhlHDv18baKna498XM2jYkfa8lBVqVxlUg AzvfzKNzivrSgm1ARez0Q==
Received: from qw-out-2122.google.com (qwh8.prod.google.com [10.241.194.200]) by hpaq7.eem.corp.google.com with ESMTP id o396C95h010943 for <oauth@ietf.org>; Fri, 9 Apr 2010 08:12:10 +0200
Received: by qw-out-2122.google.com with SMTP id 8so1025634qwh.19 for <oauth@ietf.org>; Thu, 08 Apr 2010 23:12:09 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.131 with HTTP; Thu, 8 Apr 2010 23:11:48 -0700 (PDT)
In-Reply-To: <x2v74caaad21004061606z83225080x6b9f71d6216a0c18@mail.gmail.com>
References: <h2j74caaad21004021121o69dfa9aejea36bef49b7adadb@mail.gmail.com>  <C7E02924.31D45%eran@hueniverse.com> <x2v74caaad21004061606z83225080x6b9f71d6216a0c18@mail.gmail.com>
From: Evan Gilbert <uidude@google.com>
Date: Thu, 8 Apr 2010 23:11:48 -0700
Received: by 10.229.232.144 with SMTP id ju16mr1681665qcb.107.1270793528281;  Thu, 08 Apr 2010 23:12:08 -0700 (PDT)
Message-ID: <j2rc8689b661004082311r46315ef2r367e7271ea704408@mail.gmail.com>
To: Marius Scurtescu <mscurtescu@google.com>
Content-Type: multipart/alternative; boundary=0016363b877cd6fe870483c7acf2
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 06:13:07 -0000

--0016363b877cd6fe870483c7acf2
Content-Type: text/plain; charset=ISO-8859-1

>
>
>
> >> 2. Section 2.1: "The authorization endpoint advertised by the server
> >> MUST NOT include a query or fragment components as defined by
> >> [RFC3986] section 3." Why do we disallow query parameters? If we want
> >> to enforce strict matching of callback URLs maybe we should just
> >> demand that.
> >
> > I don't like having both custom query and a state parameter. If servers
> have
> > to accommodate custom queries, then we might as well drop the special
> state
> > parameter since clients can just make up whatever they want. I opted to
> use
> > the state parameter because it makes pre-registering URIs easier, and it
> > doesn't cause parameter namepsace conflicts (which is still an open
> issue).
>
> I think I got mixed up a bit. The authorization server endpoints
> should be allowed to have query parameters. No state is passed through
> these, and also no matching done against them.
>
> Registered callback URLs for clients should also be allowed to have
> query parameters. If strict matching is enforced, at least for the
> query part, then no state that can be passed, so they have to use the
> state parameter. Parameter namespace can be an issue, one more reason
> to keep the prefix :-)


+1 on callback URLs and authorization server being allowed to have query
parameters.

Callback URLs might be a page on an existing web site, and we will be
limiting the usefulness of the Web & User-Agent profile if we disallow these
pages to have query parameters.

Authorization server is probably less necessary, but don't see any good
reason to restrict.

--0016363b877cd6fe870483c7acf2
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"margi=
n:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class=3D"im=
"><br>
<br>
&gt;&gt; 2. Section 2.1: &quot;The authorization endpoint advertised by the=
 server<br>
&gt;&gt; MUST NOT include a query or fragment components as defined by<br>
&gt;&gt; [RFC3986] section 3.&quot; Why do we disallow query parameters? If=
 we want<br>
&gt;&gt; to enforce strict matching of callback URLs maybe we should just<b=
r>
&gt;&gt; demand that.<br>
&gt;<br>
</div>&gt; I don&#39;t like having both custom query and a state parameter.=
 If servers have<br>
&gt; to accommodate custom queries, then we might as well drop the special =
state<br>
&gt; parameter since clients can just make up whatever they want. I opted t=
o use<br>
&gt; the state parameter because it makes pre-registering URIs easier, and =
it<br>
&gt; doesn&#39;t cause parameter namepsace conflicts (which is still an ope=
n issue).<br>
<br>
I think I got mixed up a bit. The authorization server endpoints<br>
should be allowed to have query parameters. No state is passed through<br>
these, and also no matching done against them.<br>
<br>
Registered callback URLs for clients should also be allowed to have<br>
query parameters. If strict matching is enforced, at least for the<br>
query part, then no state that can be passed, so they have to use the<br>
state parameter. Parameter namespace can be an issue, one more reason<br>
to keep the prefix :-)</blockquote><div><br></div><div>+1 on callback URLs =
and authorization server being allowed to have query parameters.</div><div>=
<br>Callback URLs might be a page on an existing web site, and we will be l=
imiting the usefulness of the Web &amp; User-Agent profile if we disallow t=
hese pages to have query parameters.</div>

<div><br></div><div>Authorization server is probably less necessary, but do=
n&#39;t see any good reason to restrict.</div></div>

--0016363b877cd6fe870483c7acf2--

From cmortimore@salesforce.com  Thu Apr  8 23:30:21 2010
Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BB72C3A67EC for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 23:30:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.109
X-Spam-Level: 
X-Spam-Status: No, score=-5.109 tagged_above=-999 required=5 tests=[BAYES_05=-1.11, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oXWDxpyEZUkc for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 23:30:17 -0700 (PDT)
Received: from exprod8og110.obsmtp.com (exprod8og110.obsmtp.com [64.18.3.100]) by core3.amsl.com (Postfix) with SMTP id 8E0A83A67EB for <oauth@ietf.org>; Thu,  8 Apr 2010 23:30:16 -0700 (PDT)
Received: from source ([204.14.239.239]) by exprod8ob110.postini.com ([64.18.7.12]) with SMTP ID DSNKS77JdA9tKIX18b6l9GaU577r59LLAFxg@postini.com; Thu, 08 Apr 2010 23:30:13 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub4.internal.salesforce.com ([10.1.127.8]) with mapi; Thu, 8 Apr 2010 23:30:12 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: OAuth WG <oauth@ietf.org>
Date: Thu, 8 Apr 2010 23:30:10 -0700
Thread-Topic: Draft Assertion Flow and SAML Profile
Thread-Index: AcrXrhpc0I14D7gLqEC3/FCTGT8ruQ==
Message-ID: <C7E41783.340D%cmortimore@salesforce.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/mixed; boundary="_004_C7E41783340Dcmortimoresalesforcecom_"
MIME-Version: 1.0
Subject: [OAUTH-WG] Draft Assertion Flow and SAML Profile
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 06:30:21 -0000

--_004_C7E41783340Dcmortimoresalesforcecom_
Content-Type: multipart/alternative;
	boundary="_000_C7E41783340Dcmortimoresalesforcecom_"

--_000_C7E41783340Dcmortimoresalesforcecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I finally found some time to put together a suggestion for the Assertion Fl=
ow.   I separated this into a core Assertion Flow used as a basis for consi=
stent profiling, and a SAML specific profile.   The SAML Profile is designe=
d to allow the authorization server to accept SAML assertions with the same=
 format and characteristics as those used in SAML Web SSO.     It's certain=
ly not complete, but I figured it is far enough along that it warrants feed=
back before further investment.

Please let me know how it can be improved.

-cmort


--_000_C7E41783340Dcmortimoresalesforcecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Draft Assertion Flow and SAML Profile</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'>I finally found=
 some time to put together a suggestion for the Assertion Flow. &nbsp;&nbsp=
;I separated this into a core Assertion Flow used as a basis for consistent=
 profiling, and a SAML specific profile. &nbsp;&nbsp;The SAML Profile is de=
signed to allow the authorization server to accept SAML assertions with the=
 same format and characteristics as those used in SAML Web SSO. &nbsp;&nbsp=
;&nbsp;&nbsp;It&#8217;s certainly not complete, but I figured it is far eno=
ugh along that it warrants feedback before further investment. &nbsp;&nbsp;=
<BR>
<BR>
Please let me know how it can be improved.<BR>
<BR>
-cmort<BR>
<BR>
</SPAN></FONT>
</BODY>
</HTML>


--_000_C7E41783340Dcmortimoresalesforcecom_--

--_004_C7E41783340Dcmortimoresalesforcecom_
Content-Type: application/octet-stream;
	name="draft-ietf-oauth_assertion_flow.txt"
Content-Description: draft-ietf-oauth_assertion_flow.txt
Content-Disposition: attachment;
	filename="draft-ietf-oauth_assertion_flow.txt"; size=7378;
	creation-date="Thu, 08 Apr 2010 23:30:12 GMT";
	modification-date="Thu, 08 Apr 2010 23:30:12 GMT"
Content-Transfer-Encoding: base64

My42LjIuICBBc3NlcnRpb24gRmxvdwoKVGhlIGFzc2VydGlvbiBmbG93IGlzIHVzZWQgd2hlbiBh
IGNsaWVudCB3aXNoZXMgdG8gZXhjaGFuZ2UgYW4gZXhpc3Rpbmcgc2VjdXJpdHkgdG9rZW4gb3Ig
YXNzZXJ0aW9uIGZvciBhbiBhY2Nlc3MgdG9rZW4uICBUaGlzIGZsb3cgaXMgc3VpdGFibGUgd2hl
biB0aGUgY2xpZW50IGlzIGFjdGluZyBlaXRoZXIgYXV0b25vbW91c2x5IG9yIG9uIGJlaGFsZiBv
ZiB0aGUgZW5kLXVzZXIuICAKClRoZSBhc3NlcnRpb24gZmxvdyByZXF1aXJlcyB0aGUgY2xpZW50
IG9idGFpbnMgYW4gYXNzZXJ0aW9uLCBzdWNoIGFzIGEgU0FNTCBbT0FTSVMuc2FtbC1jb3JlLTIu
MC1vc10gYXNzZXJ0aW9uLCBmcm9tIGFuIGFzc2VydGlvbiBpc3N1ZXIgcHJpb3IgdG8gaW5pdGlh
dGluZyB0aGUgZmxvdy4gIFRoZSBhc3NlcnRpb24gZm9ybWF0LCB0aGUgcHJvY2VzcyBieSB3aGlj
aCB0aGUgYXNzZXJ0aW9uIGlzIG9idGFpbmVkLCBhbmQgdGhlIG1ldGhvZCBvZiB2YWxpZGF0aW5n
IHRoZSBhc3NlcnRpb24gYXJlIGRlZmluZWQgYnkgdGhlIGFzc2VydGlvbiBpc3N1ZXIgYW5kIHRo
ZSBhdXRob3JpemF0aW9uIHNlcnZlciwgYW5kIGFyZSBiZXlvbmQgdGhlIHNjb3BlIG9mIHRoaXMg
Zmxvdy4gICAKCkl0IGlzIGludGVuZGVkIHRoYXQgdGhlIGFzc2VydGlvbiBmbG93IGlzIHByb3Zp
ZGVkIGFzIGEgYmFzaXMgZm9yIGNvbnNpc3RlbnQgcHJvZmlsaW5nIG9mIGFzc2VydGlvbiBmb3Jt
YXRzLiAgQSBjYW5vbmljYWwgcHJvZmlsZSBmb3IgU0FNTCBhc3NlcnRpb25zIGlzIGRlZmluZWQg
aW4gc2VjdGlvbiAzLjYuMwoKCiAgICAgKy0tLS0tLS0tKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tKwogICAgIHwgICAgICAgIHwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgIHwKICAgICB8ICAgICAgICB8Pi0t
KEEpLS0tLS0tIEFzc2VydGlvbiAtLS0tLS0tLS0tPnwgQXV0aG9yaXphdGlvbiB8CiAgICAgfCBD
bGllbnQgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICBTZXJ2ZXIgICAg
fAogICAgIHwgICAgICAgIHw8LS0oQiktLS0tIEFjY2VzcyBUb2tlbiAtLS0tLS0tLS08fCAgICAg
ICAgICAgICAgIHwKICAgICB8ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAgICAgICAgICAgICB8CiAgICAgKy0tLS0tLS0tKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tKwoKCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEZpZ3VyZSA5CgpUaGUgYXNzZXJ0aW9uIGZsb3cgaWxsdXN0cmF0ZWQgaW4gRmln
dXJlIDkgZGVtb25zdHJhdGVzIGEgY2xpZW50IHVzaW5nIHNlbGYtaXNzdWVkIGFzc2VydGlvbnM6
CgogICAoQSkgIFRoZSBjbGllbnQgc2VuZHMgYW4gYWNjZXNzIHRva2VuIHJlcXVlc3QgdG8gdGhl
IGF1dGhvcml6YXRpb24gc2VydmVyIGFuZCBpbmNsdWRlcyBhIHNlbGYtaXNzdWVkIGFzc2VydGlv
bi4KCiAgIChCKSAgVGhlIGF1dGhvcml6YXRpb24gc2VydmVyIHZhbGlkYXRlcyB0aGUgYXNzZXJ0
aW9uIGFuZCBpc3N1ZXMgYW4gYWNjZXNzIHRva2VuLgoKCgogICAgICstLS0rICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0rCiAgICAgfCAgIHw+LS0oQSkt
LSBBc3NlcnRpb24gUmVxdWVzdCAtLS0tLS0+fCAgIEFzc2VydGlvbiAgIHwKICAgICB8IEMgfCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIElzc3VlciAgICAgfAogICAgIHwg
bCB8PC0tKEIpLS0gQXNzZXJ0aW9uIFJlc3BvbnNlIC0tLS0tPHwgICAgICAgICAgICAgICB8CiAg
ICAgfCBpIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0t
LSsKICAgICB8IGUgfAogICAgIHwgbiB8ICAgICAgICAgICAgSFRUUCBSZXF1ZXN0ICAgICAgICAg
ICstLS0tLS0tLS0tLS0tLS0rCiAgICAgfCB0IHw+LS0oQyktLS0tLS0gQXNzZXJ0aW9uIC0tLS0t
LS0tLS0+fCBBdXRob3JpemF0aW9uIHwKICAgICB8ICAgfCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgICBTZXJ2ZXIgICAgfAogICAgIHwgICB8PC0tKEQpLS0tLSBBY2Nlc3Mg
VG9rZW4gLS0tLS0tLS0tPHwgICAgICAgICAgICAgICB8CiAgICAgKy0tLSsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLSsKCgoJICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgRmlndXJlIDEwCgpUaGUgYXNzZXJ0aW9uIGZsb3cgaWxsdXN0cmF0
ZWQgaW4gRmlndXJlIDEwIGRlbW9uc3RyYXRlcyBhIGNsaWVudCBvYnRhaW5pbmcgYW4gYXNzZXJ0
aW9uIGZyb20gYW4gYXNzZXJ0aW9uIGlzc3VlciwgYW5kIGV4Y2hhbmdpbmcgaXQgZm9yIGFuIGFj
Y2VzcyB0b2tlbjoKCgkgICAoQSkgIFRoZSBjbGllbnQgcmVxdWVzdHMgYW4gYXNzZXJ0aW9uIGZy
b20gdGhlIGFzc2VydGlvbiBpc3N1ZXIuICBUaGUgbWVhbnMgb2YgYXV0aGVudGljYXRpb24gYW5k
IHRoZSBwcm90b2NvbCB1c2VkIGluIHRoZSByZXF1ZXN0IGFyZSBiZXlvbmQgdGhlIHNjb3BlIG9m
IHRoaXMgc3BlY2lmaWNhdGlvbiwgaG93ZXZlciBleGFtcGxlcyBpbmNsdWRlIFNBTUwsIFdTLVRy
dXN0LCBPQXV0aCwgb3IgZXhpc3RpbmcgYWNjZXNzIG1hbmFnZW1lbnQgcHJvdG9jb2xzLgoKCSAg
IChCKSAgVGhlIGFzc2VydGlvbiBpc3N1ZXIgdmFsaWRhdGVzIHRoZSBjbGllbnRzIHJlcXVlc3Qs
IGFuZCBpc3N1ZXMgYW4gYXNzZXJ0aW9uCgkKCSAgIChDKSAgVGhlIGNsaWVudCBzZW5kcyBhbiBh
Y2Nlc3MgdG9rZW4gcmVxdWVzdCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIgYW5kIGluY2x1
ZGVzIHRoZSBpc3N1ZWQgYXNzZXJ0aW9uLgoKCSAgIChEKSAgVGhlIGF1dGhvcml6YXRpb24gc2Vy
dmVyIHZhbGlkYXRlcyB0aGUgYXNzZXJ0aW9uIGFuZCBpc3N1ZXMgYW4gYWNjZXNzIHRva2VuLgoJ
CgozLjYuMi4xLiAgQ2xpZW50IFJlcXVlc3RzIEFjY2VzcyBUb2tlbgoKVGhlIGNsaWVudCByZXF1
ZXN0cyBhbiBhY2Nlc3MgdG9rZW4gYnkgbWFraW5nIGFuIEhUVFAgIlBPU1QiIHJlcXVlc3QgdG8g
dGhlIGF1dGhvcml6YXRpb24gZW5kcG9pbnQuICBUaGUgY2xpZW50IGNvbnN0cnVjdHMgYSByZXF1
ZXN0IFVSSSBieSBhZGRpbmcgdGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzIHRvIHRoZSByZXF1ZXN0
OgoKICAgdHlwZQoJCVJFUVVJUkVELiBUaGUgcGFyYW1ldGVyIHZhbHVlIE1VU1QgYmUgc2V0IHRv
ICJhc3NlcnRpb25fcmVxdWVzdCIgKGNhc2Ugc2Vuc2l0aXZlKS4KCiAgIGNsaWVudF9pZAoJCVJF
UVVJUkVELiBUaGUgY2xpZW50IGlkZW50aWZpZXIgYXMgZGVzY3JpYmVkIGluIFNlY3Rpb24gMy4z
LgoKICAgZm9ybWF0CiAgICAgICAgIFJFUVVJUkVELiBUaGUgZm9ybWF0IG9mIHRoZSBhc3NlcnRp
b24gYXMgZGVmaW5lZCBieSB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIuICBUaGUgZm9ybWF0IE1V
U1QgYmUgYSBVUkkgd2hpY2ggZGVzaWduYXRlcyBhIHByb2ZpbGUgb2YgdGhlIGFzc2VydGlvbiBm
bG93LgoKICAgYXNzZXJ0aW9uCiAgICAgICAgIFJFUVVJUkVELiBUaGUgYXNzZXJ0aW9uLiBBbnkg
ZW5jb2Rpbmcgb2YgdGhlIGFzc2VydGlvbiBpcyBkZWZpbmVkIGJ5IHRoZSBwcm9maWxlIG9mIHRo
aXMgZmxvdyBhcyBkZXNpZ25hdGVkIGJ5IHRoZSBmb3JtYXQgcGFyYW1ldGVyLgoKRm9yIGV4YW1w
bGUsIHRoZSBjbGllbnQgbWFrZXMgdGhlIGZvbGxvd2luZyBIVFRQUyByZXF1ZXN0IChsaW5lIGJy
ZWFrcyBhcmUgZm9yIGRpc3BsYXkgcHVycG9zZXMgb25seSk6CgogICAgIFBPU1QgL2F1dGhvcml6
ZSBIVFRQLzEuMQogICAgIEhvc3Q6IHNlcnZlci5leGFtcGxlLmNvbQoKICAgICB0eXBlPWFzc2Vy
dGlvbl9yZXF1ZXN0JmNsaWVudF9pZD1zNkJoZFJrcXQzJmZvcm1hdD08Zm9ybWF0PiZhc3NlcnRp
b249PGFzc2VydGlvbj4KCgpUaGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIgTVVTVCB2YWxpZGF0ZSB0
aGUgYXNzZXJ0aW9uIGFuZCBpZiB2YWxpZCBpc3N1ZSBhbiBhY2Nlc3MgdG9rZW4gYW5kIGRlbGl2
ZXIgdG8gdGhlIGNsaWVudCBpbiB0aGUgSFRUUCByZXNwb25zZSBib2R5IHVzaW5nIHRoZSAiYXBw
bGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBjb250ZW50IHR5cGUgYXMgZGVmaW5lZCBi
eSBbVzNDLlJFQy1odG1sNDAtMTk5ODA0MjRdIHdpdGggYSAyMDAgc3RhdHVzIGNvZGUgKE9LKS4K
ClRoZSByZXNwb25zZSBjb250YWlucyB0aGUgZm9sbG93aW5nIHBhcmFtZXRlcnM6CgogICBhY2Nl
c3NfdG9rZW4KICAgICAgICAgUkVRVUlSRUQuICBUaGUgYWNjZXNzIHRva2VuLgoKICAgZXhwaXJl
c19pbgogICAgICAgICBPUFRJT05BTC4gIFRoZSBkdXJhdGlvbiBpbiBzZWNvbmRzIG9mIHRoZSBh
Y2Nlc3MgdG9rZW4gbGlmZXRpbWUuCgpGb3IgZXhhbXBsZToKCiAgICAgSFRUUC8xLjEgMjAwIE9L
CiAgICAgQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQKCiAg
ICAgYWNjZXNzX3Rva2VuPUZKUWJ3cTlPRDgKCgpJZiB0aGUgYXNzZXJ0aW9uIGlzIGludmFsaWQs
IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciByZXR1cm5zIGFuIGVycm9yIG1lc3NhZ2UgaW4gdGhl
IEhUVFAgcmVzcG9uc2UgYm9keSB1c2luZyB0aGUgImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJs
ZW5jb2RlZCIgY29udGVudCB0eXBlIGFzIGRlZmluZWQgYnkgW1czQy5SRUMtaHRtbDQwLTE5OTgw
NDI0XSB3aXRoIGEgNDAwIHN0YXR1cyBjb2RlIChCYWQgUmVxdWVzdCkuCgogICBUaGUgcmVzcG9u
c2UgY29udGFpbnMgdGhlIGZvbGxvd2luZyBwYXJhbWV0ZXI6CgogICBlcnJvcgogICAgICAgICBP
UFRJT05BTC4gIEluIGxldSBvZiBtb3JlIHNwZWNpZmljIGVycm9ycyBkZWZpbmVkIGJ5IGEgcHJv
ZmlsZSwgdGhlIHZhbHVlIFNIT1VMRCBiZSBzZXQgdG8gZWl0aGVyICJpbnZhbGlkX2Fzc2VydGlv
biIgb3IgInVuYXV0aG9yaXplZF9jbGllbnQiIChjYXNlIHNlbnNpdGl2ZSkuCgogICBGb3IgZXhh
bXBsZToKCiAgICAgSFRUUC8xLjEgNDAwIEJhZCBSZXF1ZXN0CiAgICAgQ29udGVudC1UeXBlOiBh
cHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQKCiAgICAgZXJyb3I9aW52YWxpZF9hc3Nl
cnRpb24KCgpBdXRob3JpemF0aW9uIHNlcnZlcnMgU0hPVUxEIGlzc3VlIGFjY2VzcyB0b2tlbnMg
d2l0aCBhIGxpbWl0ZWQgbGlmZXRpbWUuCgoKMy42LjMgIFNBTUwgQXNzZXJ0aW9uIEZsb3cgUHJv
ZmlsZQoKVGhlIFNBTUwgQXNzZXJ0aW9uIEZsb3cgUHJvZmlsZSBidWlsZHMgdXBvbiB0aGUgQXNz
ZXJ0aW9uIEZsb3cgZGVmaW5lZCBpbiBzZWN0aW9uIDMuNi4yIGJ5IHNwZWNpZnlpbmcgdGhlIGV4
YWN0IGZvcm1hdCBhbmQgYXNzZXJ0aW9uIHZhbHVlcyB0byBiZSB1c2VkIHdpdGggU0FNTCAyLjAu
ICAgU3BlY2lmaWNhbGx5LCBpdCBpcyBpbnRlbmRlZCB0byBwcm92aWRlIGludGVyb3BlcmFiaWxp
dHkgd2l0aCB0aGUgU0FNTCAyLjAgV2ViIEJyb3dzZXIgU1NPIFByb2ZpbGUgW3VybjpvYXNpczpu
YW1lczp0YzpTQU1MOjIuMDpwcm9maWxlczpTU086YnJvd3Nlcl0gYW5kIHRoZSBTQU1MIEhUVFAg
UE9TVCBCaW5kaW5nIFt1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6SFRUUC1Q
T1NUXSBieSBhbGxvd2luZyB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIgdG8gYWNjZXB0IFNBTUwg
YXNzZXJ0aW9ucyB3aXRoIHRoZSBzYW1lIGZvcm1hdCBhbmQgY2hhcmFjdGVyaXN0aWNzIGFzIHRo
b3NlIHVzZWQgaW4gU0FNTCBXZWIgU1NPLiAgIAoKZm9ybWF0OgoJV2hlbiB1c2luZyB0aGUgU0FN
TCBBc3NlcnRpb24gRmxvdyBQcm9maWxlLCB0aGUgZm9ybWF0IHBhcmFtZXRlciBtdXN0IGJlIHNl
dCB0byAidXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmFzc2VydGlvbiIgCgphc3NlcnRpb246
CglUaGUgdmFsdWUgb2YgdGhlIGFzc2VydGlvbiBwYXJhbWV0ZXIgTVVTVCBiZSBhIHZhbGlkIFNB
TUwgPFJlc3BvbnNlPiBtZXNzYWdlLiAgVGhlIHZhbHVlIG9mIHRoZSBwYXJhbWV0ZXIgTVVTVCBi
ZSBmb3JtLWVuY29kZWQgYnkgYXBwbHlpbmcgdGhlIGJhc2UtNjQgZW5jb2RpbmcgcnVsZXMgdG8g
dGhlIFhNTCByZXByZXNlbnRhdGlvbiBvZiB0aGUgbWVzc2FnZS4gIFRoZSBiYXNlNjQtZW5jb2Rl
ZCB2YWx1ZSBNQVkgYmUgbGluZS13cmFwcGVkIGF0IGEgcmVhc29uYWJsZSBsZW5ndGggaW4gYWNj
b3JkYW5jZSB3aXRoIGNvbW1vbiBwcmFjdGljZS4gICBBcyB3aXRoIFNBTUwgd2ViIFNTTywgdGhl
IGFzc2VydGlvbnMgdXNlZCBpbiB0aGlzIHByb2ZpbGUgYXJlIG9uZSB0aW1lIHVzZSBhc3NlcnRp
b25zLiAgVGhlIG1lY2hhbmlzbSBieSB3aGljaCB0aGUgY2xpZW50IG9idGFpbnMgdGhlIGFzc2Vy
dGlvbiBpcyBvdXQgb2Ygc2NvcGUgZm9yIHRoaXMgcHJvZmlsZS4gICAgCgpBbGwgcHJvdG9jb2ws
IGFzc2VydGlvbiBmb3JtYXQsIGFuZCBwcm9jZXNzaW5nIHJ1bGVzIHRoYXQgYXJlIGRlZmluZWQg
YnkgdGhlIFNBTUwgMi4wIFdlYiBCcm93c2VyIFNTTyBQcm9maWxlLCBhbmQgc2NvcGVkIGJ5IHRo
ZSBTQU1MIEhUVFAgUE9TVCBCaW5kaW5nIE1VU1QgYmUgYWRoZXJlZCB0byBpbiB0aGlzIHByb2Zp
bGUsIHdpdGggdGhlIGZvbGxvd2luZyBjbGFyaWZpY2F0aW9ucyBhbmQgZXhjZXB0aW9uczoKCiog
VGhlIGF1dGhvcml6YXRpb24gc2VydmVyIE1VU1QgYWNjZXB0IHVuc29saWNpdGVkIFNBTUwgPFJl
c3BvbnNlPiBtZXNzYWdlcy4gICBBdXRoblJlcXVlc3QgbWVzc2FnZXMgTUFZIGJlIHVzZWQsIGJ1
dCB0aGVpciB1c2FnZSBpcyBsZWZ0IHVuc3BlY2lmaWVkIGJ5IHRoaXMgcHJvZmlsZQoqIFJlbGF5
U3RhdGUgZGF0YSBpcyBvbWl0dGVkIGZyb20gdGhpcyBQcm9maWxlCiogVGhlIGZvcm0tZW5jb2Rp
bmcgc3BlY2lmaWVkIGJ5IHRoZSBQT1NUIGJpbmRpbmcgaXMgc3VwZXJzZWRlZCBieSB0aGUgYXNz
ZXJ0aW9uX3JlcXVlc3QgbWVzc2FnZSBkZWZpbmVkIGluIHNlY3Rpb24gMy42LjIgCgpGb3IgZXhh
bXBsZSwgdGhlIGNsaWVudCBtYWtlcyB0aGUgZm9sbG93aW5nIEhUVFBTIHJlcXVlc3QgKGxpbmUg
YnJlYWtzIGFyZSBmb3IgZGlzcGxheSBwdXJwb3NlcyBvbmx5KToKCiAgICAgUE9TVCAvYXV0aG9y
aXplIEhUVFAvMS4xCiAgICAgSG9zdDogc2VydmVyLmV4YW1wbGUuY29tCgogICAgIHR5cGU9YXNz
ZXJ0aW9uX3JlcXVlc3QmY2xpZW50X2lkPXM2QmhkUmtxdDMmZm9ybWF0PXVybjpvYXNpczpuYW1l
czp0YzpTQU1MOjIuMDphc3NlcnRpb24mYXNzZXJ0aW9uPVBITmhiV3h3T2wuLi5bb21taXRlZCBm
b3IgYnJldml0eV0uLi5aVDQlM0QKICAKCg==

--_004_C7E41783340Dcmortimoresalesforcecom_--

From eran@hueniverse.com  Thu Apr  8 23:51:06 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D3A773A6851 for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 23:51:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.422
X-Spam-Level: 
X-Spam-Status: No, score=-2.422 tagged_above=-999 required=5 tests=[AWL=0.177,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id g14GWTVyViPV for <oauth@core3.amsl.com>; Thu,  8 Apr 2010 23:51:05 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 776F83A67CC for <oauth@ietf.org>; Thu,  8 Apr 2010 23:51:03 -0700 (PDT)
Received: (qmail 5545 invoked from network); 9 Apr 2010 06:51:00 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 9 Apr 2010 06:50:59 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Thu, 8 Apr 2010 23:50:59 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Evan Gilbert <uidude@google.com>
Date: Thu, 8 Apr 2010 23:50:57 -0700
Thread-Topic: [OAUTH-WG] Option to not prompt the user for authorization
Thread-Index: AcrXm6EWLFJZqG50Tfyk7MB239ZK6wAFWCId
Message-ID: <C7E41C61.31F6B%eran@hueniverse.com>
In-Reply-To: <p2sc8689b661004082117i64c88b4cq7add894e4b3e6d35@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Option to not prompt the user for authorization
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 06:51:06 -0000

On 4/8/10 9:17 PM, "Evan Gilbert" <uidude@google.com> wrote:

>=20
>=20
> On Thu, Apr 8, 2010 at 12:22 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>>=20
>>=20
>>=20
>> On 4/7/10 9:20 PM, "Evan Gilbert" <uidude@google.com> wrote:
>>=20
>>> Authorization servers in the OAuth Web Callback flow and the User Agent=
 flow
>>> should have the option to redirect back with access/refresh tokens with=
out
>>> prompting the user, if the client has already been granted access to th=
e
>>> protected resource.
>>>=20
>>> This is already implied by some of the text (3.4.3.1 "After receiving (=
or
>>> establishing via other means) an authorization=A0decision from the reso=
urce
>>> owner", but is not supported by the example flows.
>>>=20
>>> Suggested changes
>>>=20
>>> 3.4.1 Web Callback Flow
>>>=20
>>> =A0=A0 (B) The authorization server authenticates the end user (via
>>> the=A0user-agent) and MAY prompt the end user to grant or deny the=A0cl=
ient's
>>> access request.
>>=20
>> How about instead:
>>=20
>> (B) The authorization server authenticates the end user (via the user-ag=
ent)
>> and establishes whether the end user grants or denies the client's acces=
s
>> request.
>=20
> The end user doesn't always control the resource grant decision (as an
> example, a domain admin may grant access for users).=A0

No. Bu definition the end user (which is a specialized resource owner) is
the only party allowed to grant authorization. Whoever grants authorization
is the resource owner.

> Maybe "establishes whether the client has been granted access to protecte=
d
> resource"?=A0
>=20
> However, looking at all of the variants, think these new phrasings leave =
some
> ambiguity. Ideally this will be clear to the reader that the user agent m=
ay
> return immediately or may interact with the end user.

The spec should make the flow simple to understand to a first-time/casual
reader, and the basic scenario is where the user is prompted. As long as it
doesn't prevent other specializations, it should not become harder to follo=
w
and more cryptic. It cannot tell a story without making some basic
assumptions.

>>=20
>>> =A0=A0 (C)=A0If authorization server determines the client has access t=
o protected
>>> resource, the authorization server=A0redirects the user-agent back to t=
he
>>> client
>>> to the callback URI=A0provided earlier. The authorization includes a
>>> verification=A0code for the client to use to obtain an access token
>>=20
>> I don't think this is needed. The question is whether the user granted
>> access. My proposed change removes the need to 'prompt' the user, which
>> makes it possible to establish end user intent without asking again. But=
 as
>> some point you user must have granted access.
>=20
> Per note above, think it's slightly limiting to say the user must have gr=
anted
> access.

In OAuth the resource owner controls the decision. If you want someone else
to control the decision, they are the resource owner. That's the model.

>>=20
>>> 3.4.3 User Agent Flow
>>>=20
>>> =A0=A0 (B) The authorization server authenticates the end user (via
>>> the=A0user-agent) and MAY prompt the end user to grant or deny the=A0cl=
ient's
>>> access request.
>>> =A0=A0 (C) If authorization server determines the client has access to =
protected
>>> resource, the authorization server=A0redirects the user-agent to the
>>> redirection
>>> URI provided=A0earlier. The redirection URI includes the access token i=
n
>>> the=A0URI
>>> fragment.
>>=20
>> Same.
>>=20
>>> Also, in cases where the authorization server doesn't prompt the user, =
we
>>> may
>>> want the ability for a client to ask for an immediate decision from the
>>> server
>>> instead of prompting the user using a parameter. Suggested changes:
>>>=20
>>> 3.4.1.1 Web Callback Flow | Client Requests Authorization
>>> 3.4.3.1 User Agent Flow | Client Requests Authorization
>>>=20
>>> (new parameter)
>>> immediate
>>> =A0=A0OPTIONAL. The parameter value must be set to "true" or "false" (c=
ase
>>> sensitive). If set to "true", then the authorization flow MUST check
>>> immediately if the client has access to protected resource and redirect=
 back
>>> with a successful response or "user_denied" error without prompting the
>>> user.
>>=20
>> How about:
>>=20
>> immediate:
>>=20
>> OPTIONAL. The parameter value must be set to 'true' or 'false' (case
>> sensitive). If set to 'true', the authorization server MUST NOT prompt t=
he
>> end user to authenticate or approve access. Instead, the authorization
>> server attempts to establish the end user's identity via other means (e.=
g.
>> Browser =A0cookies) and checks if the end user has previously approved a=
n
>> identical access =A0request by the same client and if that access grant =
is
>> still active. If the authorization server does not support an immediate
>> check or if it is unable to establish the end user's identity or approva=
l
>> status, it MUST deny the request without prompting the end user. Default=
s to
>> 'no' is omitted.
>=20
> This is better. Couple of requested modifications:
> - Same point on whether the user has to grant access. Possibly change:
> "checks if the end user has previously approved an
> identical access =A0request by the same client and if that access grant i=
s
> still active" to
> "checks if the client is authorized to access protected resource"

I prefer the current text.

> - Defaults to 'no' if omitted -> Defaults to 'false' if omitted

Thanks.

> =A0
>>=20
>> Also, is it safe to add to the user-agent flow since the client isn't th=
e
>> same entity as a web server, but another installation? I think it is but
>> want to ask before I add it there.
>=20
> Not sure I followed this question - could you provide more details?

There is no client secret because the client isn't a single instance but
something running on many separate computers. So when the server has to
check if the client has access, its really just limited to checking if the
logged in user approved that client identifier before. This breaks as soon
as the user is tricked to follow a link using a client identifier he alread=
y
approved.

EHL


From torsten@lodderstedt.net  Fri Apr  9 00:30:05 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 637553A6944 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 00:30:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.194
X-Spam-Level: 
X-Spam-Status: No, score=-2.194 tagged_above=-999 required=5 tests=[AWL=-0.056, BAYES_00=-2.599, HELO_EQ_DE=0.35, SARE_NETPROD=0.111]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ABxNo4pxuJ6B for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 00:30:04 -0700 (PDT)
Received: from smtprelay01.ispgateway.de (smtprelay01.ispgateway.de [80.67.31.28]) by core3.amsl.com (Postfix) with ESMTP id 03D803A68D4 for <oauth@ietf.org>; Fri,  9 Apr 2010 00:29:59 -0700 (PDT)
Received: from [80.187.220.1] (helo=[127.0.0.1]) by smtprelay01.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O08f4-00077d-Bm; Fri, 09 Apr 2010 09:29:54 +0200
Message-ID: <4BBED76A.2060006@lodderstedt.net>
Date: Fri, 09 Apr 2010 09:29:46 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <C7E3BEEB.31F53%eran@hueniverse.com>
In-Reply-To: <C7E3BEEB.31F53%eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on sections 5-7
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 07:30:05 -0000

@Brian: I CC'd you because you edit the security considerations document.
>>> I rather add support for query and post parameters (we are really talking
>>> about a single parameter, oauth_token, outside the HTTP header), and in a
>>> few year deprecate it in OAuth 3.0. The benefit of these features is that
>>>
>>>        
>> I didn't argue against passing tokens as parameters. I just said: "don't
>> include it in the standard, please". I still don't see any benefit -
>> just confusion.
>>      
> I think the majority of working group members would argue that forcing
> developers to read another spec for a feature they already have in OAuth
> 1.0a and will rely upon in OAuth 2.0 is more confusing.
>    

As far as I know, OAuth 1.0a did not support bearer tokens.

>    
>> Moreover as I already pointed out, query parameters are dangerous from a
>> security standpoint. Do you really want to standardize something like
>> that? Or do you want to improve internet security?
>>      
> Not always. We will document the issues and offer suggestions on how to
> mitigate that. The entire spec relies heavily on implementation details and
> this falls right into that.
>    

Interesting, who decides when security is a major point and when not?

I would like to cite your statement on "HTTPS requirement for using an 
Access Token without signatures"
...

I strongly believe we have a responsibility to improve internet security.
The only tool we are given in this working group is calling an
implementation 'not in compliance'. Calling something insecure does not
deter developers from doing stupid things (hence the wide use of Basic auth
where it clearly must not be used per the spec). Calling something
in-compliance when it is not falls under false marketing...

At the end, you are free to deploy whatever you want. But if you are going
to deploy OAuth in an insecure way (regardless of how insecure your other
interfaces are), you don't get say it is compliant. Is anyone here naïve
enough to think that the first time such an insecure OAuth token is stolen
and abused, people will care that it was ignoring the SHOULD? The company
will say that their implementation is in compliance and move the blame on to
OAuth.

---

I fully support your statement.

You mentioned token abuse. Based on my experiences, I assess the 
propability an OAuth token is spread and thus revealed over 
Referer-Headers much higher than someone wiretapping a token on transit 
over HTTP.

Suppose someone kicks off a browser windows using an URL with bearer 
token as parameter. When implemented naively, every HTTP request 
triggerd by the user clicking a link on that site will carry the URL 
including the token in its Referer-Header. So the token becomes 
available to all web sites that can be reached from that point. The 
target site can mitigate that risk by redirecting to itsself, but how 
many site developers are familiar with that topic?

Where will these risk be document? The current draft does not cover 
"using a token".

>    
>>> they allow existing browsers to deploy OAuth *today*.
>>>
>>>        
>> I don't understand this. Would you please give examples? Browsers today
>> natively support BASIC/DIGEST/SPNEGO with authorization headers, they
>> could do this the same way for OAUTH.
>>      
> Facebook and Yahoo! (as an example) have about 400-500 million users today.
> They want to deploy OAuth 2.0 within a few months. Clearly expecting these
> users to upgrade their browser to a version not likely to be available for a
> year isn't practical.
>    

Impressive numbers! I'm eager to learn the usage scenario which directly 
involves the browser and requires query parameters. Here at Deutsche 
Telekom we operate a token service based on a combination of OAuth 1.0a 
and proprietary mechanisms with a charactiericts similar to OAUTH2. We 
use this service to secure internet products for the german customers 
(>40 million).  Service requests use Authorization headers only (e.g. 
for security reasons). I would like to learn whether we missed something.

regards,
Torsten.


From eran@hueniverse.com  Fri Apr  9 00:32:53 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2FD753A69A0 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 00:32:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.427
X-Spam-Level: 
X-Spam-Status: No, score=-2.427 tagged_above=-999 required=5 tests=[AWL=0.172,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ooKYuWAHCpCN for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 00:32:52 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id BFEE63A696A for <oauth@ietf.org>; Fri,  9 Apr 2010 00:32:49 -0700 (PDT)
Received: (qmail 18938 invoked from network); 9 Apr 2010 07:32:45 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 9 Apr 2010 07:32:45 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Fri, 9 Apr 2010 00:32:45 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Evan Gilbert <uidude@google.com>, Marius Scurtescu <mscurtescu@google.com>
Date: Fri, 9 Apr 2010 00:32:41 -0700
Thread-Topic: [OAUTH-WG] Draft progress update
Thread-Index: AcrXq5leO8BKnSECQdSinuI3iiCyvgACzzDy
Message-ID: <C7E42629.31F73%eran@hueniverse.com>
In-Reply-To: <j2rc8689b661004082311r46315ef2r367e7271ea704408@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 07:32:53 -0000

On 4/8/10 11:11 PM, "Evan Gilbert" <uidude@google.com> wrote:

>>=20
>>=20
>>>> 2. Section 2.1: "The authorization endpoint advertised by the server
>>>> MUST NOT include a query or fragment components as defined by
>>>> [RFC3986] section 3." Why do we disallow query parameters? If we want
>>>> to enforce strict matching of callback URLs maybe we should just
>>>> demand that.
>>>=20
>>> I don't like having both custom query and a state parameter. If servers=
 have
>>> to accommodate custom queries, then we might as well drop the special s=
tate
>>> parameter since clients can just make up whatever they want. I opted to=
 use
>>> the state parameter because it makes pre-registering URIs easier, and i=
t
>>> doesn't cause parameter namepsace conflicts (which is still an open iss=
ue).
>>=20
>> I think I got mixed up a bit. The authorization server endpoints
>> should be allowed to have query parameters. No state is passed through
>> these, and also no matching done against them.
>>=20
>> Registered callback URLs for clients should also be allowed to have
>> query parameters. If strict matching is enforced, at least for the
>> query part, then no state that can be passed, so they have to use the
>> state parameter. Parameter namespace can be an issue, one more reason
>> to keep the prefix :-)
>=20
> +1 on callback URLs and authorization server being allowed to have query
> parameters.

Nothing in the spec prevents the authorization endpoint from including
extensions. Right now the spec is silent on how extensions work which means
the server developer has to be careful in adding new parameters and should
probably prefix them with their company name or some other prefix to ensure
they will not conflict with the core parameters and standard extensions. I
also rather make it less appealing to extend the authorization endpoint
because each such custom extension (not published as a standard) reduces
interoperability.

Callback URIs support client state which accomplishes *exactly* the same
thing, but with full and trivial client support. So the feature is there,
now we are just arguing over style.

> Callback URLs might be a page on an existing web site, and we will be lim=
iting
> the usefulness of the Web & User-Agent profile if we disallow these pages=
 to
> have query parameters.

Its trivial to add an endpoint that takes a callback and redirects it
internally to the existing endpoint.

> Authorization server is probably less necessary, but don't see any good r=
eason
> to restrict.

Its not.

EHL


From torsten@lodderstedt.net  Fri Apr  9 00:35:01 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A94AD28C115 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 00:35:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.221
X-Spam-Level: 
X-Spam-Status: No, score=-2.221 tagged_above=-999 required=5 tests=[AWL=0.028,  BAYES_00=-2.599, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FHM2WQUyHBf3 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 00:35:00 -0700 (PDT)
Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.31.40]) by core3.amsl.com (Postfix) with ESMTP id 769D328C0DC for <oauth@ietf.org>; Fri,  9 Apr 2010 00:35:00 -0700 (PDT)
Received: from [80.187.220.1] (helo=[127.0.0.1]) by smtprelay02.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O08jv-0002XL-KZ; Fri, 09 Apr 2010 09:34:55 +0200
Message-ID: <4BBED89D.1090308@lodderstedt.net>
Date: Fri, 09 Apr 2010 09:34:53 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: David Recordon <recordond@gmail.com>
References: <20100408105448.74772jb2mqega0o4@webmail.df.eu>	 <C7E336BB.31F09%eran@hueniverse.com> <t2nfd6741651004080938m89510a8q9b5f3b073bcd6676@mail.gmail.com>
In-Reply-To: <t2nfd6741651004080938m89510a8q9b5f3b073bcd6676@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on sections 5-7
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 07:35:01 -0000

would you please outline a example?

Am 08.04.2010 18:38, schrieb David Recordon:
> Agreed with Eran. GET parameters certainly make exploring APIs easier.
>
> On Thu, Apr 8, 2010 at 7:31 AM, Eran Hammer-Lahav<eran@hueniverse.com>  wrote:
>    
>> While I agree that the spec would be much cleaner with only HTTP header
>> support, and have tried that approach before, in practice it will cause
>> significant adoption problems.
>>
>> I rather add support for query and post parameters (we are really talking
>> about a single parameter, oauth_token, outside the HTTP header), and in a
>> few year deprecate it in OAuth 3.0. The benefit of these features is that
>> they allow existing browsers to deploy OAuth *today*.
>>
>> As for the document structure, it is too early to tell. With OAuth 1.0a I
>> ended shuffling the sections in draft -09... The spec has to tell a story.
>>
>> EHL
>>
>>
>> On 4/8/10 1:54 AM, "Torsten Lodderstedt"<torsten@lodderstedt.net>  wrote:
>>
>>      
>>>
>>> Hi Eran,
>>>
>>> since you are re-working sections 5-7 now, I want to address some
>>> general issues I see there.
>>>
>>> - What is the benefit of including "URI Query Parameter" and
>>> "Form-Encoded Body Parameter" in the standard? I see OAuth as an HTTP
>>> authentication scheme similar to BASIC or SPNEGO. All of these schemes
>>> exclusively use Authorization headers for sending credentials from
>>> clients to servers. That way, authorization is kept orthogonal from
>>> the servers API.
>>> Advantages:
>>> + APIs can be combined with different authentication schemes
>>> + Libraries can be plugged in and easily add authorization data
>>> + no name clashes with API parameters
>>> + can be combined with any HTTP method
>>>
>>> It's ok with me if someone wants to send tokens as Query/Body
>>> Parameters. But then the token parameter becomes a part of the
>>> resource servers API. Why standardizing that?
>>>
>>>   From a security standpoint, sending tokens as query parameter is
>>> problematic since their are many ways to leak them. Servers typically
>>> log target URLs in default configurations, GET request URLs are stored
>>> in browser caches and proxies. And what about Referer-Headers?
>>>
>>> When we adopted OAuth 1.0a, the fact that OAuth 1.0a supported three
>>> different ways of sending tokens caused a lot of confusion. What type
>>> is supported by what resource server? Do we need to support all of
>>> them or a sub set? e.t.c.
>>>
>>> So IMHO removing 5.1.2 and 5.1.3 would make the standard much simpler
>>> and easier to understand/implement/use.
>>>
>>> Moreover, it should save at least 2 pages.
>>>
>>> - I would like to suggest to change section ordering (5-7) in order to
>>> facilitate readability. From my point of view, the major contribution
>>> of the OAuth HTTP authentication scheme is the definition of the
>>> Authorization headers syntax (and semantics). Why not putting this in
>>> front? Further on, the natural counter part of the Authorization
>>> header is the WWW-Authenticate header since it is used to advertise
>>> important properties of the authentication scheme to clients. So I
>>> would suggest to describe it afterwards.
>>>
>>> Based on this considerations, I would suggest the following structure
>>> (just a sketch):
>>>
>>> 4 (was 7) Authorization Header
>>>    description of both variants
>>>     token only
>>>     token + signature
>>>    5.2.1 Computing the signature
>>>    security considerations
>>>     e.g. implementations MUST support bearer tokens w/ HTTPS, resource
>>> servers and clients SHOULD use it
>>> 5 (was 6) WWW-Authenticate Header
>>>
>>> I'm willed to contribute a more elaborated proposal if you and the WG
>>> agree with the direction I proposed.
>>>
>>> What do you think?
>>>
>>> regards,
>>> Torsten.
>>>
>>>
>>>
>>>
>>>        
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>      



From torsten@lodderstedt.net  Fri Apr  9 00:42:19 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6972E3A6951 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 00:42:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.231
X-Spam-Level: 
X-Spam-Status: No, score=-2.231 tagged_above=-999 required=5 tests=[AWL=0.018,  BAYES_00=-2.599, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4K9Dqd9f1mD3 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 00:42:18 -0700 (PDT)
Received: from smtprelay04.ispgateway.de (smtprelay04.ispgateway.de [80.67.31.31]) by core3.amsl.com (Postfix) with ESMTP id 6597C3A67EB for <oauth@ietf.org>; Fri,  9 Apr 2010 00:42:18 -0700 (PDT)
Received: from [80.187.220.1] (helo=[127.0.0.1]) by smtprelay04.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O08qx-0007w1-OE; Fri, 09 Apr 2010 09:42:11 +0200
Message-ID: <4BBEDA4E.4020204@lodderstedt.net>
Date: Fri, 09 Apr 2010 09:42:06 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Brian Eaton <beaton@google.com>
References: <C7D81BA8.319A2%eran@hueniverse.com>	<ED97F89464499E4D80A68CDCE1E3D1FF08280A59@PACORPEXCMB03.cable.comcast.com>	<4BBDE35F.4000102@aol.com> <u2mdaf5b9571004082158r62fad046t6fb29004c255a4f4@mail.gmail.com>
In-Reply-To: <u2mdaf5b9571004082158r62fad046t6fb29004c255a4f4@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: "Moore, Jonathan" <Jonathan_Moore@comcast.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization request header
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 07:42:19 -0000

As far as I understand, this use case could also be implemented using 
bearer tokens. Am I wrong?

I assume the benefit of using signed GET requests is a better protection 
against abuse of the token if the URL is spread via log files or 
Referer-Headers. But this measure obliges the receiver to implement a 
stateful reply detection.

regards,
Torsten.

Am 09.04.2010 06:58, schrieb Brian Eaton:
> On Thu, Apr 8, 2010 at 7:08 AM, George Fletcher<gffletch@aol.com>  wrote:
>    
>> I realize that these sorts of use cases are trivial if establishment of the
>> SSO session switches from a signed mechanism to the OAuth WRAP bearer token
>> model. The one nice feature of the signed URL is that it is one time use
>> where the bearer token can be replayed multiple times.
>>      
> Yep, Google does this kind of thing too.
>
> Is there something that stops you from declaring that a particular
> token is single use?
>
> 1) Client makes call to Authorization server, passing in either the
> refresh token or an access token (depending on the security model you
> want.)
> 2) AS returns a token.
> 3) Client uses the token to pop open a web browser.
>
> Cheers,
> Brian
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    



From recordond@gmail.com  Fri Apr  9 00:51:31 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 577F63A6951 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 00:51:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QTFQAzTmXtoC for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 00:51:30 -0700 (PDT)
Received: from mail-yw0-f200.google.com (mail-yw0-f200.google.com [209.85.211.200]) by core3.amsl.com (Postfix) with ESMTP id A71263A67EB for <oauth@ietf.org>; Fri,  9 Apr 2010 00:51:29 -0700 (PDT)
Received: by ywh38 with SMTP id 38so1612174ywh.29 for <oauth@ietf.org>; Fri, 09 Apr 2010 00:51:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=t7MHLZxX0INhpV9zXVWvH8jJk9pO3TNKeE5D4WbS2+o=; b=gTaDemZs5NLf9TOGaL/4FhB0bNXMKRo6py3wye5nnRpvjede9+pbJwqQdKpZmpTgyq ZLbtiQwE6Pn9YMYzywzLGKBtAXDJvuGZcfsAWJJtQiDFzFiu8xPvR7vIAx+Z3SZNIWhN lWmiiQb/nMTt24Ka9snA21ymgT03hqUuSJct0=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=PM7Z/smn8jNhGVilicUg15nmxXcuoR9hYACV4S680kX1RtpEiMmSYfh2SnOfM5c9V9 0x5zRGhITUZjeZJirfPO2ilDeMnWoibuYnseYnFmmhe9Bt629N6aP+GiF3EhvYfqm4qE n1gAPIbd2jCLU6fLCbaBmWS3HFUwovVRCBfOY=
MIME-Version: 1.0
Received: by 10.231.183.18 with HTTP; Fri, 9 Apr 2010 00:51:23 -0700 (PDT)
In-Reply-To: <C7E3BC57.31F50%eran@hueniverse.com>
References: <h2i74caaad21004081625mba6535ffl8ea5ddee0f701c05@mail.gmail.com> <C7E3BC57.31F50%eran@hueniverse.com>
Date: Fri, 9 Apr 2010 08:51:23 +0100
Received: by 10.101.178.20 with SMTP id f20mr1943500anp.229.1270799483155;  Fri, 09 Apr 2010 00:51:23 -0700 (PDT)
Message-ID: <u2rfd6741651004090051z1af44380sb24b3a51f84d5fea@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Consistency across access token replies
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 07:51:31 -0000

On Fri, Apr 9, 2010 at 1:01 AM, Eran Hammer-Lahav <eran@hueniverse.com> wro=
te:
> On 4/8/10 4:25 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
>> On Thu, Apr 8, 2010 at 3:36 PM, Eran Hammer-Lahav <eran@hueniverse.com> =
wrote:
>>> This seems reasonable, but it does add more complexity for the client.
>>
>> True, but not that much. Just an extra request parameter if it wants a
>> refresh token. Default could be "no".
>
> Its a growing list... :-)
>
> If the client can ask for a refresh token, why not also let it ask for a
> secret in each flow, and a username, and specific UI, etc. At some point =
we
> cross a line and the protocol becomes complex (even if rich). I'm asking
> where that line is, and if this qualifies as worth of extra complexity. I
> don't have an answer.

I'm also prefer to reduce the number of parameters. If an AS returns a
refresh token and the Client chooses to ignore it, that's easy code to
write. :)


>>> The
>>> thing is, there is no point in a refresh token if the token lifetime is=
 the
>>> same as the access grant. Should the server ignore the client=B9s reque=
st in
>>> such cases?
>>
>> Lost you. What do you mean by access grant? The refresh token is
>> probably unlimited, at least long lived. The client cannot control the
>> lifetime of the access token either.
>
> User approves access to his resources for 2 weeks (the access grant). The
> server issues an access token good for 2 weeks. The client asked for a
> refresh token (not knowing it is pointless). What should the server do?
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From torsten@lodderstedt.net  Fri Apr  9 00:53:21 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 145443A67EB for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 00:53:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.235
X-Spam-Level: 
X-Spam-Status: No, score=-2.235 tagged_above=-999 required=5 tests=[AWL=0.014,  BAYES_00=-2.599, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HXHhu1SSWe88 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 00:53:20 -0700 (PDT)
Received: from smtprelay01.ispgateway.de (smtprelay01.ispgateway.de [80.67.31.24]) by core3.amsl.com (Postfix) with ESMTP id 499BC3A62C1 for <oauth@ietf.org>; Fri,  9 Apr 2010 00:53:20 -0700 (PDT)
Received: from [80.187.220.1] (helo=[127.0.0.1]) by smtprelay01.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O091g-0007Yw-0l; Fri, 09 Apr 2010 09:53:16 +0200
Message-ID: <4BBEDCE7.4010205@lodderstedt.net>
Date: Fri, 09 Apr 2010 09:53:11 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: David Recordon <recordond@gmail.com>
References: <h2i74caaad21004081625mba6535ffl8ea5ddee0f701c05@mail.gmail.com>	<C7E3BC57.31F50%eran@hueniverse.com> <u2rfd6741651004090051z1af44380sb24b3a51f84d5fea@mail.gmail.com>
In-Reply-To: <u2rfd6741651004090051z1af44380sb24b3a51f84d5fea@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Consistency across access token replies
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 07:53:21 -0000

>> Its a growing list... :-)
>>
>> If the client can ask for a refresh token, why not also let it ask for a
>> secret in each flow, and a username, and specific UI, etc. At some point we
>> cross a line and the protocol becomes complex (even if rich). I'm asking
>> where that line is, and if this qualifies as worth of extra complexity. I
>> don't have an answer.
>>      
> I'm also prefer to reduce the number of parameters. If an AS returns a
> refresh token and the Client chooses to ignore it, that's easy code to
> write. :)
>    

the same holds for token secrets, why not returning them with every 
response?

regards,
Torsten.


From lshepard@facebook.com  Fri Apr  9 01:10:30 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 472EC3A6876 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 01:10:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.264
X-Spam-Level: 
X-Spam-Status: No, score=-3.264 tagged_above=-999 required=5 tests=[AWL=-0.000, BAYES_00=-2.599, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id amEMyG+e6cnv for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 01:10:22 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id F0C5A3A6805 for <oauth@ietf.org>; Fri,  9 Apr 2010 01:10:09 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.212]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3989RgL000881 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT) for <oauth@ietf.org>; Fri, 9 Apr 2010 01:09:30 -0700
Received: from sc-hub06.TheFacebook.com (192.168.18.83) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.682.1; Fri, 9 Apr 2010 01:09:55 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub06.TheFacebook.com ([192.168.18.83]) with mapi; Fri, 9 Apr 2010 01:09:54 -0700
From: Luke Shepard <lshepard@facebook.com>
To: "oauth@ietf.org" <oauth@ietf.org>
Date: Fri, 9 Apr 2010 01:09:49 -0700
Thread-Topic: Remove the callback_url from OAuth web server flow response
Thread-Index: AcrXvAYmiauGCGrFTJWWf8H35VNcmA==
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66D959@SC-MBXC1.TheFacebook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_2513A610118CC14C8E622C376C8DEC93D54D66D959SCMBXC1TheFac_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-09_03:2010-02-06, 2010-04-09, 2010-04-08 signatures=0
Subject: [OAUTH-WG] Remove the callback_url from OAuth web server flow response
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 08:10:30 -0000

--_000_2513A610118CC14C8E622C376C8DEC93D54D66D959SCMBXC1TheFac_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

In the Web Callback Flow, section 3.4.1.2 requires the client to pass the "=
callback" parameter back a second time.

Why?

I believe this is supposed to be there to prevent session fixation attack, =
but I don't see an attack vector where the verification code is not suffici=
ent to prevent things. It seems redundant and confusing, and I'd like to re=
move it (I believe this was proposed on a separate thread)

--_000_2513A610118CC14C8E622C376C8DEC93D54D66D959SCMBXC1TheFac_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Courier;
	panose-1:2 7 4 9 2 2 5 2 4 4;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal style=3D'text-autospace:none'>In the Web Callback Flow=
,
section <span style=3D'font-size:13.0pt;font-family:Courier'>3.4.1.2 </span=
>requires
the client to pass the &#8220;callback&#8221; parameter back a second time.=
<o:p></o:p></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><o:p>&nbsp;</o:p></p>

<p class=3DMsoNormal style=3D'text-autospace:none'>Why?<o:p></o:p></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><o:p>&nbsp;</o:p></p>

<p class=3DMsoNormal style=3D'text-autospace:none'>I believe this is suppos=
ed to be
there to prevent session fixation attack, but I don&#8217;t see an attack
vector where the verification code is not sufficient to prevent things. It
seems redundant and confusing, and I&#8217;d like to remove it (I believe t=
his
was proposed on a separate thread)<span style=3D'font-size:13.0pt;font-fami=
ly:
Courier'><o:p></o:p></span></p>

</div>

</body>

</html>

--_000_2513A610118CC14C8E622C376C8DEC93D54D66D959SCMBXC1TheFac_--

From lshepard@facebook.com  Fri Apr  9 03:16:08 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 5D20E3A682D for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 03:16:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.265
X-Spam-Level: 
X-Spam-Status: No, score=-3.265 tagged_above=-999 required=5 tests=[AWL=0.000,  BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MVmGxz6IyJhi for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 03:16:07 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 07A053A69D4 for <oauth@ietf.org>; Fri,  9 Apr 2010 03:15:30 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.212]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o39AEnVl021362 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT) for <oauth@ietf.org>; Fri, 9 Apr 2010 03:14:50 -0700
Received: from sc-hub06.TheFacebook.com (192.168.18.83) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.682.1; Fri, 9 Apr 2010 03:14:17 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub06.TheFacebook.com ([192.168.18.83]) with mapi; Fri, 9 Apr 2010 03:14:16 -0700
From: Luke Shepard <lshepard@facebook.com>
To: OAuth WG <oauth@ietf.org>
Date: Fri, 9 Apr 2010 03:14:15 -0700
Thread-Topic: [OAUTH-WG] Defining a maximum token length?
Thread-Index: Acq/41ofxdIYK5GGSdCWqWxkbv/5oAX6JVqw
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66D95B@SC-MBXC1.TheFacebook.com>
References: <fd6741651003091550t5a464496r57aae9a60c516599@mail.gmail.com>
In-Reply-To: <fd6741651003091550t5a464496r57aae9a60c516599@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-09_03:2010-02-06, 2010-04-09, 2010-04-08 signatures=0
Subject: Re: [OAUTH-WG] Defining a maximum token length?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 10:16:08 -0000

Let's finish off the thread on token length limits.

In summary, David Recordon proposed a length limit of 255 characters due to=
 database length limits ("blobs versus shorter and indexable types such as =
varchars"). Several people were opposed to the 255 length limit. However, t=
here was general favor of a limit, but just it should be a bit longer.

So, what is a reasonable limit for the token length?  1k? 2k? 4k? 5mb? I su=
ggest some language like this:

	Access tokens MUST be less than 2KB.

Here are some representative comments from the thread:

David Recordon:=20
	"The challenge is that client developers (who we really want to make OAuth=
 dead simple for) will be forced to use less optimal storage for tokens (bl=
obs versus shorter and indexable types such as varchars)."

Chuck Mortimore:=20
	"Standards have size limits to overcome operational issues all the time."

Dick Hardt:=20
	"I would not want to limit them anymore than they need to be... I do see t=
he need to make it clear that it can be a few K or something"

Ethan Jewett:=20
	"I've heard tell of Yahoo access tokens with encoded information weighing =
in at up to 800 characters."

Torsten Lodderstedt:=20
	"For our token format, access token length would vary between 200 and 700 =
Bytes."

David Waite:=20
	"access tokens shouldn't be required to be over an order of magnitude smal=
ler than browser cookies or HTTP headers... there are accepted 'minimum max=
imums' out there - which the minimum size that user agents are expected to =
support, and the maximum size the server will assume be supported by an arb=
itrary agent."

John Kemp:=20
	"Why would we want to encode such a specific implementation decision into =
the OAuth standard?"


And there were some cited precedents for length limits in standards:

- SAML (http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf)
  "Persistent name identifier values MUST NOT exceed a length of 256 charac=
ters."

- Email
   http://www.faqs.org/rfcs/rfc2822.html)
   There are two limits that this standard places on the number of
   characters in a line. Each line of characters MUST be no more than=20
   998 characters, and SHOULD be no more than 78 characters, excluding the =
CRLF.

   http://www.ietf.org/rfc/rfc2821.txt
   There are several objects that have required minimum/maximum sizes.
   Every implementation MUST be able to receive objects of at least
   these sizes.  Objects larger than these sizes SHOULD be avoided when
   possible.  However, some Internet mail constructs such as encoded
   X.400 addresses [16] will often require larger objects: clients MAY
   attempt to transmit these, but MUST be prepared for a server to
   reject them if they cannot be handled by it.  To the maximum extent
   possible, implementation techniques which impose no limits on the
   length of these objects should be used.



From lshepard@facebook.com  Fri Apr  9 03:26:35 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 545C03A67FD for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 03:26:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.264
X-Spam-Level: 
X-Spam-Status: No, score=-3.264 tagged_above=-999 required=5 tests=[AWL=-0.000, BAYES_00=-2.599, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2E6eUVcQv1fa for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 03:26:30 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id B097E3A67E2 for <oauth@ietf.org>; Fri,  9 Apr 2010 03:25:45 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.198]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o39AP1MH030105 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Fri, 9 Apr 2010 03:25:04 -0700
Received: from sc-hub05.TheFacebook.com (192.168.18.82) by sc-hub03.TheFacebook.com (192.168.18.198) with Microsoft SMTP Server (TLS) id 14.0.682.1; Fri, 9 Apr 2010 03:24:59 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub05.TheFacebook.com ([192.168.18.82]) with mapi; Fri, 9 Apr 2010 03:25:00 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, Marius Scurtescu <mscurtescu@google.com>, Anthony Nadalin <tonynad@microsoft.com>
Date: Fri, 9 Apr 2010 03:24:56 -0700
Thread-Topic: [OAUTH-WG] A display parameter for user authorization requests
Thread-Index: AcrQbVuLp0bFm3+RTUqUdQKzW39kGgABNkC+AdbocXA=
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66D95C@SC-MBXC1.TheFacebook.com>
References: <t2v74caaad21003301758p6f09ec97m374c73c37ce484d6@mail.gmail.com> <C7D7F48A.3199B%eran@hueniverse.com>
In-Reply-To: <C7D7F48A.3199B%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_2513A610118CC14C8E622C376C8DEC93D54D66D95CSCMBXC1TheFac_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-09_03:2010-02-06, 2010-04-09, 2010-04-08 signatures=0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] A display parameter for user authorization requests
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 10:26:35 -0000

--_000_2513A610118CC14C8E622C376C8DEC93D54D66D95CSCMBXC1TheFac_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

I am still not sure why we *need* discovery in order to just add a "display=
" parameter to the spec.

I would like to see a set like the following supported:


-          popup

-          fullpage

-          touch (for smart phones (like iPhone)-like phones)

-          mobile (for older-mobile phones)

-          none

As Allen mentioned, the "popup" mode was already defined with some success =
in OpenID UX: http://svn.openid.net/repos/specifications/user_interface/1.0=
/trunk/openid-user-interface-extension-1_0.html#anchor4

I agree that it can be difficult to standardize all of these right now - I =
think the best is to see what's being used in production now by different p=
layers and  see if we can get agreement on that. At least some broad catego=
ries could be established now to aid interop.

From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
ran Hammer-Lahav
Sent: Tuesday, March 30, 2010 6:34 PM
To: Marius Scurtescu; Anthony Nadalin
Cc: OAuth WG
Subject: Re: [OAUTH-WG] A display parameter for user authorization requests

They are, but thinking about interop for both parts is the same work. Once =
you figure out what the client might need, you figure out what the server m=
ay support. At that point discovery is as simple as giving these different =
options names and putting this information somewhere.

I am not saying a spec must cover both, but it is worth thinking about it a=
t the same time. For example, a decision about allowing requesting custom s=
ize popup vs. fixed popup options vs. pre-defined categories, all require d=
ifferent discovery needs. If the feature allows the client to say "I want a=
 400x500 popup", you just need to say "popups are supported". But if you wa=
nt just allow full browser or popup (of fixed sizes), and do not require a =
server to support all of them, you need to express what is supported.

Given the wide range of UI options, without either mandating everything or =
discovery, this feature offers little interop value (which means little rea=
son to write as a standard).

EHL


On 3/30/10 5:58 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
Aren't these independent issues?

Regardless how the client figures what the server supports (discovery
or hard code configuration) it must have a way to tell the
Authorization Server its preferences when it sends the user over.

Marius



On Tue, Mar 30, 2010 at 8:50 PM, Anthony Nadalin <tonynad@microsoft.com> wr=
ote:
> So I doubt that the client always knows what the server supports, the ser=
ver should be open in allowing all parties to find out what is supported
>
> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of=
 Brian Eaton
> Sent: Tuesday, March 30, 2010 5:44 PM
> To: Raffi Krikorian
> Cc: OAuth WG
> Subject: Re: [OAUTH-WG] A display parameter for user authorization reques=
ts
>
> On Tue, Mar 30, 2010 at 5:25 PM, Raffi Krikorian <raffi@twitter.com> wrot=
e:
>> why does a client need to discover what the server supports?
>> presumably the client would already know given that they are integrating=
 with it?
>
> +1.
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

--_000_2513A610118CC14C8E622C376C8DEC93D54D66D95CSCMBXC1TheFac_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<title>Re: [OAUTH-WG] A display parameter for user authorization requests</=
title>
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:1546091382;
	mso-list-type:hybrid;
	mso-list-template-ids:1020528142 590903498 67698691 67698693 67698689 6769=
8691 67698693 67698689 67698691 67698693;}
@list l0:level1
	{mso-level-start-at:0;
	mso-level-number-format:bullet;
	mso-level-text:-;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:"Calibri","sans-serif";
	mso-fareast-font-family:Calibri;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>I am still not sure why we *<b>need</b>* discovery in order =
to
just add a &#8220;display&#8221; parameter to the spec.<o:p></o:p></span></=
p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>I would like to see a set like the following supported:<o:p>=
</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoListParagraph style=3D'text-indent:-.25in;mso-list:l0 level1 =
lfo1'><![if !supportLists]><span
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'=
><span
style=3D'mso-list:Ignore'>-<span style=3D'font:7.0pt "Times New Roman"'>&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:11.0pt;font-family:=
"Calibri","sans-serif";
color:#1F497D'>popup<o:p></o:p></span></p>

<p class=3DMsoListParagraph style=3D'text-indent:-.25in;mso-list:l0 level1 =
lfo1'><![if !supportLists]><span
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'=
><span
style=3D'mso-list:Ignore'>-<span style=3D'font:7.0pt "Times New Roman"'>&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:11.0pt;font-family:=
"Calibri","sans-serif";
color:#1F497D'>fullpage<o:p></o:p></span></p>

<p class=3DMsoListParagraph style=3D'text-indent:-.25in;mso-list:l0 level1 =
lfo1'><![if !supportLists]><span
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'=
><span
style=3D'mso-list:Ignore'>-<span style=3D'font:7.0pt "Times New Roman"'>&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:11.0pt;font-family:=
"Calibri","sans-serif";
color:#1F497D'>touch (for smart phones (like iPhone)-like phones)<o:p></o:p=
></span></p>

<p class=3DMsoListParagraph style=3D'text-indent:-.25in;mso-list:l0 level1 =
lfo1'><![if !supportLists]><span
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'=
><span
style=3D'mso-list:Ignore'>-<span style=3D'font:7.0pt "Times New Roman"'>&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:11.0pt;font-family:=
"Calibri","sans-serif";
color:#1F497D'>mobile (for older-mobile phones)<o:p></o:p></span></p>

<p class=3DMsoListParagraph style=3D'text-indent:-.25in;mso-list:l0 level1 =
lfo1'><![if !supportLists]><span
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'=
><span
style=3D'mso-list:Ignore'>-<span style=3D'font:7.0pt "Times New Roman"'>&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:11.0pt;font-family:=
"Calibri","sans-serif";
color:#1F497D'>none<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>As Allen mentioned, the &#8220;popup&#8221; mode was already
defined with some success in OpenID UX: http://svn.openid.net/repos/specifi=
cations/user_interface/1.0/trunk/openid-user-interface-extension-1_0.html#a=
nchor4<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>I agree that it can be difficult to standardize all of these
right now &#8211; I think the best is to see what&#8217;s being used in
production now by different players and &nbsp;see if we can get agreement o=
n
that. At least some broad categories could be established now to aid intero=
p.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div>

<div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in'>

<p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma=
","sans-serif"'>From:</span></b><span
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] <b>On Behalf Of </b>=
Eran
Hammer-Lahav<br>
<b>Sent:</b> Tuesday, March 30, 2010 6:34 PM<br>
<b>To:</b> Marius Scurtescu; Anthony Nadalin<br>
<b>Cc:</b> OAuth WG<br>
<b>Subject:</b> Re: [OAUTH-WG] A display parameter for user authorization
requests<o:p></o:p></span></p>

</div>

</div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><span style=3D'font-siz=
e:11.0pt;
font-family:"Calibri","sans-serif"'>They are, but thinking about interop fo=
r
both parts is the same work. Once you figure out what the client might need=
,
you figure out what the server may support. At that point discovery is as
simple as giving these different options names and putting this information
somewhere.<br>
<br>
I am not saying a spec must cover both, but it is worth thinking about it a=
t
the same time. For example, a decision about allowing requesting custom siz=
e
popup vs. fixed popup options vs. pre-defined categories, all require diffe=
rent
discovery needs. If the feature allows the client to say &#8220;I want a
400x500 popup&#8221;, you just need to say &#8220;popups are supported&#822=
1;.
But if you want just allow full browser or popup (of fixed sizes), and do n=
ot
require a server to support all of them, you need to express what is suppor=
ted.<br>
<br>
Given the wide range of UI options, without either mandating everything or
discovery, this feature offers little interop value (which means little rea=
son
to write as a standard).<br>
<br>
EHL<br>
<br>
<br>
On 3/30/10 5:58 PM, &quot;Marius Scurtescu&quot; &lt;<a
href=3D"mscurtescu@google.com">mscurtescu@google.com</a>&gt; wrote:</span><=
o:p></o:p></p>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><span style=3D'font-siz=
e:11.0pt;
font-family:"Calibri","sans-serif"'>Aren't these independent issues?<br>
<br>
Regardless how the client figures what the server supports (discovery<br>
or hard code configuration) it must have a way to tell the<br>
Authorization Server its preferences when it sends the user over.<br>
<br>
Marius<br>
<br>
<br>
<br>
On Tue, Mar 30, 2010 at 8:50 PM, Anthony Nadalin &lt;<a
href=3D"tonynad@microsoft.com">tonynad@microsoft.com</a>&gt; wrote:<br>
&gt; So I doubt that the client always knows what the server supports, the
server should be open in allowing all parties to find out what is supported=
<br>
&gt;<br>
&gt; -----Original Message-----<br>
&gt; From: <a href=3D"oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> [<=
a
href=3D"mailto:oauth-bounces@ietf.org">mailto:oauth-bounces@ietf.org</a>] O=
n
Behalf Of Brian Eaton<br>
&gt; Sent: Tuesday, March 30, 2010 5:44 PM<br>
&gt; To: Raffi Krikorian<br>
&gt; Cc: OAuth WG<br>
&gt; Subject: Re: [OAUTH-WG] A display parameter for user authorization
requests<br>
&gt;<br>
&gt; On Tue, Mar 30, 2010 at 5:25 PM, Raffi Krikorian &lt;<a
href=3D"raffi@twitter.com">raffi@twitter.com</a>&gt; wrote:<br>
&gt;&gt; why does a client need to discover what the server supports?<br>
&gt;&gt; presumably the client would already know given that they are
integrating with it?<br>
&gt;<br>
&gt; +1.<br>
&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ie=
tf.org/mailman/listinfo/oauth</a><br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ie=
tf.org/mailman/listinfo/oauth</a><br>
&gt;<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a></span><o:p></o:p></p>

</div>

</body>

</html>

--_000_2513A610118CC14C8E622C376C8DEC93D54D66D95CSCMBXC1TheFac_--

From eran@hueniverse.com  Fri Apr  9 06:04:48 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 05D373A6911 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 06:04:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.431
X-Spam-Level: 
X-Spam-Status: No, score=-2.431 tagged_above=-999 required=5 tests=[AWL=0.167,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ng3g+yg+tQ93 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 06:04:46 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 5A2D33A67FC for <oauth@ietf.org>; Fri,  9 Apr 2010 06:04:46 -0700 (PDT)
Received: (qmail 18058 invoked from network); 9 Apr 2010 13:04:41 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 9 Apr 2010 13:04:41 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Fri, 9 Apr 2010 06:04:41 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Luke Shepard <lshepard@facebook.com>
Date: Fri, 9 Apr 2010 06:04:40 -0700
Thread-Topic: [OAUTH-WG] A display parameter for user authorization requests
Thread-Index: AcrX5TcbnhYvSfDQQHafrufkK5xOoA==
Message-ID: <358C1AAC-8BD7-4B57-B698-2D80B3A9F842@hueniverse.com>
References: <t2v74caaad21003301758p6f09ec97m374c73c37ce484d6@mail.gmail.com> <C7D7F48A.3199B%eran@hueniverse.com> <2513A610118CC14C8E622C376C8DEC93D54D66D95C@SC-MBXC1.TheFacebook.com>
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66D95C@SC-MBXC1.TheFacebook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_358C1AAC8BD74B57B6982D80B3A9F842hueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] A display parameter for user authorization requests
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 13:04:48 -0000

--_000_358C1AAC8BD74B57B6982D80B3A9F842hueniversecom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

Q2FuIHlvdSBzdWJtaXQgYSBwcm9wb3NhbD8NCg0KT24gQXByIDksIDIwMTAsIGF0IDEzOjI1LCAi
THVrZSBTaGVwYXJkIiA8bHNoZXBhcmRAZmFjZWJvb2suY29tPG1haWx0bzpsc2hlcGFyZEBmYWNl
Ym9vay5jb20+PiB3cm90ZToNCg0KSSBhbSBzdGlsbCBub3Qgc3VyZSB3aHkgd2UgKm5lZWQqIGRp
c2NvdmVyeSBpbiBvcmRlciB0byBqdXN0IGFkZCBhIOKAnGRpc3BsYXnigJ0gcGFyYW1ldGVyIHRv
IHRoZSBzcGVjLg0KDQpJIHdvdWxkIGxpa2UgdG8gc2VlIGEgc2V0IGxpa2UgdGhlIGZvbGxvd2lu
ZyBzdXBwb3J0ZWQ6DQoNCg0KLSAgICAgICAgICBwb3B1cA0KDQotICAgICAgICAgIGZ1bGxwYWdl
DQoNCi0gICAgICAgICAgdG91Y2ggKGZvciBzbWFydCBwaG9uZXMgKGxpa2UgaVBob25lKS1saWtl
IHBob25lcykNCg0KLSAgICAgICAgICBtb2JpbGUgKGZvciBvbGRlci1tb2JpbGUgcGhvbmVzKQ0K
DQotICAgICAgICAgIG5vbmUNCg0KQXMgQWxsZW4gbWVudGlvbmVkLCB0aGUg4oCccG9wdXDigJ0g
bW9kZSB3YXMgYWxyZWFkeSBkZWZpbmVkIHdpdGggc29tZSBzdWNjZXNzIGluIE9wZW5JRCBVWDog
PGh0dHA6Ly9zdm4ub3BlbmlkLm5ldC9yZXBvcy9zcGVjaWZpY2F0aW9ucy91c2VyX2ludGVyZmFj
ZS8xLjAvdHJ1bmsvb3BlbmlkLXVzZXItaW50ZXJmYWNlLWV4dGVuc2lvbi0xXzAuaHRtbCNhbmNo
b3I0PiBodHRwOi8vc3ZuLm9wZW5pZC5uZXQvcmVwb3Mvc3BlY2lmaWNhdGlvbnMvdXNlcl9pbnRl
cmZhY2UvMS4wL3RydW5rL29wZW5pZC11c2VyLWludGVyZmFjZS1leHRlbnNpb24tMV8wLmh0bWwj
YW5jaG9yNA0KDQpJIGFncmVlIHRoYXQgaXQgY2FuIGJlIGRpZmZpY3VsdCB0byBzdGFuZGFyZGl6
ZSBhbGwgb2YgdGhlc2UgcmlnaHQgbm93IOKAkyBJIHRoaW5rIHRoZSBiZXN0IGlzIHRvIHNlZSB3
aGF04oCZcyBiZWluZyB1c2VkIGluIHByb2R1Y3Rpb24gbm93IGJ5IGRpZmZlcmVudCBwbGF5ZXJz
IGFuZCAgc2VlIGlmIHdlIGNhbiBnZXQgYWdyZWVtZW50IG9uIHRoYXQuIEF0IGxlYXN0IHNvbWUg
YnJvYWQgY2F0ZWdvcmllcyBjb3VsZCBiZSBlc3RhYmxpc2hlZCBub3cgdG8gYWlkIGludGVyb3Au
DQoNCkZyb206IG9hdXRoLWJvdW5jZXNAaWV0Zi5vcmc8bWFpbHRvOm9hdXRoLWJvdW5jZXNAaWV0
Zi5vcmc+IFttYWlsdG86b2F1dGgtYm91bmNlc0BpZXRmLm9yZ10gT24gQmVoYWxmIE9mIEVyYW4g
SGFtbWVyLUxhaGF2DQpTZW50OiBUdWVzZGF5LCBNYXJjaCAzMCwgMjAxMCA2OjM0IFBNDQpUbzog
TWFyaXVzIFNjdXJ0ZXNjdTsgQW50aG9ueSBOYWRhbGluDQpDYzogT0F1dGggV0cNClN1YmplY3Q6
IFJlOiBbT0FVVEgtV0ddIEEgZGlzcGxheSBwYXJhbWV0ZXIgZm9yIHVzZXIgYXV0aG9yaXphdGlv
biByZXF1ZXN0cw0KDQpUaGV5IGFyZSwgYnV0IHRoaW5raW5nIGFib3V0IGludGVyb3AgZm9yIGJv
dGggcGFydHMgaXMgdGhlIHNhbWUgd29yay4gT25jZSB5b3UgZmlndXJlIG91dCB3aGF0IHRoZSBj
bGllbnQgbWlnaHQgbmVlZCwgeW91IGZpZ3VyZSBvdXQgd2hhdCB0aGUgc2VydmVyIG1heSBzdXBw
b3J0LiBBdCB0aGF0IHBvaW50IGRpc2NvdmVyeSBpcyBhcyBzaW1wbGUgYXMgZ2l2aW5nIHRoZXNl
IGRpZmZlcmVudCBvcHRpb25zIG5hbWVzIGFuZCBwdXR0aW5nIHRoaXMgaW5mb3JtYXRpb24gc29t
ZXdoZXJlLg0KDQpJIGFtIG5vdCBzYXlpbmcgYSBzcGVjIG11c3QgY292ZXIgYm90aCwgYnV0IGl0
IGlzIHdvcnRoIHRoaW5raW5nIGFib3V0IGl0IGF0IHRoZSBzYW1lIHRpbWUuIEZvciBleGFtcGxl
LCBhIGRlY2lzaW9uIGFib3V0IGFsbG93aW5nIHJlcXVlc3RpbmcgY3VzdG9tIHNpemUgcG9wdXAg
dnMuIGZpeGVkIHBvcHVwIG9wdGlvbnMgdnMuIHByZS1kZWZpbmVkIGNhdGVnb3JpZXMsIGFsbCBy
ZXF1aXJlIGRpZmZlcmVudCBkaXNjb3ZlcnkgbmVlZHMuIElmIHRoZSBmZWF0dXJlIGFsbG93cyB0
aGUgY2xpZW50IHRvIHNheSDigJxJIHdhbnQgYSA0MDB4NTAwIHBvcHVw4oCdLCB5b3UganVzdCBu
ZWVkIHRvIHNheSDigJxwb3B1cHMgYXJlIHN1cHBvcnRlZOKAnS4gQnV0IGlmIHlvdSB3YW50IGp1
c3QgYWxsb3cgZnVsbCBicm93c2VyIG9yIHBvcHVwIChvZiBmaXhlZCBzaXplcyksIGFuZCBkbyBu
b3QgcmVxdWlyZSBhIHNlcnZlciB0byBzdXBwb3J0IGFsbCBvZiB0aGVtLCB5b3UgbmVlZCB0byBl
eHByZXNzIHdoYXQgaXMgc3VwcG9ydGVkLg0KDQpHaXZlbiB0aGUgd2lkZSByYW5nZSBvZiBVSSBv
cHRpb25zLCB3aXRob3V0IGVpdGhlciBtYW5kYXRpbmcgZXZlcnl0aGluZyBvciBkaXNjb3Zlcnks
IHRoaXMgZmVhdHVyZSBvZmZlcnMgbGl0dGxlIGludGVyb3AgdmFsdWUgKHdoaWNoIG1lYW5zIGxp
dHRsZSByZWFzb24gdG8gd3JpdGUgYXMgYSBzdGFuZGFyZCkuDQoNCkVITA0KDQoNCk9uIDMvMzAv
MTAgNTo1OCBQTSwgIk1hcml1cyBTY3VydGVzY3UiIDw8bXNjdXJ0ZXNjdUBnb29nbGUuY29tPm1z
Y3VydGVzY3VAZ29vZ2xlLmNvbTxtYWlsdG86bXNjdXJ0ZXNjdUBnb29nbGUuY29tPj4gd3JvdGU6
DQpBcmVuJ3QgdGhlc2UgaW5kZXBlbmRlbnQgaXNzdWVzPw0KDQpSZWdhcmRsZXNzIGhvdyB0aGUg
Y2xpZW50IGZpZ3VyZXMgd2hhdCB0aGUgc2VydmVyIHN1cHBvcnRzIChkaXNjb3ZlcnkNCm9yIGhh
cmQgY29kZSBjb25maWd1cmF0aW9uKSBpdCBtdXN0IGhhdmUgYSB3YXkgdG8gdGVsbCB0aGUNCkF1
dGhvcml6YXRpb24gU2VydmVyIGl0cyBwcmVmZXJlbmNlcyB3aGVuIGl0IHNlbmRzIHRoZSB1c2Vy
IG92ZXIuDQoNCk1hcml1cw0KDQoNCg0KT24gVHVlLCBNYXIgMzAsIDIwMTAgYXQgODo1MCBQTSwg
QW50aG9ueSBOYWRhbGluIDw8dG9ueW5hZEBtaWNyb3NvZnQuY29tPnRvbnluYWRAbWljcm9zb2Z0
LmNvbTxtYWlsdG86dG9ueW5hZEBtaWNyb3NvZnQuY29tPj4gd3JvdGU6DQo+IFNvIEkgZG91YnQg
dGhhdCB0aGUgY2xpZW50IGFsd2F5cyBrbm93cyB3aGF0IHRoZSBzZXJ2ZXIgc3VwcG9ydHMsIHRo
ZSBzZXJ2ZXIgc2hvdWxkIGJlIG9wZW4gaW4gYWxsb3dpbmcgYWxsIHBhcnRpZXMgdG8gZmluZCBv
dXQgd2hhdCBpcyBzdXBwb3J0ZWQNCj4NCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g
RnJvbTogPG9hdXRoLWJvdW5jZXNAaWV0Zi5vcmc+IG9hdXRoLWJvdW5jZXNAaWV0Zi5vcmc8bWFp
bHRvOm9hdXRoLWJvdW5jZXNAaWV0Zi5vcmc+IFs8bWFpbHRvOm9hdXRoLWJvdW5jZXNAaWV0Zi5v
cmc+bWFpbHRvOm9hdXRoLWJvdW5jZXNAaWV0Zi5vcmddIE9uIEJlaGFsZiBPZiBCcmlhbiBFYXRv
bg0KPiBTZW50OiBUdWVzZGF5LCBNYXJjaCAzMCwgMjAxMCA1OjQ0IFBNDQo+IFRvOiBSYWZmaSBL
cmlrb3JpYW4NCj4gQ2M6IE9BdXRoIFdHDQo+IFN1YmplY3Q6IFJlOiBbT0FVVEgtV0ddIEEgZGlz
cGxheSBwYXJhbWV0ZXIgZm9yIHVzZXIgYXV0aG9yaXphdGlvbiByZXF1ZXN0cw0KPg0KPiBPbiBU
dWUsIE1hciAzMCwgMjAxMCBhdCA1OjI1IFBNLCBSYWZmaSBLcmlrb3JpYW4gPDxyYWZmaUB0d2l0
dGVyLmNvbT5yYWZmaUB0d2l0dGVyLmNvbTxtYWlsdG86cmFmZmlAdHdpdHRlci5jb20+PiB3cm90
ZToNCj4+IHdoeSBkb2VzIGEgY2xpZW50IG5lZWQgdG8gZGlzY292ZXIgd2hhdCB0aGUgc2VydmVy
IHN1cHBvcnRzPw0KPj4gcHJlc3VtYWJseSB0aGUgY2xpZW50IHdvdWxkIGFscmVhZHkga25vdyBn
aXZlbiB0aGF0IHRoZXkgYXJlIGludGVncmF0aW5nIHdpdGggaXQ/DQo+DQo+ICsxLg0KPiBfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBPQXV0aCBtYWls
aW5nIGxpc3QNCj4gPE9BdXRoQGlldGYub3JnPiBPQXV0aEBpZXRmLm9yZzxtYWlsdG86T0F1dGhA
aWV0Zi5vcmc+DQo+IDxodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29hdXRo
PiBodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29hdXRoDQo+DQo+IF9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+IE9BdXRoIG1haWxp
bmcgbGlzdA0KPiA8T0F1dGhAaWV0Zi5vcmc+IE9BdXRoQGlldGYub3JnPG1haWx0bzpPQXV0aEBp
ZXRmLm9yZz4NCj4gPGh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vb2F1dGg+
IGh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vb2F1dGgNCj4NCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpPQXV0aCBtYWlsaW5nIGxp
c3QNCjxPQXV0aEBpZXRmLm9yZz5PQXV0aEBpZXRmLm9yZzxtYWlsdG86T0F1dGhAaWV0Zi5vcmc+
DQo8aHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9vYXV0aD5odHRwczovL3d3
dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29hdXRoDQo=

--_000_358C1AAC8BD74B57B6982D80B3A9F842hueniversecom_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWw+PGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiI+PGRpdj5DYW4geW91IHN1Ym1pdCBhIHByb3Bv
c2FsPzxicj48YnI+T24gQXByIDksIDIwMTAsIGF0IDEzOjI1LCAiTHVrZSBTaGVwYXJkIiAmbHQ7
PGEgaHJlZj0ibWFpbHRvOmxzaGVwYXJkQGZhY2Vib29rLmNvbSI+bHNoZXBhcmRAZmFjZWJvb2su
Y29tPC9hPiZndDsgd3JvdGU6PGJyPjxicj48L2Rpdj48ZGl2PjwvZGl2PjxibG9ja3F1b3RlIHR5
cGU9ImNpdGUiPjxkaXY+DQoNCjxkaXYgY2xhc3M9IlNlY3Rpb24xIj4NCg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ow0KY29sb3I6IzFGNDk3RCI+SSBh
bSBzdGlsbCBub3Qgc3VyZSB3aHkgd2UgKjxiPm5lZWQ8L2I+KiBkaXNjb3ZlcnkgaW4gb3JkZXIg
dG8NCmp1c3QgYWRkIGEg4oCcZGlzcGxheeKAnSBwYXJhbWV0ZXIgdG8gdGhlIHNwZWMuPG86cD48
L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMt
c2VyaWYmcXVvdDs7DQpjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+
DQoNCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNv
bG9yOiMxRjQ5N0QiPkkgd291bGQgbGlrZSB0byBzZWUgYSBzZXQgbGlrZSB0aGUgZm9sbG93aW5n
IHN1cHBvcnRlZDo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7
PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJ0
ZXh0LWluZGVudDotLjI1aW47bXNvLWxpc3Q6bDAgbGV2ZWwxIGxmbzEiPjxzcGFuIHN0eWxlPSJm
b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fu
cy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj48c3BhbiBzdHlsZT0ibXNvLWxpc3Q6SWdub3Jl
Ij4tPHNwYW4gc3R5bGU9ImZvbnQ6Ny4wcHQgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij4m
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCjwv
c3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMx
RjQ5N0QiPnBvcHVwPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz0iTXNvTGlzdFBh
cmFncmFwaCIgc3R5bGU9InRleHQtaW5kZW50Oi0uMjVpbjttc28tbGlzdDpsMCBsZXZlbDEgbGZv
MSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy
aSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxzcGFuIHN0eWxl
PSJtc28tbGlzdDpJZ25vcmUiPi08c3BhbiBzdHlsZT0iZm9udDo3LjBwdCAmcXVvdDtUaW1lcyBO
ZXcgUm9tYW4mcXVvdDsiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOw0KPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlm
JnF1b3Q7Ow0KY29sb3I6IzFGNDk3RCI+ZnVsbHBhZ2U8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoN
CjxwIGNsYXNzPSJNc29MaXN0UGFyYWdyYXBoIiBzdHlsZT0idGV4dC1pbmRlbnQ6LS4yNWluO21z
by1saXN0OmwwIGxldmVsMSBsZm8xIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6
IzFGNDk3RCI+PHNwYW4gc3R5bGU9Im1zby1saXN0Oklnbm9yZSI+LTxzcGFuIHN0eWxlPSJmb250
OjcuMHB0ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQo8L3NwYW4+PC9zcGFuPjwvc3Bhbj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1
b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xvcjojMUY0OTdEIj50b3VjaCAoZm9yIHNt
YXJ0IHBob25lcyAobGlrZSBpUGhvbmUpLWxpa2UgcGhvbmVzKTxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCg0KPHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJ0ZXh0LWluZGVudDotLjI1
aW47bXNvLWxpc3Q6bDAgbGV2ZWwxIGxmbzEiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztj
b2xvcjojMUY0OTdEIj48c3BhbiBzdHlsZT0ibXNvLWxpc3Q6SWdub3JlIj4tPHNwYW4gc3R5bGU9
ImZvbnQ6Ny4wcHQgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCjwvc3Bhbj48L3NwYW4+PC9z
cGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli
cmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMxRjQ5N0QiPm1vYmlsZSAo
Zm9yIG9sZGVyLW1vYmlsZSBwaG9uZXMpPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFz
cz0iTXNvTGlzdFBhcmFncmFwaCIgc3R5bGU9InRleHQtaW5kZW50Oi0uMjVpbjttc28tbGlzdDps
MCBsZXZlbDEgbGZvMSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0Qi
PjxzcGFuIHN0eWxlPSJtc28tbGlzdDpJZ25vcmUiPi08c3BhbiBzdHlsZT0iZm9udDo3LjBwdCAm
cXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0KPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVv
dDtzYW5zLXNlcmlmJnF1b3Q7Ow0KY29sb3I6IzFGNDk3RCI+bm9uZTxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7
Ow0KY29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTom
cXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xvcjojMUY0OTdE
Ij5BcyBBbGxlbiBtZW50aW9uZWQsIHRoZSDigJxwb3B1cOKAnSBtb2RlIHdhcyBhbHJlYWR5DQpk
ZWZpbmVkIHdpdGggc29tZSBzdWNjZXNzIGluIE9wZW5JRCBVWDogPGEgaHJlZj0iaHR0cDovL3N2
bi5vcGVuaWQubmV0L3JlcG9zL3NwZWNpZmljYXRpb25zL3VzZXJfaW50ZXJmYWNlLzEuMC90cnVu
ay9vcGVuaWQtdXNlci1pbnRlcmZhY2UtZXh0ZW5zaW9uLTFfMC5odG1sI2FuY2hvcjQiPjxhIGhy
ZWY9Imh0dHA6Ly9zdm4ub3BlbmlkLm5ldC9yZXBvcy9zcGVjaWZpY2F0aW9ucy91c2VyX2ludGVy
ZmFjZS8xLjAvdHJ1bmsvb3BlbmlkLXVzZXItaW50ZXJmYWNlLWV4dGVuc2lvbi0xXzAuaHRtbCNh
bmNob3I0Ij5odHRwOi8vc3ZuLm9wZW5pZC5uZXQvcmVwb3Mvc3BlY2lmaWNhdGlvbnMvdXNlcl9p
bnRlcmZhY2UvMS4wL3RydW5rL29wZW5pZC11c2VyLWludGVyZmFjZS1leHRlbnNpb24tMV8wLmh0
bWwjYW5jaG9yNDwvYT48L2E+PG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtD
YWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xvcjojMUY0OTdEIj48bzpw
PiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1
b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMxRjQ5N0QiPkkgYWdyZWUgdGhhdCBpdCBjYW4g
YmUgZGlmZmljdWx0IHRvIHN0YW5kYXJkaXplIGFsbCBvZiB0aGVzZQ0KcmlnaHQgbm93IOKAkyBJ
IHRoaW5rIHRoZSBiZXN0IGlzIHRvIHNlZSB3aGF04oCZcyBiZWluZyB1c2VkIGluDQpwcm9kdWN0
aW9uIG5vdyBieSBkaWZmZXJlbnQgcGxheWVycyBhbmQgJm5ic3A7c2VlIGlmIHdlIGNhbiBnZXQg
YWdyZWVtZW50IG9uDQp0aGF0LiBBdCBsZWFzdCBzb21lIGJyb2FkIGNhdGVnb3JpZXMgY291bGQg
YmUgZXN0YWJsaXNoZWQgbm93IHRvIGFpZCBpbnRlcm9wLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
Cg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ow0KY29s
b3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KDQo8ZGl2Pg0KDQo8ZGl2
IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNCNUM0REYgMS4wcHQ7cGFkZGlu
ZzozLjBwdCAwaW4gMGluIDBpbiI+DQoNCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1RhaG9tYSZxdW90OywmcXVv
dDtzYW5zLXNlcmlmJnF1b3Q7Ij5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VGFob21hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYm
cXVvdDsiPg0KPGEgaHJlZj0ibWFpbHRvOm9hdXRoLWJvdW5jZXNAaWV0Zi5vcmciPm9hdXRoLWJv
dW5jZXNAaWV0Zi5vcmc8L2E+IFttYWlsdG86b2F1dGgtYm91bmNlc0BpZXRmLm9yZ10gPGI+T24g
QmVoYWxmIE9mIDwvYj5FcmFuDQpIYW1tZXItTGFoYXY8YnI+DQo8Yj5TZW50OjwvYj4gVHVlc2Rh
eSwgTWFyY2ggMzAsIDIwMTAgNjozNCBQTTxicj4NCjxiPlRvOjwvYj4gTWFyaXVzIFNjdXJ0ZXNj
dTsgQW50aG9ueSBOYWRhbGluPGJyPg0KPGI+Q2M6PC9iPiBPQXV0aCBXRzxicj4NCjxiPlN1Ympl
Y3Q6PC9iPiBSZTogW09BVVRILVdHXSBBIGRpc3BsYXkgcGFyYW1ldGVyIGZvciB1c2VyIGF1dGhv
cml6YXRpb24NCnJlcXVlc3RzPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8L2Rpdj4NCg0KPC9k
aXY+DQoNCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxMi4wcHQiPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0Ow0KZm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVv
dDtzYW5zLXNlcmlmJnF1b3Q7Ij5UaGV5IGFyZSwgYnV0IHRoaW5raW5nIGFib3V0IGludGVyb3Ag
Zm9yDQpib3RoIHBhcnRzIGlzIHRoZSBzYW1lIHdvcmsuIE9uY2UgeW91IGZpZ3VyZSBvdXQgd2hh
dCB0aGUgY2xpZW50IG1pZ2h0IG5lZWQsDQp5b3UgZmlndXJlIG91dCB3aGF0IHRoZSBzZXJ2ZXIg
bWF5IHN1cHBvcnQuIEF0IHRoYXQgcG9pbnQgZGlzY292ZXJ5IGlzIGFzDQpzaW1wbGUgYXMgZ2l2
aW5nIHRoZXNlIGRpZmZlcmVudCBvcHRpb25zIG5hbWVzIGFuZCBwdXR0aW5nIHRoaXMgaW5mb3Jt
YXRpb24NCnNvbWV3aGVyZS48YnI+DQo8YnI+DQpJIGFtIG5vdCBzYXlpbmcgYSBzcGVjIG11c3Qg
Y292ZXIgYm90aCwgYnV0IGl0IGlzIHdvcnRoIHRoaW5raW5nIGFib3V0IGl0IGF0DQp0aGUgc2Ft
ZSB0aW1lLiBGb3IgZXhhbXBsZSwgYSBkZWNpc2lvbiBhYm91dCBhbGxvd2luZyByZXF1ZXN0aW5n
IGN1c3RvbSBzaXplDQpwb3B1cCB2cy4gZml4ZWQgcG9wdXAgb3B0aW9ucyB2cy4gcHJlLWRlZmlu
ZWQgY2F0ZWdvcmllcywgYWxsIHJlcXVpcmUgZGlmZmVyZW50DQpkaXNjb3ZlcnkgbmVlZHMuIElm
IHRoZSBmZWF0dXJlIGFsbG93cyB0aGUgY2xpZW50IHRvIHNheSDigJxJIHdhbnQgYQ0KNDAweDUw
MCBwb3B1cOKAnSwgeW91IGp1c3QgbmVlZCB0byBzYXkg4oCccG9wdXBzIGFyZSBzdXBwb3J0ZWTi
gJ0uDQpCdXQgaWYgeW91IHdhbnQganVzdCBhbGxvdyBmdWxsIGJyb3dzZXIgb3IgcG9wdXAgKG9m
IGZpeGVkIHNpemVzKSwgYW5kIGRvIG5vdA0KcmVxdWlyZSBhIHNlcnZlciB0byBzdXBwb3J0IGFs
bCBvZiB0aGVtLCB5b3UgbmVlZCB0byBleHByZXNzIHdoYXQgaXMgc3VwcG9ydGVkLjxicj4NCjxi
cj4NCkdpdmVuIHRoZSB3aWRlIHJhbmdlIG9mIFVJIG9wdGlvbnMsIHdpdGhvdXQgZWl0aGVyIG1h
bmRhdGluZyBldmVyeXRoaW5nIG9yDQpkaXNjb3ZlcnksIHRoaXMgZmVhdHVyZSBvZmZlcnMgbGl0
dGxlIGludGVyb3AgdmFsdWUgKHdoaWNoIG1lYW5zIGxpdHRsZSByZWFzb24NCnRvIHdyaXRlIGFz
IGEgc3RhbmRhcmQpLjxicj4NCjxicj4NCkVITDxicj4NCjxicj4NCjxicj4NCk9uIDMvMzAvMTAg
NTo1OCBQTSwgIk1hcml1cyBTY3VydGVzY3UiICZsdDs8YSBocmVmPSJtc2N1cnRlc2N1QGdvb2ds
ZS5jb20iPjxhIGhyZWY9Im1haWx0bzptc2N1cnRlc2N1QGdvb2dsZS5jb20iPm1zY3VydGVzY3VA
Z29vZ2xlLmNvbTwvYT48L2E+Jmd0OyB3cm90ZTo8L3NwYW4+PG86cD48L286cD48L3A+DQoNCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjEyLjBwdCI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQ7DQpmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZx
dW90O3NhbnMtc2VyaWYmcXVvdDsiPkFyZW4ndCB0aGVzZSBpbmRlcGVuZGVudCBpc3N1ZXM/PGJy
Pg0KPGJyPg0KUmVnYXJkbGVzcyBob3cgdGhlIGNsaWVudCBmaWd1cmVzIHdoYXQgdGhlIHNlcnZl
ciBzdXBwb3J0cyAoZGlzY292ZXJ5PGJyPg0Kb3IgaGFyZCBjb2RlIGNvbmZpZ3VyYXRpb24pIGl0
IG11c3QgaGF2ZSBhIHdheSB0byB0ZWxsIHRoZTxicj4NCkF1dGhvcml6YXRpb24gU2VydmVyIGl0
cyBwcmVmZXJlbmNlcyB3aGVuIGl0IHNlbmRzIHRoZSB1c2VyIG92ZXIuPGJyPg0KPGJyPg0KTWFy
aXVzPGJyPg0KPGJyPg0KPGJyPg0KPGJyPg0KT24gVHVlLCBNYXIgMzAsIDIwMTAgYXQgODo1MCBQ
TSwgQW50aG9ueSBOYWRhbGluICZsdDs8YSBocmVmPSJ0b255bmFkQG1pY3Jvc29mdC5jb20iPjxh
IGhyZWY9Im1haWx0bzp0b255bmFkQG1pY3Jvc29mdC5jb20iPnRvbnluYWRAbWljcm9zb2Z0LmNv
bTwvYT48L2E+Jmd0OyB3cm90ZTo8YnI+DQomZ3Q7IFNvIEkgZG91YnQgdGhhdCB0aGUgY2xpZW50
IGFsd2F5cyBrbm93cyB3aGF0IHRoZSBzZXJ2ZXIgc3VwcG9ydHMsIHRoZQ0Kc2VydmVyIHNob3Vs
ZCBiZSBvcGVuIGluIGFsbG93aW5nIGFsbCBwYXJ0aWVzIHRvIGZpbmQgb3V0IHdoYXQgaXMgc3Vw
cG9ydGVkPGJyPg0KJmd0Ozxicj4NCiZndDsgLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS08YnI+
DQomZ3Q7IEZyb206IDxhIGhyZWY9Im9hdXRoLWJvdW5jZXNAaWV0Zi5vcmciPjxhIGhyZWY9Im1h
aWx0bzpvYXV0aC1ib3VuY2VzQGlldGYub3JnIj5vYXV0aC1ib3VuY2VzQGlldGYub3JnPC9hPjwv
YT4gWzxhIGhyZWY9Im1haWx0bzpvYXV0aC1ib3VuY2VzQGlldGYub3JnIj48YSBocmVmPSJtYWls
dG86b2F1dGgtYm91bmNlc0BpZXRmLm9yZyI+bWFpbHRvOm9hdXRoLWJvdW5jZXNAaWV0Zi5vcmc8
L2E+PC9hPl0gT24NCkJlaGFsZiBPZiBCcmlhbiBFYXRvbjxicj4NCiZndDsgU2VudDogVHVlc2Rh
eSwgTWFyY2ggMzAsIDIwMTAgNTo0NCBQTTxicj4NCiZndDsgVG86IFJhZmZpIEtyaWtvcmlhbjxi
cj4NCiZndDsgQ2M6IE9BdXRoIFdHPGJyPg0KJmd0OyBTdWJqZWN0OiBSZTogW09BVVRILVdHXSBB
IGRpc3BsYXkgcGFyYW1ldGVyIGZvciB1c2VyIGF1dGhvcml6YXRpb24NCnJlcXVlc3RzPGJyPg0K
Jmd0Ozxicj4NCiZndDsgT24gVHVlLCBNYXIgMzAsIDIwMTAgYXQgNToyNSBQTSwgUmFmZmkgS3Jp
a29yaWFuICZsdDs8YSBocmVmPSJyYWZmaUB0d2l0dGVyLmNvbSI+PGEgaHJlZj0ibWFpbHRvOnJh
ZmZpQHR3aXR0ZXIuY29tIj5yYWZmaUB0d2l0dGVyLmNvbTwvYT48L2E+Jmd0OyB3cm90ZTo8YnI+
DQomZ3Q7Jmd0OyB3aHkgZG9lcyBhIGNsaWVudCBuZWVkIHRvIGRpc2NvdmVyIHdoYXQgdGhlIHNl
cnZlciBzdXBwb3J0cz88YnI+DQomZ3Q7Jmd0OyBwcmVzdW1hYmx5IHRoZSBjbGllbnQgd291bGQg
YWxyZWFkeSBrbm93IGdpdmVuIHRoYXQgdGhleSBhcmUNCmludGVncmF0aW5nIHdpdGggaXQ/PGJy
Pg0KJmd0Ozxicj4NCiZndDsgKzEuPGJyPg0KJmd0OyBfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXzxicj4NCiZndDsgT0F1dGggbWFpbGluZyBsaXN0PGJyPg0K
Jmd0OyA8YSBocmVmPSJPQXV0aEBpZXRmLm9yZyI+PGEgaHJlZj0ibWFpbHRvOk9BdXRoQGlldGYu
b3JnIj5PQXV0aEBpZXRmLm9yZzwvYT48L2E+PGJyPg0KJmd0OyA8YSBocmVmPSJodHRwczovL3d3
dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29hdXRoIj48YSBocmVmPSJodHRwczovL3d3dy5p
ZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29hdXRoIj5odHRwczovL3d3dy5pZXRmLm9yZy9tYWls
bWFuL2xpc3RpbmZvL29hdXRoPC9hPjwvYT48YnI+DQomZ3Q7PGJyPg0KJmd0OyBfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4NCiZndDsgT0F1dGggbWFp
bGluZyBsaXN0PGJyPg0KJmd0OyA8YSBocmVmPSJPQXV0aEBpZXRmLm9yZyI+PGEgaHJlZj0ibWFp
bHRvOk9BdXRoQGlldGYub3JnIj5PQXV0aEBpZXRmLm9yZzwvYT48L2E+PGJyPg0KJmd0OyA8YSBo
cmVmPSJodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29hdXRoIj48YSBocmVm
PSJodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29hdXRoIj5odHRwczovL3d3
dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29hdXRoPC9hPjwvYT48YnI+DQomZ3Q7PGJyPg0K
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+DQpPQXV0
aCBtYWlsaW5nIGxpc3Q8YnI+DQo8YSBocmVmPSJPQXV0aEBpZXRmLm9yZyI+PGEgaHJlZj0ibWFp
bHRvOk9BdXRoQGlldGYub3JnIj5PQXV0aEBpZXRmLm9yZzwvYT48L2E+PGJyPg0KPGEgaHJlZj0i
aHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9vYXV0aCI+PGEgaHJlZj0iaHR0
cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9vYXV0aCI+aHR0cHM6Ly93d3cuaWV0
Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9vYXV0aDwvYT48L2E+PC9zcGFuPjxvOnA+PC9vOnA+PC9w
Pg0KDQo8L2Rpdj4NCg0KDQoNCg0KPC9kaXY+PC9ibG9ja3F1b3RlPjwvYm9keT48L2h0bWw+

--_000_358C1AAC8BD74B57B6982D80B3A9F842hueniversecom_--

From gffletch@aol.com  Fri Apr  9 07:30:39 2010
Return-Path: <gffletch@aol.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4D3513A6841 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 07:30:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hM3349bCpXEQ for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 07:30:38 -0700 (PDT)
Received: from imr-ma05.mx.aol.com (imr-ma05.mx.aol.com [64.12.100.31]) by core3.amsl.com (Postfix) with ESMTP id 42ED93A6358 for <oauth@ietf.org>; Fri,  9 Apr 2010 07:30:38 -0700 (PDT)
Received: from mtaout-ma06.r1000.mx.aol.com (mtaout-ma06.r1000.mx.aol.com [172.29.41.6]) by imr-ma05.mx.aol.com (8.14.1/8.14.1) with ESMTP id o39EUBF8029705; Fri, 9 Apr 2010 10:30:14 -0400
Received: from palantir.local (unknown [10.172.1.202]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mtaout-ma06.r1000.mx.aol.com (MUA/Third Party Client Interface) with ESMTPSA id F3AB9E00015C; Fri,  9 Apr 2010 10:30:13 -0400 (EDT)
Message-ID: <4BBF39F4.6060103@aol.com>
Date: Fri, 09 Apr 2010 10:30:12 -0400
From: George Fletcher <gffletch@aol.com>
Organization: AOL LLC
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Brian Eaton <beaton@google.com>
References: <C7D81BA8.319A2%eran@hueniverse.com>	 <ED97F89464499E4D80A68CDCE1E3D1FF08280A59@PACORPEXCMB03.cable.comcast.com>	 <4BBDE35F.4000102@aol.com> <u2mdaf5b9571004082158r62fad046t6fb29004c255a4f4@mail.gmail.com>
In-Reply-To: <u2mdaf5b9571004082158r62fad046t6fb29004c255a4f4@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------020600000401020901000908"
x-aol-global-disposition: G
X-AOL-SCOLL-SCORE: 0:2:367210720:93952408  
X-AOL-SCOLL-URL_COUNT: 0  
x-aol-sid: 3039ac1d29064bbf39f51f83
X-AOL-IP: 10.172.1.202
Cc: "Moore, Jonathan" <Jonathan_Moore@comcast.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization request header
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 14:30:39 -0000

This is a multi-part message in MIME format.
--------------020600000401020901000908
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Yes, this is possible, though to be secure it should really happen over 
SSL which is less of a requirement for a signed request.

I guess the main question is whether we really need to remove the 
signature related parameters from URL and only allow them in the 
Authorization header. For signed requests, these use cases pretty much 
require that the signature parameters be allowed in the URL.

Obviously, if we change our model to not use signed URLs then this issue 
goes away:)

Thanks,
George

On 4/9/10 12:58 AM, Brian Eaton wrote:
> On Thu, Apr 8, 2010 at 7:08 AM, George Fletcher<gffletch@aol.com>  wrote:
>    
>> I realize that these sorts of use cases are trivial if establishment of the
>> SSO session switches from a signed mechanism to the OAuth WRAP bearer token
>> model. The one nice feature of the signed URL is that it is one time use
>> where the bearer token can be replayed multiple times.
>>      
> Yep, Google does this kind of thing too.
>
> Is there something that stops you from declaring that a particular
> token is single use?
>
> 1) Client makes call to Authorization server, passing in either the
> refresh token or an access token (depending on the security model you
> want.)
> 2) AS returns a token.
> 3) Client uses the token to pop open a web browser.
>
> Cheers,
> Brian
>
>    

--------------020600000401020901000908
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<font face="Helvetica, Arial, sans-serif">Yes, this is possible, though
to be secure it should really happen over SSL which is less of a
requirement for a signed request. <br>
<br>
I guess the main question is whether we really need to remove the
signature related parameters from URL and only allow them in the
Authorization header. For signed requests, these use cases pretty much
require that the signature parameters be allowed in the URL.<br>
<br>
Obviously, if we change our model to not use signed URLs then this
issue goes away:)<br>
<br>
Thanks,<br>
George<br>
</font><br>
On 4/9/10 12:58 AM, Brian Eaton wrote:
<blockquote
 cite="mid:u2mdaf5b9571004082158r62fad046t6fb29004c255a4f4@mail.gmail.com"
 type="cite">
  <pre wrap="">On Thu, Apr 8, 2010 at 7:08 AM, George Fletcher <a class="moz-txt-link-rfc2396E" href="mailto:gffletch@aol.com">&lt;gffletch@aol.com&gt;</a> wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">I realize that these sorts of use cases are trivial if establishment of the
SSO session switches from a signed mechanism to the OAuth WRAP bearer token
model. The one nice feature of the signed URL is that it is one time use
where the bearer token can be replayed multiple times.
    </pre>
  </blockquote>
  <pre wrap="">
Yep, Google does this kind of thing too.

Is there something that stops you from declaring that a particular
token is single use?

1) Client makes call to Authorization server, passing in either the
refresh token or an access token (depending on the security model you
want.)
2) AS returns a token.
3) Client uses the token to pop open a web browser.

Cheers,
Brian

  </pre>
</blockquote>
</body>
</html>

--------------020600000401020901000908--

From uidude@google.com  Fri Apr  9 07:38:52 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 96AC73A6900 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 07:38:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.716
X-Spam-Level: 
X-Spam-Status: No, score=-101.716 tagged_above=-999 required=5 tests=[AWL=0.260, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OecV5jMgM06Y for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 07:38:50 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 794B53A6956 for <oauth@ietf.org>; Fri,  9 Apr 2010 07:37:43 -0700 (PDT)
Received: from wpaz13.hot.corp.google.com (wpaz13.hot.corp.google.com [172.24.198.77]) by smtp-out.google.com with ESMTP id o39EbbSA014668 for <oauth@ietf.org>; Fri, 9 Apr 2010 16:37:38 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270823858; bh=an2om2bUzXX60DxCsRT7ikn66Sc=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=jvDInC1sDvTsFtvoeM82VCj3K5EpkBWR8QTAv8hxOaP+FOfMY09647/QpOpCHJl1R 5Tu9Iya2SkbZTLG07arbQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=kHlNakCqQ6o1y9VVTOF+IHTG0xB1BKnChq+HmwDt2EDzFazD1NOVyTcHj4AzPQGsT 07AYOvUpAIFlG0sGdVQmA==
Received: from qw-out-1920.google.com (qwc5.prod.google.com [10.241.193.133]) by wpaz13.hot.corp.google.com with ESMTP id o39EbapC024741 for <oauth@ietf.org>; Fri, 9 Apr 2010 07:37:37 -0700
Received: by qw-out-1920.google.com with SMTP id 5so156565qwc.16 for <oauth@ietf.org>; Fri, 09 Apr 2010 07:37:36 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.131 with HTTP; Fri, 9 Apr 2010 07:37:16 -0700 (PDT)
In-Reply-To: <C7E42629.31F73%eran@hueniverse.com>
References: <j2rc8689b661004082311r46315ef2r367e7271ea704408@mail.gmail.com>  <C7E42629.31F73%eran@hueniverse.com>
From: Evan Gilbert <uidude@google.com>
Date: Fri, 9 Apr 2010 07:37:16 -0700
Received: by 10.229.230.4 with SMTP id jk4mr220996qcb.1.1270823856430; Fri, 09  Apr 2010 07:37:36 -0700 (PDT)
Message-ID: <l2nc8689b661004090737w5b2ba84bn94e1e202b8ade52c@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=0016364ec7a888e5340483cebc69
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 14:38:52 -0000

--0016364ec7a888e5340483cebc69
Content-Type: text/plain; charset=ISO-8859-1

On Fri, Apr 9, 2010 at 12:32 AM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

>
>
>
> On 4/8/10 11:11 PM, "Evan Gilbert" <uidude@google.com> wrote:
>
> >>
> >>
> >>>> 2. Section 2.1: "The authorization endpoint advertised by the server
> >>>> MUST NOT include a query or fragment components as defined by
> >>>> [RFC3986] section 3." Why do we disallow query parameters? If we want
> >>>> to enforce strict matching of callback URLs maybe we should just
> >>>> demand that.
> >>>
> >>> I don't like having both custom query and a state parameter. If servers
> have
> >>> to accommodate custom queries, then we might as well drop the special
> state
> >>> parameter since clients can just make up whatever they want. I opted to
> use
> >>> the state parameter because it makes pre-registering URIs easier, and
> it
> >>> doesn't cause parameter namepsace conflicts (which is still an open
> issue).
> >>
> >> I think I got mixed up a bit. The authorization server endpoints
> >> should be allowed to have query parameters. No state is passed through
> >> these, and also no matching done against them.
> >>
> >> Registered callback URLs for clients should also be allowed to have
> >> query parameters. If strict matching is enforced, at least for the
> >> query part, then no state that can be passed, so they have to use the
> >> state parameter. Parameter namespace can be an issue, one more reason
> >> to keep the prefix :-)
> >
> > +1 on callback URLs and authorization server being allowed to have query
> > parameters.
>
> Nothing in the spec prevents the authorization endpoint from including
> extensions. Right now the spec is silent on how extensions work which means
> the server developer has to be careful in adding new parameters and should
> probably prefix them with their company name or some other prefix to ensure
> they will not conflict with the core parameters and standard extensions. I
> also rather make it less appealing to extend the authorization endpoint
> because each such custom extension (not published as a standard) reduces
> interoperability.
>
> Callback URIs support client state which accomplishes *exactly* the same
> thing, but with full and trivial client support. So the feature is there,
> now we are just arguing over style.


> > Callback URLs might be a page on an existing web site, and we will be
> limiting
> > the usefulness of the Web & User-Agent profile if we disallow these pages
> to
> > have query parameters.
>
> Its trivial to add an endpoint that takes a callback and redirects it
> internally to the existing endpoint.
>

Not trivial to do this. That callback adds latency and more importantly
requires all clients do the proper redirect URL enforcement. Proper redirect
enforcement is an essential security characteristic, and a small bug in URL
parsing means that you've created an open redirector (for example, checking
that the URL prefix is "http://www.mysite.com" would be a bug, because
attackers could use "http://www.mysite.com:password@www.evil.com/".

What is the benefit we get from the restriction on callback URL parameters?
It's not clear to me why we want this restriction in the first place.

>
> > Authorization server is probably less necessary, but don't see any good
> reason
> > to restrict.
>
> Its not.
>
> EHL
>
>

--0016364ec7a888e5340483cebc69
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Fri, Apr 9, 2010 at 12:32 AM, Eran Ha=
mmer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com">era=
n@hueniverse.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote"=
 style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class=3D"im"><br>
<br>
<br>
On 4/8/10 11:11 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"mailto:uidude@g=
oogle.com">uidude@google.com</a>&gt; wrote:<br>
<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt;&gt; 2. Section 2.1: &quot;The authorization endpoint advertise=
d by the server<br>
&gt;&gt;&gt;&gt; MUST NOT include a query or fragment components as defined=
 by<br>
&gt;&gt;&gt;&gt; [RFC3986] section 3.&quot; Why do we disallow query parame=
ters? If we want<br>
&gt;&gt;&gt;&gt; to enforce strict matching of callback URLs maybe we shoul=
d just<br>
&gt;&gt;&gt;&gt; demand that.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I don&#39;t like having both custom query and a state paramete=
r. If servers have<br>
&gt;&gt;&gt; to accommodate custom queries, then we might as well drop the =
special state<br>
&gt;&gt;&gt; parameter since clients can just make up whatever they want. I=
 opted to use<br>
&gt;&gt;&gt; the state parameter because it makes pre-registering URIs easi=
er, and it<br>
&gt;&gt;&gt; doesn&#39;t cause parameter namepsace conflicts (which is stil=
l an open issue).<br>
&gt;&gt;<br>
&gt;&gt; I think I got mixed up a bit. The authorization server endpoints<b=
r>
&gt;&gt; should be allowed to have query parameters. No state is passed thr=
ough<br>
&gt;&gt; these, and also no matching done against them.<br>
&gt;&gt;<br>
&gt;&gt; Registered callback URLs for clients should also be allowed to hav=
e<br>
&gt;&gt; query parameters. If strict matching is enforced, at least for the=
<br>
&gt;&gt; query part, then no state that can be passed, so they have to use =
the<br>
&gt;&gt; state parameter. Parameter namespace can be an issue, one more rea=
son<br>
&gt;&gt; to keep the prefix :-)<br>
&gt;<br>
&gt; +1 on callback URLs and authorization server being allowed to have que=
ry<br>
&gt; parameters.<br>
<br>
</div>Nothing in the spec prevents the authorization endpoint from includin=
g<br>
extensions. Right now the spec is silent on how extensions work which means=
<br>
the server developer has to be careful in adding new parameters and should<=
br>
probably prefix them with their company name or some other prefix to ensure=
<br>
they will not conflict with the core parameters and standard extensions. I<=
br>
also rather make it less appealing to extend the authorization endpoint<br>
because each such custom extension (not published as a standard) reduces<br=
>
interoperability.<br>
<br>
Callback URIs support client state which accomplishes *exactly* the same<br=
>
thing, but with full and trivial client support. So the feature is there,<b=
r>
now we are just arguing over style.</blockquote><blockquote class=3D"gmail_=
quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1=
ex;">
<div class=3D"im"><br>
&gt; Callback URLs might be a page on an existing web site, and we will be =
limiting<br>
&gt; the usefulness of the Web &amp; User-Agent profile if we disallow thes=
e pages to<br>
&gt; have query parameters.<br>
<br>
</div>Its trivial to add an endpoint that takes a callback and redirects it=
<br>
internally to the existing endpoint.<br></blockquote><div><br></div><div>No=
t trivial to do this.=A0That callback adds latency and more importantly req=
uires all clients do the proper redirect URL enforcement. Proper redirect e=
nforcement is an essential security characteristic, and a small bug in URL =
parsing means that you&#39;ve created an open redirector (for example, chec=
king that the URL prefix is &quot;<a href=3D"http://www.mysite.com">http://=
www.mysite.com</a>&quot; would be a bug, because attackers could use &quot;=
<a href=3D"http://www.mysite.com:password@www.evil.com/">http://www.mysite.=
com:password@www.evil.com/</a>&quot;.</div>

<div><br></div><div>What is the benefit we get from the restriction on call=
back URL parameters? It&#39;s not clear to me why we want this restriction =
in the first place.</div><blockquote class=3D"gmail_quote" style=3D"margin:=
0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


<div class=3D"im"><br>
&gt; Authorization server is probably less necessary, but don&#39;t see any=
 good reason<br>
&gt; to restrict.<br>
<br>
</div>Its not.<br>
<font color=3D"#888888"><br>
EHL<br>
<br>
</font></blockquote></div><br>

--0016364ec7a888e5340483cebc69--

From igor.faynberg@alcatel-lucent.com  Fri Apr  9 07:43:22 2010
Return-Path: <igor.faynberg@alcatel-lucent.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6934C28C0D8 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 07:43:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id O8+LffE-Xves for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 07:43:21 -0700 (PDT)
Received: from ihemail3.lucent.com (ihemail3.lucent.com [135.245.0.37]) by core3.amsl.com (Postfix) with ESMTP id 3FD803A67F4 for <oauth@ietf.org>; Fri,  9 Apr 2010 07:43:12 -0700 (PDT)
Received: from umail.lucent.com (h135-3-40-63.lucent.com [135.3.40.63]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id o39Eh4TN005941 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 9 Apr 2010 09:43:04 -0500 (CDT)
Received: from [135.244.9.42] (faynberg.lra.lucent.com [135.244.9.42]) by umail.lucent.com (8.13.8/TPES) with ESMTP id o39Eh3p1015589; Fri, 9 Apr 2010 09:43:03 -0500 (CDT)
Message-ID: <4BBF3CF9.9000004@alcatel-lucent.com>
Date: Fri, 09 Apr 2010 10:43:05 -0400
From: Igor Faynberg <igor.faynberg@alcatel-lucent.com>
Organization: Alcatel-Lucent
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
To: Allen Tom <atom@yahoo-inc.com>
References: <C7E3B224.2A50E%atom@yahoo-inc.com>
In-Reply-To: <C7E3B224.2A50E%atom@yahoo-inc.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.37
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization request header
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: igor.faynberg@alcatel-lucent.com
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 14:43:22 -0000

Yes, it does, thanks!

It makes me think that the Security Considerations text should include 
something along the lines that OAuth does not exclude (or maybe even 
"encourages" instead of "does not exclude") multi-factor authentication, 
which can mitigate cases where the present security mechanisms deem 
insufficient.

Igor


Allen Tom wrote:
> Hi Igor,
>
> Without getting into any specific details, most large websites will check
> your browser cookies, along with other factors (including your IP address,
> simultaneous sessions from other IP addresses, recent changes to your
> account, the time you last verified your password, etc) to determine if your
> browser is still authorized to access your Mail. When in doubt, the site
> will verify your password to refresh the session before continuing.
>
> Hope that helps,
> Allen
>
>
>
> On 4/8/10 3:09 PM, "Igor Faynberg" <igor.faynberg@alcatel-lucent.com> wrote:
>
>   
>> Allen,
>>
>> (I am a happy user of Yahoo mail via Verizon.) In some cases, especially
>> if I had not used e-mail for a while, Yahoo prompts me to enter the
>> password. Now, I think this is a very good feature, which would protect
>> me if my computer is stolen. The question: how is this interworking with
>> the case you explained?
>>
>> Igor
>>
>> Allen Tom wrote:
>>     
>>> Yahoo has exactly the same use case.
>>>
>>> The user is authenticated into the Yahoo Instant Messenger client
>>> application, and clicks on the Yahoo Mail button to check Yahoo Mail.
>>>
>>> Clicking the Mail button spawns a browser window with an
>>> authentication token that is passed to the browser on the URL. The
>>> browser submits the token to Yahoo¹s authentication server which
>>> validates the token, sets authentication cookies to the browser, and
>>> then redirects the browser to Yahoo Mail.
>>>
>>> Allen
>>>
>>>
>>> On 4/8/10 11:30 AM, "George Fletcher" <gffletch@aol.com> wrote:
>>>
>>>     On 4/8/10 11:31 AM, Eran Hammer-Lahav wrote:
>>>
>>>         Re: [OAUTH-WG] Limiting signed requests to use the
>>>         Authorization request header Can you share an example of a
>>>         native application launching an external browser with a
>>>         protect resource?
>>>
>>>     Native application = AIM
>>>     Protected Resource = User's AIM Mail box
>>>
>>>     AIM has supported this for a while.
>>>
>>>
>>>         Why can¹t the end user just login to the browser using normal
>>>         web login and access the resource?
>>>
>>>     It's a better user experience to be seamlessly logged in than
>>>     having to reenter credentials.
>>>
>>>     Thanks,
>>>     George
>>>
>>>
>>>         EHL
>>>
>>>
>>>         On 4/8/10 7:51 AM, "Anthony Nadalin" <tonynad@microsoft.com>
>>>         wrote:
>>>
>>>
>>>       
>>>> Why is the native application launching a browser with a
>>>>         
>>>             protected resource request? That seems odd.
>>>
>>>             Not odd at all a lot of the Eclipse applications can work
>>>             this way
>>>
>>>
>>>             *From:* oauth-bounces@ietf.org
>>>             [mailto:oauth-bounces@ietf.org] *On Behalf Of *Eran
>>>             Hammer-Lahav
>>>             *Sent:* Thursday, April 08, 2010 7:41 AM
>>>             *To:* George Fletcher; OAuth WG
>>>             *Cc:* Jonathan Moore
>>>             *Subject:* Re: [OAUTH-WG] Limiting signed requests to use
>>>             the Authorization request header
>>>
>>>             Why is the native application launching a browser with a
>>>             protected resource request? That seems odd.
>>>
>>>             Note that we currently have no plans of supporting
>>>             signatures in any of the flows. We are discussing
>>>             signatures only for using tokens with secrets when
>>>             accessing protected resources.
>>>
>>>             EHL
>>>
>>>
>>>             On 4/8/10 7:08 AM, "George Fletcher" <gffletch@aol.com> wrote:
>>>             Another use case is where a rich client wants to bootstrap
>>>             a web session with the same identity (rich client to web
>>>             SSO). Assuming that the web session will be established
>>>             via OAuth with signatures, there is no way to fire up the
>>>             browser with a "signed URL" if the OAuth parameters and
>>>             signature need to be in a header.
>>>
>>>             As Jon mentions, the concept of allowing a service to
>>>             create a signed URL and then pass it back to JS running in
>>>             the browser, or invoking a browser directly is something
>>>             that we leverage a lot across our rich clients and web
>>>             applications.
>>>
>>>             I realize that these sorts of use cases are trivial if
>>>             establishment of the SSO session switches from a signed
>>>             mechanism to the OAuth WRAP bearer token model. The one
>>>             nice feature of the signed URL is that it is one time use
>>>             where the bearer token can be replayed multiple times.
>>>
>>>             Thanks,
>>>             George
>>>
>>>             Real world use case. Login into the latest AIM client.
>>>             Click the mail icon/link.
>>>
>>>
>>>             On 3/31/10 7:25 AM, Moore, Jonathan wrote:
>>>
>>>             What about a use case where the signature will be
>>>             generated by one component but the request will be
>>>             redeemed by another?
>>>
>>>             For example, suppose there is a cross-domain JSONP call
>>>             that requires authorization; in this case, I might have my
>>>             client side code hit *my* origin server, obtain a signed
>>>             URL, and then redeem it by hitting the JSONP resource.
>>>             This has scaling advantages over having my origin proxy an
>>>             OAuth request, and doesn't require me to have keys located
>>>             on the client; I can keep them safely in my data centers.
>>>
>>>             In this case, sending a "ready to redeem" signed request
>>>             using the query parameter mechanism simplifies the
>>>             client-side code. Furthermore, in this use case
>>>             (cross-domain script inclusion), the client doesn't have
>>>             the means to set the Authorization header (it can only
>>>             include a <script> element with a URL).
>>>
>>>             A similar use case would be if you wanted to provide
>>>             signed redirects (similarly useful for cross-domain
>>>             functionality); browsers aren't going to modify the
>>>             redirect URL they get back, or add an Authorization header
>>>             to it.
>>>
>>>             Jon
>>>             ........
>>>             Jon Moore
>>>             Comcast Interactive Media
>>>
>>>
>>>
>>>             -----Original Message-----
>>>             From: oauth-bounces@ietf.org on behalf of Eran Hammer-Lahav
>>>             Sent: Wed 3/31/2010 12:20 AM
>>>             To: OAuth WG
>>>             Subject: [OAUTH-WG] Limiting signed requests to use the
>>>             Authorizationrequest header
>>>
>>>             Since we have consensus that using signed requests is a
>>>             more advance use
>>>             case and will be used by more experienced developer, I
>>>             would like to suggest
>>>             we limit sending signed request parameters to the
>>>             Authorization header (no
>>>             URI query parameters or form-encoded body).
>>>
>>>             This will not change the ability to send the oauth_token
>>>             parameter in the
>>>             query or body when using bearer tokens (as well as in the
>>>             header). It will
>>>             only apply to sending signed requests.
>>>
>>>             The makes client request parameter much simpler as the
>>>             only parameter
>>>             "invading" the URI or body space of the request is
>>>             oauth_token. Anything
>>>             else is limited to the header.
>>>
>>>             Thoughts? If you are not a fan, please reply with a use case.
>>>
>>>             EHL
>>>
>>>             _______________________________________________
>>>             OAuth mailing list
>>>             OAuth@ietf.org
>>>             https://www.ietf.org/mailman/listinfo/oauth
>>>
>>>             _______________________________________________
>>>             OAuth mailing list
>>>             OAuth@ietf.org
>>>             https://www.ietf.org/mailman/listinfo/oauth
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>         _______________________________________________
>>>         OAuth mailing list
>>>         OAuth@ietf.org
>>>         https://www.ietf.org/mailman/listinfo/oauth
>>>
>>>
>>>     ------------------------------------------------------------------------
>>>     _______________________________________________
>>>     OAuth mailing list
>>>     OAuth@ietf.org
>>>     https://www.ietf.org/mailman/listinfo/oauth
>>>
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>   
>>>       
>
>   

From uidude@google.com  Fri Apr  9 07:44:35 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BF6813A6841 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 07:44:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.759
X-Spam-Level: 
X-Spam-Status: No, score=-101.759 tagged_above=-999 required=5 tests=[AWL=0.217, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xUptb7pb2u4F for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 07:44:34 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id F0AA33A6358 for <oauth@ietf.org>; Fri,  9 Apr 2010 07:44:33 -0700 (PDT)
Received: from kpbe11.cbf.corp.google.com (kpbe11.cbf.corp.google.com [172.25.105.75]) by smtp-out.google.com with ESMTP id o39EiQ3f004627 for <oauth@ietf.org>; Fri, 9 Apr 2010 16:44:27 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270824267; bh=KV++nCbDGyowBnE3wHIVLMBkV4w=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=KLbed3lo/+S8KwNk0xGW1fc1DSsHdYMGwKM0dcojlLDqDkunAQWOx+AdSjYTqvP14 Mw3dLOaX/IfqDjYC9//UQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=b0I+xuGBOSGXSM327afYUbEointRXH2QQKf9hu2EM+GR3thsUjqagXGJTHstwpUmd 979bCzewM2S4jFOd6zg6w==
Received: from qw-out-2122.google.com (qwb9.prod.google.com [10.241.193.73]) by kpbe11.cbf.corp.google.com with ESMTP id o39EhoFV010846 for <oauth@ietf.org>; Fri, 9 Apr 2010 09:43:55 -0500
Received: by qw-out-2122.google.com with SMTP id 9so1069082qwb.63 for <oauth@ietf.org>; Fri, 09 Apr 2010 07:43:50 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.131 with HTTP; Fri, 9 Apr 2010 07:43:30 -0700 (PDT)
In-Reply-To: <l2nc8689b661004090737w5b2ba84bn94e1e202b8ade52c@mail.gmail.com>
References: <j2rc8689b661004082311r46315ef2r367e7271ea704408@mail.gmail.com>  <C7E42629.31F73%eran@hueniverse.com> <l2nc8689b661004090737w5b2ba84bn94e1e202b8ade52c@mail.gmail.com>
From: Evan Gilbert <uidude@google.com>
Date: Fri, 9 Apr 2010 07:43:30 -0700
Received: by 10.229.223.140 with SMTP id ik12mr75859qcb.98.1270824230295; Fri,  09 Apr 2010 07:43:50 -0700 (PDT)
Message-ID: <j2jc8689b661004090743g4006d265ua7a70f3c6d292f36@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=00163630ebddd198850483ced226
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 14:44:35 -0000

--00163630ebddd198850483ced226
Content-Type: text/plain; charset=ISO-8859-1

On Fri, Apr 9, 2010 at 7:37 AM, Evan Gilbert <uidude@google.com> wrote:

>
>
> On Fri, Apr 9, 2010 at 12:32 AM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:
>
>>
>>
>>
>> On 4/8/10 11:11 PM, "Evan Gilbert" <uidude@google.com> wrote:
>>
>> >>
>> >>
>> >>>> 2. Section 2.1: "The authorization endpoint advertised by the server
>> >>>> MUST NOT include a query or fragment components as defined by
>> >>>> [RFC3986] section 3." Why do we disallow query parameters? If we want
>> >>>> to enforce strict matching of callback URLs maybe we should just
>> >>>> demand that.
>> >>>
>> >>> I don't like having both custom query and a state parameter. If
>> servers have
>> >>> to accommodate custom queries, then we might as well drop the special
>> state
>> >>> parameter since clients can just make up whatever they want. I opted
>> to use
>> >>> the state parameter because it makes pre-registering URIs easier, and
>> it
>> >>> doesn't cause parameter namepsace conflicts (which is still an open
>> issue).
>> >>
>> >> I think I got mixed up a bit. The authorization server endpoints
>> >> should be allowed to have query parameters. No state is passed through
>> >> these, and also no matching done against them.
>> >>
>> >> Registered callback URLs for clients should also be allowed to have
>> >> query parameters. If strict matching is enforced, at least for the
>> >> query part, then no state that can be passed, so they have to use the
>> >> state parameter. Parameter namespace can be an issue, one more reason
>> >> to keep the prefix :-)
>> >
>> > +1 on callback URLs and authorization server being allowed to have query
>> > parameters.
>>
>> Nothing in the spec prevents the authorization endpoint from including
>> extensions. Right now the spec is silent on how extensions work which
>> means
>> the server developer has to be careful in adding new parameters and should
>> probably prefix them with their company name or some other prefix to
>> ensure
>> they will not conflict with the core parameters and standard extensions. I
>> also rather make it less appealing to extend the authorization endpoint
>> because each such custom extension (not published as a standard) reduces
>> interoperability.
>>
>> Callback URIs support client state which accomplishes *exactly* the same
>> thing, but with full and trivial client support. So the feature is there,
>> now we are just arguing over style.
>
>
>> > Callback URLs might be a page on an existing web site, and we will be
>> limiting
>> > the usefulness of the Web & User-Agent profile if we disallow these
>> pages to
>> > have query parameters.
>>
>> Its trivial to add an endpoint that takes a callback and redirects it
>> internally to the existing endpoint.
>>
>
> Not trivial to do this. That callback adds latency and more importantly
> requires all clients do the proper redirect URL enforcement. Proper redirect
> enforcement is an essential security characteristic, and a small bug in URL
> parsing means that you've created an open redirector (for example, checking
> that the URL prefix is "http://www.mysite.com" would be a bug, because
> attackers could use "http://www.mysite.com:password@www.evil.com/".
>

As a bonus, all of the redirect validation logic will need to be possible in
JavaScript for the User-Agent profile.


> What is the benefit we get from the restriction on callback URL parameters?
> It's not clear to me why we want this restriction in the first place.
>
>>
>> > Authorization server is probably less necessary, but don't see any good
>> reason
>> > to restrict.
>>
>> Its not.
>>
>> EHL
>>
>>
>

--00163630ebddd198850483ced226
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Fri, Apr 9, 2010 at 7:37 AM, Evan Gil=
bert <span dir=3D"ltr">&lt;<a href=3D"mailto:uidude@google.com">uidude@goog=
le.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"=
margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<br><br><div class=3D"gmail_quote"><div><div></div><div class=3D"h5">On Fri=
, Apr 9, 2010 at 12:32 AM, Eran Hammer-Lahav <span dir=3D"ltr">&lt;<a href=
=3D"mailto:eran@hueniverse.com" target=3D"_blank">eran@hueniverse.com</a>&g=
t;</span> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
<div><br>
<br>
<br>
On 4/8/10 11:11 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"mailto:uidude@g=
oogle.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt;&gt; 2. Section 2.1: &quot;The authorization endpoint advertise=
d by the server<br>
&gt;&gt;&gt;&gt; MUST NOT include a query or fragment components as defined=
 by<br>
&gt;&gt;&gt;&gt; [RFC3986] section 3.&quot; Why do we disallow query parame=
ters? If we want<br>
&gt;&gt;&gt;&gt; to enforce strict matching of callback URLs maybe we shoul=
d just<br>
&gt;&gt;&gt;&gt; demand that.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I don&#39;t like having both custom query and a state paramete=
r. If servers have<br>
&gt;&gt;&gt; to accommodate custom queries, then we might as well drop the =
special state<br>
&gt;&gt;&gt; parameter since clients can just make up whatever they want. I=
 opted to use<br>
&gt;&gt;&gt; the state parameter because it makes pre-registering URIs easi=
er, and it<br>
&gt;&gt;&gt; doesn&#39;t cause parameter namepsace conflicts (which is stil=
l an open issue).<br>
&gt;&gt;<br>
&gt;&gt; I think I got mixed up a bit. The authorization server endpoints<b=
r>
&gt;&gt; should be allowed to have query parameters. No state is passed thr=
ough<br>
&gt;&gt; these, and also no matching done against them.<br>
&gt;&gt;<br>
&gt;&gt; Registered callback URLs for clients should also be allowed to hav=
e<br>
&gt;&gt; query parameters. If strict matching is enforced, at least for the=
<br>
&gt;&gt; query part, then no state that can be passed, so they have to use =
the<br>
&gt;&gt; state parameter. Parameter namespace can be an issue, one more rea=
son<br>
&gt;&gt; to keep the prefix :-)<br>
&gt;<br>
&gt; +1 on callback URLs and authorization server being allowed to have que=
ry<br>
&gt; parameters.<br>
<br>
</div>Nothing in the spec prevents the authorization endpoint from includin=
g<br>
extensions. Right now the spec is silent on how extensions work which means=
<br>
the server developer has to be careful in adding new parameters and should<=
br>
probably prefix them with their company name or some other prefix to ensure=
<br>
they will not conflict with the core parameters and standard extensions. I<=
br>
also rather make it less appealing to extend the authorization endpoint<br>
because each such custom extension (not published as a standard) reduces<br=
>
interoperability.<br>
<br>
Callback URIs support client state which accomplishes *exactly* the same<br=
>
thing, but with full and trivial client support. So the feature is there,<b=
r>
now we are just arguing over style.</blockquote><blockquote class=3D"gmail_=
quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1=
ex">
<div><br>
&gt; Callback URLs might be a page on an existing web site, and we will be =
limiting<br>
&gt; the usefulness of the Web &amp; User-Agent profile if we disallow thes=
e pages to<br>
&gt; have query parameters.<br>
<br>
</div>Its trivial to add an endpoint that takes a callback and redirects it=
<br>
internally to the existing endpoint.<br></blockquote><div><br></div></div><=
/div><div>Not trivial to do this.=A0That callback adds latency and more imp=
ortantly requires all clients do the proper redirect URL enforcement. Prope=
r redirect enforcement is an essential security characteristic, and a small=
 bug in URL parsing means that you&#39;ve created an open redirector (for e=
xample, checking that the URL prefix is &quot;<a href=3D"http://www.mysite.=
com" target=3D"_blank">http://www.mysite.com</a>&quot; would be a bug, beca=
use attackers could use &quot;<a href=3D"http://www.mysite.com:password@www=
.evil.com/" target=3D"_blank">http://www.mysite.com:password@www.evil.com/<=
/a>&quot;.</div>

</div></blockquote><div><br></div><div>As a bonus, all of the redirect vali=
dation logic will need to be possible in JavaScript for the User-Agent prof=
ile.</div><div><br></div><blockquote class=3D"gmail_quote" style=3D"margin:=
0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class=3D"gmail_quote">
<div><br></div><div>What is the benefit we get from the restriction on call=
back URL parameters? It&#39;s not clear to me why we want this restriction =
in the first place.</div><div class=3D"im"><blockquote class=3D"gmail_quote=
" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div><br>
&gt; Authorization server is probably less necessary, but don&#39;t see any=
 good reason<br>
&gt; to restrict.<br>
<br>
</div>Its not.<br>
<font color=3D"#888888"><br>
EHL<br>
<br>
</font></blockquote></div></div><br>
</blockquote></div><br>

--00163630ebddd198850483ced226--

From uidude@google.com  Fri Apr  9 08:30:12 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 979B83A683A for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 08:30:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.79
X-Spam-Level: 
X-Spam-Status: No, score=-101.79 tagged_above=-999 required=5 tests=[AWL=0.186, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rHWWl6LidgZQ for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 08:30:10 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id D2FEE28C0CE for <oauth@ietf.org>; Fri,  9 Apr 2010 08:30:07 -0700 (PDT)
Received: from kpbe15.cbf.corp.google.com (kpbe15.cbf.corp.google.com [172.25.105.79]) by smtp-out.google.com with ESMTP id o39FTx5j004632 for <oauth@ietf.org>; Fri, 9 Apr 2010 17:30:00 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270827001; bh=7okdtFnJZAP3z23o0SVX+ep2ogE=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=ZJfGkHVo6loUPlfn0psPesk/jnK8+N69mblsli6SNzsOQnf4giLJeqItOaH5rxK1u xJZIjhaHYCgNJzDvwa60Q==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=ETFuaD36VCVNNqwGOqj2zV2tfuBfnL6BsUoYgvIyiScyFZ06tGRMiy7uy0d7y5vK7 Jrh/CHCx33Y6dpd61TwAQ==
Received: from qw-out-1920.google.com (qwk4.prod.google.com [10.241.195.132]) by kpbe15.cbf.corp.google.com with ESMTP id o39FSWMY005997 for <oauth@ietf.org>; Fri, 9 Apr 2010 08:29:58 -0700
Received: by qw-out-1920.google.com with SMTP id 4so1188511qwk.60 for <oauth@ietf.org>; Fri, 09 Apr 2010 08:29:58 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.131 with HTTP; Fri, 9 Apr 2010 08:29:36 -0700 (PDT)
In-Reply-To: <C7E41C61.31F6B%eran@hueniverse.com>
References: <p2sc8689b661004082117i64c88b4cq7add894e4b3e6d35@mail.gmail.com>  <C7E41C61.31F6B%eran@hueniverse.com>
From: Evan Gilbert <uidude@google.com>
Date: Fri, 9 Apr 2010 08:29:36 -0700
Received: by 10.229.26.135 with SMTP id e7mr154958qcc.58.1270826996656; Fri,  09 Apr 2010 08:29:56 -0700 (PDT)
Message-ID: <o2hc8689b661004090829va2b4da29n572d8ea86970a69e@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=001636418183b5b5170483cf7768
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Option to not prompt the user for authorization
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 15:30:12 -0000

--001636418183b5b5170483cf7768
Content-Type: text/plain; charset=ISO-8859-1

On Thu, Apr 8, 2010 at 11:50 PM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

>
>
>
> On 4/8/10 9:17 PM, "Evan Gilbert" <uidude@google.com> wrote:
>
> >
> >
> > On Thu, Apr 8, 2010 at 12:22 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> > wrote:
> >>
> >>
> >>
> >> On 4/7/10 9:20 PM, "Evan Gilbert" <uidude@google.com> wrote:
> >>
> >>> Authorization servers in the OAuth Web Callback flow and the User Agent
> flow
> >>> should have the option to redirect back with access/refresh tokens
> without
> >>> prompting the user, if the client has already been granted access to
> the
> >>> protected resource.
> >>>
> >>> This is already implied by some of the text (3.4.3.1 "After receiving
> (or
> >>> establishing via other means) an authorization decision from the
> resource
> >>> owner", but is not supported by the example flows.
> >>>
> >>> Suggested changes
> >>>
> >>> 3.4.1 Web Callback Flow
> >>>
> >>>    (B) The authorization server authenticates the end user (via
> >>> the user-agent) and MAY prompt the end user to grant or deny
> the client's
> >>> access request.
> >>
> >> How about instead:
> >>
> >> (B) The authorization server authenticates the end user (via the
> user-agent)
> >> and establishes whether the end user grants or denies the client's
> access
> >> request.
> >
> > The end user doesn't always control the resource grant decision (as an
> > example, a domain admin may grant access for users).
>
> No. Bu definition the end user (which is a specialized resource owner) is
> the only party allowed to grant authorization. Whoever grants authorization
> is the resource owner.
>

 Makes sense. To capture this, think we need to change
 "establishes whether the end user grants or denies" -> "establishes whether
the resource owner grants or denies".

>
> > Maybe "establishes whether the client has been granted access to
> protected
> > resource"?
> >
> > However, looking at all of the variants, think these new phrasings leave
> some
> > ambiguity. Ideally this will be clear to the reader that the user agent
> may
> > return immediately or may interact with the end user.
>
> The spec should make the flow simple to understand to a first-time/casual
> reader, and the basic scenario is where the user is prompted. As long as it
> doesn't prevent other specializations, it should not become harder to
> follow
> and more cryptic. It cannot tell a story without making some basic
> assumptions.
>

The basic scenario for the User Agent profile involves automatic redirects.
The access tokens are short lived, and the profile is mostly useless unless
authentication services support and clients use these redirects.

Also note that I still think removing ambiguity is good. This doesn't have
to be at odds with making it easy for the first-time/casual reader.


>
> >>
> >>>    (C) If authorization server determines the client has access to
> protected
> >>> resource, the authorization server redirects the user-agent back to the
> >>> client
> >>> to the callback URI provided earlier. The authorization includes a
> >>> verification code for the client to use to obtain an access token
> >>
> >> I don't think this is needed. The question is whether the user granted
> >> access. My proposed change removes the need to 'prompt' the user, which
> >> makes it possible to establish end user intent without asking again. But
> as
> >> some point you user must have granted access.
> >
> > Per note above, think it's slightly limiting to say the user must have
> granted
> > access.
>
> In OAuth the resource owner controls the decision. If you want someone else
> to control the decision, they are the resource owner. That's the model.
>

(per previous note, we should then change to say "resource owner" not "end
user")


>
> >>
> >>> 3.4.3 User Agent Flow
> >>>
> >>>    (B) The authorization server authenticates the end user (via
> >>> the user-agent) and MAY prompt the end user to grant or deny
> the client's
> >>> access request.
> >>>    (C) If authorization server determines the client has access to
> protected
> >>> resource, the authorization server redirects the user-agent to the
> >>> redirection
> >>> URI provided earlier. The redirection URI includes the access token in
> >>> the URI
> >>> fragment.
> >>
> >> Same.
> >>
> >>> Also, in cases where the authorization server doesn't prompt the user,
> we
> >>> may
> >>> want the ability for a client to ask for an immediate decision from the
> >>> server
> >>> instead of prompting the user using a parameter. Suggested changes:
> >>>
> >>> 3.4.1.1 Web Callback Flow | Client Requests Authorization
> >>> 3.4.3.1 User Agent Flow | Client Requests Authorization
> >>>
> >>> (new parameter)
> >>> immediate
> >>>   OPTIONAL. The parameter value must be set to "true" or "false" (case
> >>> sensitive). If set to "true", then the authorization flow MUST check
> >>> immediately if the client has access to protected resource and redirect
> back
> >>> with a successful response or "user_denied" error without prompting the
> >>> user.
> >>
> >> How about:
> >>
> >> immediate:
> >>
> >> OPTIONAL. The parameter value must be set to 'true' or 'false' (case
> >> sensitive). If set to 'true', the authorization server MUST NOT prompt
> the
> >> end user to authenticate or approve access. Instead, the authorization
> >> server attempts to establish the end user's identity via other means
> (e.g.
> >> Browser  cookies) and checks if the end user has previously approved an
> >> identical access  request by the same client and if that access grant is
> >> still active. If the authorization server does not support an immediate
> >> check or if it is unable to establish the end user's identity or
> approval
> >> status, it MUST deny the request without prompting the end user.
> Defaults to
> >> 'no' is omitted.
> >
> > This is better. Couple of requested modifications:
> > - Same point on whether the user has to grant access. Possibly change:
> > "checks if the end user has previously approved an
> > identical access  request by the same client and if that access grant is
> > still active" to
> > "checks if the client is authorized to access protected resource"
>
> I prefer the current text.
>

"end user has previously approved" -> "resource owner has previously
approved"

>
> > - Defaults to 'no' if omitted -> Defaults to 'false' if omitted
>
> Thanks.
>
> >
> >>
> >> Also, is it safe to add to the user-agent flow since the client isn't
> the
> >> same entity as a web server, but another installation? I think it is but
> >> want to ask before I add it there.
> >
> > Not sure I followed this question - could you provide more details?
>
> There is no client secret because the client isn't a single instance but
> something running on many separate computers. So when the server has to
> check if the client has access, its really just limited to checking if the
> logged in user approved that client identifier before. This breaks as soon
> as the user is tricked to follow a link using a client identifier he
> already
> approved.
>
> EHL
>
>

--001636418183b5b5170483cf7768
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Thu, Apr 8, 2010 at 11:50 PM, Eran Ha=
mmer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com">era=
n@hueniverse.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote"=
 style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class=3D"im"><br>
<br>
<br>
On 4/8/10 9:17 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"mailto:uidude@go=
ogle.com">uidude@google.com</a>&gt; wrote:<br>
<br>
&gt;<br>
&gt;<br>
&gt; On Thu, Apr 8, 2010 at 12:22 AM, Eran Hammer-Lahav &lt;<a href=3D"mail=
to:eran@hueniverse.com">eran@hueniverse.com</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On 4/7/10 9:20 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"mailto:=
uidude@google.com">uidude@google.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; Authorization servers in the OAuth Web Callback flow and the U=
ser Agent flow<br>
&gt;&gt;&gt; should have the option to redirect back with access/refresh to=
kens without<br>
&gt;&gt;&gt; prompting the user, if the client has already been granted acc=
ess to the<br>
&gt;&gt;&gt; protected resource.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; This is already implied by some of the text (3.4.3.1 &quot;Aft=
er receiving (or<br>
&gt;&gt;&gt; establishing via other means) an authorization=A0decision from=
 the resource<br>
&gt;&gt;&gt; owner&quot;, but is not supported by the example flows.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Suggested changes<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; 3.4.1 Web Callback Flow<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; =A0=A0 (B) The authorization server authenticates the end user=
 (via<br>
&gt;&gt;&gt; the=A0user-agent) and MAY prompt the end user to grant or deny=
 the=A0client&#39;s<br>
&gt;&gt;&gt; access request.<br>
&gt;&gt;<br>
&gt;&gt; How about instead:<br>
&gt;&gt;<br>
&gt;&gt; (B) The authorization server authenticates the end user (via the u=
ser-agent)<br>
&gt;&gt; and establishes whether the end user grants or denies the client&#=
39;s access<br>
&gt;&gt; request.<br>
&gt;<br>
&gt; The end user doesn&#39;t always control the resource grant decision (a=
s an<br>
&gt; example, a domain admin may grant access for users).=A0<br>
<br>
</div>No. Bu definition the end user (which is a specialized resource owner=
) is<br>
the only party allowed to grant authorization. Whoever grants authorization=
<br>
is the resource owner.<br></blockquote><div><br></div><div>=A0Makes sense. =
To capture this, think we need to change</div><div>=A0&quot;establishes whe=
ther the end user grants or denies&quot; -&gt; &quot;establishes whether th=
e resource owner grants or denies&quot;.</div>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">
<div class=3D"im"><br>
&gt; Maybe &quot;establishes whether the client has been granted access to =
protected<br>
&gt; resource&quot;?=A0<br>
&gt;<br>
&gt; However, looking at all of the variants, think these new phrasings lea=
ve some<br>
&gt; ambiguity. Ideally this will be clear to the reader that the user agen=
t may<br>
&gt; return immediately or may interact with the end user.<br>
<br>
</div>The spec should make the flow simple to understand to a first-time/ca=
sual<br>
reader, and the basic scenario is where the user is prompted. As long as it=
<br>
doesn&#39;t prevent other specializations, it should not become harder to f=
ollow<br>
and more cryptic. It cannot tell a story without making some basic<br>
assumptions.<br></blockquote><div><br></div><div>The basic scenario for the=
 User Agent profile involves automatic redirects. The access tokens are sho=
rt lived, and the profile is mostly useless unless authentication services =
support and clients use these redirects.</div>

<div><br></div><div>Also note that I still think removing ambiguity is good=
. This doesn&#39;t have to be at odds with making it easy for the first-tim=
e/casual reader.</div><div>=A0</div><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


<div class=3D"im"><br>
&gt;&gt;<br>
&gt;&gt;&gt; =A0=A0 (C)=A0If authorization server determines the client has=
 access to protected<br>
&gt;&gt;&gt; resource, the authorization server=A0redirects the user-agent =
back to the<br>
&gt;&gt;&gt; client<br>
&gt;&gt;&gt; to the callback URI=A0provided earlier. The authorization incl=
udes a<br>
&gt;&gt;&gt; verification=A0code for the client to use to obtain an access =
token<br>
&gt;&gt;<br>
&gt;&gt; I don&#39;t think this is needed. The question is whether the user=
 granted<br>
&gt;&gt; access. My proposed change removes the need to &#39;prompt&#39; th=
e user, which<br>
&gt;&gt; makes it possible to establish end user intent without asking agai=
n. But as<br>
&gt;&gt; some point you user must have granted access.<br>
&gt;<br>
&gt; Per note above, think it&#39;s slightly limiting to say the user must =
have granted<br>
&gt; access.<br>
<br>
</div>In OAuth the resource owner controls the decision. If you want someon=
e else<br>
to control the decision, they are the resource owner. That&#39;s the model.=
<br></blockquote><div><br></div><div>(per previous note, we should then cha=
nge to say &quot;resource owner&quot; not &quot;end user&quot;)</div><div>

=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;borde=
r-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class=3D"h5"><br>
&gt;&gt;<br>
&gt;&gt;&gt; 3.4.3 User Agent Flow<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; =A0=A0 (B) The authorization server authenticates the end user=
 (via<br>
&gt;&gt;&gt; the=A0user-agent) and MAY prompt the end user to grant or deny=
 the=A0client&#39;s<br>
&gt;&gt;&gt; access request.<br>
&gt;&gt;&gt; =A0=A0 (C) If authorization server determines the client has a=
ccess to protected<br>
&gt;&gt;&gt; resource, the authorization server=A0redirects the user-agent =
to the<br>
&gt;&gt;&gt; redirection<br>
&gt;&gt;&gt; URI provided=A0earlier. The redirection URI includes the acces=
s token in<br>
&gt;&gt;&gt; the=A0URI<br>
&gt;&gt;&gt; fragment.<br>
&gt;&gt;<br>
&gt;&gt; Same.<br>
&gt;&gt;<br>
&gt;&gt;&gt; Also, in cases where the authorization server doesn&#39;t prom=
pt the user, we<br>
&gt;&gt;&gt; may<br>
&gt;&gt;&gt; want the ability for a client to ask for an immediate decision=
 from the<br>
&gt;&gt;&gt; server<br>
&gt;&gt;&gt; instead of prompting the user using a parameter. Suggested cha=
nges:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; 3.4.1.1 Web Callback Flow | Client Requests Authorization<br>
&gt;&gt;&gt; 3.4.3.1 User Agent Flow | Client Requests Authorization<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; (new parameter)<br>
&gt;&gt;&gt; immediate<br>
&gt;&gt;&gt; =A0=A0OPTIONAL. The parameter value must be set to &quot;true&=
quot; or &quot;false&quot; (case<br>
&gt;&gt;&gt; sensitive). If set to &quot;true&quot;, then the authorization=
 flow MUST check<br>
&gt;&gt;&gt; immediately if the client has access to protected resource and=
 redirect back<br>
&gt;&gt;&gt; with a successful response or &quot;user_denied&quot; error wi=
thout prompting the<br>
&gt;&gt;&gt; user.<br>
&gt;&gt;<br>
&gt;&gt; How about:<br>
&gt;&gt;<br>
&gt;&gt; immediate:<br>
&gt;&gt;<br>
&gt;&gt; OPTIONAL. The parameter value must be set to &#39;true&#39; or &#3=
9;false&#39; (case<br>
&gt;&gt; sensitive). If set to &#39;true&#39;, the authorization server MUS=
T NOT prompt the<br>
&gt;&gt; end user to authenticate or approve access. Instead, the authoriza=
tion<br>
&gt;&gt; server attempts to establish the end user&#39;s identity via other=
 means (e.g.<br>
&gt;&gt; Browser =A0cookies) and checks if the end user has previously appr=
oved an<br>
&gt;&gt; identical access =A0request by the same client and if that access =
grant is<br>
&gt;&gt; still active. If the authorization server does not support an imme=
diate<br>
&gt;&gt; check or if it is unable to establish the end user&#39;s identity =
or approval<br>
&gt;&gt; status, it MUST deny the request without prompting the end user. D=
efaults to<br>
&gt;&gt; &#39;no&#39; is omitted.<br>
&gt;<br>
&gt; This is better. Couple of requested modifications:<br>
&gt; - Same point on whether the user has to grant access. Possibly change:=
<br>
&gt; &quot;checks if the end user has previously approved an<br>
&gt; identical access =A0request by the same client and if that access gran=
t is<br>
&gt; still active&quot; to<br>
&gt; &quot;checks if the client is authorized to access protected resource&=
quot;<br>
<br>
</div></div>I prefer the current text.<br></blockquote><div><br></div><div>=
&quot;end user has previously approved&quot; -&gt; &quot;resource owner has=
 previously approved&quot;</div><blockquote class=3D"gmail_quote" style=3D"=
margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


<div class=3D"im"><br>
&gt; - Defaults to &#39;no&#39; if omitted -&gt; Defaults to &#39;false&#39=
; if omitted<br>
<br>
</div>Thanks.<br>
<div class=3D"im"><br>
&gt; =A0<br>
&gt;&gt;<br>
&gt;&gt; Also, is it safe to add to the user-agent flow since the client is=
n&#39;t the<br>
&gt;&gt; same entity as a web server, but another installation? I think it =
is but<br>
&gt;&gt; want to ask before I add it there.<br>
&gt;<br>
&gt; Not sure I followed this question - could you provide more details?<br=
>
<br>
</div>There is no client secret because the client isn&#39;t a single insta=
nce but<br>
something running on many separate computers. So when the server has to<br>
check if the client has access, its really just limited to checking if the<=
br>
logged in user approved that client identifier before. This breaks as soon<=
br>
as the user is tricked to follow a link using a client identifier he alread=
y<br>
approved.<br>
<font color=3D"#888888"><br>
EHL<br>
<br>
</font></blockquote></div><br>

--001636418183b5b5170483cf7768--

From eran@hueniverse.com  Fri Apr  9 10:39:46 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 487C93A685D for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 10:39:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.435
X-Spam-Level: 
X-Spam-Status: No, score=-2.435 tagged_above=-999 required=5 tests=[AWL=0.163,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5I1tDfrB13M2 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 10:39:45 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 362153A68F6 for <oauth@ietf.org>; Fri,  9 Apr 2010 10:39:44 -0700 (PDT)
Received: (qmail 6447 invoked from network); 9 Apr 2010 17:39:41 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 9 Apr 2010 17:39:41 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Fri, 9 Apr 2010 10:39:35 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: George Fletcher <gffletch@aol.com>
Date: Fri, 9 Apr 2010 10:39:32 -0700
Thread-Topic: [OAUTH-WG] Limiting signed requests to use the Authorization request header
Thread-Index: AcrX8Ts1DHsXNhpQTbykv6bfzCQLBwAGmGSS
Message-ID: <C7E4B464.31FD3%eran@hueniverse.com>
In-Reply-To: <4BBF39F4.6060103@aol.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E4B46431FD3eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization request header
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 17:39:46 -0000

--_000_C7E4B46431FD3eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

In practice this is the same as logging in which I expect to require SSL an=
yway. Signed or not, attackers should not be able to login to your email ac=
count simply by using a MITM attack when you click on your IM client. So SS=
L is required already.

EHL


On 4/9/10 7:30 AM, "George Fletcher" <gffletch@aol.com> wrote:

Yes, this is possible, though to be secure it should really happen over SSL=
 which is less of a requirement for a signed request.

I guess the main question is whether we really need to remove the signature=
 related parameters from URL and only allow them in the Authorization heade=
r. For signed requests, these use cases pretty much require that the signat=
ure parameters be allowed in the URL.

Obviously, if we change our model to not use signed URLs then this issue go=
es away:)

Thanks,
George

On 4/9/10 12:58 AM, Brian Eaton wrote:

On Thu, Apr 8, 2010 at 7:08 AM, George Fletcher <gffletch@aol.com> <mailto:=
gffletch@aol.com>  wrote:



I realize that these sorts of use cases are trivial if establishment of the
SSO session switches from a signed mechanism to the OAuth WRAP bearer token
model. The one nice feature of the signed URL is that it is one time use
where the bearer token can be replayed multiple times.




Yep, Google does this kind of thing too.

Is there something that stops you from declaring that a particular
token is single use?

1) Client makes call to Authorization server, passing in either the
refresh token or an access token (depending on the security model you
want.)
2) AS returns a token.
3) Client uses the token to pop open a web browser.

Cheers,
Brian




--_000_C7E4B46431FD3eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Limiting signed requests to use the Authorization req=
uest header</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>In practice this is the same as logging in which I expect to require =
SSL anyway. Signed or not, attackers should not be able to login to your em=
ail account simply by using a MITM attack when you click on your IM client.=
 So SSL is required already.<BR>
<BR>
EHL <BR>
<BR>
<BR>
On 4/9/10 7:30 AM, &quot;George Fletcher&quot; &lt;<a href=3D"gffletch@aol.=
com">gffletch@aol.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Helv=
etica, Verdana, Arial">Yes, this is possible, though to be secure it should=
 really happen over SSL which is less of a requirement for a signed request=
. <BR>
<BR>
I guess the main question is whether we really need to remove the signature=
 related parameters from URL and only allow them in the Authorization heade=
r. For signed requests, these use cases pretty much require that the signat=
ure parameters be allowed in the URL.<BR>
<BR>
Obviously, if we change our model to not use signed URLs then this issue go=
es away:)<BR>
<BR>
Thanks,<BR>
George<BR>
</FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><BR>
On 4/9/10 12:58 AM, Brian Eaton wrote: <BR>
</FONT></SPAN><BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Cali=
bri, Verdana, Helvetica, Arial"> <BR>
On Thu, Apr 8, 2010 at 7:08 AM, George Fletcher &lt;<a href=3D"gffletch@aol=
.com">gffletch@aol.com</a>&gt; &lt;<a href=3D"mailto:gffletch@aol.com">mail=
to:gffletch@aol.com</a>&gt; &nbsp;wrote:<BR>
&nbsp;&nbsp;<BR>
&nbsp;<BR>
</FONT></SPAN><BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Cali=
bri, Verdana, Helvetica, Arial"> <BR>
I realize that these sorts of use cases are trivial if establishment of the=
<BR>
SSO session switches from a signed mechanism to the OAuth WRAP bearer token=
<BR>
model. The one nice feature of the signed URL is that it is one time use<BR=
>
where the bearer token can be replayed multiple times.<BR>
&nbsp;&nbsp;&nbsp;&nbsp;<BR>
&nbsp;<BR>
</FONT></SPAN></BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Cal=
ibri, Verdana, Helvetica, Arial"> <BR>
<BR>
Yep, Google does this kind of thing too.<BR>
<BR>
Is there something that stops you from declaring that a particular<BR>
token is single use?<BR>
<BR>
1) Client makes call to Authorization server, passing in either the<BR>
refresh token or an access token (depending on the security model you<BR>
want.)<BR>
2) AS returns a token.<BR>
3) Client uses the token to pop open a web browser.<BR>
<BR>
Cheers,<BR>
Brian<BR>
<BR>
&nbsp;&nbsp;<BR>
</FONT></SPAN></BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Cal=
ibri, Verdana, Helvetica, Arial"><BR>
</FONT></SPAN></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E4B46431FD3eranhueniversecom_--

From eran@hueniverse.com  Fri Apr  9 10:43:56 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1A25E3A68AC for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 10:43:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.439
X-Spam-Level: 
X-Spam-Status: No, score=-2.439 tagged_above=-999 required=5 tests=[AWL=0.159,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ur4d9X5phmT0 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 10:43:50 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 4CE603A67AD for <oauth@ietf.org>; Fri,  9 Apr 2010 10:43:49 -0700 (PDT)
Received: (qmail 682 invoked from network); 9 Apr 2010 17:43:45 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 9 Apr 2010 17:43:44 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Fri, 9 Apr 2010 10:43:42 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Evan Gilbert <uidude@google.com>
Date: Fri, 9 Apr 2010 10:43:40 -0700
Thread-Topic: [OAUTH-WG] Draft progress update
Thread-Index: AcrX8jdaZC4Cs3u/TC2f9/HEO/jSawAGfk9+
Message-ID: <C7E4B55C.31FD6%eran@hueniverse.com>
In-Reply-To: <l2nc8689b661004090737w5b2ba84bn94e1e202b8ade52c@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E4B55C31FD6eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 17:43:56 -0000

--_000_C7E4B55C31FD6eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I'm opposed to having both any parameters and a state parameter. Pick one. =
OAuth 1.0a allowed any client-specific parameter in the callback. The argum=
ent for adding a state parameter was to increase interop but that is only t=
rue if it comes instead of custom parameters.

EHL


On 4/9/10 7:37 AM, "Evan Gilbert" <uidude@google.com> wrote:



On Fri, Apr 9, 2010 at 12:32 AM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:



On 4/8/10 11:11 PM, "Evan Gilbert" <uidude@google.com> wrote:

>>
>>
>>>> 2. Section 2.1: "The authorization endpoint advertised by the server
>>>> MUST NOT include a query or fragment components as defined by
>>>> [RFC3986] section 3." Why do we disallow query parameters? If we want
>>>> to enforce strict matching of callback URLs maybe we should just
>>>> demand that.
>>>
>>> I don't like having both custom query and a state parameter. If servers=
 have
>>> to accommodate custom queries, then we might as well drop the special s=
tate
>>> parameter since clients can just make up whatever they want. I opted to=
 use
>>> the state parameter because it makes pre-registering URIs easier, and i=
t
>>> doesn't cause parameter namepsace conflicts (which is still an open iss=
ue).
>>
>> I think I got mixed up a bit. The authorization server endpoints
>> should be allowed to have query parameters. No state is passed through
>> these, and also no matching done against them.
>>
>> Registered callback URLs for clients should also be allowed to have
>> query parameters. If strict matching is enforced, at least for the
>> query part, then no state that can be passed, so they have to use the
>> state parameter. Parameter namespace can be an issue, one more reason
>> to keep the prefix :-)
>
> +1 on callback URLs and authorization server being allowed to have query
> parameters.

Nothing in the spec prevents the authorization endpoint from including
extensions. Right now the spec is silent on how extensions work which means
the server developer has to be careful in adding new parameters and should
probably prefix them with their company name or some other prefix to ensure
they will not conflict with the core parameters and standard extensions. I
also rather make it less appealing to extend the authorization endpoint
because each such custom extension (not published as a standard) reduces
interoperability.

Callback URIs support client state which accomplishes *exactly* the same
thing, but with full and trivial client support. So the feature is there,
now we are just arguing over style.

> Callback URLs might be a page on an existing web site, and we will be lim=
iting
> the usefulness of the Web & User-Agent profile if we disallow these pages=
 to
> have query parameters.

Its trivial to add an endpoint that takes a callback and redirects it
internally to the existing endpoint.

Not trivial to do this. That callback adds latency and more importantly req=
uires all clients do the proper redirect URL enforcement. Proper redirect e=
nforcement is an essential security characteristic, and a small bug in URL =
parsing means that you've created an open redirector (for example, checking=
 that the URL prefix is "http://www.mysite.com" would be a bug, because att=
ackers could use "http://www.mysite.com:password@www.evil.com/".

What is the benefit we get from the restriction on callback URL parameters?=
 It's not clear to me why we want this restriction in the first place.

> Authorization server is probably less necessary, but don't see any good r=
eason
> to restrict.

Its not.

EHL




--_000_C7E4B55C31FD6eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Draft progress update</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>I&#8217;m opposed to having both any parameters and a state parameter=
. Pick one. OAuth 1.0a allowed any client-specific parameter in the callbac=
k. The argument for adding a state parameter was to increase interop but th=
at is only true if it comes instead of custom parameters.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/9/10 7:37 AM, &quot;Evan Gilbert&quot; &lt;<a href=3D"uidude@google.co=
m">uidude@google.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'><BR>
<BR>
On Fri, Apr 9, 2010 at 12:32 AM, Eran Hammer-Lahav &lt;<a href=3D"eran@huen=
iverse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'><BR>
<BR>
<BR>
On 4/8/10 11:11 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"uidude@google.c=
om">uidude@google.com</a>&gt; wrote:<BR>
<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;&gt;&gt; 2. Section 2.1: &quot;The authorization endpoint advertise=
d by the server<BR>
&gt;&gt;&gt;&gt; MUST NOT include a query or fragment components as defined=
 by<BR>
&gt;&gt;&gt;&gt; [RFC3986] section 3.&quot; Why do we disallow query parame=
ters? If we want<BR>
&gt;&gt;&gt;&gt; to enforce strict matching of callback URLs maybe we shoul=
d just<BR>
&gt;&gt;&gt;&gt; demand that.<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; I don't like having both custom query and a state parameter. I=
f servers have<BR>
&gt;&gt;&gt; to accommodate custom queries, then we might as well drop the =
special state<BR>
&gt;&gt;&gt; parameter since clients can just make up whatever they want. I=
 opted to use<BR>
&gt;&gt;&gt; the state parameter because it makes pre-registering URIs easi=
er, and it<BR>
&gt;&gt;&gt; doesn't cause parameter namepsace conflicts (which is still an=
 open issue).<BR>
&gt;&gt;<BR>
&gt;&gt; I think I got mixed up a bit. The authorization server endpoints<B=
R>
&gt;&gt; should be allowed to have query parameters. No state is passed thr=
ough<BR>
&gt;&gt; these, and also no matching done against them.<BR>
&gt;&gt;<BR>
&gt;&gt; Registered callback URLs for clients should also be allowed to hav=
e<BR>
&gt;&gt; query parameters. If strict matching is enforced, at least for the=
<BR>
&gt;&gt; query part, then no state that can be passed, so they have to use =
the<BR>
&gt;&gt; state parameter. Parameter namespace can be an issue, one more rea=
son<BR>
&gt;&gt; to keep the prefix :-)<BR>
&gt;<BR>
&gt; +1 on callback URLs and authorization server being allowed to have que=
ry<BR>
&gt; parameters.<BR>
<BR>
Nothing in the spec prevents the authorization endpoint from including<BR>
extensions. Right now the spec is silent on how extensions work which means=
<BR>
the server developer has to be careful in adding new parameters and should<=
BR>
probably prefix them with their company name or some other prefix to ensure=
<BR>
they will not conflict with the core parameters and standard extensions. I<=
BR>
also rather make it less appealing to extend the authorization endpoint<BR>
because each such custom extension (not published as a standard) reduces<BR=
>
interoperability.<BR>
<BR>
Callback URIs support client state which accomplishes *exactly* the same<BR=
>
thing, but with full and trivial client support. So the feature is there,<B=
R>
now we are just arguing over style.<BR>
<BR>
&gt; Callback URLs might be a page on an existing web site, and we will be =
limiting<BR>
&gt; the usefulness of the Web &amp; User-Agent profile if we disallow thes=
e pages to<BR>
&gt; have query parameters.<BR>
<BR>
Its trivial to add an endpoint that takes a callback and redirects it<BR>
internally to the existing endpoint.<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial=
"><SPAN STYLE=3D'font-size:11pt'><BR>
Not trivial to do this.=A0That callback adds latency and more importantly r=
equires all clients do the proper redirect URL enforcement. Proper redirect=
 enforcement is an essential security characteristic, and a small bug in UR=
L parsing means that you've created an open redirector (for example, checki=
ng that the URL prefix is &quot;<a href=3D"http://www.mysite.com">http://ww=
w.mysite.com</a>&quot; would be a bug, because attackers could use &quot;<a=
 href=3D"http://www.mysite.com:password@www.evil.com/">http://www.mysite.co=
m:password@www.evil.com/</a>&quot;.<BR>
<BR>
What is the benefit we get from the restriction on callback URL parameters?=
 It's not clear to me why we want this restriction in the first place.<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'><BR>
&gt; Authorization server is probably less necessary, but don't see any goo=
d reason<BR>
&gt; to restrict.<BR>
<BR>
Its not.<BR>
<FONT COLOR=3D"#888888"><BR>
EHL<BR>
<BR>
</FONT></SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica=
, Arial"><SPAN STYLE=3D'font-size:11pt'><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E4B55C31FD6eranhueniversecom_--

From eran@hueniverse.com  Fri Apr  9 11:02:12 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DD7F73A68E3 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 11:02:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.444
X-Spam-Level: 
X-Spam-Status: No, score=-2.444 tagged_above=-999 required=5 tests=[AWL=0.155,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GZUd4qDN22V5 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 11:02:12 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id E51F93A689F for <oauth@ietf.org>; Fri,  9 Apr 2010 11:02:11 -0700 (PDT)
Received: (qmail 17810 invoked from network); 9 Apr 2010 18:02:08 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 9 Apr 2010 18:02:08 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Fri, 9 Apr 2010 11:02:07 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Evan Gilbert <uidude@google.com>
Date: Fri, 9 Apr 2010 11:02:03 -0700
Thread-Topic: [OAUTH-WG] Option to not prompt the user for authorization
Thread-Index: AcrX+YY2tv5YCp0OSvKmpNJoej0NTAAFTvQW
Message-ID: <C7E4B9AB.31FDD%eran@hueniverse.com>
In-Reply-To: <o2hc8689b661004090829va2b4da29n572d8ea86970a69e@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Option to not prompt the user for authorization
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 18:02:13 -0000

On 4/9/10 8:29 AM, "Evan Gilbert" <uidude@google.com> wrote:

>=20
>=20
> On Thu, Apr 8, 2010 at 11:50 PM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>>=20
>>=20
>>=20
>> On 4/8/10 9:17 PM, "Evan Gilbert" <uidude@google.com> wrote:
>>=20
>>>=20
>>>=20
>>> On Thu, Apr 8, 2010 at 12:22 AM, Eran Hammer-Lahav <eran@hueniverse.com=
>
>>> wrote:
>>>>=20
>>>>=20
>>>>=20
>>>> On 4/7/10 9:20 PM, "Evan Gilbert" <uidude@google.com> wrote:
>>>>=20
>>>>> Authorization servers in the OAuth Web Callback flow and the User Age=
nt
>>>>> flow
>>>>> should have the option to redirect back with access/refresh tokens wi=
thout
>>>>> prompting the user, if the client has already been granted access to =
the
>>>>> protected resource.
>>>>>=20
>>>>> This is already implied by some of the text (3.4.3.1 "After receiving=
 (or
>>>>> establishing via other means) an authorization=A0decision from the re=
source
>>>>> owner", but is not supported by the example flows.
>>>>>=20
>>>>> Suggested changes
>>>>>=20
>>>>> 3.4.1 Web Callback Flow
>>>>>=20
>>>>> =A0=A0 (B) The authorization server authenticates the end user (via
>>>>> the=A0user-agent) and MAY prompt the end user to grant or deny the=A0=
client's
>>>>> access request.
>>>>=20
>>>> How about instead:
>>>>=20
>>>> (B) The authorization server authenticates the end user (via the
>>>> user-agent)
>>>> and establishes whether the end user grants or denies the client's acc=
ess
>>>> request.
>>>=20
>>> The end user doesn't always control the resource grant decision (as an
>>> example, a domain admin may grant access for users).=A0
>>=20
>> No. Bu definition the end user (which is a specialized resource owner) i=
s
>> the only party allowed to grant authorization. Whoever grants authorizat=
ion
>> is the resource owner.
>=20
> =A0Makes sense. To capture this, think we need to change
> =A0"establishes whether the end user grants or denies" -> "establishes wh=
ether
> the resource owner grants or denies".

In this flow the resource owner is an end user. I have a problem with your
premise. No one should be granting client access to end user resources,
except for the end user. If this is a case where the end user is accessing
resources owned by someone else (the domain admin), the entire story is
broken (it has both a resource owner and end user who are different).

>>> Maybe "establishes whether the client has been granted access to protec=
ted
>>> resource"?=A0
>>>=20
>>> However, looking at all of the variants, think these new phrasings leav=
e
>>> some
>>> ambiguity. Ideally this will be clear to the reader that the user agent=
 may
>>> return immediately or may interact with the end user.
>>=20
>> The spec should make the flow simple to understand to a first-time/casua=
l
>> reader, and the basic scenario is where the user is prompted. As long as=
 it
>> doesn't prevent other specializations, it should not become harder to fo=
llow
>> and more cryptic. It cannot tell a story without making some basic
>> assumptions.
>=20
> The basic scenario for the User Agent profile involves automatic redirect=
s.
> The access tokens are short lived, and the profile is mostly useless unle=
ss
> authentication services support and clients use these redirects.

As soon as some security-minded folks review the proposal to add immediate
support for the user-agent flow, I'll add it in (I don't have objections).

EHL


From lshepard@facebook.com  Fri Apr  9 11:34:55 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 3D2133A685E for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 11:34:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.265
X-Spam-Level: 
X-Spam-Status: No, score=-3.265 tagged_above=-999 required=5 tests=[AWL=0.000,  BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xHMbI8EhOVjd for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 11:34:54 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 295C53A672E for <oauth@ietf.org>; Fri,  9 Apr 2010 11:34:54 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.198]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o39IYEYr018580 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Fri, 9 Apr 2010 11:34:14 -0700
Received: from sc-hub06.TheFacebook.com (192.168.18.83) by sc-hub03.TheFacebook.com (192.168.18.198) with Microsoft SMTP Server (TLS) id 14.0.682.1; Fri, 9 Apr 2010 11:34:32 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub06.TheFacebook.com ([192.168.18.83]) with mapi; Fri, 9 Apr 2010 11:34:04 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Date: Fri, 9 Apr 2010 11:34:02 -0700
Thread-Topic: Why do we need the callback URL?
Thread-Index: AcrX0bZdQ7aqUzHERIap/E4fYU4LQQAOL9ddAAG6fQA=
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66D97B@SC-MBXC1.TheFacebook.com>
References: <2513A610118CC14C8E622C376C8DEC93D54D66D95D@SC-MBXC1.TheFacebook.com> <C7E4B275.31FD1%eran@hueniverse.com>
In-Reply-To: <C7E4B275.31FD1%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-09_07:2010-02-06, 2010-04-09, 2010-04-09 signatures=0
Cc: OAuth WG <oauth@ietf.org>
Subject: [OAUTH-WG] Why do we need the callback URL?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 18:34:55 -0000

(I'm looping the IETF mailing list into this discussion since I think it's =
useful)=20

> Luke wrote:
>> I think the callback_url is superfluous in Web Callback Flow (D).
>> The session fixation attack can't happen because the verification_url wi=
ll
>> only appear to the owner of the callback url - so I can't start a sessio=
n,
>> wait for the user to finish, and then hijack it. And if the attacker is =
able
>> to control the callback URL (and the auth server sends the user there) t=
hen
>> they will be able to get an access token even in this system. So I don't=
 see
>> the point.

Eran wrote:
> I had the same questions. In OAuth 1.0a, the callback is signed. The expl=
oit
> here is if I start the auth process from my account, then grab the
> redirection to the auth server, change the callback, and trick you into
> following that link and approving access. When you do the verification co=
de
> goes to my callback, and I fake the server call back to the client, causi=
ng
> my account to be linked to your information. If the server requires the
> callback, the client will fail because it will not provide the callback o=
f
> the attacker.

Let me see if I understand this attack. Let's say Evil Eve goes to Example.=
com. Example.com redirects her to:

https://facebook.com/oauth/authorize?client_id=3DXXX&type=3Dweb_callback_ac=
cess_request&callback=3Dhttp://example.com/oauthcallback

Then, she changes the callback and gives this link to Alice:

https://facebook.com/oauth/authorize?client_id=3DXXX&type=3Dweb_callback_ac=
cess_request&callback=3Dhttp://evil.com/oauthcallback

Alice approves Example.com and clicks ok. Then she is directed to:

http://evil.com/oauthcallback&code=3Dvvvvv

Now, Eve has the verification code, and she wants an access token. She need=
s to make a request like this:

https://facebook.com/oauth/authorize?client_id=3DXXX&type=3Dweb_callback_to=
ken_request&code=3Dvvvvv&client_secret=3DI_DONT_HAVE_IT

But she doesn't have the client secret - it is still sitting on example.com=
 servers. So she still can't get an access token. And even if she does requ=
ire the callback, the code "vvvvv" will be bound to the "evil.com" domain a=
nyway (presuming the auth server doesn't kill the redirect because of pre-r=
egistered callback anyway)

From beaton@google.com  Fri Apr  9 12:07:35 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id EDAE93A688E for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 12:07:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.977
X-Spam-Level: 
X-Spam-Status: No, score=-101.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yCaKNyQhow2E for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 12:07:34 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 09EAD3A697C for <oauth@ietf.org>; Fri,  9 Apr 2010 12:07:30 -0700 (PDT)
Received: from wpaz5.hot.corp.google.com (wpaz5.hot.corp.google.com [172.24.198.69]) by smtp-out.google.com with ESMTP id o39J7ObD024799 for <oauth@ietf.org>; Fri, 9 Apr 2010 21:07:25 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270840045; bh=66SgsPsWMaBw0Ad+5GSYU4NNvho=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type:Content-Transfer-Encoding; b=iigf+RyB9WZSMIAmF6BJkCRWGdr761yRYBP0eVHNadbFS9+i0dOozMhythre8K+km OXpDEdbtcqkoW3UM5QYLg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:content-transfer-encoding:x-system-of-record; b=jMewe3Jb6ZYLim14V8VMCD0bRcCU3OwjBvm4LIOGadWYxHF25V+e2QAgfRn3ZAO4t jfUpQa1youeiIHHxBhdGQ==
Received: from vws5 (vws5.prod.google.com [10.241.21.133]) by wpaz5.hot.corp.google.com with ESMTP id o39J6D8n007269 for <oauth@ietf.org>; Fri, 9 Apr 2010 12:07:23 -0700
Received: by vws5 with SMTP id 5so1423734vws.8 for <oauth@ietf.org>; Fri, 09 Apr 2010 12:07:23 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.124.2 with HTTP; Fri, 9 Apr 2010 12:07:22 -0700 (PDT)
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66D97B@SC-MBXC1.TheFacebook.com>
References: <2513A610118CC14C8E622C376C8DEC93D54D66D95D@SC-MBXC1.TheFacebook.com> <C7E4B275.31FD1%eran@hueniverse.com> <2513A610118CC14C8E622C376C8DEC93D54D66D97B@SC-MBXC1.TheFacebook.com>
Date: Fri, 9 Apr 2010 12:07:22 -0700
Received: by 10.220.108.76 with SMTP id e12mr315835vcp.24.1270840042963; Fri,  09 Apr 2010 12:07:22 -0700 (PDT)
Message-ID: <k2pdaf5b9571004091207h3c1103f2i18ed9bd97bc6d752@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Luke Shepard <lshepard@facebook.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Why do we need the callback URL?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 19:07:36 -0000

On Fri, Apr 9, 2010 at 11:34 AM, Luke Shepard <lshepard@facebook.com> wrote=
:
> Let me see if I understand this attack. Let's say Evil Eve goes to Exampl=
e.com. Example.com redirects her to:
>
> https://facebook.com/oauth/authorize?client_id=3DXXX&type=3Dweb_callback_=
access_request&callback=3Dhttp://example.com/oauthcallback
>
> Then, she changes the callback and gives this link to Alice:
>
> https://facebook.com/oauth/authorize?client_id=3DXXX&type=3Dweb_callback_=
access_request&callback=3Dhttp://evil.com/oauthcallback
>
> Alice approves Example.com and clicks ok. Then she is directed to:
>
> http://evil.com/oauthcallback&code=3Dvvvvv
>
> Now, Eve has the verification code, and she wants an access token. She ne=
eds to make a request like this:
>
> https://facebook.com/oauth/authorize?client_id=3DXXX&type=3Dweb_callback_=
token_request&code=3Dvvvvv&client_secret=3DI_DONT_HAVE_IT
>
> But she doesn't have the client secret - it is still sitting on example.c=
om servers. So she still can't get an access token. And even if she does re=
quire the callback, the code "vvvvv" will be bound to the "evil.com" domain=
 anyway (presuming the auth server doesn't kill the redirect because of pre=
-registered callback anyway)

There is a relay attack.

1) facebook.com redirects the user to evil.com

2) evil.com grabs the verification code.

3) evil.com sends the verification code to
http://example.com/oauthcallback?oauth_verifier=3D<verifier>

4) example.com exchanges the verifier for a refresh token and access token.

5) example.com associates the access with Eve's account instead of the
good guys.

This is covered in the security considerations I wrote up for the
OAuth WRAP Web Delegation Profile:
http://trac.tools.ietf.org/wg/oauth/trac/wiki/SecurityConsiderations.

Cheers,
Brian

From beaton@google.com  Fri Apr  9 12:12:38 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 941AD3A69A6 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 12:12:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level: 
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bJ70hD2DSHSl for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 12:12:36 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 1A13A3A697D for <oauth@ietf.org>; Fri,  9 Apr 2010 12:12:25 -0700 (PDT)
Received: from wpaz37.hot.corp.google.com (wpaz37.hot.corp.google.com [172.24.198.101]) by smtp-out.google.com with ESMTP id o39JCIP5017205 for <oauth@ietf.org>; Fri, 9 Apr 2010 12:12:19 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270840339; bh=EJa7hau6Mjsh0Z0tc5MQdLBCcjc=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type:Content-Transfer-Encoding; b=J5qnd/g/zY68efPjAcR85SiVKcI+VooS2qEoiFKqqnGgsOO4AGNzVnInp+zosT9dx E49+usXG2kPehJfKSd40w==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:content-transfer-encoding:x-system-of-record; b=aoG8JC9ovhLFwdphksntWvp2aG1xVEUj5X1JD756qQP2yks05NH/fDGHQ1+wyRWzH oAL+qhrdWQeUxKbu9Krjw==
Received: from vws4 (vws4.prod.google.com [10.241.21.132]) by wpaz37.hot.corp.google.com with ESMTP id o39JCHxa005310 for <oauth@ietf.org>; Fri, 9 Apr 2010 12:12:17 -0700
Received: by vws4 with SMTP id 4so445539vws.3 for <oauth@ietf.org>; Fri, 09 Apr 2010 12:12:17 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.124.2 with HTTP; Fri, 9 Apr 2010 12:12:16 -0700 (PDT)
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66D95B@SC-MBXC1.TheFacebook.com>
References: <fd6741651003091550t5a464496r57aae9a60c516599@mail.gmail.com> <2513A610118CC14C8E622C376C8DEC93D54D66D95B@SC-MBXC1.TheFacebook.com>
Date: Fri, 9 Apr 2010 12:12:16 -0700
Received: by 10.220.121.148 with SMTP id h20mr294452vcr.134.1270840336916;  Fri, 09 Apr 2010 12:12:16 -0700 (PDT)
Message-ID: <p2ldaf5b9571004091212zb1693ed1g2dd592f27b996538@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Luke Shepard <lshepard@facebook.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Defining a maximum token length?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 19:12:38 -0000

On Fri, Apr 9, 2010 at 3:14 AM, Luke Shepard <lshepard@facebook.com> wrote:
> Let's finish off the thread on token length limits.
>
> In summary, David Recordon proposed a length limit of 255 characters due =
to database length limits ("blobs versus shorter and indexable types such a=
s varchars"). Several people were opposed to the 255 length limit. However,=
 there was general favor of a limit, but just it should be a bit longer.
>
> So, what is a reasonable limit for the token length? =A01k? 2k? 4k? 5mb? =
I suggest some language like this:
>
> =A0 =A0 =A0 =A0Access tokens MUST be less than 2KB.
<snip>
> - SAML (http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pd=
f)
> =A0"Persistent name identifier values MUST NOT exceed a length of 256 cha=
racters."

Note that access tokens are more like SAML assertions (which have no
size limits) than persistent name identifiers.  Persistent name
identifiers are basically user ids.

Anyone who is using access tokens in web delegation flows is going to
need to be careful of size limits.

But there are a bunch of use cases for access tokens outside of those flows=
.

So would it make sense to give size recommendations based on the
profile being used?

Cheers,
Brian

From cmortimore@salesforce.com  Fri Apr  9 13:26:12 2010
Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id F2FF23A699F for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 13:26:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.854
X-Spam-Level: 
X-Spam-Status: No, score=-5.854 tagged_above=-999 required=5 tests=[AWL=0.744,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4UVmv00ut7Ru for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 13:26:08 -0700 (PDT)
Received: from exprod8og117.obsmtp.com (exprod8og117.obsmtp.com [64.18.3.34]) by core3.amsl.com (Postfix) with SMTP id 0F7343A6837 for <oauth@ietf.org>; Fri,  9 Apr 2010 13:26:07 -0700 (PDT)
Received: from source ([204.14.239.238]) by exprod8ob117.postini.com ([64.18.7.12]) with SMTP ID DSNKS7+NXJCQ4E61/mNrFDPuBebgFKR1lmjJ@postini.com; Fri, 09 Apr 2010 13:26:04 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub3.internal.salesforce.com ([10.1.127.7]) with mapi; Fri, 9 Apr 2010 13:26:03 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: OAuth WG <oauth@ietf.org>
Date: Fri, 9 Apr 2010 13:26:02 -0700
Thread-Topic: Native applications capable of handling callbacks
Thread-Index: AcrYIt9HqbEa8GrhW0eQRvN1PulFkw==
Message-ID: <C7E4DB6A.3483%cmortimore@salesforce.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E4DB6A3483cmortimoresalesforcecom_"
MIME-Version: 1.0
Subject: [OAUTH-WG] Native applications capable of handling callbacks
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 20:26:12 -0000

--_000_C7E4DB6A3483cmortimoresalesforcecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

A number of the modern application platforms (Android, iPhone, iPad) have s=
upport for registering custom url schemes for native applications.    This =
allows them to receive callbacks from web browsers, without resorting to co=
py paste, or window title polling.    For instance, the authorization serve=
r may redirect the devices browser to:

HTTP/1.1 302 Found
Location: myapp://oauth_callback?code=3Di1WsRn1uB1

This results in the application launching and the URL being passed to it's =
callback handler.

There are a few issues I see with handling these in current form:


 *   The Web Callback flow is not appropriate, as the client secret cannot =
be secured
 *   The Native Application flow best describes these types of clients, but=
 doesn't handle the flow
 *   The User Agent flow would likely work, but the description would lead =
implementers away from this, and I'd be concerned that the implementations =
may gravitate towards handling cross domain javascript tunneling

I believe all of the pieces are here to support this, but I'd be interested=
 in seeing stronger guidance for implementers on how to handle these client=
s.

- cmort

--_000_C7E4DB6A3483cmortimoresalesforcecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Native applications capable of handling callbacks</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'>A number of the=
 modern application platforms (Android, iPhone, iPad) have support for regi=
stering custom url schemes for native applications. &nbsp;&nbsp;&nbsp;This =
allows them to receive callbacks from web browsers, without resorting to co=
py paste, or window title polling. &nbsp;&nbsp;&nbsp;For instance, the auth=
orization server may redirect the devices browser to:<BR>
<BR>
HTTP/1.1 302 Found<BR>
Location: myapp://oauth_callback?code=3Di1WsRn1uB1<BR>
<BR>
This results in the application launching and the URL being passed to it&#8=
217;s callback handler. &nbsp;<BR>
<BR>
There are a few issues I see with handling these in current form:<BR>
<BR>
</SPAN></FONT><UL><LI><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size=
:11pt'>The Web Callback flow is not appropriate, as the client secret canno=
t be secured
</SPAN></FONT><LI><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11p=
t'>The Native Application flow best describes these types of clients, but d=
oesn&#8217;t handle the flow
</SPAN></FONT><LI><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11p=
t'>The User Agent flow would likely work, but the description would lead im=
plementers away from this, and I&#8217;d be concerned that the implementati=
ons may gravitate towards handling cross domain javascript tunneling<BR>
</SPAN></FONT></UL><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11=
pt'><BR>
I believe all of the pieces are here to support this, but I&#8217;d be inte=
rested in seeing stronger guidance for implementers on how to handle these =
clients.<BR>
<BR>
- cmort</SPAN></FONT>
</BODY>
</HTML>


--_000_C7E4DB6A3483cmortimoresalesforcecom_--

From uidude@google.com  Fri Apr  9 13:59:02 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2D7DB3A63EC for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 13:59:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.748
X-Spam-Level: 
X-Spam-Status: No, score=-101.748 tagged_above=-999 required=5 tests=[AWL=0.097, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, SARE_UNSUB18=0.131, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6Wd-7ZW4jqC3 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 13:59:01 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 1C1543A682F for <oauth@ietf.org>; Fri,  9 Apr 2010 13:58:58 -0700 (PDT)
Received: from hpaq6.eem.corp.google.com (hpaq6.eem.corp.google.com [10.3.21.6]) by smtp-out.google.com with ESMTP id o39Kwlh0030571 for <oauth@ietf.org>; Fri, 9 Apr 2010 22:58:48 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270846729; bh=YYtCBV3f6rNBpzooedvlaskp2ro=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=hqr5/ObanOE+om+S7ijQDDjsJ6wc8COqakTCkleUgAM7NgJoMpG0OcVx7ag2gSbFw PViUy0snK1hPZlVeh6N5w==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=M/PvBOrbEM69ZauQ78WFu+QJGErD7W5fbCpG/OxbbMLQmrTcv4evguyaXbUuKqduQ BBxlj985yb3uuvhgrm8uw==
Received: from qyk2 (qyk2.prod.google.com [10.241.83.130]) by hpaq6.eem.corp.google.com with ESMTP id o39Kw0lt008661 for <oauth@ietf.org>; Fri, 9 Apr 2010 22:58:46 +0200
Received: by qyk2 with SMTP id 2so890232qyk.0 for <oauth@ietf.org>; Fri, 09 Apr 2010 13:58:45 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.131 with HTTP; Fri, 9 Apr 2010 13:58:25 -0700 (PDT)
In-Reply-To: <C7E4B9AB.31FDD%eran@hueniverse.com>
References: <o2hc8689b661004090829va2b4da29n572d8ea86970a69e@mail.gmail.com>  <C7E4B9AB.31FDD%eran@hueniverse.com>
From: Evan Gilbert <uidude@google.com>
Date: Fri, 9 Apr 2010 13:58:25 -0700
Received: by 10.229.10.132 with SMTP id p4mr715012qcp.86.1270846725470; Fri,  09 Apr 2010 13:58:45 -0700 (PDT)
Message-ID: <g2pc8689b661004091358h22291c74se660f6288d461064@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=0015175771caa2bad60483d40f9c
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Option to not prompt the user for authorization
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 20:59:02 -0000

--0015175771caa2bad60483d40f9c
Content-Type: text/plain; charset=ISO-8859-1

On Fri, Apr 9, 2010 at 11:02 AM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

>
>
>
> On 4/9/10 8:29 AM, "Evan Gilbert" <uidude@google.com> wrote:
>
> >
> >
> > On Thu, Apr 8, 2010 at 11:50 PM, Eran Hammer-Lahav <eran@hueniverse.com>
> > wrote:
> >>
> >>
> >>
> >> On 4/8/10 9:17 PM, "Evan Gilbert" <uidude@google.com> wrote:
> >>
> >>>
> >>>
> >>> On Thu, Apr 8, 2010 at 12:22 AM, Eran Hammer-Lahav <
> eran@hueniverse.com>
> >>> wrote:
> >>>>
> >>>>
> >>>>
> >>>> On 4/7/10 9:20 PM, "Evan Gilbert" <uidude@google.com> wrote:
> >>>>
> >>>>> Authorization servers in the OAuth Web Callback flow and the User
> Agent
> >>>>> flow
> >>>>> should have the option to redirect back with access/refresh tokens
> without
> >>>>> prompting the user, if the client has already been granted access to
> the
> >>>>> protected resource.
> >>>>>
> >>>>> This is already implied by some of the text (3.4.3.1 "After receiving
> (or
> >>>>> establishing via other means) an authorization decision from the
> resource
> >>>>> owner", but is not supported by the example flows.
> >>>>>
> >>>>> Suggested changes
> >>>>>
> >>>>> 3.4.1 Web Callback Flow
> >>>>>
> >>>>>    (B) The authorization server authenticates the end user (via
> >>>>> the user-agent) and MAY prompt the end user to grant or deny
> the client's
> >>>>> access request.
> >>>>
> >>>> How about instead:
> >>>>
> >>>> (B) The authorization server authenticates the end user (via the
> >>>> user-agent)
> >>>> and establishes whether the end user grants or denies the client's
> access
> >>>> request.
> >>>
> >>> The end user doesn't always control the resource grant decision (as an
> >>> example, a domain admin may grant access for users).
> >>
> >> No. Bu definition the end user (which is a specialized resource owner)
> is
> >> the only party allowed to grant authorization. Whoever grants
> authorization
> >> is the resource owner.
> >
> >  Makes sense. To capture this, think we need to change
> >  "establishes whether the end user grants or denies" -> "establishes
> whether
> > the resource owner grants or denies".
>
> In this flow the resource owner is an end user. I have a problem with your
> premise. No one should be granting client access to end user resources,
> except for the end user. If this is a case where the end user is accessing
> resources owned by someone else (the domain admin), the entire story is
> broken (it has both a resource owner and end user who are different).
>

This use case mostly just works & we're excited about using the OAuth flow
this way. The premise that "no one should be granting client access to end
user resources,
except for the end user" is incorrect - we already support variant of this
today at Google and it's a requirement for almost all enterprise use cases.

I had assumed that this is why the definition of resource owner is "An
entity capable of granting access to a protected resource" - this wording
covers both cases.


>
> >>> Maybe "establishes whether the client has been granted access to
> protected
> >>> resource"?
> >>>
> >>> However, looking at all of the variants, think these new phrasings
> leave
> >>> some
> >>> ambiguity. Ideally this will be clear to the reader that the user agent
> may
> >>> return immediately or may interact with the end user.
> >>
> >> The spec should make the flow simple to understand to a
> first-time/casual
> >> reader, and the basic scenario is where the user is prompted. As long as
> it
> >> doesn't prevent other specializations, it should not become harder to
> follow
> >> and more cryptic. It cannot tell a story without making some basic
> >> assumptions.
> >
> > The basic scenario for the User Agent profile involves automatic
> redirects.
> > The access tokens are short lived, and the profile is mostly useless
> unless
> > authentication services support and clients use these redirects.
>
> As soon as some security-minded folks review the proposal to add immediate
> support for the user-agent flow, I'll add it in (I don't have objections).
>
> EHL
>
>

--0015175771caa2bad60483d40f9c
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Fri, Apr 9, 2010 at 11:02 AM, Eran Ha=
mmer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com" tar=
get=3D"_blank">eran@hueniverse.com</a>&gt;</span> wrote:<br><blockquote cla=
ss=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;pa=
dding-left:1ex">


<div><div></div><div><br>
<br>
<br>
On 4/9/10 8:29 AM, &quot;Evan Gilbert&quot; &lt;<a href=3D"mailto:uidude@go=
ogle.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
<br>
&gt;<br>
&gt;<br>
&gt; On Thu, Apr 8, 2010 at 11:50 PM, Eran Hammer-Lahav &lt;<a href=3D"mail=
to:eran@hueniverse.com" target=3D"_blank">eran@hueniverse.com</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On 4/8/10 9:17 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"mailto:=
uidude@google.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Thu, Apr 8, 2010 at 12:22 AM, Eran Hammer-Lahav &lt;<a href=
=3D"mailto:eran@hueniverse.com" target=3D"_blank">eran@hueniverse.com</a>&g=
t;<br>
&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On 4/7/10 9:20 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D=
"mailto:uidude@google.com" target=3D"_blank">uidude@google.com</a>&gt; wrot=
e:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Authorization servers in the OAuth Web Callback flow a=
nd the User Agent<br>
&gt;&gt;&gt;&gt;&gt; flow<br>
&gt;&gt;&gt;&gt;&gt; should have the option to redirect back with access/re=
fresh tokens without<br>
&gt;&gt;&gt;&gt;&gt; prompting the user, if the client has already been gra=
nted access to the<br>
&gt;&gt;&gt;&gt;&gt; protected resource.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; This is already implied by some of the text (3.4.3.1 &=
quot;After receiving (or<br>
&gt;&gt;&gt;&gt;&gt; establishing via other means) an authorization=A0decis=
ion from the resource<br>
&gt;&gt;&gt;&gt;&gt; owner&quot;, but is not supported by the example flows=
.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Suggested changes<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; 3.4.1 Web Callback Flow<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; =A0=A0 (B) The authorization server authenticates the =
end user (via<br>
&gt;&gt;&gt;&gt;&gt; the=A0user-agent) and MAY prompt the end user to grant=
 or deny the=A0client&#39;s<br>
&gt;&gt;&gt;&gt;&gt; access request.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; How about instead:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; (B) The authorization server authenticates the end user (v=
ia the<br>
&gt;&gt;&gt;&gt; user-agent)<br>
&gt;&gt;&gt;&gt; and establishes whether the end user grants or denies the =
client&#39;s access<br>
&gt;&gt;&gt;&gt; request.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The end user doesn&#39;t always control the resource grant dec=
ision (as an<br>
&gt;&gt;&gt; example, a domain admin may grant access for users).=A0<br>
&gt;&gt;<br>
&gt;&gt; No. Bu definition the end user (which is a specialized resource ow=
ner) is<br>
&gt;&gt; the only party allowed to grant authorization. Whoever grants auth=
orization<br>
&gt;&gt; is the resource owner.<br>
&gt;<br>
&gt; =A0Makes sense. To capture this, think we need to change<br>
&gt; =A0&quot;establishes whether the end user grants or denies&quot; -&gt;=
 &quot;establishes whether<br>
&gt; the resource owner grants or denies&quot;.<br>
<br>
</div></div>In this flow the resource owner is an end user. I have a proble=
m with your<br>
premise. No one should be granting client access to end user resources,<br>
except for the end user. If this is a case where the end user is accessing<=
br>
resources owned by someone else (the domain admin), the entire story is<br>
broken (it has both a resource owner and end user who are different).<br></=
blockquote><div><br></div><div>This use case mostly just works &amp; we&#39=
;re excited about using the OAuth flow this way. The premise that &quot;no =
one should be granting client access to end user resources,</div>

except for the end user&quot; is incorrect - we already support variant of =
this today at Google and it&#39;s a requirement for almost all enterprise u=
se cases.</div><div class=3D"gmail_quote"><br>I had assumed that this is wh=
y the definition of resource owner is &quot;An entity capable of granting a=
ccess to a protected resource&quot; - this wording covers both cases.</div>

<div class=3D"gmail_quote"><div>=A0</div>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
<div><br>
&gt;&gt;&gt; Maybe &quot;establishes whether the client has been granted ac=
cess to protected<br>
&gt;&gt;&gt; resource&quot;?=A0<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; However, looking at all of the variants, think these new phras=
ings leave<br>
&gt;&gt;&gt; some<br>
&gt;&gt;&gt; ambiguity. Ideally this will be clear to the reader that the u=
ser agent may<br>
&gt;&gt;&gt; return immediately or may interact with the end user.<br>
&gt;&gt;<br>
&gt;&gt; The spec should make the flow simple to understand to a first-time=
/casual<br>
&gt;&gt; reader, and the basic scenario is where the user is prompted. As l=
ong as it<br>
&gt;&gt; doesn&#39;t prevent other specializations, it should not become ha=
rder to follow<br>
&gt;&gt; and more cryptic. It cannot tell a story without making some basic=
<br>
&gt;&gt; assumptions.<br>
&gt;<br>
&gt; The basic scenario for the User Agent profile involves automatic redir=
ects.<br>
&gt; The access tokens are short lived, and the profile is mostly useless u=
nless<br>
&gt; authentication services support and clients use these redirects.<br>
<br>
</div>As soon as some security-minded folks review the proposal to add imme=
diate<br>
support for the user-agent flow, I&#39;ll add it in (I don&#39;t have objec=
tions).<br>
<font color=3D"#888888"><br>
EHL<br>
<br>
</font></blockquote></div><br>

--0015175771caa2bad60483d40f9c--

From tonynad@microsoft.com  Fri Apr  9 14:01:45 2010
Return-Path: <tonynad@microsoft.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E491F3A679C for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 14:01:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.599
X-Spam-Level: 
X-Spam-Status: No, score=-10.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jzOCRqD2cvVP for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 14:01:45 -0700 (PDT)
Received: from smtp.microsoft.com (mail2.microsoft.com [131.107.115.215]) by core3.amsl.com (Postfix) with ESMTP id D4A2F3A63EC for <oauth@ietf.org>; Fri,  9 Apr 2010 14:01:44 -0700 (PDT)
Received: from TK5EX14CASC130.redmond.corp.microsoft.com (157.54.52.9) by TK5-EXGWY-E802.partners.extranet.microsoft.com (10.251.56.168) with Microsoft SMTP Server (TLS) id 8.2.176.0; Fri, 9 Apr 2010 14:01:40 -0700
Received: from TK5EX14MBXC103.redmond.corp.microsoft.com ([169.254.3.164]) by TK5EX14CASC130.redmond.corp.microsoft.com ([157.54.52.9]) with mapi; Fri, 9 Apr 2010 14:01:40 -0700
From: Anthony Nadalin <tonynad@microsoft.com>
To: Brian Eaton <beaton@google.com>, Luke Shepard <lshepard@facebook.com>
Thread-Topic: [OAUTH-WG] Defining a maximum token length?
Thread-Index: AQHKv+NqeBNkDGZuLk6fvcZcrhAM6pIakGKAgACWUgD//6iHcA==
Date: Fri, 9 Apr 2010 21:01:39 +0000
Message-ID: <A08279DC79B11C48AD587060CD93977125EFF072@TK5EX14MBXC103.redmond.corp.microsoft.com>
References: <fd6741651003091550t5a464496r57aae9a60c516599@mail.gmail.com> <2513A610118CC14C8E622C376C8DEC93D54D66D95B@SC-MBXC1.TheFacebook.com> <p2ldaf5b9571004091212zb1693ed1g2dd592f27b996538@mail.gmail.com>
In-Reply-To: <p2ldaf5b9571004091212zb1693ed1g2dd592f27b996538@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Defining a maximum token length?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 21:01:46 -0000

I would actually like to see the inclusion of reference tokens here also, I=
 do think that the 255 character limit is too restrictive and needs to be r=
evisited.

-----Original Message-----
From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of B=
rian Eaton
Sent: Friday, April 09, 2010 12:12 PM
To: Luke Shepard
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Defining a maximum token length?

On Fri, Apr 9, 2010 at 3:14 AM, Luke Shepard <lshepard@facebook.com> wrote:
> Let's finish off the thread on token length limits.
>
> In summary, David Recordon proposed a length limit of 255 characters due =
to database length limits ("blobs versus shorter and indexable types such a=
s varchars"). Several people were opposed to the 255 length limit. However,=
 there was general favor of a limit, but just it should be a bit longer.
>
> So, what is a reasonable limit for the token length? =A01k? 2k? 4k? 5mb? =
I suggest some language like this:
>
> =A0 =A0 =A0 =A0Access tokens MUST be less than 2KB.
<snip>
> - SAML=20
> (http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf)
> =A0"Persistent name identifier values MUST NOT exceed a length of 256 cha=
racters."

Note that access tokens are more like SAML assertions (which have no size l=
imits) than persistent name identifiers.  Persistent name identifiers are b=
asically user ids.

Anyone who is using access tokens in web delegation flows is going to need =
to be careful of size limits.

But there are a bunch of use cases for access tokens outside of those flows=
.

So would it make sense to give size recommendations based on the profile be=
ing used?

Cheers,
Brian
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


From uidude@google.com  Fri Apr  9 14:09:38 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 5C4043A679C for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 14:09:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.824
X-Spam-Level: 
X-Spam-Status: No, score=-101.824 tagged_above=-999 required=5 tests=[AWL=0.152, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gWAz9HQbRzvc for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 14:09:36 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 4DCFB3A6836 for <oauth@ietf.org>; Fri,  9 Apr 2010 14:09:36 -0700 (PDT)
Received: from wpaz1.hot.corp.google.com (wpaz1.hot.corp.google.com [172.24.198.65]) by smtp-out.google.com with ESMTP id o39L9UUL005500 for <oauth@ietf.org>; Fri, 9 Apr 2010 23:09:31 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1270847371; bh=VlBouNSlrCE9I3cOC4OVqelfwN8=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=VZxra1p/NR9j4JCQDOatOtOJOphuAfQpYac69p9JqGUPyVNvoqx+8FFBcx7K32Hl9 kNMFbtEQw1AekaV9e9J+A==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=TLVIXvYCbgjAjAi45BauTAo6f/CCalsFxYjVmbcX0s94dEKz/TZqfNbrogTzLMKmo Hc/Ge4WFjmvOd/ff2GKiA==
Received: from qyk34 (qyk34.prod.google.com [10.241.83.162]) by wpaz1.hot.corp.google.com with ESMTP id o39L8o2H029884 for <oauth@ietf.org>; Fri, 9 Apr 2010 14:09:30 -0700
Received: by qyk34 with SMTP id 34so3911580qyk.22 for <oauth@ietf.org>; Fri, 09 Apr 2010 14:09:29 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.131 with HTTP; Fri, 9 Apr 2010 14:09:07 -0700 (PDT)
In-Reply-To: <C7E4B55C.31FD6%eran@hueniverse.com>
References: <l2nc8689b661004090737w5b2ba84bn94e1e202b8ade52c@mail.gmail.com>  <C7E4B55C.31FD6%eran@hueniverse.com>
From: Evan Gilbert <uidude@google.com>
Date: Fri, 9 Apr 2010 14:09:07 -0700
Received: by 10.229.190.21 with SMTP id dg21mr743205qcb.69.1270847369681; Fri,  09 Apr 2010 14:09:29 -0700 (PDT)
Message-ID: <y2yc8689b661004091409o98b1646am53c0abbaee130d30@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=00163630f397089e140483d4363d
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 21:09:38 -0000

--00163630f397089e140483d4363d
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

On Fri, Apr 9, 2010 at 10:43 AM, Eran Hammer-Lahav <eran@hueniverse.com>wro=
te:

>  I=92m opposed to having both any parameters and a state parameter. Pick
> one. OAuth 1.0a allowed any client-specific parameter in the callback. Th=
e
> argument for adding a state parameter was to increase interop but that is
> only true if it comes instead of custom parameters.
>

We definitely need to support existing URL parameters - I don't see any
solution for the latency and security issues brought up in the previous
email.

I don't know the additional use cases for client state beyond the URL -
possibly this requirement can move.

Possibly some of the folks who initially proposed client state can give
context as to why this might be different than URL parameters.


> EHL
>
>
>
> On 4/9/10 7:37 AM, "Evan Gilbert" <uidude@google.com> wrote:
>
>
>
> On Fri, Apr 9, 2010 at 12:32 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>
>
>
>
> On 4/8/10 11:11 PM, "Evan Gilbert" <uidude@google.com> wrote:
>
> >>
> >>
> >>>> 2. Section 2.1: "The authorization endpoint advertised by the server
> >>>> MUST NOT include a query or fragment components as defined by
> >>>> [RFC3986] section 3." Why do we disallow query parameters? If we wan=
t
> >>>> to enforce strict matching of callback URLs maybe we should just
> >>>> demand that.
> >>>
> >>> I don't like having both custom query and a state parameter. If serve=
rs
> have
> >>> to accommodate custom queries, then we might as well drop the special
> state
> >>> parameter since clients can just make up whatever they want. I opted =
to
> use
> >>> the state parameter because it makes pre-registering URIs easier, and
> it
> >>> doesn't cause parameter namepsace conflicts (which is still an open
> issue).
> >>
> >> I think I got mixed up a bit. The authorization server endpoints
> >> should be allowed to have query parameters. No state is passed through
> >> these, and also no matching done against them.
> >>
> >> Registered callback URLs for clients should also be allowed to have
> >> query parameters. If strict matching is enforced, at least for the
> >> query part, then no state that can be passed, so they have to use the
> >> state parameter. Parameter namespace can be an issue, one more reason
> >> to keep the prefix :-)
> >
> > +1 on callback URLs and authorization server being allowed to have quer=
y
> > parameters.
>
> Nothing in the spec prevents the authorization endpoint from including
> extensions. Right now the spec is silent on how extensions work which mea=
ns
> the server developer has to be careful in adding new parameters and shoul=
d
> probably prefix them with their company name or some other prefix to ensu=
re
> they will not conflict with the core parameters and standard extensions. =
I
> also rather make it less appealing to extend the authorization endpoint
> because each such custom extension (not published as a standard) reduces
> interoperability.
>
> Callback URIs support client state which accomplishes *exactly* the same
> thing, but with full and trivial client support. So the feature is there,
> now we are just arguing over style.
>
> > Callback URLs might be a page on an existing web site, and we will be
> limiting
> > the usefulness of the Web & User-Agent profile if we disallow these pag=
es
> to
> > have query parameters.
>
> Its trivial to add an endpoint that takes a callback and redirects it
> internally to the existing endpoint.
>
>
> Not trivial to do this. That callback adds latency and more importantly
> requires all clients do the proper redirect URL enforcement. Proper redir=
ect
> enforcement is an essential security characteristic, and a small bug in U=
RL
> parsing means that you've created an open redirector (for example, checki=
ng
> that the URL prefix is "http://www.mysite.com" would be a bug, because
> attackers could use "http://www.mysite.com:password@www.evil.com/".
>
> What is the benefit we get from the restriction on callback URL parameter=
s?
> It's not clear to me why we want this restriction in the first place.
>
>
> > Authorization server is probably less necessary, but don't see any good
> reason
> > to restrict.
>
> Its not.
>
> EHL
>
>
>
>

--00163630f397089e140483d4363d
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Fri, Apr 9, 2010 at 10:43 AM, Eran Ha=
mmer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com">era=
n@hueniverse.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote"=
 style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">





<div>
<font face=3D"Calibri, Verdana, Helvetica, Arial"><span style=3D"font-size:=
11pt">I=92m opposed to having both any parameters and a state parameter. Pi=
ck one. OAuth 1.0a allowed any client-specific parameter in the callback. T=
he argument for adding a state parameter was to increase interop but that i=
s only true if it comes instead of custom parameters.<br>

</span></font></div></blockquote><div><br></div><div>We definitely need to =
support existing URL parameters - I don&#39;t see any solution for the late=
ncy and security issues brought up in the previous email.=A0</div><div><br>

</div><div>I don&#39;t know the additional use cases for client state beyon=
d the URL - possibly this requirement can move.</div><div><br></div><div>Po=
ssibly some of the folks who initially proposed client state can give conte=
xt as to why this might be different than URL parameters.</div>

<div><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex=
;border-left:1px #ccc solid;padding-left:1ex;"><div><font face=3D"Calibri, =
Verdana, Helvetica, Arial"><span style=3D"font-size:11pt"><font color=3D"#8=
88888">
<br>
EHL</font><div><div></div><div class=3D"h5"><br>
<br>
<br>
On 4/9/10 7:37 AM, &quot;Evan Gilbert&quot; &lt;<a href=3D"http://uidude@go=
ogle.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
<br>
</div></div></span></font><div><div></div><div class=3D"h5"><blockquote><fo=
nt face=3D"Calibri, Verdana, Helvetica, Arial"><span style=3D"font-size:11p=
t"><br>
<br>
On Fri, Apr 9, 2010 at 12:32 AM, Eran Hammer-Lahav &lt;<a href=3D"http://er=
an@hueniverse.com" target=3D"_blank">eran@hueniverse.com</a>&gt; wrote:<br>
</span></font><blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial"=
><span style=3D"font-size:11pt"><br>
<br>
<br>
On 4/8/10 11:11 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"http://uidude@g=
oogle.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt;&gt; 2. Section 2.1: &quot;The authorization endpoint advertise=
d by the server<br>
&gt;&gt;&gt;&gt; MUST NOT include a query or fragment components as defined=
 by<br>
&gt;&gt;&gt;&gt; [RFC3986] section 3.&quot; Why do we disallow query parame=
ters? If we want<br>
&gt;&gt;&gt;&gt; to enforce strict matching of callback URLs maybe we shoul=
d just<br>
&gt;&gt;&gt;&gt; demand that.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I don&#39;t like having both custom query and a state paramete=
r. If servers have<br>
&gt;&gt;&gt; to accommodate custom queries, then we might as well drop the =
special state<br>
&gt;&gt;&gt; parameter since clients can just make up whatever they want. I=
 opted to use<br>
&gt;&gt;&gt; the state parameter because it makes pre-registering URIs easi=
er, and it<br>
&gt;&gt;&gt; doesn&#39;t cause parameter namepsace conflicts (which is stil=
l an open issue).<br>
&gt;&gt;<br>
&gt;&gt; I think I got mixed up a bit. The authorization server endpoints<b=
r>
&gt;&gt; should be allowed to have query parameters. No state is passed thr=
ough<br>
&gt;&gt; these, and also no matching done against them.<br>
&gt;&gt;<br>
&gt;&gt; Registered callback URLs for clients should also be allowed to hav=
e<br>
&gt;&gt; query parameters. If strict matching is enforced, at least for the=
<br>
&gt;&gt; query part, then no state that can be passed, so they have to use =
the<br>
&gt;&gt; state parameter. Parameter namespace can be an issue, one more rea=
son<br>
&gt;&gt; to keep the prefix :-)<br>
&gt;<br>
&gt; +1 on callback URLs and authorization server being allowed to have que=
ry<br>
&gt; parameters.<br>
<br>
Nothing in the spec prevents the authorization endpoint from including<br>
extensions. Right now the spec is silent on how extensions work which means=
<br>
the server developer has to be careful in adding new parameters and should<=
br>
probably prefix them with their company name or some other prefix to ensure=
<br>
they will not conflict with the core parameters and standard extensions. I<=
br>
also rather make it less appealing to extend the authorization endpoint<br>
because each such custom extension (not published as a standard) reduces<br=
>
interoperability.<br>
<br>
Callback URIs support client state which accomplishes *exactly* the same<br=
>
thing, but with full and trivial client support. So the feature is there,<b=
r>
now we are just arguing over style.<br>
<br>
&gt; Callback URLs might be a page on an existing web site, and we will be =
limiting<br>
&gt; the usefulness of the Web &amp; User-Agent profile if we disallow thes=
e pages to<br>
&gt; have query parameters.<br>
<br>
Its trivial to add an endpoint that takes a callback and redirects it<br>
internally to the existing endpoint.<br>
</span></font></blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial=
"><span style=3D"font-size:11pt"><br>
Not trivial to do this.=A0That callback adds latency and more importantly r=
equires all clients do the proper redirect URL enforcement. Proper redirect=
 enforcement is an essential security characteristic, and a small bug in UR=
L parsing means that you&#39;ve created an open redirector (for example, ch=
ecking that the URL prefix is &quot;<a href=3D"http://www.mysite.com" targe=
t=3D"_blank">http://www.mysite.com</a>&quot; would be a bug, because attack=
ers could use &quot;<a href=3D"http://www.mysite.com:password@www.evil.com/=
" target=3D"_blank">http://www.mysite.com:password@www.evil.com/</a>&quot;.=
<br>


<br>
What is the benefit we get from the restriction on callback URL parameters?=
 It&#39;s not clear to me why we want this restriction in the first place.<=
br>
</span></font><blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial"=
><span style=3D"font-size:11pt"><br>
&gt; Authorization server is probably less necessary, but don&#39;t see any=
 good reason<br>
&gt; to restrict.<br>
<br>
Its not.<br>
<font color=3D"#888888"><br>
EHL<br>
<br>
</font></span></font></blockquote><font face=3D"Calibri, Verdana, Helvetica=
, Arial"><span style=3D"font-size:11pt"><br>
<br>
</span></font></blockquote>
</div></div></div>


</blockquote></div><br>

--00163630f397089e140483d4363d--

From atom@yahoo-inc.com  Fri Apr  9 16:51:28 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 975443A69E3 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 16:51:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -15.626
X-Spam-Level: 
X-Spam-Status: No, score=-15.626 tagged_above=-999 required=5 tests=[AWL=0.243, BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334, MIME_QP_LONG_LINE=1.396, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eTiX2KrKNzsA for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 16:51:27 -0700 (PDT)
Received: from mrout2-b.corp.re1.yahoo.com (mrout2-b.corp.re1.yahoo.com [69.147.107.21]) by core3.amsl.com (Postfix) with ESMTP id A43A53A68F1 for <oauth@ietf.org>; Fri,  9 Apr 2010 16:51:27 -0700 (PDT)
Received: from SNV-EXBH01.ds.corp.yahoo.com (snv-exbh01.ds.corp.yahoo.com [207.126.227.249]) by mrout2-b.corp.re1.yahoo.com (8.13.8/8.13.8/y.out) with ESMTP id o39Nnstx063679; Fri, 9 Apr 2010 16:49:55 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:message-id: thread-topic:thread-index:in-reply-to:mime-version:content-type: content-transfer-encoding:x-originalarrivaltime; b=uw/SI9Qma5N8ACkD/7KYE5A1mpMXhrkjgahS+P6Zw719XzPpWgN4GHXuwE7bswDG
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXBH01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.3959);  Fri, 9 Apr 2010 16:49:54 -0700
Received: from 10.72.168.69 ([10.72.168.69]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.60]) with Microsoft Exchange Server HTTP-DAV ; Fri,  9 Apr 2010 23:49:49 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Fri, 09 Apr 2010 16:49:49 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: Luke Shepard <lshepard@facebook.com>, OAuth WG <oauth@ietf.org>
Message-ID: <C7E50B2D.2A788%atom@yahoo-inc.com>
Thread-Topic: [OAUTH-WG] Defining a maximum token length?
Thread-Index: AQHKv+NqeBNkDGZuLk6fvcZcrhAM6pIakGKAgACWUgD//6iHcIAAL6wx
In-Reply-To: <A08279DC79B11C48AD587060CD93977125EFF072@TK5EX14MBXC103.redmond.corp.microsoft.com>
Mime-version: 1.0
Content-type: text/plain; charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable
X-OriginalArrivalTime: 09 Apr 2010 23:49:54.0617 (UTC) FILETIME=[5A7D2290:01CAD83F]
Subject: Re: [OAUTH-WG] Defining a maximum token length?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Apr 2010 23:51:28 -0000

I think a good precedent would be to use the HTTP Cookie size limit, which
is 4KB.

An OAuth Access Token is like an HTTP Authorization cookie. They're both
bearer tokens that are used as a credentials for a client to access
protected resources on behalf of the end user.

All Oauth clients have to implement HTTP anyway, so 4KB sounds like a
reasonable limit.

Allen



> On Fri, Apr 9, 2010 at 3:14 AM, Luke Shepard <lshepard@facebook.com> wrot=
e:

>>=20
>> So, what is a reasonable limit for the token length? =A01k? 2k? 4k? 5mb? I
>> suggest some language like this:
>>=20
>>


From atom@yahoo-inc.com  Fri Apr  9 17:22:09 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 3111E3A69CA for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 17:22:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -15.666
X-Spam-Level: 
X-Spam-Status: No, score=-15.666 tagged_above=-999 required=5 tests=[AWL=0.202, BAYES_00=-2.599, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, MIME_QP_LONG_LINE=1.396, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JVfTIDKJnfRH for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 17:22:00 -0700 (PDT)
Received: from mrout1-b.corp.re1.yahoo.com (mrout1-b.corp.re1.yahoo.com [69.147.107.20]) by core3.amsl.com (Postfix) with ESMTP id F28143A693F for <oauth@ietf.org>; Fri,  9 Apr 2010 17:21:58 -0700 (PDT)
Received: from SNV-EXPF01.ds.corp.yahoo.com (snv-expf01.ds.corp.yahoo.com [207.126.227.250]) by mrout1-b.corp.re1.yahoo.com (8.13.8/8.13.8/y.out) with ESMTP id o3A0LDYQ081533; Fri, 9 Apr 2010 17:21:13 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:message-id: thread-topic:thread-index:in-reply-to:mime-version:content-type: return-path:x-originalarrivaltime; b=w2esSTEUCy4d5IeQ2yeEWPm5ryUn/hBtL1rZ6Jl4g6Zm78eM7XyIpsRhAerlxr9v
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXPF01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.3959);  Fri, 9 Apr 2010 17:21:13 -0700
Received: from 10.72.168.69 ([10.72.168.69]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.60]) with Microsoft Exchange Server HTTP-DAV ; Sat, 10 Apr 2010 00:20:43 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Fri, 09 Apr 2010 17:20:40 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: Luke Shepard <lshepard@facebook.com>, Eran Hammer-Lahav <eran@hueniverse.com>, Marius Scurtescu <mscurtescu@google.com>, Anthony Nadalin <tonynad@microsoft.com>, OAuth WG <oauth@ietf.org>
Message-ID: <C7E51268.2A794%atom@yahoo-inc.com>
Thread-Topic: [OAUTH-WG] A display parameter for user authorization requests
Thread-Index: AcrQbVuLp0bFm3+RTUqUdQKzW39kGgABNkC+AdbocXAAHXQHBw==
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66D95C@SC-MBXC1.TheFacebook.com>
Mime-version: 1.0
Content-type: multipart/alternative; boundary="B_3353678440_5756735"
X-OriginalArrivalTime: 10 Apr 2010 00:21:13.0259 (UTC) FILETIME=[BA3F27B0:01CAD843]
Subject: Re: [OAUTH-WG] A display parameter for user authorization requests
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Apr 2010 00:22:09 -0000

> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3353678440_5756735
Content-type: text/plain;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

+1

Not sure If it=B9s possible for different SPs to agree on the specs for each
mode, but as we learned from implementing OpenID, it=B9s very useful for the
client to have an interface to indicate to the AS how the UI should be
rendered.=20

At least in Yahoo=B9s case, we=B9d like to see all the display modes you listed=
,
although I=B9m unclear what =B3none=B2 is.

Allen




On 4/9/10 3:24 AM, "Luke Shepard" <lshepard@facebook.com> wrote:

> I am still not sure why we *need* discovery in order to just add a =B3displ=
ay=B2
> parameter to the spec.
> =20
> I would like to see a set like the following supported:
> =20
> -         popup
>=20
> -         fullpage
>=20
> -         touch (for smart phones (like iPhone)-like phones)
>=20
> -         mobile (for older-mobile phones)
>=20
> -         none
>=20
> =20
> As Allen mentioned, the =B3popup=B2 mode was already defined with some succes=
s in
> OpenID UX:=20
> http://svn.openid.net/repos/specifications/user_interface/1.0/trunk/openi=
d-use
> r-interface-extension-1_0.html#anchor4
> =20
> I agree that it can be difficult to standardize all of these right now =AD =
I
> think the best is to see what=B9s being used in production now by different
> players and  see if we can get agreement on that. At least some broad
> categories could be established now to aid interop.
> =20
>=20
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of=
 Eran
> Hammer-Lahav
> Sent: Tuesday, March 30, 2010 6:34 PM
> To: Marius Scurtescu; Anthony Nadalin
> Cc: OAuth WG
> Subject: Re: [OAUTH-WG] A display parameter for user authorization reques=
ts
> =20
> They are, but thinking about interop for both parts is the same work. Onc=
e you
> figure out what the client might need, you figure out what the server may
> support. At that point discovery is as simple as giving these different
> options names and putting this information somewhere.
>=20
> I am not saying a spec must cover both, but it is worth thinking about it=
 at
> the same time. For example, a decision about allowing requesting custom s=
ize
> popup vs. fixed popup options vs. pre-defined categories, all require
> different discovery needs. If the feature allows the client to say =B3I wan=
t a
> 400x500 popup=B2, you just need to say =B3popups are supported=B2. But if you w=
ant
> just allow full browser or popup (of fixed sizes), and do not require a s=
erver
> to support all of them, you need to express what is supported.
>=20
> Given the wide range of UI options, without either mandating everything o=
r
> discovery, this feature offers little interop value (which means little r=
eason
> to write as a standard).
>=20
> EHL
>=20
>=20
> On 3/30/10 5:58 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
> Aren't these independent issues?
>=20
> Regardless how the client figures what the server supports (discovery
> or hard code configuration) it must have a way to tell the
> Authorization Server its preferences when it sends the user over.
>=20
> Marius
>=20
>=20
>=20
> On Tue, Mar 30, 2010 at 8:50 PM, Anthony Nadalin <tonynad@microsoft.com>
> wrote:
>> > So I doubt that the client always knows what the server supports, the
>> server should be open in allowing all parties to find out what is suppor=
ted
>> >
>> > -----Original Message-----
>> > From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf=
 Of
>> Brian Eaton
>> > Sent: Tuesday, March 30, 2010 5:44 PM
>> > To: Raffi Krikorian
>> > Cc: OAuth WG
>> > Subject: Re: [OAUTH-WG] A display parameter for user authorization req=
uests
>> >
>> > On Tue, Mar 30, 2010 at 5:25 PM, Raffi Krikorian <raffi@twitter.com> w=
rote:
>>> >> why does a client need to discover what the server supports?
>>> >> presumably the client would already know given that they are integra=
ting
>>> with it?
>> >
>> > +1.
>> > _______________________________________________
>> > OAuth mailing list
>> > OAuth@ietf.org
>> > https://www.ietf.org/mailman/listinfo/oauth
>> >
>> > _______________________________________________
>> > OAuth mailing list
>> > OAuth@ietf.org
>> > https://www.ietf.org/mailman/listinfo/oauth
>> >
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>=20
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


--B_3353678440_5756735
Content-type: text/html;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] A display parameter for user authorization requests</=
TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:11pt=
'>+1<BR>
<BR>
Not sure If it&#8217;s possible for different SPs to agree on the specs for=
 each mode, but as we learned from implementing OpenID, it&#8217;s very usef=
ul for the client to have an interface to indicate to the AS how the UI shou=
ld be rendered. <BR>
<BR>
At least in Yahoo&#8217;s case, we&#8217;d like to see all the display mode=
s you listed, although I&#8217;m unclear what &#8220;none&#8221; is. <BR>
<BR>
Allen<BR>
<BR>
<BR>
<BR>
<BR>
On 4/9/10 3:24 AM, &quot;Luke Shepard&quot; &lt;<a href=3D"lshepard@facebook.=
com">lshepard@facebook.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><=
SPAN STYLE=3D'font-size:11pt'><FONT COLOR=3D"#1F497D">I am still not sure why we=
 *<B>need</B>* discovery in order to just add a &#8220;display&#8221; parame=
ter to the spec.<BR>
&nbsp;<BR>
I would like to see a set like the following supported:<BR>
&nbsp;<BR>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup<BR>
</FONT><BR>
<FONT COLOR=3D"#1F497D">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ful=
lpage<BR>
</FONT><BR>
<FONT COLOR=3D"#1F497D">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tou=
ch (for smart phones (like iPhone)-like phones)<BR>
</FONT><BR>
<FONT COLOR=3D"#1F497D">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mob=
ile (for older-mobile phones)<BR>
</FONT><BR>
<FONT COLOR=3D"#1F497D">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;non=
e<BR>
</FONT><BR>
<FONT COLOR=3D"#1F497D"> <BR>
As Allen mentioned, the &#8220;popup&#8221; mode was already defined with s=
ome success in OpenID UX: <a href=3D"http://svn.openid.net/repos/specification=
s/user_interface/1.0/trunk/openid-user-interface-extension-1_0.html#anchor4"=
>http://svn.openid.net/repos/specifications/user_interface/1.0/trunk/openid-=
user-interface-extension-1_0.html#anchor4</a><BR>
&nbsp;<BR>
I agree that it can be difficult to standardize all of these right now &#82=
11; I think the best is to see what&#8217;s being used in production now by =
different players and &nbsp;see if we can get agreement on that. At least so=
me broad categories could be established now to aid interop.<BR>
&nbsp;<BR>
</FONT><BR>
</SPAN></FONT><FONT SIZE=3D"2"><FONT FACE=3D"Tahoma, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:10pt'><B>From:</B> <a href=3D"oauth-bounces@ietf.org">=
oauth-bounces@ietf.org</a> [<a href=3D"mailto:oauth-bounces@ietf.org">mailto:o=
auth-bounces@ietf.org</a>] <B>On Behalf Of </B>Eran Hammer-Lahav<BR>
<B>Sent:</B> Tuesday, March 30, 2010 6:34 PM<BR>
<B>To:</B> Marius Scurtescu; Anthony Nadalin<BR>
<B>Cc:</B> OAuth WG<BR>
<B>Subject:</B> Re: [OAUTH-WG] A display parameter for user authorization r=
equests<BR>
</SPAN></FONT></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12=
pt'> <BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'=
font-size:11pt'>They are, but thinking about interop for both parts is the s=
ame work. Once you figure out what the client might need, you figure out wha=
t the server may support. At that point discovery is as simple as giving the=
se different options names and putting this information somewhere.<BR>
<BR>
I am not saying a spec must cover both, but it is worth thinking about it a=
t the same time. For example, a decision about allowing requesting custom si=
ze popup vs. fixed popup options vs. pre-defined categories, all require dif=
ferent discovery needs. If the feature allows the client to say &#8220;I wan=
t a 400x500 popup&#8221;, you just need to say &#8220;popups are supported&#=
8221;. But if you want just allow full browser or popup (of fixed sizes), an=
d do not require a server to support all of them, you need to express what i=
s supported.<BR>
<BR>
Given the wide range of UI options, without either mandating everything or =
discovery, this feature offers little interop value (which means little reas=
on to write as a standard).<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 3/30/10 5:58 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurtescu@go=
ogle.com">mscurtescu@google.com</a>&gt; wrote:<BR>
Aren't these independent issues?<BR>
<BR>
Regardless how the client figures what the server supports (discovery<BR>
or hard code configuration) it must have a way to tell the<BR>
Authorization Server its preferences when it sends the user over.<BR>
<BR>
Marius<BR>
<BR>
<BR>
<BR>
On Tue, Mar 30, 2010 at 8:50 PM, Anthony Nadalin &lt;<a href=3D"tonynad@micro=
soft.com">tonynad@microsoft.com</a>&gt; wrote:<BR>
&gt; So I doubt that the client always knows what the server supports, the =
server should be open in allowing all parties to find out what is supported<=
BR>
&gt;<BR>
&gt; -----Original Message-----<BR>
&gt; From: <a href=3D"oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> [<a =
href=3D"mailto:oauth-bounces@ietf.org">mailto:oauth-bounces@ietf.org</a>] On B=
ehalf Of Brian Eaton<BR>
&gt; Sent: Tuesday, March 30, 2010 5:44 PM<BR>
&gt; To: Raffi Krikorian<BR>
&gt; Cc: OAuth WG<BR>
&gt; Subject: Re: [OAUTH-WG] A display parameter for user authorization req=
uests<BR>
&gt;<BR>
&gt; On Tue, Mar 30, 2010 at 5:25 PM, Raffi Krikorian &lt;<a href=3D"raffi@tw=
itter.com">raffi@twitter.com</a>&gt; wrote:<BR>
&gt;&gt; why does a client need to discover what the server supports?<BR>
&gt;&gt; presumably the client would already know given that they are integ=
rating with it?<BR>
&gt;<BR>
&gt; +1.<BR>
&gt; _______________________________________________<BR>
&gt; OAuth mailing list<BR>
&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf=
.org/mailman/listinfo/oauth</a><BR>
&gt;<BR>
&gt; _______________________________________________<BR>
&gt; OAuth mailing list<BR>
&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf=
.org/mailman/listinfo/oauth</a><BR>
&gt;<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/=
mailman/listinfo/oauth</a><BR>
<BR>
<HR ALIGN=3DCENTER SIZE=3D"3" WIDTH=3D"95%"></SPAN></FONT><FONT SIZE=3D"2"><FONT FA=
CE=3D"Consolas, Courier New, Courier"><SPAN STYLE=3D'font-size:10pt'>___________=
____________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/=
mailman/listinfo/oauth</a><BR>
</SPAN></FONT></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--B_3353678440_5756735--


From jonathan_moore@comcast.com  Fri Apr  9 18:34:58 2010
Return-Path: <jonathan_moore@comcast.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 75A193A6A89 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 18:34:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.395
X-Spam-Level: 
X-Spam-Status: No, score=-6.395 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_MODEMCABLE=0.768, HOST_EQ_MODEMCABLE=1.368, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8, RCVD_NUMERIC_HELO=2.067]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BzIO18LE0TVD for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 18:34:56 -0700 (PDT)
Received: from pacdcimo01.cable.comcast.com (PacdcIMO01.cable.comcast.com [24.40.8.145]) by core3.amsl.com (Postfix) with ESMTP id E687A3A69D5 for <oauth@ietf.org>; Fri,  9 Apr 2010 18:34:55 -0700 (PDT)
Received: from ([10.52.116.30]) by pacdcimo01.cable.comcast.com with ESMTP  id 5503620.76571882; Fri, 09 Apr 2010 21:34:48 -0400
Received: from PACORPEXCMB03.cable.comcast.com ([24.40.15.85]) by PAOAKEXCSMTP01.cable.comcast.com with Microsoft SMTPSVC(6.0.3790.3959); Fri, 9 Apr 2010 21:34:47 -0400
Received: from 24.40.8.154 ([24.40.8.154]) by PACORPEXCMB03.cable.comcast.com ([24.40.15.85]) with Microsoft Exchange Server HTTP-DAV ;  Sat, 10 Apr 2010 01:34:47 +0000
Message-ID: <A13FDE0E-C73F-4C7C-B085-B2297C710B55@comcast.com>
From: "Moore, Jonathan" <Jonathan_Moore@Comcast.com>
To: "Eran Hammer-Lahav" <eran@hueniverse.com>
In-Reply-To: <C7E4B464.31FD3%eran@hueniverse.com>
Content-Type: multipart/alternative; boundary="Apple-Mail-40-498308279"; charset="iso-8859-1"
thread-topic: [OAUTH-WG] Limiting signed requests to use the Authorization request header
thread-index: AcrYTgEi9s5hqivJRQS1+J50L5HvNg==
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0 (iPhone Mail 7A341)
Date: Fri, 9 Apr 2010 21:34:42 -0400
References: <C7E4B464.31FD3%eran@hueniverse.com>
X-OriginalArrivalTime: 10 Apr 2010 01:34:47.0908 (UTC) FILETIME=[01952240:01CAD84E]
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization request header
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Apr 2010 01:34:58 -0000

--Apple-Mail-40-498308279
Content-Type: text/plain;
	charset=us-ascii;
	format=flowed;
	delsp=yes
Content-Transfer-Encoding: 7bit

However, this doesn't address my earlier use case of a signed, cross- 
domain JSONP call, especially if it's sitting on a non-HTTPS page; I  
need to make a non-HTTP XHR request to obtain a (signed or tokenized)  
URL to include in my <script> include, so requiring a bearer token and  
SSL basically forces me to have the whole page delivered over HTTPS,  
which may be overkill for my application.

While I can understand that token and secret acquisition might need  
SSL, always requiring it on authorized requests too seems too much.

Can someone explain/re-explain why query parameter signatures need to  
be eliminated? The Authorization header is great when you can  
manipulate it, but you can't always. Why is it problematic for the  
signatures to be able to appear in either place?

Jon

........
Jon Moore


On Apr 9, 2010, at 1:39 PM, "Eran Hammer-Lahav" <eran@hueniverse.com>  
wrote:

> In practice this is the same as logging in which I expect to require  
> SSL anyway. Signed or not, attackers should not be able to login to  
> your email account simply by using a MITM attack when you click on  
> your IM client. So SSL is required already.
>
> EHL
>
>
> On 4/9/10 7:30 AM, "George Fletcher" <gffletch@aol.com> wrote:
>
> Yes, this is possible, though to be secure it should really happen  
> over SSL which is less of a requirement for a signed request.
>
> I guess the main question is whether we really need to remove the  
> signature related parameters from URL and only allow them in the  
> Authorization header. For signed requests, these use cases pretty  
> much require that the signature parameters be allowed in the URL.
>
> Obviously, if we change our model to not use signed URLs then this  
> issue goes away:)
>
> Thanks,
> George
>
> On 4/9/10 12:58 AM, Brian Eaton wrote:
>
> On Thu, Apr 8, 2010 at 7:08 AM, George Fletcher <gffletch@aol.com> <mailto:gffletch@aol.com 
> >  wrote:
>
>
>
> I realize that these sorts of use cases are trivial if establishment  
> of the
> SSO session switches from a signed mechanism to the OAuth WRAP  
> bearer token
> model. The one nice feature of the signed URL is that it is one time  
> use
> where the bearer token can be replayed multiple times.
>
>
>
>
> Yep, Google does this kind of thing too.
>
> Is there something that stops you from declaring that a particular
> token is single use?
>
> 1) Client makes call to Authorization server, passing in either the
> refresh token or an access token (depending on the security model you
> want.)
> 2) AS returns a token.
> 3) Client uses the token to pop open a web browser.
>
> Cheers,
> Brian
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth

--Apple-Mail-40-498308279
Content-Type: text/html;
	charset=utf-8
Content-Transfer-Encoding: base64

PGh0bWw+PGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiI+PGRpdj5Ib3dldmVyLCB0aGlzIGRvZXNuJ3Qg
YWRkcmVzcyBteSBlYXJsaWVyIHVzZSBjYXNlIG9mIGEgc2lnbmVkLCBjcm9zcy1kb21haW4gSlNP
TlAgY2FsbCwgZXNwZWNpYWxseSBpZiBpdCdzIHNpdHRpbmcgb24gYSBub24tSFRUUFMgcGFnZTsg
SSBuZWVkIHRvIG1ha2UgYSBub24tSFRUUCBYSFIgcmVxdWVzdCB0byBvYnRhaW4gYSAoc2lnbmVk
IG9yIHRva2VuaXplZCkgVVJMIHRvIGluY2x1ZGUgaW4gbXkgJmx0O3NjcmlwdCZndDsgaW5jbHVk
ZSwgc28gcmVxdWlyaW5nIGEgYmVhcmVyIHRva2VuIGFuZCBTU0wgYmFzaWNhbGx5IGZvcmNlcyBt
ZSB0byBoYXZlIHRoZSB3aG9sZSBwYWdlIGRlbGl2ZXJlZCBvdmVyIEhUVFBTLCB3aGljaCBtYXkg
YmUgb3ZlcmtpbGwgZm9yIG15IGFwcGxpY2F0aW9uLiZuYnNwOzwvZGl2PjxkaXY+PGJyPjwvZGl2
PjxkaXY+V2hpbGUgSSBjYW4gdW5kZXJzdGFuZCB0aGF0IHRva2VuIGFuZCBzZWNyZXQgYWNxdWlz
aXRpb24gbWlnaHQgbmVlZCBTU0wsIGFsd2F5cyByZXF1aXJpbmcgaXQgb24gYXV0aG9yaXplZCBy
ZXF1ZXN0cyB0b28gc2VlbXMgdG9vIG11Y2guPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5DYW4g
c29tZW9uZSBleHBsYWluL3JlLWV4cGxhaW4gd2h5IHF1ZXJ5IHBhcmFtZXRlciBzaWduYXR1cmVz
IG5lZWQgdG8gYmUgZWxpbWluYXRlZD8gVGhlIEF1dGhvcml6YXRpb24gaGVhZGVyIGlzIGdyZWF0
IHdoZW4geW91IGNhbiBtYW5pcHVsYXRlIGl0LCBidXQgeW91IGNhbid0IGFsd2F5cy4gV2h5IGlz
IGl0IHByb2JsZW1hdGljIGZvciB0aGUgc2lnbmF0dXJlcyB0byBiZSBhYmxlIHRvIGFwcGVhciBp
biBlaXRoZXIgcGxhY2U/PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5Kb248L2Rpdj48ZGl2Pjxi
cj4uLi4uLi4uLjxkaXY+Sm9uIE1vb3JlPC9kaXY+PGRpdj48YnI+PC9kaXY+PC9kaXY+PGRpdj48
YnI+T24gQXByIDksIDIwMTAsIGF0IDE6MzkgUE0sICJFcmFuIEhhbW1lci1MYWhhdiIgJmx0Ozxh
IGhyZWY9Im1haWx0bzplcmFuQGh1ZW5pdmVyc2UuY29tIj5lcmFuQGh1ZW5pdmVyc2UuY29tPC9h
PiZndDsgd3JvdGU6PGJyPjxicj48L2Rpdj48ZGl2PjwvZGl2PjxibG9ja3F1b3RlIHR5cGU9ImNp
dGUiPjxkaXY+DQo8Zm9udCBmYWNlPSJDYWxpYnJpLCBWZXJkYW5hLCBIZWx2ZXRpY2EsIEFyaWFs
Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHQiPkluIHByYWN0aWNlIHRoaXMgaXMgdGhlIHNh
bWUgYXMgbG9nZ2luZyBpbiB3aGljaCBJIGV4cGVjdCB0byByZXF1aXJlIFNTTCBhbnl3YXkuIFNp
Z25lZCBvciBub3QsIGF0dGFja2VycyBzaG91bGQgbm90IGJlIGFibGUgdG8gbG9naW4gdG8geW91
ciBlbWFpbCBhY2NvdW50IHNpbXBseSBieSB1c2luZyBhIE1JVE0gYXR0YWNrIHdoZW4geW91IGNs
aWNrIG9uIHlvdXIgSU0gY2xpZW50LiBTbyBTU0wgaXMgcmVxdWlyZWQgYWxyZWFkeS48YnI+DQo8
YnI+DQpFSEwgPGJyPg0KPGJyPg0KPGJyPg0KT24gNC85LzEwIDc6MzAgQU0sICJHZW9yZ2UgRmxl
dGNoZXIiICZsdDs8YSBocmVmPSJnZmZsZXRjaEBhb2wuY29tIj48YSBocmVmPSJtYWlsdG86Z2Zm
bGV0Y2hAYW9sLmNvbSI+Z2ZmbGV0Y2hAYW9sLmNvbTwvYT48L2E+Jmd0OyB3cm90ZTo8YnI+DQo8
YnI+DQo8L3NwYW4+PC9mb250PjxibG9ja3F1b3RlPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFw
dCI+PGZvbnQgZmFjZT0iSGVsdmV0aWNhLCBWZXJkYW5hLCBBcmlhbCI+WWVzLCB0aGlzIGlzIHBv
c3NpYmxlLCB0aG91Z2ggdG8gYmUgc2VjdXJlIGl0IHNob3VsZCByZWFsbHkgaGFwcGVuIG92ZXIg
U1NMIHdoaWNoIGlzIGxlc3Mgb2YgYSByZXF1aXJlbWVudCBmb3IgYSBzaWduZWQgcmVxdWVzdC4g
PGJyPg0KPGJyPg0KSSBndWVzcyB0aGUgbWFpbiBxdWVzdGlvbiBpcyB3aGV0aGVyIHdlIHJlYWxs
eSBuZWVkIHRvIHJlbW92ZSB0aGUgc2lnbmF0dXJlIHJlbGF0ZWQgcGFyYW1ldGVycyBmcm9tIFVS
TCBhbmQgb25seSBhbGxvdyB0aGVtIGluIHRoZSBBdXRob3JpemF0aW9uIGhlYWRlci4gRm9yIHNp
Z25lZCByZXF1ZXN0cywgdGhlc2UgdXNlIGNhc2VzIHByZXR0eSBtdWNoIHJlcXVpcmUgdGhhdCB0
aGUgc2lnbmF0dXJlIHBhcmFtZXRlcnMgYmUgYWxsb3dlZCBpbiB0aGUgVVJMLjxicj4NCjxicj4N
Ck9idmlvdXNseSwgaWYgd2UgY2hhbmdlIG91ciBtb2RlbCB0byBub3QgdXNlIHNpZ25lZCBVUkxz
IHRoZW4gdGhpcyBpc3N1ZSBnb2VzIGF3YXk6KTxicj4NCjxicj4NClRoYW5rcyw8YnI+DQpHZW9y
Z2U8YnI+DQo8L2ZvbnQ+PGZvbnQgZmFjZT0iQ2FsaWJyaSwgVmVyZGFuYSwgSGVsdmV0aWNhLCBB
cmlhbCI+PGJyPg0KT24gNC85LzEwIDEyOjU4IEFNLCBCcmlhbiBFYXRvbiB3cm90ZTogPGJyPg0K
PC9mb250Pjwvc3Bhbj48YmxvY2txdW90ZT48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHQiPjxm
b250IGZhY2U9IkNhbGlicmksIFZlcmRhbmEsIEhlbHZldGljYSwgQXJpYWwiPiA8YnI+DQpPbiBU
aHUsIEFwciA4LCAyMDEwIGF0IDc6MDggQU0sIEdlb3JnZSBGbGV0Y2hlciAmbHQ7PGEgaHJlZj0i
Z2ZmbGV0Y2hAYW9sLmNvbSI+PGEgaHJlZj0ibWFpbHRvOmdmZmxldGNoQGFvbC5jb20iPmdmZmxl
dGNoQGFvbC5jb208L2E+PC9hPiZndDsgJmx0OzxhIGhyZWY9Im1haWx0bzpnZmZsZXRjaEBhb2wu
Y29tIj48YSBocmVmPSJtYWlsdG86Z2ZmbGV0Y2hAYW9sLmNvbSI+bWFpbHRvOmdmZmxldGNoQGFv
bC5jb208L2E+PC9hPiZndDsgJm5ic3A7d3JvdGU6PGJyPg0KJm5ic3A7Jm5ic3A7PGJyPg0KJm5i
c3A7PGJyPg0KPC9mb250Pjwvc3Bhbj48YmxvY2txdW90ZT48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjExcHQiPjxmb250IGZhY2U9IkNhbGlicmksIFZlcmRhbmEsIEhlbHZldGljYSwgQXJpYWwiPiA8
YnI+DQpJIHJlYWxpemUgdGhhdCB0aGVzZSBzb3J0cyBvZiB1c2UgY2FzZXMgYXJlIHRyaXZpYWwg
aWYgZXN0YWJsaXNobWVudCBvZiB0aGU8YnI+DQpTU08gc2Vzc2lvbiBzd2l0Y2hlcyBmcm9tIGEg
c2lnbmVkIG1lY2hhbmlzbSB0byB0aGUgT0F1dGggV1JBUCBiZWFyZXIgdG9rZW48YnI+DQptb2Rl
bC4gVGhlIG9uZSBuaWNlIGZlYXR1cmUgb2YgdGhlIHNpZ25lZCBVUkwgaXMgdGhhdCBpdCBpcyBv
bmUgdGltZSB1c2U8YnI+DQp3aGVyZSB0aGUgYmVhcmVyIHRva2VuIGNhbiBiZSByZXBsYXllZCBt
dWx0aXBsZSB0aW1lcy48YnI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YnI+DQombmJzcDs8
YnI+DQo8L2ZvbnQ+PC9zcGFuPjwvYmxvY2txdW90ZT48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx
cHQiPjxmb250IGZhY2U9IkNhbGlicmksIFZlcmRhbmEsIEhlbHZldGljYSwgQXJpYWwiPiA8YnI+
DQo8YnI+DQpZZXAsIEdvb2dsZSBkb2VzIHRoaXMga2luZCBvZiB0aGluZyB0b28uPGJyPg0KPGJy
Pg0KSXMgdGhlcmUgc29tZXRoaW5nIHRoYXQgc3RvcHMgeW91IGZyb20gZGVjbGFyaW5nIHRoYXQg
YSBwYXJ0aWN1bGFyPGJyPg0KdG9rZW4gaXMgc2luZ2xlIHVzZT88YnI+DQo8YnI+DQoxKSBDbGll
bnQgbWFrZXMgY2FsbCB0byBBdXRob3JpemF0aW9uIHNlcnZlciwgcGFzc2luZyBpbiBlaXRoZXIg
dGhlPGJyPg0KcmVmcmVzaCB0b2tlbiBvciBhbiBhY2Nlc3MgdG9rZW4gKGRlcGVuZGluZyBvbiB0
aGUgc2VjdXJpdHkgbW9kZWwgeW91PGJyPg0Kd2FudC4pPGJyPg0KMikgQVMgcmV0dXJucyBhIHRv
a2VuLjxicj4NCjMpIENsaWVudCB1c2VzIHRoZSB0b2tlbiB0byBwb3Agb3BlbiBhIHdlYiBicm93
c2VyLjxicj4NCjxicj4NCkNoZWVycyw8YnI+DQpCcmlhbjxicj4NCjxicj4NCiZuYnNwOyZuYnNw
Ozxicj4NCjwvZm9udD48L3NwYW4+PC9ibG9ja3F1b3RlPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTFwdCI+PGZvbnQgZmFjZT0iQ2FsaWJyaSwgVmVyZGFuYSwgSGVsdmV0aWNhLCBBcmlhbCI+PGJy
Pg0KPC9mb250Pjwvc3Bhbj48L2Jsb2NrcXVvdGU+DQoNCg0KDQo8L2Rpdj48L2Jsb2NrcXVvdGU+
PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+PGRpdj48c3Bhbj5fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXzwvc3Bhbj48YnI+PHNwYW4+T0F1dGggbWFpbGluZyBs
aXN0PC9zcGFuPjxicj48c3Bhbj48YSBocmVmPSJtYWlsdG86T0F1dGhAaWV0Zi5vcmciPk9BdXRo
QGlldGYub3JnPC9hPjwvc3Bhbj48YnI+PHNwYW4+PGEgaHJlZj0iaHR0cHM6Ly93d3cuaWV0Zi5v
cmcvbWFpbG1hbi9saXN0aW5mby9vYXV0aCI+aHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9s
aXN0aW5mby9vYXV0aDwvYT48L3NwYW4+PGJyPjwvZGl2PjwvYmxvY2txdW90ZT48L2JvZHk+PC9o
dG1sPg==

--Apple-Mail-40-498308279--

From eran@hueniverse.com  Fri Apr  9 21:45:54 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id CD8993A6AD1 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 21:45:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.448
X-Spam-Level: 
X-Spam-Status: No, score=-2.448 tagged_above=-999 required=5 tests=[AWL=0.151,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wPGTYF6JCM9c for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 21:45:53 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id B64FF3A69B4 for <oauth@ietf.org>; Fri,  9 Apr 2010 21:45:53 -0700 (PDT)
Received: (qmail 4309 invoked from network); 10 Apr 2010 04:45:48 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 10 Apr 2010 04:45:48 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Fri, 9 Apr 2010 21:45:49 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Chuck Mortimore <cmortimore@salesforce.com>, OAuth WG <oauth@ietf.org>
Date: Fri, 9 Apr 2010 21:45:46 -0700
Thread-Topic: [OAUTH-WG] Native applications capable of handling callbacks
Thread-Index: AcrYIt9HqbEa8GrhW0eQRvN1PulFkwARc/du
Message-ID: <C7E5508A.32008%eran@hueniverse.com>
In-Reply-To: <C7E4DB6A.3483%cmortimore@salesforce.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "apps-discuss@ietf.org" <apps-discuss@ietf.org>
Subject: Re: [OAUTH-WG] Native applications capable of handling callbacks
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Apr 2010 04:45:54 -0000

(+apps-discuss as this is of general interest to the area)

On 4/9/10 1:26 PM, "Chuck Mortimore" <cmortimore@salesforce.com> wrote:

> A number of the modern application platforms (Android, iPhone, iPad) have
> support for registering custom url schemes for native applications.    Th=
is
> allows them to receive callbacks from web browsers, without resorting to =
copy
> paste, or window title polling.    For instance, the authorization server=
 may
> redirect the devices browser to:
>=20
> HTTP/1.1 302 Found
> Location: myapp://oauth_callback?code=3Di1WsRn1uB1
>=20
> This results in the application launching and the URL being passed to it=
=B9s
> callback handler.
>=20
> There are a few issues I see with handling these in current form:
>=20
> * The Web Callback flow is not appropriate, as the client secret cannot b=
e
> secured=20
> * The Native Application flow best describes these types of clients, but
> doesn=B9t handle the flow
> * The User Agent flow would likely work, but the description would lead
> implementers away from this, and I=B9d be concerned that the implementati=
ons may
> gravitate towards handling cross domain javascript tunneling
>=20
> I believe all of the pieces are here to support this, but I=B9d be intere=
sted in
> seeing stronger guidance for implementers on how to handle these clients.
>=20
> - cmort

The first problem with including this approach in an IETF specification is
that it indirectly violates IETF standards, namely the rules governing how
new URI schemes should be discussed, approved, and registered. This is also
of interest to the W3C TAG.

The way this should probably be done is by registering a new URN scheme lik=
e
app which will look something like:

app:application_name:comma_delimited_parameters

With application_name either a domain-name-namespaced value (e.g.
app:microsoft.com:excel:parameters) or registry based.

But without such a mechanism (feel free to offer other ideas), to suggest i=
n
an IETF standard that developers should go and make up random URI schemes
for their clients is both bad policy and not likely to pass Last Call.

If this group has the appetite for such a feature, I would be happy to draf=
t
a very short proposal for such a new URN scheme, which we can then publish
separately or include in the OAuth spec.

In practice, until companies like Apple and Microsoft (the two leading OS
vendors), and Google (with Android) support such a generic application URN,
people will continue to do so. But if we propose a standard path, we can
then mention the "abusive" practice and declare it deprecated, pointing
people to the right way of doing it. That will help in getting adoption lon=
g
term.

Thoughts?

EHL


From eran@hueniverse.com  Fri Apr  9 22:05:25 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BF2703A6ACD for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 22:05:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.451
X-Spam-Level: 
X-Spam-Status: No, score=-2.451 tagged_above=-999 required=5 tests=[AWL=0.148,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xgOBYZ4g8BBa for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 22:05:25 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 049583A6ACA for <oauth@ietf.org>; Fri,  9 Apr 2010 22:05:24 -0700 (PDT)
Received: (qmail 6044 invoked from network); 10 Apr 2010 05:05:21 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 10 Apr 2010 05:05:21 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Fri, 9 Apr 2010 22:05:21 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: OAuth WG <oauth@ietf.org>
Date: Fri, 9 Apr 2010 22:05:16 -0700
Thread-Topic: Help with non-ascii diagrams for HTML version
Thread-Index: AcrYa2iDWNiYuMclU0W9B2RQfxFQpQ==
Message-ID: <C7E5551C.3200E%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: [OAUTH-WG] Help with non-ascii diagrams for HTML version
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Apr 2010 05:05:25 -0000

Anyone willing to work with me to produce non-ascii diagrams for the HTML
spec? I'm open to anything from some fancy HTML5 canvas to a simple PNG...

The ascii flows are fine for the RFC canonical text version, but they are
pathetic for an HTML spec produced in 2010...

I am looking for some help over the next few days.

EHL


From eran@hueniverse.com  Fri Apr  9 22:08:40 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id F30063A6ACC for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 22:08:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.454
X-Spam-Level: 
X-Spam-Status: No, score=-2.454 tagged_above=-999 required=5 tests=[AWL=0.145,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WTZbLMYIbfKA for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 22:08:39 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id C137C3A6ACA for <oauth@ietf.org>; Fri,  9 Apr 2010 22:08:38 -0700 (PDT)
Received: (qmail 15058 invoked from network); 10 Apr 2010 05:08:35 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 10 Apr 2010 05:08:35 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Fri, 9 Apr 2010 22:08:35 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Evan Gilbert <uidude@google.com>
Date: Fri, 9 Apr 2010 22:08:31 -0700
Thread-Topic: [OAUTH-WG] Option to not prompt the user for authorization
Thread-Index: AcrYJ3ZJJl43oY4tSIOB++PsHldmMgARGZ1T
Message-ID: <C7E555DF.32010%eran@hueniverse.com>
In-Reply-To: <g2pc8689b661004091358h22291c74se660f6288d461064@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Option to not prompt the user for authorization
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Apr 2010 05:08:40 -0000

On 4/9/10 1:58 PM, "Evan Gilbert" <uidude@google.com> wrote:

>=20
>=20
> On Fri, Apr 9, 2010 at 11:02 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>>=20
>>=20
>>=20
>> On 4/9/10 8:29 AM, "Evan Gilbert" <uidude@google.com> wrote:
>>=20
>>>=20
>>>=20
>>> On Thu, Apr 8, 2010 at 11:50 PM, Eran Hammer-Lahav <eran@hueniverse.com=
>
>>> wrote:
>>>>=20
>>>>=20
>>>>=20
>>>> On 4/8/10 9:17 PM, "Evan Gilbert" <uidude@google.com> wrote:
>>>>=20
>>>>>=20
>>>>>=20
>>>>> On Thu, Apr 8, 2010 at 12:22 AM, Eran Hammer-Lahav <eran@hueniverse.c=
om>
>>>>> wrote:
>>>>>>=20
>>>>>>=20
>>>>>>=20
>>>>>> On 4/7/10 9:20 PM, "Evan Gilbert" <uidude@google.com> wrote:
>>>>>>=20
>>>>>>> Authorization servers in the OAuth Web Callback flow and the User A=
gent
>>>>>>> flow
>>>>>>> should have the option to redirect back with access/refresh tokens
>>>>>>> without
>>>>>>> prompting the user, if the client has already been granted access t=
o the
>>>>>>> protected resource.
>>>>>>>=20
>>>>>>> This is already implied by some of the text (3.4.3.1 "After receivi=
ng
>>>>>>> (or
>>>>>>> establishing via other means) an authorization=A0decision from the
>>>>>>> resource
>>>>>>> owner", but is not supported by the example flows.
>>>>>>>=20
>>>>>>> Suggested changes
>>>>>>>=20
>>>>>>> 3.4.1 Web Callback Flow
>>>>>>>=20
>>>>>>> =A0=A0 (B) The authorization server authenticates the end user (via
>>>>>>> the=A0user-agent) and MAY prompt the end user to grant or deny
>>>>>>> the=A0client's
>>>>>>> access request.
>>>>>>=20
>>>>>> How about instead:
>>>>>>=20
>>>>>> (B) The authorization server authenticates the end user (via the
>>>>>> user-agent)
>>>>>> and establishes whether the end user grants or denies the client's a=
ccess
>>>>>> request.
>>>>>=20
>>>>> The end user doesn't always control the resource grant decision (as a=
n
>>>>> example, a domain admin may grant access for users).=A0
>>>>=20
>>>> No. Bu definition the end user (which is a specialized resource owner)=
 is
>>>> the only party allowed to grant authorization. Whoever grants authoriz=
ation
>>>> is the resource owner.
>>>=20
>>> =A0Makes sense. To capture this, think we need to change
>>> =A0"establishes whether the end user grants or denies" -> "establishes =
whether
>>> the resource owner grants or denies".
>>=20
>> In this flow the resource owner is an end user. I have a problem with yo=
ur
>> premise. No one should be granting client access to end user resources,
>> except for the end user. If this is a case where the end user is accessi=
ng
>> resources owned by someone else (the domain admin), the entire story is
>> broken (it has both a resource owner and end user who are different).
>=20
> This use case mostly just works & we're excited about using the OAuth flo=
w
> this way. The premise that "no one should be granting client access to en=
d
> user resources,
> except for the end user" is incorrect - we already support variant of thi=
s
> today at Google and it's a requirement for almost all enterprise use case=
s.

The user delegation flows are about an end user (specifically a human
resource owner) actively approving access. The scenario you are describing
is where the end user is actually something else, it is not a resource owne=
r
but just "an entity capable of authenticating with the authorization
server".

In your scenario (which can use the same technical flow, but is a different
construct), the resource owner (domain admin) grants client access before
the flow begins, the client then sends an end user to the authorization
server to authenticate (often blindly, and nothing else), then the
authorization server acting based on the resource owner's grant, provide
access.

Your resource owner is by definition not the end user, and your end user is
by definition on a 'human resource owner'. So while the HTTP calls still
work, the prose is wrong.

If you feel that the current prose *prevents* you from implementing it as
required by your use case (which I don't think it does), we can add a
paragraph noting the special case where the resource owner and end user are
split.

EHL


> I had assumed that this is why the definition of resource owner is "An en=
tity
> capable of granting access to a protected resource" - this wording covers=
 both
> cases.



From eran@hueniverse.com  Fri Apr  9 22:16:15 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 58AA83A6969 for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 22:16:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.457
X-Spam-Level: 
X-Spam-Status: No, score=-2.457 tagged_above=-999 required=5 tests=[AWL=0.141,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MNnDRqIN6h-E for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 22:16:09 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 180403A6819 for <oauth@ietf.org>; Fri,  9 Apr 2010 22:16:07 -0700 (PDT)
Received: (qmail 7339 invoked from network); 10 Apr 2010 05:16:03 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 10 Apr 2010 05:16:03 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Fri, 9 Apr 2010 22:16:03 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Allen Tom <atom@yahoo-inc.com>, Luke Shepard <lshepard@facebook.com>, OAuth WG <oauth@ietf.org>
Date: Fri, 9 Apr 2010 22:16:00 -0700
Thread-Topic: [OAUTH-WG] Defining a maximum token length?
Thread-Index: AQHKv+NqeBNkDGZuLk6fvcZcrhAM6pIakGKAgACWUgD//6iHcIAAL6wxgABbIo4=
Message-ID: <C7E557A0.32014%eran@hueniverse.com>
In-Reply-To: <C7E50B2D.2A788%atom@yahoo-inc.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E557A032014eranhueniversecom_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Defining a maximum token length?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Apr 2010 05:16:15 -0000

--_000_C7E557A032014eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I would argue that for the spec to provide a token size limit that is great=
er than 255 would cause more harm than good. This is not to say I am suppor=
ting the 255 limit (I take no position on the matter - yeah, that happens r=
arely). If the spec provided a 4K limit, client libraries are likely to cod=
ify that which will make them extremely wasteful for 99% of the popular cas=
es on the web today. A 4K limit doesn't really improve interop since the li=
mit is so high, no one is likely to issue even bigger tokens with public AP=
Is.

The 255 limit keeps the token size within the most effective database field=
 size limit for this type of identifier. If we cannot reach consensus on th=
is size limit, I don't think the spec should say anything. However, if I wr=
ote a client library, I would make it use a 255 default size limit and requ=
ire a custom configuration to enable it to use something else.

So my proposal is 255 or no size guidance/restriction.

EHL


On 4/9/10 4:49 PM, "Allen Tom" <atom@yahoo-inc.com> wrote:

I think a good precedent would be to use the HTTP Cookie size limit, which
is 4KB.

An OAuth Access Token is like an HTTP Authorization cookie. They're both
bearer tokens that are used as a credentials for a client to access
protected resources on behalf of the end user.

All Oauth clients have to implement HTTP anyway, so 4KB sounds like a
reasonable limit.

Allen



> On Fri, Apr 9, 2010 at 3:14 AM, Luke Shepard <lshepard@facebook.com> wrot=
e:

>>
>> So, what is a reasonable limit for the token length?  1k? 2k? 4k? 5mb? I
>> suggest some language like this:
>>
>>

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


--_000_C7E557A032014eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Defining a maximum token length?</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>I would argue that for the spec to provide a token size limit that is=
 greater than 255 would cause more harm than good. This is not to say I am =
supporting the 255 limit (I take no position on the matter &#8211; yeah, th=
at happens rarely). If the spec provided a 4K limit, client libraries are l=
ikely to codify that which will make them extremely wasteful for 99% of the=
 popular cases on the web today. A 4K limit doesn&#8217;t really improve in=
terop since the limit is so high, no one is likely to issue even bigger tok=
ens with public APIs.<BR>
<BR>
The 255 limit keeps the token size within the most effective database field=
 size limit for this type of identifier. If we cannot reach consensus on th=
is size limit, I don&#8217;t think the spec should say anything. However, i=
f I wrote a client library, I would make it use a 255 default size limit an=
d require a custom configuration to enable it to use something else.<BR>
<BR>
So my proposal is 255 or no size guidance/restriction.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/9/10 4:49 PM, &quot;Allen Tom&quot; &lt;<a href=3D"atom@yahoo-inc.com"=
>atom@yahoo-inc.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>I think a good precedent would be to use th=
e HTTP Cookie size limit, which<BR>
is 4KB.<BR>
<BR>
An OAuth Access Token is like an HTTP Authorization cookie. They're both<BR=
>
bearer tokens that are used as a credentials for a client to access<BR>
protected resources on behalf of the end user.<BR>
<BR>
All Oauth clients have to implement HTTP anyway, so 4KB sounds like a<BR>
reasonable limit.<BR>
<BR>
Allen<BR>
<BR>
<BR>
<BR>
&gt; On Fri, Apr 9, 2010 at 3:14 AM, Luke Shepard &lt;<a href=3D"lshepard@f=
acebook.com">lshepard@facebook.com</a>&gt; wrote:<BR>
<BR>
&gt;&gt;<BR>
&gt;&gt; So, what is a reasonable limit for the token length? =A01k? 2k? 4k=
? 5mb? I<BR>
&gt;&gt; suggest some language like this:<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E557A032014eranhueniversecom_--

From eran@hueniverse.com  Fri Apr  9 22:28:55 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9B3273A689C for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 22:28:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.46
X-Spam-Level: 
X-Spam-Status: No, score=-2.46 tagged_above=-999 required=5 tests=[AWL=0.138,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4glFTP81wU9q for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 22:28:54 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 793123A6AC7 for <oauth@ietf.org>; Fri,  9 Apr 2010 22:27:55 -0700 (PDT)
Received: (qmail 8622 invoked from network); 10 Apr 2010 05:27:48 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 10 Apr 2010 05:27:48 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Fri, 9 Apr 2010 22:27:48 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Jonathan Moore <Jonathan_Moore@Comcast.com>
Date: Fri, 9 Apr 2010 22:27:44 -0700
Thread-Topic: [OAUTH-WG] Limiting signed requests to use the Authorization request header
Thread-Index: AcrYTgEi9s5hqivJRQS1+J50L5HvNgAIIrat
Message-ID: <C7E55A60.32017%eran@hueniverse.com>
In-Reply-To: <A13FDE0E-C73F-4C7C-B085-B2297C710B55@comcast.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E55A6032017eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization request header
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Apr 2010 05:28:56 -0000

--_000_C7E55A6032017eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Its a more complicated spec in both detail and how signatures are created.

The fact that the URI or body includes both resource parameters and token/s=
ignature parameters makes it necessary to parse and sort the parameters, de=
al with encoding, etc. If we limit signed request to the header, then all t=
he protocol parameters are separate from the API request and we can sign it=
 with little normalization by treating the request URI and form-encoded-bod=
y (typically a short single string) as opaque strings.

Supporting URI query and form-body for bearer token means adding a single (=
simple) parameter to the request: oauth_token=3Dsomething. Adding the signa=
ture parameters mean at least 5 (token, signature, timestamp, nonce, algori=
thm).

You can always extend the protocol. Moving this feature elsewhere is a wort=
hy optimization to make signatures (and the overall spec) easier to underst=
and.

EHL


On 4/9/10 6:34 PM, "Jonathan Moore" <Jonathan_Moore@Comcast.com> wrote:

However, this doesn't address my earlier use case of a signed, cross-domain=
 JSONP call, especially if it's sitting on a non-HTTPS page; I need to make=
 a non-HTTP XHR request to obtain a (signed or tokenized) URL to include in=
 my <script> include, so requiring a bearer token and SSL basically forces =
me to have the whole page delivered over HTTPS, which may be overkill for m=
y application.

While I can understand that token and secret acquisition might need SSL, al=
ways requiring it on authorized requests too seems too much.

Can someone explain/re-explain why query parameter signatures need to be el=
iminated? The Authorization header is great when you can manipulate it, but=
 you can't always. Why is it problematic for the signatures to be able to a=
ppear in either place?

Jon

........
Jon Moore


On Apr 9, 2010, at 1:39 PM, "Eran Hammer-Lahav" <eran@hueniverse.com> wrote=
:

In practice this is the same as logging in which I expect to require SSL an=
yway. Signed or not, attackers should not be able to login to your email ac=
count simply by using a MITM attack when you click on your IM client. So SS=
L is required already.

EHL


On 4/9/10 7:30 AM, "George Fletcher" <gffletch@aol.com <mailto:gffletch@aol=
.com> > wrote:

Yes, this is possible, though to be secure it should really happen over SSL=
 which is less of a requirement for a signed request.

I guess the main question is whether we really need to remove the signature=
 related parameters from URL and only allow them in the Authorization heade=
r. For signed requests, these use cases pretty much require that the signat=
ure parameters be allowed in the URL.

Obviously, if we change our model to not use signed URLs then this issue go=
es away:)

Thanks,
George

On 4/9/10 12:58 AM, Brian Eaton wrote:

On Thu, Apr 8, 2010 at 7:08 AM, George Fletcher <gffletch@aol.com <mailto:g=
ffletch@aol.com> > <mailto:gffletch@aol.com <mailto:gffletch@aol.com> >  wr=
ote:



I realize that these sorts of use cases are trivial if establishment of the
SSO session switches from a signed mechanism to the OAuth WRAP bearer token
model. The one nice feature of the signed URL is that it is one time use
where the bearer token can be replayed multiple times.




Yep, Google does this kind of thing too.

Is there something that stops you from declaring that a particular
token is single use?

1) Client makes call to Authorization server, passing in either the
refresh token or an access token (depending on the security model you
want.)
2) AS returns a token.
3) Client uses the token to pop open a web browser.

Cheers,
Brian



_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


--_000_C7E55A6032017eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Limiting signed requests to use the Authorization req=
uest header</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>Its a more complicated spec in both detail and how signatures are cre=
ated.<BR>
<BR>
The fact that the URI or body includes both resource parameters and token/s=
ignature parameters makes it necessary to parse and sort the parameters, de=
al with encoding, etc. If we limit signed request to the header, then all t=
he protocol parameters are separate from the API request and we can sign it=
 with little normalization by treating the request URI and form-encoded-bod=
y (typically a short single string) as opaque strings.<BR>
<BR>
Supporting URI query and form-body for bearer token means adding a single (=
simple) parameter to the request: oauth_token=3Dsomething. Adding the signa=
ture parameters mean at least 5 (token, signature, timestamp, nonce, algori=
thm).<BR>
<BR>
You can always extend the protocol. Moving this feature elsewhere is a wort=
hy optimization to make signatures (and the overall spec) easier to underst=
and.<BR>
<BR>
EHL <BR>
<BR>
<BR>
On 4/9/10 6:34 PM, &quot;Jonathan Moore&quot; &lt;<a href=3D"Jonathan_Moore=
@Comcast.com">Jonathan_Moore@Comcast.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>However, this doesn't address my earlier us=
e case of a signed, cross-domain JSONP call, especially if it's sitting on =
a non-HTTPS page; I need to make a non-HTTP XHR request to obtain a (signed=
 or tokenized) URL to include in my &lt;script&gt; include, so requiring a =
bearer token and SSL basically forces me to have the whole page delivered o=
ver HTTPS, which may be overkill for my application. <BR>
<BR>
While I can understand that token and secret acquisition might need SSL, al=
ways requiring it on authorized requests too seems too much.<BR>
<BR>
Can someone explain/re-explain why query parameter signatures need to be el=
iminated? The Authorization header is great when you can manipulate it, but=
 you can't always. Why is it problematic for the signatures to be able to a=
ppear in either place?<BR>
<BR>
Jon<BR>
<BR>
........<BR>
Jon Moore<BR>
<BR>
<BR>
On Apr 9, 2010, at 1:39 PM, &quot;Eran Hammer-Lahav&quot; &lt;<a href=3D"er=
an@hueniverse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>In practice this is the same as logging in =
which I expect to require SSL anyway. Signed or not, attackers should not b=
e able to login to your email account simply by using a MITM attack when yo=
u click on your IM client. So SSL is required already.<BR>
<BR>
EHL <BR>
<BR>
<BR>
On 4/9/10 7:30 AM, &quot;George Fletcher&quot; &lt;<a href=3D"gffletch@aol.=
com">gffletch@aol.com</a> &lt;<a href=3D"mailto:gffletch@aol.com">mailto:gf=
fletch@aol.com</a>&gt; &gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Helv=
etica, Verdana, Arial">Yes, this is possible, though to be secure it should=
 really happen over SSL which is less of a requirement for a signed request=
. <BR>
<BR>
I guess the main question is whether we really need to remove the signature=
 related parameters from URL and only allow them in the Authorization heade=
r. For signed requests, these use cases pretty much require that the signat=
ure parameters be allowed in the URL.<BR>
<BR>
Obviously, if we change our model to not use signed URLs then this issue go=
es away:)<BR>
<BR>
Thanks,<BR>
George<BR>
</FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><BR>
On 4/9/10 12:58 AM, Brian Eaton wrote: <BR>
</FONT></SPAN><BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Cali=
bri, Verdana, Helvetica, Arial"> <BR>
On Thu, Apr 8, 2010 at 7:08 AM, George Fletcher &lt;<a href=3D"gffletch@aol=
.com">gffletch@aol.com</a> &lt;<a href=3D"mailto:gffletch@aol.com">mailto:g=
ffletch@aol.com</a>&gt; &gt; &lt;<a href=3D"mailto:gffletch@aol.com">mailto=
:gffletch@aol.com</a> &lt;<a href=3D"mailto:gffletch@aol.com">mailto:gfflet=
ch@aol.com</a>&gt; &gt; &nbsp;wrote:<BR>
&nbsp;&nbsp;<BR>
&nbsp;<BR>
</FONT></SPAN><BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Cali=
bri, Verdana, Helvetica, Arial"> <BR>
I realize that these sorts of use cases are trivial if establishment of the=
<BR>
SSO session switches from a signed mechanism to the OAuth WRAP bearer token=
<BR>
model. The one nice feature of the signed URL is that it is one time use<BR=
>
where the bearer token can be replayed multiple times.<BR>
&nbsp;&nbsp;&nbsp;&nbsp;<BR>
&nbsp;<BR>
</FONT></SPAN></BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Cal=
ibri, Verdana, Helvetica, Arial"> <BR>
<BR>
Yep, Google does this kind of thing too.<BR>
<BR>
Is there something that stops you from declaring that a particular<BR>
token is single use?<BR>
<BR>
1) Client makes call to Authorization server, passing in either the<BR>
refresh token or an access token (depending on the security model you<BR>
want.)<BR>
2) AS returns a token.<BR>
3) Client uses the token to pop open a web browser.<BR>
<BR>
Cheers,<BR>
Brian<BR>
<BR>
&nbsp;&nbsp;<BR>
</FONT></SPAN></BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Cal=
ibri, Verdana, Helvetica, Arial"><BR>
</FONT></SPAN></BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Cal=
ibri, Verdana, Helvetica, Arial">__________________________________________=
_____<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
</FONT></SPAN></BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Cal=
ibri, Verdana, Helvetica, Arial"><BR>
</FONT></SPAN></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E55A6032017eranhueniversecom_--

From torsten@lodderstedt.net  Fri Apr  9 23:57:11 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 5F7763A6A3C for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 23:57:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.728
X-Spam-Level: 
X-Spam-Status: No, score=-1.728 tagged_above=-999 required=5 tests=[AWL=0.520,  BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id o9gIkBFZvMyZ for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 23:57:06 -0700 (PDT)
Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.31.40]) by core3.amsl.com (Postfix) with ESMTP id 00F9C3A699E for <oauth@ietf.org>; Fri,  9 Apr 2010 23:57:05 -0700 (PDT)
Received: from p4fff0f64.dip.t-dialin.net ([79.255.15.100] helo=[127.0.0.1]) by smtprelay02.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O0Uck-0005sQ-5F; Sat, 10 Apr 2010 08:56:58 +0200
Message-ID: <4BC02133.70209@lodderstedt.net>
Date: Sat, 10 Apr 2010 08:56:51 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <C7E557A0.32014%eran@hueniverse.com>
In-Reply-To: <C7E557A0.32014%eran@hueniverse.com>
Content-Type: multipart/alternative; boundary="------------070809040407020101020401"
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Defining a maximum token length?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Apr 2010 06:57:11 -0000

This is a multi-part message in MIME format.
--------------070809040407020101020401
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

+1 no restriction, please

256 is much too short

Am 10.04.2010 07:16, schrieb Eran Hammer-Lahav:
> I would argue that for the spec to provide a token size limit that is 
> greater than 255 would cause more harm than good. This is not to say I 
> am supporting the 255 limit (I take no position on the matter -- yeah, 
> that happens rarely). If the spec provided a 4K limit, client 
> libraries are likely to codify that which will make them extremely 
> wasteful for 99% of the popular cases on the web today. A 4K limit 
> doesn't really improve interop since the limit is so high, no one is 
> likely to issue even bigger tokens with public APIs.
>
> The 255 limit keeps the token size within the most effective database 
> field size limit for this type of identifier. If we cannot reach 
> consensus on this size limit, I don't think the spec should say 
> anything. However, if I wrote a client library, I would make it use a 
> 255 default size limit and require a custom configuration to enable it 
> to use something else.
>
> So my proposal is 255 or no size guidance/restriction.
>
> EHL
>
>
> On 4/9/10 4:49 PM, "Allen Tom" <atom@yahoo-inc.com> wrote:
>
>     I think a good precedent would be to use the HTTP Cookie size
>     limit, which
>     is 4KB.
>
>     An OAuth Access Token is like an HTTP Authorization cookie.
>     They're both
>     bearer tokens that are used as a credentials for a client to access
>     protected resources on behalf of the end user.
>
>     All Oauth clients have to implement HTTP anyway, so 4KB sounds like a
>     reasonable limit.
>
>     Allen
>
>
>
>     > On Fri, Apr 9, 2010 at 3:14 AM, Luke Shepard
>     <lshepard@facebook.com> wrote:
>
>     >>
>     >> So, what is a reasonable limit for the token length?  1k? 2k?
>     4k? 5mb? I
>     >> suggest some language like this:
>     >>
>     >>
>
>     _______________________________________________
>     OAuth mailing list
>     OAuth@ietf.org
>     https://www.ietf.org/mailman/listinfo/oauth
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    


--------------070809040407020101020401
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
+1 no restriction, please<br>
<br>
256 is much too short<br>
<br>
Am 10.04.2010 07:16, schrieb Eran Hammer-Lahav:
<blockquote cite="mid:C7E557A0.32014%25eran@hueniverse.com" type="cite">
  <title>Re: [OAUTH-WG] Defining a maximum token length?</title>
  <font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;">I would argue that for the spec to provide a
token size limit that is greater than 255 would cause more harm than
good. This is not to say I am supporting the 255 limit (I take no
position on the matter &#8211; yeah, that happens rarely). If the spec
provided a 4K limit, client libraries are likely to codify that which
will make them extremely wasteful for 99% of the popular cases on the
web today. A 4K limit doesn&#8217;t really improve interop since the limit is
so high, no one is likely to issue even bigger tokens with public APIs.<br>
  <br>
The 255 limit keeps the token size within the most effective database
field size limit for this type of identifier. If we cannot reach
consensus on this size limit, I don&#8217;t think the spec should say
anything. However, if I wrote a client library, I would make it use a
255 default size limit and require a custom configuration to enable it
to use something else.<br>
  <br>
So my proposal is 255 or no size guidance/restriction.<br>
  <br>
EHL<br>
  <br>
  <br>
On 4/9/10 4:49 PM, "Allen Tom" &lt;<a moz-do-not-send="true"
 href="atom@yahoo-inc.com">atom@yahoo-inc.com</a>&gt; wrote:<br>
  <br>
  </span></font>
  <blockquote><font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;">I think a good precedent would be to use the
HTTP Cookie size limit, which<br>
is 4KB.<br>
    <br>
An OAuth Access Token is like an HTTP Authorization cookie. They're both<br>
bearer tokens that are used as a credentials for a client to access<br>
protected resources on behalf of the end user.<br>
    <br>
All Oauth clients have to implement HTTP anyway, so 4KB sounds like a<br>
reasonable limit.<br>
    <br>
Allen<br>
    <br>
    <br>
    <br>
&gt; On Fri, Apr 9, 2010 at 3:14 AM, Luke Shepard &lt;<a
 moz-do-not-send="true" href="lshepard@facebook.com">lshepard@facebook.com</a>&gt;
wrote:<br>
    <br>
&gt;&gt;<br>
&gt;&gt; So, what is a reasonable limit for the token length? &nbsp;1k? 2k?
4k? 5mb? I<br>
&gt;&gt; suggest some language like this:<br>
&gt;&gt;<br>
&gt;&gt;<br>
    <br>
_______________________________________________<br>
OAuth mailing list<br>
    <a moz-do-not-send="true" href="OAuth@ietf.org">OAuth@ietf.org</a><br>
    <a moz-do-not-send="true"
 href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a><br>
    <br>
    </span></font></blockquote>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>
  </pre>
</blockquote>
<br>
</body>
</html>

--------------070809040407020101020401--


From torsten@lodderstedt.net  Fri Apr  9 23:59:58 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 855E33A67EA for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 23:59:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.816
X-Spam-Level: 
X-Spam-Status: No, score=-1.816 tagged_above=-999 required=5 tests=[AWL=0.434,  BAYES_00=-2.599, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TCLKG-5VekLk for <oauth@core3.amsl.com>; Fri,  9 Apr 2010 23:59:57 -0700 (PDT)
Received: from smtprelay03.ispgateway.de (smtprelay03.ispgateway.de [80.67.29.7]) by core3.amsl.com (Postfix) with ESMTP id 633833A66B4 for <oauth@ietf.org>; Fri,  9 Apr 2010 23:59:57 -0700 (PDT)
Received: from p4fff0f64.dip.t-dialin.net ([79.255.15.100] helo=[127.0.0.1]) by smtprelay03.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O0UfT-0003iQ-Pv; Sat, 10 Apr 2010 08:59:47 +0200
Message-ID: <4BC021E2.9060502@lodderstedt.net>
Date: Sat, 10 Apr 2010 08:59:46 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: "Zeltsan, Zachary (Zachary)" <zachary.zeltsan@alcatel-lucent.com>
References: <w2rc8689b661004051628q729ca3a8s4855be6d7af14a82@mail.gmail.com>	<C7E02F03.31D50%eran@hueniverse.com>	<m2mc8689b661004060704se500b9f8l76cdc11f79757919@mail.gmail.com>	<w2vfd6741651004060753o8f56bf5ct33eb45d8fcf48ce8@mail.gmail.com>	<z2tc8689b661004060845m3c2cd76l2937976143541604@mail.gmail.com> <4BBB68BB.4010206@lodderstedt.net> <5710F82C0E73B04FA559560098BF95B124F7A92BF6@USNAVSXCHMBSA3.ndc.alcatel-lucent.com>
In-Reply-To: <5710F82C0E73B04FA559560098BF95B124F7A92BF6@USNAVSXCHMBSA3.ndc.alcatel-lucent.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Access Token Exchange Flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Apr 2010 06:59:58 -0000

Hi Zachary,

that's fine with me.

regards,
Torsten.

Am 08.04.2010 23:24, schrieb Zeltsan, Zachary (Zachary):
> Torsten,
>
> I really like this use case. I think it ought to be documented on its own.  (But please let me know if you disagree and thing that it is a subset of another use case.)
>
> I also see potential synergy with the recursive delegation case.
>
> For my use-cases draft, I am trying to develop a common template for all use cases.  In a day or two, I am going to send your case described in this template to check your opinion.
>
> Zachary
>
> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of Torsten Lodderstedt
> Sent: Tuesday, April 06, 2010 1:01 PM
> To: oauth@ietf.org
> Subject: [OAUTH-WG] Access Token Exchange Flow
>
> Hi all,
>
> here at Deutsche Telekom, we see the need for a flow supporting the
> exchange of access tokens for one service into access tokens for another
> service.
>
> The scenarios is as follows: In the context of mobile applications, we
> employ multi-layered architectures of personalized web services. The
> first layer typically exposes an API optimized for the flows of a
> particular application. This layer's business logic is built on top of
> other web services and so on. We use self-contained bearer tokens
> carrying id's, attributes and permissions. Each of the web services
> involed has a trust relationship with our authorization server based on
> shared secrets. Every web service requires a different token with
> different claims (id, permissions, attributes) and signature (HMAC).
>
> The flow is as follows:
>
> 1) The client acquires a token for the first service eather by
> username/password authentication or web-based authorization flow.
>
> 2) The client sends a request (including the access token) to the first
> web service.
>
> 3) Access control and some business logic is executed based on the token
> contents. Afterwards, the first service determines that it needs
> to call another services (second web service) on behalf of the user.
>
> 4) It requests the issuance of a new token for the second service from
> the authorization server based on the original token sent by the client.
>
> 5) The authorization server issues a new token carrying the claims need
> by the second web service and digitally signs the token
> with the respective shared secret. It also encrypts the token content in
> order to prevent the first web service from eavesdropping the users data
> intended for the second service only.
>
> 6) The first web service uses the token to invoke the second web service.
>
> ...
>
> Does anyone else see the need for such a flow?
>
> regards,
> Torsten.
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    



From torsten@lodderstedt.net  Sat Apr 10 00:05:58 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 94ACE3A6812 for <oauth@core3.amsl.com>; Sat, 10 Apr 2010 00:05:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.877
X-Spam-Level: 
X-Spam-Status: No, score=-1.877 tagged_above=-999 required=5 tests=[AWL=0.372,  BAYES_00=-2.599, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FEjjMOPvM34p for <oauth@core3.amsl.com>; Sat, 10 Apr 2010 00:05:57 -0700 (PDT)
Received: from smtprelay03.ispgateway.de (smtprelay03.ispgateway.de [80.67.31.30]) by core3.amsl.com (Postfix) with ESMTP id A689D3A6767 for <oauth@ietf.org>; Sat, 10 Apr 2010 00:05:57 -0700 (PDT)
Received: from p4fff0f64.dip.t-dialin.net ([79.255.15.100] helo=[127.0.0.1]) by smtprelay03.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O0UlK-00085u-ED; Sat, 10 Apr 2010 09:05:50 +0200
Message-ID: <4BC0234D.8040700@lodderstedt.net>
Date: Sat, 10 Apr 2010 09:05:49 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Allen Tom <atom@yahoo-inc.com>
References: <C7E50B2D.2A788%atom@yahoo-inc.com>
In-Reply-To: <C7E50B2D.2A788%atom@yahoo-inc.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Defining a maximum token length?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Apr 2010 07:05:58 -0000

Hi Allen,

as I already posted, I don't think a size limit is a good idea.

Regarding your example: As per RFC-2109, 4KB is the minimum size that 
must be supported by user agents. The maximum size is not restricted:
"In general, user agents' cookie support should have no fixed limits.".

Moreover, other HTTP authentication mechanisms need much more than 4KB, 
For example, SPNEGO authentication headers can be up to 12392 bytes.

regards,
Torsten.

Am 10.04.2010 01:49, schrieb Allen Tom:
> I think a good precedent would be to use the HTTP Cookie size limit, which
> is 4KB.
>
> An OAuth Access Token is like an HTTP Authorization cookie. They're both
> bearer tokens that are used as a credentials for a client to access
> protected resources on behalf of the end user.
>
> All Oauth clients have to implement HTTP anyway, so 4KB sounds like a
> reasonable limit.
>
> Allen
>
>
>
>    
>> On Fri, Apr 9, 2010 at 3:14 AM, Luke Shepard<lshepard@facebook.com>  wrote:
>>      
>    
>>> So, what is a reasonable limit for the token length?  1k? 2k? 4k? 5mb? I
>>> suggest some language like this:
>>>
>>>
>>>        
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    



From torsten@lodderstedt.net  Sat Apr 10 00:07:53 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 272053A6767 for <oauth@core3.amsl.com>; Sat, 10 Apr 2010 00:07:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.923
X-Spam-Level: 
X-Spam-Status: No, score=-1.923 tagged_above=-999 required=5 tests=[AWL=0.325,  BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QxAeqRKj0poN for <oauth@core3.amsl.com>; Sat, 10 Apr 2010 00:07:45 -0700 (PDT)
Received: from smtprelay01.ispgateway.de (smtprelay01.ispgateway.de [80.67.29.23]) by core3.amsl.com (Postfix) with ESMTP id 32EA33A65A6 for <oauth@ietf.org>; Sat, 10 Apr 2010 00:07:45 -0700 (PDT)
Received: from p4fff0f64.dip.t-dialin.net ([79.255.15.100] helo=[127.0.0.1]) by smtprelay01.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O0Un5-0001jN-NM; Sat, 10 Apr 2010 09:07:39 +0200
Message-ID: <4BC023BA.9060501@lodderstedt.net>
Date: Sat, 10 Apr 2010 09:07:38 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <C7E4B55C.31FD6%eran@hueniverse.com>
In-Reply-To: <C7E4B55C.31FD6%eran@hueniverse.com>
Content-Type: multipart/alternative; boundary="------------080806030406050105070203"
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft progress update
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Apr 2010 07:07:53 -0000

This is a multi-part message in MIME format.
--------------080806030406050105070203
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

(+1) pro any client-specific parameters

That's the way OAuth 1.0a and OpenId 2.0 handle it, why deviate?

Am 09.04.2010 19:43, schrieb Eran Hammer-Lahav:
> I'm opposed to having both any parameters and a state parameter. Pick 
> one. OAuth 1.0a allowed any client-specific parameter in the callback. 
> The argument for adding a state parameter was to increase interop but 
> that is only true if it comes instead of custom parameters.
>
> EHL
>
>
> On 4/9/10 7:37 AM, "Evan Gilbert" <uidude@google.com> wrote:
>
>
>
>     On Fri, Apr 9, 2010 at 12:32 AM, Eran Hammer-Lahav
>     <eran@hueniverse.com> wrote:
>
>
>
>
>         On 4/8/10 11:11 PM, "Evan Gilbert" <uidude@google.com> wrote:
>
>         >>
>         >>
>         >>>> 2. Section 2.1: "The authorization endpoint advertised by
>         the server
>         >>>> MUST NOT include a query or fragment components as defined by
>         >>>> [RFC3986] section 3." Why do we disallow query parameters?
>         If we want
>         >>>> to enforce strict matching of callback URLs maybe we
>         should just
>         >>>> demand that.
>         >>>
>         >>> I don't like having both custom query and a state
>         parameter. If servers have
>         >>> to accommodate custom queries, then we might as well drop
>         the special state
>         >>> parameter since clients can just make up whatever they
>         want. I opted to use
>         >>> the state parameter because it makes pre-registering URIs
>         easier, and it
>         >>> doesn't cause parameter namepsace conflicts (which is still
>         an open issue).
>         >>
>         >> I think I got mixed up a bit. The authorization server endpoints
>         >> should be allowed to have query parameters. No state is
>         passed through
>         >> these, and also no matching done against them.
>         >>
>         >> Registered callback URLs for clients should also be allowed
>         to have
>         >> query parameters. If strict matching is enforced, at least
>         for the
>         >> query part, then no state that can be passed, so they have
>         to use the
>         >> state parameter. Parameter namespace can be an issue, one
>         more reason
>         >> to keep the prefix :-)
>         >
>         > +1 on callback URLs and authorization server being allowed to
>         have query
>         > parameters.
>
>         Nothing in the spec prevents the authorization endpoint from
>         including
>         extensions. Right now the spec is silent on how extensions
>         work which means
>         the server developer has to be careful in adding new
>         parameters and should
>         probably prefix them with their company name or some other
>         prefix to ensure
>         they will not conflict with the core parameters and standard
>         extensions. I
>         also rather make it less appealing to extend the authorization
>         endpoint
>         because each such custom extension (not published as a
>         standard) reduces
>         interoperability.
>
>         Callback URIs support client state which accomplishes
>         *exactly* the same
>         thing, but with full and trivial client support. So the
>         feature is there,
>         now we are just arguing over style.
>
>         > Callback URLs might be a page on an existing web site, and we
>         will be limiting
>         > the usefulness of the Web & User-Agent profile if we disallow
>         these pages to
>         > have query parameters.
>
>         Its trivial to add an endpoint that takes a callback and
>         redirects it
>         internally to the existing endpoint.
>
>
>     Not trivial to do this. That callback adds latency and more
>     importantly requires all clients do the proper redirect URL
>     enforcement. Proper redirect enforcement is an essential security
>     characteristic, and a small bug in URL parsing means that you've
>     created an open redirector (for example, checking that the URL
>     prefix is "http://www.mysite.com" would be a bug, because
>     attackers could use "http://www.mysite.com:password@www.evil.com/".
>
>     What is the benefit we get from the restriction on callback URL
>     parameters? It's not clear to me why we want this restriction in
>     the first place.
>
>
>         > Authorization server is probably less necessary, but don't
>         see any good reason
>         > to restrict.
>
>         Its not.
>
>         EHL
>
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    


--------------080806030406050105070203
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
(+1) pro any client-specific parameters<br>
<br>
That's the way OAuth 1.0a and OpenId 2.0 handle it, why deviate?<br>
<br>
Am 09.04.2010 19:43, schrieb Eran Hammer-Lahav:
<blockquote cite="mid:C7E4B55C.31FD6%25eran@hueniverse.com" type="cite">
  <title>Re: [OAUTH-WG] Draft progress update</title>
  <font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;">I&#8217;m opposed to having both any parameters and
a state parameter. Pick one. OAuth 1.0a allowed any client-specific
parameter in the callback. The argument for adding a state parameter
was to increase interop but that is only true if it comes instead of
custom parameters.<br>
  <br>
EHL<br>
  <br>
  <br>
On 4/9/10 7:37 AM, "Evan Gilbert" &lt;<a moz-do-not-send="true"
 href="uidude@google.com">uidude@google.com</a>&gt; wrote:<br>
  <br>
  </span></font>
  <blockquote><font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;"><br>
    <br>
On Fri, Apr 9, 2010 at 12:32 AM, Eran Hammer-Lahav &lt;<a
 moz-do-not-send="true" href="eran@hueniverse.com">eran@hueniverse.com</a>&gt;
wrote:<br>
    </span></font>
    <blockquote><font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;"><br>
      <br>
      <br>
On 4/8/10 11:11 PM, "Evan Gilbert" &lt;<a moz-do-not-send="true"
 href="uidude@google.com">uidude@google.com</a>&gt; wrote:<br>
      <br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt;&gt; 2. Section 2.1: "The authorization endpoint advertised
by the server<br>
&gt;&gt;&gt;&gt; MUST NOT include a query or fragment components as
defined by<br>
&gt;&gt;&gt;&gt; [RFC3986] section 3." Why do we disallow query
parameters? If we want<br>
&gt;&gt;&gt;&gt; to enforce strict matching of callback URLs maybe we
should just<br>
&gt;&gt;&gt;&gt; demand that.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I don't like having both custom query and a state
parameter. If servers have<br>
&gt;&gt;&gt; to accommodate custom queries, then we might as well drop
the special state<br>
&gt;&gt;&gt; parameter since clients can just make up whatever they
want. I opted to use<br>
&gt;&gt;&gt; the state parameter because it makes pre-registering URIs
easier, and it<br>
&gt;&gt;&gt; doesn't cause parameter namepsace conflicts (which is
still an open issue).<br>
&gt;&gt;<br>
&gt;&gt; I think I got mixed up a bit. The authorization server
endpoints<br>
&gt;&gt; should be allowed to have query parameters. No state is passed
through<br>
&gt;&gt; these, and also no matching done against them.<br>
&gt;&gt;<br>
&gt;&gt; Registered callback URLs for clients should also be allowed to
have<br>
&gt;&gt; query parameters. If strict matching is enforced, at least for
the<br>
&gt;&gt; query part, then no state that can be passed, so they have to
use the<br>
&gt;&gt; state parameter. Parameter namespace can be an issue, one more
reason<br>
&gt;&gt; to keep the prefix :-)<br>
&gt;<br>
&gt; +1 on callback URLs and authorization server being allowed to have
query<br>
&gt; parameters.<br>
      <br>
Nothing in the spec prevents the authorization endpoint from including<br>
extensions. Right now the spec is silent on how extensions work which
means<br>
the server developer has to be careful in adding new parameters and
should<br>
probably prefix them with their company name or some other prefix to
ensure<br>
they will not conflict with the core parameters and standard
extensions. I<br>
also rather make it less appealing to extend the authorization endpoint<br>
because each such custom extension (not published as a standard) reduces<br>
interoperability.<br>
      <br>
Callback URIs support client state which accomplishes *exactly* the same<br>
thing, but with full and trivial client support. So the feature is
there,<br>
now we are just arguing over style.<br>
      <br>
&gt; Callback URLs might be a page on an existing web site, and we will
be limiting<br>
&gt; the usefulness of the Web &amp; User-Agent profile if we disallow
these pages to<br>
&gt; have query parameters.<br>
      <br>
Its trivial to add an endpoint that takes a callback and redirects it<br>
internally to the existing endpoint.<br>
      </span></font></blockquote>
    <font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;"><br>
Not trivial to do this.&nbsp;That callback adds latency and more importantly
requires all clients do the proper redirect URL enforcement. Proper
redirect enforcement is an essential security characteristic, and a
small bug in URL parsing means that you've created an open redirector
(for example, checking that the URL prefix is "<a moz-do-not-send="true"
 href="http://www.mysite.com">http://www.mysite.com</a>" would be a
bug, because attackers could use "<a moz-do-not-send="true"
 href="http://www.mysite.com:password@www.evil.com/">http://www.mysite.com:password@www.evil.com/</a>".<br>
    <br>
What is the benefit we get from the restriction on callback URL
parameters? It's not clear to me why we want this restriction in the
first place.<br>
    </span></font>
    <blockquote><font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;"><br>
&gt; Authorization server is probably less necessary, but don't see any
good reason<br>
&gt; to restrict.<br>
      <br>
Its not.<br>
      <font color="#888888"><br>
EHL<br>
      <br>
      </font></span></font></blockquote>
    <font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;"><br>
    <br>
    </span></font></blockquote>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>
  </pre>
</blockquote>
<br>
</body>
</html>

--------------080806030406050105070203--


From torsten@lodderstedt.net  Sat Apr 10 00:08:41 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 5F9A03A683B for <oauth@core3.amsl.com>; Sat, 10 Apr 2010 00:08:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.959
X-Spam-Level: 
X-Spam-Status: No, score=-1.959 tagged_above=-999 required=5 tests=[AWL=0.289,  BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 58kKJuCXogFu for <oauth@core3.amsl.com>; Sat, 10 Apr 2010 00:08:35 -0700 (PDT)
Received: from smtprelay03.ispgateway.de (smtprelay03.ispgateway.de [80.67.29.7]) by core3.amsl.com (Postfix) with ESMTP id 1957C3A65A6 for <oauth@ietf.org>; Sat, 10 Apr 2010 00:08:35 -0700 (PDT)
Received: from p4fff0f64.dip.t-dialin.net ([79.255.15.100] helo=[127.0.0.1]) by smtprelay03.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O0Unt-0004d0-VU; Sat, 10 Apr 2010 09:08:30 +0200
Message-ID: <4BC023ED.4040807@lodderstedt.net>
Date: Sat, 10 Apr 2010 09:08:29 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Allen Tom <atom@yahoo-inc.com>
References: <C7E51268.2A794%atom@yahoo-inc.com>
In-Reply-To: <C7E51268.2A794%atom@yahoo-inc.com>
Content-Type: multipart/alternative; boundary="------------010603040005090808060701"
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] A display parameter for user authorization requests
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Apr 2010 07:08:41 -0000

This is a multi-part message in MIME format.
--------------010603040005090808060701
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

+1

Am 10.04.2010 02:20, schrieb Allen Tom:
> +1
>
> Not sure If it's possible for different SPs to agree on the specs for 
> each mode, but as we learned from implementing OpenID, it's very 
> useful for the client to have an interface to indicate to the AS how 
> the UI should be rendered.
>
> At least in Yahoo's case, we'd like to see all the display modes you 
> listed, although I'm unclear what "none" is.
>
> Allen
>
>
>
>
> On 4/9/10 3:24 AM, "Luke Shepard" <lshepard@facebook.com> wrote:
>
>     I am still not sure why we **need** discovery in order to just add
>     a "display" parameter to the spec.
>
>     I would like to see a set like the following supported:
>
>     -         popup
>
>     -         fullpage
>
>     -         touch (for smart phones (like iPhone)-like phones)
>
>     -         mobile (for older-mobile phones)
>
>     -         none
>
>
>     As Allen mentioned, the "popup" mode was already defined with some
>     success in OpenID UX:
>     http://svn.openid.net/repos/specifications/user_interface/1.0/trunk/openid-user-interface-extension-1_0.html#anchor4
>
>     I agree that it can be difficult to standardize all of these right
>     now -- I think the best is to see what's being used in production
>     now by different players and  see if we can get agreement on that.
>     At least some broad categories could be established now to aid
>     interop.
>
>
>     *From:* oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] *On
>     Behalf Of *Eran Hammer-Lahav
>     *Sent:* Tuesday, March 30, 2010 6:34 PM
>     *To:* Marius Scurtescu; Anthony Nadalin
>     *Cc:* OAuth WG
>     *Subject:* Re: [OAUTH-WG] A display parameter for user
>     authorization requests
>
>     They are, but thinking about interop for both parts is the same
>     work. Once you figure out what the client might need, you figure
>     out what the server may support. At that point discovery is as
>     simple as giving these different options names and putting this
>     information somewhere.
>
>     I am not saying a spec must cover both, but it is worth thinking
>     about it at the same time. For example, a decision about allowing
>     requesting custom size popup vs. fixed popup options vs.
>     pre-defined categories, all require different discovery needs. If
>     the feature allows the client to say "I want a 400x500 popup", you
>     just need to say "popups are supported". But if you want just
>     allow full browser or popup (of fixed sizes), and do not require a
>     server to support all of them, you need to express what is supported.
>
>     Given the wide range of UI options, without either mandating
>     everything or discovery, this feature offers little interop value
>     (which means little reason to write as a standard).
>
>     EHL
>
>
>     On 3/30/10 5:58 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>     Aren't these independent issues?
>
>     Regardless how the client figures what the server supports (discovery
>     or hard code configuration) it must have a way to tell the
>     Authorization Server its preferences when it sends the user over.
>
>     Marius
>
>
>
>     On Tue, Mar 30, 2010 at 8:50 PM, Anthony Nadalin
>     <tonynad@microsoft.com> wrote:
>     > So I doubt that the client always knows what the server supports,
>     the server should be open in allowing all parties to find out what
>     is supported
>     >
>     > -----Original Message-----
>     > From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
>     Behalf Of Brian Eaton
>     > Sent: Tuesday, March 30, 2010 5:44 PM
>     > To: Raffi Krikorian
>     > Cc: OAuth WG
>     > Subject: Re: [OAUTH-WG] A display parameter for user
>     authorization requests
>     >
>     > On Tue, Mar 30, 2010 at 5:25 PM, Raffi Krikorian
>     <raffi@twitter.com> wrote:
>     >> why does a client need to discover what the server supports?
>     >> presumably the client would already know given that they are
>     integrating with it?
>     >
>     > +1.
>     > _______________________________________________
>     > OAuth mailing list
>     > OAuth@ietf.org
>     > https://www.ietf.org/mailman/listinfo/oauth
>     >
>     > _______________________________________________
>     > OAuth mailing list
>     > OAuth@ietf.org
>     > https://www.ietf.org/mailman/listinfo/oauth
>     >
>     _______________________________________________
>     OAuth mailing list
>     OAuth@ietf.org
>     https://www.ietf.org/mailman/listinfo/oauth
>
>     ------------------------------------------------------------------------
>     _______________________________________________
>     OAuth mailing list
>     OAuth@ietf.org
>     https://www.ietf.org/mailman/listinfo/oauth
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    


--------------010603040005090808060701
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
+1<br>
<br>
Am 10.04.2010 02:20, schrieb Allen Tom:
<blockquote cite="mid:C7E51268.2A794%25atom@yahoo-inc.com" type="cite">
  <title>Re: [OAUTH-WG] A display parameter for user authorization
requests</title>
  <font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;">+1<br>
  <br>
Not sure If it&#8217;s possible for different SPs to agree on the specs for
each mode, but as we learned from implementing OpenID, it&#8217;s very useful
for the client to have an interface to indicate to the AS how the UI
should be rendered. <br>
  <br>
At least in Yahoo&#8217;s case, we&#8217;d like to see all the display modes you
listed, although I&#8217;m unclear what &#8220;none&#8221; is. <br>
  <br>
Allen<br>
  <br>
  <br>
  <br>
  <br>
On 4/9/10 3:24 AM, "Luke Shepard" &lt;<a moz-do-not-send="true"
 href="lshepard@facebook.com">lshepard@facebook.com</a>&gt; wrote:<br>
  <br>
  </span></font>
  <blockquote><font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;"><font color="#1f497d">I am still not sure why
we *<b>need</b>* discovery in order to just add a &#8220;display&#8221; parameter
to the spec.<br>
&nbsp;<br>
I would like to see a set like the following supported:<br>
&nbsp;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup<br>
    </font><br>
    <font color="#1f497d">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fullpage<br>
    </font><br>
    <font color="#1f497d">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;touch (for smart phones (like
iPhone)-like phones)<br>
    </font><br>
    <font color="#1f497d">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mobile (for older-mobile phones)<br>
    </font><br>
    <font color="#1f497d">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;none<br>
    </font><br>
    <font color="#1f497d"> <br>
As Allen mentioned, the &#8220;popup&#8221; mode was already defined with some
success in OpenID UX: <a moz-do-not-send="true"
 href="http://svn.openid.net/repos/specifications/user_interface/1.0/trunk/openid-user-interface-extension-1_0.html#anchor4">http://svn.openid.net/repos/specifications/user_interface/1.0/trunk/openid-user-interface-extension-1_0.html#anchor4</a><br>
&nbsp;<br>
I agree that it can be difficult to standardize all of these right now
&#8211; I think the best is to see what&#8217;s being used in production now by
different players and &nbsp;see if we can get agreement on that. At least
some broad categories could be established now to aid interop.<br>
&nbsp;<br>
    </font><br>
    </span></font><font size="2"><font
 face="Tahoma, Verdana, Helvetica, Arial"><span style="font-size: 10pt;"><b>From:</b>
    <a moz-do-not-send="true" href="oauth-bounces@ietf.org">oauth-bounces@ietf.org</a>
[<a moz-do-not-send="true" href="mailto:oauth-bounces@ietf.org">mailto:oauth-bounces@ietf.org</a>]
    <b>On Behalf Of </b>Eran Hammer-Lahav<br>
    <b>Sent:</b> Tuesday, March 30, 2010 6:34 PM<br>
    <b>To:</b> Marius Scurtescu; Anthony Nadalin<br>
    <b>Cc:</b> OAuth WG<br>
    <b>Subject:</b> Re: [OAUTH-WG] A display parameter for user
authorization requests<br>
    </span></font></font><font face="Times New Roman"><span
 style="font-size: 12pt;"> <br>
    </span></font><font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;">They are, but thinking about interop for both
parts is the same work. Once you figure out what the client might need,
you figure out what the server may support. At that point discovery is
as simple as giving these different options names and putting this
information somewhere.<br>
    <br>
I am not saying a spec must cover both, but it is worth thinking about
it at the same time. For example, a decision about allowing requesting
custom size popup vs. fixed popup options vs. pre-defined categories,
all require different discovery needs. If the feature allows the client
to say &#8220;I want a 400x500 popup&#8221;, you just need to say &#8220;popups are
supported&#8221;. But if you want just allow full browser or popup (of fixed
sizes), and do not require a server to support all of them, you need to
express what is supported.<br>
    <br>
Given the wide range of UI options, without either mandating everything
or discovery, this feature offers little interop value (which means
little reason to write as a standard).<br>
    <br>
EHL<br>
    <br>
    <br>
On 3/30/10 5:58 PM, "Marius Scurtescu" &lt;<a moz-do-not-send="true"
 href="mscurtescu@google.com">mscurtescu@google.com</a>&gt; wrote:<br>
Aren't these independent issues?<br>
    <br>
Regardless how the client figures what the server supports (discovery<br>
or hard code configuration) it must have a way to tell the<br>
Authorization Server its preferences when it sends the user over.<br>
    <br>
Marius<br>
    <br>
    <br>
    <br>
On Tue, Mar 30, 2010 at 8:50 PM, Anthony Nadalin &lt;<a
 moz-do-not-send="true" href="tonynad@microsoft.com">tonynad@microsoft.com</a>&gt;
wrote:<br>
&gt; So I doubt that the client always knows what the server supports,
the server should be open in allowing all parties to find out what is
supported<br>
&gt;<br>
&gt; -----Original Message-----<br>
&gt; From: <a moz-do-not-send="true" href="oauth-bounces@ietf.org">oauth-bounces@ietf.org</a>
[<a moz-do-not-send="true" href="mailto:oauth-bounces@ietf.org">mailto:oauth-bounces@ietf.org</a>]
On Behalf Of Brian Eaton<br>
&gt; Sent: Tuesday, March 30, 2010 5:44 PM<br>
&gt; To: Raffi Krikorian<br>
&gt; Cc: OAuth WG<br>
&gt; Subject: Re: [OAUTH-WG] A display parameter for user authorization
requests<br>
&gt;<br>
&gt; On Tue, Mar 30, 2010 at 5:25 PM, Raffi Krikorian &lt;<a
 moz-do-not-send="true" href="raffi@twitter.com">raffi@twitter.com</a>&gt;
wrote:<br>
&gt;&gt; why does a client need to discover what the server supports?<br>
&gt;&gt; presumably the client would already know given that they are
integrating with it?<br>
&gt;<br>
&gt; +1.<br>
&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a moz-do-not-send="true" href="OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt; <a moz-do-not-send="true"
 href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a moz-do-not-send="true" href="OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt; <a moz-do-not-send="true"
 href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;<br>
_______________________________________________<br>
OAuth mailing list<br>
    <a moz-do-not-send="true" href="OAuth@ietf.org">OAuth@ietf.org</a><br>
    <a moz-do-not-send="true"
 href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a><br>
    <br>
    <hr width="95%" align="CENTER" size="3"></span></font><font size="2"><font
 face="Consolas, Courier New, Courier"><span style="font-size: 10pt;">_______________________________________________<br>
OAuth mailing list<br>
    <a moz-do-not-send="true" href="OAuth@ietf.org">OAuth@ietf.org</a><br>
    <a moz-do-not-send="true"
 href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a><br>
    </span></font></font></blockquote>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>
  </pre>
</blockquote>
<br>
</body>
</html>

--------------010603040005090808060701--


From torsten@lodderstedt.net  Sat Apr 10 00:30:50 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4622A3A66B4 for <oauth@core3.amsl.com>; Sat, 10 Apr 2010 00:30:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.988
X-Spam-Level: 
X-Spam-Status: No, score=-1.988 tagged_above=-999 required=5 tests=[AWL=0.260,  BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5AFSslz-c73p for <oauth@core3.amsl.com>; Sat, 10 Apr 2010 00:30:49 -0700 (PDT)
Received: from smtprelay04.ispgateway.de (smtprelay04.ispgateway.de [80.67.29.8]) by core3.amsl.com (Postfix) with ESMTP id A79EB3A65A6 for <oauth@ietf.org>; Sat, 10 Apr 2010 00:30:48 -0700 (PDT)
Received: from p4fff0f64.dip.t-dialin.net ([79.255.15.100] helo=[127.0.0.1]) by smtprelay04.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O0V9O-0001it-Rm; Sat, 10 Apr 2010 09:30:42 +0200
Message-ID: <4BC02921.3000102@lodderstedt.net>
Date: Sat, 10 Apr 2010 09:30:41 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: "Moore, Jonathan" <Jonathan_Moore@Comcast.com>
References: <C7E4B464.31FD3%eran@hueniverse.com> <A13FDE0E-C73F-4C7C-B085-B2297C710B55@comcast.com>
In-Reply-To: <A13FDE0E-C73F-4C7C-B085-B2297C710B55@comcast.com>
Content-Type: multipart/alternative; boundary="------------000404060207090204010204"
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization request header
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Apr 2010 07:30:50 -0000

This is a multi-part message in MIME format.
--------------000404060207090204010204
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

 From my point of view, your use case can be implemented in two ways

1) tokenized & signed URLs provided by your origin server
2) URLs with one-time usage bearer tokens as parameter acquired by your 
origin server

I see the following pros/cons:

Load: (2) requires the origin server to acquire one token per link on 
your page from the auth server, which may cause a lot of load on the 
authz server :-(. (1) only needs to obtain a single token since the 
signature is calculated by the origin server locally. This might be much 
better from a load perspective.

Security: As a further downside (2) either requires HTTPS communication 
for the whole page or you acquire the URL with one-time usage bearer 
token over HTTP. Acquisition from authz server can still be performed 
over HTTPS. If this acceptable depends on your security considerations.

Comments?

regards,
Torsten.

Am 10.04.2010 03:34, schrieb Moore, Jonathan:
> However, this doesn't address my earlier use case of a signed, 
> cross-domain JSONP call, especially if it's sitting on a non-HTTPS 
> page; I need to make a non-HTTP XHR request to obtain a (signed or 
> tokenized) URL to include in my <script> include, so requiring a 
> bearer token and SSL basically forces me to have the whole page 
> delivered over HTTPS, which may be overkill for my application.
>
> While I can understand that token and secret acquisition might need 
> SSL, always requiring it on authorized requests too seems too much.
>
> Can someone explain/re-explain why query parameter signatures need to 
> be eliminated? The Authorization header is great when you can 
> manipulate it, but you can't always. Why is it problematic for the 
> signatures to be able to appear in either place?
>
> Jon
>
> ........
> Jon Moore
>
>
> On Apr 9, 2010, at 1:39 PM, "Eran Hammer-Lahav" <eran@hueniverse.com 
> <mailto:eran@hueniverse.com>> wrote:
>
>> In practice this is the same as logging in which I expect to require 
>> SSL anyway. Signed or not, attackers should not be able to login to 
>> your email account simply by using a MITM attack when you click on 
>> your IM client. So SSL is required already.
>>
>> EHL
>>
>>
>> On 4/9/10 7:30 AM, "George Fletcher" <gffletch@aol.com 
>> <mailto:gffletch@aol.com>> wrote:
>>
>>     Yes, this is possible, though to be secure it should really
>>     happen over SSL which is less of a requirement for a signed request.
>>
>>     I guess the main question is whether we really need to remove the
>>     signature related parameters from URL and only allow them in the
>>     Authorization header. For signed requests, these use cases pretty
>>     much require that the signature parameters be allowed in the URL.
>>
>>     Obviously, if we change our model to not use signed URLs then
>>     this issue goes away:)
>>
>>     Thanks,
>>     George
>>
>>     On 4/9/10 12:58 AM, Brian Eaton wrote:
>>
>>
>>         On Thu, Apr 8, 2010 at 7:08 AM, George Fletcher
>>         <gffletch@aol.com <mailto:gffletch@aol.com>>
>>         <mailto:gffletch@aol.com>  wrote:
>>
>>
>>
>>             I realize that these sorts of use cases are trivial if
>>             establishment of the
>>             SSO session switches from a signed mechanism to the OAuth
>>             WRAP bearer token
>>             model. The one nice feature of the signed URL is that it
>>             is one time use
>>             where the bearer token can be replayed multiple times.
>>
>>
>>
>>
>>         Yep, Google does this kind of thing too.
>>
>>         Is there something that stops you from declaring that a
>>         particular
>>         token is single use?
>>
>>         1) Client makes call to Authorization server, passing in
>>         either the
>>         refresh token or an access token (depending on the security
>>         model you
>>         want.)
>>         2) AS returns a token.
>>         3) Client uses the token to pop open a web browser.
>>
>>         Cheers,
>>         Brian
>>
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org <mailto:OAuth@ietf.org>
>> https://www.ietf.org/mailman/listinfo/oauth
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    


--------------000404060207090204010204
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
>From my point of view, your use case can be implemented in two ways<br>
<br>
1) tokenized &amp; signed URLs provided by your origin server<br>
2) URLs with one-time usage bearer tokens as parameter acquired by your
origin server<br>
<br>
I see the following pros/cons: <br>
<br>
Load: (2) requires the origin server to acquire one token per link on
your page from the auth server, which may cause a lot of load on the
authz server :-(. (1) only needs to obtain a single token since the
signature is calculated by the origin server locally. This might be
much better from a load perspective.<br>
<br>
Security: As a further downside (2) either requires HTTPS communication
for the whole page or you acquire the URL with one-time usage bearer
token over HTTP. Acquisition from authz server can still be performed
over HTTPS. If this acceptable depends on your security considerations.
<br>
<br>
Comments?<br>
<br>
regards,<br>
Torsten.<br>
<br>
Am 10.04.2010 03:34, schrieb Moore, Jonathan:
<blockquote cite="mid:A13FDE0E-C73F-4C7C-B085-B2297C710B55@comcast.com"
 type="cite">
  <div>However, this doesn't address my earlier use case of a signed,
cross-domain JSONP call, especially if it's sitting on a non-HTTPS
page; I need to make a non-HTTP XHR request to obtain a (signed or
tokenized) URL to include in my &lt;script&gt; include, so requiring a
bearer token and SSL basically forces me to have the whole page
delivered over HTTPS, which may be overkill for my application.Â </div>
  <div><br>
  </div>
  <div>While I can understand that token and secret acquisition might
need SSL, always requiring it on authorized requests too seems too much.</div>
  <div><br>
  </div>
  <div>Can someone explain/re-explain why query parameter signatures
need to be eliminated? The Authorization header is great when you can
manipulate it, but you can't always. Why is it problematic for the
signatures to be able to appear in either place?</div>
  <div><br>
  </div>
  <div>Jon</div>
  <div><br>
........
  <div>Jon Moore</div>
  <div><br>
  </div>
  </div>
  <div><br>
On Apr 9, 2010, at 1:39 PM, "Eran Hammer-Lahav" &lt;<a
 moz-do-not-send="true" href="mailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt;
wrote:<br>
  <br>
  </div>
  <blockquote type="cite">
    <div><font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;">In practice this is the same as logging in
which I expect to require SSL anyway. Signed or not, attackers should
not be able to login to your email account simply by using a MITM
attack when you click on your IM client. So SSL is required already.<br>
    <br>
EHL <br>
    <br>
    <br>
On 4/9/10 7:30 AM, "George Fletcher" &lt;<a moz-do-not-send="true"
 href="mailto:gffletch@aol.com">gffletch@aol.com</a>&gt; wrote:<br>
    <br>
    </span></font>
    <blockquote><span style="font-size: 11pt;"><font
 face="Helvetica, Verdana, Arial">Yes, this is possible, though to be
secure it should really happen over SSL which is less of a requirement
for a signed request. <br>
      <br>
I guess the main question is whether we really need to remove the
signature related parameters from URL and only allow them in the
Authorization header. For signed requests, these use cases pretty much
require that the signature parameters be allowed in the URL.<br>
      <br>
Obviously, if we change our model to not use signed URLs then this
issue goes away:)<br>
      <br>
Thanks,<br>
George<br>
      </font><font face="Calibri, Verdana, Helvetica, Arial"><br>
On 4/9/10 12:58 AM, Brian Eaton wrote: <br>
      </font></span>
      <blockquote><span style="font-size: 11pt;"><font
 face="Calibri, Verdana, Helvetica, Arial"> <br>
On Thu, Apr 8, 2010 at 7:08 AM, George Fletcher &lt;<a
 moz-do-not-send="true" href="mailto:gffletch@aol.com">gffletch@aol.com</a>&gt;
&lt;<a moz-do-not-send="true" href="mailto:gffletch@aol.com">mailto:gffletch@aol.com</a>&gt;
Â wrote:<br>
Â Â <br>
Â <br>
        </font></span>
        <blockquote><span style="font-size: 11pt;"><font
 face="Calibri, Verdana, Helvetica, Arial"> <br>
I realize that these sorts of use cases are trivial if establishment of
the<br>
SSO session switches from a signed mechanism to the OAuth WRAP bearer
token<br>
model. The one nice feature of the signed URL is that it is one time use<br>
where the bearer token can be replayed multiple times.<br>
Â Â Â Â <br>
Â <br>
          </font></span></blockquote>
        <span style="font-size: 11pt;"><font
 face="Calibri, Verdana, Helvetica, Arial"> <br>
        <br>
Yep, Google does this kind of thing too.<br>
        <br>
Is there something that stops you from declaring that a particular<br>
token is single use?<br>
        <br>
1) Client makes call to Authorization server, passing in either the<br>
refresh token or an access token (depending on the security model you<br>
want.)<br>
2) AS returns a token.<br>
3) Client uses the token to pop open a web browser.<br>
        <br>
Cheers,<br>
Brian<br>
        <br>
Â Â <br>
        </font></span></blockquote>
      <span style="font-size: 11pt;"><font
 face="Calibri, Verdana, Helvetica, Arial"><br>
      </font></span></blockquote>
    </div>
  </blockquote>
  <blockquote type="cite">
    <div><span>_______________________________________________</span><br>
    <span>OAuth mailing list</span><br>
    <span><a moz-do-not-send="true" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a></span><br>
    <span><a moz-do-not-send="true"
 href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a></span><br>
    </div>
  </blockquote>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>
  </pre>
</blockquote>
<br>
</body>
</html>

--------------000404060207090204010204--


From jonathan_moore@comcast.com  Sat Apr 10 06:14:06 2010
Return-Path: <jonathan_moore@comcast.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A262F3A68C3 for <oauth@core3.amsl.com>; Sat, 10 Apr 2010 06:14:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.395
X-Spam-Level: 
X-Spam-Status: No, score=-6.395 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_MODEMCABLE=0.768, HOST_EQ_MODEMCABLE=1.368, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8, RCVD_NUMERIC_HELO=2.067]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4Gej09UzBv1V for <oauth@core3.amsl.com>; Sat, 10 Apr 2010 06:14:05 -0700 (PDT)
Received: from pacdcimo01.cable.comcast.com (PacdcIMO01.cable.comcast.com [24.40.8.145]) by core3.amsl.com (Postfix) with ESMTP id 663F83A6818 for <oauth@ietf.org>; Sat, 10 Apr 2010 06:14:03 -0700 (PDT)
Received: from ([10.195.246.152]) by pacdcimo01.cable.comcast.com with ESMTP  id 5503620.76581726; Sat, 10 Apr 2010 09:13:53 -0400
Received: from PACORPEXCMB03.cable.comcast.com ([24.40.15.85]) by NJMDCEXCRLY01.cable.comcast.com with Microsoft SMTPSVC(6.0.3790.3959); Sat, 10 Apr 2010 09:13:52 -0400
Received: from 24.40.8.154 ([24.40.8.154]) by PACORPEXCMB03.cable.comcast.com ([24.40.15.85]) with Microsoft Exchange Server HTTP-DAV ;  Sat, 10 Apr 2010 13:13:52 +0000
Message-ID: <3B11A364-C37D-4690-8FBD-5840F8C3884E@comcast.com>
From: "Moore, Jonathan" <Jonathan_Moore@Comcast.com>
To: "Torsten Lodderstedt" <torsten@lodderstedt.net>
In-Reply-To: <4BC02921.3000102@lodderstedt.net>
Content-Type: multipart/alternative; boundary="Apple-Mail-41-540253048"; charset="utf-8"
thread-topic: [OAUTH-WG] Limiting signed requests to use the Authorization request header
thread-index: AcrYr6o1G9IFE9KYR5u6aekdX1WSMQ==
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0 (iPhone Mail 7A341)
Date: Sat, 10 Apr 2010 09:13:47 -0400
References: <C7E4B464.31FD3%eran@hueniverse.com> <A13FDE0E-C73F-4C7C-B085-B2297C710B55@comcast.com> <4BC02921.3000102@lodderstedt.net>
X-OriginalArrivalTime: 10 Apr 2010 13:13:52.0587 (UTC) FILETIME=[AA8F39B0:01CAD8AF]
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization request header
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Apr 2010 13:14:06 -0000

--Apple-Mail-41-540253048
Content-Type: text/plain;
	charset=utf-8;
	format=flowed;
	delsp=yes
Content-Transfer-Encoding: base64

T2ssIHRoYW5rcyAtIEkgd2FzIG1pc3NpbmcgdGhlIHBvc3NpYmlsaXR5IHRoYXQgYmVhcmVyIHRv
a2VucyBjb3VsZCBiZSAgDQpzaW5nbGUgdXNlLiBJIGFncmVlIHRoaXMgY292ZXJzIG15IHVzZSBj
YXNlIGFkZXF1YXRlbHksIHNvIEkgYW0gbm93ICANCmRlZmluaXRlbHkgKzEgZm9yIHNpbXBsaWZ5
aW5nIHRoZSBzcGVjIGluIHRoaXMgd2F5Lg0KDQpUaGFua3MgZm9yIGJlYXJpbmcgKHB1biBpbnRl
bmRlZCkgd2l0aCBtZS4NCg0KSm9uDQoNCi4uLi4uLi4uDQpKb24gTW9vcmUNCg0KDQpPbiBBcHIg
MTAsIDIwMTAsIGF0IDM6MzAgQU0sICJUb3JzdGVuIExvZGRlcnN0ZWR0IiA8dG9yc3RlbkBsb2Rk
ZXJzdGVkdC5uZXQgDQogPiB3cm90ZToNCg0KPiBGcm9tIG15IHBvaW50IG9mIHZpZXcsIHlvdXIg
dXNlIGNhc2UgY2FuIGJlIGltcGxlbWVudGVkIGluIHR3byB3YXlzDQo+DQo+IDEpIHRva2VuaXpl
ZCAmIHNpZ25lZCBVUkxzIHByb3ZpZGVkIGJ5IHlvdXIgb3JpZ2luIHNlcnZlcg0KPiAyKSBVUkxz
IHdpdGggb25lLXRpbWUgdXNhZ2UgYmVhcmVyIHRva2VucyBhcyBwYXJhbWV0ZXIgYWNxdWlyZWQg
YnkgIA0KPiB5b3VyIG9yaWdpbiBzZXJ2ZXINCj4NCj4gSSBzZWUgdGhlIGZvbGxvd2luZyBwcm9z
L2NvbnM6DQo+DQo+IExvYWQ6ICgyKSByZXF1aXJlcyB0aGUgb3JpZ2luIHNlcnZlciB0byBhY3F1
aXJlIG9uZSB0b2tlbiBwZXIgbGluayAgDQo+IG9uIHlvdXIgcGFnZSBmcm9tIHRoZSBhdXRoIHNl
cnZlciwgd2hpY2ggbWF5IGNhdXNlIGEgbG90IG9mIGxvYWQgb24gIA0KPiB0aGUgYXV0aHogc2Vy
dmVyIDotKC4gKDEpIG9ubHkgbmVlZHMgdG8gb2J0YWluIGEgc2luZ2xlIHRva2VuIHNpbmNlICAN
Cj4gdGhlIHNpZ25hdHVyZSBpcyBjYWxjdWxhdGVkIGJ5IHRoZSBvcmlnaW4gc2VydmVyIGxvY2Fs
bHkuIFRoaXMgbWlnaHQgIA0KPiBiZSBtdWNoIGJldHRlciBmcm9tIGEgbG9hZCBwZXJzcGVjdGl2
ZS4NCj4NCj4gU2VjdXJpdHk6IEFzIGEgZnVydGhlciBkb3duc2lkZSAoMikgZWl0aGVyIHJlcXVp
cmVzIEhUVFBTICANCj4gY29tbXVuaWNhdGlvbiBmb3IgdGhlIHdob2xlIHBhZ2Ugb3IgeW91IGFj
cXVpcmUgdGhlIFVSTCB3aXRoIG9uZS0gDQo+IHRpbWUgdXNhZ2UgYmVhcmVyIHRva2VuIG92ZXIg
SFRUUC4gQWNxdWlzaXRpb24gZnJvbSBhdXRoeiBzZXJ2ZXIgY2FuICANCj4gc3RpbGwgYmUgcGVy
Zm9ybWVkIG92ZXIgSFRUUFMuIElmIHRoaXMgYWNjZXB0YWJsZSBkZXBlbmRzIG9uIHlvdXIgIA0K
PiBzZWN1cml0eSBjb25zaWRlcmF0aW9ucy4NCj4NCj4gQ29tbWVudHM/DQo+DQo+IHJlZ2FyZHMs
DQo+IFRvcnN0ZW4uDQo+DQo+IEFtIDEwLjA0LjIwMTAgMDM6MzQsIHNjaHJpZWIgTW9vcmUsIEpv
bmF0aGFuOg0KPj4NCj4+IEhvd2V2ZXIsIHRoaXMgZG9lc24ndCBhZGRyZXNzIG15IGVhcmxpZXIg
dXNlIGNhc2Ugb2YgYSBzaWduZWQsICANCj4+IGNyb3NzLWRvbWFpbiBKU09OUCBjYWxsLCBlc3Bl
Y2lhbGx5IGlmIGl0J3Mgc2l0dGluZyBvbiBhIG5vbi1IVFRQUyAgDQo+PiBwYWdlOyBJIG5lZWQg
dG8gbWFrZSBhIG5vbi1IVFRQIFhIUiByZXF1ZXN0IHRvIG9idGFpbiBhIChzaWduZWQgb3IgIA0K
Pj4gdG9rZW5pemVkKSBVUkwgdG8gaW5jbHVkZSBpbiBteSA8c2NyaXB0PiBpbmNsdWRlLCBzbyBy
ZXF1aXJpbmcgYSAgDQo+PiBiZWFyZXIgdG9rZW4gYW5kIFNTTCBiYXNpY2FsbHkgZm9yY2VzIG1l
IHRvIGhhdmUgdGhlIHdob2xlIHBhZ2UgIA0KPj4gZGVsaXZlcmVkIG92ZXIgSFRUUFMsIHdoaWNo
IG1heSBiZSBvdmVya2lsbCBmb3IgbXkgYXBwbGljYXRpb24uw4INCj4+DQo+PiBXaGlsZSBJIGNh
biB1bmRlcnN0YW5kIHRoYXQgdG9rZW4gYW5kIHNlY3JldCBhY3F1aXNpdGlvbiBtaWdodCBuZWVk
ICANCj4+IFNTTCwgYWx3YXlzIHJlcXVpcmluZyBpdCBvbiBhdXRob3JpemVkIHJlcXVlc3RzIHRv
byBzZWVtcyB0b28gbXVjaC4NCj4+DQo+PiBDYW4gc29tZW9uZSBleHBsYWluL3JlLWV4cGxhaW4g
d2h5IHF1ZXJ5IHBhcmFtZXRlciBzaWduYXR1cmVzIG5lZWQgIA0KPj4gdG8gYmUgZWxpbWluYXRl
ZD8gVGhlIEF1dGhvcml6YXRpb24gaGVhZGVyIGlzIGdyZWF0IHdoZW4geW91IGNhbiAgDQo+PiBt
YW5pcHVsYXRlIGl0LCBidXQgeW91IGNhbid0IGFsd2F5cy4gV2h5IGlzIGl0IHByb2JsZW1hdGlj
IGZvciB0aGUgIA0KPj4gc2lnbmF0dXJlcyB0byBiZSBhYmxlIHRvIGFwcGVhciBpbiBlaXRoZXIg
cGxhY2U/DQo+Pg0KPj4gSm9uDQo+Pg0KPj4gLi4uLi4uLi4NCj4+IEpvbiBNb29yZQ0KPj4NCj4+
DQo+PiBPbiBBcHIgOSwgMjAxMCwgYXQgMTozOSBQTSwgIkVyYW4gSGFtbWVyLUxhaGF2IiAgDQo+
PiA8ZXJhbkBodWVuaXZlcnNlLmNvbT4gd3JvdGU6DQo+Pg0KPj4+IEluIHByYWN0aWNlIHRoaXMg
aXMgdGhlIHNhbWUgYXMgbG9nZ2luZyBpbiB3aGljaCBJIGV4cGVjdCB0byAgDQo+Pj4gcmVxdWly
ZSBTU0wgYW55d2F5LiBTaWduZWQgb3Igbm90LCBhdHRhY2tlcnMgc2hvdWxkIG5vdCBiZSBhYmxl
IHRvICANCj4+PiBsb2dpbiB0byB5b3VyIGVtYWlsIGFjY291bnQgc2ltcGx5IGJ5IHVzaW5nIGEg
TUlUTSBhdHRhY2sgd2hlbiB5b3UgIA0KPj4+IGNsaWNrIG9uIHlvdXIgSU0gY2xpZW50LiBTbyBT
U0wgaXMgcmVxdWlyZWQgYWxyZWFkeS4NCj4+Pg0KPj4+IEVITA0KPj4+DQo+Pj4NCj4+PiBPbiA0
LzkvMTAgNzozMCBBTSwgIkdlb3JnZSBGbGV0Y2hlciIgPGdmZmxldGNoQGFvbC5jb20+IHdyb3Rl
Og0KPj4+DQo+Pj4gWWVzLCB0aGlzIGlzIHBvc3NpYmxlLCB0aG91Z2ggdG8gYmUgc2VjdXJlIGl0
IHNob3VsZCByZWFsbHkgaGFwcGVuICANCj4+PiBvdmVyIFNTTCB3aGljaCBpcyBsZXNzIG9mIGEg
cmVxdWlyZW1lbnQgZm9yIGEgc2lnbmVkIHJlcXVlc3QuDQo+Pj4NCj4+PiBJIGd1ZXNzIHRoZSBt
YWluIHF1ZXN0aW9uIGlzIHdoZXRoZXIgd2UgcmVhbGx5IG5lZWQgdG8gcmVtb3ZlIHRoZSAgDQo+
Pj4gc2lnbmF0dXJlIHJlbGF0ZWQgcGFyYW1ldGVycyBmcm9tIFVSTCBhbmQgb25seSBhbGxvdyB0
aGVtIGluIHRoZSAgDQo+Pj4gQXV0aG9yaXphdGlvbiBoZWFkZXIuIEZvciBzaWduZWQgcmVxdWVz
dHMsIHRoZXNlIHVzZSBjYXNlcyBwcmV0dHkgIA0KPj4+IG11Y2ggcmVxdWlyZSB0aGF0IHRoZSBz
aWduYXR1cmUgcGFyYW1ldGVycyBiZSBhbGxvd2VkIGluIHRoZSBVUkwuDQo+Pj4NCj4+PiBPYnZp
b3VzbHksIGlmIHdlIGNoYW5nZSBvdXIgbW9kZWwgdG8gbm90IHVzZSBzaWduZWQgVVJMcyB0aGVu
IHRoaXMgIA0KPj4+IGlzc3VlIGdvZXMgYXdheTopDQo+Pj4NCj4+PiBUaGFua3MsDQo+Pj4gR2Vv
cmdlDQo+Pj4NCj4+PiBPbiA0LzkvMTAgMTI6NTggQU0sIEJyaWFuIEVhdG9uIHdyb3RlOg0KPj4+
DQo+Pj4gT24gVGh1LCBBcHIgOCwgMjAxMCBhdCA3OjA4IEFNLCBHZW9yZ2UgRmxldGNoZXIgPGdm
ZmxldGNoQGFvbC5jb20+ICANCj4+PiA8bWFpbHRvOmdmZmxldGNoQGFvbC5jb20+IMOCIHdyb3Rl
Og0KPj4+IMOCIMOCDQo+Pj4gw4INCj4+Pg0KPj4+IEkgcmVhbGl6ZSB0aGF0IHRoZXNlIHNvcnRz
IG9mIHVzZSBjYXNlcyBhcmUgdHJpdmlhbCBpZiAgDQo+Pj4gZXN0YWJsaXNobWVudCBvZiB0aGUN
Cj4+PiBTU08gc2Vzc2lvbiBzd2l0Y2hlcyBmcm9tIGEgc2lnbmVkIG1lY2hhbmlzbSB0byB0aGUg
T0F1dGggV1JBUCAgDQo+Pj4gYmVhcmVyIHRva2VuDQo+Pj4gbW9kZWwuIFRoZSBvbmUgbmljZSBm
ZWF0dXJlIG9mIHRoZSBzaWduZWQgVVJMIGlzIHRoYXQgaXQgaXMgb25lICANCj4+PiB0aW1lIHVz
ZQ0KPj4+IHdoZXJlIHRoZSBiZWFyZXIgdG9rZW4gY2FuIGJlIHJlcGxheWVkIG11bHRpcGxlIHRp
bWVzLg0KPj4+IMOCIMOCIMOCIMOCDQo+Pj4gw4INCj4+Pg0KPj4+DQo+Pj4gWWVwLCBHb29nbGUg
ZG9lcyB0aGlzIGtpbmQgb2YgdGhpbmcgdG9vLg0KPj4+DQo+Pj4gSXMgdGhlcmUgc29tZXRoaW5n
IHRoYXQgc3RvcHMgeW91IGZyb20gZGVjbGFyaW5nIHRoYXQgYSBwYXJ0aWN1bGFyDQo+Pj4gdG9r
ZW4gaXMgc2luZ2xlIHVzZT8NCj4+Pg0KPj4+IDEpIENsaWVudCBtYWtlcyBjYWxsIHRvIEF1dGhv
cml6YXRpb24gc2VydmVyLCBwYXNzaW5nIGluIGVpdGhlciB0aGUNCj4+PiByZWZyZXNoIHRva2Vu
IG9yIGFuIGFjY2VzcyB0b2tlbiAoZGVwZW5kaW5nIG9uIHRoZSBzZWN1cml0eSBtb2RlbCAgDQo+
Pj4geW91DQo+Pj4gd2FudC4pDQo+Pj4gMikgQVMgcmV0dXJucyBhIHRva2VuLg0KPj4+IDMpIENs
aWVudCB1c2VzIHRoZSB0b2tlbiB0byBwb3Agb3BlbiBhIHdlYiBicm93c2VyLg0KPj4+DQo+Pj4g
Q2hlZXJzLA0KPj4+IEJyaWFuDQo+Pj4NCj4+PiDDgiDDgg0KPj4+DQo+Pg0KPj4+IF9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+Pj4gT0F1dGggbWFpbGlu
ZyBsaXN0DQo+Pj4gT0F1dGhAaWV0Zi5vcmcNCj4+PiBodHRwczovL3d3dy5pZXRmLm9yZy9tYWls
bWFuL2xpc3RpbmZvL29hdXRoDQo+Pg0KPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18NCj4+IE9BdXRoIG1haWxpbmcgbGlzdA0KPj4gT0F1dGhAaWV0Zi5v
cmcNCj4+IGh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vb2F1dGgNCj4+DQo+
DQo=

--Apple-Mail-41-540253048
Content-Type: text/html;
	charset=utf-8
Content-Transfer-Encoding: base64

PGh0bWw+PGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiI+PGRpdj5PaywgdGhhbmtzIC0gSSB3YXMgbWlz
c2luZyB0aGUgcG9zc2liaWxpdHkgdGhhdCBiZWFyZXIgdG9rZW5zIGNvdWxkIGJlIHNpbmdsZSB1
c2UuIEkgYWdyZWUgdGhpcyBjb3ZlcnMgbXkgdXNlIGNhc2UgYWRlcXVhdGVseSwgc28gSSBhbSBu
b3cgZGVmaW5pdGVseSArMSBmb3Igc2ltcGxpZnlpbmcgdGhlIHNwZWMgaW4gdGhpcyB3YXkuPC9k
aXY+PGRpdj48YnI+PC9kaXY+PGRpdj5UaGFua3MgZm9yIGJlYXJpbmcgKHB1biBpbnRlbmRlZCkg
d2l0aCBtZS48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pkpvbjxicj48YnI+Li4uLi4uLi48ZGl2
PkpvbiBNb29yZTwvZGl2PjxkaXY+PGJyPjwvZGl2PjwvZGl2PjxkaXY+PGJyPk9uIEFwciAxMCwg
MjAxMCwgYXQgMzozMCBBTSwgIlRvcnN0ZW4gTG9kZGVyc3RlZHQiICZsdDs8YSBocmVmPSJtYWls
dG86dG9yc3RlbkBsb2RkZXJzdGVkdC5uZXQiPnRvcnN0ZW5AbG9kZGVyc3RlZHQubmV0PC9hPiZn
dDsgd3JvdGU6PGJyPjxicj48L2Rpdj48ZGl2PjwvZGl2PjxibG9ja3F1b3RlIHR5cGU9ImNpdGUi
PjxkaXY+DQoNCkZyb20gbXkgcG9pbnQgb2YgdmlldywgeW91ciB1c2UgY2FzZSBjYW4gYmUgaW1w
bGVtZW50ZWQgaW4gdHdvIHdheXM8YnI+DQo8YnI+DQoxKSB0b2tlbml6ZWQgJmFtcDsgc2lnbmVk
IFVSTHMgcHJvdmlkZWQgYnkgeW91ciBvcmlnaW4gc2VydmVyPGJyPg0KMikgVVJMcyB3aXRoIG9u
ZS10aW1lIHVzYWdlIGJlYXJlciB0b2tlbnMgYXMgcGFyYW1ldGVyIGFjcXVpcmVkIGJ5IHlvdXIN
Cm9yaWdpbiBzZXJ2ZXI8YnI+DQo8YnI+DQpJIHNlZSB0aGUgZm9sbG93aW5nIHByb3MvY29uczog
PGJyPg0KPGJyPg0KTG9hZDogKDIpIHJlcXVpcmVzIHRoZSBvcmlnaW4gc2VydmVyIHRvIGFjcXVp
cmUgb25lIHRva2VuIHBlciBsaW5rIG9uDQp5b3VyIHBhZ2UgZnJvbSB0aGUgYXV0aCBzZXJ2ZXIs
IHdoaWNoIG1heSBjYXVzZSBhIGxvdCBvZiBsb2FkIG9uIHRoZQ0KYXV0aHogc2VydmVyIDotKC4g
KDEpIG9ubHkgbmVlZHMgdG8gb2J0YWluIGEgc2luZ2xlIHRva2VuIHNpbmNlIHRoZQ0Kc2lnbmF0
dXJlIGlzIGNhbGN1bGF0ZWQgYnkgdGhlIG9yaWdpbiBzZXJ2ZXIgbG9jYWxseS4gVGhpcyBtaWdo
dCBiZQ0KbXVjaCBiZXR0ZXIgZnJvbSBhIGxvYWQgcGVyc3BlY3RpdmUuPGJyPg0KPGJyPg0KU2Vj
dXJpdHk6IEFzIGEgZnVydGhlciBkb3duc2lkZSAoMikgZWl0aGVyIHJlcXVpcmVzIEhUVFBTIGNv
bW11bmljYXRpb24NCmZvciB0aGUgd2hvbGUgcGFnZSBvciB5b3UgYWNxdWlyZSB0aGUgVVJMIHdp
dGggb25lLXRpbWUgdXNhZ2UgYmVhcmVyDQp0b2tlbiBvdmVyIEhUVFAuIEFjcXVpc2l0aW9uIGZy
b20gYXV0aHogc2VydmVyIGNhbiBzdGlsbCBiZSBwZXJmb3JtZWQNCm92ZXIgSFRUUFMuIElmIHRo
aXMgYWNjZXB0YWJsZSBkZXBlbmRzIG9uIHlvdXIgc2VjdXJpdHkgY29uc2lkZXJhdGlvbnMuDQo8
YnI+DQo8YnI+DQpDb21tZW50cz88YnI+DQo8YnI+DQpyZWdhcmRzLDxicj4NClRvcnN0ZW4uPGJy
Pg0KPGJyPg0KQW0gMTAuMDQuMjAxMCAwMzozNCwgc2NocmllYiBNb29yZSwgSm9uYXRoYW46DQo8
YmxvY2txdW90ZSBjaXRlPSJtaWQ6QTEzRkRFMEUtQzczRi00QzdDLUIwODUtQjIyOTdDNzEwQjU1
QGNvbWNhc3QuY29tIiB0eXBlPSJjaXRlIj4NCiAgPGRpdj5Ib3dldmVyLCB0aGlzIGRvZXNuJ3Qg
YWRkcmVzcyBteSBlYXJsaWVyIHVzZSBjYXNlIG9mIGEgc2lnbmVkLA0KY3Jvc3MtZG9tYWluIEpT
T05QIGNhbGwsIGVzcGVjaWFsbHkgaWYgaXQncyBzaXR0aW5nIG9uIGEgbm9uLUhUVFBTDQpwYWdl
OyBJIG5lZWQgdG8gbWFrZSBhIG5vbi1IVFRQIFhIUiByZXF1ZXN0IHRvIG9idGFpbiBhIChzaWdu
ZWQgb3INCnRva2VuaXplZCkgVVJMIHRvIGluY2x1ZGUgaW4gbXkgJmx0O3NjcmlwdCZndDsgaW5j
bHVkZSwgc28gcmVxdWlyaW5nIGENCmJlYXJlciB0b2tlbiBhbmQgU1NMIGJhc2ljYWxseSBmb3Jj
ZXMgbWUgdG8gaGF2ZSB0aGUgd2hvbGUgcGFnZQ0KZGVsaXZlcmVkIG92ZXIgSFRUUFMsIHdoaWNo
IG1heSBiZSBvdmVya2lsbCBmb3IgbXkgYXBwbGljYXRpb24uw4ImbmJzcDs8L2Rpdj4NCiAgPGRp
dj48YnI+DQogIDwvZGl2Pg0KICA8ZGl2PldoaWxlIEkgY2FuIHVuZGVyc3RhbmQgdGhhdCB0b2tl
biBhbmQgc2VjcmV0IGFjcXVpc2l0aW9uIG1pZ2h0DQpuZWVkIFNTTCwgYWx3YXlzIHJlcXVpcmlu
ZyBpdCBvbiBhdXRob3JpemVkIHJlcXVlc3RzIHRvbyBzZWVtcyB0b28gbXVjaC48L2Rpdj4NCiAg
PGRpdj48YnI+DQogIDwvZGl2Pg0KICA8ZGl2PkNhbiBzb21lb25lIGV4cGxhaW4vcmUtZXhwbGFp
biB3aHkgcXVlcnkgcGFyYW1ldGVyIHNpZ25hdHVyZXMNCm5lZWQgdG8gYmUgZWxpbWluYXRlZD8g
VGhlIEF1dGhvcml6YXRpb24gaGVhZGVyIGlzIGdyZWF0IHdoZW4geW91IGNhbg0KbWFuaXB1bGF0
ZSBpdCwgYnV0IHlvdSBjYW4ndCBhbHdheXMuIFdoeSBpcyBpdCBwcm9ibGVtYXRpYyBmb3IgdGhl
DQpzaWduYXR1cmVzIHRvIGJlIGFibGUgdG8gYXBwZWFyIGluIGVpdGhlciBwbGFjZT88L2Rpdj4N
CiAgPGRpdj48YnI+DQogIDwvZGl2Pg0KICA8ZGl2PkpvbjwvZGl2Pg0KICA8ZGl2Pjxicj4NCi4u
Li4uLi4uDQogIDxkaXY+Sm9uIE1vb3JlPC9kaXY+DQogIDxkaXY+PGJyPg0KICA8L2Rpdj4NCiAg
PC9kaXY+DQogIDxkaXY+PGJyPg0KT24gQXByIDksIDIwMTAsIGF0IDE6MzkgUE0sICJFcmFuIEhh
bW1lci1MYWhhdiIgJmx0OzxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIgaHJlZj0ibWFpbHRvOmVy
YW5AaHVlbml2ZXJzZS5jb20iPjxhIGhyZWY9Im1haWx0bzplcmFuQGh1ZW5pdmVyc2UuY29tIj5l
cmFuQGh1ZW5pdmVyc2UuY29tPC9hPjwvYT4mZ3Q7DQp3cm90ZTo8YnI+DQogIDxicj4NCiAgPC9k
aXY+DQogIDxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPg0KICAgIDxkaXY+PGZvbnQgZmFjZT0iQ2Fs
aWJyaSwgVmVyZGFuYSwgSGVsdmV0aWNhLCBBcmlhbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTog
MTFwdDsiPkluIHByYWN0aWNlIHRoaXMgaXMgdGhlIHNhbWUgYXMgbG9nZ2luZyBpbg0Kd2hpY2gg
SSBleHBlY3QgdG8gcmVxdWlyZSBTU0wgYW55d2F5LiBTaWduZWQgb3Igbm90LCBhdHRhY2tlcnMg
c2hvdWxkDQpub3QgYmUgYWJsZSB0byBsb2dpbiB0byB5b3VyIGVtYWlsIGFjY291bnQgc2ltcGx5
IGJ5IHVzaW5nIGEgTUlUTQ0KYXR0YWNrIHdoZW4geW91IGNsaWNrIG9uIHlvdXIgSU0gY2xpZW50
LiBTbyBTU0wgaXMgcmVxdWlyZWQgYWxyZWFkeS48YnI+DQogICAgPGJyPg0KRUhMIDxicj4NCiAg
ICA8YnI+DQogICAgPGJyPg0KT24gNC85LzEwIDc6MzAgQU0sICJHZW9yZ2UgRmxldGNoZXIiICZs
dDs8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiIGhyZWY9Im1haWx0bzpnZmZsZXRjaEBhb2wuY29t
Ij48YSBocmVmPSJtYWlsdG86Z2ZmbGV0Y2hAYW9sLmNvbSI+Z2ZmbGV0Y2hAYW9sLmNvbTwvYT48
L2E+Jmd0OyB3cm90ZTo8YnI+DQogICAgPGJyPg0KICAgIDwvc3Bhbj48L2ZvbnQ+DQogICAgPGJs
b2NrcXVvdGU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTFwdDsiPjxmb250IGZhY2U9IkhlbHZl
dGljYSwgVmVyZGFuYSwgQXJpYWwiPlllcywgdGhpcyBpcyBwb3NzaWJsZSwgdGhvdWdoIHRvIGJl
DQpzZWN1cmUgaXQgc2hvdWxkIHJlYWxseSBoYXBwZW4gb3ZlciBTU0wgd2hpY2ggaXMgbGVzcyBv
ZiBhIHJlcXVpcmVtZW50DQpmb3IgYSBzaWduZWQgcmVxdWVzdC4gPGJyPg0KICAgICAgPGJyPg0K
SSBndWVzcyB0aGUgbWFpbiBxdWVzdGlvbiBpcyB3aGV0aGVyIHdlIHJlYWxseSBuZWVkIHRvIHJl
bW92ZSB0aGUNCnNpZ25hdHVyZSByZWxhdGVkIHBhcmFtZXRlcnMgZnJvbSBVUkwgYW5kIG9ubHkg
YWxsb3cgdGhlbSBpbiB0aGUNCkF1dGhvcml6YXRpb24gaGVhZGVyLiBGb3Igc2lnbmVkIHJlcXVl
c3RzLCB0aGVzZSB1c2UgY2FzZXMgcHJldHR5IG11Y2gNCnJlcXVpcmUgdGhhdCB0aGUgc2lnbmF0
dXJlIHBhcmFtZXRlcnMgYmUgYWxsb3dlZCBpbiB0aGUgVVJMLjxicj4NCiAgICAgIDxicj4NCk9i
dmlvdXNseSwgaWYgd2UgY2hhbmdlIG91ciBtb2RlbCB0byBub3QgdXNlIHNpZ25lZCBVUkxzIHRo
ZW4gdGhpcw0KaXNzdWUgZ29lcyBhd2F5Oik8YnI+DQogICAgICA8YnI+DQpUaGFua3MsPGJyPg0K
R2VvcmdlPGJyPg0KICAgICAgPC9mb250Pjxmb250IGZhY2U9IkNhbGlicmksIFZlcmRhbmEsIEhl
bHZldGljYSwgQXJpYWwiPjxicj4NCk9uIDQvOS8xMCAxMjo1OCBBTSwgQnJpYW4gRWF0b24gd3Jv
dGU6IDxicj4NCiAgICAgIDwvZm9udD48L3NwYW4+DQogICAgICA8YmxvY2txdW90ZT48c3BhbiBz
dHlsZT0iZm9udC1zaXplOiAxMXB0OyI+PGZvbnQgZmFjZT0iQ2FsaWJyaSwgVmVyZGFuYSwgSGVs
dmV0aWNhLCBBcmlhbCI+IDxicj4NCk9uIFRodSwgQXByIDgsIDIwMTAgYXQgNzowOCBBTSwgR2Vv
cmdlIEZsZXRjaGVyICZsdDs8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiIGhyZWY9Im1haWx0bzpn
ZmZsZXRjaEBhb2wuY29tIj48YSBocmVmPSJtYWlsdG86Z2ZmbGV0Y2hAYW9sLmNvbSI+Z2ZmbGV0
Y2hAYW9sLmNvbTwvYT48L2E+Jmd0Ow0KJmx0OzxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIgaHJl
Zj0ibWFpbHRvOmdmZmxldGNoQGFvbC5jb20iPjxhIGhyZWY9Im1haWx0bzpnZmZsZXRjaEBhb2wu
Y29tIj5tYWlsdG86Z2ZmbGV0Y2hAYW9sLmNvbTwvYT48L2E+Jmd0Ow0Kw4ImbmJzcDt3cm90ZTo8
YnI+DQrDgiZuYnNwO8OCJm5ic3A7PGJyPg0Kw4ImbmJzcDs8YnI+DQogICAgICAgIDwvZm9udD48
L3NwYW4+DQogICAgICAgIDxibG9ja3F1b3RlPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDExcHQ7
Ij48Zm9udCBmYWNlPSJDYWxpYnJpLCBWZXJkYW5hLCBIZWx2ZXRpY2EsIEFyaWFsIj4gPGJyPg0K
SSByZWFsaXplIHRoYXQgdGhlc2Ugc29ydHMgb2YgdXNlIGNhc2VzIGFyZSB0cml2aWFsIGlmIGVz
dGFibGlzaG1lbnQgb2YNCnRoZTxicj4NClNTTyBzZXNzaW9uIHN3aXRjaGVzIGZyb20gYSBzaWdu
ZWQgbWVjaGFuaXNtIHRvIHRoZSBPQXV0aCBXUkFQIGJlYXJlcg0KdG9rZW48YnI+DQptb2RlbC4g
VGhlIG9uZSBuaWNlIGZlYXR1cmUgb2YgdGhlIHNpZ25lZCBVUkwgaXMgdGhhdCBpdCBpcyBvbmUg
dGltZSB1c2U8YnI+DQp3aGVyZSB0aGUgYmVhcmVyIHRva2VuIGNhbiBiZSByZXBsYXllZCBtdWx0
aXBsZSB0aW1lcy48YnI+DQrDgiZuYnNwO8OCJm5ic3A7w4ImbmJzcDvDgiZuYnNwOzxicj4NCsOC
Jm5ic3A7PGJyPg0KICAgICAgICAgIDwvZm9udD48L3NwYW4+PC9ibG9ja3F1b3RlPg0KICAgICAg
ICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMXB0OyI+PGZvbnQgZmFjZT0iQ2FsaWJyaSwgVmVy
ZGFuYSwgSGVsdmV0aWNhLCBBcmlhbCI+IDxicj4NCiAgICAgICAgPGJyPg0KWWVwLCBHb29nbGUg
ZG9lcyB0aGlzIGtpbmQgb2YgdGhpbmcgdG9vLjxicj4NCiAgICAgICAgPGJyPg0KSXMgdGhlcmUg
c29tZXRoaW5nIHRoYXQgc3RvcHMgeW91IGZyb20gZGVjbGFyaW5nIHRoYXQgYSBwYXJ0aWN1bGFy
PGJyPg0KdG9rZW4gaXMgc2luZ2xlIHVzZT88YnI+DQogICAgICAgIDxicj4NCjEpIENsaWVudCBt
YWtlcyBjYWxsIHRvIEF1dGhvcml6YXRpb24gc2VydmVyLCBwYXNzaW5nIGluIGVpdGhlciB0aGU8
YnI+DQpyZWZyZXNoIHRva2VuIG9yIGFuIGFjY2VzcyB0b2tlbiAoZGVwZW5kaW5nIG9uIHRoZSBz
ZWN1cml0eSBtb2RlbCB5b3U8YnI+DQp3YW50Lik8YnI+DQoyKSBBUyByZXR1cm5zIGEgdG9rZW4u
PGJyPg0KMykgQ2xpZW50IHVzZXMgdGhlIHRva2VuIHRvIHBvcCBvcGVuIGEgd2ViIGJyb3dzZXIu
PGJyPg0KICAgICAgICA8YnI+DQpDaGVlcnMsPGJyPg0KQnJpYW48YnI+DQogICAgICAgIDxicj4N
CsOCJm5ic3A7w4ImbmJzcDs8YnI+DQogICAgICAgIDwvZm9udD48L3NwYW4+PC9ibG9ja3F1b3Rl
Pg0KICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTFwdDsiPjxmb250IGZhY2U9IkNhbGli
cmksIFZlcmRhbmEsIEhlbHZldGljYSwgQXJpYWwiPjxicj4NCiAgICAgIDwvZm9udD48L3NwYW4+
PC9ibG9ja3F1b3RlPg0KICAgIDwvZGl2Pg0KICA8L2Jsb2NrcXVvdGU+DQogIDxibG9ja3F1b3Rl
IHR5cGU9ImNpdGUiPg0KICAgIDxkaXY+PHNwYW4+X19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX188L3NwYW4+PGJyPg0KICAgIDxzcGFuPk9BdXRoIG1haWxpbmcg
bGlzdDwvc3Bhbj48YnI+DQogICAgPHNwYW4+PGEgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIiBocmVm
PSJtYWlsdG86T0F1dGhAaWV0Zi5vcmciPjxhIGhyZWY9Im1haWx0bzpPQXV0aEBpZXRmLm9yZyI+
T0F1dGhAaWV0Zi5vcmc8L2E+PC9hPjwvc3Bhbj48YnI+DQogICAgPHNwYW4+PGEgbW96LWRvLW5v
dC1zZW5kPSJ0cnVlIiBocmVmPSJodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZv
L29hdXRoIj48YSBocmVmPSJodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29h
dXRoIj5odHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29hdXRoPC9hPjwvYT48
L3NwYW4+PGJyPg0KICAgIDwvZGl2Pg0KICA8L2Jsb2NrcXVvdGU+DQogIDxwcmUgd3JhcD0iIj48
ZmllbGRzZXQgY2xhc3M9Im1pbWVBdHRhY2htZW50SGVhZGVyIj48L2ZpZWxkc2V0Pg0KX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCk9BdXRoIG1haWxpbmcg
bGlzdA0KPGEgY2xhc3M9Im1vei10eHQtbGluay1hYmJyZXZpYXRlZCIgaHJlZj0ibWFpbHRvOk9B
dXRoQGlldGYub3JnIj48YSBocmVmPSJtYWlsdG86T0F1dGhAaWV0Zi5vcmciPk9BdXRoQGlldGYu
b3JnPC9hPjwvYT4NCjxhIGNsYXNzPSJtb3otdHh0LWxpbmstZnJlZXRleHQiIGhyZWY9Imh0dHBz
Oi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vb2F1dGgiPjxhIGhyZWY9Imh0dHBzOi8v
d3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vb2F1dGgiPmh0dHBzOi8vd3d3LmlldGYub3Jn
L21haWxtYW4vbGlzdGluZm8vb2F1dGg8L2E+PC9hPg0KICA8L3ByZT4NCjwvYmxvY2txdW90ZT4N
Cjxicj4NCg0KDQo8L2Rpdj48L2Jsb2NrcXVvdGU+PC9ib2R5PjwvaHRtbD4=

--Apple-Mail-41-540253048--

From john@jkemp.net  Sat Apr 10 06:37:11 2010
Return-Path: <john@jkemp.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D0F973A694F for <oauth@core3.amsl.com>; Sat, 10 Apr 2010 06:37:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.615
X-Spam-Level: 
X-Spam-Status: No, score=-1.615 tagged_above=-999 required=5 tests=[AWL=0.650,  BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gCjJbAM5iwh9 for <oauth@core3.amsl.com>; Sat, 10 Apr 2010 06:37:10 -0700 (PDT)
Received: from outbound-mail-01.bluehost.com (cpoproxy1-pub.bluehost.com [69.89.21.11]) by core3.amsl.com (Postfix) with SMTP id 9FE923A6948 for <oauth@ietf.org>; Sat, 10 Apr 2010 06:37:10 -0700 (PDT)
Received: (qmail 11039 invoked by uid 0); 10 Apr 2010 13:37:06 -0000
Received: from unknown (HELO box320.bluehost.com) (69.89.31.120) by cpoproxy1.bluehost.com with SMTP; 10 Apr 2010 13:37:06 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=jkemp.net; h=Received:Subject:Mime-Version:Content-Type:From:In-Reply-To:Date:Cc:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=pSqY/JNYSn7vaj6zmP2h+r8KVa4dAJ2Z1zlp6SX6OoJbxTgJP4kgy8DghXxuhl0yfoQBqh8QLUyoe/tEf3Av7yoDK+ceKOkDRoBrKS0iF09B36YVvnv2dJ5aHDgnWNEb;
Received: from cpe-69-205-56-47.nycap.res.rr.com ([69.205.56.47] helo=[192.168.1.103]) by box320.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from <john@jkemp.net>) id 1O0ary-0007Lh-8P; Sat, 10 Apr 2010 07:37:06 -0600
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: John Kemp <john@jkemp.net>
In-Reply-To: <4BC0234D.8040700@lodderstedt.net>
Date: Sat, 10 Apr 2010 09:37:03 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <31A9294B-3583-4BA0-8A56-FC8A3C00FED5@jkemp.net>
References: <C7E50B2D.2A788%atom@yahoo-inc.com> <4BC0234D.8040700@lodderstedt.net>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
X-Mailer: Apple Mail (2.1078)
X-Identified-User: {1122:box320.bluehost.com:jkempnet:jkemp.net} {sentby:smtp auth 69.205.56.47 authed with john+jkemp.net}
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Defining a maximum token length?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Apr 2010 13:37:12 -0000

On Apr 10, 2010, at 3:05 AM, Torsten Lodderstedt wrote:

> Hi Allen,
>=20
> as I already posted, I don't think a size limit is a good idea.

+1=20

>=20
> Regarding your example: As per RFC-2109, 4KB is the minimum size that =
must be supported by user agents. The maximum size is not restricted:
> "In general, user agents' cookie support should have no fixed =
limits.".
>=20
> Moreover, other HTTP authentication mechanisms need much more than =
4KB, For example, SPNEGO authentication headers can be up to 12392 =
bytes.

Cheers,

- johnk

>=20
> regards,
> Torsten.
>=20
> Am 10.04.2010 01:49, schrieb Allen Tom:
>> I think a good precedent would be to use the HTTP Cookie size limit, =
which
>> is 4KB.
>>=20
>> An OAuth Access Token is like an HTTP Authorization cookie. They're =
both
>> bearer tokens that are used as a credentials for a client to access
>> protected resources on behalf of the end user.
>>=20
>> All Oauth clients have to implement HTTP anyway, so 4KB sounds like a
>> reasonable limit.
>>=20
>> Allen
>>=20
>>=20
>>=20
>>  =20
>>> On Fri, Apr 9, 2010 at 3:14 AM, Luke Shepard<lshepard@facebook.com>  =
wrote:
>>>    =20
>>  =20
>>>> So, what is a reasonable limit for the token length?  1k? 2k? 4k? =
5mb? I
>>>> suggest some language like this:
>>>>=20
>>>>=20
>>>>      =20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>  =20
>=20
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From natebenes@gmail.com  Sat Apr 10 11:24:04 2010
Return-Path: <natebenes@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 407323A68B7 for <oauth@core3.amsl.com>; Sat, 10 Apr 2010 11:24:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yWAXExq7z87n for <oauth@core3.amsl.com>; Sat, 10 Apr 2010 11:24:03 -0700 (PDT)
Received: from mail-pv0-f172.google.com (mail-pv0-f172.google.com [74.125.83.172]) by core3.amsl.com (Postfix) with ESMTP id 448783A6898 for <oauth@ietf.org>; Sat, 10 Apr 2010 11:24:03 -0700 (PDT)
Received: by pvf33 with SMTP id 33so1850228pvf.31 for <oauth@ietf.org>; Sat, 10 Apr 2010 11:23:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=gfAGEycjbIrqgiXqymstVa2+TiP0bECUJ0NwuJPQPIU=; b=g6Z5vVU4PThZVkM/GfbvVL2bLXXLQZj8/62RWy/SipImw1BdgE/FC5hWA9+DpFX/9m d+osPoaXkZD0shkYE1hcmCw9Zz4ximfTWsAiP0j6KQkBJ0tysmvM0Fsa4ztdy5M/0R1U /0228nVHvahcFngjF7qoEzbXxjTvM4S8xgLOY=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=vRgPWUWLssmkkhALei61vIV0Qpy1gLMlp2K+9GyMv9Yug934jcInGRlXWtucHO3Mdv E2LgflZaaApFK9xGw9PXOTi0o5mZuRAkiqllgS7uhcOatkh9CB3lW0z4x5cuQko4iKK3 vRReq2ufhV7GmsqDZFbUiCywf1FjjBr40MOLw=
MIME-Version: 1.0
Received: by 10.142.214.3 with HTTP; Sat, 10 Apr 2010 11:23:56 -0700 (PDT)
In-Reply-To: <C7E5551C.3200E%eran@hueniverse.com>
References: <C7E5551C.3200E%eran@hueniverse.com>
Date: Sat, 10 Apr 2010 13:23:56 -0500
Received: by 10.142.119.22 with SMTP id r22mr869656wfc.191.1270923836395; Sat,  10 Apr 2010 11:23:56 -0700 (PDT)
Message-ID: <p2x9d70d461004101123i675dac3taf76fbde5cbfd64@mail.gmail.com>
From: Nate Benes <natebenes@gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=001636e0b811ce10420483e6030a
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Help with non-ascii diagrams for HTML version
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Apr 2010 18:24:04 -0000

--001636e0b811ce10420483e6030a
Content-Type: text/plain; charset=ISO-8859-1

Eran,

I could take a swing at it this evening.  Send me an email off-list with
specifically what you are looking for.  (canvas, png, svg?)

Nate
nate@grapepudding.com

On Sat, Apr 10, 2010 at 12:05 AM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

> Anyone willing to work with me to produce non-ascii diagrams for the HTML
> spec? I'm open to anything from some fancy HTML5 canvas to a simple PNG...
>
> The ascii flows are fine for the RFC canonical text version, but they are
> pathetic for an HTML spec produced in 2010...
>
> I am looking for some help over the next few days.
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--001636e0b811ce10420483e6030a
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Eran,<div><br></div><div>I could take a swing at it this evening. =A0Send m=
e an email off-list with specifically what you are looking for. =A0(canvas,=
 png, svg?)</div><div><br></div><div>Nate</div><div><a href=3D"mailto:nate@=
grapepudding.com">nate@grapepudding.com</a><br>
<br><div class=3D"gmail_quote">On Sat, Apr 10, 2010 at 12:05 AM, Eran Hamme=
r-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com">eran@h=
ueniverse.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" st=
yle=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Anyone willing to work with me to produce non-ascii diagrams for the HTML<b=
r>
spec? I&#39;m open to anything from some fancy HTML5 canvas to a simple PNG=
...<br>
<br>
The ascii flows are fine for the RFC canonical text version, but they are<b=
r>
pathetic for an HTML spec produced in 2010...<br>
<br>
I am looking for some help over the next few days.<br>
<br>
EHL<br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</blockquote></div><br></div>

--001636e0b811ce10420483e6030a--

From cmortimore@salesforce.com  Sat Apr 10 13:03:09 2010
Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A0A763A688C; Sat, 10 Apr 2010 13:03:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.226
X-Spam-Level: 
X-Spam-Status: No, score=-6.226 tagged_above=-999 required=5 tests=[AWL=0.372,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9s2Acep9kBR6; Sat, 10 Apr 2010 13:03:02 -0700 (PDT)
Received: from exprod8og115.obsmtp.com (exprod8og115.obsmtp.com [64.18.3.30]) by core3.amsl.com (Postfix) with SMTP id 9FED13A677D; Sat, 10 Apr 2010 13:03:01 -0700 (PDT)
Received: from source ([204.14.239.238]) by exprod8ob115.postini.com ([64.18.7.12]) with SMTP ID DSNKS8DZcQxI6zll0XMnzHxyw2L5MSh6vpLo@postini.com; Sat, 10 Apr 2010 13:02:58 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub3.internal.salesforce.com ([10.1.127.7]) with mapi; Sat, 10 Apr 2010 13:02:56 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, OAuth WG <oauth@ietf.org>
Date: Sat, 10 Apr 2010 13:02:57 -0700
Thread-Topic: [OAUTH-WG] Native applications capable of handling callbacks
Thread-Index: AcrYIt9HqbEa8GrhW0eQRvN1PulFkwARc/duACAIQsA=
Message-ID: <C7E62781.34EE%cmortimore@salesforce.com>
In-Reply-To: <C7E5508A.32008%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E6278134EEcmortimoresalesforcecom_"
MIME-Version: 1.0
Cc: "apps-discuss@ietf.org" <apps-discuss@ietf.org>
Subject: Re: [OAUTH-WG] Native applications capable of handling callbacks
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Apr 2010 20:03:09 -0000

--_000_C7E6278134EEcmortimoresalesforcecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

While I agree it's a bit of an abusive practice, it is a pervasive one, and=
 I'm worried about our ability to actually change the behavior of these pla=
tforms ( Mozilla is in the list as well ).

So - it's a bit of a trade off.   I certainly don't want to add anything to=
 the spec that won't get approved.  On the other hand, pragmatically, I'm m=
ostly concerned with securing these devices and how my customer's credentia=
ls are used with them.    I know the pattern of usage emerged on-top of Oau=
th 1; I suspect it will emerge in Oauth2, so I'd be inclined to offer some =
guidance.

I'll defer to your advise on how best to handle it within the IETF and the =
spec...

-cmort


On 4/9/10 9:45 PM, "Eran Hammer-Lahav" <eran@hueniverse.com> wrote:

(+apps-discuss as this is of general interest to the area)

On 4/9/10 1:26 PM, "Chuck Mortimore" <cmortimore@salesforce.com> wrote:

> A number of the modern application platforms (Android, iPhone, iPad) have
> support for registering custom url schemes for native applications.    Th=
is
> allows them to receive callbacks from web browsers, without resorting to =
copy
> paste, or window title polling.    For instance, the authorization server=
 may
> redirect the devices browser to:
>
> HTTP/1.1 302 Found
> Location: myapp://oauth_callback?code=3Di1WsRn1uB1
>
> This results in the application launching and the URL being passed to it'=
s
> callback handler.
>
> There are a few issues I see with handling these in current form:
>
> * The Web Callback flow is not appropriate, as the client secret cannot b=
e
> secured
> * The Native Application flow best describes these types of clients, but
> doesn't handle the flow
> * The User Agent flow would likely work, but the description would lead
> implementers away from this, and I'd be concerned that the implementation=
s may
> gravitate towards handling cross domain javascript tunneling
>
> I believe all of the pieces are here to support this, but I'd be interest=
ed in
> seeing stronger guidance for implementers on how to handle these clients.
>
> - cmort

The first problem with including this approach in an IETF specification is
that it indirectly violates IETF standards, namely the rules governing how
new URI schemes should be discussed, approved, and registered. This is also
of interest to the W3C TAG.

The way this should probably be done is by registering a new URN scheme lik=
e
app which will look something like:

app:application_name:comma_delimited_parameters

With application_name either a domain-name-namespaced value (e.g.
app:microsoft.com:excel:parameters) or registry based.

But without such a mechanism (feel free to offer other ideas), to suggest i=
n
an IETF standard that developers should go and make up random URI schemes
for their clients is both bad policy and not likely to pass Last Call.

If this group has the appetite for such a feature, I would be happy to draf=
t
a very short proposal for such a new URN scheme, which we can then publish
separately or include in the OAuth spec.

In practice, until companies like Apple and Microsoft (the two leading OS
vendors), and Google (with Android) support such a generic application URN,
people will continue to do so. But if we propose a standard path, we can
then mention the "abusive" practice and declare it deprecated, pointing
people to the right way of doing it. That will help in getting adoption lon=
g
term.

Thoughts?

EHL



--_000_C7E6278134EEcmortimoresalesforcecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Native applications capable of handling callbacks</TI=
TLE>
</HEAD>
<BODY>
<FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'>While I agree i=
t&#8217;s a bit of an abusive practice, it is a pervasive one, and I&#8217;=
m worried about our ability to actually change the behavior of these platfo=
rms ( Mozilla is in the list as well ). &nbsp;&nbsp;<BR>
<BR>
So &#8211; it&#8217;s a bit of a trade off. &nbsp;&nbsp;I certainly don&#82=
17;t want to add anything to the spec that won&#8217;t get approved. &nbsp;=
On the other hand, pragmatically, I&#8217;m mostly concerned with securing =
these devices and how my customer&#8217;s credentials are used with them. &=
nbsp;&nbsp;&nbsp;I know the pattern of usage emerged on-top of Oauth 1; I s=
uspect it will emerge in Oauth2, so I&#8217;d be inclined to offer some gui=
dance. &nbsp;&nbsp;<BR>
<BR>
I&#8217;ll defer to your advise on how best to handle it within the IETF an=
d the spec...<BR>
<BR>
-cmort<BR>
<BR>
<BR>
On 4/9/10 9:45 PM, &quot;Eran Hammer-Lahav&quot; &lt;<a href=3D"eran@hueniv=
erse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-=
size:11pt'>(+apps-discuss as this is of general interest to the area)<BR>
<BR>
On 4/9/10 1:26 PM, &quot;Chuck Mortimore&quot; &lt;<a href=3D"cmortimore@sa=
lesforce.com">cmortimore@salesforce.com</a>&gt; wrote:<BR>
<BR>
&gt; A number of the modern application platforms (Android, iPhone, iPad) h=
ave<BR>
&gt; support for registering custom url schemes for native applications. &n=
bsp;&nbsp;&nbsp;This<BR>
&gt; allows them to receive callbacks from web browsers, without resorting =
to copy<BR>
&gt; paste, or window title polling. &nbsp;&nbsp;&nbsp;For instance, the au=
thorization server may<BR>
&gt; redirect the devices browser to:<BR>
&gt;<BR>
&gt; HTTP/1.1 302 Found<BR>
&gt; Location: myapp://oauth_callback?code=3Di1WsRn1uB1<BR>
&gt;<BR>
&gt; This results in the application launching and the URL being passed to =
it&#8217;s<BR>
&gt; callback handler.<BR>
&gt;<BR>
&gt; There are a few issues I see with handling these in current form:<BR>
&gt;<BR>
&gt; * The Web Callback flow is not appropriate, as the client secret canno=
t be<BR>
&gt; secured<BR>
&gt; * The Native Application flow best describes these types of clients, b=
ut<BR>
&gt; doesn&#8217;t handle the flow<BR>
&gt; * The User Agent flow would likely work, but the description would lea=
d<BR>
&gt; implementers away from this, and I&#8217;d be concerned that the imple=
mentations may<BR>
&gt; gravitate towards handling cross domain javascript tunneling<BR>
&gt;<BR>
&gt; I believe all of the pieces are here to support this, but I&#8217;d be=
 interested in<BR>
&gt; seeing stronger guidance for implementers on how to handle these clien=
ts.<BR>
&gt;<BR>
&gt; - cmort<BR>
<BR>
The first problem with including this approach in an IETF specification is<=
BR>
that it indirectly violates IETF standards, namely the rules governing how<=
BR>
new URI schemes should be discussed, approved, and registered. This is also=
<BR>
of interest to the W3C TAG.<BR>
<BR>
The way this should probably be done is by registering a new URN scheme lik=
e<BR>
app which will look something like:<BR>
<BR>
app:application_name:comma_delimited_parameters<BR>
<BR>
With application_name either a domain-name-namespaced value (e.g.<BR>
app:microsoft.com:excel:parameters) or registry based.<BR>
<BR>
But without such a mechanism (feel free to offer other ideas), to suggest i=
n<BR>
an IETF standard that developers should go and make up random URI schemes<B=
R>
for their clients is both bad policy and not likely to pass Last Call.<BR>
<BR>
If this group has the appetite for such a feature, I would be happy to draf=
t<BR>
a very short proposal for such a new URN scheme, which we can then publish<=
BR>
separately or include in the OAuth spec.<BR>
<BR>
In practice, until companies like Apple and Microsoft (the two leading OS<B=
R>
vendors), and Google (with Android) support such a generic application URN,=
<BR>
people will continue to do so. But if we propose a standard path, we can<BR=
>
then mention the &quot;abusive&quot; practice and declare it deprecated, po=
inting<BR>
people to the right way of doing it. That will help in getting adoption lon=
g<BR>
term.<BR>
<BR>
Thoughts?<BR>
<BR>
EHL<BR>
<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E6278134EEcmortimoresalesforcecom_--

From naitiks@gmail.com  Sat Apr 10 12:49:52 2010
Return-Path: <naitiks@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1EC383A688C for <oauth@core3.amsl.com>; Sat, 10 Apr 2010 12:49:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.976
X-Spam-Level: 
X-Spam-Status: No, score=-1.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id v0Obhq7nOGsO for <oauth@core3.amsl.com>; Sat, 10 Apr 2010 12:49:51 -0700 (PDT)
Received: from mail-iw0-f189.google.com (mail-iw0-f189.google.com [209.85.223.189]) by core3.amsl.com (Postfix) with ESMTP id 190DB3A6823 for <oauth@ietf.org>; Sat, 10 Apr 2010 12:49:50 -0700 (PDT)
Received: by iwn27 with SMTP id 27so3375282iwn.5 for <oauth@ietf.org>; Sat, 10 Apr 2010 12:49:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:from:date:x-google-sender-auth:received:message-id :subject:to:cc:content-type; bh=oGDcLFYZrRr75+KDK7ViN5HhdQI6F7wpatgsVrSoduA=; b=l8vkxMinQicN5sU/Nn/mkqXoadW3X3twWl1hyNhdw6Jz4vMTLztHKH/3uFnonHrVtK w6yE4k4Al0w107F4zBeuOsdEH22xkqPGvsO56lRf0ZzKtp1R5oKn0z38cXXp18qKwnwM SLsB4YGvFxjQcduPQm2H/RsMFS9HCTRt57/ZM=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type; b=qAtx7SWgAbF1DthqHU1QSBSnEtlkNx0XsR9sCAGJ7z8GdyIHF1X1apASwjiNBSpszd 1HGCUM8V1jawXaac5sGugKiDywYVZNTEdF+eY56CxrUwQ+pIuqcyEB3i4GYmDQ9gg/4c j/Nfh4lQBb+t2WZ++LHxtFG8OO3vFY5X07Qns=
MIME-Version: 1.0
Sender: naitiks@gmail.com
Received: by 10.231.170.65 with HTTP; Sat, 10 Apr 2010 12:49:22 -0700 (PDT)
In-Reply-To: <31A9294B-3583-4BA0-8A56-FC8A3C00FED5@jkemp.net>
References: <C7E50B2D.2A788%atom@yahoo-inc.com> <4BC0234D.8040700@lodderstedt.net>  <31A9294B-3583-4BA0-8A56-FC8A3C00FED5@jkemp.net>
From: Naitik Shah <n@daaku.org>
Date: Sat, 10 Apr 2010 12:49:22 -0700
X-Google-Sender-Auth: 157409855f980e59
Received: by 10.231.160.195 with SMTP id o3mr847653ibx.32.1270928982129; Sat,  10 Apr 2010 12:49:42 -0700 (PDT)
Message-ID: <s2ifbb12ae41004101249y5b10f321xb1d2c6daa41220c9@mail.gmail.com>
To: John Kemp <john@jkemp.net>
Content-Type: multipart/alternative; boundary=0050450163d583bc570483e7369b
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Defining a maximum token length?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Apr 2010 20:05:15 -0000

--0050450163d583bc570483e7369b
Content-Type: text/plain; charset=UTF-8

+1 small tokens.

JSON-P in IE to access protected resources has a limit of some 2000 bytes of
input. While the OAuth 1.0 did not have a practical client side profile, we
now do have one. This at least opens up the possibility of building browser
based OAuth applications that do not need to proxy API requests to jump the
cross domain boundary. To make this practically useful, the tokens would
need to be small leaving as many of the 2000 bytes as possible for the API
request itself.


-Naitik

On Sat, Apr 10, 2010 at 6:37 AM, John Kemp <john@jkemp.net> wrote:

> On Apr 10, 2010, at 3:05 AM, Torsten Lodderstedt wrote:
>
> > Hi Allen,
> >
> > as I already posted, I don't think a size limit is a good idea.
>
> +1
>
> >
> > Regarding your example: As per RFC-2109, 4KB is the minimum size that
> must be supported by user agents. The maximum size is not restricted:
> > "In general, user agents' cookie support should have no fixed limits.".
> >
> > Moreover, other HTTP authentication mechanisms need much more than 4KB,
> For example, SPNEGO authentication headers can be up to 12392 bytes.
>
> Cheers,
>
> - johnk
>
> >
> > regards,
> > Torsten.
> >
> > Am 10.04.2010 01:49, schrieb Allen Tom:
> >> I think a good precedent would be to use the HTTP Cookie size limit,
> which
> >> is 4KB.
> >>
> >> An OAuth Access Token is like an HTTP Authorization cookie. They're both
> >> bearer tokens that are used as a credentials for a client to access
> >> protected resources on behalf of the end user.
> >>
> >> All Oauth clients have to implement HTTP anyway, so 4KB sounds like a
> >> reasonable limit.
> >>
> >> Allen
> >>
> >>
> >>
> >>
> >>> On Fri, Apr 9, 2010 at 3:14 AM, Luke Shepard<lshepard@facebook.com>
>  wrote:
> >>>
> >>
> >>>> So, what is a reasonable limit for the token length?  1k? 2k? 4k? 5mb?
> I
> >>>> suggest some language like this:
> >>>>
> >>>>
> >>>>
> >> _______________________________________________
> >> OAuth mailing list
> >> OAuth@ietf.org
> >> https://www.ietf.org/mailman/listinfo/oauth
> >>
> >
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--0050450163d583bc570483e7369b
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

+1 small tokens.<div><br></div><div>JSON-P in IE to access protected resour=
ces has a limit of some 2000 bytes of input. While the OAuth 1.0 did not ha=
ve a practical client side profile, we now do have one. This at least opens=
 up the possibility of building browser based OAuth applications that do no=
t need to proxy API requests to jump the cross domain=C2=A0boundary. To mak=
e this practically useful, the tokens would need to be small leaving as man=
y of the 2000 bytes as possible for the API request itself.</div>

<div><br></div><div><br></div><div>-Naitik</div><div><br><div class=3D"gmai=
l_quote">On Sat, Apr 10, 2010 at 6:37 AM, John Kemp <span dir=3D"ltr">&lt;<=
a href=3D"mailto:john@jkemp.net">john@jkemp.net</a>&gt;</span> wrote:<br><b=
lockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px =
#ccc solid;padding-left:1ex;">

<div class=3D"im">On Apr 10, 2010, at 3:05 AM, Torsten Lodderstedt wrote:<b=
r>
<br>
&gt; Hi Allen,<br>
&gt;<br>
&gt; as I already posted, I don&#39;t think a size limit is a good idea.<br=
>
<br>
</div>+1<br>
<div class=3D"im"><br>
&gt;<br>
&gt; Regarding your example: As per RFC-2109, 4KB is the minimum size that =
must be supported by user agents. The maximum size is not restricted:<br>
&gt; &quot;In general, user agents&#39; cookie support should have no fixed=
 limits.&quot;.<br>
&gt;<br>
&gt; Moreover, other HTTP authentication mechanisms need much more than 4KB=
, For example, SPNEGO authentication headers can be up to 12392 bytes.<br>
<br>
</div>Cheers,<br>
<br>
- johnk<br>
<div><div></div><div class=3D"h5"><br>
&gt;<br>
&gt; regards,<br>
&gt; Torsten.<br>
&gt;<br>
&gt; Am 10.04.2010 01:49, schrieb Allen Tom:<br>
&gt;&gt; I think a good precedent would be to use the HTTP Cookie size limi=
t, which<br>
&gt;&gt; is 4KB.<br>
&gt;&gt;<br>
&gt;&gt; An OAuth Access Token is like an HTTP Authorization cookie. They&#=
39;re both<br>
&gt;&gt; bearer tokens that are used as a credentials for a client to acces=
s<br>
&gt;&gt; protected resources on behalf of the end user.<br>
&gt;&gt;<br>
&gt;&gt; All Oauth clients have to implement HTTP anyway, so 4KB sounds lik=
e a<br>
&gt;&gt; reasonable limit.<br>
&gt;&gt;<br>
&gt;&gt; Allen<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt; On Fri, Apr 9, 2010 at 3:14 AM, Luke Shepard&lt;<a href=3D"mai=
lto:lshepard@facebook.com">lshepard@facebook.com</a>&gt; =C2=A0wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt;&gt; So, what is a reasonable limit for the token length? =C2=
=A01k? 2k? 4k? 5mb? I<br>
&gt;&gt;&gt;&gt; suggest some language like this:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; OAuth mailing list<br>
&gt;&gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"=
_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_bla=
nk">https://www.ietf.org/mailman/listinfo/oauth</a><br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br></div>

--0050450163d583bc570483e7369b--

From naitiks@gmail.com  Sat Apr 10 12:55:09 2010
Return-Path: <naitiks@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id F27253A6862 for <oauth@core3.amsl.com>; Sat, 10 Apr 2010 12:55:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.976
X-Spam-Level: 
X-Spam-Status: No, score=-1.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OnvFWBlpLan7 for <oauth@core3.amsl.com>; Sat, 10 Apr 2010 12:55:07 -0700 (PDT)
Received: from mail-yw0-f200.google.com (mail-yw0-f200.google.com [209.85.211.200]) by core3.amsl.com (Postfix) with ESMTP id 57D283A677D for <oauth@ietf.org>; Sat, 10 Apr 2010 12:55:07 -0700 (PDT)
Received: by ywh38 with SMTP id 38so2192457ywh.29 for <oauth@ietf.org>; Sat, 10 Apr 2010 12:55:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:from:date:x-google-sender-auth:received:message-id :subject:to:cc:content-type; bh=VH+ILwqI2SQuYEJsTPK5yqACbFGy+MBqxXiczCxfD5o=; b=l1Awgxzy4w6Qmgkwx2hG8cq8ifP9jqOcqoxhXR3HhjnvlsbIdIccmkJnEQ0nM2hn7p +7hHKNG4IJ+BsYcurxHZh6MuNyA7o8B0jbe5pR9MKU+pTP+uCv2JCyY3nHV3k9XucLgT ZIeFeFzsrZausY2TjlJ8dEw16Tre0dahqpsto=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type; b=NPgDk6vf7eSqKkQImEMwoKl1K4fb5po/uCRNE4Ve2WGGYxpMRGQFBHU7ycp2rS8ouw cVrF/ez8ZjYU/iG31mUC9sVcxFpQUReLGW9PNSCJB5yjtozg2hJWC4A2K/0vkqbF5ubc +1IH5oHk/V9eySNmdLsDQezyiqzHI8ZBbdedI=
MIME-Version: 1.0
Sender: naitiks@gmail.com
Received: by 10.231.170.65 with HTTP; Sat, 10 Apr 2010 12:54:40 -0700 (PDT)
In-Reply-To: <C7E51268.2A794%atom@yahoo-inc.com>
References: <2513A610118CC14C8E622C376C8DEC93D54D66D95C@SC-MBXC1.TheFacebook.com> <C7E51268.2A794%atom@yahoo-inc.com>
From: Naitik Shah <n@daaku.org>
Date: Sat, 10 Apr 2010 12:54:40 -0700
X-Google-Sender-Auth: 6ed8b1f8862783fe
Received: by 10.100.24.39 with SMTP id 39mr3255253anx.20.1270929300244; Sat,  10 Apr 2010 12:55:00 -0700 (PDT)
Message-ID: <g2tfbb12ae41004101254pd531a347wf6c43f7b4d8ab3da@mail.gmail.com>
To: Allen Tom <atom@yahoo-inc.com>
Content-Type: multipart/alternative; boundary=0016e647160279cb580483e749cf
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] A display parameter for user authorization requests
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Apr 2010 20:05:24 -0000

--0016e647160279cb580483e749cf
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

"none" is similar to check immediate in open id.

On Fri, Apr 9, 2010 at 5:20 PM, Allen Tom <atom@yahoo-inc.com> wrote:

>  +1
>
> Not sure If it=E2=80=99s possible for different SPs to agree on the specs=
 for each
> mode, but as we learned from implementing OpenID, it=E2=80=99s very usefu=
l for the
> client to have an interface to indicate to the AS how the UI should be
> rendered.
>
> At least in Yahoo=E2=80=99s case, we=E2=80=99d like to see all the displa=
y modes you
> listed, although I=E2=80=99m unclear what =E2=80=9Cnone=E2=80=9D is.
>
> Allen
>
>
>
>
>
> On 4/9/10 3:24 AM, "Luke Shepard" <lshepard@facebook.com> wrote:
>
> I am still not sure why we **need** discovery in order to just add a
> =E2=80=9Cdisplay=E2=80=9D parameter to the spec.
>
> I would like to see a set like the following supported:
>
> -         popup
>
> -         fullpage
>
> -         touch (for smart phones (like iPhone)-like phones)
>
> -         mobile (for older-mobile phones)
>
> -         none
>
>
> As Allen mentioned, the =E2=80=9Cpopup=E2=80=9D mode was already defined =
with some success
> in OpenID UX:
> http://svn.openid.net/repos/specifications/user_interface/1.0/trunk/openi=
d-user-interface-extension-1_0.html#anchor4
>
> I agree that it can be difficult to standardize all of these right now =
=E2=80=93 I
> think the best is to see what=E2=80=99s being used in production now by d=
ifferent
> players and  see if we can get agreement on that. At least some broad
> categories could be established now to aid interop.
>
>
> *From:* oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org<oauth-bounc=
es@ietf.org>]
> *On Behalf Of *Eran Hammer-Lahav
> *Sent:* Tuesday, March 30, 2010 6:34 PM
> *To:* Marius Scurtescu; Anthony Nadalin
> *Cc:* OAuth WG
> *Subject:* Re: [OAUTH-WG] A display parameter for user authorization
> requests
>
> They are, but thinking about interop for both parts is the same work. Onc=
e
> you figure out what the client might need, you figure out what the server
> may support. At that point discovery is as simple as giving these differe=
nt
> options names and putting this information somewhere.
>
> I am not saying a spec must cover both, but it is worth thinking about it
> at the same time. For example, a decision about allowing requesting custo=
m
> size popup vs. fixed popup options vs. pre-defined categories, all requir=
e
> different discovery needs. If the feature allows the client to say =E2=80=
=9CI want a
> 400x500 popup=E2=80=9D, you just need to say =E2=80=9Cpopups are supporte=
d=E2=80=9D. But if you want
> just allow full browser or popup (of fixed sizes), and do not require a
> server to support all of them, you need to express what is supported.
>
> Given the wide range of UI options, without either mandating everything o=
r
> discovery, this feature offers little interop value (which means little
> reason to write as a standard).
>
> EHL
>
>
> On 3/30/10 5:58 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
> Aren't these independent issues?
>
> Regardless how the client figures what the server supports (discovery
> or hard code configuration) it must have a way to tell the
> Authorization Server its preferences when it sends the user over.
>
> Marius
>
>
>
> On Tue, Mar 30, 2010 at 8:50 PM, Anthony Nadalin <tonynad@microsoft.com>
> wrote:
> > So I doubt that the client always knows what the server supports, the
> server should be open in allowing all parties to find out what is support=
ed
> >
> > -----Original Message-----
> > From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org<oauth-bounc=
es@ietf.org>]
> On Behalf Of Brian Eaton
> > Sent: Tuesday, March 30, 2010 5:44 PM
> > To: Raffi Krikorian
> > Cc: OAuth WG
> > Subject: Re: [OAUTH-WG] A display parameter for user authorization
> requests
> >
> > On Tue, Mar 30, 2010 at 5:25 PM, Raffi Krikorian <raffi@twitter.com>
> wrote:
> >> why does a client need to discover what the server supports?
> >> presumably the client would already know given that they are integrati=
ng
> with it?
> >
> > +1.
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> >
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
> ------------------------------
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

--0016e647160279cb580483e749cf
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

&quot;none&quot; is similar to check immediate in open id.<br><br><div clas=
s=3D"gmail_quote">On Fri, Apr 9, 2010 at 5:20 PM, Allen Tom <span dir=3D"lt=
r">&lt;<a href=3D"mailto:atom@yahoo-inc.com">atom@yahoo-inc.com</a>&gt;</sp=
an> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">



<div>
<font face=3D"Calibri, Verdana, Helvetica, Arial"><span style=3D"font-size:=
11pt">+1<br>
<br>
Not sure If it=E2=80=99s possible for different SPs to agree on the specs f=
or each mode, but as we learned from implementing OpenID, it=E2=80=99s very=
 useful for the client to have an interface to indicate to the AS how the U=
I should be rendered. <br>


<br>
At least in Yahoo=E2=80=99s case, we=E2=80=99d like to see all the display =
modes you listed, although I=E2=80=99m unclear what =E2=80=9Cnone=E2=80=9D =
is. <br><font color=3D"#888888">
<br>
Allen</font><div><div></div><div class=3D"h5"><br>
<br>
<br>
<br>
<br>
On 4/9/10 3:24 AM, &quot;Luke Shepard&quot; &lt;<a href=3D"http://lshepard@=
facebook.com" target=3D"_blank">lshepard@facebook.com</a>&gt; wrote:<br>
<br>
</div></div></span></font><blockquote><div><div></div><div class=3D"h5"><fo=
nt face=3D"Calibri, Verdana, Helvetica, Arial"><span style=3D"font-size:11p=
t"><font color=3D"#1F497D">I am still not sure why we *<b>need</b>* discove=
ry in order to just add a =E2=80=9Cdisplay=E2=80=9D parameter to the spec.<=
br>


=C2=A0<br>
I would like to see a set like the following supported:<br>
=C2=A0<br>
- =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0popup<br>
</font><br>
<font color=3D"#1F497D">- =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0f=
ullpage<br>
</font><br>
<font color=3D"#1F497D">- =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0t=
ouch (for smart phones (like iPhone)-like phones)<br>
</font><br>
<font color=3D"#1F497D">- =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0m=
obile (for older-mobile phones)<br>
</font><br>
<font color=3D"#1F497D">- =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0n=
one<br>
</font><br>
<font color=3D"#1F497D"> <br>
As Allen mentioned, the =E2=80=9Cpopup=E2=80=9D mode was already defined wi=
th some success in OpenID UX: <a href=3D"http://svn.openid.net/repos/specif=
ications/user_interface/1.0/trunk/openid-user-interface-extension-1_0.html#=
anchor4" target=3D"_blank">http://svn.openid.net/repos/specifications/user_=
interface/1.0/trunk/openid-user-interface-extension-1_0.html#anchor4</a><br=
>


=C2=A0<br>
I agree that it can be difficult to standardize all of these right now =E2=
=80=93 I think the best is to see what=E2=80=99s being used in production n=
ow by different players and =C2=A0see if we can get agreement on that. At l=
east some broad categories could be established now to aid interop.<br>


=C2=A0<br>
</font><br>
</span></font><font size=3D"2"><font face=3D"Tahoma, Verdana, Helvetica, Ar=
ial"><span style=3D"font-size:10pt"><b>From:</b> <a href=3D"http://oauth-bo=
unces@ietf.org" target=3D"_blank">oauth-bounces@ietf.org</a> [<a href=3D"ma=
ilto:oauth-bounces@ietf.org" target=3D"_blank">mailto:oauth-bounces@ietf.or=
g</a>] <b>On Behalf Of </b>Eran Hammer-Lahav<br>


<b>Sent:</b> Tuesday, March 30, 2010 6:34 PM<br>
<b>To:</b> Marius Scurtescu; Anthony Nadalin<br>
<b>Cc:</b> OAuth WG<br>
<b>Subject:</b> Re: [OAUTH-WG] A display parameter for user authorization r=
equests<br>
</span></font></font><font face=3D"Times New Roman"><span style=3D"font-siz=
e:12pt"> <br>
</span></font></div></div><font face=3D"Calibri, Verdana, Helvetica, Arial"=
><span style=3D"font-size:11pt"><div><div></div><div class=3D"h5">They are,=
 but thinking about interop for both parts is the same work. Once you figur=
e out what the client might need, you figure out what the server may suppor=
t. At that point discovery is as simple as giving these different options n=
ames and putting this information somewhere.<br>


<br>
I am not saying a spec must cover both, but it is worth thinking about it a=
t the same time. For example, a decision about allowing requesting custom s=
ize popup vs. fixed popup options vs. pre-defined categories, all require d=
ifferent discovery needs. If the feature allows the client to say =E2=80=9C=
I want a 400x500 popup=E2=80=9D, you just need to say =E2=80=9Cpopups are s=
upported=E2=80=9D. But if you want just allow full browser or popup (of fix=
ed sizes), and do not require a server to support all of them, you need to =
express what is supported.<br>


<br>
Given the wide range of UI options, without either mandating everything or =
discovery, this feature offers little interop value (which means little rea=
son to write as a standard).<br>
<br>
EHL<br>
<br>
<br>
On 3/30/10 5:58 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"http://mscu=
rtescu@google.com" target=3D"_blank">mscurtescu@google.com</a>&gt; wrote:<b=
r>
Aren&#39;t these independent issues?<br>
<br>
Regardless how the client figures what the server supports (discovery<br>
or hard code configuration) it must have a way to tell the<br>
Authorization Server its preferences when it sends the user over.<br>
<br>
Marius<br>
<br>
<br>
<br>
On Tue, Mar 30, 2010 at 8:50 PM, Anthony Nadalin &lt;<a href=3D"http://tony=
nad@microsoft.com" target=3D"_blank">tonynad@microsoft.com</a>&gt; wrote:<b=
r>
&gt; So I doubt that the client always knows what the server supports, the =
server should be open in allowing all parties to find out what is supported=
<br>
&gt;<br>
&gt; -----Original Message-----<br>
&gt; From: <a href=3D"http://oauth-bounces@ietf.org" target=3D"_blank">oaut=
h-bounces@ietf.org</a> [<a href=3D"mailto:oauth-bounces@ietf.org" target=3D=
"_blank">mailto:oauth-bounces@ietf.org</a>] On Behalf Of Brian Eaton<br>
&gt; Sent: Tuesday, March 30, 2010 5:44 PM<br>
&gt; To: Raffi Krikorian<br>
&gt; Cc: OAuth WG<br>
&gt; Subject: Re: [OAUTH-WG] A display parameter for user authorization req=
uests<br>
&gt;<br>
&gt; On Tue, Mar 30, 2010 at 5:25 PM, Raffi Krikorian &lt;<a href=3D"http:/=
/raffi@twitter.com" target=3D"_blank">raffi@twitter.com</a>&gt; wrote:<br>
&gt;&gt; why does a client need to discover what the server supports?<br>
&gt;&gt; presumably the client would already know given that they are integ=
rating with it?<br>
&gt;<br>
&gt; +1.<br>
&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a href=3D"http://OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a>=
<br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_bla=
nk">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a href=3D"http://OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a>=
<br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_bla=
nk">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"http://OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br>
</div></div><hr align=3D"CENTER" size=3D"3" width=3D"95%"></span></font><di=
v class=3D"im"><font size=3D"2"><font face=3D"Consolas, Courier New, Courie=
r"><span style=3D"font-size:10pt">_________________________________________=
______<br>


OAuth mailing list<br>
<a href=3D"http://OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</span></font></font></div></blockquote>
</div>


<br>_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></blockquote></div><br>

--0016e647160279cb580483e749cf--

From cmortimore@salesforce.com  Sat Apr 10 13:07:28 2010
Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8466A3A690A for <oauth@core3.amsl.com>; Sat, 10 Apr 2010 13:07:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.35
X-Spam-Level: 
X-Spam-Status: No, score=-6.35 tagged_above=-999 required=5 tests=[AWL=0.248,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hRQQRcPjHLDw for <oauth@core3.amsl.com>; Sat, 10 Apr 2010 13:07:19 -0700 (PDT)
Received: from exprod8og115.obsmtp.com (exprod8og115.obsmtp.com [64.18.3.30]) by core3.amsl.com (Postfix) with SMTP id 5D59D3A68ED for <oauth@ietf.org>; Sat, 10 Apr 2010 13:07:19 -0700 (PDT)
Received: from source ([204.14.239.239]) by exprod8ob115.postini.com ([64.18.7.12]) with SMTP ID DSNKS8Dac2MamJlKET49Du9xv2RHaI2CKmgK@postini.com; Sat, 10 Apr 2010 13:07:15 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub4.internal.salesforce.com ([10.1.127.8]) with mapi; Sat, 10 Apr 2010 13:07:14 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>, Allen Tom <atom@yahoo-inc.com>
Date: Sat, 10 Apr 2010 13:07:13 -0700
Thread-Topic: [OAUTH-WG] A display parameter for user authorization requests
Thread-Index: AcrYfKY8lOxB5Z8HQeCnpV5AMJrS+AAbMKFz
Message-ID: <C7E62881.34F3%cmortimore@salesforce.com>
In-Reply-To: <4BC023ED.4040807@lodderstedt.net>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E6288134F3cmortimoresalesforcecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] A display parameter for user authorization requests
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Apr 2010 20:07:28 -0000

--_000_C7E6288134F3cmortimoresalesforcecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

+1 - we'll end up requiring some parameter, as agent sniffing can't handle =
all our needs.

- cmort


On 4/10/10 12:08 AM, "Torsten Lodderstedt" <torsten@lodderstedt.net> wrote:

+1

Am 10.04.2010 02:20, schrieb Allen Tom:
Re: [OAUTH-WG] A display parameter for user authorization requests +1

Not sure If it's possible for different SPs to agree on the specs for each =
mode, but as we learned from implementing OpenID, it's very useful for the =
client to have an interface to indicate to the AS how the UI should be rend=
ered.

At least in Yahoo's case, we'd like to see all the display modes you listed=
, although I'm unclear what "none" is.

Allen




On 4/9/10 3:24 AM, "Luke Shepard" <lshepard@facebook.com> wrote:


I am still not sure why we *need* discovery in order to just add a "display=
" parameter to the spec.

I would like to see a set like the following supported:

-         popup

-         fullpage

-         touch (for smart phones (like iPhone)-like phones)

-         mobile (for older-mobile phones)

-         none


As Allen mentioned, the "popup" mode was already defined with some success =
in OpenID UX: http://svn.openid.net/repos/specifications/user_interface/1.0=
/trunk/openid-user-interface-extension-1_0.html#anchor4

I agree that it can be difficult to standardize all of these right now - I =
think the best is to see what's being used in production now by different p=
layers and  see if we can get agreement on that. At least some broad catego=
ries could be established now to aid interop.


From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
ran Hammer-Lahav
 Sent: Tuesday, March 30, 2010 6:34 PM
 To: Marius Scurtescu; Anthony Nadalin
 Cc: OAuth WG
 Subject: Re: [OAUTH-WG] A display parameter for user authorization request=
s

 They are, but thinking about interop for both parts is the same work. Once=
 you figure out what the client might need, you figure out what the server =
may support. At that point discovery is as simple as giving these different=
 options names and putting this information somewhere.

I am not saying a spec must cover both, but it is worth thinking about it a=
t the same time. For example, a decision about allowing requesting custom s=
ize popup vs. fixed popup options vs. pre-defined categories, all require d=
ifferent discovery needs. If the feature allows the client to say "I want a=
 400x500 popup", you just need to say "popups are supported". But if you wa=
nt just allow full browser or popup (of fixed sizes), and do not require a =
server to support all of them, you need to express what is supported.

Given the wide range of UI options, without either mandating everything or =
discovery, this feature offers little interop value (which means little rea=
son to write as a standard).

EHL


On 3/30/10 5:58 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
Aren't these independent issues?

Regardless how the client figures what the server supports (discovery
or hard code configuration) it must have a way to tell the
Authorization Server its preferences when it sends the user over.

Marius



On Tue, Mar 30, 2010 at 8:50 PM, Anthony Nadalin <tonynad@microsoft.com> wr=
ote:
> So I doubt that the client always knows what the server supports, the ser=
ver should be open in allowing all parties to find out what is supported
>
> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of=
 Brian Eaton
> Sent: Tuesday, March 30, 2010 5:44 PM
> To: Raffi Krikorian
> Cc: OAuth WG
> Subject: Re: [OAUTH-WG] A display parameter for user authorization reques=
ts
>
> On Tue, Mar 30, 2010 at 5:25 PM, Raffi Krikorian <raffi@twitter.com> wrot=
e:
>> why does a client need to discover what the server supports?
>> presumably the client would already know given that they are integrating=
 with it?
>
> +1.
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
_______________________________________________
OAuth mailing list
 OAuth@ietf.org
 https://www.ietf.org/mailman/listinfo/oauth


________________________________
_______________________________________________
OAuth mailing list
 OAuth@ietf.org
 https://www.ietf.org/mailman/listinfo/oauth




_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth




--_000_C7E6288134F3cmortimoresalesforcecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] A display parameter for user authorization requests</=
TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'>+1 &#8211; we&#=
8217;ll end up requiring some parameter, as agent sniffing can&#8217;t hand=
le all our needs.<BR>
<BR>
- cmort<BR>
<BR>
<BR>
On 4/10/10 12:08 AM, &quot;Torsten Lodderstedt&quot; &lt;<a href=3D"torsten=
@lodderstedt.net">torsten@lodderstedt.net</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-=
size:11pt'>+1<BR>
<BR>
Am 10.04.2010 02:20, schrieb Allen Tom: <BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-=
size:11pt'> Re: [OAUTH-WG] A display parameter for user authorization reque=
sts </SPAN></FONT><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Verdana, Hel=
vetica, Arial">+1<BR>
&nbsp;<BR>
Not sure If it&#8217;s possible for different SPs to agree on the specs for=
 each mode, but as we learned from implementing OpenID, it&#8217;s very use=
ful for the client to have an interface to indicate to the AS how the UI sh=
ould be rendered. <BR>
&nbsp;<BR>
At least in Yahoo&#8217;s case, we&#8217;d like to see all the display mode=
s you listed, although I&#8217;m unclear what &#8220;none&#8221; is. <BR>
&nbsp;<BR>
Allen<BR>
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>
On 4/9/10 3:24 AM, &quot;Luke Shepard&quot; &lt;<a href=3D"lshepard@faceboo=
k.com">lshepard@facebook.com</a>&gt; wrote:<BR>
&nbsp;<BR>
&nbsp;</FONT><FONT FACE=3D"Lucida Grande"> <BR>
</FONT></SPAN><BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT COLOR=3D"#1F=
497D"><FONT FACE=3D"Verdana, Helvetica, Arial">I am still not sure why we *=
<B>need</B>* discovery in order to just add a &#8220;display&#8221; paramet=
er to the spec.<BR>
&nbsp;<BR>
I would like to see a set like the following supported:<BR>
&nbsp;<BR>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup<BR>
&nbsp;<BR>
</FONT></FONT><FONT FACE=3D"Verdana, Helvetica, Arial"> <FONT COLOR=3D"#1F4=
97D">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fullpage<BR>
&nbsp;<BR>
</FONT> <FONT COLOR=3D"#1F497D">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;touch (for smart phones (like iPhone)-like phones)<BR>
&nbsp;<BR>
</FONT> <FONT COLOR=3D"#1F497D">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;mobile (for older-mobile phones)<BR>
&nbsp;<BR>
</FONT> <FONT COLOR=3D"#1F497D">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;none<BR>
&nbsp;<BR>
</FONT> <FONT COLOR=3D"#1F497D"> <BR>
As Allen mentioned, the &#8220;popup&#8221; mode was already defined with s=
ome success in OpenID UX: <a href=3D"http://svn.openid.net/repos/specificat=
ions/user_interface/1.0/trunk/openid-user-interface-extension-1_0.html#anch=
or4">http://svn.openid.net/repos/specifications/user_interface/1.0/trunk/op=
enid-user-interface-extension-1_0.html#anchor4</a><BR>
&nbsp;<BR>
I agree that it can be difficult to standardize all of these right now &#82=
11; I think the best is to see what&#8217;s being used in production now by=
 different players and &nbsp;see if we can get agreement on that. At least =
some broad categories could be established now to aid interop.<BR>
&nbsp;<BR>
&nbsp;<BR>
</FONT> </FONT></SPAN><FONT SIZE=3D"2"><FONT FACE=3D"Tahoma, Verdana, Helve=
tica, Arial"><SPAN STYLE=3D'font-size:10pt'><B>From:</B> <a href=3D"oauth-b=
ounces@ietf.org">oauth-bounces@ietf.org</a> [<a href=3D"mailto:oauth-bounce=
s@ietf.org">mailto:oauth-bounces@ietf.org</a>] <B>On Behalf Of </B>Eran Ham=
mer-Lahav<BR>
&nbsp;<B>Sent:</B> Tuesday, March 30, 2010 6:34 PM<BR>
&nbsp;<B>To:</B> Marius Scurtescu; Anthony Nadalin<BR>
&nbsp;<B>Cc:</B> OAuth WG<BR>
&nbsp;<B>Subject:</B> Re: [OAUTH-WG] A display parameter for user authoriza=
tion requests<BR>
&nbsp;</SPAN></FONT></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'fo=
nt-size:12pt'> <BR>
&nbsp;</SPAN></FONT><FONT FACE=3D"Verdana, Helvetica, Arial"><SPAN STYLE=3D=
'font-size:11pt'>They are, but thinking about interop for both parts is the=
 same work. Once you figure out what the client might need, you figure out =
what the server may support. At that point discovery is as simple as giving=
 these different options names and putting this information somewhere.<BR>
&nbsp;<BR>
I am not saying a spec must cover both, but it is worth thinking about it a=
t the same time. For example, a decision about allowing requesting custom s=
ize popup vs. fixed popup options vs. pre-defined categories, all require d=
ifferent discovery needs. If the feature allows the client to say &#8220;I =
want a 400x500 popup&#8221;, you just need to say &#8220;popups are support=
ed&#8221;. But if you want just allow full browser or popup (of fixed sizes=
), and do not require a server to support all of them, you need to express =
what is supported.<BR>
&nbsp;<BR>
Given the wide range of UI options, without either mandating everything or =
discovery, this feature offers little interop value (which means little rea=
son to write as a standard).<BR>
&nbsp;<BR>
EHL<BR>
&nbsp;<BR>
&nbsp;<BR>
On 3/30/10 5:58 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurtescu@=
google.com">mscurtescu@google.com</a>&gt; wrote:<BR>
Aren't these independent issues?<BR>
&nbsp;<BR>
Regardless how the client figures what the server supports (discovery<BR>
or hard code configuration) it must have a way to tell the<BR>
Authorization Server its preferences when it sends the user over.<BR>
&nbsp;<BR>
Marius<BR>
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>
On Tue, Mar 30, 2010 at 8:50 PM, Anthony Nadalin &lt;<a href=3D"tonynad@mic=
rosoft.com">tonynad@microsoft.com</a>&gt; wrote:<BR>
&gt; So I doubt that the client always knows what the server supports, the =
server should be open in allowing all parties to find out what is supported=
<BR>
&gt;<BR>
&gt; -----Original Message-----<BR>
&gt; From: <a href=3D"oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> [<=
a href=3D"mailto:oauth-bounces@ietf.org">mailto:oauth-bounces@ietf.org</a>]=
 On Behalf Of Brian Eaton<BR>
&gt; Sent: Tuesday, March 30, 2010 5:44 PM<BR>
&gt; To: Raffi Krikorian<BR>
&gt; Cc: OAuth WG<BR>
&gt; Subject: Re: [OAUTH-WG] A display parameter for user authorization req=
uests<BR>
&gt;<BR>
&gt; On Tue, Mar 30, 2010 at 5:25 PM, Raffi Krikorian &lt;<a href=3D"raffi@=
twitter.com">raffi@twitter.com</a>&gt; wrote:<BR>
&gt;&gt; why does a client need to discover what the server supports?<BR>
&gt;&gt; presumably the client would already know given that they are integ=
rating with it?<BR>
&gt;<BR>
&gt; +1.<BR>
&gt; _______________________________________________<BR>
&gt; OAuth mailing list<BR>
&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ie=
tf.org/mailman/listinfo/oauth</a><BR>
&gt;<BR>
&gt; _______________________________________________<BR>
&gt; OAuth mailing list<BR>
&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ie=
tf.org/mailman/listinfo/oauth</a><BR>
&gt;<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
&nbsp;<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&nbsp;<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.i=
etf.org/mailman/listinfo/oauth</a><BR>
&nbsp;<BR>
&nbsp;<BR>
<HR ALIGN=3DCENTER SIZE=3D"3" WIDTH=3D"95%"></SPAN></FONT><FONT SIZE=3D"2">=
<FONT FACE=3D"Courier New"><SPAN STYLE=3D'font-size:10pt'>_________________=
______________________________<BR>
OAuth mailing list<BR>
&nbsp;<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&nbsp;<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.i=
etf.org/mailman/listinfo/oauth</a><BR>
&nbsp;<BR>
</SPAN></FONT></FONT></BLOCKQUOTE><FONT FACE=3D"Lucida Grande"><SPAN STYLE=
=3D'font-size:11pt'> <BR>
<BR>
<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
&nbsp;&nbsp;<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font=
-size:11pt'><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E6288134F3cmortimoresalesforcecom_--

From eran@hueniverse.com  Sun Apr 11 04:45:37 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8374B3A6827 for <oauth@core3.amsl.com>; Sun, 11 Apr 2010 04:45:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.108
X-Spam-Level: 
X-Spam-Status: No, score=-1.108 tagged_above=-999 required=5 tests=[AWL=-1.220, BAYES_50=0.001, SARE_NETPROD=0.111]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sqPpItZKgdx5 for <oauth@core3.amsl.com>; Sun, 11 Apr 2010 04:45:36 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id D7B9F3A681A for <oauth@ietf.org>; Sun, 11 Apr 2010 04:45:35 -0700 (PDT)
Received: (qmail 11716 invoked from network); 11 Apr 2010 11:45:30 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 11 Apr 2010 11:45:30 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Sun, 11 Apr 2010 04:45:30 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Date: Sun, 11 Apr 2010 04:45:26 -0700
Thread-Topic: Comments on sections 5-7
Thread-Index: AcrXtnV6g49R1HgpQ8KK8s9Daw9VbwBtgSEJ
Message-ID: <C7E70466.320B6%eran@hueniverse.com>
In-Reply-To: <4BBED76A.2060006@lodderstedt.net>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on sections 5-7
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 11 Apr 2010 11:45:37 -0000

On 4/9/10 12:29 AM, "Torsten Lodderstedt" <torsten@lodderstedt.net> wrote:

> @Brian: I CC'd you because you edit the security considerations document.
>>>> I rather add support for query and post parameters (we are really talk=
ing
>>>> about a single parameter, oauth_token, outside the HTTP header), and i=
n a
>>>> few year deprecate it in OAuth 3.0. The benefit of these features is t=
hat
>>>>=20
>>>>      =20
>>> I didn't argue against passing tokens as parameters. I just said: "don'=
t
>>> include it in the standard, please". I still don't see any benefit -
>>> just confusion.
>>>    =20
>> I think the majority of working group members would argue that forcing
>> developers to read another spec for a feature they already have in OAuth
>> 1.0a and will rely upon in OAuth 2.0 is more confusing.
>>  =20
>=20
> As far as I know, OAuth 1.0a did not support bearer tokens.

Sure it did. Not cleanly (the RFC version fixed that) but since there is no
requirement to have a token secret, the PLAINTEXT method could easily be
used as a bearer token.

>>  =20
>>> Moreover as I already pointed out, query parameters are dangerous from =
a
>>> security standpoint. Do you really want to standardize something like
>>> that? Or do you want to improve internet security?
>>>    =20
>> Not always. We will document the issues and offer suggestions on how to
>> mitigate that. The entire spec relies heavily on implementation details =
and
>> this falls right into that.
>>  =20
>=20
> Interesting, who decides when security is a major point and when not?

The working group using rough consensus.

> I would like to cite your statement on "HTTPS requirement for using an
> Access Token without signatures"

Yeah, and I "lost" the argument. Consensus clearly pointed towards not
mandating HTTPS for bearer tokens with clearly explaining the risks in doin=
g
so and highlighting the ways in which servers can reduce risks.

> You mentioned token abuse. Based on my experiences, I assess the
> propability an OAuth token is spread and thus revealed over
> Referer-Headers much higher than someone wiretapping a token on transit
> over HTTP.
>=20
> Suppose someone kicks off a browser windows using an URL with bearer
> token as parameter. When implemented naively, every HTTP request
> triggerd by the user clicking a link on that site will carry the URL
> including the token in its Referer-Header. So the token becomes
> available to all web sites that can be reached from that point. The
> target site can mitigate that risk by redirecting to itsself, but how
> many site developers are familiar with that topic?
>=20
> Where will these risk be document? The current draft does not cover
> "using a token".

We haven't reach the security consideration part of the specification,
though some are already collecting material.

I think your concerns about exposing tokens included in the URI query are
justified, but it is far less complicated than you portrait it. Initially,
OAuth calls made by the browser are more likely to happen through JS code
requesting JSON data than the browser opening a web page using OAuth as
access control.

If OAuth ever gets to the point where it replaces Basic auth in the browser=
,
or used instead of other cookie-based authentication systems, it will gain
native browser support which will use the header exclusively. Until then, J=
S
code cannot make OAuth requests without other ways to send the token.

>>  =20
>>>> they allow existing browsers to deploy OAuth *today*.
>>>>=20
>>>>      =20
>>> I don't understand this. Would you please give examples? Browsers today
>>> natively support BASIC/DIGEST/SPNEGO with authorization headers, they
>>> could do this the same way for OAUTH.
>>>    =20
>> Facebook and Yahoo! (as an example) have about 400-500 million users tod=
ay.
>> They want to deploy OAuth 2.0 within a few months. Clearly expecting the=
se
>> users to upgrade their browser to a version not likely to be available f=
or a
>> year isn't practical.
>>  =20
>=20
> Impressive numbers! I'm eager to learn the usage scenario which directly
> involves the browser and requires query parameters. Here at Deutsche
> Telekom we operate a token service based on a combination of OAuth 1.0a
> and proprietary mechanisms with a charactiericts similar to OAUTH2. We
> use this service to secure internet products for the german customers
> (>40 million).  Service requests use Authorization headers only (e.g.
> for security reasons). I would like to learn whether we missed something.

How about a Twitter client written completely in JS running the browser?
Widgets loading OAuth-protected data in a social network page? There are
plenty of such examples.

EHL


From torsten@lodderstedt.net  Sun Apr 11 12:06:09 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 675943A68EC for <oauth@core3.amsl.com>; Sun, 11 Apr 2010 12:06:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.012
X-Spam-Level: 
X-Spam-Status: No, score=-2.012 tagged_above=-999 required=5 tests=[AWL=0.236,  BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nqkmqYtiDUKv for <oauth@core3.amsl.com>; Sun, 11 Apr 2010 12:06:08 -0700 (PDT)
Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.31.40]) by core3.amsl.com (Postfix) with ESMTP id 863CB3A6894 for <oauth@ietf.org>; Sun, 11 Apr 2010 12:06:07 -0700 (PDT)
Received: from p4fff328a.dip.t-dialin.net ([79.255.50.138] helo=[127.0.0.1]) by smtprelay02.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O12To-0006gn-Lw; Sun, 11 Apr 2010 21:06:00 +0200
Message-ID: <4BC21D95.5060201@lodderstedt.net>
Date: Sun, 11 Apr 2010 21:05:57 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: "Moore, Jonathan" <Jonathan_Moore@Comcast.com>
References: <C7E4B464.31FD3%eran@hueniverse.com> <A13FDE0E-C73F-4C7C-B085-B2297C710B55@comcast.com> <4BC02921.3000102@lodderstedt.net> <3B11A364-C37D-4690-8FBD-5840F8C3884E@comcast.com>
In-Reply-To: <3B11A364-C37D-4690-8FBD-5840F8C3884E@comcast.com>
Content-Type: multipart/alternative; boundary="------------070008020107080400060706"
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization request header
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 11 Apr 2010 19:06:09 -0000

This is a multi-part message in MIME format.
--------------070008020107080400060706
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

I don't know if we are really done. Does the current draft already 
consider one-time tokens? How does a client acquire one-time tokens?

Moreover, I would prefer the signature solution because of the increase 
in load caused by the acquisition of multiple one-time tokens.

Apart from that, another possible solution occured to me. Would it be 
possible to use a cookie containg a token instead of constructing URLs 
carrying different tokens?

The origin server could acquire an ordinary bearer token and store it 
within a cookie. If the JavaScript code sends HTTP requests and the 
target domain matches the browser should automatically add the cookie to 
every call thus sending the token with every request. The origin server 
would need to refresh the token periodically in order to prevent abuse 
of the token.

Would this work?

regards,
Torsten.

Am 10.04.2010 15:13, schrieb Moore, Jonathan:
> Ok, thanks - I was missing the possibility that bearer tokens could be 
> single use. I agree this covers my use case adequately, so I am now 
> definitely +1 for simplifying the spec in this way.
>
> Thanks for bearing (pun intended) with me.
>
> Jon
>
> ........
> Jon Moore
>
>
> On Apr 10, 2010, at 3:30 AM, "Torsten Lodderstedt" 
> <torsten@lodderstedt.net <mailto:torsten@lodderstedt.net>> wrote:
>
>> From my point of view, your use case can be implemented in two ways
>>
>> 1) tokenized & signed URLs provided by your origin server
>> 2) URLs with one-time usage bearer tokens as parameter acquired by 
>> your origin server
>>
>> I see the following pros/cons:
>>
>> Load: (2) requires the origin server to acquire one token per link on 
>> your page from the auth server, which may cause a lot of load on the 
>> authz server :-(. (1) only needs to obtain a single token since the 
>> signature is calculated by the origin server locally. This might be 
>> much better from a load perspective.
>>
>> Security: As a further downside (2) either requires HTTPS 
>> communication for the whole page or you acquire the URL with one-time 
>> usage bearer token over HTTP. Acquisition from authz server can still 
>> be performed over HTTPS. If this acceptable depends on your security 
>> considerations.
>>
>> Comments?
>>
>> regards,
>> Torsten.
>>
>> Am 10.04.2010 03:34, schrieb Moore, Jonathan:
>>> However, this doesn't address my earlier use case of a signed, 
>>> cross-domain JSONP call, especially if it's sitting on a non-HTTPS 
>>> page; I need to make a non-HTTP XHR request to obtain a (signed or 
>>> tokenized) URL to include in my <script> include, so requiring a 
>>> bearer token and SSL basically forces me to have the whole page 
>>> delivered over HTTPS, which may be overkill for my application.Ã‚
>>>
>>> While I can understand that token and secret acquisition might need 
>>> SSL, always requiring it on authorized requests too seems too much.
>>>
>>> Can someone explain/re-explain why query parameter signatures need 
>>> to be eliminated? The Authorization header is great when you can 
>>> manipulate it, but you can't always. Why is it problematic for the 
>>> signatures to be able to appear in either place?
>>>
>>> Jon
>>>
>>> ........
>>> Jon Moore
>>>
>>>
>>> On Apr 9, 2010, at 1:39 PM, "Eran Hammer-Lahav" <eran@hueniverse.com 
>>> <mailto:eran@hueniverse.com>> wrote:
>>>
>>>> In practice this is the same as logging in which I expect to 
>>>> require SSL anyway. Signed or not, attackers should not be able to 
>>>> login to your email account simply by using a MITM attack when you 
>>>> click on your IM client. So SSL is required already.
>>>>
>>>> EHL
>>>>
>>>>
>>>> On 4/9/10 7:30 AM, "George Fletcher" <gffletch@aol.com 
>>>> <mailto:gffletch@aol.com>> wrote:
>>>>
>>>>     Yes, this is possible, though to be secure it should really
>>>>     happen over SSL which is less of a requirement for a signed
>>>>     request.
>>>>
>>>>     I guess the main question is whether we really need to remove
>>>>     the signature related parameters from URL and only allow them
>>>>     in the Authorization header. For signed requests, these use
>>>>     cases pretty much require that the signature parameters be
>>>>     allowed in the URL.
>>>>
>>>>     Obviously, if we change our model to not use signed URLs then
>>>>     this issue goes away:)
>>>>
>>>>     Thanks,
>>>>     George
>>>>
>>>>     On 4/9/10 12:58 AM, Brian Eaton wrote:
>>>>
>>>>
>>>>         On Thu, Apr 8, 2010 at 7:08 AM, George Fletcher
>>>>         <gffletch@aol.com <mailto:gffletch@aol.com>>
>>>>         <mailto:gffletch@aol.com> Ã‚ wrote:
>>>>         Ã‚ Ã‚
>>>>         Ã‚
>>>>
>>>>
>>>>             I realize that these sorts of use cases are trivial if
>>>>             establishment of the
>>>>             SSO session switches from a signed mechanism to the
>>>>             OAuth WRAP bearer token
>>>>             model. The one nice feature of the signed URL is that
>>>>             it is one time use
>>>>             where the bearer token can be replayed multiple times.
>>>>             Ã‚ Ã‚ Ã‚ Ã‚
>>>>             Ã‚
>>>>
>>>>
>>>>
>>>>         Yep, Google does this kind of thing too.
>>>>
>>>>         Is there something that stops you from declaring that a
>>>>         particular
>>>>         token is single use?
>>>>
>>>>         1) Client makes call to Authorization server, passing in
>>>>         either the
>>>>         refresh token or an access token (depending on the security
>>>>         model you
>>>>         want.)
>>>>         2) AS returns a token.
>>>>         3) Client uses the token to pop open a web browser.
>>>>
>>>>         Cheers,
>>>>         Brian
>>>>
>>>>         Ã‚ Ã‚
>>>>
>>>>
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org <mailto:OAuth@ietf.org>
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org  <mailto:OAuth@ietf.org>
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>    
>>


--------------070008020107080400060706
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
I don't know if we are really done. Does the current draft already
consider one-time tokens? How does a client acquire one-time tokens?<br>
<br>
Moreover, I would prefer the signature solution because of the increase
in load caused by the acquisition of multiple one-time tokens. <br>
<br>
Apart from that, another possible solution occured to me. Would it be
possible to use a cookie containg a token instead of constructing URLs
carrying different tokens? <br>
<br>
The origin server could acquire an ordinary bearer token and store it
within a cookie. If the JavaScript code sends HTTP requests and the
target domain matches the browser should automatically add the cookie
to every call thus sending the token with every request. The origin
server would need to refresh the token periodically in order to prevent
abuse of the token. <br>
<br>
Would this work?<br>
<br>
regards,<br>
Torsten.<br>
<br>
Am 10.04.2010 15:13, schrieb Moore, Jonathan:
<blockquote cite="mid:3B11A364-C37D-4690-8FBD-5840F8C3884E@comcast.com"
 type="cite">
  <div>Ok, thanks - I was missing the possibility that bearer tokens
could be single use. I agree this covers my use case adequately, so I
am now definitely +1 for simplifying the spec in this way.</div>
  <div><br>
  </div>
  <div>Thanks for bearing (pun intended) with me.</div>
  <div><br>
  </div>
  <div>Jon<br>
  <br>
........
  <div>Jon Moore</div>
  <div><br>
  </div>
  </div>
  <div><br>
On Apr 10, 2010, at 3:30 AM, "Torsten Lodderstedt" &lt;<a
 moz-do-not-send="true" href="mailto:torsten@lodderstedt.net">torsten@lodderstedt.net</a>&gt;
wrote:<br>
  <br>
  </div>
  <blockquote type="cite">
    <div>From my point of view, your use case can be implemented in two
ways<br>
    <br>
1) tokenized &amp; signed URLs provided by your origin server<br>
2) URLs with one-time usage bearer tokens as parameter acquired by your
origin server<br>
    <br>
I see the following pros/cons: <br>
    <br>
Load: (2) requires the origin server to acquire one token per link on
your page from the auth server, which may cause a lot of load on the
authz server :-(. (1) only needs to obtain a single token since the
signature is calculated by the origin server locally. This might be
much better from a load perspective.<br>
    <br>
Security: As a further downside (2) either requires HTTPS communication
for the whole page or you acquire the URL with one-time usage bearer
token over HTTP. Acquisition from authz server can still be performed
over HTTPS. If this acceptable depends on your security considerations.
    <br>
    <br>
Comments?<br>
    <br>
regards,<br>
Torsten.<br>
    <br>
Am 10.04.2010 03:34, schrieb Moore, Jonathan:
    <blockquote
 cite="mid:A13FDE0E-C73F-4C7C-B085-B2297C710B55@comcast.com" type="cite">
      <div>However, this doesn't address my earlier use case of a
signed,
cross-domain JSONP call, especially if it's sitting on a non-HTTPS
page; I need to make a non-HTTP XHR request to obtain a (signed or
tokenized) URL to include in my &lt;script&gt; include, so requiring a
bearer token and SSL basically forces me to have the whole page
delivered over HTTPS, which may be overkill for my application.Ã‚Â </div>
      <div><br>
      </div>
      <div>While I can understand that token and secret acquisition
might
need SSL, always requiring it on authorized requests too seems too much.</div>
      <div><br>
      </div>
      <div>Can someone explain/re-explain why query parameter
signatures
need to be eliminated? The Authorization header is great when you can
manipulate it, but you can't always. Why is it problematic for the
signatures to be able to appear in either place?</div>
      <div><br>
      </div>
      <div>Jon</div>
      <div><br>
........
      <div>Jon Moore</div>
      <div><br>
      </div>
      </div>
      <div><br>
On Apr 9, 2010, at 1:39 PM, "Eran Hammer-Lahav" &lt;<a
 moz-do-not-send="true" href="mailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt;
wrote:<br>
      <br>
      </div>
      <blockquote type="cite">
        <div><font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;">In practice this is the same as logging in
which I expect to require SSL anyway. Signed or not, attackers should
not be able to login to your email account simply by using a MITM
attack when you click on your IM client. So SSL is required already.<br>
        <br>
EHL <br>
        <br>
        <br>
On 4/9/10 7:30 AM, "George Fletcher" &lt;<a moz-do-not-send="true"
 href="mailto:gffletch@aol.com">gffletch@aol.com</a>&gt; wrote:<br>
        <br>
        </span></font>
        <blockquote><span style="font-size: 11pt;"><font
 face="Helvetica, Verdana, Arial">Yes, this is possible, though to be
secure it should really happen over SSL which is less of a requirement
for a signed request. <br>
          <br>
I guess the main question is whether we really need to remove the
signature related parameters from URL and only allow them in the
Authorization header. For signed requests, these use cases pretty much
require that the signature parameters be allowed in the URL.<br>
          <br>
Obviously, if we change our model to not use signed URLs then this
issue goes away:)<br>
          <br>
Thanks,<br>
George<br>
          </font><font face="Calibri, Verdana, Helvetica, Arial"><br>
On 4/9/10 12:58 AM, Brian Eaton wrote: <br>
          </font></span>
          <blockquote><span style="font-size: 11pt;"><font
 face="Calibri, Verdana, Helvetica, Arial"> <br>
On Thu, Apr 8, 2010 at 7:08 AM, George Fletcher &lt;<a
 moz-do-not-send="true" href="mailto:gffletch@aol.com">gffletch@aol.com</a>&gt;
&lt;<a moz-do-not-send="true" href="mailto:gffletch@aol.com">mailto:gffletch@aol.com</a>&gt;
Ã‚Â wrote:<br>
Ã‚Â Ã‚Â <br>
Ã‚Â <br>
            </font></span>
            <blockquote><span style="font-size: 11pt;"><font
 face="Calibri, Verdana, Helvetica, Arial"> <br>
I realize that these sorts of use cases are trivial if establishment of
the<br>
SSO session switches from a signed mechanism to the OAuth WRAP bearer
token<br>
model. The one nice feature of the signed URL is that it is one time use<br>
where the bearer token can be replayed multiple times.<br>
Ã‚Â Ã‚Â Ã‚Â Ã‚Â <br>
Ã‚Â <br>
              </font></span></blockquote>
            <span style="font-size: 11pt;"><font
 face="Calibri, Verdana, Helvetica, Arial"> <br>
            <br>
Yep, Google does this kind of thing too.<br>
            <br>
Is there something that stops you from declaring that a particular<br>
token is single use?<br>
            <br>
1) Client makes call to Authorization server, passing in either the<br>
refresh token or an access token (depending on the security model you<br>
want.)<br>
2) AS returns a token.<br>
3) Client uses the token to pop open a web browser.<br>
            <br>
Cheers,<br>
Brian<br>
            <br>
Ã‚Â Ã‚Â <br>
            </font></span></blockquote>
          <span style="font-size: 11pt;"><font
 face="Calibri, Verdana, Helvetica, Arial"><br>
          </font></span></blockquote>
        </div>
      </blockquote>
      <blockquote type="cite">
        <div><span>_______________________________________________</span><br>
        <span>OAuth mailing list</span><br>
        <span><a moz-do-not-send="true" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a></span><br>
        <span><a moz-do-not-send="true"
 href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a></span><br>
        </div>
      </blockquote>
      <pre wrap=""><fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
OAuth mailing list
<a moz-do-not-send="true" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a moz-do-not-send="true"
 href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>
  </pre>
    </blockquote>
    <br>
    </div>
  </blockquote>
</blockquote>
<br>
</body>
</html>

--------------070008020107080400060706--


From jonathan_moore@comcast.com  Sun Apr 11 16:54:59 2010
Return-Path: <jonathan_moore@comcast.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BC2683A68B3 for <oauth@core3.amsl.com>; Sun, 11 Apr 2010 16:54:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.395
X-Spam-Level: 
X-Spam-Status: No, score=-6.395 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_MODEMCABLE=0.768, HOST_EQ_MODEMCABLE=1.368, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8, RCVD_NUMERIC_HELO=2.067]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hGLVltNRO3JS for <oauth@core3.amsl.com>; Sun, 11 Apr 2010 16:54:58 -0700 (PDT)
Received: from pacdcimo01.cable.comcast.com (PacdcIMO01.cable.comcast.com [24.40.8.145]) by core3.amsl.com (Postfix) with ESMTP id BEA603A67C2 for <oauth@ietf.org>; Sun, 11 Apr 2010 16:54:56 -0700 (PDT)
Received: from ([10.52.116.31]) by pacdcimo01.cable.comcast.com with ESMTP  id 5503620.76622445; Sun, 11 Apr 2010 19:54:46 -0400
Received: from PACORPEXCMB03.cable.comcast.com ([24.40.15.85]) by PAOAKEXCSMTP02.cable.comcast.com with Microsoft SMTPSVC(6.0.3790.3959); Sun, 11 Apr 2010 19:54:45 -0400
Received: from 24.40.8.154 ([24.40.8.154]) by PACORPEXCMB03.cable.comcast.com ([24.40.15.85]) with Microsoft Exchange Server HTTP-DAV ;  Sun, 11 Apr 2010 23:54:44 +0000
Message-ID: <87B2E4E4-348D-419D-9813-4194F907AEE6@comcast.com>
From: "Moore, Jonathan" <Jonathan_Moore@Comcast.com>
To: "Torsten Lodderstedt" <torsten@lodderstedt.net>
In-Reply-To: <4BC21D95.5060201@lodderstedt.net>
Content-Type: multipart/alternative; boundary="Apple-Mail-1-665106550"; charset="utf-8"
thread-topic: [OAUTH-WG] Limiting signed requests to use the Authorization request header
thread-index: AcrZ0lwilyCICVQFRkm12joTbK2ckw==
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0 (iPhone Mail 7A341)
Date: Sun, 11 Apr 2010 19:54:39 -0400
References: <C7E4B464.31FD3%eran@hueniverse.com> <A13FDE0E-C73F-4C7C-B085-B2297C710B55@comcast.com> <4BC02921.3000102@lodderstedt.net> <3B11A364-C37D-4690-8FBD-5840F8C3884E@comcast.com> <4BC21D95.5060201@lodderstedt.net>
X-OriginalArrivalTime: 11 Apr 2010 23:54:45.0505 (UTC) FILETIME=[5CB29F10:01CAD9D2]
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization request header
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 11 Apr 2010 23:54:59 -0000

--Apple-Mail-1-665106550
Content-Type: text/plain;
	charset=utf-8;
	format=flowed;
	delsp=yes
Content-Transfer-Encoding: base64

QWN0dWFsbHksIGluIHRoaXMgY2FzZSwgSSdtIGltYWdpbmluZyBhIGJhc2UgcGFnZSB0aGF0IGlz
IGhlYXZpbHkgIA0KY2FjaGVkIChhbmQgbm9uLXBlcnNvbmFsaXplZCksIHBlcmhhcHMgZGVsaXZl
cmVkIGJ5IENETiwgbm9uLVNTTC4gVGhlICANCnJlbmRlcmVkIHBhZ2UgdGhlbiB3YW50cyB0byBt
YWtlIGFuIGF1dGhvcml6ZWQgY3Jvc3MtZG9tYWluIGNhbGwgdG8gIA0KdGhlIFNlcnZpY2UgUHJv
dmlkZXIsIHBlcnNvbmFsaXplZCB0byB0aGUgY3VycmVudGx5IGxvZ2dlZC1pbiB1c2VyLg0KDQpJ
IGRvbid0IHRoaW5rIG9uZS10aW1lIGJlYXJlciB0b2tlbnMgYXJlIGFwcHJvcHJpYXRlIGhlcmUs
IGJlY2F1c2UgSSAgDQp3b3VsZCBuZWVkIHRvIHNlbmQgdGhlIHVzZXIgdGhyb3VnaCBhIHJlZnJl
c2ggb3IgcmVhY3F1aXNpdGlvbiBmbG93ICANCmZvciBldmVyeSBjYWxsLCB3aGljaCBraW5kIG9m
IGRlZmVhdHMgdGhlIHBvaW50Lg0KDQpJIGFtIG9rIHdpdGggdGhpcyBnZW5lcmF0aW5nIGEgbm9u
LUhUVFAgQUpBWCBvcmlnaW4gcmVxdWVzdCB0byBvYnRhaW4gIA0KYSB0b2tlbml6ZWQgb3Igc2ln
bmVkIFVSTDsgdGhpcyBjYW4gbGlrZWx5IGJlIHNlcnZlZCB3aXRob3V0ICANCnNpZ25pZmljYW50
IEkvTyBpZiBJIGhhdmUgdGhlIGFwcHJvcHJpYXRlIHRva2VucyBhbmQgc2VjcmV0cyBjYWNoZWQg
aW4gIA0KbWVtb3J5LiBIb3dldmVyLCB0aGUgcmVzdWx0aW5nIFVSTCBtdXN0IGJlIHJlZGVlbWFi
bGUgd2l0aG91dCBhY2Nlc3MgIA0KdG8gdGhlIEF1dGhvcml6YXRpb24gaGVhZGVyLCBhcyBJJ20g
Z29pbmcgdG8gbmVlZCB0byBpbmNsdWRlIGl0IGluIGEgIA0KPHNjcmlwdD4gdGFnIChlcXVpdmFs
ZW50bHksIG1ha2UgdGhlIEpTT05QIGNhbGwgd2l0aCBhIHNjcmlwdCBpbnNlcnQgIA0KYWdhaW5z
dCB0aGUgb3JpZ2luIHRoYXQgcmVkaXJlY3RzIHRvIHRoZSBhdXRob3JpemVkIHJlc291cmNlIC0t
IGFnYWluLCAgDQpubyBhY2Nlc3MgdG8gdGhlIEF1dGhvcml6YXRpb24gaGVhZGVyKS4NCg0KRm9y
IHNjYWxlIHJlYXNvbnMsIEkgZG9uJ3Qgd2FudCB0byBwcm94eSB0aGUgY2FsbCB0aHJvdWdoIG15
IG9yaWdpbjsgIA0KdGhhdCBob2xkcyB0aGUgb3JpZ2luIHJlcXVlc3Qgb3BlbiB3aGlsZSBJIGFt
IHdhaXRpbmcgZm9yIHRoZSBTZXJ2aWNlICANClByb3ZpZGVyIHRvIHJldHVybi4NCg0KQ29va2ll
cyBkb24ndCB3b3JrIGhlcmUsIGJlY2F1c2UgSSBhcyB0aGUgb3JpZ2luIGNhbid0IHNldCBjb29r
aWVzIGZvciAgDQp0aGUgU1AncyBkb21haW4uDQoNCkFzIEkgdGhpbmsgYWJvdXQgaXQgaGVyZSwg
SSBkb24ndCB0aGluayBiZWFyZXIgdG9rZW5zIGFyZSBhcHByb3ByaWF0ZSwgIA0KYXMgdGhleSBy
ZXF1aXJlIFNTTCBmb3IgdGhpcyBzZXF1ZW5jZSB0byB3b3JrLg0KDQpXaGlsZSBJIGNhbiBhcHBy
ZWNpYXRlIHRoYXQgdGhlIHNwZWMgaXMgbXVjaCBzaW1wbGVyIHdpdGhvdXQgdGhlIHF1ZXJ5ICAN
CnBhcmFtZXRlciBzaWduYXR1cmVzLCBJIHRoaW5rIEknbSBiYWNrIHRvIG5lZWRpbmcgdG8gYmUg
Y29udmluY2VkIHRoYXQgIA0KbXkgdXNlIGNhc2UgY2FuIGJlIGFkZHJlc3NlZCB3aXRob3V0IHRo
ZW0gYW5kIHdpdGggc2ltaWxhciBvcGVyYXRpb25hbCAgDQphbmQgc2NhbGluZyBjaGFyYWN0ZXJp
c3RpY3MgdG8gd2hhdCBpcyBhdmFpbGFibGUgaW4gT0F1dGggMS4wYS4NCg0KIkFzIHNpbXBsZSBh
cyBwb3NzaWJsZSwgYnV0IG5vIHNpbXBsZXIuIg0KDQpKb24NCi4uLi4uLi4uDQpKb24gTW9vcmUN
Cg0KDQpPbiBBcHIgMTEsIDIwMTAsIGF0IDM6MDYgUE0sICJUb3JzdGVuIExvZGRlcnN0ZWR0IiA8
dG9yc3RlbkBsb2RkZXJzdGVkdC5uZXQgDQogPiB3cm90ZToNCg0KPiBJIGRvbid0IGtub3cgaWYg
d2UgYXJlIHJlYWxseSBkb25lLiBEb2VzIHRoZSBjdXJyZW50IGRyYWZ0IGFscmVhZHkgIA0KPiBj
b25zaWRlciBvbmUtdGltZSB0b2tlbnM/IEhvdyBkb2VzIGEgY2xpZW50IGFjcXVpcmUgb25lLXRp
bWUgdG9rZW5zPw0KPg0KPiBNb3Jlb3ZlciwgSSB3b3VsZCBwcmVmZXIgdGhlIHNpZ25hdHVyZSBz
b2x1dGlvbiBiZWNhdXNlIG9mIHRoZSAgDQo+IGluY3JlYXNlIGluIGxvYWQgY2F1c2VkIGJ5IHRo
ZSBhY3F1aXNpdGlvbiBvZiBtdWx0aXBsZSBvbmUtdGltZSAgDQo+IHRva2Vucy4NCj4NCj4gQXBh
cnQgZnJvbSB0aGF0LCBhbm90aGVyIHBvc3NpYmxlIHNvbHV0aW9uIG9jY3VyZWQgdG8gbWUuIFdv
dWxkIGl0ICANCj4gYmUgcG9zc2libGUgdG8gdXNlIGEgY29va2llIGNvbnRhaW5nIGEgdG9rZW4g
aW5zdGVhZCBvZiBjb25zdHJ1Y3RpbmcgIA0KPiBVUkxzIGNhcnJ5aW5nIGRpZmZlcmVudCB0b2tl
bnM/DQo+DQo+IFRoZSBvcmlnaW4gc2VydmVyIGNvdWxkIGFjcXVpcmUgYW4gb3JkaW5hcnkgYmVh
cmVyIHRva2VuIGFuZCBzdG9yZSAgDQo+IGl0IHdpdGhpbiBhIGNvb2tpZS4gSWYgdGhlIEphdmFT
Y3JpcHQgY29kZSBzZW5kcyBIVFRQIHJlcXVlc3RzIGFuZCAgDQo+IHRoZSB0YXJnZXQgZG9tYWlu
IG1hdGNoZXMgdGhlIGJyb3dzZXIgc2hvdWxkIGF1dG9tYXRpY2FsbHkgYWRkIHRoZSAgDQo+IGNv
b2tpZSB0byBldmVyeSBjYWxsIHRodXMgc2VuZGluZyB0aGUgdG9rZW4gd2l0aCBldmVyeSByZXF1
ZXN0LiBUaGUgIA0KPiBvcmlnaW4gc2VydmVyIHdvdWxkIG5lZWQgdG8gcmVmcmVzaCB0aGUgdG9r
ZW4gcGVyaW9kaWNhbGx5IGluIG9yZGVyICANCj4gdG8gcHJldmVudCBhYnVzZSBvZiB0aGUgdG9r
ZW4uDQo+DQo+IFdvdWxkIHRoaXMgd29yaz8NCj4NCj4gcmVnYXJkcywNCj4gVG9yc3Rlbi4NCj4N
Cj4gQW0gMTAuMDQuMjAxMCAxNToxMywgc2NocmllYiBNb29yZSwgSm9uYXRoYW46DQo+Pg0KPj4g
T2ssIHRoYW5rcyAtIEkgd2FzIG1pc3NpbmcgdGhlIHBvc3NpYmlsaXR5IHRoYXQgYmVhcmVyIHRv
a2VucyBjb3VsZCAgDQo+PiBiZSBzaW5nbGUgdXNlLiBJIGFncmVlIHRoaXMgY292ZXJzIG15IHVz
ZSBjYXNlIGFkZXF1YXRlbHksIHNvIEkgYW0gIA0KPj4gbm93IGRlZmluaXRlbHkgKzEgZm9yIHNp
bXBsaWZ5aW5nIHRoZSBzcGVjIGluIHRoaXMgd2F5Lg0KPj4NCj4+IFRoYW5rcyBmb3IgYmVhcmlu
ZyAocHVuIGludGVuZGVkKSB3aXRoIG1lLg0KPj4NCj4+IEpvbg0KPj4NCj4+IC4uLi4uLi4uDQo+
PiBKb24gTW9vcmUNCj4+DQo+Pg0KPj4gT24gQXByIDEwLCAyMDEwLCBhdCAzOjMwIEFNLCAiVG9y
c3RlbiBMb2RkZXJzdGVkdCIgPHRvcnN0ZW5AbG9kZGVyc3RlZHQubmV0IA0KPj4gPiB3cm90ZToN
Cj4+DQo+Pj4gRnJvbSBteSBwb2ludCBvZiB2aWV3LCB5b3VyIHVzZSBjYXNlIGNhbiBiZSBpbXBs
ZW1lbnRlZCBpbiB0d28gd2F5cw0KPj4+DQo+Pj4gMSkgdG9rZW5pemVkICYgc2lnbmVkIFVSTHMg
cHJvdmlkZWQgYnkgeW91ciBvcmlnaW4gc2VydmVyDQo+Pj4gMikgVVJMcyB3aXRoIG9uZS10aW1l
IHVzYWdlIGJlYXJlciB0b2tlbnMgYXMgcGFyYW1ldGVyIGFjcXVpcmVkIGJ5ICANCj4+PiB5b3Vy
IG9yaWdpbiBzZXJ2ZXINCj4+Pg0KPj4+IEkgc2VlIHRoZSBmb2xsb3dpbmcgcHJvcy9jb25zOg0K
Pj4+DQo+Pj4gTG9hZDogKDIpIHJlcXVpcmVzIHRoZSBvcmlnaW4gc2VydmVyIHRvIGFjcXVpcmUg
b25lIHRva2VuIHBlciBsaW5rICANCj4+PiBvbiB5b3VyIHBhZ2UgZnJvbSB0aGUgYXV0aCBzZXJ2
ZXIsIHdoaWNoIG1heSBjYXVzZSBhIGxvdCBvZiBsb2FkICANCj4+PiBvbiB0aGUgYXV0aHogc2Vy
dmVyIDotKC4gKDEpIG9ubHkgbmVlZHMgdG8gb2J0YWluIGEgc2luZ2xlIHRva2VuICANCj4+PiBz
aW5jZSB0aGUgc2lnbmF0dXJlIGlzIGNhbGN1bGF0ZWQgYnkgdGhlIG9yaWdpbiBzZXJ2ZXIgbG9j
YWxseS4gIA0KPj4+IFRoaXMgbWlnaHQgYmUgbXVjaCBiZXR0ZXIgZnJvbSBhIGxvYWQgcGVyc3Bl
Y3RpdmUuDQo+Pj4NCj4+PiBTZWN1cml0eTogQXMgYSBmdXJ0aGVyIGRvd25zaWRlICgyKSBlaXRo
ZXIgcmVxdWlyZXMgSFRUUFMgIA0KPj4+IGNvbW11bmljYXRpb24gZm9yIHRoZSB3aG9sZSBwYWdl
IG9yIHlvdSBhY3F1aXJlIHRoZSBVUkwgd2l0aCBvbmUtIA0KPj4+IHRpbWUgdXNhZ2UgYmVhcmVy
IHRva2VuIG92ZXIgSFRUUC4gQWNxdWlzaXRpb24gZnJvbSBhdXRoeiBzZXJ2ZXIgIA0KPj4+IGNh
biBzdGlsbCBiZSBwZXJmb3JtZWQgb3ZlciBIVFRQUy4gSWYgdGhpcyBhY2NlcHRhYmxlIGRlcGVu
ZHMgb24gIA0KPj4+IHlvdXIgc2VjdXJpdHkgY29uc2lkZXJhdGlvbnMuDQo+Pj4NCj4+PiBDb21t
ZW50cz8NCj4+Pg0KPj4+IHJlZ2FyZHMsDQo+Pj4gVG9yc3Rlbi4NCj4+Pg0KPj4+IEFtIDEwLjA0
LjIwMTAgMDM6MzQsIHNjaHJpZWIgTW9vcmUsIEpvbmF0aGFuOg0KPj4+Pg0KPj4+PiBIb3dldmVy
LCB0aGlzIGRvZXNuJ3QgYWRkcmVzcyBteSBlYXJsaWVyIHVzZSBjYXNlIG9mIGEgc2lnbmVkLCAg
DQo+Pj4+IGNyb3NzLWRvbWFpbiBKU09OUCBjYWxsLCBlc3BlY2lhbGx5IGlmIGl0J3Mgc2l0dGlu
ZyBvbiBhIG5vbi0gDQo+Pj4+IEhUVFBTIHBhZ2U7IEkgbmVlZCB0byBtYWtlIGEgbm9uLUhUVFAg
WEhSIHJlcXVlc3QgdG8gb2J0YWluIGEgIA0KPj4+PiAoc2lnbmVkIG9yIHRva2VuaXplZCkgVVJM
IHRvIGluY2x1ZGUgaW4gbXkgPHNjcmlwdD4gaW5jbHVkZSwgc28gIA0KPj4+PiByZXF1aXJpbmcg
YSBiZWFyZXIgdG9rZW4gYW5kIFNTTCBiYXNpY2FsbHkgZm9yY2VzIG1lIHRvIGhhdmUgdGhlICAN
Cj4+Pj4gd2hvbGUgcGFnZSBkZWxpdmVyZWQgb3ZlciBIVFRQUywgd2hpY2ggbWF5IGJlIG92ZXJr
aWxsIGZvciBteSAgDQo+Pj4+IGFwcGxpY2F0aW9uLsOD4oCaw4INCj4+Pj4NCj4+Pj4gV2hpbGUg
SSBjYW4gdW5kZXJzdGFuZCB0aGF0IHRva2VuIGFuZCBzZWNyZXQgYWNxdWlzaXRpb24gbWlnaHQg
IA0KPj4+PiBuZWVkIFNTTCwgYWx3YXlzIHJlcXVpcmluZyBpdCBvbiBhdXRob3JpemVkIHJlcXVl
c3RzIHRvbyBzZWVtcyAgDQo+Pj4+IHRvbyBtdWNoLg0KPj4+Pg0KPj4+PiBDYW4gc29tZW9uZSBl
eHBsYWluL3JlLWV4cGxhaW4gd2h5IHF1ZXJ5IHBhcmFtZXRlciBzaWduYXR1cmVzICANCj4+Pj4g
bmVlZCB0byBiZSBlbGltaW5hdGVkPyBUaGUgQXV0aG9yaXphdGlvbiBoZWFkZXIgaXMgZ3JlYXQg
d2hlbiB5b3UgIA0KPj4+PiBjYW4gbWFuaXB1bGF0ZSBpdCwgYnV0IHlvdSBjYW4ndCBhbHdheXMu
IFdoeSBpcyBpdCBwcm9ibGVtYXRpYyAgDQo+Pj4+IGZvciB0aGUgc2lnbmF0dXJlcyB0byBiZSBh
YmxlIHRvIGFwcGVhciBpbiBlaXRoZXIgcGxhY2U/DQo+Pj4+DQo+Pj4+IEpvbg0KPj4+Pg0KPj4+
PiAuLi4uLi4uLg0KPj4+PiBKb24gTW9vcmUNCj4+Pj4NCj4+Pj4NCj4+Pj4gT24gQXByIDksIDIw
MTAsIGF0IDE6MzkgUE0sICJFcmFuIEhhbW1lci1MYWhhdiIgPGVyYW5AaHVlbml2ZXJzZS5jb20g
DQo+Pj4+ID4gd3JvdGU6DQo+Pj4+DQo+Pj4+PiBJbiBwcmFjdGljZSB0aGlzIGlzIHRoZSBzYW1l
IGFzIGxvZ2dpbmcgaW4gd2hpY2ggSSBleHBlY3QgdG8gIA0KPj4+Pj4gcmVxdWlyZSBTU0wgYW55
d2F5LiBTaWduZWQgb3Igbm90LCBhdHRhY2tlcnMgc2hvdWxkIG5vdCBiZSBhYmxlICANCj4+Pj4+
IHRvIGxvZ2luIHRvIHlvdXIgZW1haWwgYWNjb3VudCBzaW1wbHkgYnkgdXNpbmcgYSBNSVRNIGF0
dGFjayAgDQo+Pj4+PiB3aGVuIHlvdSBjbGljayBvbiB5b3VyIElNIGNsaWVudC4gU28gU1NMIGlz
IHJlcXVpcmVkIGFscmVhZHkuDQo+Pj4+Pg0KPj4+Pj4gRUhMDQo+Pj4+Pg0KPj4+Pj4NCj4+Pj4+
IE9uIDQvOS8xMCA3OjMwIEFNLCAiR2VvcmdlIEZsZXRjaGVyIiA8Z2ZmbGV0Y2hAYW9sLmNvbT4g
d3JvdGU6DQo+Pj4+Pg0KPj4+Pj4gWWVzLCB0aGlzIGlzIHBvc3NpYmxlLCB0aG91Z2ggdG8gYmUg
c2VjdXJlIGl0IHNob3VsZCByZWFsbHkgIA0KPj4+Pj4gaGFwcGVuIG92ZXIgU1NMIHdoaWNoIGlz
IGxlc3Mgb2YgYSByZXF1aXJlbWVudCBmb3IgYSBzaWduZWQgIA0KPj4+Pj4gcmVxdWVzdC4NCj4+
Pj4+DQo+Pj4+PiBJIGd1ZXNzIHRoZSBtYWluIHF1ZXN0aW9uIGlzIHdoZXRoZXIgd2UgcmVhbGx5
IG5lZWQgdG8gcmVtb3ZlICANCj4+Pj4+IHRoZSBzaWduYXR1cmUgcmVsYXRlZCBwYXJhbWV0ZXJz
IGZyb20gVVJMIGFuZCBvbmx5IGFsbG93IHRoZW0gaW4gIA0KPj4+Pj4gdGhlIEF1dGhvcml6YXRp
b24gaGVhZGVyLiBGb3Igc2lnbmVkIHJlcXVlc3RzLCB0aGVzZSB1c2UgY2FzZXMgIA0KPj4+Pj4g
cHJldHR5IG11Y2ggcmVxdWlyZSB0aGF0IHRoZSBzaWduYXR1cmUgcGFyYW1ldGVycyBiZSBhbGxv
d2VkIGluICANCj4+Pj4+IHRoZSBVUkwuDQo+Pj4+Pg0KPj4+Pj4gT2J2aW91c2x5LCBpZiB3ZSBj
aGFuZ2Ugb3VyIG1vZGVsIHRvIG5vdCB1c2Ugc2lnbmVkIFVSTHMgdGhlbiAgDQo+Pj4+PiB0aGlz
IGlzc3VlIGdvZXMgYXdheTopDQo+Pj4+Pg0KPj4+Pj4gVGhhbmtzLA0KPj4+Pj4gR2VvcmdlDQo+
Pj4+Pg0KPj4+Pj4gT24gNC85LzEwIDEyOjU4IEFNLCBCcmlhbiBFYXRvbiB3cm90ZToNCj4+Pj4+
DQo+Pj4+PiBPbiBUaHUsIEFwciA4LCAyMDEwIGF0IDc6MDggQU0sIEdlb3JnZSBGbGV0Y2hlciAg
DQo+Pj4+PiA8Z2ZmbGV0Y2hAYW9sLmNvbT4gPG1haWx0bzpnZmZsZXRjaEBhb2wuY29tPiDDg+KA
msOCIHdyb3RlOg0KPj4+Pj4gw4PigJrDgiDDg+KAmsOCDQo+Pj4+PiDDg+KAmsOCDQo+Pj4+Pg0K
Pj4+Pj4gSSByZWFsaXplIHRoYXQgdGhlc2Ugc29ydHMgb2YgdXNlIGNhc2VzIGFyZSB0cml2aWFs
IGlmICANCj4+Pj4+IGVzdGFibGlzaG1lbnQgb2YgdGhlDQo+Pj4+PiBTU08gc2Vzc2lvbiBzd2l0
Y2hlcyBmcm9tIGEgc2lnbmVkIG1lY2hhbmlzbSB0byB0aGUgT0F1dGggV1JBUCAgDQo+Pj4+PiBi
ZWFyZXIgdG9rZW4NCj4+Pj4+IG1vZGVsLiBUaGUgb25lIG5pY2UgZmVhdHVyZSBvZiB0aGUgc2ln
bmVkIFVSTCBpcyB0aGF0IGl0IGlzIG9uZSAgDQo+Pj4+PiB0aW1lIHVzZQ0KPj4+Pj4gd2hlcmUg
dGhlIGJlYXJlciB0b2tlbiBjYW4gYmUgcmVwbGF5ZWQgbXVsdGlwbGUgdGltZXMuDQo+Pj4+PiDD
g+KAmsOCIMOD4oCaw4Igw4PigJrDgiDDg+KAmsOCDQo+Pj4+PiDDg+KAmsOCDQo+Pj4+Pg0KPj4+
Pj4NCj4+Pj4+IFllcCwgR29vZ2xlIGRvZXMgdGhpcyBraW5kIG9mIHRoaW5nIHRvby4NCj4+Pj4+
DQo+Pj4+PiBJcyB0aGVyZSBzb21ldGhpbmcgdGhhdCBzdG9wcyB5b3UgZnJvbSBkZWNsYXJpbmcg
dGhhdCBhIHBhcnRpY3VsYXINCj4+Pj4+IHRva2VuIGlzIHNpbmdsZSB1c2U/DQo+Pj4+Pg0KPj4+
Pj4gMSkgQ2xpZW50IG1ha2VzIGNhbGwgdG8gQXV0aG9yaXphdGlvbiBzZXJ2ZXIsIHBhc3Npbmcg
aW4gZWl0aGVyICANCj4+Pj4+IHRoZQ0KPj4+Pj4gcmVmcmVzaCB0b2tlbiBvciBhbiBhY2Nlc3Mg
dG9rZW4gKGRlcGVuZGluZyBvbiB0aGUgc2VjdXJpdHkgIA0KPj4+Pj4gbW9kZWwgeW91DQo+Pj4+
PiB3YW50LikNCj4+Pj4+IDIpIEFTIHJldHVybnMgYSB0b2tlbi4NCj4+Pj4+IDMpIENsaWVudCB1
c2VzIHRoZSB0b2tlbiB0byBwb3Agb3BlbiBhIHdlYiBicm93c2VyLg0KPj4+Pj4NCj4+Pj4+IENo
ZWVycywNCj4+Pj4+IEJyaWFuDQo+Pj4+Pg0KPj4+Pj4gw4PigJrDgiDDg+KAmsOCDQo+Pj4+Pg0K
Pj4+Pg0KPj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18NCj4+Pj4+IE9BdXRoIG1haWxpbmcgbGlzdA0KPj4+Pj4gT0F1dGhAaWV0Zi5vcmcNCj4+Pj4+
IGh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vb2F1dGgNCj4+Pj4NCj4+Pj4g
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4+Pj4gT0F1
dGggbWFpbGluZyBsaXN0DQo+Pj4+IE9BdXRoQGlldGYub3JnDQo+Pj4+IGh0dHBzOi8vd3d3Lmll
dGYub3JnL21haWxtYW4vbGlzdGluZm8vb2F1dGgNCj4+Pj4NCj4+Pg0KPj4NCj4NCg==

--Apple-Mail-1-665106550
Content-Type: text/html;
	charset=utf-8
Content-Transfer-Encoding: base64

PGh0bWw+PGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiI+PGRpdj5BY3R1YWxseSwgaW4gdGhpcyBjYXNl
LCBJJ20gaW1hZ2luaW5nIGEgYmFzZSBwYWdlIHRoYXQgaXMgaGVhdmlseSBjYWNoZWQgKGFuZCBu
b24tcGVyc29uYWxpemVkKSwgcGVyaGFwcyBkZWxpdmVyZWQgYnkgQ0ROLCBub24tU1NMLiBUaGUg
cmVuZGVyZWQgcGFnZSB0aGVuIHdhbnRzIHRvIG1ha2UgYW4gYXV0aG9yaXplZCBjcm9zcy1kb21h
aW4gY2FsbCB0byB0aGUgU2VydmljZSBQcm92aWRlciwgcGVyc29uYWxpemVkIHRvIHRoZSBjdXJy
ZW50bHkgbG9nZ2VkLWluIHVzZXIuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JIGRvbid0IHRo
aW5rIG9uZS10aW1lIGJlYXJlciB0b2tlbnMgYXJlIGFwcHJvcHJpYXRlIGhlcmUsIGJlY2F1c2Ug
SSB3b3VsZCBuZWVkIHRvIHNlbmQgdGhlIHVzZXIgdGhyb3VnaCBhIHJlZnJlc2ggb3IgcmVhY3F1
aXNpdGlvbiBmbG93IGZvciBldmVyeSBjYWxsLCB3aGljaCBraW5kIG9mIGRlZmVhdHMgdGhlIHBv
aW50LiZuYnNwOzwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+SSBhbSBvayB3aXRoIHRoaXMgZ2Vu
ZXJhdGluZyBhIG5vbi1IVFRQIEFKQVggb3JpZ2luIHJlcXVlc3QgdG8gb2J0YWluIGEgdG9rZW5p
emVkIG9yIHNpZ25lZCBVUkw7IHRoaXMgY2FuIGxpa2VseSBiZSBzZXJ2ZWQgd2l0aG91dCBzaWdu
aWZpY2FudCBJL08gaWYgSSBoYXZlIHRoZSBhcHByb3ByaWF0ZSB0b2tlbnMgYW5kIHNlY3JldHMg
Y2FjaGVkIGluIG1lbW9yeS4gSG93ZXZlciwgdGhlIHJlc3VsdGluZyBVUkwgbXVzdCBiZSByZWRl
ZW1hYmxlIHdpdGhvdXQgYWNjZXNzIHRvIHRoZSBBdXRob3JpemF0aW9uIGhlYWRlciwgYXMgSSdt
IGdvaW5nIHRvIG5lZWQgdG8gaW5jbHVkZSBpdCBpbiBhICZsdDtzY3JpcHQmZ3Q7IHRhZyAoZXF1
aXZhbGVudGx5LCBtYWtlIHRoZSBKU09OUCBjYWxsIHdpdGggYSBzY3JpcHQgaW5zZXJ0IGFnYWlu
c3QgdGhlIG9yaWdpbiB0aGF0IHJlZGlyZWN0cyB0byB0aGUgYXV0aG9yaXplZCByZXNvdXJjZSAt
LSBhZ2Fpbiwgbm8gYWNjZXNzIHRvIHRoZSBBdXRob3JpemF0aW9uIGhlYWRlcikuPC9kaXY+PGRp
dj48YnI+PC9kaXY+PGRpdj5Gb3Igc2NhbGUgcmVhc29ucywgSSBkb24ndCB3YW50IHRvIHByb3h5
IHRoZSBjYWxsIHRocm91Z2ggbXkgb3JpZ2luOyB0aGF0IGhvbGRzIHRoZSBvcmlnaW4gcmVxdWVz
dCBvcGVuIHdoaWxlIEkgYW0gd2FpdGluZyBmb3IgdGhlIFNlcnZpY2UgUHJvdmlkZXIgdG8gcmV0
dXJuLjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+Q29va2llcyBkb24ndCB3b3JrIGhlcmUsIGJl
Y2F1c2UgSSBhcyB0aGUgb3JpZ2luIGNhbid0IHNldCBjb29raWVzIGZvciB0aGUgU1AncyBkb21h
aW4uPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5BcyBJIHRoaW5rIGFib3V0IGl0IGhlcmUsIEkg
ZG9uJ3QgdGhpbmsgYmVhcmVyIHRva2VucyBhcmUgYXBwcm9wcmlhdGUsIGFzIHRoZXkgcmVxdWly
ZSBTU0wgZm9yIHRoaXMgc2VxdWVuY2UgdG8gd29yay48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2
PldoaWxlIEkgY2FuIGFwcHJlY2lhdGUgdGhhdCB0aGUgc3BlYyBpcyBtdWNoIHNpbXBsZXIgd2l0
aG91dCB0aGUgcXVlcnkgcGFyYW1ldGVyIHNpZ25hdHVyZXMsIEkgdGhpbmsgSSdtIGJhY2sgdG8g
bmVlZGluZyB0byBiZSBjb252aW5jZWQgdGhhdCBteSB1c2UgY2FzZSBjYW4gYmUgYWRkcmVzc2Vk
IHdpdGhvdXQgdGhlbSBhbmQgd2l0aCBzaW1pbGFyIG9wZXJhdGlvbmFsIGFuZCBzY2FsaW5nIGNo
YXJhY3RlcmlzdGljcyB0byB3aGF0IGlzIGF2YWlsYWJsZSBpbiBPQXV0aCAxLjBhLjwvZGl2Pjxk
aXY+PGJyPjwvZGl2PjxkaXY+IkFzIHNpbXBsZSBhcyBwb3NzaWJsZSwgYnV0IG5vIHNpbXBsZXIu
IjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+Sm9uPC9kaXY+PGRpdj4uLi4uLi4uLjxkaXY+Sm9u
IE1vb3JlPC9kaXY+PGRpdj48YnI+PC9kaXY+PC9kaXY+PGRpdj48YnI+T24gQXByIDExLCAyMDEw
LCBhdCAzOjA2IFBNLCAiVG9yc3RlbiBMb2RkZXJzdGVkdCIgJmx0OzxhIGhyZWY9Im1haWx0bzp0
b3JzdGVuQGxvZGRlcnN0ZWR0Lm5ldCI+dG9yc3RlbkBsb2RkZXJzdGVkdC5uZXQ8L2E+Jmd0OyB3
cm90ZTo8YnI+PGJyPjwvZGl2PjxkaXY+PC9kaXY+PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+PGRp
dj4NCg0KSSBkb24ndCBrbm93IGlmIHdlIGFyZSByZWFsbHkgZG9uZS4gRG9lcyB0aGUgY3VycmVu
dCBkcmFmdCBhbHJlYWR5DQpjb25zaWRlciBvbmUtdGltZSB0b2tlbnM/IEhvdyBkb2VzIGEgY2xp
ZW50IGFjcXVpcmUgb25lLXRpbWUgdG9rZW5zPzxicj4NCjxicj4NCk1vcmVvdmVyLCBJIHdvdWxk
IHByZWZlciB0aGUgc2lnbmF0dXJlIHNvbHV0aW9uIGJlY2F1c2Ugb2YgdGhlIGluY3JlYXNlDQpp
biBsb2FkIGNhdXNlZCBieSB0aGUgYWNxdWlzaXRpb24gb2YgbXVsdGlwbGUgb25lLXRpbWUgdG9r
ZW5zLiA8YnI+DQo8YnI+DQpBcGFydCBmcm9tIHRoYXQsIGFub3RoZXIgcG9zc2libGUgc29sdXRp
b24gb2NjdXJlZCB0byBtZS4gV291bGQgaXQgYmUNCnBvc3NpYmxlIHRvIHVzZSBhIGNvb2tpZSBj
b250YWluZyBhIHRva2VuIGluc3RlYWQgb2YgY29uc3RydWN0aW5nIFVSTHMNCmNhcnJ5aW5nIGRp
ZmZlcmVudCB0b2tlbnM/IDxicj4NCjxicj4NClRoZSBvcmlnaW4gc2VydmVyIGNvdWxkIGFjcXVp
cmUgYW4gb3JkaW5hcnkgYmVhcmVyIHRva2VuIGFuZCBzdG9yZSBpdA0Kd2l0aGluIGEgY29va2ll
LiBJZiB0aGUgSmF2YVNjcmlwdCBjb2RlIHNlbmRzIEhUVFAgcmVxdWVzdHMgYW5kIHRoZQ0KdGFy
Z2V0IGRvbWFpbiBtYXRjaGVzIHRoZSBicm93c2VyIHNob3VsZCBhdXRvbWF0aWNhbGx5IGFkZCB0
aGUgY29va2llDQp0byBldmVyeSBjYWxsIHRodXMgc2VuZGluZyB0aGUgdG9rZW4gd2l0aCBldmVy
eSByZXF1ZXN0LiBUaGUgb3JpZ2luDQpzZXJ2ZXIgd291bGQgbmVlZCB0byByZWZyZXNoIHRoZSB0
b2tlbiBwZXJpb2RpY2FsbHkgaW4gb3JkZXIgdG8gcHJldmVudA0KYWJ1c2Ugb2YgdGhlIHRva2Vu
LiA8YnI+DQo8YnI+DQpXb3VsZCB0aGlzIHdvcms/PGJyPg0KPGJyPg0KcmVnYXJkcyw8YnI+DQpU
b3JzdGVuLjxicj4NCjxicj4NCkFtIDEwLjA0LjIwMTAgMTU6MTMsIHNjaHJpZWIgTW9vcmUsIEpv
bmF0aGFuOg0KPGJsb2NrcXVvdGUgY2l0ZT0ibWlkOjNCMTFBMzY0LUMzN0QtNDY5MC04RkJELTU4
NDBGOEMzODg0RUBjb21jYXN0LmNvbSIgdHlwZT0iY2l0ZSI+DQogIDxkaXY+T2ssIHRoYW5rcyAt
IEkgd2FzIG1pc3NpbmcgdGhlIHBvc3NpYmlsaXR5IHRoYXQgYmVhcmVyIHRva2Vucw0KY291bGQg
YmUgc2luZ2xlIHVzZS4gSSBhZ3JlZSB0aGlzIGNvdmVycyBteSB1c2UgY2FzZSBhZGVxdWF0ZWx5
LCBzbyBJDQphbSBub3cgZGVmaW5pdGVseSArMSBmb3Igc2ltcGxpZnlpbmcgdGhlIHNwZWMgaW4g
dGhpcyB3YXkuPC9kaXY+DQogIDxkaXY+PGJyPg0KICA8L2Rpdj4NCiAgPGRpdj5UaGFua3MgZm9y
IGJlYXJpbmcgKHB1biBpbnRlbmRlZCkgd2l0aCBtZS48L2Rpdj4NCiAgPGRpdj48YnI+DQogIDwv
ZGl2Pg0KICA8ZGl2Pkpvbjxicj4NCiAgPGJyPg0KLi4uLi4uLi4NCiAgPGRpdj5Kb24gTW9vcmU8
L2Rpdj4NCiAgPGRpdj48YnI+DQogIDwvZGl2Pg0KICA8L2Rpdj4NCiAgPGRpdj48YnI+DQpPbiBB
cHIgMTAsIDIwMTAsIGF0IDM6MzAgQU0sICJUb3JzdGVuIExvZGRlcnN0ZWR0IiAmbHQ7PGEgbW96
LWRvLW5vdC1zZW5kPSJ0cnVlIiBocmVmPSJtYWlsdG86dG9yc3RlbkBsb2RkZXJzdGVkdC5uZXQi
PjxhIGhyZWY9Im1haWx0bzp0b3JzdGVuQGxvZGRlcnN0ZWR0Lm5ldCI+dG9yc3RlbkBsb2RkZXJz
dGVkdC5uZXQ8L2E+PC9hPiZndDsNCndyb3RlOjxicj4NCiAgPGJyPg0KICA8L2Rpdj4NCiAgPGJs
b2NrcXVvdGUgdHlwZT0iY2l0ZSI+DQogICAgPGRpdj5Gcm9tIG15IHBvaW50IG9mIHZpZXcsIHlv
dXIgdXNlIGNhc2UgY2FuIGJlIGltcGxlbWVudGVkIGluIHR3bw0Kd2F5czxicj4NCiAgICA8YnI+
DQoxKSB0b2tlbml6ZWQgJmFtcDsgc2lnbmVkIFVSTHMgcHJvdmlkZWQgYnkgeW91ciBvcmlnaW4g
c2VydmVyPGJyPg0KMikgVVJMcyB3aXRoIG9uZS10aW1lIHVzYWdlIGJlYXJlciB0b2tlbnMgYXMg
cGFyYW1ldGVyIGFjcXVpcmVkIGJ5IHlvdXINCm9yaWdpbiBzZXJ2ZXI8YnI+DQogICAgPGJyPg0K
SSBzZWUgdGhlIGZvbGxvd2luZyBwcm9zL2NvbnM6IDxicj4NCiAgICA8YnI+DQpMb2FkOiAoMikg
cmVxdWlyZXMgdGhlIG9yaWdpbiBzZXJ2ZXIgdG8gYWNxdWlyZSBvbmUgdG9rZW4gcGVyIGxpbmsg
b24NCnlvdXIgcGFnZSBmcm9tIHRoZSBhdXRoIHNlcnZlciwgd2hpY2ggbWF5IGNhdXNlIGEgbG90
IG9mIGxvYWQgb24gdGhlDQphdXRoeiBzZXJ2ZXIgOi0oLiAoMSkgb25seSBuZWVkcyB0byBvYnRh
aW4gYSBzaW5nbGUgdG9rZW4gc2luY2UgdGhlDQpzaWduYXR1cmUgaXMgY2FsY3VsYXRlZCBieSB0
aGUgb3JpZ2luIHNlcnZlciBsb2NhbGx5LiBUaGlzIG1pZ2h0IGJlDQptdWNoIGJldHRlciBmcm9t
IGEgbG9hZCBwZXJzcGVjdGl2ZS48YnI+DQogICAgPGJyPg0KU2VjdXJpdHk6IEFzIGEgZnVydGhl
ciBkb3duc2lkZSAoMikgZWl0aGVyIHJlcXVpcmVzIEhUVFBTIGNvbW11bmljYXRpb24NCmZvciB0
aGUgd2hvbGUgcGFnZSBvciB5b3UgYWNxdWlyZSB0aGUgVVJMIHdpdGggb25lLXRpbWUgdXNhZ2Ug
YmVhcmVyDQp0b2tlbiBvdmVyIEhUVFAuIEFjcXVpc2l0aW9uIGZyb20gYXV0aHogc2VydmVyIGNh
biBzdGlsbCBiZSBwZXJmb3JtZWQNCm92ZXIgSFRUUFMuIElmIHRoaXMgYWNjZXB0YWJsZSBkZXBl
bmRzIG9uIHlvdXIgc2VjdXJpdHkgY29uc2lkZXJhdGlvbnMuDQogICAgPGJyPg0KICAgIDxicj4N
CkNvbW1lbnRzPzxicj4NCiAgICA8YnI+DQpyZWdhcmRzLDxicj4NClRvcnN0ZW4uPGJyPg0KICAg
IDxicj4NCkFtIDEwLjA0LjIwMTAgMDM6MzQsIHNjaHJpZWIgTW9vcmUsIEpvbmF0aGFuOg0KICAg
IDxibG9ja3F1b3RlIGNpdGU9Im1pZDpBMTNGREUwRS1DNzNGLTRDN0MtQjA4NS1CMjI5N0M3MTBC
NTVAY29tY2FzdC5jb20iIHR5cGU9ImNpdGUiPg0KICAgICAgPGRpdj5Ib3dldmVyLCB0aGlzIGRv
ZXNuJ3QgYWRkcmVzcyBteSBlYXJsaWVyIHVzZSBjYXNlIG9mIGENCnNpZ25lZCwNCmNyb3NzLWRv
bWFpbiBKU09OUCBjYWxsLCBlc3BlY2lhbGx5IGlmIGl0J3Mgc2l0dGluZyBvbiBhIG5vbi1IVFRQ
Uw0KcGFnZTsgSSBuZWVkIHRvIG1ha2UgYSBub24tSFRUUCBYSFIgcmVxdWVzdCB0byBvYnRhaW4g
YSAoc2lnbmVkIG9yDQp0b2tlbml6ZWQpIFVSTCB0byBpbmNsdWRlIGluIG15ICZsdDtzY3JpcHQm
Z3Q7IGluY2x1ZGUsIHNvIHJlcXVpcmluZyBhDQpiZWFyZXIgdG9rZW4gYW5kIFNTTCBiYXNpY2Fs
bHkgZm9yY2VzIG1lIHRvIGhhdmUgdGhlIHdob2xlIHBhZ2UNCmRlbGl2ZXJlZCBvdmVyIEhUVFBT
LCB3aGljaCBtYXkgYmUgb3ZlcmtpbGwgZm9yIG15IGFwcGxpY2F0aW9uLsOD4oCaw4ImbmJzcDs8
L2Rpdj4NCiAgICAgIDxkaXY+PGJyPg0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2PldoaWxlIEkg
Y2FuIHVuZGVyc3RhbmQgdGhhdCB0b2tlbiBhbmQgc2VjcmV0IGFjcXVpc2l0aW9uDQptaWdodA0K
bmVlZCBTU0wsIGFsd2F5cyByZXF1aXJpbmcgaXQgb24gYXV0aG9yaXplZCByZXF1ZXN0cyB0b28g
c2VlbXMgdG9vIG11Y2guPC9kaXY+DQogICAgICA8ZGl2Pjxicj4NCiAgICAgIDwvZGl2Pg0KICAg
ICAgPGRpdj5DYW4gc29tZW9uZSBleHBsYWluL3JlLWV4cGxhaW4gd2h5IHF1ZXJ5IHBhcmFtZXRl
cg0Kc2lnbmF0dXJlcw0KbmVlZCB0byBiZSBlbGltaW5hdGVkPyBUaGUgQXV0aG9yaXphdGlvbiBo
ZWFkZXIgaXMgZ3JlYXQgd2hlbiB5b3UgY2FuDQptYW5pcHVsYXRlIGl0LCBidXQgeW91IGNhbid0
IGFsd2F5cy4gV2h5IGlzIGl0IHByb2JsZW1hdGljIGZvciB0aGUNCnNpZ25hdHVyZXMgdG8gYmUg
YWJsZSB0byBhcHBlYXIgaW4gZWl0aGVyIHBsYWNlPzwvZGl2Pg0KICAgICAgPGRpdj48YnI+DQog
ICAgICA8L2Rpdj4NCiAgICAgIDxkaXY+Sm9uPC9kaXY+DQogICAgICA8ZGl2Pjxicj4NCi4uLi4u
Li4uDQogICAgICA8ZGl2PkpvbiBNb29yZTwvZGl2Pg0KICAgICAgPGRpdj48YnI+DQogICAgICA8
L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgICAgPGRpdj48YnI+DQpPbiBBcHIgOSwgMjAxMCwgYXQg
MTozOSBQTSwgIkVyYW4gSGFtbWVyLUxhaGF2IiAmbHQ7PGEgbW96LWRvLW5vdC1zZW5kPSJ0cnVl
IiBocmVmPSJtYWlsdG86ZXJhbkBodWVuaXZlcnNlLmNvbSI+PGEgaHJlZj0ibWFpbHRvOmVyYW5A
aHVlbml2ZXJzZS5jb20iPmVyYW5AaHVlbml2ZXJzZS5jb208L2E+PC9hPiZndDsNCndyb3RlOjxi
cj4NCiAgICAgIDxicj4NCiAgICAgIDwvZGl2Pg0KICAgICAgPGJsb2NrcXVvdGUgdHlwZT0iY2l0
ZSI+DQogICAgICAgIDxkaXY+PGZvbnQgZmFjZT0iQ2FsaWJyaSwgVmVyZGFuYSwgSGVsdmV0aWNh
LCBBcmlhbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTFwdDsiPkluIHByYWN0aWNlIHRoaXMg
aXMgdGhlIHNhbWUgYXMgbG9nZ2luZyBpbg0Kd2hpY2ggSSBleHBlY3QgdG8gcmVxdWlyZSBTU0wg
YW55d2F5LiBTaWduZWQgb3Igbm90LCBhdHRhY2tlcnMgc2hvdWxkDQpub3QgYmUgYWJsZSB0byBs
b2dpbiB0byB5b3VyIGVtYWlsIGFjY291bnQgc2ltcGx5IGJ5IHVzaW5nIGEgTUlUTQ0KYXR0YWNr
IHdoZW4geW91IGNsaWNrIG9uIHlvdXIgSU0gY2xpZW50LiBTbyBTU0wgaXMgcmVxdWlyZWQgYWxy
ZWFkeS48YnI+DQogICAgICAgIDxicj4NCkVITCA8YnI+DQogICAgICAgIDxicj4NCiAgICAgICAg
PGJyPg0KT24gNC85LzEwIDc6MzAgQU0sICJHZW9yZ2UgRmxldGNoZXIiICZsdDs8YSBtb3otZG8t
bm90LXNlbmQ9InRydWUiIGhyZWY9Im1haWx0bzpnZmZsZXRjaEBhb2wuY29tIj48YSBocmVmPSJt
YWlsdG86Z2ZmbGV0Y2hAYW9sLmNvbSI+Z2ZmbGV0Y2hAYW9sLmNvbTwvYT48L2E+Jmd0OyB3cm90
ZTo8YnI+DQogICAgICAgIDxicj4NCiAgICAgICAgPC9zcGFuPjwvZm9udD4NCiAgICAgICAgPGJs
b2NrcXVvdGU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTFwdDsiPjxmb250IGZhY2U9IkhlbHZl
dGljYSwgVmVyZGFuYSwgQXJpYWwiPlllcywgdGhpcyBpcyBwb3NzaWJsZSwgdGhvdWdoIHRvIGJl
DQpzZWN1cmUgaXQgc2hvdWxkIHJlYWxseSBoYXBwZW4gb3ZlciBTU0wgd2hpY2ggaXMgbGVzcyBv
ZiBhIHJlcXVpcmVtZW50DQpmb3IgYSBzaWduZWQgcmVxdWVzdC4gPGJyPg0KICAgICAgICAgIDxi
cj4NCkkgZ3Vlc3MgdGhlIG1haW4gcXVlc3Rpb24gaXMgd2hldGhlciB3ZSByZWFsbHkgbmVlZCB0
byByZW1vdmUgdGhlDQpzaWduYXR1cmUgcmVsYXRlZCBwYXJhbWV0ZXJzIGZyb20gVVJMIGFuZCBv
bmx5IGFsbG93IHRoZW0gaW4gdGhlDQpBdXRob3JpemF0aW9uIGhlYWRlci4gRm9yIHNpZ25lZCBy
ZXF1ZXN0cywgdGhlc2UgdXNlIGNhc2VzIHByZXR0eSBtdWNoDQpyZXF1aXJlIHRoYXQgdGhlIHNp
Z25hdHVyZSBwYXJhbWV0ZXJzIGJlIGFsbG93ZWQgaW4gdGhlIFVSTC48YnI+DQogICAgICAgICAg
PGJyPg0KT2J2aW91c2x5LCBpZiB3ZSBjaGFuZ2Ugb3VyIG1vZGVsIHRvIG5vdCB1c2Ugc2lnbmVk
IFVSTHMgdGhlbiB0aGlzDQppc3N1ZSBnb2VzIGF3YXk6KTxicj4NCiAgICAgICAgICA8YnI+DQpU
aGFua3MsPGJyPg0KR2VvcmdlPGJyPg0KICAgICAgICAgIDwvZm9udD48Zm9udCBmYWNlPSJDYWxp
YnJpLCBWZXJkYW5hLCBIZWx2ZXRpY2EsIEFyaWFsIj48YnI+DQpPbiA0LzkvMTAgMTI6NTggQU0s
IEJyaWFuIEVhdG9uIHdyb3RlOiA8YnI+DQogICAgICAgICAgPC9mb250Pjwvc3Bhbj4NCiAgICAg
ICAgICA8YmxvY2txdW90ZT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMXB0OyI+PGZvbnQgZmFj
ZT0iQ2FsaWJyaSwgVmVyZGFuYSwgSGVsdmV0aWNhLCBBcmlhbCI+IDxicj4NCk9uIFRodSwgQXBy
IDgsIDIwMTAgYXQgNzowOCBBTSwgR2VvcmdlIEZsZXRjaGVyICZsdDs8YSBtb3otZG8tbm90LXNl
bmQ9InRydWUiIGhyZWY9Im1haWx0bzpnZmZsZXRjaEBhb2wuY29tIj48YSBocmVmPSJtYWlsdG86
Z2ZmbGV0Y2hAYW9sLmNvbSI+Z2ZmbGV0Y2hAYW9sLmNvbTwvYT48L2E+Jmd0Ow0KJmx0OzxhIG1v
ei1kby1ub3Qtc2VuZD0idHJ1ZSIgaHJlZj0ibWFpbHRvOmdmZmxldGNoQGFvbC5jb20iPjxhIGhy
ZWY9Im1haWx0bzpnZmZsZXRjaEBhb2wuY29tIj5tYWlsdG86Z2ZmbGV0Y2hAYW9sLmNvbTwvYT48
L2E+Jmd0Ow0Kw4PigJrDgiZuYnNwO3dyb3RlOjxicj4NCsOD4oCaw4ImbmJzcDvDg+KAmsOCJm5i
c3A7PGJyPg0Kw4PigJrDgiZuYnNwOzxicj4NCiAgICAgICAgICAgIDwvZm9udD48L3NwYW4+DQog
ICAgICAgICAgICA8YmxvY2txdW90ZT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMXB0OyI+PGZv
bnQgZmFjZT0iQ2FsaWJyaSwgVmVyZGFuYSwgSGVsdmV0aWNhLCBBcmlhbCI+IDxicj4NCkkgcmVh
bGl6ZSB0aGF0IHRoZXNlIHNvcnRzIG9mIHVzZSBjYXNlcyBhcmUgdHJpdmlhbCBpZiBlc3RhYmxp
c2htZW50IG9mDQp0aGU8YnI+DQpTU08gc2Vzc2lvbiBzd2l0Y2hlcyBmcm9tIGEgc2lnbmVkIG1l
Y2hhbmlzbSB0byB0aGUgT0F1dGggV1JBUCBiZWFyZXINCnRva2VuPGJyPg0KbW9kZWwuIFRoZSBv
bmUgbmljZSBmZWF0dXJlIG9mIHRoZSBzaWduZWQgVVJMIGlzIHRoYXQgaXQgaXMgb25lIHRpbWUg
dXNlPGJyPg0Kd2hlcmUgdGhlIGJlYXJlciB0b2tlbiBjYW4gYmUgcmVwbGF5ZWQgbXVsdGlwbGUg
dGltZXMuPGJyPg0Kw4PigJrDgiZuYnNwO8OD4oCaw4ImbmJzcDvDg+KAmsOCJm5ic3A7w4PigJrD
giZuYnNwOzxicj4NCsOD4oCaw4ImbmJzcDs8YnI+DQogICAgICAgICAgICAgIDwvZm9udD48L3Nw
YW4+PC9ibG9ja3F1b3RlPg0KICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTFw
dDsiPjxmb250IGZhY2U9IkNhbGlicmksIFZlcmRhbmEsIEhlbHZldGljYSwgQXJpYWwiPiA8YnI+
DQogICAgICAgICAgICA8YnI+DQpZZXAsIEdvb2dsZSBkb2VzIHRoaXMga2luZCBvZiB0aGluZyB0
b28uPGJyPg0KICAgICAgICAgICAgPGJyPg0KSXMgdGhlcmUgc29tZXRoaW5nIHRoYXQgc3RvcHMg
eW91IGZyb20gZGVjbGFyaW5nIHRoYXQgYSBwYXJ0aWN1bGFyPGJyPg0KdG9rZW4gaXMgc2luZ2xl
IHVzZT88YnI+DQogICAgICAgICAgICA8YnI+DQoxKSBDbGllbnQgbWFrZXMgY2FsbCB0byBBdXRo
b3JpemF0aW9uIHNlcnZlciwgcGFzc2luZyBpbiBlaXRoZXIgdGhlPGJyPg0KcmVmcmVzaCB0b2tl
biBvciBhbiBhY2Nlc3MgdG9rZW4gKGRlcGVuZGluZyBvbiB0aGUgc2VjdXJpdHkgbW9kZWwgeW91
PGJyPg0Kd2FudC4pPGJyPg0KMikgQVMgcmV0dXJucyBhIHRva2VuLjxicj4NCjMpIENsaWVudCB1
c2VzIHRoZSB0b2tlbiB0byBwb3Agb3BlbiBhIHdlYiBicm93c2VyLjxicj4NCiAgICAgICAgICAg
IDxicj4NCkNoZWVycyw8YnI+DQpCcmlhbjxicj4NCiAgICAgICAgICAgIDxicj4NCsOD4oCaw4Im
bmJzcDvDg+KAmsOCJm5ic3A7PGJyPg0KICAgICAgICAgICAgPC9mb250Pjwvc3Bhbj48L2Jsb2Nr
cXVvdGU+DQogICAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTFwdDsiPjxmb250IGZh
Y2U9IkNhbGlicmksIFZlcmRhbmEsIEhlbHZldGljYSwgQXJpYWwiPjxicj4NCiAgICAgICAgICA8
L2ZvbnQ+PC9zcGFuPjwvYmxvY2txdW90ZT4NCiAgICAgICAgPC9kaXY+DQogICAgICA8L2Jsb2Nr
cXVvdGU+DQogICAgICA8YmxvY2txdW90ZSB0eXBlPSJjaXRlIj4NCiAgICAgICAgPGRpdj48c3Bh
bj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzwvc3Bhbj48
YnI+DQogICAgICAgIDxzcGFuPk9BdXRoIG1haWxpbmcgbGlzdDwvc3Bhbj48YnI+DQogICAgICAg
IDxzcGFuPjxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIgaHJlZj0ibWFpbHRvOk9BdXRoQGlldGYu
b3JnIj48YSBocmVmPSJtYWlsdG86T0F1dGhAaWV0Zi5vcmciPk9BdXRoQGlldGYub3JnPC9hPjwv
YT48L3NwYW4+PGJyPg0KICAgICAgICA8c3Bhbj48YSBtb3otZG8tbm90LXNlbmQ9InRydWUiIGhy
ZWY9Imh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vb2F1dGgiPjxhIGhyZWY9
Imh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vb2F1dGgiPmh0dHBzOi8vd3d3
LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vb2F1dGg8L2E+PC9hPjwvc3Bhbj48YnI+DQogICAg
ICAgIDwvZGl2Pg0KICAgICAgPC9ibG9ja3F1b3RlPg0KICAgICAgPHByZSB3cmFwPSIiPjxmaWVs
ZHNldCBjbGFzcz0ibWltZUF0dGFjaG1lbnRIZWFkZXIiPjwvZmllbGRzZXQ+DQpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KT0F1dGggbWFpbGluZyBsaXN0
DQo8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiIGhyZWY9Im1haWx0bzpPQXV0aEBpZXRmLm9yZyI+
PGEgaHJlZj0ibWFpbHRvOk9BdXRoQGlldGYub3JnIj5PQXV0aEBpZXRmLm9yZzwvYT48L2E+DQo8
YSBtb3otZG8tbm90LXNlbmQ9InRydWUiIGhyZWY9Imh0dHBzOi8vd3d3LmlldGYub3JnL21haWxt
YW4vbGlzdGluZm8vb2F1dGgiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4v
bGlzdGluZm8vb2F1dGgiPmh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vb2F1
dGg8L2E+PC9hPg0KICA8L3ByZT4NCiAgICA8L2Jsb2NrcXVvdGU+DQogICAgPGJyPg0KICAgIDwv
ZGl2Pg0KICA8L2Jsb2NrcXVvdGU+DQo8L2Jsb2NrcXVvdGU+DQo8YnI+DQoNCg0KPC9kaXY+PC9i
bG9ja3F1b3RlPjwvYm9keT48L2h0bWw+
--Apple-Mail-1-665106550--

From eran@hueniverse.com  Sun Apr 11 23:03:32 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7C4E328C0DD for <oauth@core3.amsl.com>; Sun, 11 Apr 2010 23:03:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.438
X-Spam-Level: 
X-Spam-Status: No, score=-2.438 tagged_above=-999 required=5 tests=[AWL=0.161,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YJEDfRYCXmCn for <oauth@core3.amsl.com>; Sun, 11 Apr 2010 23:03:31 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 9E6EA3A69D8 for <oauth@ietf.org>; Sun, 11 Apr 2010 23:03:30 -0700 (PDT)
Received: (qmail 30429 invoked from network); 12 Apr 2010 06:03:25 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 12 Apr 2010 06:03:25 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Sun, 11 Apr 2010 23:03:22 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Jonathan Moore <Jonathan_Moore@Comcast.com>
Date: Sun, 11 Apr 2010 23:03:20 -0700
Thread-Topic: [OAUTH-WG] Limiting signed requests to use the Authorization request header
Thread-Index: AcrZ0lwilyCICVQFRkm12joTbK2ckwAM33Ua
Message-ID: <C7E805B8.320F6%eran@hueniverse.com>
In-Reply-To: <87B2E4E4-348D-419D-9813-4194F907AEE6@comcast.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization request header
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Apr 2010 06:03:32 -0000

SGkgSm9uLA0KDQpQdXJlbHkgZnJvbSBhIHByb2Nlc3MgcGVyc3BlY3RpdmUsIHRoZSBzYW1lIGdv
ZXMgd2l0aCBjb252aW5jaW5nIHRoYXQgdGhpcw0KdXNlIGNhc2UgaXMgY29yZSB0byB0aGUgcHJv
dG9jb2wuIFRoZXJlIGlzIGFscmVhZHkgYSBsaXN0IG9mIHRoaW5ncyB0aGUgY29yZQ0Kc3BlYyBk
b2VzIG5vdCBzdXBwb3J0IChsYW5ndWFnZSBwcmVmZXJlbmNlLCByZS1kZWxlZ2F0aW9uLCBib2R5
IHNpZ25hdHVyZXMsDQphc3ltbWV0cmljIHNlY3JldHMsIGRpc2NvdmVyeSwgVUkgZmVhdHVyZXMp
IHdoaWNoIHBlb3BsZSB3YW50IGl0IHRvIHN1cHBvcnQuDQpJIHRoaW5rIHBhcnQgb2YgdGhlIGRp
c2N1c3Npb24gc2hvdWxkIGluY2x1ZGUgd2hldGhlciB0aGlzIGlzICpwb3NzaWJsZSogdG8NCmFj
Y29tcGxpc2ggd2l0aCBhbiBleHRlbnNpb24uDQoNCkZvciBleGFtcGxlLCBhIHdheSB0byBlbmNv
ZGUgdGhlIGVudGlyZSBBdXRob3JpemF0aW9uIGhlYWRlciBpbnRvIHRoZQ0Kb2F1dGhfdG9rZW4g
cGFyYW1ldGVyIChvciBhIGRpZmZlcmVudCBwYXJhbWV0ZXIpOg0KDQogIEdFVCAvcmVzb3VyY2U/
b2F1dGhfdG9rZW49dkY5ZGZ0NHFtVDtub25jZTt0aW1lc3RhbXA7YWxnb3JpdGhtO3NpZ25hdHVy
ZQ0KSFRUUC8xLjENCiAgSG9zdDogc2VydmVyLmV4YW1wbGUuY29tDQoNCkFsdGVybmF0aXZlbHks
IHRoZSBleHRlbnNpb24gY2FuIHJlcXVpcmUgdGhhdCBhbnkgb2F1dGhfIHBhcmFtZXRlcnMgYmUg
YWRkZWQNCmF0IHRoZSBlbmQgb2YgdGhlIHF1ZXJ5IGFuZCByZW1vdmVkIGJ5IHRoZSBzZXJ2ZXIg
dG8gcmVjcmVhdGUgdGhlIGhlYWRlcg0KYmVmb3JlIGNhbGN1bGF0aW5nIHNpZ25hdHVyZXMuDQoN
Ckl0IHdvdWxkIGJlIGhlbHBmdWwgdG8gaGVhciBmcm9tIG90aGVycyBpZiB0aGV5IGhhdmUgbW9y
ZSB1c2UgY2FzZXMgd2hpY2gNCnJlcXVpcmUgc2lnbmVkIHJlcXVlc3RzIHdpdGggcGFyYW1ldGVy
cyBvdXRzaWRlIHRoZSBoZWFkZXIuIEFsc28sIHRoaXMgd2lsbA0KYmUgYSBiaXQgbW9yZSBwcmFj
dGljZSB0byBkaXNjdXNzIG9uY2Ugd2UgaGF2ZSBhIHByb3Bvc2FsIGZvciBzaWduYXR1cmVzDQp0
aGF0IGlzIHNpbXBsZXIgdGhhbiAxLjBhIChzbyB3ZSBjYW4gZGVjaWRlIHdoZXRoZXIgdGhhdCBz
aW1wbGlmaWNhdGlvbg0KaGVscHMgYW5kIHdvcnRoIHRoZSBsaW1pdGF0aW9uIGluIGNvcmUpLg0K
DQpFSEwNCg0KDQoNCg0KT24gNC8xMS8xMCA0OjU0IFBNLCAiSm9uYXRoYW4gTW9vcmUiIDxKb25h
dGhhbl9Nb29yZUBDb21jYXN0LmNvbT4gd3JvdGU6DQoNCj4gQWN0dWFsbHksIGluIHRoaXMgY2Fz
ZSwgSSdtIGltYWdpbmluZyBhIGJhc2UgcGFnZSB0aGF0IGlzIGhlYXZpbHkgY2FjaGVkIChhbmQN
Cj4gbm9uLXBlcnNvbmFsaXplZCksIHBlcmhhcHMgZGVsaXZlcmVkIGJ5IENETiwgbm9uLVNTTC4g
VGhlIHJlbmRlcmVkIHBhZ2UgdGhlbg0KPiB3YW50cyB0byBtYWtlIGFuIGF1dGhvcml6ZWQgY3Jv
c3MtZG9tYWluIGNhbGwgdG8gdGhlIFNlcnZpY2UgUHJvdmlkZXIsDQo+IHBlcnNvbmFsaXplZCB0
byB0aGUgY3VycmVudGx5IGxvZ2dlZC1pbiB1c2VyLg0KPiANCj4gSSBkb24ndCB0aGluayBvbmUt
dGltZSBiZWFyZXIgdG9rZW5zIGFyZSBhcHByb3ByaWF0ZSBoZXJlLCBiZWNhdXNlIEkgd291bGQN
Cj4gbmVlZCB0byBzZW5kIHRoZSB1c2VyIHRocm91Z2ggYSByZWZyZXNoIG9yIHJlYWNxdWlzaXRp
b24gZmxvdyBmb3IgZXZlcnkgY2FsbCwNCj4gd2hpY2gga2luZCBvZiBkZWZlYXRzIHRoZSBwb2lu
dC4NCj4gDQo+IEkgYW0gb2sgd2l0aCB0aGlzIGdlbmVyYXRpbmcgYSBub24tSFRUUCBBSkFYIG9y
aWdpbiByZXF1ZXN0IHRvIG9idGFpbiBhDQo+IHRva2VuaXplZCBvciBzaWduZWQgVVJMOyB0aGlz
IGNhbiBsaWtlbHkgYmUgc2VydmVkIHdpdGhvdXQgc2lnbmlmaWNhbnQgSS9PIGlmDQo+IEkgaGF2
ZSB0aGUgYXBwcm9wcmlhdGUgdG9rZW5zIGFuZCBzZWNyZXRzIGNhY2hlZCBpbiBtZW1vcnkuIEhv
d2V2ZXIsIHRoZQ0KPiByZXN1bHRpbmcgVVJMIG11c3QgYmUgcmVkZWVtYWJsZSB3aXRob3V0IGFj
Y2VzcyB0byB0aGUgQXV0aG9yaXphdGlvbiBoZWFkZXIsDQo+IGFzIEknbSBnb2luZyB0byBuZWVk
IHRvIGluY2x1ZGUgaXQgaW4gYSA8c2NyaXB0PiB0YWcgKGVxdWl2YWxlbnRseSwgbWFrZSB0aGUN
Cj4gSlNPTlAgY2FsbCB3aXRoIGEgc2NyaXB0IGluc2VydCBhZ2FpbnN0IHRoZSBvcmlnaW4gdGhh
dCByZWRpcmVjdHMgdG8gdGhlDQo+IGF1dGhvcml6ZWQgcmVzb3VyY2UgLS0gYWdhaW4sIG5vIGFj
Y2VzcyB0byB0aGUgQXV0aG9yaXphdGlvbiBoZWFkZXIpLg0KPiANCj4gRm9yIHNjYWxlIHJlYXNv
bnMsIEkgZG9uJ3Qgd2FudCB0byBwcm94eSB0aGUgY2FsbCB0aHJvdWdoIG15IG9yaWdpbjsgdGhh
dA0KPiBob2xkcyB0aGUgb3JpZ2luIHJlcXVlc3Qgb3BlbiB3aGlsZSBJIGFtIHdhaXRpbmcgZm9y
IHRoZSBTZXJ2aWNlIFByb3ZpZGVyIHRvDQo+IHJldHVybi4NCj4gDQo+IENvb2tpZXMgZG9uJ3Qg
d29yayBoZXJlLCBiZWNhdXNlIEkgYXMgdGhlIG9yaWdpbiBjYW4ndCBzZXQgY29va2llcyBmb3Ig
dGhlDQo+IFNQJ3MgZG9tYWluLg0KPiANCj4gQXMgSSB0aGluayBhYm91dCBpdCBoZXJlLCBJIGRv
bid0IHRoaW5rIGJlYXJlciB0b2tlbnMgYXJlIGFwcHJvcHJpYXRlLCBhcyB0aGV5DQo+IHJlcXVp
cmUgU1NMIGZvciB0aGlzIHNlcXVlbmNlIHRvIHdvcmsuDQo+IA0KPiBXaGlsZSBJIGNhbiBhcHBy
ZWNpYXRlIHRoYXQgdGhlIHNwZWMgaXMgbXVjaCBzaW1wbGVyIHdpdGhvdXQgdGhlIHF1ZXJ5DQo+
IHBhcmFtZXRlciBzaWduYXR1cmVzLCBJIHRoaW5rIEknbSBiYWNrIHRvIG5lZWRpbmcgdG8gYmUg
Y29udmluY2VkIHRoYXQgbXkgdXNlDQo+IGNhc2UgY2FuIGJlIGFkZHJlc3NlZCB3aXRob3V0IHRo
ZW0gYW5kIHdpdGggc2ltaWxhciBvcGVyYXRpb25hbCBhbmQgc2NhbGluZw0KPiBjaGFyYWN0ZXJp
c3RpY3MgdG8gd2hhdCBpcyBhdmFpbGFibGUgaW4gT0F1dGggMS4wYS4NCj4gDQo+ICJBcyBzaW1w
bGUgYXMgcG9zc2libGUsIGJ1dCBubyBzaW1wbGVyLiINCj4gDQo+IEpvbg0KPiAuLi4uLi4uLg0K
PiBKb24gTW9vcmUNCj4gDQo+IA0KPiBPbiBBcHIgMTEsIDIwMTAsIGF0IDM6MDYgUE0sICJUb3Jz
dGVuIExvZGRlcnN0ZWR0IiA8dG9yc3RlbkBsb2RkZXJzdGVkdC5uZXQ+DQo+IHdyb3RlOg0KPiAN
Cj4+IEkgZG9uJ3Qga25vdyBpZiB3ZSBhcmUgcmVhbGx5IGRvbmUuIERvZXMgdGhlIGN1cnJlbnQg
ZHJhZnQgYWxyZWFkeSBjb25zaWRlcg0KPj4gb25lLXRpbWUgdG9rZW5zPyBIb3cgZG9lcyBhIGNs
aWVudCBhY3F1aXJlIG9uZS10aW1lIHRva2Vucz8NCj4+IA0KPj4gTW9yZW92ZXIsIEkgd291bGQg
cHJlZmVyIHRoZSBzaWduYXR1cmUgc29sdXRpb24gYmVjYXVzZSBvZiB0aGUgaW5jcmVhc2UgaW4N
Cj4+IGxvYWQgY2F1c2VkIGJ5IHRoZSBhY3F1aXNpdGlvbiBvZiBtdWx0aXBsZSBvbmUtdGltZSB0
b2tlbnMuDQo+PiANCj4+IEFwYXJ0IGZyb20gdGhhdCwgYW5vdGhlciBwb3NzaWJsZSBzb2x1dGlv
biBvY2N1cmVkIHRvIG1lLiBXb3VsZCBpdCBiZQ0KPj4gcG9zc2libGUgdG8gdXNlIGEgY29va2ll
IGNvbnRhaW5nIGEgdG9rZW4gaW5zdGVhZCBvZiBjb25zdHJ1Y3RpbmcgVVJMcw0KPj4gY2Fycnlp
bmcgZGlmZmVyZW50IHRva2Vucz8NCj4+IA0KPj4gVGhlIG9yaWdpbiBzZXJ2ZXIgY291bGQgYWNx
dWlyZSBhbiBvcmRpbmFyeSBiZWFyZXIgdG9rZW4gYW5kIHN0b3JlIGl0IHdpdGhpbg0KPj4gYSBj
b29raWUuIElmIHRoZSBKYXZhU2NyaXB0IGNvZGUgc2VuZHMgSFRUUCByZXF1ZXN0cyBhbmQgdGhl
IHRhcmdldCBkb21haW4NCj4+IG1hdGNoZXMgdGhlIGJyb3dzZXIgc2hvdWxkIGF1dG9tYXRpY2Fs
bHkgYWRkIHRoZSBjb29raWUgdG8gZXZlcnkgY2FsbCB0aHVzDQo+PiBzZW5kaW5nIHRoZSB0b2tl
biB3aXRoIGV2ZXJ5IHJlcXVlc3QuIFRoZSBvcmlnaW4gc2VydmVyIHdvdWxkIG5lZWQgdG8gcmVm
cmVzaA0KPj4gdGhlIHRva2VuIHBlcmlvZGljYWxseSBpbiBvcmRlciB0byBwcmV2ZW50IGFidXNl
IG9mIHRoZSB0b2tlbi4NCj4+IA0KPj4gV291bGQgdGhpcyB3b3JrPw0KPj4gDQo+PiByZWdhcmRz
LA0KPj4gVG9yc3Rlbi4NCj4+IA0KPj4gQW0gMTAuMDQuMjAxMCAxNToxMywgc2NocmllYiBNb29y
ZSwgSm9uYXRoYW46DQo+Pj4gIA0KPj4+IE9rLCB0aGFua3MgLSBJIHdhcyBtaXNzaW5nIHRoZSBw
b3NzaWJpbGl0eSB0aGF0IGJlYXJlciB0b2tlbnMgY291bGQgYmUNCj4+PiBzaW5nbGUgdXNlLiBJ
IGFncmVlIHRoaXMgY292ZXJzIG15IHVzZSBjYXNlIGFkZXF1YXRlbHksIHNvIEkgYW0gbm93DQo+
Pj4gZGVmaW5pdGVseSArMSBmb3Igc2ltcGxpZnlpbmcgdGhlIHNwZWMgaW4gdGhpcyB3YXkuDQo+
Pj4gIA0KPj4+IA0KPj4+ICANCj4+PiAgDQo+Pj4gVGhhbmtzIGZvciBiZWFyaW5nIChwdW4gaW50
ZW5kZWQpIHdpdGggbWUuDQo+Pj4gIA0KPj4+IA0KPj4+ICANCj4+PiAgDQo+Pj4gSm9uDQo+Pj4g
IA0KPj4+IC4uLi4uLi4uIA0KPj4+IEpvbiBNb29yZQ0KPj4+ICANCj4+PiANCj4+PiAgDQo+Pj4g
IA0KPj4+ICANCj4+PiANCj4+PiBPbiBBcHIgMTAsIDIwMTAsIGF0IDM6MzAgQU0sICJUb3JzdGVu
IExvZGRlcnN0ZWR0IiA8dG9yc3RlbkBsb2RkZXJzdGVkdC5uZXQNCj4+PiA8bWFpbHRvOnRvcnN0
ZW5AbG9kZGVyc3RlZHQubmV0PiA+IHdyb3RlOg0KPj4+ICANCj4+PiAgDQo+Pj4gIA0KPj4+PiAg
DQo+Pj4+IEZyb20gbXkgcG9pbnQgb2YgdmlldywgeW91ciB1c2UgY2FzZSBjYW4gYmUgaW1wbGVt
ZW50ZWQgaW4gdHdvIHdheXMNCj4+Pj4gIA0KPj4+PiAxKSB0b2tlbml6ZWQgJiBzaWduZWQgVVJM
cyBwcm92aWRlZCBieSB5b3VyIG9yaWdpbiBzZXJ2ZXINCj4+Pj4gMikgVVJMcyB3aXRoIG9uZS10
aW1lIHVzYWdlIGJlYXJlciB0b2tlbnMgYXMgcGFyYW1ldGVyIGFjcXVpcmVkIGJ5IHlvdXINCj4+
Pj4gb3JpZ2luIHNlcnZlcg0KPj4+PiAgDQo+Pj4+IEkgc2VlIHRoZSBmb2xsb3dpbmcgcHJvcy9j
b25zOg0KPj4+PiAgDQo+Pj4+IExvYWQ6ICgyKSByZXF1aXJlcyB0aGUgb3JpZ2luIHNlcnZlciB0
byBhY3F1aXJlIG9uZSB0b2tlbiBwZXIgbGluayBvbiB5b3VyDQo+Pj4+IHBhZ2UgZnJvbSB0aGUg
YXV0aCBzZXJ2ZXIsIHdoaWNoIG1heSBjYXVzZSBhIGxvdCBvZiBsb2FkIG9uIHRoZSBhdXRoeg0K
Pj4+PiBzZXJ2ZXIgOi0oLiAoMSkgb25seSBuZWVkcyB0byBvYnRhaW4gYSBzaW5nbGUgdG9rZW4g
c2luY2UgdGhlIHNpZ25hdHVyZSBpcw0KPj4+PiBjYWxjdWxhdGVkIGJ5IHRoZSBvcmlnaW4gc2Vy
dmVyIGxvY2FsbHkuIFRoaXMgbWlnaHQgYmUgbXVjaCBiZXR0ZXIgZnJvbSBhDQo+Pj4+IGxvYWQg
cGVyc3BlY3RpdmUuDQo+Pj4+ICANCj4+Pj4gU2VjdXJpdHk6IEFzIGEgZnVydGhlciBkb3duc2lk
ZSAoMikgZWl0aGVyIHJlcXVpcmVzIEhUVFBTIGNvbW11bmljYXRpb24gZm9yDQo+Pj4+IHRoZSB3
aG9sZSBwYWdlIG9yIHlvdSBhY3F1aXJlIHRoZSBVUkwgd2l0aCBvbmUtdGltZSB1c2FnZSBiZWFy
ZXIgdG9rZW4gb3Zlcg0KPj4+PiBIVFRQLiBBY3F1aXNpdGlvbiBmcm9tIGF1dGh6IHNlcnZlciBj
YW4gc3RpbGwgYmUgcGVyZm9ybWVkIG92ZXIgSFRUUFMuIElmDQo+Pj4+IHRoaXMgYWNjZXB0YWJs
ZSBkZXBlbmRzIG9uIHlvdXIgc2VjdXJpdHkgY29uc2lkZXJhdGlvbnMuDQo+Pj4+ICANCj4+Pj4g
Q29tbWVudHM/DQo+Pj4+ICANCj4+Pj4gcmVnYXJkcywNCj4+Pj4gVG9yc3Rlbi4NCj4+Pj4gIA0K
Pj4+PiBBbSAxMC4wNC4yMDEwIDAzOjM0LCBzY2hyaWViIE1vb3JlLCBKb25hdGhhbjoNCj4+Pj4+
ICANCj4+Pj4+IEhvd2V2ZXIsIHRoaXMgZG9lc24ndCBhZGRyZXNzIG15IGVhcmxpZXIgdXNlIGNh
c2Ugb2YgYSBzaWduZWQsDQo+Pj4+PiBjcm9zcy1kb21haW4gSlNPTlAgY2FsbCwgZXNwZWNpYWxs
eSBpZiBpdCdzIHNpdHRpbmcgb24gYSBub24tSFRUUFMgcGFnZTsgSQ0KPj4+Pj4gbmVlZCB0byBt
YWtlIGEgbm9uLUhUVFAgWEhSIHJlcXVlc3QgdG8gb2J0YWluIGEgKHNpZ25lZCBvciB0b2tlbml6
ZWQpIFVSTA0KPj4+Pj4gdG8gaW5jbHVkZSBpbiBteSA8c2NyaXB0PiBpbmNsdWRlLCBzbyByZXF1
aXJpbmcgYSBiZWFyZXIgdG9rZW4gYW5kIFNTTA0KPj4+Pj4gYmFzaWNhbGx5IGZvcmNlcyBtZSB0
byBoYXZlIHRoZSB3aG9sZSBwYWdlIGRlbGl2ZXJlZCBvdmVyIEhUVFBTLCB3aGljaCBtYXkNCj4+
Pj4+IGJlIG92ZXJraWxsIGZvciBteSBhcHBsaWNhdGlvbi7Dg+KAmsOCDQo+Pj4+PiAgDQo+Pj4+
PiANCj4+Pj4+ICANCj4+Pj4+ICANCj4+Pj4+IFdoaWxlIEkgY2FuIHVuZGVyc3RhbmQgdGhhdCB0
b2tlbiBhbmQgc2VjcmV0IGFjcXVpc2l0aW9uIG1pZ2h0IG5lZWQgU1NMLA0KPj4+Pj4gYWx3YXlz
IHJlcXVpcmluZyBpdCBvbiBhdXRob3JpemVkIHJlcXVlc3RzIHRvbyBzZWVtcyB0b28gbXVjaC4N
Cj4+Pj4+ICANCj4+Pj4+IA0KPj4+Pj4gIA0KPj4+Pj4gIA0KPj4+Pj4gQ2FuIHNvbWVvbmUgZXhw
bGFpbi9yZS1leHBsYWluIHdoeSBxdWVyeSBwYXJhbWV0ZXIgc2lnbmF0dXJlcyBuZWVkIHRvIGJl
DQo+Pj4+PiBlbGltaW5hdGVkPyBUaGUgQXV0aG9yaXphdGlvbiBoZWFkZXIgaXMgZ3JlYXQgd2hl
biB5b3UgY2FuIG1hbmlwdWxhdGUgaXQsDQo+Pj4+PiBidXQgeW91IGNhbid0IGFsd2F5cy4gV2h5
IGlzIGl0IHByb2JsZW1hdGljIGZvciB0aGUgc2lnbmF0dXJlcyB0byBiZSBhYmxlDQo+Pj4+PiB0
byBhcHBlYXIgaW4gZWl0aGVyIHBsYWNlPw0KPj4+Pj4gIA0KPj4+Pj4gDQo+Pj4+PiAgDQo+Pj4+
PiAgDQo+Pj4+PiBKb24NCj4+Pj4+ICANCj4+Pj4+IA0KPj4+Pj4gLi4uLi4uLi4gDQo+Pj4+PiBK
b24gTW9vcmUNCj4+Pj4+ICANCj4+Pj4+IA0KPj4+Pj4gIA0KPj4+Pj4gIA0KPj4+Pj4gIA0KPj4+
Pj4gDQo+Pj4+PiBPbiBBcHIgOSwgMjAxMCwgYXQgMTozOSBQTSwgIkVyYW4gSGFtbWVyLUxhaGF2
IiA8ZXJhbkBodWVuaXZlcnNlLmNvbQ0KPj4+Pj4gPG1haWx0bzplcmFuQGh1ZW5pdmVyc2UuY29t
PiA+IHdyb3RlOg0KPj4+Pj4gIA0KPj4+Pj4gIA0KPj4+Pj4gIA0KPj4+Pj4+ICANCj4+Pj4+PiBJ
biBwcmFjdGljZSB0aGlzIGlzIHRoZSBzYW1lIGFzIGxvZ2dpbmcgaW4gd2hpY2ggSSBleHBlY3Qg
dG8gcmVxdWlyZSBTU0wNCj4+Pj4+PiBhbnl3YXkuIFNpZ25lZCBvciBub3QsIGF0dGFja2VycyBz
aG91bGQgbm90IGJlIGFibGUgdG8gbG9naW4gdG8geW91cg0KPj4+Pj4+IGVtYWlsIGFjY291bnQg
c2ltcGx5IGJ5IHVzaW5nIGEgTUlUTSBhdHRhY2sgd2hlbiB5b3UgY2xpY2sgb24geW91ciBJTQ0K
Pj4+Pj4+IGNsaWVudC4gU28gU1NMIGlzIHJlcXVpcmVkIGFscmVhZHkuDQo+Pj4+Pj4gIA0KPj4+
Pj4+IEVITCANCj4+Pj4+PiAgDQo+Pj4+Pj4gIA0KPj4+Pj4+IE9uIDQvOS8xMCA3OjMwIEFNLCAi
R2VvcmdlIEZsZXRjaGVyIiA8Z2ZmbGV0Y2hAYW9sLmNvbQ0KPj4+Pj4+IDxtYWlsdG86Z2ZmbGV0
Y2hAYW9sLmNvbT4gPiB3cm90ZToNCj4+Pj4+PiAgDQo+Pj4+Pj4gICANCj4+Pj4+Pj4gWWVzLCB0
aGlzIGlzIHBvc3NpYmxlLCB0aG91Z2ggdG8gYmUgc2VjdXJlIGl0IHNob3VsZCByZWFsbHkgaGFw
cGVuIG92ZXINCj4+Pj4+Pj4gU1NMIHdoaWNoIGlzIGxlc3Mgb2YgYSByZXF1aXJlbWVudCBmb3Ig
YSBzaWduZWQgcmVxdWVzdC4NCj4+Pj4+Pj4gIA0KPj4+Pj4+PiBJIGd1ZXNzIHRoZSBtYWluIHF1
ZXN0aW9uIGlzIHdoZXRoZXIgd2UgcmVhbGx5IG5lZWQgdG8gcmVtb3ZlIHRoZQ0KPj4+Pj4+PiBz
aWduYXR1cmUgcmVsYXRlZCBwYXJhbWV0ZXJzIGZyb20gVVJMIGFuZCBvbmx5IGFsbG93IHRoZW0g
aW4gdGhlDQo+Pj4+Pj4+IEF1dGhvcml6YXRpb24gaGVhZGVyLiBGb3Igc2lnbmVkIHJlcXVlc3Rz
LCB0aGVzZSB1c2UgY2FzZXMgcHJldHR5IG11Y2gNCj4+Pj4+Pj4gcmVxdWlyZSB0aGF0IHRoZSBz
aWduYXR1cmUgcGFyYW1ldGVycyBiZSBhbGxvd2VkIGluIHRoZSBVUkwuDQo+Pj4+Pj4+ICANCj4+
Pj4+Pj4gT2J2aW91c2x5LCBpZiB3ZSBjaGFuZ2Ugb3VyIG1vZGVsIHRvIG5vdCB1c2Ugc2lnbmVk
IFVSTHMgdGhlbiB0aGlzIGlzc3VlDQo+Pj4+Pj4+IGdvZXMgYXdheTopDQo+Pj4+Pj4+ICANCj4+
Pj4+Pj4gVGhhbmtzLA0KPj4+Pj4+PiBHZW9yZ2UNCj4+Pj4+Pj4gIA0KPj4+Pj4+PiBPbiA0Lzkv
MTAgMTI6NTggQU0sIEJyaWFuIEVhdG9uIHdyb3RlOg0KPj4+Pj4+PiAgIA0KPj4+Pj4+Pj4gIA0K
Pj4+Pj4+Pj4gT24gVGh1LCBBcHIgOCwgMjAxMCBhdCA3OjA4IEFNLCBHZW9yZ2UgRmxldGNoZXIg
PGdmZmxldGNoQGFvbC5jb20NCj4+Pj4+Pj4+IDxtYWlsdG86Z2ZmbGV0Y2hAYW9sLmNvbT4gPiA8
bWFpbHRvOmdmZmxldGNoQGFvbC5jb20NCj4+Pj4+Pj4+IDxtYWlsdG86Z2ZmbGV0Y2hAYW9sLmNv
bT4gPiDDg+KAmsOCIHdyb3RlOg0KPj4+Pj4+Pj4gw4PigJrDgiDDg+KAmsOCIA0KPj4+Pj4+Pj4g
w4PigJrDgiANCj4+Pj4+Pj4+ICAgDQo+Pj4+Pj4+PiAgDQo+Pj4+Pj4+PiBJIHJlYWxpemUgdGhh
dCB0aGVzZSBzb3J0cyBvZiB1c2UgY2FzZXMgYXJlIHRyaXZpYWwgaWYgZXN0YWJsaXNobWVudCBv
Zg0KPj4+Pj4+Pj4gdGhlDQo+Pj4+Pj4+PiBTU08gc2Vzc2lvbiBzd2l0Y2hlcyBmcm9tIGEgc2ln
bmVkIG1lY2hhbmlzbSB0byB0aGUgT0F1dGggV1JBUCBiZWFyZXINCj4+Pj4+Pj4+IHRva2VuDQo+
Pj4+Pj4+PiBtb2RlbC4gVGhlIG9uZSBuaWNlIGZlYXR1cmUgb2YgdGhlIHNpZ25lZCBVUkwgaXMg
dGhhdCBpdCBpcyBvbmUgdGltZQ0KPj4+Pj4+Pj4gdXNlDQo+Pj4+Pj4+PiB3aGVyZSB0aGUgYmVh
cmVyIHRva2VuIGNhbiBiZSByZXBsYXllZCBtdWx0aXBsZSB0aW1lcy4NCj4+Pj4+Pj4+IMOD4oCa
w4Igw4PigJrDgiDDg+KAmsOCIMOD4oCaw4INCj4+Pj4+Pj4+IMOD4oCaw4IgDQo+Pj4+Pj4+PiAg
DQo+Pj4+Pj4+PiAgIA0KPj4+Pj4+Pj4gIA0KPj4+Pj4+Pj4gWWVwLCBHb29nbGUgZG9lcyB0aGlz
IGtpbmQgb2YgdGhpbmcgdG9vLg0KPj4+Pj4+Pj4gIA0KPj4+Pj4+Pj4gSXMgdGhlcmUgc29tZXRo
aW5nIHRoYXQgc3RvcHMgeW91IGZyb20gZGVjbGFyaW5nIHRoYXQgYSBwYXJ0aWN1bGFyDQo+Pj4+
Pj4+PiB0b2tlbiBpcyBzaW5nbGUgdXNlPw0KPj4+Pj4+Pj4gIA0KPj4+Pj4+Pj4gMSkgQ2xpZW50
IG1ha2VzIGNhbGwgdG8gQXV0aG9yaXphdGlvbiBzZXJ2ZXIsIHBhc3NpbmcgaW4gZWl0aGVyIHRo
ZQ0KPj4+Pj4+Pj4gcmVmcmVzaCB0b2tlbiBvciBhbiBhY2Nlc3MgdG9rZW4gKGRlcGVuZGluZyBv
biB0aGUgc2VjdXJpdHkgbW9kZWwgeW91DQo+Pj4+Pj4+PiB3YW50LikNCj4+Pj4+Pj4+IDIpIEFT
IHJldHVybnMgYSB0b2tlbi4NCj4+Pj4+Pj4+IDMpIENsaWVudCB1c2VzIHRoZSB0b2tlbiB0byBw
b3Agb3BlbiBhIHdlYiBicm93c2VyLg0KPj4+Pj4+Pj4gIA0KPj4+Pj4+Pj4gQ2hlZXJzLA0KPj4+
Pj4+Pj4gQnJpYW4NCj4+Pj4+Pj4+ICANCj4+Pj4+Pj4+IMOD4oCaw4Igw4PigJrDgiANCj4+Pj4+
Pj4+ICANCj4+Pj4+Pj4gIA0KPj4+Pj4+PiAgDQo+Pj4+Pj4gIA0KPj4+Pj4+ICANCj4+Pj4+ICAN
Cj4+Pj4+PiAgDQo+Pj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18NCj4+Pj4+PiAgT0F1dGggbWFpbGluZyBsaXN0DQo+Pj4+Pj4gIE9BdXRoQGlldGYu
b3JnIDxtYWlsdG86T0F1dGhAaWV0Zi5vcmc+DQo+Pj4+Pj4gIGh0dHBzOi8vd3d3LmlldGYub3Jn
L21haWxtYW4vbGlzdGluZm8vb2F1dGgNCj4+Pj4+PiA8aHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFp
bG1hbi9saXN0aW5mby9vYXV0aD4NCj4+Pj4+PiAgDQo+Pj4+Pj4gIA0KPj4+Pj4gIA0KPj4+Pj4g
DQo+Pj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0K
Pj4+Pj4gT0F1dGggbWFpbGluZyBsaXN0DQo+Pj4+PiBPQXV0aEBpZXRmLm9yZyA8bWFpbHRvOk9B
dXRoQGlldGYub3JnPg0KPj4+Pj4gaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5m
by9vYXV0aA0KPj4+Pj4gPGh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vb2F1
dGg+DQo+Pj4+PiAgIA0KPj4+Pj4gIA0KPj4+PiAgDQo+Pj4+ICANCj4+Pj4gIA0KPj4gDQo+IA0K
DQo=

From tonynad@microsoft.com  Mon Apr 12 02:24:27 2010
Return-Path: <tonynad@microsoft.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9EA6F3A6949 for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 02:24:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.598
X-Spam-Level: 
X-Spam-Status: No, score=-10.598 tagged_above=-999 required=5 tests=[AWL=-0.000, BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sXTCCSTCaxHO for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 02:24:22 -0700 (PDT)
Received: from smtp.microsoft.com (mail1.microsoft.com [131.107.115.212]) by core3.amsl.com (Postfix) with ESMTP id BFA753A6A36 for <oauth@ietf.org>; Mon, 12 Apr 2010 02:23:20 -0700 (PDT)
Received: from TK5EX14MLTC102.redmond.corp.microsoft.com (157.54.79.180) by TK5-EXGWY-E801.partners.extranet.microsoft.com (10.251.56.50) with Microsoft SMTP Server (TLS) id 8.2.176.0; Mon, 12 Apr 2010 02:23:15 -0700
Received: from TK5EX14MBXC103.redmond.corp.microsoft.com ([169.254.3.164]) by TK5EX14MLTC102.redmond.corp.microsoft.com ([157.54.79.180]) with mapi; Mon, 12 Apr 2010 02:23:14 -0700
From: Anthony Nadalin <tonynad@microsoft.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>, Eran Hammer-Lahav <eran@hueniverse.com>
Thread-Topic: [OAUTH-WG] Defining a maximum token length?
Thread-Index: AQHKv+NqeBNkDGZuLk6fvcZcrhAM6pIakGKAgACWUgD//6iHcIAAL6wxgABbIo6AAJGGgIAC2DEA
Date: Mon, 12 Apr 2010 09:23:14 +0000
Message-ID: <A08279DC79B11C48AD587060CD93977125EFFC84@TK5EX14MBXC103.redmond.corp.microsoft.com>
References: <C7E557A0.32014%eran@hueniverse.com> <4BC02133.70209@lodderstedt.net>
In-Reply-To: <4BC02133.70209@lodderstedt.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Content-Type: multipart/alternative; boundary="_000_A08279DC79B11C48AD587060CD93977125EFFC84TK5EX14MBXC103r_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Defining a maximum token length?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Apr 2010 09:24:27 -0000

--_000_A08279DC79B11C48AD587060CD93977125EFFC84TK5EX14MBXC103r_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

+1

From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of T=
orsten Lodderstedt
Sent: Friday, April 09, 2010 11:57 PM
To: Eran Hammer-Lahav
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Defining a maximum token length?

+1 no restriction, please

256 is much too short

Am 10.04.2010 07:16, schrieb Eran Hammer-Lahav:
I would argue that for the spec to provide a token size limit that is great=
er than 255 would cause more harm than good. This is not to say I am suppor=
ting the 255 limit (I take no position on the matter - yeah, that happens r=
arely). If the spec provided a 4K limit, client libraries are likely to cod=
ify that which will make them extremely wasteful for 99% of the popular cas=
es on the web today. A 4K limit doesn't really improve interop since the li=
mit is so high, no one is likely to issue even bigger tokens with public AP=
Is.

The 255 limit keeps the token size within the most effective database field=
 size limit for this type of identifier. If we cannot reach consensus on th=
is size limit, I don't think the spec should say anything. However, if I wr=
ote a client library, I would make it use a 255 default size limit and requ=
ire a custom configuration to enable it to use something else.

So my proposal is 255 or no size guidance/restriction.

EHL


On 4/9/10 4:49 PM, "Allen Tom" <atom@yahoo-inc.com> wrote:
I think a good precedent would be to use the HTTP Cookie size limit, which
is 4KB.

An OAuth Access Token is like an HTTP Authorization cookie. They're both
bearer tokens that are used as a credentials for a client to access
protected resources on behalf of the end user.

All Oauth clients have to implement HTTP anyway, so 4KB sounds like a
reasonable limit.

Allen



> On Fri, Apr 9, 2010 at 3:14 AM, Luke Shepard <lshepard@facebook.com> wrot=
e:

>>
>> So, what is a reasonable limit for the token length?  1k? 2k? 4k? 5mb? I
>> suggest some language like this:
>>
>>

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth





_______________________________________________

OAuth mailing list

OAuth@ietf.org<mailto:OAuth@ietf.org>

https://www.ietf.org/mailman/listinfo/oauth




--_000_A08279DC79B11C48AD587060CD93977125EFFC84TK5EX14MBXC103r_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV=3D"Content-Type" CONTENT=
=3D"text/html; charset=3Dus-ascii"><meta name=3DGenerator content=3D"Micros=
oft Word 14 (filtered medium)"><title>Re: [OAUTH-WG] Defining a maximum tok=
en length?</title><style><!--
/* Font Definitions */
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	color:black;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";
	color:black;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:"Consolas","serif";
	color:black;}
span.EmailStyle19
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body bgcolor=3Dwhite lang=3DEN-US=
 link=3Dblue vlink=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal>=
<span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1=
F497D'>+1<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-siz=
e:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p=
></span></p><div><div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;p=
adding:3.0pt 0in 0in 0in'><p class=3DMsoNormal><b><span style=3D'font-size:=
10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'>From:</span></b>=
<span style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif";color:win=
dowtext'> oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] <b>On Beha=
lf Of </b>Torsten Lodderstedt<br><b>Sent:</b> Friday, April 09, 2010 11:57 =
PM<br><b>To:</b> Eran Hammer-Lahav<br><b>Cc:</b> OAuth WG<br><b>Subject:</b=
> Re: [OAUTH-WG] Defining a maximum token length?<o:p></o:p></span></p></di=
v></div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>+1 n=
o restriction, please<br><br>256 is much too short<br><br>Am 10.04.2010 07:=
16, schrieb Eran Hammer-Lahav: <o:p></o:p></p><p class=3DMsoNormal style=3D=
'margin-bottom:12.0pt'><span style=3D'font-size:11.0pt;font-family:"Calibri=
","sans-serif"'>I would argue that for the spec to provide a token size lim=
it that is greater than 255 would cause more harm than good. This is not to=
 say I am supporting the 255 limit (I take no position on the matter &#8211=
; yeah, that happens rarely). If the spec provided a 4K limit, client libra=
ries are likely to codify that which will make them extremely wasteful for =
99% of the popular cases on the web today. A 4K limit doesn&#8217;t really =
improve interop since the limit is so high, no one is likely to issue even =
bigger tokens with public APIs.<br><br>The 255 limit keeps the token size w=
ithin the most effective database field size limit for this type of identif=
ier. If we cannot reach consensus on this size limit, I don&#8217;t think t=
he spec should say anything. However, if I wrote a client library, I would =
make it use a 255 default size limit and require a custom configuration to =
enable it to use something else.<br><br>So my proposal is 255 or no size gu=
idance/restriction.<br><br>EHL<br><br><br>On 4/9/10 4:49 PM, &quot;Allen To=
m&quot; &lt;<a href=3D"atom@yahoo-inc.com">atom@yahoo-inc.com</a>&gt; wrote=
:</span><o:p></o:p></p><p class=3DMsoNormal style=3D'margin-bottom:12.0pt'>=
<span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'>I think=
 a good precedent would be to use the HTTP Cookie size limit, which<br>is 4=
KB.<br><br>An OAuth Access Token is like an HTTP Authorization cookie. They=
're both<br>bearer tokens that are used as a credentials for a client to ac=
cess<br>protected resources on behalf of the end user.<br><br>All Oauth cli=
ents have to implement HTTP anyway, so 4KB sounds like a<br>reasonable limi=
t.<br><br>Allen<br><br><br><br>&gt; On Fri, Apr 9, 2010 at 3:14 AM, Luke Sh=
epard &lt;<a href=3D"lshepard@facebook.com">lshepard@facebook.com</a>&gt; w=
rote:<br><br>&gt;&gt;<br>&gt;&gt; So, what is a reasonable limit for the to=
ken length? &nbsp;1k? 2k? 4k? 5mb? I<br>&gt;&gt; suggest some language like=
 this:<br>&gt;&gt;<br>&gt;&gt;<br><br>_____________________________________=
__________<br>OAuth mailing list<br><a href=3D"OAuth@ietf.org">OAuth@ietf.o=
rg</a><br><a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://w=
ww.ietf.org/mailman/listinfo/oauth</a></span><o:p></o:p></p><pre><o:p>&nbsp=
;</o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>_____________________________=
__________________<o:p></o:p></pre><pre>OAuth mailing list<o:p></o:p></pre>=
<pre><a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><o:p></o:p></pre><=
pre><a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.iet=
f.org/mailman/listinfo/oauth</a><o:p></o:p></pre><pre>&nbsp; <o:p></o:p></p=
re><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div></body></html>=

--_000_A08279DC79B11C48AD587060CD93977125EFFC84TK5EX14MBXC103r_--

From lear@cisco.com  Mon Apr 12 04:39:33 2010
Return-Path: <lear@cisco.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C59CF3A67E2 for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 04:39:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.391
X-Spam-Level: 
X-Spam-Status: No, score=-5.391 tagged_above=-999 required=5 tests=[AWL=5.207,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kpHHAy9ZtXZW for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 04:39:32 -0700 (PDT)
Received: from ams-iport-1.cisco.com (ams-iport-1.cisco.com [144.254.224.140]) by core3.amsl.com (Postfix) with ESMTP id A31AD3A67C0 for <oauth@ietf.org>; Mon, 12 Apr 2010 04:39:31 -0700 (PDT)
Authentication-Results: ams-iport-1.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AvUBAKqjwkuQ/uCWe2dsb2JhbACBPoFVmB8VAQELCyIGHKEViE2PaYQebgQ
X-IronPort-AV: E=Sophos;i="4.52,190,1270425600"; d="scan'208,217";a="59278831"
Received: from ams-core-1.cisco.com ([144.254.224.150]) by ams-iport-1.cisco.com with ESMTP; 12 Apr 2010 11:39:25 +0000
Received: from dhcp-10-61-102-206.cisco.com (dhcp-10-61-102-206.cisco.com [10.61.102.206]) by ams-core-1.cisco.com (8.13.8/8.14.3) with ESMTP id o3CBdOqD002350; Mon, 12 Apr 2010 11:39:24 GMT
Message-ID: <4BC3066F.8080607@cisco.com>
Date: Mon, 12 Apr 2010 13:39:27 +0200
From: Eliot Lear <lear@cisco.com>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.4pre) Gecko/20100411 Lanikai/3.1b2pre
MIME-Version: 1.0
To: Anthony Nadalin <tonynad@microsoft.com>
References: <C7E557A0.32014%eran@hueniverse.com>	<4BC02133.70209@lodderstedt.net> <A08279DC79B11C48AD587060CD93977125EFFC84@TK5EX14MBXC103.redmond.corp.microsoft.com>
In-Reply-To: <A08279DC79B11C48AD587060CD93977125EFFC84@TK5EX14MBXC103.redmond.corp.microsoft.com>
Content-Type: multipart/alternative; boundary="------------080605030504060104020407"
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Defining a maximum token length?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Apr 2010 11:39:33 -0000

This is a multi-part message in MIME format.
--------------080605030504060104020407
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

  Is there some other natural parameter limit in place from HTTP?

Eliot

On 4/12/10 11:23 AM, Anthony Nadalin wrote:
>
> +1
>
> *From:* oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] *On 
> Behalf Of *Torsten Lodderstedt
> *Sent:* Friday, April 09, 2010 11:57 PM
> *To:* Eran Hammer-Lahav
> *Cc:* OAuth WG
> *Subject:* Re: [OAUTH-WG] Defining a maximum token length?
>
> +1 no restriction, please
>
> 256 is much too short
>
> Am 10.04.2010 07:16, schrieb Eran Hammer-Lahav:
>
> I would argue that for the spec to provide a token size limit that is 
> greater than 255 would cause more harm than good. This is not to say I 
> am supporting the 255 limit (I take no position on the matter â€“ yeah, 
> that happens rarely). If the spec provided a 4K limit, client 
> libraries are likely to codify that which will make them extremely 
> wasteful for 99% of the popular cases on the web today. A 4K limit 
> doesnâ€™t really improve interop since the limit is so high, no one is 
> likely to issue even bigger tokens with public APIs.
>
> The 255 limit keeps the token size within the most effective database 
> field size limit for this type of identifier. If we cannot reach 
> consensus on this size limit, I donâ€™t think the spec should say 
> anything. However, if I wrote a client library, I would make it use a 
> 255 default size limit and require a custom configuration to enable it 
> to use something else.
>
> So my proposal is 255 or no size guidance/restriction.
>
> EHL
>
>
> On 4/9/10 4:49 PM, "Allen Tom" <atom@yahoo-inc.com> wrote:
>
> I think a good precedent would be to use the HTTP Cookie size limit, which
> is 4KB.
>
> An OAuth Access Token is like an HTTP Authorization cookie. They're both
> bearer tokens that are used as a credentials for a client to access
> protected resources on behalf of the end user.
>
> All Oauth clients have to implement HTTP anyway, so 4KB sounds like a
> reasonable limit.
>
> Allen
>
>
>
> > On Fri, Apr 9, 2010 at 3:14 AM, Luke Shepard <lshepard@facebook.com> 
> wrote:
>
> >>
> >> So, what is a reasonable limit for the token length?  1k? 2k? 4k? 5mb? I
> >> suggest some language like this:
> >>
> >>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>   
>   
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org  <mailto:OAuth@ietf.org>
> https://www.ietf.org/mailman/listinfo/oauth
>    
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


--------------080605030504060104020407
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Is there some other natural parameter limit in place from HTTP?<br>
    <br>
    Eliot<br>
    <br>
    On 4/12/10 11:23 AM, Anthony Nadalin wrote:
    <blockquote
cite="mid:A08279DC79B11C48AD587060CD93977125EFFC84@TK5EX14MBXC103.redmond.corp.microsoft.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 14 (filtered
        medium)">
      <title>Re: [OAUTH-WG] Defining a maximum token length?</title>
      <style><!--
/* Font Definitions */
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	color:black;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";
	color:black;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:"Consolas","serif";
	color:black;}
span.EmailStyle19
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);">+1<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);"><o:p>Â </o:p></span></p>
        <div>
          <div style="border-right: medium none; border-width: 1pt
            medium medium; border-style: solid none none; border-color:
            rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color;
            padding: 3pt 0in 0in;">
            <p class="MsoNormal"><b><span style="font-size: 10pt;
                  font-family:
                  &quot;Tahoma&quot;,&quot;sans-serif&quot;; color:
                  windowtext;">From:</span></b><span style="font-size:
                10pt; font-family:
                &quot;Tahoma&quot;,&quot;sans-serif&quot;; color:
                windowtext;"> <a class="moz-txt-link-abbreviated" href="mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.org</a>
                [<a class="moz-txt-link-freetext" href="mailto:oauth-bounces@ietf.org">mailto:oauth-bounces@ietf.org</a>] <b>On Behalf Of </b>Torsten
                Lodderstedt<br>
                <b>Sent:</b> Friday, April 09, 2010 11:57 PM<br>
                <b>To:</b> Eran Hammer-Lahav<br>
                <b>Cc:</b> OAuth WG<br>
                <b>Subject:</b> Re: [OAUTH-WG] Defining a maximum token
                length?<o:p></o:p></span></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p>Â </o:p></p>
        <p class="MsoNormal">+1 no restriction, please<br>
          <br>
          256 is much too short<br>
          <br>
          Am 10.04.2010 07:16, schrieb Eran Hammer-Lahav: <o:p></o:p></p>
        <p class="MsoNormal" style="margin-bottom: 12pt;"><span
            style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;;">I would argue
            that for the spec to provide a token size limit that is
            greater than 255 would cause more harm than good. This is
            not to say I am supporting the 255 limit (I take no position
            on the matter â€“ yeah, that happens rarely). If the spec
            provided a 4K limit, client libraries are likely to codify
            that which will make them extremely wasteful for 99% of the
            popular cases on the web today. A 4K limit doesnâ€™t really
            improve interop since the limit is so high, no one is likely
            to issue even bigger tokens with public APIs.<br>
            <br>
            The 255 limit keeps the token size within the most effective
            database field size limit for this type of identifier. If we
            cannot reach consensus on this size limit, I donâ€™t think the
            spec should say anything. However, if I wrote a client
            library, I would make it use a 255 default size limit and
            require a custom configuration to enable it to use something
            else.<br>
            <br>
            So my proposal is 255 or no size guidance/restriction.<br>
            <br>
            EHL<br>
            <br>
            <br>
            On 4/9/10 4:49 PM, "Allen Tom" &lt;<a moz-do-not-send="true"
              href="atom@yahoo-inc.com">atom@yahoo-inc.com</a>&gt;
            wrote:</span><o:p></o:p></p>
        <p class="MsoNormal" style="margin-bottom: 12pt;"><span
            style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;;">I think a good
            precedent would be to use the HTTP Cookie size limit, which<br>
            is 4KB.<br>
            <br>
            An OAuth Access Token is like an HTTP Authorization cookie.
            They're both<br>
            bearer tokens that are used as a credentials for a client to
            access<br>
            protected resources on behalf of the end user.<br>
            <br>
            All Oauth clients have to implement HTTP anyway, so 4KB
            sounds like a<br>
            reasonable limit.<br>
            <br>
            Allen<br>
            <br>
            <br>
            <br>
            &gt; On Fri, Apr 9, 2010 at 3:14 AM, Luke Shepard &lt;<a
              moz-do-not-send="true" href="lshepard@facebook.com">lshepard@facebook.com</a>&gt;
            wrote:<br>
            <br>
            &gt;&gt;<br>
            &gt;&gt; So, what is a reasonable limit for the token
            length? Â 1k? 2k? 4k? 5mb? I<br>
            &gt;&gt; suggest some language like this:<br>
            &gt;&gt;<br>
            &gt;&gt;<br>
            <br>
            _______________________________________________<br>
            OAuth mailing list<br>
            <a moz-do-not-send="true" href="OAuth@ietf.org">OAuth@ietf.org</a><br>
            <a moz-do-not-send="true"
              href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a></span><o:p></o:p></p>
        <pre><o:p>Â </o:p></pre>
        <pre><o:p>Â </o:p></pre>
        <pre>_______________________________________________<o:p></o:p></pre>
        <pre>OAuth mailing list<o:p></o:p></pre>
        <pre><a moz-do-not-send="true" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a><o:p></o:p></pre>
        <pre><a moz-do-not-send="true" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a><o:p></o:p></pre>
        <pre>Â  <o:p></o:p></pre>
        <p class="MsoNormal"><o:p>Â </o:p></p>
      </div>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------080605030504060104020407--

From lear@cisco.com  Mon Apr 12 04:43:07 2010
Return-Path: <lear@cisco.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9BF143A6999 for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 04:43:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.127
X-Spam-Level: 
X-Spam-Status: No, score=-3.127 tagged_above=-999 required=5 tests=[AWL=-0.529, BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4UI4BsCJ3dcz for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 04:43:06 -0700 (PDT)
Received: from ams-iport-2.cisco.com (ams-iport-2.cisco.com [144.254.224.141]) by core3.amsl.com (Postfix) with ESMTP id 662DA3A694A for <oauth@ietf.org>; Mon, 12 Apr 2010 04:43:06 -0700 (PDT)
Authentication-Results: ams-iport-2.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AuIBAKqjwkuQ/uCWe2dsb2JhbACDE5gfFQEBCwsiBhyhFYhNj2mEHm4E
X-IronPort-AV: E=Sophos;i="4.52,190,1270425600"; d="scan'208,217";a="5461828"
Received: from ams-core-1.cisco.com ([144.254.224.150]) by ams-iport-2.cisco.com with ESMTP; 12 Apr 2010 11:07:19 +0000
Received: from dhcp-10-61-102-206.cisco.com (dhcp-10-61-102-206.cisco.com [10.61.102.206]) by ams-core-1.cisco.com (8.13.8/8.14.3) with ESMTP id o3CBgxq3003255 for <oauth@ietf.org>; Mon, 12 Apr 2010 11:43:00 GMT
Message-ID: <4BC30747.10409@cisco.com>
Date: Mon, 12 Apr 2010 13:43:03 +0200
From: Eliot Lear <lear@cisco.com>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.4pre) Gecko/20100411 Lanikai/3.1b2pre
MIME-Version: 1.0
To: OAuth WG <oauth@ietf.org>
Content-Type: multipart/alternative; boundary="------------090101060507040607020707"
Subject: [OAUTH-WG] Figure 6 in Section 3.4.4
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Apr 2010 11:43:07 -0000

This is a multi-part message in MIME format.
--------------090101060507040607020707
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

  Hi everyone,

In Section 3.4.4 there is a flow that requires repeated polling on the 
part of the device client.  Can someone explain why that is, and why the 
device client can't simply make its desired operation known to the 
authorization server and then block?

Thanks,

Eliot

--------------090101060507040607020707
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    <font face="Times">Hi everyone,<br>
      <br>
      In Section 3.4.4 there is a flow that requires repeated polling on
      the part of the device client.Â  Can someone explain why that is,
      and why the device client can't simply make its desired operation
      known to the authorization server and then block?<br>
      <br>
      Thanks,<br>
      <br>
      Eliot<br>
    </font>
  </body>
</html>

--------------090101060507040607020707--

From eran@hueniverse.com  Mon Apr 12 05:32:11 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A53393A69A0 for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 05:32:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.441
X-Spam-Level: 
X-Spam-Status: No, score=-2.441 tagged_above=-999 required=5 tests=[AWL=0.157,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1PQ7jl3M5hlM for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 05:32:06 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 115CF3A68E7 for <oauth@ietf.org>; Mon, 12 Apr 2010 05:32:06 -0700 (PDT)
Received: (qmail 22881 invoked from network); 12 Apr 2010 12:32:00 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 12 Apr 2010 12:32:00 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Mon, 12 Apr 2010 05:31:54 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: OAuth WG <oauth@ietf.org>
Date: Mon, 12 Apr 2010 05:31:51 -0700
Thread-Topic: [OAUTH-WG] Another draft update (4/19 deadline)
Thread-Index: AcrWqbIjUlaC4+BgjEOhw966lZewiQDkm5HA
Message-ID: <C7E860C7.32129%eran@hueniverse.com>
In-Reply-To: <C7E2629E.31EA4%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E860C732129eranhueniversecom_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Another draft update (4/19 deadline)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Apr 2010 12:32:11 -0000

--_000_C7E860C732129eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Latest is always at:

http://github.com/theRazorBlade/draft-ietf-oauth

(xml is always up to date. txt and html when I can. Atom feed available)

---

I finished going over sections 1-5 which includes the overview, flows, refr=
esh method, and using tokens (including signatures). By finished I mean tho=
se sections are ready to be submitted as a working group draft -00.

Please review sections 1-5 and submit any changes needed for a -00 draft. T=
his means focus on critical changes that should be made before the document=
 is considered a starting point for the working group.

I am going to ask the chairs for a consensus call about promoting this to a=
 working group draft by 4/19 so please submit feedback as soon as possible.

Open issues:

* token size limit
* restriction on values characters
* specificity of the assertion flow
* parameter name prefix
* single authorization endpoint
* inclusion of both user-agent flow and native application flow
* username parameter proposal
* scope parameter
* adding refresh token as optional in all access token requests
* limiting signed requests to use the auth header (no query / form body)

Closed issues:

* requiring HTTPS for bearer token protected resource requests

Once we approve this as -00 I plan to post a weekly draft based on the feed=
back received and approved by the group. I will no longer make changes to t=
he draft (after -00) without working group consensus.

Please (PLEASE) don't reply to this message with feedback but instead send =
a separate post for each major issue. Feel free to bunch small comments int=
o one post. This will help facilitate our discussion.

The spec is now 51 pages before adding the security consideration and error=
 codes. It's big. I would appreciate any feedback you can spare
so we can decide next week if it is ready for a -00.

Thanks!

EHL

--_000_C7E860C732129eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Another draft update (4/19 deadline)</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>Latest is always at:<BR>
<BR>
<FONT COLOR=3D"#0000FF"><U><a href=3D"http://github.com/theRazorBlade/draft=
-ietf-oauth">http://github.com/theRazorBlade/draft-ietf-oauth</a><BR>
</U></FONT><BR>
(xml is always up to date. txt and html when I can. Atom feed available)<BR=
>
<BR>
---<BR>
<BR>
I finished going over sections 1-5 which includes the overview, flows, refr=
esh method, and using tokens (including signatures). By finished I mean tho=
se sections are ready to be submitted as a working group draft -00.<BR>
<BR>
Please review sections 1-5 and submit any changes needed for a -00 draft. T=
his means focus on critical changes that should be made before the document=
 is considered a starting point for the working group.<BR>
<BR>
I am going to ask the chairs for a consensus call about promoting this to a=
 working group draft by 4/19 so please submit feedback as soon as possible.=
<BR>
<BR>
Open issues:<BR>
<BR>
* token size limit<BR>
* restriction on values characters<BR>
* specificity of the assertion flow<BR>
* parameter name prefix<BR>
* single authorization endpoint<BR>
* inclusion of both user-agent flow and native application flow<BR>
* username parameter proposal<BR>
* scope parameter<BR>
* adding refresh token as optional in all access token requests<BR>
* limiting signed requests to use the auth header (no query / form body)<BR=
>
<BR>
Closed issues:<BR>
<BR>
* requiring HTTPS for bearer token protected resource requests<BR>
<BR>
Once we approve this as -00 I plan to post a weekly draft based on the feed=
back received and approved by the group. I will no longer make changes to t=
he draft (after -00) without working group consensus.<BR>
<BR>
Please (PLEASE) don't reply to this message with feedback but instead send =
a separate post for each major issue. Feel free to bunch small comments int=
o one post. This will help facilitate our discussion.<BR>
<BR>
The spec is now 51 pages before adding the security consideration and error=
 codes. It&#8217;s big. I would appreciate any feedback you can spare<BR>
so we can decide next week if it is ready for a -00.<BR>
<BR>
Thanks!<BR>
<BR>
EHL<BR>
</SPAN></FONT>
</BODY>
</HTML>


--_000_C7E860C732129eranhueniversecom_--

From jonathan_moore@comcast.com  Mon Apr 12 07:08:17 2010
Return-Path: <jonathan_moore@comcast.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B9CC728C0D8 for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 07:08:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.429
X-Spam-Level: 
X-Spam-Status: No, score=-3.429 tagged_above=-999 required=5 tests=[AWL=-2.966, BAYES_00=-2.599, HELO_EQ_MODEMCABLE=0.768, HOST_EQ_MODEMCABLE=1.368]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id H32LhsNE9LWG for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 07:08:16 -0700 (PDT)
Received: from paoakoavas09.cable.comcast.com (paoakoavas09.cable.comcast.com [208.17.35.58]) by core3.amsl.com (Postfix) with ESMTP id 4AD9C28B23E for <oauth@ietf.org>; Mon, 12 Apr 2010 07:08:14 -0700 (PDT)
Received: from ([24.40.15.118]) by paoakoavas09.cable.comcast.com with ESMTP  id KP-NTF18.89622992; Mon, 12 Apr 2010 10:07:51 -0400
Received: from PACORPEXCMB03.cable.comcast.com ([24.40.15.85]) by PACDCEXCSMTP04.cable.comcast.com with Microsoft SMTPSVC(6.0.3790.3959); Mon, 12 Apr 2010 10:07:50 -0400
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Date: Mon, 12 Apr 2010 10:07:50 -0400
Message-ID: <ED97F89464499E4D80A68CDCE1E3D1FF06FEA08F@PACORPEXCMB03.cable.comcast.com>
In-Reply-To: <C7E805B8.320F6%eran@hueniverse.com>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: [OAUTH-WG] Limiting signed requests to use the Authorization request header
Thread-Index: AcrZ0lwilyCICVQFRkm12joTbK2ckwAM33UaABAniQA=
References: <87B2E4E4-348D-419D-9813-4194F907AEE6@comcast.com> <C7E805B8.320F6%eran@hueniverse.com>
From: "Moore, Jonathan" <Jonathan_Moore@Comcast.com>
To: "Eran Hammer-Lahav" <eran@hueniverse.com>
X-OriginalArrivalTime: 12 Apr 2010 14:07:50.0448 (UTC) FILETIME=[894D1B00:01CADA49]
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Limiting signed requests to use the Authorization request header
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Apr 2010 14:08:17 -0000

Hi Eran,

I'm not sure it is fair to include this request in with the "there's a =
lot of things people want the core protocol to support", because this is =
something that is available in 1.0a that we're considering taking away.

To be clear, I'm not as concerned with exact backwards compatibility =
(i.e. using exactly the same query parameter signature scheme from 1.0a) =
if I can get "functionality backwards-compatibility". In other words, if =
there's another way to accomplish what I'm trying to do within the new =
spec, then that works for me.

Your proposal below (encode the contents of the Authorization header =
within the URI somewhere) is interesting and might fit the bill. I =
wonder if there's a broader extension which would allow lifting the =
exact contents of the Authorization header into a query parameter, to =
allow for "pre-authorized" GET requests, whether they use OAuth or not. =
I may reach out to the HTTP WG about that.

Jon

-----Original Message-----
From: Eran Hammer-Lahav [mailto:eran@hueniverse.com]=20
Sent: Monday, April 12, 2010 2:03 AM
To: Moore, Jonathan
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Limiting signed requests to use the =
Authorization request header

Hi Jon,

Purely from a process perspective, the same goes with convincing that =
this
use case is core to the protocol. There is already a list of things the =
core
spec does not support (language preference, re-delegation, body =
signatures,
asymmetric secrets, discovery, UI features) which people want it to =
support.
I think part of the discussion should include whether this is *possible* =
to
accomplish with an extension.

For example, a way to encode the entire Authorization header into the
oauth_token parameter (or a different parameter):

  GET =
/resource?oauth_token=3DvF9dft4qmT;nonce;timestamp;algorithm;signature
HTTP/1.1
  Host: server.example.com

Alternatively, the extension can require that any oauth_ parameters be =
added
at the end of the query and removed by the server to recreate the header
before calculating signatures.

It would be helpful to hear from others if they have more use cases =
which
require signed requests with parameters outside the header. Also, this =
will
be a bit more practice to discuss once we have a proposal for signatures
that is simpler than 1.0a (so we can decide whether that simplification
helps and worth the limitation in core).

EHL




On 4/11/10 4:54 PM, "Jonathan Moore" <Jonathan_Moore@Comcast.com> wrote:

> Actually, in this case, I'm imagining a base page that is heavily =
cached (and
> non-personalized), perhaps delivered by CDN, non-SSL. The rendered =
page then
> wants to make an authorized cross-domain call to the Service Provider,
> personalized to the currently logged-in user.
>=20
> I don't think one-time bearer tokens are appropriate here, because I =
would
> need to send the user through a refresh or reacquisition flow for =
every call,
> which kind of defeats the point.
>=20
> I am ok with this generating a non-HTTP AJAX origin request to obtain =
a
> tokenized or signed URL; this can likely be served without significant =
I/O if
> I have the appropriate tokens and secrets cached in memory. However, =
the
> resulting URL must be redeemable without access to the Authorization =
header,
> as I'm going to need to include it in a <script> tag (equivalently, =
make the
> JSONP call with a script insert against the origin that redirects to =
the
> authorized resource -- again, no access to the Authorization header).
>=20
> For scale reasons, I don't want to proxy the call through my origin; =
that
> holds the origin request open while I am waiting for the Service =
Provider to
> return.
>=20
> Cookies don't work here, because I as the origin can't set cookies for =
the
> SP's domain.
>=20
> As I think about it here, I don't think bearer tokens are appropriate, =
as they
> require SSL for this sequence to work.
>=20
> While I can appreciate that the spec is much simpler without the query
> parameter signatures, I think I'm back to needing to be convinced that =
my use
> case can be addressed without them and with similar operational and =
scaling
> characteristics to what is available in OAuth 1.0a.
>=20
> "As simple as possible, but no simpler."
>=20
> Jon
> ........
> Jon Moore
>=20
>=20
> On Apr 11, 2010, at 3:06 PM, "Torsten Lodderstedt" =
<torsten@lodderstedt.net>
> wrote:
>=20
>> I don't know if we are really done. Does the current draft already =
consider
>> one-time tokens? How does a client acquire one-time tokens?
>>=20
>> Moreover, I would prefer the signature solution because of the =
increase in
>> load caused by the acquisition of multiple one-time tokens.
>>=20
>> Apart from that, another possible solution occured to me. Would it be
>> possible to use a cookie containg a token instead of constructing =
URLs
>> carrying different tokens?
>>=20
>> The origin server could acquire an ordinary bearer token and store it =
within
>> a cookie. If the JavaScript code sends HTTP requests and the target =
domain
>> matches the browser should automatically add the cookie to every call =
thus
>> sending the token with every request. The origin server would need to =
refresh
>> the token periodically in order to prevent abuse of the token.
>>=20
>> Would this work?
>>=20
>> regards,
>> Torsten.
>>=20
>> Am 10.04.2010 15:13, schrieb Moore, Jonathan:
>>> =20
>>> Ok, thanks - I was missing the possibility that bearer tokens could =
be
>>> single use. I agree this covers my use case adequately, so I am now
>>> definitely +1 for simplifying the spec in this way.
>>> =20
>>>=20
>>> =20
>>> =20
>>> Thanks for bearing (pun intended) with me.
>>> =20
>>>=20
>>> =20
>>> =20
>>> Jon
>>> =20
>>> ........=20
>>> Jon Moore
>>> =20
>>>=20
>>> =20
>>> =20
>>> =20
>>>=20
>>> On Apr 10, 2010, at 3:30 AM, "Torsten Lodderstedt" =
<torsten@lodderstedt.net
>>> <mailto:torsten@lodderstedt.net> > wrote:
>>> =20
>>> =20
>>> =20
>>>> =20
>>>> From my point of view, your use case can be implemented in two ways
>>>> =20
>>>> 1) tokenized & signed URLs provided by your origin server
>>>> 2) URLs with one-time usage bearer tokens as parameter acquired by =
your
>>>> origin server
>>>> =20
>>>> I see the following pros/cons:
>>>> =20
>>>> Load: (2) requires the origin server to acquire one token per link =
on your
>>>> page from the auth server, which may cause a lot of load on the =
authz
>>>> server :-(. (1) only needs to obtain a single token since the =
signature is
>>>> calculated by the origin server locally. This might be much better =
from a
>>>> load perspective.
>>>> =20
>>>> Security: As a further downside (2) either requires HTTPS =
communication for
>>>> the whole page or you acquire the URL with one-time usage bearer =
token over
>>>> HTTP. Acquisition from authz server can still be performed over =
HTTPS. If
>>>> this acceptable depends on your security considerations.
>>>> =20
>>>> Comments?
>>>> =20
>>>> regards,
>>>> Torsten.
>>>> =20
>>>> Am 10.04.2010 03:34, schrieb Moore, Jonathan:
>>>>> =20
>>>>> However, this doesn't address my earlier use case of a signed,
>>>>> cross-domain JSONP call, especially if it's sitting on a non-HTTPS =
page; I
>>>>> need to make a non-HTTP XHR request to obtain a (signed or =
tokenized) URL
>>>>> to include in my <script> include, so requiring a bearer token and =
SSL
>>>>> basically forces me to have the whole page delivered over HTTPS, =
which may
>>>>> be overkill for my application.=C3'=C2
>>>>> =20
>>>>>=20
>>>>> =20
>>>>> =20
>>>>> While I can understand that token and secret acquisition might =
need SSL,
>>>>> always requiring it on authorized requests too seems too much.
>>>>> =20
>>>>>=20
>>>>> =20
>>>>> =20
>>>>> Can someone explain/re-explain why query parameter signatures need =
to be
>>>>> eliminated? The Authorization header is great when you can =
manipulate it,
>>>>> but you can't always. Why is it problematic for the signatures to =
be able
>>>>> to appear in either place?
>>>>> =20
>>>>>=20
>>>>> =20
>>>>> =20
>>>>> Jon
>>>>> =20
>>>>>=20
>>>>> ........=20
>>>>> Jon Moore
>>>>> =20
>>>>>=20
>>>>> =20
>>>>> =20
>>>>> =20
>>>>>=20
>>>>> On Apr 9, 2010, at 1:39 PM, "Eran Hammer-Lahav" =
<eran@hueniverse.com
>>>>> <mailto:eran@hueniverse.com> > wrote:
>>>>> =20
>>>>> =20
>>>>> =20
>>>>>> =20
>>>>>> In practice this is the same as logging in which I expect to =
require SSL
>>>>>> anyway. Signed or not, attackers should not be able to login to =
your
>>>>>> email account simply by using a MITM attack when you click on =
your IM
>>>>>> client. So SSL is required already.
>>>>>> =20
>>>>>> EHL=20
>>>>>> =20
>>>>>> =20
>>>>>> On 4/9/10 7:30 AM, "George Fletcher" <gffletch@aol.com
>>>>>> <mailto:gffletch@aol.com> > wrote:
>>>>>> =20
>>>>>>  =20
>>>>>>> Yes, this is possible, though to be secure it should really =
happen over
>>>>>>> SSL which is less of a requirement for a signed request.
>>>>>>> =20
>>>>>>> I guess the main question is whether we really need to remove =
the
>>>>>>> signature related parameters from URL and only allow them in the
>>>>>>> Authorization header. For signed requests, these use cases =
pretty much
>>>>>>> require that the signature parameters be allowed in the URL.
>>>>>>> =20
>>>>>>> Obviously, if we change our model to not use signed URLs then =
this issue
>>>>>>> goes away:)
>>>>>>> =20
>>>>>>> Thanks,
>>>>>>> George
>>>>>>> =20
>>>>>>> On 4/9/10 12:58 AM, Brian Eaton wrote:
>>>>>>>  =20
>>>>>>>> =20
>>>>>>>> On Thu, Apr 8, 2010 at 7:08 AM, George Fletcher =
<gffletch@aol.com
>>>>>>>> <mailto:gffletch@aol.com> > <mailto:gffletch@aol.com
>>>>>>>> <mailto:gffletch@aol.com> > =C3'=C2 wrote:
>>>>>>>> =C3'=C2 =C3'=C2=20
>>>>>>>> =C3'=C2=20
>>>>>>>>  =20
>>>>>>>> =20
>>>>>>>> I realize that these sorts of use cases are trivial if =
establishment of
>>>>>>>> the
>>>>>>>> SSO session switches from a signed mechanism to the OAuth WRAP =
bearer
>>>>>>>> token
>>>>>>>> model. The one nice feature of the signed URL is that it is one =
time
>>>>>>>> use
>>>>>>>> where the bearer token can be replayed multiple times.
>>>>>>>> =C3'=C2 =C3'=C2 =C3'=C2 =C3'=C2
>>>>>>>> =C3'=C2=20
>>>>>>>> =20
>>>>>>>>  =20
>>>>>>>> =20
>>>>>>>> Yep, Google does this kind of thing too.
>>>>>>>> =20
>>>>>>>> Is there something that stops you from declaring that a =
particular
>>>>>>>> token is single use?
>>>>>>>> =20
>>>>>>>> 1) Client makes call to Authorization server, passing in either =
the
>>>>>>>> refresh token or an access token (depending on the security =
model you
>>>>>>>> want.)
>>>>>>>> 2) AS returns a token.
>>>>>>>> 3) Client uses the token to pop open a web browser.
>>>>>>>> =20
>>>>>>>> Cheers,
>>>>>>>> Brian
>>>>>>>> =20
>>>>>>>> =C3'=C2 =C3'=C2=20
>>>>>>>> =20
>>>>>>> =20
>>>>>>> =20
>>>>>> =20
>>>>>> =20
>>>>> =20
>>>>>> =20
>>>>>> _______________________________________________
>>>>>>  OAuth mailing list
>>>>>>  OAuth@ietf.org <mailto:OAuth@ietf.org>
>>>>>>  https://www.ietf.org/mailman/listinfo/oauth
>>>>>> <https://www.ietf.org/mailman/listinfo/oauth>
>>>>>> =20
>>>>>> =20
>>>>> =20
>>>>>=20
>>>>> _______________________________________________
>>>>> OAuth mailing list
>>>>> OAuth@ietf.org <mailto:OAuth@ietf.org>
>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>> <https://www.ietf.org/mailman/listinfo/oauth>
>>>>>  =20
>>>>> =20
>>>> =20
>>>> =20
>>>> =20
>>=20
>=20


From atom@yahoo-inc.com  Mon Apr 12 09:39:02 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8718A28C18A for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 09:39:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -15.695
X-Spam-Level: 
X-Spam-Status: No, score=-15.695 tagged_above=-999 required=5 tests=[AWL=0.173, BAYES_00=-2.599, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, MIME_QP_LONG_LINE=1.396, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HEQ-rJzrRWi1 for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 09:38:54 -0700 (PDT)
Received: from mrout2-b.corp.re1.yahoo.com (mrout2-b.corp.re1.yahoo.com [69.147.107.21]) by core3.amsl.com (Postfix) with ESMTP id DB91528C144 for <oauth@ietf.org>; Mon, 12 Apr 2010 09:36:01 -0700 (PDT)
Received: from SNV-EXPF01.ds.corp.yahoo.com (snv-expf01.ds.corp.yahoo.com [207.126.227.250]) by mrout2-b.corp.re1.yahoo.com (8.13.8/8.13.8/y.out) with ESMTP id o3CGXxUT045460; Mon, 12 Apr 2010 09:34:00 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:cc:message-id: thread-topic:thread-index:in-reply-to:mime-version:content-type:x-originalarrivaltime; b=PNn72rY6ZkJ8bRMPZfsFjmkUPcRPCrmby16ttIGGNPv36QlHN8aiiCcerydWpn5x
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXPF01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.3959);  Mon, 12 Apr 2010 09:33:59 -0700
Received: from 10.73.152.139 ([10.73.152.139]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.60]) with Microsoft Exchange Server HTTP-DAV ; Mon, 12 Apr 2010 16:32:59 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Mon, 12 Apr 2010 09:32:58 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: Anthony Nadalin <tonynad@microsoft.com>, Torsten Lodderstedt <torsten@lodderstedt.net>, Eran Hammer-Lahav <eran@hueniverse.com>
Message-ID: <C7E8994A.2AA33%atom@yahoo-inc.com>
Thread-Topic: [OAUTH-WG] Defining a maximum token length?
Thread-Index: AQHKv+NqeBNkDGZuLk6fvcZcrhAM6pIakGKAgACWUgD//6iHcIAAL6wxgABbIo6AAJGGgIAC2DEAgAB4F90=
In-Reply-To: <A08279DC79B11C48AD587060CD93977125EFFC84@TK5EX14MBXC103.redmond.corp.microsoft.com>
Mime-version: 1.0
Content-type: multipart/alternative; boundary="B_3353909578_6423083"
X-OriginalArrivalTime: 12 Apr 2010 16:33:59.0731 (UTC) FILETIME=[F4338030:01CADA5D]
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Defining a maximum token length?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Apr 2010 16:39:02 -0000

> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3353909578_6423083
Content-type: text/plain;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

+1  on having no limits for the Access Token length.

I  fully acknowledge that shorter is better =AD in the case where access
tokens are passed on the URL as query parameters (aka jsonp), there are
practical URL length limits. Bigger tokens consume more network resources,
which can be a severe issue for mobile devices. Likewise, not defining the
token size makes it harder to client developers to size their database.

That being said, given that the underlying APIs that are protected by OAuth=
2
are generally proprietary and are not interoperable, it=B9s really up to the
Service Provider to determine the appropriate requirements and limits for
their Access tokens.

Allen



On 4/12/10 2:23 AM, "Anthony Nadalin" <tonynad@microsoft.com> wrote:

> +1
> =20
>=20
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of
> Torsten Lodderstedt
> Sent: Friday, April 09, 2010 11:57 PM
> To: Eran Hammer-Lahav
> Cc: OAuth WG
> Subject: Re: [OAUTH-WG] Defining a maximum token length?
> =20
> +1 no restriction, please
>=20
> 256 is much too short
>=20
> Am 10.04.2010 07:16, schrieb Eran Hammer-Lahav:
> I would argue that for the spec to provide a token size limit that is gre=
ater
> than 255 would cause more harm than good. This is not to say I am support=
ing
> the 255 limit (I take no position on the matter =AD yeah, that happens rare=
ly).
> If the spec provided a 4K limit, client libraries are likely to codify th=
at
> which will make them extremely wasteful for 99% of the popular cases on t=
he
> web today. A 4K limit doesn=B9t really improve interop since the limit is s=
o
> high, no one is likely to issue even bigger tokens with public APIs.
>=20
> The 255 limit keeps the token size within the most effective database fie=
ld
> size limit for this type of identifier. If we cannot reach consensus on t=
his
> size limit, I don=B9t think the spec should say anything. However, if I wro=
te a
> client library, I would make it use a 255 default size limit and require =
a
> custom configuration to enable it to use something else.
>=20
> So my proposal is 255 or no size guidance/restriction.
>=20
> EHL
>=20
>=20
> On 4/9/10 4:49 PM, "Allen Tom" <atom@yahoo-inc.com> wrote:
> I think a good precedent would be to use the HTTP Cookie size limit, whic=
h
> is 4KB.
>=20
> An OAuth Access Token is like an HTTP Authorization cookie. They're both
> bearer tokens that are used as a credentials for a client to access
> protected resources on behalf of the end user.
>=20
> All Oauth clients have to implement HTTP anyway, so 4KB sounds like a
> reasonable limit.
>=20
> Allen
>=20
>=20
>=20
>> > On Fri, Apr 9, 2010 at 3:14 AM, Luke Shepard <lshepard@facebook.com> w=
rote:
>=20
>>> >>
>>> >> So, what is a reasonable limit for the token length?  1k? 2k? 4k? 5m=
b? I
>>> >> suggest some language like this:
>>> >>
>>> >>
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
> =20
> =20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>  =20
> =20
>=20
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


--B_3353909578_6423083
Content-type: text/html;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Defining a maximum token length?</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:11pt=
'>+1 &nbsp;on having no limits for the Access Token length.<BR>
<BR>
I &nbsp;fully acknowledge that shorter is better &#8211; in the case where =
access tokens are passed on the URL as query parameters (aka jsonp), there a=
re practical URL length limits. Bigger tokens consume more network resources=
, which can be a severe issue for mobile devices. Likewise, not defining the=
 token size makes it harder to client developers to size their database.<BR>
<BR>
That being said, given that the underlying APIs that are protected by OAuth=
2 are generally proprietary and are not interoperable, it&#8217;s really up =
to the Service Provider to determine the appropriate requirements and limits=
 for their Access tokens.<BR>
<BR>
Allen<BR>
<BR>
<BR>
<BR>
On 4/12/10 2:23 AM, &quot;Anthony Nadalin&quot; &lt;<a href=3D"tonynad@micros=
oft.com">tonynad@microsoft.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><=
SPAN STYLE=3D'font-size:11pt'><FONT COLOR=3D"#1F497D">+1<BR>
&nbsp;<BR>
</FONT><BR>
</SPAN></FONT><FONT SIZE=3D"2"><FONT FACE=3D"Tahoma, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:10pt'><B>From:</B> <a href=3D"oauth-bounces@ietf.org">=
oauth-bounces@ietf.org</a> [<a href=3D"mailto:oauth-bounces@ietf.org">mailto:o=
auth-bounces@ietf.org</a>] <B>On Behalf Of </B>Torsten Lodderstedt<BR>
<B>Sent:</B> Friday, April 09, 2010 11:57 PM<BR>
<B>To:</B> Eran Hammer-Lahav<BR>
<B>Cc:</B> OAuth WG<BR>
<B>Subject:</B> Re: [OAUTH-WG] Defining a maximum token length?<BR>
</SPAN></FONT></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12=
pt'> <BR>
+1 no restriction, please<BR>
<BR>
256 is much too short<BR>
<BR>
Am 10.04.2010 07:16, schrieb Eran Hammer-Lahav: <BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'=
font-size:11pt'>I would argue that for the spec to provide a token size limi=
t that is greater than 255 would cause more harm than good. This is not to s=
ay I am supporting the 255 limit (I take no position on the matter &#8211; y=
eah, that happens rarely). If the spec provided a 4K limit, client libraries=
 are likely to codify that which will make them extremely wasteful for 99% o=
f the popular cases on the web today. A 4K limit doesn&#8217;t really improv=
e interop since the limit is so high, no one is likely to issue even bigger =
tokens with public APIs.<BR>
<BR>
The 255 limit keeps the token size within the most effective database field=
 size limit for this type of identifier. If we cannot reach consensus on thi=
s size limit, I don&#8217;t think the spec should say anything. However, if =
I wrote a client library, I would make it use a 255 default size limit and r=
equire a custom configuration to enable it to use something else.<BR>
<BR>
So my proposal is 255 or no size guidance/restriction.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/9/10 4:49 PM, &quot;Allen Tom&quot; &lt;<a href=3D"atom@yahoo-inc.com">a=
tom@yahoo-inc.com</a>&gt; wrote:<BR>
I think a good precedent would be to use the HTTP Cookie size limit, which<=
BR>
is 4KB.<BR>
<BR>
An OAuth Access Token is like an HTTP Authorization cookie. They're both<BR=
>
bearer tokens that are used as a credentials for a client to access<BR>
protected resources on behalf of the end user.<BR>
<BR>
All Oauth clients have to implement HTTP anyway, so 4KB sounds like a<BR>
reasonable limit.<BR>
<BR>
Allen<BR>
<BR>
<BR>
<BR>
&gt; On Fri, Apr 9, 2010 at 3:14 AM, Luke Shepard &lt;<a href=3D"lshepard@fac=
ebook.com">lshepard@facebook.com</a>&gt; wrote:<BR>
<BR>
&gt;&gt;<BR>
&gt;&gt; So, what is a reasonable limit for the token length? &nbsp;1k? 2k?=
 4k? 5mb? I<BR>
&gt;&gt; suggest some language like this:<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/=
mailman/listinfo/oauth</a><BR>
&nbsp;<BR>
&nbsp;<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/=
mailman/listinfo/oauth</a><BR>
&nbsp;&nbsp;<BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'> <B=
R>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'=
font-size:11pt'><BR>
<HR ALIGN=3DCENTER SIZE=3D"3" WIDTH=3D"95%"></SPAN></FONT><FONT SIZE=3D"2"><FONT FA=
CE=3D"Consolas, Courier New, Courier"><SPAN STYLE=3D'font-size:10pt'>___________=
____________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/=
mailman/listinfo/oauth</a><BR>
</SPAN></FONT></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--B_3353909578_6423083--


From uidude@google.com  Mon Apr 12 09:57:39 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 484C43A69F7 for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 09:57:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.539
X-Spam-Level: 
X-Spam-Status: No, score=-101.539 tagged_above=-999 required=5 tests=[AWL=-0.163, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, J_CHICKENPOX_74=0.6, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lkwuuSKVAHVY for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 09:57:37 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 7D03D28C117 for <oauth@ietf.org>; Mon, 12 Apr 2010 09:51:54 -0700 (PDT)
Received: from kpbe16.cbf.corp.google.com (kpbe16.cbf.corp.google.com [172.25.105.80]) by smtp-out.google.com with ESMTP id o3CGphJ2009412 for <oauth@ietf.org>; Mon, 12 Apr 2010 18:51:46 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271091106; bh=HLzdiFOetNhv51ByGgOn6jTpErc=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=FyfrguEtIQ1B2khgqt5ueMrNhqbovfaVstnPjPJshYCBdE1mtBpSwvoe7jECEXeU3 uPlU/9RnJuW+EmnAh6Wrw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=UBjEdjDlwfaqwZHUoKxVhqYZGNseIdv0S3tSRbSjOeQ2KK5XDCBygP29Z3ZlRxfRi z0jN8jmI29MRHWrgNKAhg==
Received: from yxe34 (yxe34.prod.google.com [10.190.2.34]) by kpbe16.cbf.corp.google.com with ESMTP id o3CGpgAS024152 for <oauth@ietf.org>; Mon, 12 Apr 2010 09:51:42 -0700
Received: by yxe34 with SMTP id 34so1752981yxe.8 for <oauth@ietf.org>; Mon, 12 Apr 2010 09:51:42 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.150.179.14 with HTTP; Mon, 12 Apr 2010 09:51:22 -0700 (PDT)
In-Reply-To: <C7E62881.34F3%cmortimore@salesforce.com>
References: <4BC023ED.4040807@lodderstedt.net> <C7E62881.34F3%cmortimore@salesforce.com>
From: Evan Gilbert <uidude@google.com>
Date: Mon, 12 Apr 2010 09:51:22 -0700
Received: by 10.151.61.20 with SMTP id o20mr4142117ybk.318.1271091102395; Mon,  12 Apr 2010 09:51:42 -0700 (PDT)
Message-ID: <g2lc8689b661004120951gbcdfb8fam7dd66782a1088b4b@mail.gmail.com>
To: Chuck Mortimore <cmortimore@salesforce.com>
Content-Type: multipart/alternative; boundary=000325553866a2ae3104840cf5f5
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] A display parameter for user authorization requests
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Apr 2010 16:57:39 -0000

--000325553866a2ae3104840cf5f5
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

+1 in general

Question about display=3Dnone - I missed this part before, and proposed a
different parameter (immediate=3Dtrue) for the same purpose -
http://www.ietf.org/mail-archive/web/oauth/current/msg01694.html.

Anyone have thoughts on whether we should have a separate parameter for
immediate mode?

I could go either way, but have a slight preference for two parameters.
"immediate" feels like a significant functional difference while the displa=
y
variations are more of a UI hint.

Evan


On Sat, Apr 10, 2010 at 1:07 PM, Chuck Mortimore
<cmortimore@salesforce.com>wrote:

>  +1 =96 we=92ll end up requiring some parameter, as agent sniffing can=92=
t
> handle all our needs.
>
> - cmort
>
>
>
> On 4/10/10 12:08 AM, "Torsten Lodderstedt" <torsten@lodderstedt.net>
> wrote:
>
> +1
>
> Am 10.04.2010 02:20, schrieb Allen Tom:
>
> Re: [OAUTH-WG] A display parameter for user authorization requests +1
>
>
> Not sure If it=92s possible for different SPs to agree on the specs for e=
ach
> mode, but as we learned from implementing OpenID, it=92s very useful for =
the
> client to have an interface to indicate to the AS how the UI should be
> rendered.
>
> At least in Yahoo=92s case, we=92d like to see all the display modes you
> listed, although I=92m unclear what =93none=94 is.
>
> Allen
>
>
>
>
> On 4/9/10 3:24 AM, "Luke Shepard" <lshepard@facebook.com> wrote:
>
>
>
> I am still not sure why we **need** discovery in order to just add a
> =93display=94 parameter to the spec.
>
> I would like to see a set like the following supported:
>
> -         popup
>
>  -         fullpage
>
>  -         touch (for smart phones (like iPhone)-like phones)
>
>  -         mobile (for older-mobile phones)
>
>  -         none
>
>
> As Allen mentioned, the =93popup=94 mode was already defined with some su=
ccess
> in OpenID UX:
> http://svn.openid.net/repos/specifications/user_interface/1.0/trunk/openi=
d-user-interface-extension-1_0.html#anchor4
>
> I agree that it can be difficult to standardize all of these right now =
=96 I
> think the best is to see what=92s being used in production now by differe=
nt
> players and  see if we can get agreement on that. At least some broad
> categories could be established now to aid interop.
>
>
>  *From:* oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org<oauth-boun=
ces@ietf.org>]
> *On Behalf Of *Eran Hammer-Lahav
>  *Sent:* Tuesday, March 30, 2010 6:34 PM
>  *To:* Marius Scurtescu; Anthony Nadalin
>  *Cc:* OAuth WG
>  *Subject:* Re: [OAUTH-WG] A display parameter for user authorization
> requests
>
>  They are, but thinking about interop for both parts is the same work.
> Once you figure out what the client might need, you figure out what the
> server may support. At that point discovery is as simple as giving these
> different options names and putting this information somewhere.
>
> I am not saying a spec must cover both, but it is worth thinking about it
> at the same time. For example, a decision about allowing requesting custo=
m
> size popup vs. fixed popup options vs. pre-defined categories, all requir=
e
> different discovery needs. If the feature allows the client to say =93I w=
ant a
> 400x500 popup=94, you just need to say =93popups are supported=94. But if=
 you want
> just allow full browser or popup (of fixed sizes), and do not require a
> server to support all of them, you need to express what is supported.
>
> Given the wide range of UI options, without either mandating everything o=
r
> discovery, this feature offers little interop value (which means little
> reason to write as a standard).
>
> EHL
>
>
> On 3/30/10 5:58 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
> Aren't these independent issues?
>
> Regardless how the client figures what the server supports (discovery
> or hard code configuration) it must have a way to tell the
> Authorization Server its preferences when it sends the user over.
>
> Marius
>
>
>
> On Tue, Mar 30, 2010 at 8:50 PM, Anthony Nadalin <tonynad@microsoft.com>
> wrote:
> > So I doubt that the client always knows what the server supports, the
> server should be open in allowing all parties to find out what is support=
ed
> >
> > -----Original Message-----
> > From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org<oauth-bounc=
es@ietf.org>]
> On Behalf Of Brian Eaton
> > Sent: Tuesday, March 30, 2010 5:44 PM
> > To: Raffi Krikorian
> > Cc: OAuth WG
> > Subject: Re: [OAUTH-WG] A display parameter for user authorization
> requests
> >
> > On Tue, Mar 30, 2010 at 5:25 PM, Raffi Krikorian <raffi@twitter.com>
> wrote:
> >> why does a client need to discover what the server supports?
> >> presumably the client would already know given that they are integrati=
ng
> with it?
> >
> > +1.
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> >
> _______________________________________________
> OAuth mailing list
>  OAuth@ietf.org
>  https://www.ietf.org/mailman/listinfo/oauth
>
>
> ------------------------------
> _______________________________________________
> OAuth mailing list
>  OAuth@ietf.org
>  https://www.ietf.org/mailman/listinfo/oauth
>
>
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

--000325553866a2ae3104840cf5f5
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

+1 in general<div><br></div><div>Question about display=3Dnone - I missed t=
his part before, and proposed a different parameter (immediate=3Dtrue) for =
the same purpose -=A0<a href=3D"http://www.ietf.org/mail-archive/web/oauth/=
current/msg01694.html">http://www.ietf.org/mail-archive/web/oauth/current/m=
sg01694.html</a>.</div>

<div><br></div><div>Anyone have thoughts on whether we should have a=A0sepa=
rate parameter for immediate mode?</div><div><br></div><div>I could go eith=
er way, but have a slight preference for two parameters. &quot;immediate&qu=
ot; feels like a significant functional difference while the display variat=
ions are more of a UI hint.</div>

<div><br></div><div>Evan</div><div><br><br><div class=3D"gmail_quote">On Sa=
t, Apr 10, 2010 at 1:07 PM, Chuck Mortimore <span dir=3D"ltr">&lt;<a href=
=3D"mailto:cmortimore@salesforce.com">cmortimore@salesforce.com</a>&gt;</sp=
an> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">



<div>
<font face=3D"Lucida Grande"><span style=3D"font-size:11pt">+1 =96 we=92ll =
end up requiring some parameter, as agent sniffing can=92t handle all our n=
eeds.<br>
<br>
- cmort<div class=3D"im"><br>
<br>
<br>
On 4/10/10 12:08 AM, &quot;Torsten Lodderstedt&quot; &lt;<a href=3D"http://=
torsten@lodderstedt.net" target=3D"_blank">torsten@lodderstedt.net</a>&gt; =
wrote:<br>
<br>
</div></span></font><blockquote><div class=3D"im"><font face=3D"Lucida Gran=
de"><span style=3D"font-size:11pt">+1<br>
<br>
Am 10.04.2010 02:20, schrieb Allen Tom: <br>
</span></font></div><blockquote><font face=3D"Lucida Grande"><span style=3D=
"font-size:11pt"> Re: [OAUTH-WG] A display parameter for user authorization=
 requests </span></font><span style=3D"font-size:11pt"><font face=3D"Verdan=
a, Helvetica, Arial">+1<div>

<div></div><div class=3D"h5"><br>
=A0<br>
Not sure If it=92s possible for different SPs to agree on the specs for eac=
h mode, but as we learned from implementing OpenID, it=92s very useful for =
the client to have an interface to indicate to the AS how the UI should be =
rendered. <br>


=A0<br>
At least in Yahoo=92s case, we=92d like to see all the display modes you li=
sted, although I=92m unclear what =93none=94 is. <br>
=A0<br>
Allen<br>
=A0<br>
=A0<br>
=A0<br>
=A0<br>
On 4/9/10 3:24 AM, &quot;Luke Shepard&quot; &lt;<a href=3D"http://lshepard@=
facebook.com" target=3D"_blank">lshepard@facebook.com</a>&gt; wrote:<br>
=A0<br>
=A0</div></div></font><font face=3D"Lucida Grande"> <br>
</font></span><div><div></div><div class=3D"h5"><blockquote><span style=3D"=
font-size:11pt"><font color=3D"#1F497D"><font face=3D"Verdana, Helvetica, A=
rial">I am still not sure why we *<b>need</b>* discovery in order to just a=
dd a =93display=94 parameter to the spec.<br>


=A0<br>
I would like to see a set like the following supported:<br>
=A0<br>
- =A0=A0=A0=A0=A0=A0=A0=A0popup<br>
=A0<br>
</font></font><font face=3D"Verdana, Helvetica, Arial"> <font color=3D"#1F4=
97D">- =A0=A0=A0=A0=A0=A0=A0=A0fullpage<br>
=A0<br>
</font> <font color=3D"#1F497D">- =A0=A0=A0=A0=A0=A0=A0=A0touch (for smart =
phones (like iPhone)-like phones)<br>
=A0<br>
</font> <font color=3D"#1F497D">- =A0=A0=A0=A0=A0=A0=A0=A0mobile (for older=
-mobile phones)<br>
=A0<br>
</font> <font color=3D"#1F497D">- =A0=A0=A0=A0=A0=A0=A0=A0none<br>
=A0<br>
</font> <font color=3D"#1F497D"> <br>
As Allen mentioned, the =93popup=94 mode was already defined with some succ=
ess in OpenID UX: <a href=3D"http://svn.openid.net/repos/specifications/use=
r_interface/1.0/trunk/openid-user-interface-extension-1_0.html#anchor4" tar=
get=3D"_blank">http://svn.openid.net/repos/specifications/user_interface/1.=
0/trunk/openid-user-interface-extension-1_0.html#anchor4</a><br>


=A0<br>
I agree that it can be difficult to standardize all of these right now =96 =
I think the best is to see what=92s being used in production now by differe=
nt players and =A0see if we can get agreement on that. At least some broad =
categories could be established now to aid interop.<br>


=A0<br>
=A0<br>
</font> </font></span><font size=3D"2"><font face=3D"Tahoma, Verdana, Helve=
tica, Arial"><span style=3D"font-size:10pt"><b>From:</b> <a href=3D"http://=
oauth-bounces@ietf.org" target=3D"_blank">oauth-bounces@ietf.org</a> [<a hr=
ef=3D"mailto:oauth-bounces@ietf.org" target=3D"_blank">mailto:oauth-bounces=
@ietf.org</a>] <b>On Behalf Of </b>Eran Hammer-Lahav<br>


=A0<b>Sent:</b> Tuesday, March 30, 2010 6:34 PM<br>
=A0<b>To:</b> Marius Scurtescu; Anthony Nadalin<br>
=A0<b>Cc:</b> OAuth WG<br>
=A0<b>Subject:</b> Re: [OAUTH-WG] A display parameter for user authorizatio=
n requests<br>
=A0</span></font></font><font face=3D"Times New Roman"><span style=3D"font-=
size:12pt"> <br>
=A0</span></font><font face=3D"Verdana, Helvetica, Arial"><span style=3D"fo=
nt-size:11pt">They are, but thinking about interop for both parts is the sa=
me work. Once you figure out what the client might need, you figure out wha=
t the server may support. At that point discovery is as simple as giving th=
ese different options names and putting this information somewhere.<br>


=A0<br>
I am not saying a spec must cover both, but it is worth thinking about it a=
t the same time. For example, a decision about allowing requesting custom s=
ize popup vs. fixed popup options vs. pre-defined categories, all require d=
ifferent discovery needs. If the feature allows the client to say =93I want=
 a 400x500 popup=94, you just need to say =93popups are supported=94. But i=
f you want just allow full browser or popup (of fixed sizes), and do not re=
quire a server to support all of them, you need to express what is supporte=
d.<br>


=A0<br>
Given the wide range of UI options, without either mandating everything or =
discovery, this feature offers little interop value (which means little rea=
son to write as a standard).<br>
=A0<br>
EHL<br>
=A0<br>
=A0<br>
On 3/30/10 5:58 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"http://mscu=
rtescu@google.com" target=3D"_blank">mscurtescu@google.com</a>&gt; wrote:<b=
r>
Aren&#39;t these independent issues?<br>
=A0<br>
Regardless how the client figures what the server supports (discovery<br>
or hard code configuration) it must have a way to tell the<br>
Authorization Server its preferences when it sends the user over.<br>
=A0<br>
Marius<br>
=A0<br>
=A0<br>
=A0<br>
On Tue, Mar 30, 2010 at 8:50 PM, Anthony Nadalin &lt;<a href=3D"http://tony=
nad@microsoft.com" target=3D"_blank">tonynad@microsoft.com</a>&gt; wrote:<b=
r>
&gt; So I doubt that the client always knows what the server supports, the =
server should be open in allowing all parties to find out what is supported=
<br>
&gt;<br>
&gt; -----Original Message-----<br>
&gt; From: <a href=3D"http://oauth-bounces@ietf.org" target=3D"_blank">oaut=
h-bounces@ietf.org</a> [<a href=3D"mailto:oauth-bounces@ietf.org" target=3D=
"_blank">mailto:oauth-bounces@ietf.org</a>] On Behalf Of Brian Eaton<br>
&gt; Sent: Tuesday, March 30, 2010 5:44 PM<br>
&gt; To: Raffi Krikorian<br>
&gt; Cc: OAuth WG<br>
&gt; Subject: Re: [OAUTH-WG] A display parameter for user authorization req=
uests<br>
&gt;<br>
&gt; On Tue, Mar 30, 2010 at 5:25 PM, Raffi Krikorian &lt;<a href=3D"http:/=
/raffi@twitter.com" target=3D"_blank">raffi@twitter.com</a>&gt; wrote:<br>
&gt;&gt; why does a client need to discover what the server supports?<br>
&gt;&gt; presumably the client would already know given that they are integ=
rating with it?<br>
&gt;<br>
&gt; +1.<br>
&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a href=3D"http://OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a>=
<br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_bla=
nk">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a href=3D"http://OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a>=
<br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_bla=
nk">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;<br>
_______________________________________________<br>
OAuth mailing list<br>
=A0<a href=3D"http://OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><b=
r>
=A0<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank=
">https://www.ietf.org/mailman/listinfo/oauth</a><br>
=A0<br>
=A0<br>
<hr align=3D"CENTER" size=3D"3" width=3D"95%"></span></font><font size=3D"2=
"><font face=3D"Courier New"><span style=3D"font-size:10pt">_______________=
________________________________<br>
OAuth mailing list<br>
=A0<a href=3D"http://OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><b=
r>
=A0<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank=
">https://www.ietf.org/mailman/listinfo/oauth</a><br>
=A0<br>
</span></font></font></blockquote><font face=3D"Lucida Grande"><span style=
=3D"font-size:11pt"> <br>
<br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"http://OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
=A0=A0<br>
</span></font></div></div></blockquote><font face=3D"Lucida Grande"><span s=
tyle=3D"font-size:11pt"><br>
<br>
</span></font></blockquote>
</div>


<br>_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></blockquote></div><br></div>

--000325553866a2ae3104840cf5f5--

From uidude@google.com  Mon Apr 12 10:15:41 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 430F43A6AAC for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 10:15:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.56
X-Spam-Level: 
X-Spam-Status: No, score=-104.56 tagged_above=-999 required=5 tests=[AWL=-1.184, BAYES_50=0.001, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ghNCNSxYOx2c for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 10:15:39 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id E6E6028C117 for <oauth@ietf.org>; Mon, 12 Apr 2010 10:14:06 -0700 (PDT)
Received: from kpbe16.cbf.corp.google.com (kpbe16.cbf.corp.google.com [172.25.105.80]) by smtp-out.google.com with ESMTP id o3CHE07L006821 for <oauth@ietf.org>; Mon, 12 Apr 2010 10:14:00 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271092441; bh=I7B22GVX+skwrzxFnAUsXkj6xgs=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=GtOli5h9WxQbem1axogEPxxnCfaLCJaX6XSnH84ecjn/oWfKPJDt9v71+uE1pPir5 C9uTrwHTxi5TqB/RYe6/A==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=aakMU1ubGqcwJmyFn1oXFh6iUJtMirDsKPlawPhq6Jt/L6WrglXatr5qB5pZOcSwx NrHAAsX7Pogia4Qf/JArw==
Received: from gwaa20 (gwaa20.prod.google.com [10.200.27.20]) by kpbe16.cbf.corp.google.com with ESMTP id o3CHDx4V019971 for <oauth@ietf.org>; Mon, 12 Apr 2010 10:13:59 -0700
Received: by gwaa20 with SMTP id a20so438816gwa.6 for <oauth@ietf.org>; Mon, 12 Apr 2010 10:13:59 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.150.179.14 with HTTP; Mon, 12 Apr 2010 10:13:39 -0700 (PDT)
In-Reply-To: <C7E555DF.32010%eran@hueniverse.com>
References: <g2pc8689b661004091358h22291c74se660f6288d461064@mail.gmail.com>  <C7E555DF.32010%eran@hueniverse.com>
From: Evan Gilbert <uidude@google.com>
Date: Mon, 12 Apr 2010 10:13:39 -0700
Received: by 10.150.142.12 with SMTP id p12mr4193327ybd.349.1271092439261;  Mon, 12 Apr 2010 10:13:59 -0700 (PDT)
Message-ID: <j2vc8689b661004121013s51dc7de7ke573eae2d5445875@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=000e0cd7552851a10c04840d4595
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Option to not prompt the user for authorization
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Apr 2010 17:15:41 -0000

--000e0cd7552851a10c04840d4595
Content-Type: text/plain; charset=ISO-8859-1

On Fri, Apr 9, 2010 at 10:08 PM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

>
>
>
> On 4/9/10 1:58 PM, "Evan Gilbert" <uidude@google.com> wrote:
>
> >
> >
> > On Fri, Apr 9, 2010 at 11:02 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> > wrote:
> >>
> >>
> >>
> >> On 4/9/10 8:29 AM, "Evan Gilbert" <uidude@google.com> wrote:
> >>
> >>>
> >>>
> >>> On Thu, Apr 8, 2010 at 11:50 PM, Eran Hammer-Lahav <
> eran@hueniverse.com>
> >>> wrote:
> >>>>
> >>>>
> >>>>
> >>>> On 4/8/10 9:17 PM, "Evan Gilbert" <uidude@google.com> wrote:
> >>>>
> >>>>>
> >>>>>
> >>>>> On Thu, Apr 8, 2010 at 12:22 AM, Eran Hammer-Lahav <
> eran@hueniverse.com>
> >>>>> wrote:
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> On 4/7/10 9:20 PM, "Evan Gilbert" <uidude@google.com> wrote:
> >>>>>>
> >>>>>>> Authorization servers in the OAuth Web Callback flow and the User
> Agent
> >>>>>>> flow
> >>>>>>> should have the option to redirect back with access/refresh tokens
> >>>>>>> without
> >>>>>>> prompting the user, if the client has already been granted access
> to the
> >>>>>>> protected resource.
> >>>>>>>
> >>>>>>> This is already implied by some of the text (3.4.3.1 "After
> receiving
> >>>>>>> (or
> >>>>>>> establishing via other means) an authorization decision from the
> >>>>>>> resource
> >>>>>>> owner", but is not supported by the example flows.
> >>>>>>>
> >>>>>>> Suggested changes
> >>>>>>>
> >>>>>>> 3.4.1 Web Callback Flow
> >>>>>>>
> >>>>>>>    (B) The authorization server authenticates the end user (via
> >>>>>>> the user-agent) and MAY prompt the end user to grant or deny
> >>>>>>> the client's
> >>>>>>> access request.
> >>>>>>
> >>>>>> How about instead:
> >>>>>>
> >>>>>> (B) The authorization server authenticates the end user (via the
> >>>>>> user-agent)
> >>>>>> and establishes whether the end user grants or denies the client's
> access
> >>>>>> request.
> >>>>>
> >>>>> The end user doesn't always control the resource grant decision (as
> an
> >>>>> example, a domain admin may grant access for users).
> >>>>
> >>>> No. Bu definition the end user (which is a specialized resource owner)
> is
> >>>> the only party allowed to grant authorization. Whoever grants
> authorization
> >>>> is the resource owner.
> >>>
> >>>  Makes sense. To capture this, think we need to change
> >>>  "establishes whether the end user grants or denies" -> "establishes
> whether
> >>> the resource owner grants or denies".
> >>
> >> In this flow the resource owner is an end user. I have a problem with
> your
> >> premise. No one should be granting client access to end user resources,
> >> except for the end user. If this is a case where the end user is
> accessing
> >> resources owned by someone else (the domain admin), the entire story is
> >> broken (it has both a resource owner and end user who are different).
> >
> > This use case mostly just works & we're excited about using the OAuth
> flow
> > this way. The premise that "no one should be granting client access to
> end
> > user resources,
> > except for the end user" is incorrect - we already support variant of
> this
> > today at Google and it's a requirement for almost all enterprise use
> cases.
>
> The user delegation flows are about an end user (specifically a human
> resource owner) actively approving access. The scenario you are describing
> is where the end user is actually something else, it is not a resource
> owner
> but just "an entity capable of authenticating with the authorization
> server".
>
> In your scenario (which can use the same technical flow, but is a different
> construct), the resource owner (domain admin) grants client access before
> the flow begins, the client then sends an end user to the authorization
> server to authenticate (often blindly, and nothing else), then the
> authorization server acting based on the resource owner's grant, provide
> access.
>
> Your resource owner is by definition not the end user, and your end user is
> by definition on a 'human resource owner'. So while the HTTP calls still
> work, the prose is wrong.
>

Not sure I parsed this. The only significant difference I'm suggesting to
covert is to change "end user" to "resource owner", which I think is only
additive in the use cases it supports.


> If you feel that the current prose *prevents* you from implementing it as
> required by your use case (which I don't think it does), we can add a
> paragraph noting the special case where the resource owner and end user are
> split.
>

The current prose doesn't allow for the domain user granting access. This
limitation is one that authorization services in practice will likely
ignore, but I'd rather the spec state more explicitly allow domain-admin
granted access as an option.

It's a really good thing that the spec would require such minimal changes to
support the domain admin granted use case, and I think we can find
terminology that supports both without confusing it for the end-user
granting use case.

Note that this flow is really important if you want OAuth 2.0 to be useful
and relevant in the enterprise - end-users typically won't be given direct
authority to share their data with 3rd parties.



> EHL
>
>
> > I had assumed that this is why the definition of resource owner is "An
> entity
> > capable of granting access to a protected resource" - this wording covers
> both
> > cases.
>
>
>

--000e0cd7552851a10c04840d4595
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Fri, Apr 9, 2010 at 10:08 PM, Eran Ha=
mmer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com" tar=
get=3D"_blank">eran@hueniverse.com</a>&gt;</span> wrote:<br><blockquote cla=
ss=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;pa=
dding-left:1ex">


<div><div></div><div><br>
<br>
<br>
On 4/9/10 1:58 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"mailto:uidude@go=
ogle.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
<br>
&gt;<br>
&gt;<br>
&gt; On Fri, Apr 9, 2010 at 11:02 AM, Eran Hammer-Lahav &lt;<a href=3D"mail=
to:eran@hueniverse.com" target=3D"_blank">eran@hueniverse.com</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On 4/9/10 8:29 AM, &quot;Evan Gilbert&quot; &lt;<a href=3D"mailto:=
uidude@google.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Thu, Apr 8, 2010 at 11:50 PM, Eran Hammer-Lahav &lt;<a href=
=3D"mailto:eran@hueniverse.com" target=3D"_blank">eran@hueniverse.com</a>&g=
t;<br>
&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On 4/8/10 9:17 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D=
"mailto:uidude@google.com" target=3D"_blank">uidude@google.com</a>&gt; wrot=
e:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; On Thu, Apr 8, 2010 at 12:22 AM, Eran Hammer-Lahav &lt=
;<a href=3D"mailto:eran@hueniverse.com" target=3D"_blank">eran@hueniverse.c=
om</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; On 4/7/10 9:20 PM, &quot;Evan Gilbert&quot; &lt;<a=
 href=3D"mailto:uidude@google.com" target=3D"_blank">uidude@google.com</a>&=
gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Authorization servers in the OAuth Web Callbac=
k flow and the User Agent<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; flow<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; should have the option to redirect back with a=
ccess/refresh tokens<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; without<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; prompting the user, if the client has already =
been granted access to the<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; protected resource.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; This is already implied by some of the text (3=
.4.3.1 &quot;After receiving<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; (or<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; establishing via other means) an authorization=
=A0decision from the<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; resource<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; owner&quot;, but is not supported by the examp=
le flows.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Suggested changes<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; 3.4.1 Web Callback Flow<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; =A0=A0 (B) The authorization server authentica=
tes the end user (via<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; the=A0user-agent) and MAY prompt the end user =
to grant or deny<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; the=A0client&#39;s<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; access request.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; How about instead:<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; (B) The authorization server authenticates the end=
 user (via the<br>
&gt;&gt;&gt;&gt;&gt;&gt; user-agent)<br>
&gt;&gt;&gt;&gt;&gt;&gt; and establishes whether the end user grants or den=
ies the client&#39;s access<br>
&gt;&gt;&gt;&gt;&gt;&gt; request.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; The end user doesn&#39;t always control the resource g=
rant decision (as an<br>
&gt;&gt;&gt;&gt;&gt; example, a domain admin may grant access for users).=
=A0<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; No. Bu definition the end user (which is a specialized res=
ource owner) is<br>
&gt;&gt;&gt;&gt; the only party allowed to grant authorization. Whoever gra=
nts authorization<br>
&gt;&gt;&gt;&gt; is the resource owner.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; =A0Makes sense. To capture this, think we need to change<br>
&gt;&gt;&gt; =A0&quot;establishes whether the end user grants or denies&quo=
t; -&gt; &quot;establishes whether<br>
&gt;&gt;&gt; the resource owner grants or denies&quot;.<br>
&gt;&gt;<br>
&gt;&gt; In this flow the resource owner is an end user. I have a problem w=
ith your<br>
&gt;&gt; premise. No one should be granting client access to end user resou=
rces,<br>
&gt;&gt; except for the end user. If this is a case where the end user is a=
ccessing<br>
&gt;&gt; resources owned by someone else (the domain admin), the entire sto=
ry is<br>
&gt;&gt; broken (it has both a resource owner and end user who are differen=
t).<br>
&gt;<br>
&gt; This use case mostly just works &amp; we&#39;re excited about using th=
e OAuth flow<br>
&gt; this way. The premise that &quot;no one should be granting client acce=
ss to end<br>
&gt; user resources,<br>
&gt; except for the end user&quot; is incorrect - we already support varian=
t of this<br>
&gt; today at Google and it&#39;s a requirement for almost all enterprise u=
se cases.<br>
<br>
</div></div>The user delegation flows are about an end user (specifically a=
 human<br>
resource owner) actively approving access. The scenario you are describing<=
br>
is where the end user is actually something else, it is not a resource owne=
r<br>
but just &quot;an entity capable of authenticating with the authorization<b=
r>
server&quot;.<br>
<br>
In your scenario (which can use the same technical flow, but is a different=
<br>
construct), the resource owner (domain admin) grants client access before<b=
r>
the flow begins, the client then sends an end user to the authorization<br>
server to authenticate (often blindly, and nothing else), then the<br>
authorization server acting based on the resource owner&#39;s grant, provid=
e<br>
access.<br>
<br>
Your resource owner is by definition not the end user, and your end user is=
<br>
by definition on a &#39;human resource owner&#39;. So while the HTTP calls =
still<br>
work, the prose is wrong.<br></blockquote><div><br></div><div>Not sure I pa=
rsed this. The only significant difference I&#39;m suggesting to covert is =
to change &quot;end user&quot; to &quot;resource owner&quot;, which I think=
 is only additive in the use cases it supports.</div>

<div><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex=
;border-left:1px #ccc solid;padding-left:1ex">
<br>
If you feel that the current prose *prevents* you from implementing it as<b=
r>
required by your use case (which I don&#39;t think it does), we can add a<b=
r>
paragraph noting the special case where the resource owner and end user are=
<br>
split.<br></blockquote><div><br></div><div>The current prose doesn&#39;t al=
low for the domain user granting access. This limitation is one that author=
ization services in practice will likely ignore, but I&#39;d rather the spe=
c state more explicitly allow domain-admin granted access as an option.</di=
v>

<div><br></div><div>It&#39;s a really good thing that the spec would requir=
e such minimal changes to support the domain admin granted use case, and I =
think we can find terminology that supports both without confusing it for t=
he end-user granting use case.</div>

<div><br></div><div>Note that this flow is really important if you want OAu=
th 2.0 to be useful and relevant in the enterprise - end-users typically wo=
n&#39;t be given direct authority to share their data with 3rd parties.</di=
v>

<div><br></div><div><br></div><blockquote class=3D"gmail_quote" style=3D"ma=
rgin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<font color=3D"#888888"><br>
EHL<br>
</font><div><div></div><div><br>
<br>
&gt; I had assumed that this is why the definition of resource owner is &qu=
ot;An entity<br>
&gt; capable of granting access to a protected resource&quot; - this wordin=
g covers both<br>
&gt; cases.<br>
<br>
<br>
</div></div></blockquote></div><br>

--000e0cd7552851a10c04840d4595--

From beaton@google.com  Mon Apr 12 10:42:36 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id ADC043A69B5; Mon, 12 Apr 2010 10:42:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.977
X-Spam-Level: 
X-Spam-Status: No, score=-101.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XyV-z0Lc8lMh; Mon, 12 Apr 2010 10:42:32 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id BE37B3A6A1F; Mon, 12 Apr 2010 10:42:26 -0700 (PDT)
Received: from hpaq14.eem.corp.google.com (hpaq14.eem.corp.google.com [10.3.21.14]) by smtp-out.google.com with ESMTP id o3CHgJOX005034; Mon, 12 Apr 2010 19:42:20 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271094140; bh=mk0/iZYTSKTgZfMWcKuz2GZMg5g=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type:Content-Transfer-Encoding; b=JgifI1YiWnuqc2V6MlshcOJcRWMYxOTFV1C12ZggkrZa2Me1KsJgIXSjpAKbLcdQa 3Ddpc0U9mpoPLjaT6nJRQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:content-transfer-encoding:x-system-of-record; b=PqpHtvvmnpHsnPSGn1FDRxR0jnF2XQgypxkleB4ROoYz4L9sG42WZlW0Fuzt+rEDz nVC9LtHo138fqK1U7ex5w==
Received: from vws17 (vws17.prod.google.com [10.241.21.145]) by hpaq14.eem.corp.google.com with ESMTP id o3CHgHvZ012927; Mon, 12 Apr 2010 19:42:18 +0200
Received: by vws17 with SMTP id 17so38186vws.23 for <multiple recipients>; Mon, 12 Apr 2010 10:42:17 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.124.2 with HTTP; Mon, 12 Apr 2010 10:42:16 -0700 (PDT)
In-Reply-To: <C7E62781.34EE%cmortimore@salesforce.com>
References: <C7E5508A.32008%eran@hueniverse.com> <C7E62781.34EE%cmortimore@salesforce.com>
Date: Mon, 12 Apr 2010 10:42:16 -0700
Received: by 10.220.107.73 with SMTP id a9mr2235119vcp.65.1271094136318; Mon,  12 Apr 2010 10:42:16 -0700 (PDT)
Message-ID: <l2sdaf5b9571004121042uf9b1943dz2c69678ebfde1111@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Chuck Mortimore <cmortimore@salesforce.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: "apps-discuss@ietf.org" <apps-discuss@ietf.org>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Native applications capable of handling callbacks
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Apr 2010 17:42:36 -0000

On Sat, Apr 10, 2010 at 1:02 PM, Chuck Mortimore
<cmortimore@salesforce.com> wrote:
> While I agree it=92s a bit of an abusive practice, it is a pervasive one,=
 and
> I=92m worried about our ability to actually change the behavior of these
> platforms ( Mozilla is in the list as well ).
>
> So =96 it=92s a bit of a trade off. =A0=A0I certainly don=92t want to add=
 anything to
> the spec that won=92t get approved. =A0On the other hand, pragmatically, =
I=92m
> mostly concerned with securing these devices and how my customer=92s
> credentials are used with them. =A0=A0=A0I know the pattern of usage emer=
ged
> on-top of Oauth 1; I suspect it will emerge in Oauth2, so I=92d be inclin=
ed to
> offer some guidance.
>
> I=92ll defer to your advise on how best to handle it within the IETF and =
the
> spec...

Agreed.  This is a hard problem, and developers need guidance on what
kind of solutions work in practice.

From lshepard@facebook.com  Mon Apr 12 11:04:47 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A215E3A6AA2 for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 11:04:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.964
X-Spam-Level: 
X-Spam-Status: No, score=-2.964 tagged_above=-999 required=5 tests=[AWL=-0.300, BAYES_00=-2.599, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, J_CHICKENPOX_74=0.6, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZaNfmq55XmhA for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 11:04:36 -0700 (PDT)
Received: from mailout-snc1.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 386503A68E5 for <oauth@ietf.org>; Mon, 12 Apr 2010 11:04:36 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.212]) by pp01.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3CI46eH000985 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Mon, 12 Apr 2010 11:04:06 -0700
Received: from sc-hub06.TheFacebook.com (192.168.18.83) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.682.1; Mon, 12 Apr 2010 11:04:23 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub06.TheFacebook.com ([192.168.18.83]) with mapi; Mon, 12 Apr 2010 11:04:22 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Evan Gilbert <uidude@google.com>, Chuck Mortimore <cmortimore@salesforce.com>
Date: Mon, 12 Apr 2010 11:04:16 -0700
Thread-Topic: [OAUTH-WG] A display parameter for user authorization requests
Thread-Index: AcraYUU+DWp6xYltTg+FlVOeoeSVVgACQgRQ
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66DA6A@SC-MBXC1.TheFacebook.com>
References: <4BC023ED.4040807@lodderstedt.net> <C7E62881.34F3%cmortimore@salesforce.com> <g2lc8689b661004120951gbcdfb8fam7dd66782a1088b4b@mail.gmail.com>
In-Reply-To: <g2lc8689b661004120951gbcdfb8fam7dd66782a1088b4b@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_2513A610118CC14C8E622C376C8DEC93D54D66DA6ASCMBXC1TheFac_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-12_10:2010-02-06, 2010-04-12, 2010-04-12 signatures=0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] A display parameter for user authorization requests
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Apr 2010 18:04:47 -0000

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DA6ASCMBXC1TheFac_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Yes- I threw that in there as one way of handling an immediate response. We=
 will need the ability to do a background ping in an iframe, similar to che=
ckid_immediate in OpenID.

I agree that the parameters are functionally different ... on the other han=
d, they are mutually exclusive (you won't ever have a display and an immedi=
ate parameter set to the same) so by making it one parameter, you avoid cer=
tain error cases (i.e., what does a server do with "display=3Dpage&immediat=
e=3Dtrue")

From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
van Gilbert
Sent: Monday, April 12, 2010 9:51 AM
To: Chuck Mortimore
Cc: OAuth WG
Subject: Re: [OAUTH-WG] A display parameter for user authorization requests

+1 in general

Question about display=3Dnone - I missed this part before, and proposed a d=
ifferent parameter (immediate=3Dtrue) for the same purpose - http://www.iet=
f.org/mail-archive/web/oauth/current/msg01694.html.

Anyone have thoughts on whether we should have a separate parameter for imm=
ediate mode?

I could go either way, but have a slight preference for two parameters. "im=
mediate" feels like a significant functional difference while the display v=
ariations are more of a UI hint.

Evan

On Sat, Apr 10, 2010 at 1:07 PM, Chuck Mortimore <cmortimore@salesforce.com=
<mailto:cmortimore@salesforce.com>> wrote:
+1 - we'll end up requiring some parameter, as agent sniffing can't handle =
all our needs.

- cmort



On 4/10/10 12:08 AM, "Torsten Lodderstedt" <torsten@lodderstedt.net<http://=
torsten@lodderstedt.net>> wrote:
+1

Am 10.04.2010 02:20, schrieb Allen Tom:
Re: [OAUTH-WG] A display parameter for user authorization requests +1


Not sure If it's possible for different SPs to agree on the specs for each =
mode, but as we learned from implementing OpenID, it's very useful for the =
client to have an interface to indicate to the AS how the UI should be rend=
ered.

At least in Yahoo's case, we'd like to see all the display modes you listed=
, although I'm unclear what "none" is.

Allen




On 4/9/10 3:24 AM, "Luke Shepard" <lshepard@facebook.com<http://lshepard@fa=
cebook.com>> wrote:



I am still not sure why we *need* discovery in order to just add a "display=
" parameter to the spec.

I would like to see a set like the following supported:

-         popup

-         fullpage

-         touch (for smart phones (like iPhone)-like phones)

-         mobile (for older-mobile phones)

-         none


As Allen mentioned, the "popup" mode was already defined with some success =
in OpenID UX: http://svn.openid.net/repos/specifications/user_interface/1.0=
/trunk/openid-user-interface-extension-1_0.html#anchor4

I agree that it can be difficult to standardize all of these right now - I =
think the best is to see what's being used in production now by different p=
layers and  see if we can get agreement on that. At least some broad catego=
ries could be established now to aid interop.


From: oauth-bounces@ietf.org<http://oauth-bounces@ietf.org> [mailto:oauth-b=
ounces@ietf.org] On Behalf Of Eran Hammer-Lahav
 Sent: Tuesday, March 30, 2010 6:34 PM
 To: Marius Scurtescu; Anthony Nadalin
 Cc: OAuth WG
 Subject: Re: [OAUTH-WG] A display parameter for user authorization request=
s

 They are, but thinking about interop for both parts is the same work. Once=
 you figure out what the client might need, you figure out what the server =
may support. At that point discovery is as simple as giving these different=
 options names and putting this information somewhere.

I am not saying a spec must cover both, but it is worth thinking about it a=
t the same time. For example, a decision about allowing requesting custom s=
ize popup vs. fixed popup options vs. pre-defined categories, all require d=
ifferent discovery needs. If the feature allows the client to say "I want a=
 400x500 popup", you just need to say "popups are supported". But if you wa=
nt just allow full browser or popup (of fixed sizes), and do not require a =
server to support all of them, you need to express what is supported.

Given the wide range of UI options, without either mandating everything or =
discovery, this feature offers little interop value (which means little rea=
son to write as a standard).

EHL


On 3/30/10 5:58 PM, "Marius Scurtescu" <mscurtescu@google.com<http://mscurt=
escu@google.com>> wrote:
Aren't these independent issues?

Regardless how the client figures what the server supports (discovery
or hard code configuration) it must have a way to tell the
Authorization Server its preferences when it sends the user over.

Marius



On Tue, Mar 30, 2010 at 8:50 PM, Anthony Nadalin <tonynad@microsoft.com<htt=
p://tonynad@microsoft.com>> wrote:
> So I doubt that the client always knows what the server supports, the ser=
ver should be open in allowing all parties to find out what is supported
>
> -----Original Message-----
> From: oauth-bounces@ietf.org<http://oauth-bounces@ietf.org> [mailto:oauth=
-bounces@ietf.org] On Behalf Of Brian Eaton
> Sent: Tuesday, March 30, 2010 5:44 PM
> To: Raffi Krikorian
> Cc: OAuth WG
> Subject: Re: [OAUTH-WG] A display parameter for user authorization reques=
ts
>
> On Tue, Mar 30, 2010 at 5:25 PM, Raffi Krikorian <raffi@twitter.com<http:=
//raffi@twitter.com>> wrote:
>> why does a client need to discover what the server supports?
>> presumably the client would already know given that they are integrating=
 with it?
>
> +1.
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org<http://OAuth@ietf.org>
> https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org<http://OAuth@ietf.org>
> https://www.ietf.org/mailman/listinfo/oauth
>
_______________________________________________
OAuth mailing list
 OAuth@ietf.org<http://OAuth@ietf.org>
 https://www.ietf.org/mailman/listinfo/oauth


________________________________
_______________________________________________
OAuth mailing list
 OAuth@ietf.org<http://OAuth@ietf.org>
 https://www.ietf.org/mailman/listinfo/oauth




_______________________________________________
OAuth mailing list
OAuth@ietf.org<http://OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth



_______________________________________________
OAuth mailing list
OAuth@ietf.org<mailto:OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth


--_000_2513A610118CC14C8E622C376C8DEC93D54D66DA6ASCMBXC1TheFac_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:Verdana;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:"Lucida Grande";
	panose-1:0 0 0 0 0 0 0 0 0 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>Yes- I threw that in there as one way of handling an immedia=
te
response. We will need the ability to do a background ping in an iframe,
similar to checkid_immediate in OpenID.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>I agree that the parameters are functionally different ... o=
n
the other hand, they are mutually exclusive (you won&#8217;t ever have a di=
splay and
an immediate parameter set to the same) so by making it one parameter, you
avoid certain error cases (i.e., what does a server do with &#8220;display=
=3Dpage&amp;immediate=3Dtrue&#8221;)<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in'>

<p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma=
","sans-serif"'>From:</span></b><span
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] <b>On Behalf Of </b>=
Evan
Gilbert<br>
<b>Sent:</b> Monday, April 12, 2010 9:51 AM<br>
<b>To:</b> Chuck Mortimore<br>
<b>Cc:</b> OAuth WG<br>
<b>Subject:</b> Re: [OAUTH-WG] A display parameter for user authorization
requests<o:p></o:p></span></p>

</div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

<p class=3DMsoNormal>+1 in general<o:p></o:p></p>

<div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=3DMsoNormal>Question about display=3Dnone - I missed this part bef=
ore, and
proposed a different parameter (immediate=3Dtrue) for the same purpose -&nb=
sp;<a
href=3D"http://www.ietf.org/mail-archive/web/oauth/current/msg01694.html">h=
ttp://www.ietf.org/mail-archive/web/oauth/current/msg01694.html</a>.<o:p></=
o:p></p>

</div>

<div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=3DMsoNormal>Anyone have thoughts on whether we should have
a&nbsp;separate parameter for immediate mode?<o:p></o:p></p>

</div>

<div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=3DMsoNormal>I could go either way, but have a slight preference fo=
r two
parameters. &quot;immediate&quot; feels like a significant functional
difference while the display variations are more of a UI hint.<o:p></o:p></=
p>

</div>

<div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=3DMsoNormal>Evan<o:p></o:p></p>

</div>

<div>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><o:p>&nbsp;</o:p></p>

<div>

<p class=3DMsoNormal>On Sat, Apr 10, 2010 at 1:07 PM, Chuck Mortimore &lt;<=
a
href=3D"mailto:cmortimore@salesforce.com">cmortimore@salesforce.com</a>&gt;
wrote:<o:p></o:p></p>

<div>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Lucida Gr=
ande","serif"'>+1
&#8211; we&#8217;ll end up requiring some parameter, as agent sniffing can&=
#8217;t handle all our
needs.<br>
<br>
- cmort<o:p></o:p></span></p>

<div>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><span style=3D'font-siz=
e:11.0pt;
font-family:"Lucida Grande","serif"'><br>
<br>
<br>
On 4/10/10 12:08 AM, &quot;Torsten Lodderstedt&quot; &lt;<a
href=3D"http://torsten@lodderstedt.net" target=3D"_blank">torsten@lodderste=
dt.net</a>&gt;
wrote:<o:p></o:p></span></p>

</div>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt'>

<div>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Lucida Gr=
ande","serif"'>+1<br>
<br>
Am 10.04.2010 02:20, schrieb Allen Tom: </span><o:p></o:p></p>

</div>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt'>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Lucida Gr=
ande","serif"'>Re:
[OAUTH-WG] A display parameter for user authorization requests </span><span
style=3D'font-size:11.0pt;font-family:"Verdana","sans-serif"'>+1<o:p></o:p>=
</span></p>

<div>

<div>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Verdana",=
"sans-serif"'><br>
&nbsp;<br>
Not sure If it&#8217;s possible for different SPs to agree on the specs for=
 each
mode, but as we learned from implementing OpenID, it&#8217;s very useful fo=
r the
client to have an interface to indicate to the AS how the UI should be
rendered. <br>
&nbsp;<br>
At least in Yahoo&#8217;s case, we&#8217;d like to see all the display mode=
s you listed,
although I&#8217;m unclear what &#8220;none&#8221; is. <br>
&nbsp;<br>
Allen<br>
&nbsp;<br>
&nbsp;<br>
&nbsp;<br>
&nbsp;<br>
On 4/9/10 3:24 AM, &quot;Luke Shepard&quot; &lt;<a
href=3D"http://lshepard@facebook.com" target=3D"_blank">lshepard@facebook.c=
om</a>&gt;
wrote:<br>
&nbsp;<br>
&nbsp;<o:p></o:p></span></p>

</div>

</div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

<div>

<div>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt'>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Verdana",=
"sans-serif";
color:#1F497D'>I am still not sure why we *<b>need</b>* discovery in order =
to
just add a &#8220;display&#8221; parameter to the spec.<br>
&nbsp;<br>
I would like to see a set like the following supported:<br>
&nbsp;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup<br>
&nbsp;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fullpage<br>
&nbsp;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;touch (for smart phones (=
like
iPhone)-like phones)<br>
&nbsp;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mobile (for older-mobile
phones)<br>
&nbsp;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;none<br>
&nbsp;<br>
<br>
As Allen mentioned, the &#8220;popup&#8221; mode was already defined with s=
ome success in
OpenID UX: <a
href=3D"http://svn.openid.net/repos/specifications/user_interface/1.0/trunk=
/openid-user-interface-extension-1_0.html#anchor4"
target=3D"_blank">http://svn.openid.net/repos/specifications/user_interface=
/1.0/trunk/openid-user-interface-extension-1_0.html#anchor4</a><br>
&nbsp;<br>
I agree that it can be difficult to standardize all of these right now &#82=
11; I
think the best is to see what&#8217;s being used in production now by diffe=
rent
players and &nbsp;see if we can get agreement on that. At least some broad
categories could be established now to aid interop.<br>
&nbsp;<br>
&nbsp;<br>
</span><b><span style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"=
'>From:</span></b><span
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> <a
href=3D"http://oauth-bounces@ietf.org" target=3D"_blank">oauth-bounces@ietf=
.org</a>
[<a href=3D"mailto:oauth-bounces@ietf.org" target=3D"_blank">mailto:oauth-b=
ounces@ietf.org</a>]
<b>On Behalf Of </b>Eran Hammer-Lahav<br>
&nbsp;<b>Sent:</b> Tuesday, March 30, 2010 6:34 PM<br>
&nbsp;<b>To:</b> Marius Scurtescu; Anthony Nadalin<br>
&nbsp;<b>Cc:</b> OAuth WG<br>
&nbsp;<b>Subject:</b> Re: [OAUTH-WG] A display parameter for user authoriza=
tion
requests<br>
&nbsp;</span> <br>
&nbsp;<span style=3D'font-size:11.0pt;font-family:"Verdana","sans-serif"'>T=
hey
are, but thinking about interop for both parts is the same work. Once you
figure out what the client might need, you figure out what the server may
support. At that point discovery is as simple as giving these different opt=
ions
names and putting this information somewhere.<br>
&nbsp;<br>
I am not saying a spec must cover both, but it is worth thinking about it a=
t
the same time. For example, a decision about allowing requesting custom siz=
e
popup vs. fixed popup options vs. pre-defined categories, all require diffe=
rent
discovery needs. If the feature allows the client to say &#8220;I want a 40=
0x500
popup&#8221;, you just need to say &#8220;popups are supported&#8221;. But =
if you want just allow
full browser or popup (of fixed sizes), and do not require a server to supp=
ort
all of them, you need to express what is supported.<br>
&nbsp;<br>
Given the wide range of UI options, without either mandating everything or
discovery, this feature offers little interop value (which means little rea=
son
to write as a standard).<br>
&nbsp;<br>
EHL<br>
&nbsp;<br>
&nbsp;<br>
On 3/30/10 5:58 PM, &quot;Marius Scurtescu&quot; &lt;<a
href=3D"http://mscurtescu@google.com" target=3D"_blank">mscurtescu@google.c=
om</a>&gt;
wrote:<br>
Aren't these independent issues?<br>
&nbsp;<br>
Regardless how the client figures what the server supports (discovery<br>
or hard code configuration) it must have a way to tell the<br>
Authorization Server its preferences when it sends the user over.<br>
&nbsp;<br>
Marius<br>
&nbsp;<br>
&nbsp;<br>
&nbsp;<br>
On Tue, Mar 30, 2010 at 8:50 PM, Anthony Nadalin &lt;<a
href=3D"http://tonynad@microsoft.com" target=3D"_blank">tonynad@microsoft.c=
om</a>&gt;
wrote:<br>
&gt; So I doubt that the client always knows what the server supports, the
server should be open in allowing all parties to find out what is supported=
<br>
&gt;<br>
&gt; -----Original Message-----<br>
&gt; From: <a href=3D"http://oauth-bounces@ietf.org" target=3D"_blank">oaut=
h-bounces@ietf.org</a>
[<a href=3D"mailto:oauth-bounces@ietf.org" target=3D"_blank">mailto:oauth-b=
ounces@ietf.org</a>]
On Behalf Of Brian Eaton<br>
&gt; Sent: Tuesday, March 30, 2010 5:44 PM<br>
&gt; To: Raffi Krikorian<br>
&gt; Cc: OAuth WG<br>
&gt; Subject: Re: [OAUTH-WG] A display parameter for user authorization
requests<br>
&gt;<br>
&gt; On Tue, Mar 30, 2010 at 5:25 PM, Raffi Krikorian &lt;<a
href=3D"http://raffi@twitter.com" target=3D"_blank">raffi@twitter.com</a>&g=
t;
wrote:<br>
&gt;&gt; why does a client need to discover what the server supports?<br>
&gt;&gt; presumably the client would already know given that they are
integrating with it?<br>
&gt;<br>
&gt; +1.<br>
&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a href=3D"http://OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a>=
<br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_bla=
nk">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a href=3D"http://OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a>=
<br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_bla=
nk">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;<br>
_______________________________________________<br>
OAuth mailing list<br>
&nbsp;<a href=3D"http://OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a=
><br>
&nbsp;<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_bl=
ank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&nbsp;<br>
&nbsp;<o:p></o:p></span></p>

<div class=3DMsoNormal align=3Dcenter style=3D'text-align:center'><span
style=3D'font-size:11.0pt;font-family:"Verdana","sans-serif"'>

<hr size=3D3 width=3D"95%" align=3Dcenter>

</span></div>

<p class=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"Courier N=
ew"'>_______________________________________________<br>
OAuth mailing list<br>
&nbsp;<a href=3D"http://OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a=
><br>
&nbsp;<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_bl=
ank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&nbsp;</span><o:p></o:p></p>

</blockquote>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Lucida Gr=
ande","serif"'><br>
<br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"http://OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
&nbsp;&nbsp;</span><o:p></o:p></p>

</div>

</div>

</blockquote>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><o:p>&nbsp;</o:p></p>

</blockquote>

</div>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><o:p></o:p></p>

</div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

</div>

</div>

</body>

</html>

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DA6ASCMBXC1TheFac_--

From torsten@lodderstedt.net  Mon Apr 12 11:57:12 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 60BE928C16E for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 11:57:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.677
X-Spam-Level: 
X-Spam-Status: No, score=-0.677 tagged_above=-999 required=5 tests=[AWL=-1.139, BAYES_50=0.001, HELO_EQ_DE=0.35, SARE_NETPROD=0.111]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id N2BYWPz1ELGl for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 11:57:11 -0700 (PDT)
Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.18.14]) by core3.amsl.com (Postfix) with ESMTP id DBC3B28C186 for <oauth@ietf.org>; Mon, 12 Apr 2010 11:57:05 -0700 (PDT)
Received: from p4fff12ae.dip.t-dialin.net ([79.255.18.174] helo=[127.0.0.1]) by smtprelay02.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O1Ooc-0007kj-VW; Mon, 12 Apr 2010 20:56:59 +0200
Message-ID: <4BC36CF7.2080507@lodderstedt.net>
Date: Mon, 12 Apr 2010 20:56:55 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <C7E70466.320B6%eran@hueniverse.com>
In-Reply-To: <C7E70466.320B6%eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on sections 5-7
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Apr 2010 18:57:12 -0000

>> As far as I know, OAuth 1.0a did not support bearer tokens.
>>      
> Sure it did. Not cleanly (the RFC version fixed that) but since there is no
> requirement to have a token secret, the PLAINTEXT method could easily be
> used as a bearer token.
>    

And what about the consumer secret? Isn't that required?


> I think your concerns about exposing tokens included in the URI query are
> justified, but it is far less complicated than you portrait it. Initially,
> OAuth calls made by the browser are more likely to happen through JS code
> requesting JSON data than the browser opening a web page using OAuth as
> access control.
>
> If OAuth ever gets to the point where it replaces Basic auth in the browser,
> or used instead of other cookie-based authentication systems, it will gain
> native browser support which will use the header exclusively. Until then, JS
> code cannot make OAuth requests without other ways to send the token.
>    

As far as I know, JavaScript code can set headers, incl. Authorization 
Headers, using the operation setRequestHeaders of the XMLHttpRequest 
object 
(https://developer.mozilla.org/en/XMLHttpRequest#setRequestHeader%28%29). Browser 
support would be much better (and would make it easier) but is not 
required.

>>> Facebook and Yahoo! (as an example) have about 400-500 million users today.
>>> They want to deploy OAuth 2.0 within a few months. Clearly expecting these
>>> users to upgrade their browser to a version not likely to be available for a
>>> year isn't practical.
>>>
>>>        
>> Impressive numbers! I'm eager to learn the usage scenario which directly
>> involves the browser and requires query parameters. Here at Deutsche
>> Telekom we operate a token service based on a combination of OAuth 1.0a
>> and proprietary mechanisms with a charactiericts similar to OAUTH2. We
>> use this service to secure internet products for the german customers
>> (>40 million).  Service requests use Authorization headers only (e.g.
>> for security reasons). I would like to learn whether we missed something.
>>      
> How about a Twitter client written completely in JS running the browser?
> Widgets loading OAuth-protected data in a social network page? There are
> plenty of such examples.
>    

See above, JavaScript code can set Authorization headers.

Nevertheless, from my point of view, examples discussed in thread 
"Limiting signed requests to use the Authorization request header" 
justify both bearer tokens as well as signed tokens as URI Query Parameters.

I still don't see justification for Form-Encoded Body Parameters.

regards,
Torsten.

> EHL
>
>    



From lshepard@facebook.com  Mon Apr 12 12:04:36 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id EFF8028C190 for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 12:04:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.222
X-Spam-Level: 
X-Spam-Status: No, score=-3.222 tagged_above=-999 required=5 tests=[AWL=0.043,  BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jncRuCu+tXY4 for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 12:04:35 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 1C6E03A6A63 for <oauth@ietf.org>; Mon, 12 Apr 2010 12:04:13 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.212]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3CJ3UrF018713 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Mon, 12 Apr 2010 12:03:30 -0700
Received: from sc-hub01.TheFacebook.com (192.168.18.104) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.682.1; Mon, 12 Apr 2010 12:02:50 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub01.TheFacebook.com ([192.168.18.104]) with mapi; Mon, 12 Apr 2010 12:00:49 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>, Eran Hammer-Lahav <eran@hueniverse.com>
Date: Mon, 12 Apr 2010 12:00:48 -0700
Thread-Topic: [OAUTH-WG] Comments on sections 5-7
Thread-Index: Acracfk8YUivLYc4TQGsT7lQiha47AAAArww
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66DA83@SC-MBXC1.TheFacebook.com>
References: <C7E70466.320B6%eran@hueniverse.com> <4BC36CF7.2080507@lodderstedt.net>
In-Reply-To: <4BC36CF7.2080507@lodderstedt.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-12_10:2010-02-06, 2010-04-12, 2010-04-12 signatures=0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on sections 5-7
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Apr 2010 19:04:36 -0000

>> If OAuth ever gets to the point where it replaces Basic auth in the brow=
ser,
>> or used instead of other cookie-based authentication systems, it will ga=
in
>> native browser support which will use the header exclusively. Until then=
, JS
>> code cannot make OAuth requests without other ways to send the token.
>>   =20

> As far as I know, JavaScript code can set headers, incl. Authorization=20
> Headers, using the operation setRequestHeaders of the XMLHttpRequest=20
> Object

XMLHttpRequest is limited to the same domain (example.com can make calls to=
 example.com). When making cross domain requests (example.com requesting da=
ta from facebook.com), different techniques must be used. Many of those tec=
hniques (such as JSONP) are restricted to just modifying the URL, and canno=
t set headers or use POST.


From torsten@lodderstedt.net  Mon Apr 12 12:09:24 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7CC7B28C16E for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 12:09:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.945
X-Spam-Level: 
X-Spam-Status: No, score=-1.945 tagged_above=-999 required=5 tests=[AWL=0.304,  BAYES_00=-2.599, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Uhnh1sRZU2WD for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 12:09:22 -0700 (PDT)
Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.18.14]) by core3.amsl.com (Postfix) with ESMTP id 756ED28C155 for <oauth@ietf.org>; Mon, 12 Apr 2010 12:09:14 -0700 (PDT)
Received: from p4fff12ae.dip.t-dialin.net ([79.255.18.174] helo=[127.0.0.1]) by smtprelay02.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O1P0P-0006hR-Di; Mon, 12 Apr 2010 21:09:09 +0200
Message-ID: <4BC36FD4.5020109@lodderstedt.net>
Date: Mon, 12 Apr 2010 21:09:08 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Luke Shepard <lshepard@facebook.com>
References: <C7E70466.320B6%eran@hueniverse.com> <4BC36CF7.2080507@lodderstedt.net> <2513A610118CC14C8E622C376C8DEC93D54D66DA83@SC-MBXC1.TheFacebook.com>
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DA83@SC-MBXC1.TheFacebook.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on sections 5-7
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Apr 2010 19:09:24 -0000

Am 12.04.2010 21:00, schrieb Luke Shepard:
>>> If OAuth ever gets to the point where it replaces Basic auth in the browser,
>>> or used instead of other cookie-based authentication systems, it will gain
>>> native browser support which will use the header exclusively. Until then, JS
>>> code cannot make OAuth requests without other ways to send the token.
>>>
>>>        
>    
>> As far as I know, JavaScript code can set headers, incl. Authorization
>> Headers, using the operation setRequestHeaders of the XMLHttpRequest
>> Object
>>      
> XMLHttpRequest is limited to the same domain (example.com can make calls to example.com). When making cross domain requests (example.com requesting data from facebook.com), different techniques must be used. Many of those techniques (such as JSONP) are restricted to just modifying the URL, and cannot set headers or use POST.
>
>    
I thought "HTTP Origin Headers" 
(http://www.petefreitag.com/item/702.cfm) would eliminate that restriction?

regards,
Torsten.


From torsten@lodderstedt.net  Mon Apr 12 12:10:19 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 35D883A6ABA for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 12:10:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.966
X-Spam-Level: 
X-Spam-Status: No, score=-1.966 tagged_above=-999 required=5 tests=[AWL=0.283,  BAYES_00=-2.599, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jN0Lj5lZs9kg for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 12:10:18 -0700 (PDT)
Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.29.24]) by core3.amsl.com (Postfix) with ESMTP id 7E48328C187 for <oauth@ietf.org>; Mon, 12 Apr 2010 12:10:15 -0700 (PDT)
Received: from p4fff12ae.dip.t-dialin.net ([79.255.18.174] helo=[127.0.0.1]) by smtprelay02.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O1P1N-0007yg-L8; Mon, 12 Apr 2010 21:10:09 +0200
Message-ID: <4BC37010.6050302@lodderstedt.net>
Date: Mon, 12 Apr 2010 21:10:08 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Brian Eaton <beaton@google.com>
References: <C7E02CA6.31D47%eran@hueniverse.com>	<DD9BF2EB-0626-4FD4-B721-D31898D854AA@facebook.com> <v2xdaf5b9571004062233r41ae4b3at7ba04ea0e5b6fb2d@mail.gmail.com>
In-Reply-To: <v2xdaf5b9571004062233r41ae4b3at7ba04ea0e5b6fb2d@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Renaming expires to expires_in?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Apr 2010 19:10:19 -0000

What is the reason for using a relativ token lifetime specification? 
SAML2 uses an absolute specification in datetime format (NotOnOrAfter)

Am 07.04.2010 07:33, schrieb Brian Eaton:
> On Tue, Apr 6, 2010 at 8:24 AM, Luke Shepard<lshepard@facebook.com>  wrote:
>    
>> Just curious, where did "duration" come from?
>> I hate to be picky, but I feel like "expires_in" is more clear than
>> "duration" ... if only because other protocols (OAuth 1.0a, OpenID, Facebook
>> auth) use "expires".
>>      
> "duration" is pretty vague.  "expires" or "expires_in" are both fine by me.
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    



From john@jkemp.net  Mon Apr 12 13:05:44 2010
Return-Path: <john@jkemp.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0195D3A685A for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 13:05:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.087
X-Spam-Level: 
X-Spam-Status: No, score=-1.087 tagged_above=-999 required=5 tests=[AWL=-0.311, BAYES_05=-1.11, IP_NOT_FRIENDLY=0.334]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XAkl6yGWReRs for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 13:05:42 -0700 (PDT)
Received: from outbound-mail-01.bluehost.com (cpoproxy1-pub.bluehost.com [69.89.21.11]) by core3.amsl.com (Postfix) with SMTP id A08D53A684B for <oauth@ietf.org>; Mon, 12 Apr 2010 13:05:40 -0700 (PDT)
Received: (qmail 5867 invoked by uid 0); 12 Apr 2010 20:05:35 -0000
Received: from unknown (HELO box320.bluehost.com) (69.89.31.120) by cpoproxy1.bluehost.com with SMTP; 12 Apr 2010 20:05:34 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=jkemp.net; h=Received:Subject:Mime-Version:Content-Type:From:In-Reply-To:Date:Cc:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=BCZ9H15SM+a5f88GB8DLbdf1hjKcNX4fp0Jvx7RgvQsrhzv3Mz+i31POcZ78l4l9tunQoYHqYaFGXqrnBxCyDKeFqCoYaBSdp1byScAZTXKsXphwgdPsBFkU40K9Ee3p;
Received: from cpe-69-205-56-47.nycap.res.rr.com ([69.205.56.47] helo=[192.168.1.103]) by box320.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from <john@jkemp.net>) id 1O1Pt0-0008Ao-EM; Mon, 12 Apr 2010 14:05:34 -0600
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: John Kemp <john@jkemp.net>
In-Reply-To: <4BC36FD4.5020109@lodderstedt.net>
Date: Mon, 12 Apr 2010 16:05:32 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <DF608C3F-8BC0-4A1F-8F6F-D737E3DB1549@jkemp.net>
References: <C7E70466.320B6%eran@hueniverse.com> <4BC36CF7.2080507@lodderstedt.net> <2513A610118CC14C8E622C376C8DEC93D54D66DA83@SC-MBXC1.TheFacebook.com> <4BC36FD4.5020109@lodderstedt.net>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
X-Mailer: Apple Mail (2.1078)
X-Identified-User: {1122:box320.bluehost.com:jkempnet:jkemp.net} {sentby:smtp auth 69.205.56.47 authed with john+jkemp.net}
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on sections 5-7
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Apr 2010 20:05:44 -0000

On Apr 12, 2010, at 3:09 PM, Torsten Lodderstedt wrote:

> Am 12.04.2010 21:00, schrieb Luke Shepard:
>>>> If OAuth ever gets to the point where it replaces Basic auth in the =
browser,
>>>> or used instead of other cookie-based authentication systems, it =
will gain
>>>> native browser support which will use the header exclusively. Until =
then, JS
>>>> code cannot make OAuth requests without other ways to send the =
token.
>>>>=20
>>>>      =20
>>  =20
>>> As far as I know, JavaScript code can set headers, incl. =
Authorization
>>> Headers, using the operation setRequestHeaders of the XMLHttpRequest
>>> Object
>>>    =20
>> XMLHttpRequest is limited to the same domain (example.com can make =
calls to example.com). When making cross domain requests (example.com =
requesting data from facebook.com), different techniques must be used. =
Many of those techniques (such as JSONP) are restricted to just =
modifying the URL, and cannot set headers or use POST.
>>=20
>>  =20
> I thought "HTTP Origin Headers" =
(http://www.petefreitag.com/item/702.cfm) would eliminate that =
restriction?

Use of the Origin HTTP header and W3C CORS (see =
https://developer.mozilla.org/En/HTTP_access_control for an explanation =
and information about Mozilla's support for that) is one of the proposed =
ways to allow cross-domain requests. There are others, such as the =
proposed standard Uniform Messaging Policy (http://www.w3.org/TR/UMP/):=20=


However,

i) Not all browsers support CORS yet (Gecko and Webkit latest builds do, =
but not their latest stable versions)=20
ii) Sites have to "opt-in" in all of these models to allow a =
cross-domain request, and most sites haven't opted in (cross-domain =
requests are thus not allowed in most cases)=20

So browsers will often have to enforce same-domain requests in the usual =
way, requiring hacks like JSONP in order to perform cross-site requests, =
and thus Javascript cannot be (and will not be any time soon) assumed to =
support the setting of HTTP headers in all cases.

Cheers,

- johnk
 =20
>=20
> regards,
> Torsten.
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From eran@hueniverse.com  Mon Apr 12 13:24:55 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id ABB413A6864 for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 13:24:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.444
X-Spam-Level: 
X-Spam-Status: No, score=-2.444 tagged_above=-999 required=5 tests=[AWL=0.154,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Krzmhlo3QMq6 for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 13:24:49 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 618F528C19E for <oauth@ietf.org>; Mon, 12 Apr 2010 13:24:40 -0700 (PDT)
Received: (qmail 5870 invoked from network); 12 Apr 2010 20:24:25 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 12 Apr 2010 20:24:25 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Mon, 12 Apr 2010 13:24:24 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: OAuth WG <oauth@ietf.org>
Date: Mon, 12 Apr 2010 13:24:19 -0700
Thread-Topic: [OAUTH-WG] Defining a maximum token length?
Thread-Index: AQHKv+NqeBNkDGZuLk6fvcZcrhAM6pIakGKAgACWUgD//6iHcIAAL6wxgABbIo6AAJGGgIAC2DEAgAB4F92AAECk9g==
Message-ID: <C7E8CF83.3216A%eran@hueniverse.com>
In-Reply-To: <C7E8994A.2AA33%atom@yahoo-inc.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E8CF833216Aeranhueniversecom_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Defining a maximum token length?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Apr 2010 20:24:55 -0000

--_000_C7E8CF833216Aeranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Unless the chairs decide otherwise, I'd say we're done discussing this... T=
he consensus is no limits but to offer guidance so that developers on both =
side are aware of the need to communicate token sizes.

EHL


On 4/12/10 9:32 AM, "Allen Tom" <atom@yahoo-inc.com> wrote:

+1  on having no limits for the Access Token length.

I  fully acknowledge that shorter is better - in the case where access toke=
ns are passed on the URL as query parameters (aka jsonp), there are practic=
al URL length limits. Bigger tokens consume more network resources, which c=
an be a severe issue for mobile devices. Likewise, not defining the token s=
ize makes it harder to client developers to size their database.

That being said, given that the underlying APIs that are protected by OAuth=
2 are generally proprietary and are not interoperable, it's really up to th=
e Service Provider to determine the appropriate requirements and limits for=
 their Access tokens.

Allen



On 4/12/10 2:23 AM, "Anthony Nadalin" <tonynad@microsoft.com> wrote:

+1


From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of T=
orsten Lodderstedt
Sent: Friday, April 09, 2010 11:57 PM
To: Eran Hammer-Lahav
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Defining a maximum token length?

+1 no restriction, please

256 is much too short

Am 10.04.2010 07:16, schrieb Eran Hammer-Lahav:
I would argue that for the spec to provide a token size limit that is great=
er than 255 would cause more harm than good. This is not to say I am suppor=
ting the 255 limit (I take no position on the matter - yeah, that happens r=
arely). If the spec provided a 4K limit, client libraries are likely to cod=
ify that which will make them extremely wasteful for 99% of the popular cas=
es on the web today. A 4K limit doesn't really improve interop since the li=
mit is so high, no one is likely to issue even bigger tokens with public AP=
Is.

The 255 limit keeps the token size within the most effective database field=
 size limit for this type of identifier. If we cannot reach consensus on th=
is size limit, I don't think the spec should say anything. However, if I wr=
ote a client library, I would make it use a 255 default size limit and requ=
ire a custom configuration to enable it to use something else.

So my proposal is 255 or no size guidance/restriction.

EHL


On 4/9/10 4:49 PM, "Allen Tom" <atom@yahoo-inc.com> wrote:
I think a good precedent would be to use the HTTP Cookie size limit, which
is 4KB.

An OAuth Access Token is like an HTTP Authorization cookie. They're both
bearer tokens that are used as a credentials for a client to access
protected resources on behalf of the end user.

All Oauth clients have to implement HTTP anyway, so 4KB sounds like a
reasonable limit.

Allen



> On Fri, Apr 9, 2010 at 3:14 AM, Luke Shepard <lshepard@facebook.com> wrot=
e:

>>
>> So, what is a reasonable limit for the token length?  1k? 2k? 4k? 5mb? I
>> suggest some language like this:
>>
>>

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth



________________________________
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


--_000_C7E8CF833216Aeranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Defining a maximum token length?</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>Unless the chairs decide otherwise, I&#8217;d say we&#8217;re done di=
scussing this... The consensus is no limits but to offer guidance so that d=
evelopers on both side are aware of the need to communicate token sizes.<BR=
>
<BR>
EHL<BR>
<BR>
<BR>
On 4/12/10 9:32 AM, &quot;Allen Tom&quot; &lt;<a href=3D"atom@yahoo-inc.com=
">atom@yahoo-inc.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>+1 &nbsp;on having no limits for the Access=
 Token length.<BR>
<BR>
I &nbsp;fully acknowledge that shorter is better &#8211; in the case where =
access tokens are passed on the URL as query parameters (aka jsonp), there =
are practical URL length limits. Bigger tokens consume more network resourc=
es, which can be a severe issue for mobile devices. Likewise, not defining =
the token size makes it harder to client developers to size their database.=
<BR>
<BR>
That being said, given that the underlying APIs that are protected by OAuth=
2 are generally proprietary and are not interoperable, it&#8217;s really up=
 to the Service Provider to determine the appropriate requirements and limi=
ts for their Access tokens.<BR>
<BR>
Allen<BR>
<BR>
<BR>
<BR>
On 4/12/10 2:23 AM, &quot;Anthony Nadalin&quot; &lt;<a href=3D"tonynad@micr=
osoft.com">tonynad@microsoft.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'><FONT COLOR=3D"#1F497D">+1<BR>
&nbsp;<BR>
</FONT><BR>
</SPAN></FONT><FONT SIZE=3D"2"><FONT FACE=3D"Tahoma, Verdana, Helvetica, Ar=
ial"><SPAN STYLE=3D'font-size:10pt'><B>From:</B> <a href=3D"oauth-bounces@i=
etf.org">oauth-bounces@ietf.org</a> [<a href=3D"mailto:oauth-bounces@ietf.o=
rg">mailto:oauth-bounces@ietf.org</a>] <B>On Behalf Of </B>Torsten Lodderst=
edt<BR>
<B>Sent:</B> Friday, April 09, 2010 11:57 PM<BR>
<B>To:</B> Eran Hammer-Lahav<BR>
<B>Cc:</B> OAuth WG<BR>
<B>Subject:</B> Re: [OAUTH-WG] Defining a maximum token length?<BR>
</SPAN></FONT></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-siz=
e:12pt'> <BR>
+1 no restriction, please<BR>
<BR>
256 is much too short<BR>
<BR>
Am 10.04.2010 07:16, schrieb Eran Hammer-Lahav: <BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=
=3D'font-size:11pt'>I would argue that for the spec to provide a token size=
 limit that is greater than 255 would cause more harm than good. This is no=
t to say I am supporting the 255 limit (I take no position on the matter &#=
8211; yeah, that happens rarely). If the spec provided a 4K limit, client l=
ibraries are likely to codify that which will make them extremely wasteful =
for 99% of the popular cases on the web today. A 4K limit doesn&#8217;t rea=
lly improve interop since the limit is so high, no one is likely to issue e=
ven bigger tokens with public APIs.<BR>
<BR>
The 255 limit keeps the token size within the most effective database field=
 size limit for this type of identifier. If we cannot reach consensus on th=
is size limit, I don&#8217;t think the spec should say anything. However, i=
f I wrote a client library, I would make it use a 255 default size limit an=
d require a custom configuration to enable it to use something else.<BR>
<BR>
So my proposal is 255 or no size guidance/restriction.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/9/10 4:49 PM, &quot;Allen Tom&quot; &lt;<a href=3D"atom@yahoo-inc.com"=
>atom@yahoo-inc.com</a>&gt; wrote:<BR>
I think a good precedent would be to use the HTTP Cookie size limit, which<=
BR>
is 4KB.<BR>
<BR>
An OAuth Access Token is like an HTTP Authorization cookie. They're both<BR=
>
bearer tokens that are used as a credentials for a client to access<BR>
protected resources on behalf of the end user.<BR>
<BR>
All Oauth clients have to implement HTTP anyway, so 4KB sounds like a<BR>
reasonable limit.<BR>
<BR>
Allen<BR>
<BR>
<BR>
<BR>
&gt; On Fri, Apr 9, 2010 at 3:14 AM, Luke Shepard &lt;<a href=3D"lshepard@f=
acebook.com">lshepard@facebook.com</a>&gt; wrote:<BR>
<BR>
&gt;&gt;<BR>
&gt;&gt; So, what is a reasonable limit for the token length? &nbsp;1k? 2k?=
 4k? 5mb? I<BR>
&gt;&gt; suggest some language like this:<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
&nbsp;<BR>
&nbsp;<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
&nbsp;&nbsp;<BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
> <BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=
=3D'font-size:11pt'><BR>
<HR ALIGN=3DCENTER SIZE=3D"3" WIDTH=3D"95%"></SPAN></FONT><FONT SIZE=3D"2">=
<FONT FACE=3D"Consolas, Courier New, Courier"><SPAN STYLE=3D'font-size:10pt=
'>_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
</SPAN></FONT></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica=
, Arial"><SPAN STYLE=3D'font-size:11pt'><BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E8CF833216Aeranhueniversecom_--

From eran@hueniverse.com  Mon Apr 12 13:32:51 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9C98C28C1A7 for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 13:32:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.147
X-Spam-Level: 
X-Spam-Status: No, score=-2.147 tagged_above=-999 required=5 tests=[AWL=-0.149, BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_74=0.6]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Moj76Zow53Oa for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 13:32:41 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 8AE5528C19A for <oauth@ietf.org>; Mon, 12 Apr 2010 13:32:40 -0700 (PDT)
Received: (qmail 6771 invoked from network); 12 Apr 2010 20:32:35 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 12 Apr 2010 20:32:31 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Mon, 12 Apr 2010 13:32:30 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Luke Shepard <lshepard@facebook.com>, Evan Gilbert <uidude@google.com>, Chuck Mortimore <cmortimore@salesforce.com>
Date: Mon, 12 Apr 2010 13:32:25 -0700
Thread-Topic: [OAUTH-WG] A display parameter for user authorization requests
Thread-Index: AcraYUU+DWp6xYltTg+FlVOeoeSVVgACQgRQAAU9YNY=
Message-ID: <C7E8D169.3216E%eran@hueniverse.com>
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DA6A@SC-MBXC1.TheFacebook.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E8D1693216Eeranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] A display parameter for user authorization requests
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Apr 2010 20:32:51 -0000

--_000_C7E8D1693216Eeranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Between language preferences, display configuration, and immediate check, I=
 think it might be worth to move that work to another draft. Timeline-wise,=
 this has the potential of slowing us down. I also fear getting what is now=
 a pretty simple spec much more complicated.

Anyone cares to try a first draft or outline? I can do the editorial work i=
f needed, but someone needs to write something first.

EHL


On 4/12/10 11:04 AM, "Luke Shepard" <lshepard@facebook.com> wrote:

Yes- I threw that in there as one way of handling an immediate response. We=
 will need the ability to do a background ping in an iframe, similar to che=
ckid_immediate in OpenID.

I agree that the parameters are functionally different ... on the other han=
d, they are mutually exclusive (you won't ever have a display and an immedi=
ate parameter set to the same) so by making it one parameter, you avoid cer=
tain error cases (i.e., what does a server do with "display=3Dpage&immediat=
e=3Dtrue")


From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
van Gilbert
Sent: Monday, April 12, 2010 9:51 AM
To: Chuck Mortimore
Cc: OAuth WG
Subject: Re: [OAUTH-WG] A display parameter for user authorization requests

+1 in general



Question about display=3Dnone - I missed this part before, and proposed a d=
ifferent parameter (immediate=3Dtrue) for the same purpose - http://www.iet=
f.org/mail-archive/web/oauth/current/msg01694.html.



Anyone have thoughts on whether we should have a separate parameter for imm=
ediate mode?



I could go either way, but have a slight preference for two parameters. "im=
mediate" feels like a significant functional difference while the display v=
ariations are more of a UI hint.



Evan



On Sat, Apr 10, 2010 at 1:07 PM, Chuck Mortimore <cmortimore@salesforce.com=
> wrote:

+1 - we'll end up requiring some parameter, as agent sniffing can't handle =
all our needs.

- cmort




On 4/10/10 12:08 AM, "Torsten Lodderstedt" <torsten@lodderstedt.net <http:/=
/torsten@lodderstedt.net> > wrote:

+1

Am 10.04.2010 02:20, schrieb Allen Tom:
Re: [OAUTH-WG] A display parameter for user authorization requests +1



Not sure If it's possible for different SPs to agree on the specs for each =
mode, but as we learned from implementing OpenID, it's very useful for the =
client to have an interface to indicate to the AS how the UI should be rend=
ered.

At least in Yahoo's case, we'd like to see all the display modes you listed=
, although I'm unclear what "none" is.

Allen




On 4/9/10 3:24 AM, "Luke Shepard" <lshepard@facebook.com <http://lshepard@f=
acebook.com> > wrote:




I am still not sure why we *need* discovery in order to just add a "display=
" parameter to the spec.

I would like to see a set like the following supported:

-         popup

-         fullpage

-         touch (for smart phones (like iPhone)-like phones)

-         mobile (for older-mobile phones)

-         none


As Allen mentioned, the "popup" mode was already defined with some success =
in OpenID UX: http://svn.openid.net/repos/specifications/user_interface/1.0=
/trunk/openid-user-interface-extension-1_0.html#anchor4

I agree that it can be difficult to standardize all of these right now - I =
think the best is to see what's being used in production now by different p=
layers and  see if we can get agreement on that. At least some broad catego=
ries could be established now to aid interop.


From: oauth-bounces@ietf.org <http://oauth-bounces@ietf.org> [mailto:oauth-=
bounces@ietf.org] On Behalf Of Eran Hammer-Lahav
 Sent: Tuesday, March 30, 2010 6:34 PM
 To: Marius Scurtescu; Anthony Nadalin
 Cc: OAuth WG
 Subject: Re: [OAUTH-WG] A display parameter for user authorization request=
s

 They are, but thinking about interop for both parts is the same work. Once=
 you figure out what the client might need, you figure out what the server =
may support. At that point discovery is as simple as giving these different=
 options names and putting this information somewhere.

I am not saying a spec must cover both, but it is worth thinking about it a=
t the same time. For example, a decision about allowing requesting custom s=
ize popup vs. fixed popup options vs. pre-defined categories, all require d=
ifferent discovery needs. If the feature allows the client to say "I want a=
 400x500 popup", you just need to say "popups are supported". But if you wa=
nt just allow full browser or popup (of fixed sizes), and do not require a =
server to support all of them, you need to express what is supported.

Given the wide range of UI options, without either mandating everything or =
discovery, this feature offers little interop value (which means little rea=
son to write as a standard).

EHL


On 3/30/10 5:58 PM, "Marius Scurtescu" <mscurtescu@google.com <http://mscur=
tescu@google.com> > wrote:
Aren't these independent issues?

Regardless how the client figures what the server supports (discovery
or hard code configuration) it must have a way to tell the
Authorization Server its preferences when it sends the user over.

Marius



On Tue, Mar 30, 2010 at 8:50 PM, Anthony Nadalin <tonynad@microsoft.com <ht=
tp://tonynad@microsoft.com> > wrote:
> So I doubt that the client always knows what the server supports, the ser=
ver should be open in allowing all parties to find out what is supported
>
> -----Original Message-----
> From: oauth-bounces@ietf.org <http://oauth-bounces@ietf.org> [mailto:oaut=
h-bounces@ietf.org] On Behalf Of Brian Eaton
> Sent: Tuesday, March 30, 2010 5:44 PM
> To: Raffi Krikorian
> Cc: OAuth WG
> Subject: Re: [OAUTH-WG] A display parameter for user authorization reques=
ts
>
> On Tue, Mar 30, 2010 at 5:25 PM, Raffi Krikorian <raffi@twitter.com <http=
://raffi@twitter.com> > wrote:
>> why does a client need to discover what the server supports?
>> presumably the client would already know given that they are integrating=
 with it?
>
> +1.
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org <http://OAuth@ietf.org>
> https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org <http://OAuth@ietf.org>
> https://www.ietf.org/mailman/listinfo/oauth
>
_______________________________________________
OAuth mailing list
 OAuth@ietf.org <http://OAuth@ietf.org>
 https://www.ietf.org/mailman/listinfo/oauth



________________________________

_______________________________________________
OAuth mailing list
 OAuth@ietf.org <http://OAuth@ietf.org>
 https://www.ietf.org/mailman/listinfo/oauth




_______________________________________________
OAuth mailing list
OAuth@ietf.org <http://OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth



_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth



--_000_C7E8D1693216Eeranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] A display parameter for user authorization requests</=
TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>Between language preferences, display configuration, and immediate ch=
eck, I think it might be worth to move that work to another draft. Timeline=
-wise, this has the potential of slowing us down. I also fear getting what =
is now a pretty simple spec much more complicated.<BR>
<BR>
Anyone cares to try a first draft or outline? I can do the editorial work i=
f needed, but someone needs to write something first.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/12/10 11:04 AM, &quot;Luke Shepard&quot; &lt;<a href=3D"lshepard@faceb=
ook.com">lshepard@facebook.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>Yes- I threw that in there as one way of ha=
ndling an immediate response. We will need the ability to do a background p=
ing in an iframe, similar to checkid_immediate in OpenID.<BR>
&nbsp;<BR>
I agree that the parameters are functionally different ... on the other han=
d, they are mutually exclusive (you won&#8217;t ever have a display and an =
immediate parameter set to the same) so by making it one parameter, you avo=
id certain error cases (i.e., what does a server do with &#8220;display=3Dp=
age&amp;immediate=3Dtrue&#8221;)<BR>
&nbsp;<BR>
<BR>
</SPAN><FONT SIZE=3D"2"><SPAN STYLE=3D'font-size:10pt'><B>From:</B> <a href=
=3D"oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> [<a href=3D"mailto:o=
auth-bounces@ietf.org">mailto:oauth-bounces@ietf.org</a>] <B>On Behalf Of <=
/B>Evan Gilbert<BR>
<B>Sent:</B> Monday, April 12, 2010 9:51 AM<BR>
<B>To:</B> Chuck Mortimore<BR>
<B>Cc:</B> OAuth WG<BR>
<B>Subject:</B> Re: [OAUTH-WG] A display parameter for user authorization r=
equests<BR>
</SPAN></FONT></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-siz=
e:12pt'> <BR>
+1 in general<BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=
=3D'font-size:11pt'><BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
> <BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=
=3D'font-size:11pt'><BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
>Question about display=3Dnone - I missed this part before, and proposed a =
different parameter (immediate=3Dtrue) for the same purpose - <a href=3D"ht=
tp://www.ietf.org/mail-archive/web/oauth/current/msg01694.html">http://www.=
ietf.org/mail-archive/web/oauth/current/msg01694.html</a>.<BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=
=3D'font-size:11pt'><BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
> <BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=
=3D'font-size:11pt'><BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
>Anyone have thoughts on whether we should have a separate parameter for im=
mediate mode?<BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=
=3D'font-size:11pt'><BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
> <BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=
=3D'font-size:11pt'><BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
>I could go either way, but have a slight preference for two parameters. &q=
uot;immediate&quot; feels like a significant functional difference while th=
e display variations are more of a UI hint.<BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=
=3D'font-size:11pt'><BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
> <BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=
=3D'font-size:11pt'><BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
>Evan<BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=
=3D'font-size:11pt'><BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
> <BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=
=3D'font-size:11pt'><BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
>On Sat, Apr 10, 2010 at 1:07 PM, Chuck Mortimore &lt;<a href=3D"cmortimore=
@salesforce.com">cmortimore@salesforce.com</a>&gt; wrote:<BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=
=3D'font-size:11pt'><BR>
+1 &#8211; we&#8217;ll end up requiring some parameter, as agent sniffing c=
an&#8217;t handle all our needs.<BR>
<BR>
- cmort<BR>
<BR>
<BR>
<BR>
<BR>
On 4/10/10 12:08 AM, &quot;Torsten Lodderstedt&quot; &lt;<a href=3D"torsten=
@lodderstedt.net">torsten@lodderstedt.net</a> &lt;<a href=3D"http://torsten=
@lodderstedt.net">http://torsten@lodderstedt.net</a>&gt; &gt; wrote:<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'><BR>
+1<BR>
<BR>
Am 10.04.2010 02:20, schrieb Allen Tom: <BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>Re: [OAUTH-WG] A display parameter for user=
 authorization requests +1<BR>
<BR>
<BR>
&nbsp;<BR>
Not sure If it&#8217;s possible for different SPs to agree on the specs for=
 each mode, but as we learned from implementing OpenID, it&#8217;s very use=
ful for the client to have an interface to indicate to the AS how the UI sh=
ould be rendered. <BR>
&nbsp;<BR>
At least in Yahoo&#8217;s case, we&#8217;d like to see all the display mode=
s you listed, although I&#8217;m unclear what &#8220;none&#8221; is. <BR>
&nbsp;<BR>
Allen<BR>
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>
On 4/9/10 3:24 AM, &quot;Luke Shepard&quot; &lt;<a href=3D"lshepard@faceboo=
k.com">lshepard@facebook.com</a> &lt;<a href=3D"http://lshepard@facebook.co=
m">http://lshepard@facebook.com</a>&gt; &gt; wrote:<BR>
&nbsp;<BR>
&nbsp;<BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
> <BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=
=3D'font-size:11pt'><BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>I am still not sure why we *<B>need</B>* di=
scovery in order to just add a &#8220;display&#8221; parameter to the spec.=
<BR>
&nbsp;<BR>
I would like to see a set like the following supported:<BR>
&nbsp;<BR>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup<BR>
&nbsp;<BR>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fullpage<BR>
&nbsp;<BR>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;touch (for smart phones (=
like iPhone)-like phones)<BR>
&nbsp;<BR>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mobile (for older-mobile =
phones)<BR>
&nbsp;<BR>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;none<BR>
&nbsp;<BR>
<BR>
As Allen mentioned, the &#8220;popup&#8221; mode was already defined with s=
ome success in OpenID UX: <a href=3D"http://svn.openid.net/repos/specificat=
ions/user_interface/1.0/trunk/openid-user-interface-extension-1_0.html#anch=
or4">http://svn.openid.net/repos/specifications/user_interface/1.0/trunk/op=
enid-user-interface-extension-1_0.html#anchor4</a><BR>
&nbsp;<BR>
I agree that it can be difficult to standardize all of these right now &#82=
11; I think the best is to see what&#8217;s being used in production now by=
 different players and &nbsp;see if we can get agreement on that. At least =
some broad categories could be established now to aid interop.<BR>
&nbsp;<BR>
&nbsp;<BR>
</SPAN><FONT SIZE=3D"2"><SPAN STYLE=3D'font-size:10pt'><B>From:</B> <a href=
=3D"oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> &lt;<a href=3D"http:=
//oauth-bounces@ietf.org">http://oauth-bounces@ietf.org</a>&gt; [<a href=3D=
"mailto:oauth-bounces@ietf.org">mailto:oauth-bounces@ietf.org</a>] <B>On Be=
half Of </B>Eran Hammer-Lahav<BR>
&nbsp;<B>Sent:</B> Tuesday, March 30, 2010 6:34 PM<BR>
&nbsp;<B>To:</B> Marius Scurtescu; Anthony Nadalin<BR>
&nbsp;<B>Cc:</B> OAuth WG<BR>
&nbsp;<B>Subject:</B> Re: [OAUTH-WG] A display parameter for user authoriza=
tion requests<BR>
&nbsp;</SPAN></FONT></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'fo=
nt-size:12pt'> <BR>
&nbsp;</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN=
 STYLE=3D'font-size:11pt'>They are, but thinking about interop for both par=
ts is the same work. Once you figure out what the client might need, you fi=
gure out what the server may support. At that point discovery is as simple =
as giving these different options names and putting this information somewh=
ere.<BR>
&nbsp;<BR>
I am not saying a spec must cover both, but it is worth thinking about it a=
t the same time. For example, a decision about allowing requesting custom s=
ize popup vs. fixed popup options vs. pre-defined categories, all require d=
ifferent discovery needs. If the feature allows the client to say &#8220;I =
want a 400x500 popup&#8221;, you just need to say &#8220;popups are support=
ed&#8221;. But if you want just allow full browser or popup (of fixed sizes=
), and do not require a server to support all of them, you need to express =
what is supported.<BR>
&nbsp;<BR>
Given the wide range of UI options, without either mandating everything or =
discovery, this feature offers little interop value (which means little rea=
son to write as a standard).<BR>
&nbsp;<BR>
EHL<BR>
&nbsp;<BR>
&nbsp;<BR>
On 3/30/10 5:58 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurtescu@=
google.com">mscurtescu@google.com</a> &lt;<a href=3D"http://mscurtescu@goog=
le.com">http://mscurtescu@google.com</a>&gt; &gt; wrote:<BR>
Aren't these independent issues?<BR>
&nbsp;<BR>
Regardless how the client figures what the server supports (discovery<BR>
or hard code configuration) it must have a way to tell the<BR>
Authorization Server its preferences when it sends the user over.<BR>
&nbsp;<BR>
Marius<BR>
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>
On Tue, Mar 30, 2010 at 8:50 PM, Anthony Nadalin &lt;<a href=3D"tonynad@mic=
rosoft.com">tonynad@microsoft.com</a> &lt;<a href=3D"http://tonynad@microso=
ft.com">http://tonynad@microsoft.com</a>&gt; &gt; wrote:<BR>
&gt; So I doubt that the client always knows what the server supports, the =
server should be open in allowing all parties to find out what is supported=
<BR>
&gt;<BR>
&gt; -----Original Message-----<BR>
&gt; From: <a href=3D"oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> &l=
t;<a href=3D"http://oauth-bounces@ietf.org">http://oauth-bounces@ietf.org</=
a>&gt; [<a href=3D"mailto:oauth-bounces@ietf.org">mailto:oauth-bounces@ietf=
.org</a>] On Behalf Of Brian Eaton<BR>
&gt; Sent: Tuesday, March 30, 2010 5:44 PM<BR>
&gt; To: Raffi Krikorian<BR>
&gt; Cc: OAuth WG<BR>
&gt; Subject: Re: [OAUTH-WG] A display parameter for user authorization req=
uests<BR>
&gt;<BR>
&gt; On Tue, Mar 30, 2010 at 5:25 PM, Raffi Krikorian &lt;<a href=3D"raffi@=
twitter.com">raffi@twitter.com</a> &lt;<a href=3D"http://raffi@twitter.com"=
>http://raffi@twitter.com</a>&gt; &gt; wrote:<BR>
&gt;&gt; why does a client need to discover what the server supports?<BR>
&gt;&gt; presumably the client would already know given that they are integ=
rating with it?<BR>
&gt;<BR>
&gt; +1.<BR>
&gt; _______________________________________________<BR>
&gt; OAuth mailing list<BR>
&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a> &lt;<a href=3D"http://OA=
uth@ietf.org">http://OAuth@ietf.org</a>&gt; <BR>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ie=
tf.org/mailman/listinfo/oauth</a><BR>
&gt;<BR>
&gt; _______________________________________________<BR>
&gt; OAuth mailing list<BR>
&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a> &lt;<a href=3D"http://OA=
uth@ietf.org">http://OAuth@ietf.org</a>&gt; <BR>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ie=
tf.org/mailman/listinfo/oauth</a><BR>
&gt;<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
&nbsp;<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a> &lt;<a href=3D"http://O=
Auth@ietf.org">http://OAuth@ietf.org</a>&gt; <BR>
&nbsp;<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.i=
etf.org/mailman/listinfo/oauth</a><BR>
&nbsp;<BR>
&nbsp;
</SPAN></FONT>
<P ALIGN=3DCENTER>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'><HR ALIGN=3DCENTER SIZE=3D"3" WIDTH=3D"95%"></SPAN></FONT>
<P>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'><BR>
</SPAN><FONT SIZE=3D"2"><SPAN STYLE=3D'font-size:10pt'>____________________=
___________________________<BR>
OAuth mailing list<BR>
&nbsp;<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a> &lt;<a href=3D"http://O=
Auth@ietf.org">http://OAuth@ietf.org</a>&gt; <BR>
&nbsp;<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.i=
etf.org/mailman/listinfo/oauth</a><BR>
&nbsp;<BR>
</SPAN></FONT></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica=
, Arial"><SPAN STYLE=3D'font-size:11pt'><BR>
<BR>
<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a> &lt;<a href=3D"http://OAuth@i=
etf.org">http://OAuth@ietf.org</a>&gt; <BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
&nbsp;&nbsp;<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'fo=
nt-size:12pt'> <BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'fo=
nt-size:12pt'><BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
&nbsp;<BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=
=3D'font-size:11pt'><BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E8D1693216Eeranhueniversecom_--

From eran@hueniverse.com  Mon Apr 12 13:38:27 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E6D3A3A6822 for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 13:38:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.444
X-Spam-Level: 
X-Spam-Status: No, score=-2.444 tagged_above=-999 required=5 tests=[AWL=0.154,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uBAnELITG1g7 for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 13:38:23 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id AB0FC3A677C for <oauth@ietf.org>; Mon, 12 Apr 2010 13:38:23 -0700 (PDT)
Received: (qmail 10963 invoked from network); 12 Apr 2010 20:38:18 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 12 Apr 2010 20:38:18 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Mon, 12 Apr 2010 13:38:15 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>, Brian Eaton <beaton@google.com>
Date: Mon, 12 Apr 2010 13:38:11 -0700
Thread-Topic: [OAUTH-WG] Renaming expires to expires_in?
Thread-Index: Acrac+B3Y9OSVGhWTT6+ZFf9zXk3GAADDCTc
Message-ID: <C7E8D2C3.32171%eran@hueniverse.com>
In-Reply-To: <4BC37010.6050302@lodderstedt.net>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E8D2C332171eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Renaming expires to expires_in?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Apr 2010 20:38:28 -0000

--_000_C7E8D2C332171eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Relative doesn't require clock sync. It works well if there isn't a signifi=
cant delay in receiving the reply.

EHL


On 4/12/10 12:10 PM, "Torsten Lodderstedt" <torsten@lodderstedt.net> wrote:

What is the reason for using a relativ token lifetime specification?
SAML2 uses an absolute specification in datetime format (NotOnOrAfter)

Am 07.04.2010 07:33, schrieb Brian Eaton:
> On Tue, Apr 6, 2010 at 8:24 AM, Luke Shepard<lshepard@facebook.com>  wrot=
e:
>
>> Just curious, where did "duration" come from?
>> I hate to be picky, but I feel like "expires_in" is more clear than
>> "duration" ... if only because other protocols (OAuth 1.0a, OpenID, Face=
book
>> auth) use "expires".
>>
> "duration" is pretty vague.  "expires" or "expires_in" are both fine by m=
e.
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>


_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


--_000_C7E8D2C332171eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Renaming expires to expires_in?</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>Relative doesn&#8217;t require clock sync. It works well if there isn=
&#8217;t a significant delay in receiving the reply.<BR>
<BR>
EHL <BR>
<BR>
<BR>
On 4/12/10 12:10 PM, &quot;Torsten Lodderstedt&quot; &lt;<a href=3D"torsten=
@lodderstedt.net">torsten@lodderstedt.net</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>What is the reason for using a relativ toke=
n lifetime specification?<BR>
SAML2 uses an absolute specification in datetime format (NotOnOrAfter)<BR>
<BR>
Am 07.04.2010 07:33, schrieb Brian Eaton:<BR>
&gt; On Tue, Apr 6, 2010 at 8:24 AM, Luke Shepard&lt;<a href=3D"lshepard@fa=
cebook.com">lshepard@facebook.com</a>&gt; &nbsp;wrote:<BR>
&gt; &nbsp;&nbsp;<BR>
&gt;&gt; Just curious, where did &quot;duration&quot; come from?<BR>
&gt;&gt; I hate to be picky, but I feel like &quot;expires_in&quot; is more=
 clear than<BR>
&gt;&gt; &quot;duration&quot; ... if only because other protocols (OAuth 1.=
0a, OpenID, Facebook<BR>
&gt;&gt; auth) use &quot;expires&quot;.<BR>
&gt;&gt; &nbsp;&nbsp;&nbsp;&nbsp;<BR>
&gt; &quot;duration&quot; is pretty vague. &nbsp;&quot;expires&quot; or &qu=
ot;expires_in&quot; are both fine by me.<BR>
&gt; _______________________________________________<BR>
&gt; OAuth mailing list<BR>
&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ie=
tf.org/mailman/listinfo/oauth</a><BR>
&gt; &nbsp;&nbsp;<BR>
<BR>
<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E8D2C332171eranhueniversecom_--

From lshepard@facebook.com  Mon Apr 12 15:06:51 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 310813A691C for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 15:06:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.227
X-Spam-Level: 
X-Spam-Status: No, score=-3.227 tagged_above=-999 required=5 tests=[AWL=0.037,  BAYES_00=-2.599, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cUo-TB2Qt2f1 for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 15:06:43 -0700 (PDT)
Received: from mailout-snc1.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 56EEA3A68CD for <oauth@ietf.org>; Mon, 12 Apr 2010 15:06:43 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.212]) by pp01.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3CM6GUO003446 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Mon, 12 Apr 2010 15:06:18 -0700
Received: from sc-hub06.TheFacebook.com (192.168.18.83) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.682.1; Mon, 12 Apr 2010 15:05:41 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub06.TheFacebook.com ([192.168.18.83]) with mapi; Mon, 12 Apr 2010 15:04:27 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, OAuth WG <oauth@ietf.org>
Date: Mon, 12 Apr 2010 15:04:26 -0700
Thread-Topic: [OAUTH-WG] Defining a maximum token length?
Thread-Index: AQHKv+NqeBNkDGZuLk6fvcZcrhAM6pIakGKAgACWUgD//6iHcIAAL6wxgABbIo6AAJGGgIAC2DEAgAB4F92AAECk9oAAG8eA
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66DAAE@SC-MBXC1.TheFacebook.com>
References: <C7E8994A.2AA33%atom@yahoo-inc.com> <C7E8CF83.3216A%eran@hueniverse.com>
In-Reply-To: <C7E8CF83.3216A%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_2513A610118CC14C8E622C376C8DEC93D54D66DAAESCMBXC1TheFac_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-12_12:2010-02-06, 2010-04-12, 2010-04-12 signatures=0
Subject: Re: [OAUTH-WG] Defining a maximum token length?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Apr 2010 22:06:51 -0000

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DAAESCMBXC1TheFac_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Agreed. Seems that consensus is no limit.

From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
ran Hammer-Lahav
Sent: Monday, April 12, 2010 1:24 PM
To: OAuth WG
Subject: Re: [OAUTH-WG] Defining a maximum token length?

Unless the chairs decide otherwise, I'd say we're done discussing this... T=
he consensus is no limits but to offer guidance so that developers on both =
side are aware of the need to communicate token sizes.

EHL


On 4/12/10 9:32 AM, "Allen Tom" <atom@yahoo-inc.com> wrote:
+1  on having no limits for the Access Token length.

I  fully acknowledge that shorter is better - in the case where access toke=
ns are passed on the URL as query parameters (aka jsonp), there are practic=
al URL length limits. Bigger tokens consume more network resources, which c=
an be a severe issue for mobile devices. Likewise, not defining the token s=
ize makes it harder to client developers to size their database.

That being said, given that the underlying APIs that are protected by OAuth=
2 are generally proprietary and are not interoperable, it's really up to th=
e Service Provider to determine the appropriate requirements and limits for=
 their Access tokens.

Allen



On 4/12/10 2:23 AM, "Anthony Nadalin" <tonynad@microsoft.com> wrote:
+1


From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of T=
orsten Lodderstedt
Sent: Friday, April 09, 2010 11:57 PM
To: Eran Hammer-Lahav
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Defining a maximum token length?

+1 no restriction, please

256 is much too short

Am 10.04.2010 07:16, schrieb Eran Hammer-Lahav:
I would argue that for the spec to provide a token size limit that is great=
er than 255 would cause more harm than good. This is not to say I am suppor=
ting the 255 limit (I take no position on the matter - yeah, that happens r=
arely). If the spec provided a 4K limit, client libraries are likely to cod=
ify that which will make them extremely wasteful for 99% of the popular cas=
es on the web today. A 4K limit doesn't really improve interop since the li=
mit is so high, no one is likely to issue even bigger tokens with public AP=
Is.

The 255 limit keeps the token size within the most effective database field=
 size limit for this type of identifier. If we cannot reach consensus on th=
is size limit, I don't think the spec should say anything. However, if I wr=
ote a client library, I would make it use a 255 default size limit and requ=
ire a custom configuration to enable it to use something else.

So my proposal is 255 or no size guidance/restriction.

EHL


On 4/9/10 4:49 PM, "Allen Tom" <atom@yahoo-inc.com> wrote:
I think a good precedent would be to use the HTTP Cookie size limit, which
is 4KB.

An OAuth Access Token is like an HTTP Authorization cookie. They're both
bearer tokens that are used as a credentials for a client to access
protected resources on behalf of the end user.

All Oauth clients have to implement HTTP anyway, so 4KB sounds like a
reasonable limit.

Allen



> On Fri, Apr 9, 2010 at 3:14 AM, Luke Shepard <lshepard@facebook.com> wrot=
e:

>>
>> So, what is a reasonable limit for the token length?  1k? 2k? 4k? 5mb? I
>> suggest some language like this:
>>
>>

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


________________________________
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


--_000_2513A610118CC14C8E622C376C8DEC93D54D66DAAESCMBXC1TheFac_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<title>Re: [OAUTH-WG] Defining a maximum token length?</title>
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>Agreed. Seems that consensus is no limit.<o:p></o:p></span><=
/p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div>

<div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in'>

<p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma=
","sans-serif"'>From:</span></b><span
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> oauth-bounces=
@ietf.org
[mailto:oauth-bounces@ietf.org] <b>On Behalf Of </b>Eran Hammer-Lahav<br>
<b>Sent:</b> Monday, April 12, 2010 1:24 PM<br>
<b>To:</b> OAuth WG<br>
<b>Subject:</b> Re: [OAUTH-WG] Defining a maximum token length?<o:p></o:p><=
/span></p>

</div>

</div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><span style=3D'font-siz=
e:11.0pt;
font-family:"Calibri","sans-serif"'>Unless the chairs decide otherwise, I&#=
8217;d say
we&#8217;re done discussing this... The consensus is no limits but to offer=
 guidance
so that developers on both side are aware of the need to communicate token
sizes.<br>
<br>
EHL<br>
<br>
<br>
On 4/12/10 9:32 AM, &quot;Allen Tom&quot; &lt;<a href=3D"atom@yahoo-inc.com=
">atom@yahoo-inc.com</a>&gt;
wrote:</span><o:p></o:p></p>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><span style=3D'font-siz=
e:11.0pt;
font-family:"Calibri","sans-serif"'>+1 &nbsp;on having no limits for the Ac=
cess
Token length.<br>
<br>
I &nbsp;fully acknowledge that shorter is better &#8211; in the case where =
access
tokens are passed on the URL as query parameters (aka jsonp), there are
practical URL length limits. Bigger tokens consume more network resources,
which can be a severe issue for mobile devices. Likewise, not defining the
token size makes it harder to client developers to size their database.<br>
<br>
That being said, given that the underlying APIs that are protected by OAuth=
2
are generally proprietary and are not interoperable, it&#8217;s really up t=
o the
Service Provider to determine the appropriate requirements and limits for t=
heir
Access tokens.<br>
<br>
Allen<br>
<br>
<br>
<br>
On 4/12/10 2:23 AM, &quot;Anthony Nadalin&quot; &lt;<a
href=3D"tonynad@microsoft.com">tonynad@microsoft.com</a>&gt; wrote:</span><=
o:p></o:p></p>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><span style=3D'font-siz=
e:11.0pt;
font-family:"Calibri","sans-serif";color:#1F497D'>+1<br>
&nbsp;<br>
</span><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'>=
<br>
</span><b><span style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"=
'>From:</span></b><span
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> <a
href=3D"oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> [<a
href=3D"mailto:oauth-bounces@ietf.org">mailto:oauth-bounces@ietf.org</a>] <=
b>On
Behalf Of </b>Torsten Lodderstedt<br>
<b>Sent:</b> Friday, April 09, 2010 11:57 PM<br>
<b>To:</b> Eran Hammer-Lahav<br>
<b>Cc:</b> OAuth WG<br>
<b>Subject:</b> Re: [OAUTH-WG] Defining a maximum token length?<br>
</span><br>
+1 no restriction, please<br>
<br>
256 is much too short<br>
<br>
Am 10.04.2010 07:16, schrieb Eran Hammer-Lahav: <br>
<span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'>I would=
 argue
that for the spec to provide a token size limit that is greater than 255 wo=
uld
cause more harm than good. This is not to say I am supporting the 255 limit=
 (I
take no position on the matter &#8211; yeah, that happens rarely). If the s=
pec
provided a 4K limit, client libraries are likely to codify that which will =
make
them extremely wasteful for 99% of the popular cases on the web today. A 4K
limit doesn&#8217;t really improve interop since the limit is so high, no o=
ne is
likely to issue even bigger tokens with public APIs.<br>
<br>
The 255 limit keeps the token size within the most effective database field
size limit for this type of identifier. If we cannot reach consensus on thi=
s
size limit, I don&#8217;t think the spec should say anything. However, if I=
 wrote a
client library, I would make it use a 255 default size limit and require a
custom configuration to enable it to use something else.<br>
<br>
So my proposal is 255 or no size guidance/restriction.<br>
<br>
EHL<br>
<br>
<br>
On 4/9/10 4:49 PM, &quot;Allen Tom&quot; &lt;<a href=3D"atom@yahoo-inc.com"=
>atom@yahoo-inc.com</a>&gt;
wrote:<br>
I think a good precedent would be to use the HTTP Cookie size limit, which<=
br>
is 4KB.<br>
<br>
An OAuth Access Token is like an HTTP Authorization cookie. They're both<br=
>
bearer tokens that are used as a credentials for a client to access<br>
protected resources on behalf of the end user.<br>
<br>
All Oauth clients have to implement HTTP anyway, so 4KB sounds like a<br>
reasonable limit.<br>
<br>
Allen<br>
<br>
<br>
<br>
&gt; On Fri, Apr 9, 2010 at 3:14 AM, Luke Shepard &lt;<a
href=3D"lshepard@facebook.com">lshepard@facebook.com</a>&gt; wrote:<br>
<br>
&gt;&gt;<br>
&gt;&gt; So, what is a reasonable limit for the token length? &nbsp;1k? 2k?=
 4k?
5mb? I<br>
&gt;&gt; suggest some language like this:<br>
&gt;&gt;<br>
&gt;&gt;<br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><br>
&nbsp;<br>
&nbsp;<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><br>
&nbsp;&nbsp;<br>
<br>
<o:p></o:p></span></p>

<div class=3DMsoNormal align=3Dcenter style=3D'text-align:center'><span
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'>

<hr size=3D3 width=3D"95%" align=3Dcenter>

</span></div>

<p class=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:Consolas'>=
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a></span><o:p></o:p></p>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

</div>

</body>

</html>

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DAAESCMBXC1TheFac_--

From James.H.Manger@team.telstra.com  Mon Apr 12 16:09:53 2010
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B7EDA3A68CB for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 16:09:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.7
X-Spam-Level: *
X-Spam-Status: No, score=1.7 tagged_above=-999 required=5 tests=[BAYES_50=0.001, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, HTML_MESSAGE=0.001, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8XghzEM83wxu for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 16:09:52 -0700 (PDT)
Received: from ipxbno.tcif.telstra.com.au (ipxbno.tcif.telstra.com.au [203.35.82.204]) by core3.amsl.com (Postfix) with ESMTP id 1F9653A68C7 for <oauth@ietf.org>; Mon, 12 Apr 2010 16:09:51 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.52,193,1270389600"; d="scan'208,217";a="811710"
Received: from unknown (HELO ipcbni.tcif.telstra.com.au) ([10.97.216.204]) by ipobni.tcif.telstra.com.au with ESMTP; 13 Apr 2010 09:09:45 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,5949"; a="611906"
Received: from wsmsg3705.srv.dir.telstra.com ([172.49.40.203]) by ipcbni.tcif.telstra.com.au with ESMTP; 13 Apr 2010 09:09:44 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by WSMSG3705.srv.dir.telstra.com ([172.49.40.203]) with mapi; Tue, 13 Apr 2010 09:09:44 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: OAuth WG <oauth@ietf.org>
Date: Tue, 13 Apr 2010 09:09:43 +1000
Thread-Topic: [OAUTH-WG] authenticating client-to-authz.server calls
Thread-Index: AcraTlQi99CDjDmYRcOBPt88Im54iQ==
Message-ID: <255B9BB34FB7D647A506DC292726F6E1125719D477@WSMSG3153V.srv.dir.telstra.com>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-AU
Content-Type: multipart/alternative; boundary="_000_255B9BB34FB7D647A506DC292726F6E1125719D477WSMSG3153Vsrv_"
MIME-Version: 1.0
Subject: [OAUTH-WG]  authenticating client-to-authz.server calls
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Apr 2010 23:09:53 -0000

--_000_255B9BB34FB7D647A506DC292726F6E1125719D477WSMSG3153Vsrv_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

UmVxdWVzdHMgZnJvbSBhIGNsaWVudCBhcHAgdG8gY29sbGVjdCBhbiBhY2Nlc3MgdG9rZW4gZG9u
4oCZdCBuZWVkIHRvIHVzZSBhbiBPQXV0aC1zcGVjaWZpYyBjbGllbnQgYXV0aGVudGljYXRpb24g
bWVjaGFuaXNtLg0KDQoNCg0KQSBzZXJ2aWNlIHRoYXQgaXNzdWVzIGEgY2xpZW50IGFwcCB3aXRo
IGNyZWRlbnRpYWxzIChlZyBhIGNsaWVudF9pZCBhbmQgY2xpZW50X3NlY3JldCkgaXMgdmVyeSBs
aWtlbHkgdG8gb2ZmZXIgQVBJcyBzcGVjaWZpY2FsbHkgZm9yIGNsaWVudHMsIGluIGFkZGl0aW9u
IHRvIEFQSXMgZm9yIGNsaWVudHMgYWN0aW5nIG9uIGJlaGFsZiBvZiB1c2Vycy4gRmFjZWJvb2ss
IGZvciBpbnN0YW5jZSwgaGFzIEFQSXMgYWxsb3dpbmcgYW4gYXBwIHRvIGdldCBhbmQgc2V0IHZh
cmlvdXMgYXBwIHByb3BlcnRpZXMsIGxpbWl0cywgbWV0cmljcyBldGMuDQoNCg0KDQpJdCBtYWtl
cyBtb3N0IHNlbnNlIGZvciBhbGwgdGhlIGNhbGxzIGZyb20gdGhlIGNsaWVudCAoYWN0aW5nIG9u
IGl0cyBvd24gYmVoYWxmKSB0byB0aGUgc2VydmljZSB0byB1c2UgdGhlIHNhbWUgYXV0aGVudGlj
YXRpb24gbWVjaGFuaXNtLiBNb3N0IG9mIHRoZXNlIGNhbGxzIGhhdmUgbm90aGluZyB0byBkbyB3
aXRoIE9BdXRoIHNvIHRoZXkgd2lsbCB1c2Ugc3RhbmRhcmQgKG9yIHByb3ByaWV0YXJ5KSBhdXRo
ZW50aWNhdGlvbiBtZWNoYW5pc21zIHRoYXQgaGF2ZSBub3RoaW5nIHRvIGRvIHdpdGggT0F1dGgu
IEEgY2xpZW504oCZcyBjYWxsIHRvIGdldCBhbiBhY2Nlc3MgdG9rZW4gc2hvdWxkIGJlIGF1dGhl
bnRpY2F0ZWQganVzdCBsaWtlIG5vbi1PQXV0aCBjbGllbnQgY2FsbHMuDQoNCg0KDQpGb3IgdGhl
IHZhcmlvdXMgcmVxdWVzdHMgZnJvbSBhIGNsaWVudCBhcHAgdG8gdGhlIGF1dGhvcml6YXRpb24g
c2VydmVyIChBUyksIE9BdXRoIHNob3VsZCBqdXN0IHNheSB0aGUgQVMgbWF5IHJlcXVpcmUgdGhl
IGNsaWVudCB0byBiZSBhdXRoZW50aWNhdGVkIHRvIG1ha2UgdGhlIGNhbGxzLg0KDQoNCg0KVGhp
cyBhZmZlY3RzIHRoZSBXZWIgQ2FsbGJhY2sgRmxvdyAoMy40LjEuMiksIFVzZXJuYW1lIGFuZCBQ
YXNzd29yZCBGbG93ICgzLjUuMS4xKSwgQ2xpZW50IENyZWRlbnRpYWwgRmxvdyAoMy42LjEuMSks
IGFuZCBSZWZyZXNoaW5nIGFuIEFjY2VzcyBUb2tlbiAoNCkuIEJhc2ljYWxseSBhbnkgcmVxdWVz
dCB3aXRoIGNsaWVudF9pZCBhbmQgY2xpZW50X3NlY3JldCBzaG91bGQgaGFzIHRoZXNlIHBhcmFt
ZXRlcnMgcmVtb3ZlZC4NCg0KDQoNCkl0IGlzIHN0aWxsIHVzZWZ1bCB0byBpZGVudGlmeSB0aGUg
Y2xpZW50IGFwcCB3aGVuIHJlZGlyZWN0aW5nIHRoZSB1c2VyIHRvIHRoZSBBUy4gVGhlIGNsaWVu
dF9pZCBwYXJhbWV0ZXIgc2hvdWxkIGJlIGtlcHQgaGVyZSAodGhvdWdoIGl0IG5lZWRzIHRvIGJl
IG9wdGlvbmFsIHNvIE9BdXRoIHN1cHBvcnRzIHVucmVnaXN0ZXJlZCBhcHBzKS4NCg0KDQoNCldp
dGhvdXQgZGVjb3VwbGluZyBjbGllbnQgYXV0aCBmcm9tIE9BdXRoIHJlcXVlc3RzLCBjbGllbnQg
YXBwcyBoYXZlIHRvIGltcGxlbWVudCBkaWZmZXJlbnQgYXV0aCBtZWNoYW5pc21zIGZvciBkaWZm
ZXJlbnQgQVBJIGNhbGxzLiBUaGV5IGFsc28gbmVlZCB0byB1c2UgdGhlIHNhbWUgY2xpZW50X3Nl
Y3JldCBpbiB0d28gZGlmZmVyZW50IG1lY2hhbmlzbXMsIHdoaWNoIGlzIG5ldmVyIGdvb2QgZm9y
IHNlY3VyaXR5LiBGaW5hbGx5LCBpZiB0aGUgbm9uLU9BdXRoIGNhbGxzIGFyZW7igJl0IGF1dGhl
bnRpY2F0ZWQgd2l0aCBhIHNoYXJlZC1zZWNyZXQgKGVnIHRoZXkgdXNlIFNBTUwsIG9yIFRMUyBj
bGllbnQgY2VydHPigKYpIHRoZSBidXJkZW4gaXMgZXZlbiB3b3JzZSBhcyB0aGUgY2xpZW50IG5v
dyBuZWVkcyBtdWx0aXBsZSB0eXBlcyBvZiBjcmVkZW50aWFscyBmb3IgYXV0aGVudGljYXRpbmcg
aXRzZWxmIHRvIHRoZSBzYW1lIHNlcnZpY2UuDQoNCg0KDQpUaGUgT0F1dGggc3BlYyBjb3VsZCB1
c2UgSFRUUCBCQVNJQyBhcyBhbiBleGFtcGxlIG1lY2hhbmlzbSBmb3IgY2xpZW50IGF1dGhlbnRp
Y2F0aW9uIGlmIGl0IG5lZWRzIG9uZSBpbiBleGFtcGxlcywgdGhvdWdoIEkgZG9u4oCZdCB0aGlu
ayBpdCBuZWVkcyB0byByZWNvbW1lbmQgYW55dGhpbmcuDQoNCg0KDQoNCg0KT24gYSByZWxhdGVk
IG5vdGUsIEkgdGhpbmsgdGhlIFNBTUwgZmxvdyB3b3VsZCBiZSBiZXR0ZXIgaWYgZGVzaWduZWQg
YXMgYSBtZWNoYW5pc20gdG8g4oCcYXV0aGVudGljYXRl4oCdIGFueSBIVFRQIHJlcXVlc3QuIEZv
ciBpbnN0YW5jZSwgYSDigJxBdXRob3JpemF0aW9uOiBTQU1MIGFzc2VydGlvbj1naGZIR0ZIR0ZH
SEY3NjU3NuKAnSBoZWFkZXIuIEl0IGNhbiBiZSBzcGVjaWZpZWQgY29tcGxldGVseSBpbmRlcGVu
ZGVudGx5IG9mIE9BdXRoIChldmVuIGlmIHRoYXQgaXMgaW4gYW5vdGhlciBzZWN0aW9uIG9mIHRo
ZSBzYW1lIHNwZWMpLiBUaGlzIGdlbmVyYWwgbWVjaGFuaXNtIGNhbiBiZSB1c2VkIHRvIOKAnGF1
dGhlbnRpY2F0ZeKAnSBhIHJlcXVlc3QgZm9yIGFuIGFjY2VzcyB0b2tlbiwgb3IgYSBjYWxsIHRv
IHJlbmV3IGEgdG9rZW4uDQoNCg0KDQoNCg0KDQoNCg0KDQotLQ0KDQpKYW1lcyBNYW5nZXINCg0K
DQoNCg==

--_000_255B9BB34FB7D647A506DC292726F6E1125719D477WSMSG3153Vsrv_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTIgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
Pg0KPCEtLQ0KIC8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCiBAZm9udC1mYWNlDQoJe2ZvbnQtZmFt
aWx5OiJDYW1icmlhIE1hdGgiOw0KCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQ0KQGZv
bnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0
IDMgMiA0O30NCiAvKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KIHAuTXNvTm9ybWFsLCBsaS5Nc29O
b3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4wMDAx
cHQ7DQoJZm9udC1zaXplOjExLjBwdDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2Vy
aWYiO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5
Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQphOnZpc2l0ZWQs
IHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNv
bG9yOnB1cnBsZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCnNwYW4uRW1haWxTdHls
ZTE3DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLWNvbXBvc2U7DQoJZm9udC1mYW1pbHk6IkNh
bGlicmkiLCJzYW5zLXNlcmlmIjsNCgljb2xvcjp3aW5kb3d0ZXh0O30NCi5Nc29DaHBEZWZhdWx0
DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5O30NCkBwYWdlIFNlY3Rpb24xDQoJe3NpemU6
NjEyLjBwdCA3OTIuMHB0Ow0KCW1hcmdpbjo3Mi4wcHQgNzIuMHB0IDcyLjBwdCA3Mi4wcHQ7fQ0K
ZGl2LlNlY3Rpb24xDQoJe3BhZ2U6U2VjdGlvbjE7fQ0KLS0+DQo8L3N0eWxlPjwhLS1baWYgZ3Rl
IG1zbyA5XT48eG1sPg0KIDxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEw
MjYiIC8+DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCiA8bzpz
aGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQogIDxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIx
IiAvPg0KIDwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4NCjwvaGVhZD4NCjxib2R5
IGxhbmc9IkVOLUFVIiBsaW5rPSJibHVlIiB2bGluaz0icHVycGxlIj4NCjxkaXYgY2xhc3M9IlNl
Y3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlJlcXVlc3RzIGZyb20gYSBjbGllbnQgYXBw
IHRvIGNvbGxlY3QgYW4gYWNjZXNzIHRva2VuIGRvbuKAmXQgbmVlZCB0byB1c2UgYW4gT0F1dGgt
c3BlY2lmaWMgY2xpZW50IGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbS48bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+QSBzZXJ2aWNlIHRoYXQgaXNzdWVzIGEgY2xpZW50IGFwcCB3aXRoIGNyZWRlbnRp
YWxzIChlZyBhIGNsaWVudF9pZCBhbmQgY2xpZW50X3NlY3JldCkgaXMgdmVyeSBsaWtlbHkgdG8g
b2ZmZXIgQVBJcyBzcGVjaWZpY2FsbHkgZm9yIGNsaWVudHMsIGluIGFkZGl0aW9uIHRvIEFQSXMg
Zm9yIGNsaWVudHMgYWN0aW5nIG9uIGJlaGFsZiBvZiB1c2Vycy4gRmFjZWJvb2ssIGZvciBpbnN0
YW5jZSwgaGFzIEFQSXMgYWxsb3dpbmcNCiBhbiBhcHAgdG8gZ2V0IGFuZCBzZXQgdmFyaW91cyBh
cHAgcHJvcGVydGllcywgbGltaXRzLCBtZXRyaWNzIGV0Yy48bzpwPjwvbzpwPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+SXQgbWFrZXMgbW9zdCBzZW5zZSBmb3IgYWxsIHRoZSBjYWxscyBmcm9tIHRoZSBjbGllbnQg
KGFjdGluZyBvbiBpdHMgb3duIGJlaGFsZikgdG8gdGhlIHNlcnZpY2UgdG8gdXNlIHRoZSBzYW1l
IGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbS4gTW9zdCBvZiB0aGVzZSBjYWxscyBoYXZlIG5vdGhp
bmcgdG8gZG8gd2l0aCBPQXV0aCBzbyB0aGV5IHdpbGwgdXNlIHN0YW5kYXJkIChvciBwcm9wcmll
dGFyeSkgYXV0aGVudGljYXRpb24NCiBtZWNoYW5pc21zIHRoYXQgaGF2ZSBub3RoaW5nIHRvIGRv
IHdpdGggT0F1dGguIEEgY2xpZW504oCZcyBjYWxsIHRvIGdldCBhbiBhY2Nlc3MgdG9rZW4gc2hv
dWxkIGJlIGF1dGhlbnRpY2F0ZWQganVzdCBsaWtlIG5vbi1PQXV0aCBjbGllbnQgY2FsbHMuPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPkZvciB0aGUgdmFyaW91cyByZXF1ZXN0cyBmcm9tIGEgY2xp
ZW50IGFwcCB0byB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXIgKEFTKSwgT0F1dGggc2hvdWxkIGp1
c3Qgc2F5IHRoZSBBUyBtYXkgcmVxdWlyZSB0aGUgY2xpZW50IHRvIGJlIGF1dGhlbnRpY2F0ZWQg
dG8gbWFrZSB0aGUgY2FsbHMuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRoaXMgYWZmZWN0cyB0
aGUgV2ViIENhbGxiYWNrIEZsb3cgKDMuNC4xLjIpLCBVc2VybmFtZSBhbmQgUGFzc3dvcmQgRmxv
dyAoMy41LjEuMSksIENsaWVudCBDcmVkZW50aWFsIEZsb3cgKDMuNi4xLjEpLCBhbmQgUmVmcmVz
aGluZyBhbiBBY2Nlc3MgVG9rZW4gKDQpLiBCYXNpY2FsbHkgYW55IHJlcXVlc3Qgd2l0aCBjbGll
bnRfaWQgYW5kIGNsaWVudF9zZWNyZXQgc2hvdWxkIGhhcyB0aGVzZSBwYXJhbWV0ZXJzDQogcmVt
b3ZlZC48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9v
OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SXQgaXMgc3RpbGwgdXNlZnVsIHRvIGlkZW50
aWZ5IHRoZSBjbGllbnQgYXBwIHdoZW4gcmVkaXJlY3RpbmcgdGhlIHVzZXIgdG8gdGhlIEFTLiBU
aGUgY2xpZW50X2lkIHBhcmFtZXRlciBzaG91bGQgYmUga2VwdCBoZXJlICh0aG91Z2ggaXQgbmVl
ZHMgdG8gYmUgb3B0aW9uYWwgc28gT0F1dGggc3VwcG9ydHMgdW5yZWdpc3RlcmVkIGFwcHMpLjxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5XaXRob3V0IGRlY291cGxpbmcgY2xpZW50IGF1dGggZnJv
bSBPQXV0aCByZXF1ZXN0cywgY2xpZW50IGFwcHMgaGF2ZSB0byBpbXBsZW1lbnQgZGlmZmVyZW50
IGF1dGggbWVjaGFuaXNtcyBmb3IgZGlmZmVyZW50IEFQSSBjYWxscy4gVGhleSBhbHNvIG5lZWQg
dG8gdXNlIHRoZSBzYW1lIGNsaWVudF9zZWNyZXQgaW4gdHdvIGRpZmZlcmVudCBtZWNoYW5pc21z
LCB3aGljaCBpcyBuZXZlciBnb29kIGZvciBzZWN1cml0eS4NCiBGaW5hbGx5LCBpZiB0aGUgbm9u
LU9BdXRoIGNhbGxzIGFyZW7igJl0IGF1dGhlbnRpY2F0ZWQgd2l0aCBhIHNoYXJlZC1zZWNyZXQg
KGVnIHRoZXkgdXNlIFNBTUwsIG9yIFRMUyBjbGllbnQgY2VydHPigKYpIHRoZSBidXJkZW4gaXMg
ZXZlbiB3b3JzZSBhcyB0aGUgY2xpZW50IG5vdyBuZWVkcyBtdWx0aXBsZSB0eXBlcyBvZiBjcmVk
ZW50aWFscyBmb3IgYXV0aGVudGljYXRpbmcgaXRzZWxmIHRvIHRoZSBzYW1lIHNlcnZpY2UuPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRoZSBPQXV0aCBzcGVjIGNvdWxkIHVzZSBIVFRQIEJBU0lD
IGFzIGFuIGV4YW1wbGUgbWVjaGFuaXNtIGZvciBjbGllbnQgYXV0aGVudGljYXRpb24gaWYgaXQg
bmVlZHMgb25lIGluIGV4YW1wbGVzLCB0aG91Z2ggSSBkb27igJl0IHRoaW5rIGl0IG5lZWRzIHRv
IHJlY29tbWVuZCBhbnl0aGluZy48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8
L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5PbiBhIHJlbGF0ZWQgbm90ZSwgSSB0aGlu
ayB0aGUgU0FNTCBmbG93IHdvdWxkIGJlIGJldHRlciBpZiBkZXNpZ25lZCBhcyBhIG1lY2hhbmlz
bSB0byDigJxhdXRoZW50aWNhdGXigJ0gYW55IEhUVFAgcmVxdWVzdC4gRm9yIGluc3RhbmNlLCBh
IOKAnEF1dGhvcml6YXRpb246IFNBTUwgYXNzZXJ0aW9uPWdoZkhHRkhHRkdIRjc2NTc24oCdIGhl
YWRlci4gSXQgY2FuIGJlIHNwZWNpZmllZCBjb21wbGV0ZWx5IGluZGVwZW5kZW50bHkNCiBvZiBP
QXV0aCAoZXZlbiBpZiB0aGF0IGlzIGluIGFub3RoZXIgc2VjdGlvbiBvZiB0aGUgc2FtZSBzcGVj
KS4gVGhpcyBnZW5lcmFsIG1lY2hhbmlzbSBjYW4gYmUgdXNlZCB0byDigJxhdXRoZW50aWNhdGXi
gJ0gYSByZXF1ZXN0IGZvciBhbiBhY2Nlc3MgdG9rZW4sIG9yIGEgY2FsbCB0byByZW5ldyBhIHRv
a2VuLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286
cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4tLSA8bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkphbWVzIE1hbmdlcjxvOnA+PC9vOnA+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjwv
Ym9keT4NCjwvaHRtbD4NCg==

--_000_255B9BB34FB7D647A506DC292726F6E1125719D477WSMSG3153Vsrv_--

From lshepard@facebook.com  Mon Apr 12 18:29:35 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 70D663A69A3 for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 18:29:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.486
X-Spam-Level: 
X-Spam-Status: No, score=-2.486 tagged_above=-999 required=5 tests=[AWL=-0.711, BAYES_05=-1.11, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4S-Mj5xOj8c3 for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 18:29:33 -0700 (PDT)
Received: from mailout-snc1.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 931D53A698C for <oauth@ietf.org>; Mon, 12 Apr 2010 18:29:33 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.212]) by pp01.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3D1T64X006755 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Mon, 12 Apr 2010 18:29:09 -0700
Received: from sc-hub05.TheFacebook.com (192.168.18.82) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.682.1; Mon, 12 Apr 2010 18:29:09 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub05.TheFacebook.com ([192.168.18.82]) with mapi; Mon, 12 Apr 2010 18:29:09 -0700
From: Luke Shepard <lshepard@facebook.com>
To: "Manger, James H" <James.H.Manger@team.telstra.com>, OAuth WG <oauth@ietf.org>
Date: Mon, 12 Apr 2010 18:29:06 -0700
Thread-Topic: [OAUTH-WG]  authenticating client-to-authz.server calls
Thread-Index: AcraTlQi99CDjDmYRcOBPt88Im54iQAWPxCA
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66DADC@SC-MBXC1.TheFacebook.com>
References: <255B9BB34FB7D647A506DC292726F6E1125719D477@WSMSG3153V.srv.dir.telstra.com>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E1125719D477@WSMSG3153V.srv.dir.telstra.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_2513A610118CC14C8E622C376C8DEC93D54D66DADCSCMBXC1TheFac_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-12_12:2010-02-06, 2010-04-12, 2010-04-12 signatures=0
Subject: Re: [OAUTH-WG] authenticating client-to-authz.server calls
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Apr 2010 01:29:35 -0000

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DADCSCMBXC1TheFac_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SW4gRmFjZWJvb2vigJlzIGNhc2UsIHdlIHdvdWxkIGxpa2UgdG8gbWFrZSBvdXIgZW50aXJlIEFQ
SSBhY2Nlc3NpYmxlIGV4Y2x1c2l2ZWx5IHZpYSBPQXV0aCDigJMgaW5jbHVkaW5nIHByb3BlcnRp
ZXMsIG1ldHJpY3MsIGV0Yy4gRm9yIG91ciBwdXJwb3NlcywgSSB0aGluayB0aGUgQ2xpZW50IENy
ZWRlbnRpYWxzIEZsb3cgKGh0dHA6Ly9naXRodWIuY29tL3RoZVJhem9yQmxhZGUvZHJhZnQtaWV0
Zi1vYXV0aC9ibG9iL21hc3Rlci9kcmFmdC1pZXRmLW9hdXRoLnR4dCNMMTg2OSkgaXMgc3VmZmlj
aWVudC4gSSBwcmVmZXIgdGhlIGNvbnNpc3RlbmN5IGFuZCBzaW1wbGljaXR5IG9mIHRoZSBhY2Nl
c3MgdG9rZW4gZXZlbiB0aG91Z2ggaXQgbWVhbnMgYW4gZXh0cmEgc2VydmVyIGNhbGwuDQoNCklu
IHRoZSBDbGllbnQgQ3JlZGVudGlhbHMgRmxvdywgdGhlIGNsaWVudF9zZWNyZXQgaXMgYWxyZWFk
eSBvcHRpb25hbCwgd2hpY2ggbGVhdmVzIGl0IHVwIHRvIHRoZSBzZXJ2ZXIgdG8gYXV0aGVudGlj
YXRlIHZpYSBvdGhlciBtZWFucyAoZm9yIGV4YW1wbGUsIGNsaWVudCBjZXJ0IG9yIHdoYXRldmVy
KS4NCg0KTWFueSBvZiB0aGUgc2VjdXJpdHkgYXNzdW1wdGlvbnMgaW4gdGhlIHNwZWMgb25seSBo
b2xkIHRydWUgaWYgYSBzZWNyZXQgaXMgcGFzc2VkLiBJ4oCZbSBub3QgY29tZm9ydGFibGUgbGVh
dmluZyBzbyBtdWNoIHVwIHRvIHRoZSBkZXZlbG9wZXIuIFBlcmhhcHMgd2UgY291bGQgaGF2ZSBh
IHNlY3Rpb24gdGhhdCBzYXlzIOKAnEl0IGlzIG9rYXkgdG8gZHJvcCB0aGUgY2xpZW50IHNlY3Jl
dCB3aGVyZXZlciBpdCBpcyByZXF1ZXN0ZWQsIGFzIGxvbmcgYXMgYWx0ZXJuYXRpdmUgZXF1YWxs
eSBzdHJvbmcgYXV0aGVudGljYXRpb24gbWVhc3VyZXMgYXJlIHRha2VuLuKAnQ0KDQoNCkZyb206
IG9hdXRoLWJvdW5jZXNAaWV0Zi5vcmcgW21haWx0bzpvYXV0aC1ib3VuY2VzQGlldGYub3JnXSBP
biBCZWhhbGYgT2YgTWFuZ2VyLCBKYW1lcyBIDQpTZW50OiBNb25kYXksIEFwcmlsIDEyLCAyMDEw
IDQ6MTAgUE0NClRvOiBPQXV0aCBXRw0KU3ViamVjdDogW09BVVRILVdHXSBhdXRoZW50aWNhdGlu
ZyBjbGllbnQtdG8tYXV0aHouc2VydmVyIGNhbGxzDQoNClJlcXVlc3RzIGZyb20gYSBjbGllbnQg
YXBwIHRvIGNvbGxlY3QgYW4gYWNjZXNzIHRva2VuIGRvbuKAmXQgbmVlZCB0byB1c2UgYW4gT0F1
dGgtc3BlY2lmaWMgY2xpZW50IGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbS4NCg0KQSBzZXJ2aWNl
IHRoYXQgaXNzdWVzIGEgY2xpZW50IGFwcCB3aXRoIGNyZWRlbnRpYWxzIChlZyBhIGNsaWVudF9p
ZCBhbmQgY2xpZW50X3NlY3JldCkgaXMgdmVyeSBsaWtlbHkgdG8gb2ZmZXIgQVBJcyBzcGVjaWZp
Y2FsbHkgZm9yIGNsaWVudHMsIGluIGFkZGl0aW9uIHRvIEFQSXMgZm9yIGNsaWVudHMgYWN0aW5n
IG9uIGJlaGFsZiBvZiB1c2Vycy4gRmFjZWJvb2ssIGZvciBpbnN0YW5jZSwgaGFzIEFQSXMgYWxs
b3dpbmcgYW4gYXBwIHRvIGdldCBhbmQgc2V0IHZhcmlvdXMgYXBwIHByb3BlcnRpZXMsIGxpbWl0
cywgbWV0cmljcyBldGMuDQoNCkl0IG1ha2VzIG1vc3Qgc2Vuc2UgZm9yIGFsbCB0aGUgY2FsbHMg
ZnJvbSB0aGUgY2xpZW50IChhY3Rpbmcgb24gaXRzIG93biBiZWhhbGYpIHRvIHRoZSBzZXJ2aWNl
IHRvIHVzZSB0aGUgc2FtZSBhdXRoZW50aWNhdGlvbiBtZWNoYW5pc20uIE1vc3Qgb2YgdGhlc2Ug
Y2FsbHMgaGF2ZSBub3RoaW5nIHRvIGRvIHdpdGggT0F1dGggc28gdGhleSB3aWxsIHVzZSBzdGFu
ZGFyZCAob3IgcHJvcHJpZXRhcnkpIGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbXMgdGhhdCBoYXZl
IG5vdGhpbmcgdG8gZG8gd2l0aCBPQXV0aC4gQSBjbGllbnTigJlzIGNhbGwgdG8gZ2V0IGFuIGFj
Y2VzcyB0b2tlbiBzaG91bGQgYmUgYXV0aGVudGljYXRlZCBqdXN0IGxpa2Ugbm9uLU9BdXRoIGNs
aWVudCBjYWxscy4NCg0KRm9yIHRoZSB2YXJpb3VzIHJlcXVlc3RzIGZyb20gYSBjbGllbnQgYXBw
IHRvIHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciAoQVMpLCBPQXV0aCBzaG91bGQganVzdCBzYXkg
dGhlIEFTIG1heSByZXF1aXJlIHRoZSBjbGllbnQgdG8gYmUgYXV0aGVudGljYXRlZCB0byBtYWtl
IHRoZSBjYWxscy4NCg0KVGhpcyBhZmZlY3RzIHRoZSBXZWIgQ2FsbGJhY2sgRmxvdyAoMy40LjEu
MiksIFVzZXJuYW1lIGFuZCBQYXNzd29yZCBGbG93ICgzLjUuMS4xKSwgQ2xpZW50IENyZWRlbnRp
YWwgRmxvdyAoMy42LjEuMSksIGFuZCBSZWZyZXNoaW5nIGFuIEFjY2VzcyBUb2tlbiAoNCkuIEJh
c2ljYWxseSBhbnkgcmVxdWVzdCB3aXRoIGNsaWVudF9pZCBhbmQgY2xpZW50X3NlY3JldCBzaG91
bGQgaGFzIHRoZXNlIHBhcmFtZXRlcnMgcmVtb3ZlZC4NCg0KSXQgaXMgc3RpbGwgdXNlZnVsIHRv
IGlkZW50aWZ5IHRoZSBjbGllbnQgYXBwIHdoZW4gcmVkaXJlY3RpbmcgdGhlIHVzZXIgdG8gdGhl
IEFTLiBUaGUgY2xpZW50X2lkIHBhcmFtZXRlciBzaG91bGQgYmUga2VwdCBoZXJlICh0aG91Z2gg
aXQgbmVlZHMgdG8gYmUgb3B0aW9uYWwgc28gT0F1dGggc3VwcG9ydHMgdW5yZWdpc3RlcmVkIGFw
cHMpLg0KDQpXaXRob3V0IGRlY291cGxpbmcgY2xpZW50IGF1dGggZnJvbSBPQXV0aCByZXF1ZXN0
cywgY2xpZW50IGFwcHMgaGF2ZSB0byBpbXBsZW1lbnQgZGlmZmVyZW50IGF1dGggbWVjaGFuaXNt
cyBmb3IgZGlmZmVyZW50IEFQSSBjYWxscy4gVGhleSBhbHNvIG5lZWQgdG8gdXNlIHRoZSBzYW1l
IGNsaWVudF9zZWNyZXQgaW4gdHdvIGRpZmZlcmVudCBtZWNoYW5pc21zLCB3aGljaCBpcyBuZXZl
ciBnb29kIGZvciBzZWN1cml0eS4gRmluYWxseSwgaWYgdGhlIG5vbi1PQXV0aCBjYWxscyBhcmVu
4oCZdCBhdXRoZW50aWNhdGVkIHdpdGggYSBzaGFyZWQtc2VjcmV0IChlZyB0aGV5IHVzZSBTQU1M
LCBvciBUTFMgY2xpZW50IGNlcnRz4oCmKSB0aGUgYnVyZGVuIGlzIGV2ZW4gd29yc2UgYXMgdGhl
IGNsaWVudCBub3cgbmVlZHMgbXVsdGlwbGUgdHlwZXMgb2YgY3JlZGVudGlhbHMgZm9yIGF1dGhl
bnRpY2F0aW5nIGl0c2VsZiB0byB0aGUgc2FtZSBzZXJ2aWNlLg0KDQpUaGUgT0F1dGggc3BlYyBj
b3VsZCB1c2UgSFRUUCBCQVNJQyBhcyBhbiBleGFtcGxlIG1lY2hhbmlzbSBmb3IgY2xpZW50IGF1
dGhlbnRpY2F0aW9uIGlmIGl0IG5lZWRzIG9uZSBpbiBleGFtcGxlcywgdGhvdWdoIEkgZG9u4oCZ
dCB0aGluayBpdCBuZWVkcyB0byByZWNvbW1lbmQgYW55dGhpbmcuDQoNCg0KT24gYSByZWxhdGVk
IG5vdGUsIEkgdGhpbmsgdGhlIFNBTUwgZmxvdyB3b3VsZCBiZSBiZXR0ZXIgaWYgZGVzaWduZWQg
YXMgYSBtZWNoYW5pc20gdG8g4oCcYXV0aGVudGljYXRl4oCdIGFueSBIVFRQIHJlcXVlc3QuIEZv
ciBpbnN0YW5jZSwgYSDigJxBdXRob3JpemF0aW9uOiBTQU1MIGFzc2VydGlvbj1naGZIR0ZIR0ZH
SEY3NjU3NuKAnSBoZWFkZXIuIEl0IGNhbiBiZSBzcGVjaWZpZWQgY29tcGxldGVseSBpbmRlcGVu
ZGVudGx5IG9mIE9BdXRoIChldmVuIGlmIHRoYXQgaXMgaW4gYW5vdGhlciBzZWN0aW9uIG9mIHRo
ZSBzYW1lIHNwZWMpLiBUaGlzIGdlbmVyYWwgbWVjaGFuaXNtIGNhbiBiZSB1c2VkIHRvIOKAnGF1
dGhlbnRpY2F0ZeKAnSBhIHJlcXVlc3QgZm9yIGFuIGFjY2VzcyB0b2tlbiwgb3IgYSBjYWxsIHRv
IHJlbmV3IGEgdG9rZW4uDQoNCg0KDQoNCi0tDQpKYW1lcyBNYW5nZXINCg0K

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DADCSCMBXC1TheFac_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQoNCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj1Db250ZW50LVR5cGUg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9R2VuZXJhdG9y
IGNvbnRlbnQ9Ik1pY3Jvc29mdCBXb3JkIDEyIChmaWx0ZXJlZCBtZWRpdW0pIj4NCjxzdHlsZT4N
CjwhLS0NCiAvKiBGb250IERlZmluaXRpb25zICovDQogQGZvbnQtZmFjZQ0KCXtmb250LWZhbWls
eToiQ2FtYnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMgMiA0O30NCkBmb250
LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToyIDE1IDUgMiAyIDIgNCAz
IDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OlRhaG9tYTsNCglwYW5vc2UtMToyIDEx
IDYgNCAzIDUgNCA0IDIgNDt9DQogLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCiBwLk1zb05vcm1h
bCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsDQoJe21hcmdpbjowaW47DQoJbWFyZ2luLWJv
dHRvbTouMDAwMXB0Ow0KCWZvbnQtc2l6ZToxMS4wcHQ7DQoJZm9udC1mYW1pbHk6IkNhbGlicmki
LCJzYW5zLXNlcmlmIjt9DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1zdHlsZS1w
cmlvcml0eTo5OTsNCgljb2xvcjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0K
YTp2aXNpdGVkLCBzcGFuLk1zb0h5cGVybGlua0ZvbGxvd2VkDQoJe21zby1zdHlsZS1wcmlvcml0
eTo5OTsNCgljb2xvcjpwdXJwbGU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpzcGFu
LkVtYWlsU3R5bGUxNw0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbDsNCglmb250LWZhbWlseToi
Q2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KCWNvbG9yOndpbmRvd3RleHQ7fQ0Kc3Bhbi5FbWFpbFN0
eWxlMTgNCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7DQoJZm9udC1mYW1pbHk6IkNh
bGlicmkiLCJzYW5zLXNlcmlmIjsNCgljb2xvcjojMUY0OTdEO30NCi5Nc29DaHBEZWZhdWx0DQoJ
e21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5Ow0KCWZvbnQtc2l6ZToxMC4wcHQ7fQ0KQHBhZ2Ug
U2VjdGlvbjENCgl7c2l6ZTo4LjVpbiAxMS4waW47DQoJbWFyZ2luOjEuMGluIDEuMGluIDEuMGlu
IDEuMGluO30NCmRpdi5TZWN0aW9uMQ0KCXtwYWdlOlNlY3Rpb24xO30NCi0tPg0KPC9zdHlsZT4N
CjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KIDxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQi
IHNwaWRtYXg9IjEwMjYiIC8+DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+
PHhtbD4NCiA8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQogIDxvOmlkbWFwIHY6ZXh0PSJl
ZGl0IiBkYXRhPSIxIiAvPg0KIDwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4NCjwv
aGVhZD4NCg0KPGJvZHkgbGFuZz1FTi1VUyBsaW5rPWJsdWUgdmxpbms9cHVycGxlPg0KDQo8ZGl2
IGNsYXNzPVNlY3Rpb24xPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gc3R5bGU9J2NvbG9y
OiMxRjQ5N0QnPkluIEZhY2Vib29r4oCZcyBjYXNlLCB3ZSB3b3VsZA0KbGlrZSB0byBtYWtlIG91
ciBlbnRpcmUgQVBJIGFjY2Vzc2libGUgZXhjbHVzaXZlbHkgdmlhIE9BdXRoIOKAkyBpbmNsdWRp
bmcgcHJvcGVydGllcywNCm1ldHJpY3MsIGV0Yy4gRm9yIG91ciBwdXJwb3NlcywgSSB0aGluayB0
aGUgQ2xpZW50IENyZWRlbnRpYWxzIEZsb3cgKDxhDQpocmVmPSJodHRwOi8vZ2l0aHViLmNvbS90
aGVSYXpvckJsYWRlL2RyYWZ0LWlldGYtb2F1dGgvYmxvYi9tYXN0ZXIvZHJhZnQtaWV0Zi1vYXV0
aC50eHQjTDE4NjkiPmh0dHA6Ly9naXRodWIuY29tL3RoZVJhem9yQmxhZGUvZHJhZnQtaWV0Zi1v
YXV0aC9ibG9iL21hc3Rlci9kcmFmdC1pZXRmLW9hdXRoLnR4dCNMMTg2OTwvYT4pDQppcyBzdWZm
aWNpZW50LiBJIHByZWZlciB0aGUgY29uc2lzdGVuY3kgYW5kIHNpbXBsaWNpdHkgb2YgdGhlIGFj
Y2VzcyB0b2tlbiBldmVuDQp0aG91Z2ggaXQgbWVhbnMgYW4gZXh0cmEgc2VydmVyIGNhbGwuPG86
cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gc3R5bGU9J2Nv
bG9yOiMxRjQ5N0QnPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNv
Tm9ybWFsPjxzcGFuIHN0eWxlPSdjb2xvcjojMUY0OTdEJz5JbiB0aGUgQ2xpZW50IENyZWRlbnRp
YWxzIEZsb3csDQp0aGUgY2xpZW50X3NlY3JldCBpcyBhbHJlYWR5IG9wdGlvbmFsLCB3aGljaCBs
ZWF2ZXMgaXQgdXAgdG8gdGhlIHNlcnZlciB0bw0KYXV0aGVudGljYXRlIHZpYSBvdGhlciBtZWFu
cyAoZm9yIGV4YW1wbGUsIGNsaWVudCBjZXJ0IG9yIHdoYXRldmVyKS48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nY29sb3I6IzFGNDk3RCc+
PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4g
c3R5bGU9J2NvbG9yOiMxRjQ5N0QnPk1hbnkgb2YgdGhlIHNlY3VyaXR5IGFzc3VtcHRpb25zDQpp
biB0aGUgc3BlYyBvbmx5IGhvbGQgdHJ1ZSBpZiBhIHNlY3JldCBpcyBwYXNzZWQuIEnigJltIG5v
dCBjb21mb3J0YWJsZSBsZWF2aW5nDQpzbyBtdWNoIHVwIHRvIHRoZSBkZXZlbG9wZXIuIFBlcmhh
cHMgd2UgY291bGQgaGF2ZSBhIHNlY3Rpb24gdGhhdCBzYXlzIOKAnEl0IGlzDQpva2F5IHRvIGRy
b3AgdGhlIGNsaWVudCBzZWNyZXQgd2hlcmV2ZXIgaXQgaXMgcmVxdWVzdGVkLCBhcyBsb25nIGFz
IGFsdGVybmF0aXZlDQplcXVhbGx5IHN0cm9uZyBhdXRoZW50aWNhdGlvbiBtZWFzdXJlcyBhcmUg
dGFrZW4u4oCdIDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxz
cGFuIHN0eWxlPSdjb2xvcjojMUY0OTdEJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQoN
CjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nY29sb3I6IzFGNDk3RCc+PG86cD4mbmJz
cDs8L286cD48L3NwYW4+PC9wPg0KDQo8ZGl2Pg0KDQo8ZGl2IHN0eWxlPSdib3JkZXI6bm9uZTti
b3JkZXItdG9wOnNvbGlkICNCNUM0REYgMS4wcHQ7cGFkZGluZzozLjBwdCAwaW4gMGluIDBpbic+
DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48Yj48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtm
b250LWZhbWlseToiVGFob21hIiwic2Fucy1zZXJpZiInPkZyb206PC9zcGFuPjwvYj48c3Bhbg0K
c3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRhaG9tYSIsInNhbnMtc2VyaWYi
Jz4NCm9hdXRoLWJvdW5jZXNAaWV0Zi5vcmcgW21haWx0bzpvYXV0aC1ib3VuY2VzQGlldGYub3Jn
XSA8Yj5PbiBCZWhhbGYgT2YgPC9iPk1hbmdlciwNCkphbWVzIEg8YnI+DQo8Yj5TZW50OjwvYj4g
TW9uZGF5LCBBcHJpbCAxMiwgMjAxMCA0OjEwIFBNPGJyPg0KPGI+VG86PC9iPiBPQXV0aCBXRzxi
cj4NCjxiPlN1YmplY3Q6PC9iPiBbT0FVVEgtV0ddIGF1dGhlbnRpY2F0aW5nIGNsaWVudC10by1h
dXRoei5zZXJ2ZXIgY2FsbHM8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjwvZGl2Pg0KDQo8L2Rp
dj4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFz
cz1Nc29Ob3JtYWw+PHNwYW4gbGFuZz1FTi1BVT5SZXF1ZXN0cyBmcm9tIGEgY2xpZW50IGFwcCB0
byBjb2xsZWN0IGFuDQphY2Nlc3MgdG9rZW4gZG9u4oCZdCBuZWVkIHRvIHVzZSBhbiBPQXV0aC1z
cGVjaWZpYyBjbGllbnQgYXV0aGVudGljYXRpb24NCm1lY2hhbmlzbS48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBsYW5nPUVOLUFVPjxvOnA+Jm5ic3A7
PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIGxhbmc9RU4tQVU+
QSBzZXJ2aWNlIHRoYXQgaXNzdWVzIGEgY2xpZW50IGFwcCB3aXRoDQpjcmVkZW50aWFscyAoZWcg
YSBjbGllbnRfaWQgYW5kIGNsaWVudF9zZWNyZXQpIGlzIHZlcnkgbGlrZWx5IHRvIG9mZmVyIEFQ
SXMNCnNwZWNpZmljYWxseSBmb3IgY2xpZW50cywgaW4gYWRkaXRpb24gdG8gQVBJcyBmb3IgY2xp
ZW50cyBhY3Rpbmcgb24gYmVoYWxmIG9mDQp1c2Vycy4gRmFjZWJvb2ssIGZvciBpbnN0YW5jZSwg
aGFzIEFQSXMgYWxsb3dpbmcgYW4gYXBwIHRvIGdldCBhbmQgc2V0IHZhcmlvdXMNCmFwcCBwcm9w
ZXJ0aWVzLCBsaW1pdHMsIG1ldHJpY3MgZXRjLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAg
Y2xhc3M9TXNvTm9ybWFsPjxzcGFuIGxhbmc9RU4tQVU+PG86cD4mbmJzcDs8L286cD48L3NwYW4+
PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gbGFuZz1FTi1BVT5JdCBtYWtlcyBtb3N0
IHNlbnNlIGZvciBhbGwgdGhlIGNhbGxzIGZyb20NCnRoZSBjbGllbnQgKGFjdGluZyBvbiBpdHMg
b3duIGJlaGFsZikgdG8gdGhlIHNlcnZpY2UgdG8gdXNlIHRoZSBzYW1lDQphdXRoZW50aWNhdGlv
biBtZWNoYW5pc20uIE1vc3Qgb2YgdGhlc2UgY2FsbHMgaGF2ZSBub3RoaW5nIHRvIGRvIHdpdGgg
T0F1dGggc28NCnRoZXkgd2lsbCB1c2Ugc3RhbmRhcmQgKG9yIHByb3ByaWV0YXJ5KSBhdXRoZW50
aWNhdGlvbiBtZWNoYW5pc21zIHRoYXQgaGF2ZQ0Kbm90aGluZyB0byBkbyB3aXRoIE9BdXRoLiBB
IGNsaWVudOKAmXMgY2FsbCB0byBnZXQgYW4gYWNjZXNzIHRva2VuIHNob3VsZCBiZQ0KYXV0aGVu
dGljYXRlZCBqdXN0IGxpa2Ugbm9uLU9BdXRoIGNsaWVudCBjYWxscy48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBsYW5nPUVOLUFVPjxvOnA+Jm5ic3A7
PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIGxhbmc9RU4tQVU+
Rm9yIHRoZSB2YXJpb3VzIHJlcXVlc3RzIGZyb20gYSBjbGllbnQgYXBwDQp0byB0aGUgYXV0aG9y
aXphdGlvbiBzZXJ2ZXIgKEFTKSwgT0F1dGggc2hvdWxkIGp1c3Qgc2F5IHRoZSBBUyBtYXkgcmVx
dWlyZSB0aGUNCmNsaWVudCB0byBiZSBhdXRoZW50aWNhdGVkIHRvIG1ha2UgdGhlIGNhbGxzLjxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIGxhbmc9RU4t
QVU+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNw
YW4gbGFuZz1FTi1BVT5UaGlzIGFmZmVjdHMgdGhlIFdlYiBDYWxsYmFjayBGbG93DQooMy40LjEu
MiksIFVzZXJuYW1lIGFuZCBQYXNzd29yZCBGbG93ICgzLjUuMS4xKSwgQ2xpZW50IENyZWRlbnRp
YWwgRmxvdw0KKDMuNi4xLjEpLCBhbmQgUmVmcmVzaGluZyBhbiBBY2Nlc3MgVG9rZW4gKDQpLiBC
YXNpY2FsbHkgYW55IHJlcXVlc3Qgd2l0aA0KY2xpZW50X2lkIGFuZCBjbGllbnRfc2VjcmV0IHNo
b3VsZCBoYXMgdGhlc2UgcGFyYW1ldGVycyByZW1vdmVkLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
Cg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIGxhbmc9RU4tQVU+PG86cD4mbmJzcDs8L286cD48
L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gbGFuZz1FTi1BVT5JdCBpcyBz
dGlsbCB1c2VmdWwgdG8gaWRlbnRpZnkgdGhlIGNsaWVudA0KYXBwIHdoZW4gcmVkaXJlY3Rpbmcg
dGhlIHVzZXIgdG8gdGhlIEFTLiBUaGUgY2xpZW50X2lkIHBhcmFtZXRlciBzaG91bGQgYmUga2Vw
dA0KaGVyZSAodGhvdWdoIGl0IG5lZWRzIHRvIGJlIG9wdGlvbmFsIHNvIE9BdXRoIHN1cHBvcnRz
IHVucmVnaXN0ZXJlZCBhcHBzKS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1z
b05vcm1hbD48c3BhbiBsYW5nPUVOLUFVPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCg0K
PHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIGxhbmc9RU4tQVU+V2l0aG91dCBkZWNvdXBsaW5nIGNs
aWVudCBhdXRoIGZyb20gT0F1dGgNCnJlcXVlc3RzLCBjbGllbnQgYXBwcyBoYXZlIHRvIGltcGxl
bWVudCBkaWZmZXJlbnQgYXV0aCBtZWNoYW5pc21zIGZvciBkaWZmZXJlbnQNCkFQSSBjYWxscy4g
VGhleSBhbHNvIG5lZWQgdG8gdXNlIHRoZSBzYW1lIGNsaWVudF9zZWNyZXQgaW4gdHdvIGRpZmZl
cmVudA0KbWVjaGFuaXNtcywgd2hpY2ggaXMgbmV2ZXIgZ29vZCBmb3Igc2VjdXJpdHkuIEZpbmFs
bHksIGlmIHRoZSBub24tT0F1dGggY2FsbHMNCmFyZW7igJl0IGF1dGhlbnRpY2F0ZWQgd2l0aCBh
IHNoYXJlZC1zZWNyZXQgKGVnIHRoZXkgdXNlIFNBTUwsIG9yIFRMUyBjbGllbnQNCmNlcnRz4oCm
KSB0aGUgYnVyZGVuIGlzIGV2ZW4gd29yc2UgYXMgdGhlIGNsaWVudCBub3cgbmVlZHMgbXVsdGlw
bGUgdHlwZXMgb2YNCmNyZWRlbnRpYWxzIGZvciBhdXRoZW50aWNhdGluZyBpdHNlbGYgdG8gdGhl
IHNhbWUgc2VydmljZS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1h
bD48c3BhbiBsYW5nPUVOLUFVPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xh
c3M9TXNvTm9ybWFsPjxzcGFuIGxhbmc9RU4tQVU+VGhlIE9BdXRoIHNwZWMgY291bGQgdXNlIEhU
VFAgQkFTSUMgYXMgYW4NCmV4YW1wbGUgbWVjaGFuaXNtIGZvciBjbGllbnQgYXV0aGVudGljYXRp
b24gaWYgaXQgbmVlZHMgb25lIGluIGV4YW1wbGVzLCB0aG91Z2gNCkkgZG9u4oCZdCB0aGluayBp
dCBuZWVkcyB0byByZWNvbW1lbmQgYW55dGhpbmcuPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8
cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gbGFuZz1FTi1BVT48bzpwPiZuYnNwOzwvbzpwPjwvc3Bh
bj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBsYW5nPUVOLUFVPjxvOnA+Jm5ic3A7
PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIGxhbmc9RU4tQVU+
T24gYSByZWxhdGVkIG5vdGUsIEkgdGhpbmsgdGhlIFNBTUwgZmxvdw0Kd291bGQgYmUgYmV0dGVy
IGlmIGRlc2lnbmVkIGFzIGEgbWVjaGFuaXNtIHRvIOKAnGF1dGhlbnRpY2F0ZeKAnSBhbnkgSFRU
UCByZXF1ZXN0Lg0KRm9yIGluc3RhbmNlLCBhIOKAnEF1dGhvcml6YXRpb246IFNBTUwgYXNzZXJ0
aW9uPWdoZkhHRkhHRkdIRjc2NTc24oCdIGhlYWRlci4gSXQNCmNhbiBiZSBzcGVjaWZpZWQgY29t
cGxldGVseSBpbmRlcGVuZGVudGx5IG9mIE9BdXRoIChldmVuIGlmIHRoYXQgaXMgaW4gYW5vdGhl
cg0Kc2VjdGlvbiBvZiB0aGUgc2FtZSBzcGVjKS4gVGhpcyBnZW5lcmFsIG1lY2hhbmlzbSBjYW4g
YmUgdXNlZCB0byDigJxhdXRoZW50aWNhdGXigJ0NCmEgcmVxdWVzdCBmb3IgYW4gYWNjZXNzIHRv
a2VuLCBvciBhIGNhbGwgdG8gcmVuZXcgYSB0b2tlbi48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoN
CjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBsYW5nPUVOLUFVPjxvOnA+Jm5ic3A7PC9vOnA+PC9z
cGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIGxhbmc9RU4tQVU+PG86cD4mbmJz
cDs8L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gbGFuZz1FTi1B
VT48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3Bh
biBsYW5nPUVOLUFVPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNv
Tm9ybWFsPjxzcGFuIGxhbmc9RU4tQVU+LS0gPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBj
bGFzcz1Nc29Ob3JtYWw+PHNwYW4gbGFuZz1FTi1BVT5KYW1lcyBNYW5nZXI8bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBsYW5nPUVOLUFVPjxvOnA+Jm5i
c3A7PC9vOnA+PC9zcGFuPjwvcD4NCg0KPC9kaXY+DQoNCjwvYm9keT4NCg0KPC9odG1sPg0K

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DADCSCMBXC1TheFac_--

From James.H.Manger@team.telstra.com  Mon Apr 12 19:31:11 2010
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 747EF3A69BD for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 19:31:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.4
X-Spam-Level: 
X-Spam-Status: No, score=0.4 tagged_above=-999 required=5 tests=[AWL=1.300, BAYES_00=-2.599, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, HTML_MESSAGE=0.001, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ShGIZe0z7NUg for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 19:31:09 -0700 (PDT)
Received: from ipxcvo.tcif.telstra.com.au (ipxcvo.tcif.telstra.com.au [203.35.135.208]) by core3.amsl.com (Postfix) with ESMTP id CB1C53A67CC for <oauth@ietf.org>; Mon, 12 Apr 2010 19:31:04 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.52,194,1270389600"; d="scan'208,217";a="942046"
Received: from unknown (HELO ipccvi.tcif.telstra.com.au) ([10.97.217.208]) by ipocvi.tcif.telstra.com.au with ESMTP; 13 Apr 2010 12:30:57 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,5949"; a="619089"
Received: from wsmsg3701.srv.dir.telstra.com ([172.49.40.169]) by ipccvi.tcif.telstra.com.au with ESMTP; 13 Apr 2010 12:30:57 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by WSMSG3701.srv.dir.telstra.com ([172.49.40.169]) with mapi; Tue, 13 Apr 2010 12:30:56 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: Luke Shepard <lshepard@facebook.com>, OAuth WG <oauth@ietf.org>
Date: Tue, 13 Apr 2010 12:30:55 +1000
Thread-Topic: [OAUTH-WG]  authenticating client-to-authz.server calls
Thread-Index: AcraTlQi99CDjDmYRcOBPt88Im54iQAWPxCAAABs+cA=
Message-ID: <255B9BB34FB7D647A506DC292726F6E112572D1DFA@WSMSG3153V.srv.dir.telstra.com>
References: <255B9BB34FB7D647A506DC292726F6E1125719D477@WSMSG3153V.srv.dir.telstra.com> <2513A610118CC14C8E622C376C8DEC93D54D66DADC@SC-MBXC1.TheFacebook.com>
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DADC@SC-MBXC1.TheFacebook.com>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-AU
Content-Type: multipart/alternative; boundary="_000_255B9BB34FB7D647A506DC292726F6E112572D1DFAWSMSG3153Vsrv_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] authenticating client-to-authz.server calls
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Apr 2010 02:31:11 -0000

--_000_255B9BB34FB7D647A506DC292726F6E112572D1DFAWSMSG3153Vsrv_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

U3dpdGNoaW5nIGV4Y2x1c2l2ZWx5IHRvIHRva2VuLWJhc2VkIGFjY2VzcyBmb3IgYWxsIEFQSXMg
aXMgb25lIHJlYXNvbmFibGUgYXBwcm9hY2guIEhvd2V2ZXIgdGhpcyBzaG91bGRu4oCZdCBiZSBy
ZXF1aXJlZCBmb3Igc2VydmljZXMgdGhhdCBqdXN0IHdhbnQgdG8gc3VwcG9ydCB0aGUgdXNlci1k
ZWxlZ2F0aW9uIHBhcnQgb2YgT0F1dGguDQoNCg0KDQpJZiBGYWNlYm9vayB1c2VkIE9BdXRoIGV4
Y2x1c2l2ZWx5LCB0aGVuIHRoZSBvbmx5IHRpbWUgYSBjbGllbnRfc2VjcmV0IHdvdWxkIGJlIHVz
ZWQgaXMgd2hlbiByZXF1ZXN0aW5nIChvciByZW5ld2luZykgYW4gYWNjZXNzIHRva2VuLiBUaGVy
ZSBpcyBvbmx5IDEgVVJJIHdoZXJlIHRoZSBzZWNyZXQgaXMgdXNlZCBzbyB5b3UgbWF5IGJldHRl
ciBvZmYganVzdCBpc3N1aW5nIGVhY2ggYXBwIGl0cyBvd24gc2VjcmV0IFVSSSBmb3IgZ2V0dGlu
ZyBhY2Nlc3MgdG9rZW5zLCBhbmQgbm90IGJvdGhlciB0byBzZXBhcmF0ZSBVUkksIGlkIGFuZCBz
ZWNyZXQuDQoNCg0KDQpJIGd1ZXNzIE9BdXRoIGNvdWxkIHN1cHBvcnQgYSBjbGllbnRfc2VjcmV0
IHBhcmFtZXRlciBhcyBvbmUgYXV0aGVudGljYXRpb24gbWVjaGFuaXNtLiBIb3dldmVyLCBpdCBm
ZWVscyBsaWtlIGEgcG9vciAoYW5kIHVubmVjZXNzYXJ5KSBjaG9pY2UgdG8gbWUuIFdlIGFscmVh
ZHkgaGF2ZSBzaW1wbGUgJiBzdGFuZGFyZCB3YXlzIHRvIGF1dGhlbnRpY2F0ZSByZXF1ZXN0cyB3
aXRoIGEgc2hhcmVkIHNlY3JldC4gVGhleSBjb21lIHdpdGggbGlicmFyeSBzdXBwb3J0LCBkaXNj
b3ZlcnkgKGVnIDQwMSBXV1ctQXV0aC46IEJBU0lDIC4uLiksIGFuZCBjb250cm9sIChlZyB3aGV0
aGVyIG9yIG5vdCB0byBpbmNsdWRlIHRoZSBzZWNyZXQgYWZ0ZXIgYSByZWRpcmVjdCkuIFBsdXMg
b2J2aW91cyB3YXlzIHRvIHN3YXAgdG8gYW55IG90aGVyIHNvcnQgb2YgY2xpZW50IGF1dGhlbnRp
Y2F0aW9uIGlmIGRlc2lyZWQuDQoNCg0KDQoNCg0KLS0NCg0KSmFtZXMgTWFuZ2VyDQoNCg0KDQpG
cm9tOiBMdWtlIFNoZXBhcmQgW21haWx0bzpsc2hlcGFyZEBmYWNlYm9vay5jb21dDQpTZW50OiBU
dWVzZGF5LCAxMyBBcHJpbCAyMDEwIDExOjI5IEFNDQpUbzogTWFuZ2VyLCBKYW1lcyBIOyBPQXV0
aCBXRw0KU3ViamVjdDogUkU6IFtPQVVUSC1XR10gYXV0aGVudGljYXRpbmcgY2xpZW50LXRvLWF1
dGh6LnNlcnZlciBjYWxscw0KDQoNCg0KSW4gRmFjZWJvb2vigJlzIGNhc2UsIHdlIHdvdWxkIGxp
a2UgdG8gbWFrZSBvdXIgZW50aXJlIEFQSSBhY2Nlc3NpYmxlIGV4Y2x1c2l2ZWx5IHZpYSBPQXV0
aCDigJMgaW5jbHVkaW5nIHByb3BlcnRpZXMsIG1ldHJpY3MsIGV0Yy4gRm9yIG91ciBwdXJwb3Nl
cywgSSB0aGluayB0aGUgQ2xpZW50IENyZWRlbnRpYWxzIEZsb3cgKGh0dHA6Ly9naXRodWIuY29t
L3RoZVJhem9yQmxhZGUvZHJhZnQtaWV0Zi1vYXV0aC9ibG9iL21hc3Rlci9kcmFmdC1pZXRmLW9h
dXRoLnR4dCNMMTg2OSkgaXMgc3VmZmljaWVudC4gSSBwcmVmZXIgdGhlIGNvbnNpc3RlbmN5IGFu
ZCBzaW1wbGljaXR5IG9mIHRoZSBhY2Nlc3MgdG9rZW4gZXZlbiB0aG91Z2ggaXQgbWVhbnMgYW4g
ZXh0cmEgc2VydmVyIGNhbGwuDQoNCg0KDQpJbiB0aGUgQ2xpZW50IENyZWRlbnRpYWxzIEZsb3cs
IHRoZSBjbGllbnRfc2VjcmV0IGlzIGFscmVhZHkgb3B0aW9uYWwsIHdoaWNoIGxlYXZlcyBpdCB1
cCB0byB0aGUgc2VydmVyIHRvIGF1dGhlbnRpY2F0ZSB2aWEgb3RoZXIgbWVhbnMgKGZvciBleGFt
cGxlLCBjbGllbnQgY2VydCBvciB3aGF0ZXZlcikuDQoNCg0KDQpNYW55IG9mIHRoZSBzZWN1cml0
eSBhc3N1bXB0aW9ucyBpbiB0aGUgc3BlYyBvbmx5IGhvbGQgdHJ1ZSBpZiBhIHNlY3JldCBpcyBw
YXNzZWQuIEnigJltIG5vdCBjb21mb3J0YWJsZSBsZWF2aW5nIHNvIG11Y2ggdXAgdG8gdGhlIGRl
dmVsb3Blci4gUGVyaGFwcyB3ZSBjb3VsZCBoYXZlIGEgc2VjdGlvbiB0aGF0IHNheXMg4oCcSXQg
aXMgb2theSB0byBkcm9wIHRoZSBjbGllbnQgc2VjcmV0IHdoZXJldmVyIGl0IGlzIHJlcXVlc3Rl
ZCwgYXMgbG9uZyBhcyBhbHRlcm5hdGl2ZSBlcXVhbGx5IHN0cm9uZyBhdXRoZW50aWNhdGlvbiBt
ZWFzdXJlcyBhcmUgdGFrZW4u4oCdDQoNCg0KDQoNCg0KRnJvbTogb2F1dGgtYm91bmNlc0BpZXRm
Lm9yZyBbbWFpbHRvOm9hdXRoLWJvdW5jZXNAaWV0Zi5vcmddIE9uIEJlaGFsZiBPZiBNYW5nZXIs
IEphbWVzIEgNClNlbnQ6IE1vbmRheSwgQXByaWwgMTIsIDIwMTAgNDoxMCBQTQ0KVG86IE9BdXRo
IFdHDQpTdWJqZWN0OiBbT0FVVEgtV0ddIGF1dGhlbnRpY2F0aW5nIGNsaWVudC10by1hdXRoei5z
ZXJ2ZXIgY2FsbHMNCg0KDQoNClJlcXVlc3RzIGZyb20gYSBjbGllbnQgYXBwIHRvIGNvbGxlY3Qg
YW4gYWNjZXNzIHRva2VuIGRvbuKAmXQgbmVlZCB0byB1c2UgYW4gT0F1dGgtc3BlY2lmaWMgY2xp
ZW50IGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbS4NCg0KDQoNCkEgc2VydmljZSB0aGF0IGlzc3Vl
cyBhIGNsaWVudCBhcHAgd2l0aCBjcmVkZW50aWFscyAoZWcgYSBjbGllbnRfaWQgYW5kIGNsaWVu
dF9zZWNyZXQpIGlzIHZlcnkgbGlrZWx5IHRvIG9mZmVyIEFQSXMgc3BlY2lmaWNhbGx5IGZvciBj
bGllbnRzLCBpbiBhZGRpdGlvbiB0byBBUElzIGZvciBjbGllbnRzIGFjdGluZyBvbiBiZWhhbGYg
b2YgdXNlcnMuIEZhY2Vib29rLCBmb3IgaW5zdGFuY2UsIGhhcyBBUElzIGFsbG93aW5nIGFuIGFw
cCB0byBnZXQgYW5kIHNldCB2YXJpb3VzIGFwcCBwcm9wZXJ0aWVzLCBsaW1pdHMsIG1ldHJpY3Mg
ZXRjLg0KDQoNCg0KSXQgbWFrZXMgbW9zdCBzZW5zZSBmb3IgYWxsIHRoZSBjYWxscyBmcm9tIHRo
ZSBjbGllbnQgKGFjdGluZyBvbiBpdHMgb3duIGJlaGFsZikgdG8gdGhlIHNlcnZpY2UgdG8gdXNl
IHRoZSBzYW1lIGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbS4gTW9zdCBvZiB0aGVzZSBjYWxscyBo
YXZlIG5vdGhpbmcgdG8gZG8gd2l0aCBPQXV0aCBzbyB0aGV5IHdpbGwgdXNlIHN0YW5kYXJkIChv
ciBwcm9wcmlldGFyeSkgYXV0aGVudGljYXRpb24gbWVjaGFuaXNtcyB0aGF0IGhhdmUgbm90aGlu
ZyB0byBkbyB3aXRoIE9BdXRoLiBBIGNsaWVudOKAmXMgY2FsbCB0byBnZXQgYW4gYWNjZXNzIHRv
a2VuIHNob3VsZCBiZSBhdXRoZW50aWNhdGVkIGp1c3QgbGlrZSBub24tT0F1dGggY2xpZW50IGNh
bGxzLg0KDQoNCg0KRm9yIHRoZSB2YXJpb3VzIHJlcXVlc3RzIGZyb20gYSBjbGllbnQgYXBwIHRv
IHRoZSBhdXRob3JpemF0aW9uIHNlcnZlciAoQVMpLCBPQXV0aCBzaG91bGQganVzdCBzYXkgdGhl
IEFTIG1heSByZXF1aXJlIHRoZSBjbGllbnQgdG8gYmUgYXV0aGVudGljYXRlZCB0byBtYWtlIHRo
ZSBjYWxscy4NCg0KDQoNClRoaXMgYWZmZWN0cyB0aGUgV2ViIENhbGxiYWNrIEZsb3cgKDMuNC4x
LjIpLCBVc2VybmFtZSBhbmQgUGFzc3dvcmQgRmxvdyAoMy41LjEuMSksIENsaWVudCBDcmVkZW50
aWFsIEZsb3cgKDMuNi4xLjEpLCBhbmQgUmVmcmVzaGluZyBhbiBBY2Nlc3MgVG9rZW4gKDQpLiBC
YXNpY2FsbHkgYW55IHJlcXVlc3Qgd2l0aCBjbGllbnRfaWQgYW5kIGNsaWVudF9zZWNyZXQgc2hv
dWxkIGhhcyB0aGVzZSBwYXJhbWV0ZXJzIHJlbW92ZWQuDQoNCg0KDQpJdCBpcyBzdGlsbCB1c2Vm
dWwgdG8gaWRlbnRpZnkgdGhlIGNsaWVudCBhcHAgd2hlbiByZWRpcmVjdGluZyB0aGUgdXNlciB0
byB0aGUgQVMuIFRoZSBjbGllbnRfaWQgcGFyYW1ldGVyIHNob3VsZCBiZSBrZXB0IGhlcmUgKHRo
b3VnaCBpdCBuZWVkcyB0byBiZSBvcHRpb25hbCBzbyBPQXV0aCBzdXBwb3J0cyB1bnJlZ2lzdGVy
ZWQgYXBwcykuDQoNCg0KDQpXaXRob3V0IGRlY291cGxpbmcgY2xpZW50IGF1dGggZnJvbSBPQXV0
aCByZXF1ZXN0cywgY2xpZW50IGFwcHMgaGF2ZSB0byBpbXBsZW1lbnQgZGlmZmVyZW50IGF1dGgg
bWVjaGFuaXNtcyBmb3IgZGlmZmVyZW50IEFQSSBjYWxscy4gVGhleSBhbHNvIG5lZWQgdG8gdXNl
IHRoZSBzYW1lIGNsaWVudF9zZWNyZXQgaW4gdHdvIGRpZmZlcmVudCBtZWNoYW5pc21zLCB3aGlj
aCBpcyBuZXZlciBnb29kIGZvciBzZWN1cml0eS4gRmluYWxseSwgaWYgdGhlIG5vbi1PQXV0aCBj
YWxscyBhcmVu4oCZdCBhdXRoZW50aWNhdGVkIHdpdGggYSBzaGFyZWQtc2VjcmV0IChlZyB0aGV5
IHVzZSBTQU1MLCBvciBUTFMgY2xpZW50IGNlcnRz4oCmKSB0aGUgYnVyZGVuIGlzIGV2ZW4gd29y
c2UgYXMgdGhlIGNsaWVudCBub3cgbmVlZHMgbXVsdGlwbGUgdHlwZXMgb2YgY3JlZGVudGlhbHMg
Zm9yIGF1dGhlbnRpY2F0aW5nIGl0c2VsZiB0byB0aGUgc2FtZSBzZXJ2aWNlLg0KDQoNCg0KVGhl
IE9BdXRoIHNwZWMgY291bGQgdXNlIEhUVFAgQkFTSUMgYXMgYW4gZXhhbXBsZSBtZWNoYW5pc20g
Zm9yIGNsaWVudCBhdXRoZW50aWNhdGlvbiBpZiBpdCBuZWVkcyBvbmUgaW4gZXhhbXBsZXMsIHRo
b3VnaCBJIGRvbuKAmXQgdGhpbmsgaXQgbmVlZHMgdG8gcmVjb21tZW5kIGFueXRoaW5nLg0KDQoN
Cg0KDQoNCk9uIGEgcmVsYXRlZCBub3RlLCBJIHRoaW5rIHRoZSBTQU1MIGZsb3cgd291bGQgYmUg
YmV0dGVyIGlmIGRlc2lnbmVkIGFzIGEgbWVjaGFuaXNtIHRvIOKAnGF1dGhlbnRpY2F0ZeKAnSBh
bnkgSFRUUCByZXF1ZXN0LiBGb3IgaW5zdGFuY2UsIGEg4oCcQXV0aG9yaXphdGlvbjogU0FNTCBh
c3NlcnRpb249Z2hmSEdGSEdGR0hGNzY1NzbigJ0gaGVhZGVyLiBJdCBjYW4gYmUgc3BlY2lmaWVk
IGNvbXBsZXRlbHkgaW5kZXBlbmRlbnRseSBvZiBPQXV0aCAoZXZlbiBpZiB0aGF0IGlzIGluIGFu
b3RoZXIgc2VjdGlvbiBvZiB0aGUgc2FtZSBzcGVjKS4gVGhpcyBnZW5lcmFsIG1lY2hhbmlzbSBj
YW4gYmUgdXNlZCB0byDigJxhdXRoZW50aWNhdGXigJ0gYSByZXF1ZXN0IGZvciBhbiBhY2Nlc3Mg
dG9rZW4sIG9yIGEgY2FsbCB0byByZW5ldyBhIHRva2VuLg0KDQoNCg0KDQoNCg0KDQoNCg0KLS0N
Cg0KSmFtZXMgTWFuZ2VyDQoNCg0KDQo=

--_000_255B9BB34FB7D647A506DC292726F6E112572D1DFAWSMSG3153Vsrv_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTIgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
Pg0KPCEtLQ0KIC8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCiBAZm9udC1mYWNlDQoJe2ZvbnQtZmFt
aWx5OiJDYW1icmlhIE1hdGgiOw0KCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQ0KQGZv
bnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0
IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6VGFob21hOw0KCXBhbm9zZS0xOjIg
MTEgNiA0IDMgNSA0IDQgMiA0O30NCiAvKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KIHAuTXNvTm9y
bWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBjbTsNCgltYXJnaW4t
Ym90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjExLjBwdDsNCglmb250LWZhbWlseToiQ2FsaWJy
aSIsInNhbnMtc2VyaWYiO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxl
LXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9
DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9y
aXR5Ojk5Ow0KCWNvbG9yOnB1cnBsZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCnNw
YW4uRW1haWxTdHlsZTE3DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsOw0KCWZvbnQtZmFtaWx5
OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQoJY29sb3I6d2luZG93dGV4dDt9DQpzcGFuLkVtYWls
U3R5bGUxOA0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbDsNCglmb250LWZhbWlseToiQ2FsaWJy
aSIsInNhbnMtc2VyaWYiOw0KCWNvbG9yOiMxRjQ5N0Q7fQ0Kc3Bhbi5FbWFpbFN0eWxlMTkNCgl7
bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLCJz
YW5zLXNlcmlmIjsNCgljb2xvcjojMUY0OTdEO30NCi5Nc29DaHBEZWZhdWx0DQoJe21zby1zdHls
ZS10eXBlOmV4cG9ydC1vbmx5Ow0KCWZvbnQtc2l6ZToxMC4wcHQ7fQ0KQHBhZ2UgU2VjdGlvbjEN
Cgl7c2l6ZTo2MTIuMHB0IDc5Mi4wcHQ7DQoJbWFyZ2luOjcyLjBwdCA3Mi4wcHQgNzIuMHB0IDcy
LjBwdDt9DQpkaXYuU2VjdGlvbjENCgl7cGFnZTpTZWN0aW9uMTt9DQotLT4NCjwvc3R5bGU+PCEt
LVtpZiBndGUgbXNvIDldPjx4bWw+DQogPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3Bp
ZG1heD0iMTAyNiIgLz4NCjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1s
Pg0KIDxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJlZGl0Ij4NCiAgPG86aWRtYXAgdjpleHQ9ImVkaXQi
IGRhdGE9IjEiIC8+DQogPC9vOnNoYXBlbGF5b3V0PjwveG1sPjwhW2VuZGlmXS0tPg0KPC9oZWFk
Pg0KPGJvZHkgbGFuZz0iRU4tQVUiIGxpbms9ImJsdWUiIHZsaW5rPSJwdXJwbGUiPg0KPGRpdiBj
bGFzcz0iU2VjdGlvbjEiPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9y
OiMxRjQ5N0QiPlN3aXRjaGluZyBleGNsdXNpdmVseSB0byB0b2tlbi1iYXNlZCBhY2Nlc3MgZm9y
IGFsbCBBUElzIGlzIG9uZSByZWFzb25hYmxlIGFwcHJvYWNoLiBIb3dldmVyIHRoaXMgc2hvdWxk
buKAmXQgYmUgcmVxdWlyZWQgZm9yIHNlcnZpY2VzIHRoYXQganVzdCB3YW50IHRvIHN1cHBvcnQg
dGhlIHVzZXItZGVsZWdhdGlvbiBwYXJ0IG9mIE9BdXRoLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48bzpwPiZu
YnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i
Y29sb3I6IzFGNDk3RCI+SWYgRmFjZWJvb2sgdXNlZCBPQXV0aCBleGNsdXNpdmVseSwgdGhlbiB0
aGUgb25seSB0aW1lIGEgY2xpZW50X3NlY3JldCB3b3VsZCBiZSB1c2VkIGlzIHdoZW4gcmVxdWVz
dGluZyAob3IgcmVuZXdpbmcpIGFuIGFjY2VzcyB0b2tlbi4gVGhlcmUgaXMgb25seSAxIFVSSSB3
aGVyZSB0aGUgc2VjcmV0IGlzIHVzZWQgc28geW91IG1heSBiZXR0ZXIgb2ZmIGp1c3QgaXNzdWlu
Zw0KIGVhY2ggYXBwIGl0cyBvd24gc2VjcmV0IFVSSSBmb3IgZ2V0dGluZyBhY2Nlc3MgdG9rZW5z
LCBhbmQgbm90IGJvdGhlciB0byBzZXBhcmF0ZSBVUkksIGlkIGFuZCBzZWNyZXQuPG86cD48L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMx
RjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5JIGd1ZXNzIE9BdXRoIGNvdWxkIHN1cHBvcnQg
YSBjbGllbnRfc2VjcmV0IHBhcmFtZXRlciBhcyBvbmUgYXV0aGVudGljYXRpb24gbWVjaGFuaXNt
LiBIb3dldmVyLCBpdCBmZWVscyBsaWtlIGEgcG9vciAoYW5kIHVubmVjZXNzYXJ5KSBjaG9pY2Ug
dG8gbWUuIFdlIGFscmVhZHkgaGF2ZSBzaW1wbGUgJmFtcDsgc3RhbmRhcmQgd2F5cyB0byBhdXRo
ZW50aWNhdGUgcmVxdWVzdHMNCiB3aXRoIGEgc2hhcmVkIHNlY3JldC4gVGhleSBjb21lIHdpdGgg
bGlicmFyeSBzdXBwb3J0LCBkaXNjb3ZlcnkgKGVnIDQwMSBXV1ctQXV0aC46IEJBU0lDIC4uLiks
IGFuZCBjb250cm9sIChlZyB3aGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIHRoZSBzZWNyZXQgYWZ0
ZXIgYSByZWRpcmVjdCkuIFBsdXMgb2J2aW91cyB3YXlzIHRvIHN3YXAgdG8gYW55IG90aGVyIHNv
cnQgb2YgY2xpZW50IGF1dGhlbnRpY2F0aW9uIGlmIGRlc2lyZWQuPG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxv
OnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0
eWxlPSJjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPi0tIDxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xv
cjojMUY0OTdEIj5KYW1lcyBNYW5nZXI8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNw
OzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVy
LXRvcDpzb2xpZCAjQjVDNERGIDEuMHB0O3BhZGRpbmc6My4wcHQgMGNtIDBjbSAwY20iPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+PGI+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1RhaG9t
YSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ij5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1RhaG9t
YSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ij4gTHVrZSBTaGVwYXJkIFttYWlsdG86bHNo
ZXBhcmRAZmFjZWJvb2suY29tXQ0KPGJyPg0KPGI+U2VudDo8L2I+IFR1ZXNkYXksIDEzIEFwcmls
IDIwMTAgMTE6MjkgQU08YnI+DQo8Yj5Ubzo8L2I+IE1hbmdlciwgSmFtZXMgSDsgT0F1dGggV0c8
YnI+DQo8Yj5TdWJqZWN0OjwvYj4gUkU6IFtPQVVUSC1XR10gYXV0aGVudGljYXRpbmcgY2xpZW50
LXRvLWF1dGh6LnNlcnZlciBjYWxsczxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9k
aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij48bzpw
PiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVm
dDozNi4wcHQiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+SW4gRmFj
ZWJvb2vigJlzIGNhc2UsIHdlIHdvdWxkIGxpa2UgdG8gbWFrZSBvdXIgZW50aXJlIEFQSSBhY2Nl
c3NpYmxlIGV4Y2x1c2l2ZWx5IHZpYSBPQXV0aCDigJMgaW5jbHVkaW5nIHByb3BlcnRpZXMsIG1l
dHJpY3MsIGV0Yy4gRm9yIG91ciBwdXJwb3NlcywgSSB0aGluayB0aGUgQ2xpZW50IENyZWRlbnRp
YWxzDQogRmxvdyAoPGEgaHJlZj0iaHR0cDovL2dpdGh1Yi5jb20vdGhlUmF6b3JCbGFkZS9kcmFm
dC1pZXRmLW9hdXRoL2Jsb2IvbWFzdGVyL2RyYWZ0LWlldGYtb2F1dGgudHh0I0wxODY5Ij5odHRw
Oi8vZ2l0aHViLmNvbS90aGVSYXpvckJsYWRlL2RyYWZ0LWlldGYtb2F1dGgvYmxvYi9tYXN0ZXIv
ZHJhZnQtaWV0Zi1vYXV0aC50eHQjTDE4Njk8L2E+KSBpcyBzdWZmaWNpZW50LiBJIHByZWZlciB0
aGUgY29uc2lzdGVuY3kgYW5kIHNpbXBsaWNpdHkgb2YgdGhlDQogYWNjZXNzIHRva2VuIGV2ZW4g
dGhvdWdoIGl0IG1lYW5zIGFuIGV4dHJhIHNlcnZlciBjYWxsLjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPjxzcGFu
IGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+
PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5JbiB0aGUgQ2xpZW50IENy
ZWRlbnRpYWxzIEZsb3csIHRoZSBjbGllbnRfc2VjcmV0IGlzIGFscmVhZHkgb3B0aW9uYWwsIHdo
aWNoIGxlYXZlcyBpdCB1cCB0byB0aGUgc2VydmVyIHRvIGF1dGhlbnRpY2F0ZSB2aWEgb3RoZXIg
bWVhbnMgKGZvciBleGFtcGxlLCBjbGllbnQgY2VydCBvciB3aGF0ZXZlcikuPG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBw
dCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6
MzYuMHB0Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPk1hbnkgb2Yg
dGhlIHNlY3VyaXR5IGFzc3VtcHRpb25zIGluIHRoZSBzcGVjIG9ubHkgaG9sZCB0cnVlIGlmIGEg
c2VjcmV0IGlzIHBhc3NlZC4gSeKAmW0gbm90IGNvbWZvcnRhYmxlIGxlYXZpbmcgc28gbXVjaCB1
cCB0byB0aGUgZGV2ZWxvcGVyLiBQZXJoYXBzIHdlIGNvdWxkIGhhdmUgYSBzZWN0aW9uDQogdGhh
dCBzYXlzIOKAnEl0IGlzIG9rYXkgdG8gZHJvcCB0aGUgY2xpZW50IHNlY3JldCB3aGVyZXZlciBp
dCBpcyByZXF1ZXN0ZWQsIGFzIGxvbmcgYXMgYWx0ZXJuYXRpdmUgZXF1YWxseSBzdHJvbmcgYXV0
aGVudGljYXRpb24gbWVhc3VyZXMgYXJlIHRha2VuLuKAnQ0KPG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij48
c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+
PC9zcGFuPjwvcD4NCjxkaXY+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItdG9wOnNv
bGlkICNCNUM0REYgMS4wcHQ7cGFkZGluZzozLjBwdCAwY20gMGNtIDBjbSI+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij48Yj48c3BhbiBsYW5nPSJFTi1V
UyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VGFob21hJnF1b3Q7
LCZxdW90O3NhbnMtc2VyaWYmcXVvdDsiPkZyb206PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1V
UyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VGFob21hJnF1b3Q7
LCZxdW90O3NhbnMtc2VyaWYmcXVvdDsiPiBvYXV0aC1ib3VuY2VzQGlldGYub3JnIFttYWlsdG86
b2F1dGgtYm91bmNlc0BpZXRmLm9yZ10NCjxiPk9uIEJlaGFsZiBPZiA8L2I+TWFuZ2VyLCBKYW1l
cyBIPGJyPg0KPGI+U2VudDo8L2I+IE1vbmRheSwgQXByaWwgMTIsIDIwMTAgNDoxMCBQTTxicj4N
CjxiPlRvOjwvYj4gT0F1dGggV0c8YnI+DQo8Yj5TdWJqZWN0OjwvYj4gW09BVVRILVdHXSBhdXRo
ZW50aWNhdGluZyBjbGllbnQtdG8tYXV0aHouc2VydmVyIGNhbGxzPG86cD48L286cD48L3NwYW4+
PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4t
bGVmdDozNi4wcHQiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij5SZXF1
ZXN0cyBmcm9tIGEgY2xpZW50IGFwcCB0byBjb2xsZWN0IGFuIGFjY2VzcyB0b2tlbiBkb27igJl0
IG5lZWQgdG8gdXNlIGFuIE9BdXRoLXNwZWNpZmljIGNsaWVudCBhdXRoZW50aWNhdGlvbiBtZWNo
YW5pc20uPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2lu
LWxlZnQ6MzYuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPkEgc2VydmljZSB0aGF0IGlzc3VlcyBhIGNsaWVu
dCBhcHAgd2l0aCBjcmVkZW50aWFscyAoZWcgYSBjbGllbnRfaWQgYW5kIGNsaWVudF9zZWNyZXQp
IGlzIHZlcnkgbGlrZWx5IHRvIG9mZmVyIEFQSXMgc3BlY2lmaWNhbGx5IGZvciBjbGllbnRzLCBp
biBhZGRpdGlvbiB0byBBUElzIGZvciBjbGllbnRzIGFjdGluZyBvbiBiZWhhbGYgb2YgdXNlcnMu
IEZhY2Vib29rLA0KIGZvciBpbnN0YW5jZSwgaGFzIEFQSXMgYWxsb3dpbmcgYW4gYXBwIHRvIGdl
dCBhbmQgc2V0IHZhcmlvdXMgYXBwIHByb3BlcnRpZXMsIGxpbWl0cywgbWV0cmljcyBldGMuPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYu
MHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
YXJnaW4tbGVmdDozNi4wcHQiPkl0IG1ha2VzIG1vc3Qgc2Vuc2UgZm9yIGFsbCB0aGUgY2FsbHMg
ZnJvbSB0aGUgY2xpZW50IChhY3Rpbmcgb24gaXRzIG93biBiZWhhbGYpIHRvIHRoZSBzZXJ2aWNl
IHRvIHVzZSB0aGUgc2FtZSBhdXRoZW50aWNhdGlvbiBtZWNoYW5pc20uIE1vc3Qgb2YgdGhlc2Ug
Y2FsbHMgaGF2ZSBub3RoaW5nIHRvIGRvIHdpdGggT0F1dGggc28gdGhleSB3aWxsIHVzZSBzdGFu
ZGFyZA0KIChvciBwcm9wcmlldGFyeSkgYXV0aGVudGljYXRpb24gbWVjaGFuaXNtcyB0aGF0IGhh
dmUgbm90aGluZyB0byBkbyB3aXRoIE9BdXRoLiBBIGNsaWVudOKAmXMgY2FsbCB0byBnZXQgYW4g
YWNjZXNzIHRva2VuIHNob3VsZCBiZSBhdXRoZW50aWNhdGVkIGp1c3QgbGlrZSBub24tT0F1dGgg
Y2xpZW50IGNhbGxzLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1hcmdpbi1sZWZ0OjM2LjBwdCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij5Gb3IgdGhlIHZhcmlvdXMgcmVxdWVz
dHMgZnJvbSBhIGNsaWVudCBhcHAgdG8gdGhlIGF1dGhvcml6YXRpb24gc2VydmVyIChBUyksIE9B
dXRoIHNob3VsZCBqdXN0IHNheSB0aGUgQVMgbWF5IHJlcXVpcmUgdGhlIGNsaWVudCB0byBiZSBh
dXRoZW50aWNhdGVkIHRvIG1ha2UgdGhlIGNhbGxzLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+PG86cD4mbmJzcDs8L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij5UaGlz
IGFmZmVjdHMgdGhlIFdlYiBDYWxsYmFjayBGbG93ICgzLjQuMS4yKSwgVXNlcm5hbWUgYW5kIFBh
c3N3b3JkIEZsb3cgKDMuNS4xLjEpLCBDbGllbnQgQ3JlZGVudGlhbCBGbG93ICgzLjYuMS4xKSwg
YW5kIFJlZnJlc2hpbmcgYW4gQWNjZXNzIFRva2VuICg0KS4gQmFzaWNhbGx5IGFueSByZXF1ZXN0
IHdpdGggY2xpZW50X2lkIGFuZCBjbGllbnRfc2VjcmV0DQogc2hvdWxkIGhhcyB0aGVzZSBwYXJh
bWV0ZXJzIHJlbW92ZWQuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPkl0IGlzIHN0aWxsIHVzZWZ1bCB0
byBpZGVudGlmeSB0aGUgY2xpZW50IGFwcCB3aGVuIHJlZGlyZWN0aW5nIHRoZSB1c2VyIHRvIHRo
ZSBBUy4gVGhlIGNsaWVudF9pZCBwYXJhbWV0ZXIgc2hvdWxkIGJlIGtlcHQgaGVyZSAodGhvdWdo
IGl0IG5lZWRzIHRvIGJlIG9wdGlvbmFsIHNvIE9BdXRoIHN1cHBvcnRzIHVucmVnaXN0ZXJlZCBh
cHBzKS48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4t
bGVmdDozNi4wcHQiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+V2l0aG91dCBkZWNvdXBsaW5nIGNsaWVudCBhdXRo
IGZyb20gT0F1dGggcmVxdWVzdHMsIGNsaWVudCBhcHBzIGhhdmUgdG8gaW1wbGVtZW50IGRpZmZl
cmVudCBhdXRoIG1lY2hhbmlzbXMgZm9yIGRpZmZlcmVudCBBUEkgY2FsbHMuIFRoZXkgYWxzbyBu
ZWVkIHRvIHVzZSB0aGUgc2FtZSBjbGllbnRfc2VjcmV0IGluIHR3byBkaWZmZXJlbnQgbWVjaGFu
aXNtcywgd2hpY2gNCiBpcyBuZXZlciBnb29kIGZvciBzZWN1cml0eS4gRmluYWxseSwgaWYgdGhl
IG5vbi1PQXV0aCBjYWxscyBhcmVu4oCZdCBhdXRoZW50aWNhdGVkIHdpdGggYSBzaGFyZWQtc2Vj
cmV0IChlZyB0aGV5IHVzZSBTQU1MLCBvciBUTFMgY2xpZW50IGNlcnRz4oCmKSB0aGUgYnVyZGVu
IGlzIGV2ZW4gd29yc2UgYXMgdGhlIGNsaWVudCBub3cgbmVlZHMgbXVsdGlwbGUgdHlwZXMgb2Yg
Y3JlZGVudGlhbHMgZm9yIGF1dGhlbnRpY2F0aW5nIGl0c2VsZiB0byB0aGUgc2FtZQ0KIHNlcnZp
Y2UuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxl
ZnQ6MzYuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPlRoZSBPQXV0aCBzcGVjIGNvdWxkIHVzZSBIVFRQIEJB
U0lDIGFzIGFuIGV4YW1wbGUgbWVjaGFuaXNtIGZvciBjbGllbnQgYXV0aGVudGljYXRpb24gaWYg
aXQgbmVlZHMgb25lIGluIGV4YW1wbGVzLCB0aG91Z2ggSSBkb27igJl0IHRoaW5rIGl0IG5lZWRz
IHRvIHJlY29tbWVuZCBhbnl0aGluZy48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+PG86cD4mbmJzcDs8
L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0
Ij5PbiBhIHJlbGF0ZWQgbm90ZSwgSSB0aGluayB0aGUgU0FNTCBmbG93IHdvdWxkIGJlIGJldHRl
ciBpZiBkZXNpZ25lZCBhcyBhIG1lY2hhbmlzbSB0byDigJxhdXRoZW50aWNhdGXigJ0gYW55IEhU
VFAgcmVxdWVzdC4gRm9yIGluc3RhbmNlLCBhIOKAnEF1dGhvcml6YXRpb246IFNBTUwgYXNzZXJ0
aW9uPWdoZkhHRkhHRkdIRjc2NTc24oCdIGhlYWRlci4gSXQgY2FuIGJlIHNwZWNpZmllZA0KIGNv
bXBsZXRlbHkgaW5kZXBlbmRlbnRseSBvZiBPQXV0aCAoZXZlbiBpZiB0aGF0IGlzIGluIGFub3Ro
ZXIgc2VjdGlvbiBvZiB0aGUgc2FtZSBzcGVjKS4gVGhpcyBnZW5lcmFsIG1lY2hhbmlzbSBjYW4g
YmUgdXNlZCB0byDigJxhdXRoZW50aWNhdGXigJ0gYSByZXF1ZXN0IGZvciBhbiBhY2Nlc3MgdG9r
ZW4sIG9yIGEgY2FsbCB0byByZW5ldyBhIHRva2VuLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+PG86cD4mbmJzcDs8L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij48bzpw
PiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVm
dDozNi4wcHQiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij4tLSA8bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPkphbWVzIE1h
bmdlcjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1s
ZWZ0OjM2LjBwdCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRt
bD4NCg==

--_000_255B9BB34FB7D647A506DC292726F6E112572D1DFAWSMSG3153Vsrv_--

From eran@hueniverse.com  Mon Apr 12 23:26:32 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 38E633A6853 for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 23:26:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.447
X-Spam-Level: 
X-Spam-Status: No, score=-2.447 tagged_above=-999 required=5 tests=[AWL=0.151,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1cV0+VpdlbVp for <oauth@core3.amsl.com>; Mon, 12 Apr 2010 23:26:24 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 1D0B23A67D7 for <oauth@ietf.org>; Mon, 12 Apr 2010 23:26:23 -0700 (PDT)
Received: (qmail 5245 invoked from network); 13 Apr 2010 06:26:17 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 13 Apr 2010 06:26:17 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Mon, 12 Apr 2010 23:26:18 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: James Manger <James.H.Manger@team.telstra.com>, OAuth WG <oauth@ietf.org>
Date: Mon, 12 Apr 2010 23:26:13 -0700
Thread-Topic: [OAUTH-WG]  authenticating client-to-authz.server calls
Thread-Index: AcraTlQi99CDjDmYRcOBPt88Im54iQAg+KfL
Message-ID: <C7E95C95.321B5%eran@hueniverse.com>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E1125719D477@WSMSG3153V.srv.dir.telstra.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E95C95321B5eranhueniversecom_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] authenticating client-to-authz.server calls
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Apr 2010 06:26:32 -0000

--_000_C7E95C95321B5eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I agree, BUT.

I don't think it is very practical at this point. Defining new authenticati=
on schemes (i.e. SAML assertion) means slower deployment due to lack of sup=
port in existing applications. Reusing existing authentication schemes for =
a new set of credentials has its own deployment challenges (conflict with a=
nother set of credentials like users, access to header from clients, relian=
ce on different layers of the infrastructure).

As currently written, the spec defines a new authentication scheme using as=
sertions (which if defined as a general purpose scheme requires much more s=
pecificity than this group shown an interest in), and provides an alternati=
ve to Basic using parameters instead of headers.

I would be opposed to this group spending time on a general purpose asserti=
on authentication scheme (but don't care if someone decides to create one e=
lsewhere). As for using Basic, I don't have a strong objection but I am cer=
tain it will cause confusion and will make the spec harder to use.

There is nothing to stop anyone from defining new flows which use other aut=
hentication methods. The spec offers a practical set that is in line with h=
ow most of the participants expect to deploy it.

So while I agree with your sentiment here, I would not be supportive of it =
unless the primary companies looking to deploy this in the next few months =
are on board. I have no interest in producing a cleaner spec that no one wa=
nts to use. OAuth has been successful in the past primarily because pragmat=
ism is the OAuth way.

EHL

On 4/12/10 4:09 PM, "James Manger" <James.H.Manger@team.telstra.com> wrote:

Requests from a client app to collect an access token don't need to use an =
OAuth-specific client authentication mechanism.

A service that issues a client app with credentials (eg a client_id and cli=
ent_secret) is very likely to offer APIs specifically for clients, in addit=
ion to APIs for clients acting on behalf of users. Facebook, for instance, =
has APIs allowing an app to get and set various app properties, limits, met=
rics etc.

It makes most sense for all the calls from the client (acting on its own be=
half) to the service to use the same authentication mechanism. Most of thes=
e calls have nothing to do with OAuth so they will use standard (or proprie=
tary) authentication mechanisms that have nothing to do with OAuth. A clien=
t's call to get an access token should be authenticated just like non-OAuth=
 client calls.

For the various requests from a client app to the authorization server (AS)=
, OAuth should just say the AS may require the client to be authenticated t=
o make the calls.

This affects the Web Callback Flow (3.4.1.2), Username and Password Flow (3=
.5.1.1), Client Credential Flow (3.6.1.1), and Refreshing an Access Token (=
4). Basically any request with client_id and client_secret should has these=
 parameters removed.

It is still useful to identify the client app when redirecting the user to =
the AS. The client_id parameter should be kept here (though it needs to be =
optional so OAuth supports unregistered apps).

Without decoupling client auth from OAuth requests, client apps have to imp=
lement different auth mechanisms for different API calls. They also need to=
 use the same client_secret in two different mechanisms, which is never goo=
d for security. Finally, if the non-OAuth calls aren't authenticated with a=
 shared-secret (eg they use SAML, or TLS client certs...) the burden is eve=
n worse as the client now needs multiple types of credentials for authentic=
ating itself to the same service.

The OAuth spec could use HTTP BASIC as an example mechanism for client auth=
entication if it needs one in examples, though I don't think it needs to re=
commend anything.


On a related note, I think the SAML flow would be better if designed as a m=
echanism to "authenticate" any HTTP request. For instance, a "Authorization=
: SAML assertion=3DghfHGFHGFGHF76576" header. It can be specified completel=
y independently of OAuth (even if that is in another section of the same sp=
ec). This general mechanism can be used to "authenticate" a request for an =
access token, or a call to renew a token.





--_000_C7E95C95321B5eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] &nbsp;authenticating client-to-authz.server calls</TI=
TLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>I agree, BUT.<BR>
<BR>
I don&#8217;t think it is very practical at this point. Defining new authen=
tication schemes (i.e. SAML assertion) means slower deployment due to lack =
of support in existing applications. Reusing existing authentication scheme=
s for a new set of credentials has its own deployment challenges (conflict =
with another set of credentials like users, access to header from clients, =
reliance on different layers of the infrastructure).<BR>
<BR>
As currently written, the spec defines a new authentication scheme using as=
sertions (which if defined as a general purpose scheme requires much more s=
pecificity than this group shown an interest in), and provides an alternati=
ve to Basic using parameters instead of headers.<BR>
<BR>
I would be opposed to this group spending time on a general purpose asserti=
on authentication scheme (but don&#8217;t care if someone decides to create=
 one elsewhere). As for using Basic, I don&#8217;t have a strong objection =
but I am certain it will cause confusion and will make the spec harder to u=
se.<BR>
<BR>
There is nothing to stop anyone from defining new flows which use other aut=
hentication methods. The spec offers a practical set that is in line with h=
ow most of the participants expect to deploy it.<BR>
<BR>
So while I agree with your sentiment here, I would not be supportive of it =
unless the primary companies looking to deploy this in the next few months =
are on board. I have no interest in producing a cleaner spec that no one wa=
nts to use. OAuth has been successful in the past primarily because pragmat=
ism is the OAuth way.<BR>
<BR>
EHL<BR>
<BR>
On 4/12/10 4:09 PM, &quot;James Manger&quot; &lt;<a href=3D"James.H.Manger@=
team.telstra.com">James.H.Manger@team.telstra.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>Requests from a client app to collect an ac=
cess token don&#8217;t need to use an OAuth-specific client authentication =
mechanism.<BR>
&nbsp;<BR>
A service that issues a client app with credentials (eg a client_id and cli=
ent_secret) is very likely to offer APIs specifically for clients, in addit=
ion to APIs for clients acting on behalf of users. Facebook, for instance, =
has APIs allowing an app to get and set various app properties, limits, met=
rics etc.<BR>
&nbsp;<BR>
It makes most sense for all the calls from the client (acting on its own be=
half) to the service to use the same authentication mechanism. Most of thes=
e calls have nothing to do with OAuth so they will use standard (or proprie=
tary) authentication mechanisms that have nothing to do with OAuth. A clien=
t&#8217;s call to get an access token should be authenticated just like non=
-OAuth client calls.<BR>
&nbsp;<BR>
For the various requests from a client app to the authorization server (AS)=
, OAuth should just say the AS may require the client to be authenticated t=
o make the calls.<BR>
&nbsp;<BR>
This affects the Web Callback Flow (3.4.1.2), Username and Password Flow (3=
.5.1.1), Client Credential Flow (3.6.1.1), and Refreshing an Access Token (=
4). Basically any request with client_id and client_secret should has these=
 parameters removed.<BR>
&nbsp;<BR>
It is still useful to identify the client app when redirecting the user to =
the AS. The client_id parameter should be kept here (though it needs to be =
optional so OAuth supports unregistered apps).<BR>
&nbsp;<BR>
Without decoupling client auth from OAuth requests, client apps have to imp=
lement different auth mechanisms for different API calls. They also need to=
 use the same client_secret in two different mechanisms, which is never goo=
d for security. Finally, if the non-OAuth calls aren&#8217;t authenticated =
with a shared-secret (eg they use SAML, or TLS client certs&#8230;) the bur=
den is even worse as the client now needs multiple types of credentials for=
 authenticating itself to the same service.<BR>
&nbsp;<BR>
The OAuth spec could use HTTP BASIC as an example mechanism for client auth=
entication if it needs one in examples, though I don&#8217;t think it needs=
 to recommend anything.<BR>
&nbsp;<BR>
&nbsp;<BR>
On a related note, I think the SAML flow would be better if designed as a m=
echanism to &#8220;authenticate&#8221; any HTTP request. For instance, a &#=
8220;Authorization: SAML assertion=3DghfHGFHGFGHF76576&#8221; header. It ca=
n be specified completely independently of OAuth (even if that is in anothe=
r section of the same spec). This general mechanism can be used to &#8220;a=
uthenticate&#8221; a request for an access token, or a call to renew a toke=
n.<BR>
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E95C95321B5eranhueniversecom_--

From James.H.Manger@team.telstra.com  Tue Apr 13 01:00:32 2010
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B996E3A6956 for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 01:00:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.679
X-Spam-Level: 
X-Spam-Status: No, score=0.679 tagged_above=-999 required=5 tests=[AWL=-0.279,  BAYES_20=-0.74, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, HTML_MESSAGE=0.001, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uhhcn+QKPI+e for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 01:00:31 -0700 (PDT)
Received: from ipxano.tcif.telstra.com.au (ipxano.tcif.telstra.com.au [203.35.82.200]) by core3.amsl.com (Postfix) with ESMTP id 382DA3A67BD for <oauth@ietf.org>; Tue, 13 Apr 2010 01:00:27 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.52,196,1270389600"; d="scan'208,217";a="1109209"
Received: from unknown (HELO ipcani.tcif.telstra.com.au) ([10.97.216.200]) by ipoani.tcif.telstra.com.au with ESMTP; 13 Apr 2010 18:00:21 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,5949"; a="938053"
Received: from wsmsg3754.srv.dir.telstra.com ([172.49.40.198]) by ipcani.tcif.telstra.com.au with ESMTP; 13 Apr 2010 18:00:20 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by WSMSG3754.srv.dir.telstra.com ([172.49.40.198]) with mapi; Tue, 13 Apr 2010 18:00:20 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, OAuth WG <oauth@ietf.org>
Date: Tue, 13 Apr 2010 18:00:17 +1000
Thread-Topic: [OAUTH-WG]  authenticating client-to-authz.server calls
Thread-Index: AcraTlQi99CDjDmYRcOBPt88Im54iQAg+KfLAAG3PdA=
Message-ID: <255B9BB34FB7D647A506DC292726F6E112572D25D1@WSMSG3153V.srv.dir.telstra.com>
References: <255B9BB34FB7D647A506DC292726F6E1125719D477@WSMSG3153V.srv.dir.telstra.com> <C7E95C95.321B5%eran@hueniverse.com>
In-Reply-To: <C7E95C95.321B5%eran@hueniverse.com>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-AU
Content-Type: multipart/alternative; boundary="_000_255B9BB34FB7D647A506DC292726F6E112572D25D1WSMSG3153Vsrv_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] authenticating client-to-authz.server calls
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Apr 2010 08:00:32 -0000

--_000_255B9BB34FB7D647A506DC292726F6E112572D25D1WSMSG3153Vsrv_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

RXJhbiwNCg0KPiBJIGFncmVlDQoNClRoYW5rcy4NCg0KPiAsIEJVVC4NCg0KDQo+IEkgZG9u4oCZ
dCB0aGluayBpdCBpcyB2ZXJ5IHByYWN0aWNhbCBhdCB0aGlzIHBvaW50LiBEZWZpbmluZyBuZXcg
YXV0aGVudGljYXRpb24gc2NoZW1lcyAoaS5lLiBTQU1MIGFzc2VydGlvbikgbWVhbnMgc2xvd2Vy
IGRlcGxveW1lbnQgZHVlIHRvIGxhY2sgb2Ygc3VwcG9ydCBpbiBleGlzdGluZyBhcHBsaWNhdGlv
bnMuDQoNClRoZXJlIGFyZSBubyBleGlzdGluZyBhcHBzIHRoYXQgc3VwcG9ydCB0aGUgU0FNTCBm
bG93IGFzIGl0IHdhcyBvbmx5IHdyaXR0ZW4gYSBmZXcgZGF5cyBhZ28uIEkgZ3Vlc3Mgc29tZSBt
aWdodCBzdXBwb3J0IHRoZSBXUkFQIFNBTUwgZmxvdy4gSXQgaXMgaW5jb21wYXRpYmxlLCBidXQg
c2ltaWxhciBlbm91Z2ggZm9yIGFuIGVhc3kgY2hhbmdlLiBCdXQgbW92aW5nIHRoZSBmaWVsZHMg
dG8gYSDigJxBdXRob3JpemF0aW9uOiBTQU1M4oCdIGhlYWRlciBpcyBlYXN5IHRvby4NCg0KDQoN
Cj4gUmV1c2luZyBleGlzdGluZyBhdXRoZW50aWNhdGlvbiBzY2hlbWVzIGZvciBhIG5ldyBzZXQg
b2YgY3JlZGVudGlhbHMgaGFzIGl0cyBvd24gZGVwbG95bWVudCBjaGFsbGVuZ2VzIChjb25mbGlj
dCB3aXRoIGFub3RoZXIgc2V0IG9mIGNyZWRlbnRpYWxzIGxpa2UgdXNlcnMsIGFjY2VzcyB0byBo
ZWFkZXIgZnJvbSBjbGllbnRzLCByZWxpYW5jZSBvbiBkaWZmZXJlbnQgbGF5ZXJzIG9mIHRoZSBp
bmZyYXN0cnVjdHVyZSkuDQoNCkkgZG9u4oCZdCB0aGluayB0aGlzIGlzIGFuIGlzc3VlIHNpbmNl
IHJlcXVlc3RzIGZvciBhbiBhY2Nlc3MgdG9rZW4gYXJlIG9ubHkgZG9uZSBieSBjbGllbnQgYXBw
cywgbm90IHVzZXJzLg0KDQpBbHNvIHRoZSBjcmVkZW50aWFscyB3aWxsIG9mdGVuIG5vdCBiZSBh
IG5ldyBzZXQuIFRoZXkgd2lsbCBiZSBjbGllbnQgY3JlZGVudGlhbHMgdXNlZCB0byBhY2Nlc3Mg
bm9uLU9BdXRoLXByb3RlY3RlZCByZXNvdXJjZXMgYWxyZWFkeS4NCg0KQWNjZXNzIHRvIGhlYWRl
ciBmcm9tIGNsaWVudCwgcmVsaWFuY2Ugb24gZGlmZmVyZW50IGxheWVycyBldGMgY291bGQgYmUg
aXNzdWVzIOKAlCBidXQgdGhhdCBpcyBhIGdyZWF0IHJlYXNvbiBmb3IgT0F1dGggbm90IHRvIHRy
eSB0byBwaWNrIG9uZSBhbnN3ZXIuIE9uZSBhbnN3ZXIgaGFzIG5vIGNoYW5jZSBvZiBzYXRpc2Z5
aW5nIGV2ZXJ5b25lLCBoZW5jZSBpdGVtcyBsaWtlIHRoZSBTQU1MIGZsb3cgYmVpbmcgaW50cm9k
dWNlZC4NCg0KDQoNCj4gQXMgY3VycmVudGx5IHdyaXR0ZW4sIHRoZSBzcGVjIGRlZmluZXMgYSBu
ZXcgYXV0aGVudGljYXRpb24gc2NoZW1lIHVzaW5nIGFzc2VydGlvbnMgKHdoaWNoIGlmIGRlZmlu
ZWQgYXMgYSBnZW5lcmFsIHB1cnBvc2Ugc2NoZW1lIHJlcXVpcmVzIG11Y2ggbW9yZSBzcGVjaWZp
Y2l0eSB0aGFuIHRoaXMgZ3JvdXAgc2hvd24gYW4gaW50ZXJlc3QgaW4pLCBhbmQgcHJvdmlkZXMg
YW4gYWx0ZXJuYXRpdmUgdG8gQmFzaWMgdXNpbmcgcGFyYW1ldGVycyBpbnN0ZWFkIG9mIGhlYWRl
cnMuDQoNCj4gSSB3b3VsZCBiZSBvcHBvc2VkIHRvIHRoaXMgZ3JvdXAgc3BlbmRpbmcgdGltZSBv
biBhIGdlbmVyYWwgcHVycG9zZSBhc3NlcnRpb24gYXV0aGVudGljYXRpb24gc2NoZW1lIChidXQg
ZG9u4oCZdCBjYXJlIGlmIHNvbWVvbmUgZGVjaWRlcyB0byBjcmVhdGUgb25lIGVsc2V3aGVyZSku
DQoNCg0KDQpJIGFsc28gZG9u4oCZdCB3YW50IHRoZSBncm91cCBzcGVuZGluZyB0aW1lIG9uIGdl
bmVyYWwgcHVycG9zZSBhc3NlcnRpb24gYXV0aCAob3IgcmVxdWVzdCBhdXRoKSBzY2hlbWVzLg0K
DQpUaGUgb25seSB3YXkgdG8gYXZvaWQgdGhhdCBpcyB0byBkZWNvdXBsZSB0aGVtIGZyb20gT0F1
dGgtc3BlY2lmaWMgYml0cy4gVGhpcyBpcyB3aGF0IEkgYW0gc3VnZ2VzdGluZy4NCg0KQ3VycmVu
dGx5LCBwZW9wbGUgd2hvIHdhbnQgdG8gdXNlIFNBTUwgKHdoaWNoIGlzIG5vdCBtZSBwYXJ0aWN1
bGFybHkpIG5lZWQgdG8gYXJndWUgYWJvdXQgT0F1dGggY29yZSBiZWNhdXNlIHRoZSBvdGhlciBP
QXV0aCBmbG93cyBwcmV2ZW50IHVzZSBvZiBTQU1MIGJ5IGNob29zaW5nIGFuIE9BdXRoLXNwZWNp
ZmljIHNoYXJlZCBzZWNyZXQgbWVjaGFuaXNtLiBSZWNvZ25pemluZyB0aGF0IE9BdXRoIGFjY2Vz
cyB0b2tlbiByZXF1ZXN0cyBhcmUgaW5kZXBlbmRlbnQgb2YgY2xpZW50IGF1dGggd291bGQgcmVh
bGx5IGhlbHAuIEl0IHdvdWxkIGJlIG9idmlvdXMgaG93IHRvIHVzZSBPQXV0aCAodW5jaGFuZ2Vk
KSB3aXRoIG90aGVyIGNsaWVudCBhdXRoIG1lY2hhbmlzbXMuDQoNCg0KDQo+IEFzIGZvciB1c2lu
ZyBCYXNpYywgSSBkb27igJl0IGhhdmUgYSBzdHJvbmcgb2JqZWN0aW9uIGJ1dCBJIGFtIGNlcnRh
aW4gaXQgd2lsbCBjYXVzZSBjb25mdXNpb24gYW5kIHdpbGwgbWFrZSB0aGUgc3BlYyBoYXJkZXIg
dG8gdXNlLg0KDQpJIGFtIGVxdWFsbHkgY2VydGFpbiB0aGF0IGNsaWVudCBkZXZlbG9wZXJzIHdp
bGwgbm90IGJlIGNvbmZ1c2VkIGF0IGFsbCBpZiBhIHNlcnZpY2Ugc2F5cyDigJx1c2UgSFRUUCBC
QVNJQyB3aXRoIHlvdXIgY2xpZW50IGlkIGFuZCBzZWNyZXQgdG8gYXV0aGVudGljYXRlIGNhbGxz
IHRvIHRoZSBBUyB0byBnZXQgYW5kIHJlbmV3IGFjY2VzcyB0b2tlbnPigJ0uDQoNCg0KPiBUaGVy
ZSBpcyBub3RoaW5nIHRvIHN0b3AgYW55b25lIGZyb20gZGVmaW5pbmcgbmV3IGZsb3dzIHdoaWNo
IHVzZSBvdGhlciBhdXRoZW50aWNhdGlvbiBtZXRob2RzLiBUaGUgc3BlYyBvZmZlcnMgYSBwcmFj
dGljYWwgc2V0IHRoYXQgaXMgaW4gbGluZSB3aXRoIGhvdyBtb3N0IG9mIHRoZSBwYXJ0aWNpcGFu
dHMgZXhwZWN0IHRvIGRlcGxveSBpdC4NCg0KDQoNCj4gU28gd2hpbGUgSSBhZ3JlZSB3aXRoIHlv
dXIgc2VudGltZW50IGhlcmUsIEkgd291bGQgbm90IGJlIHN1cHBvcnRpdmUgb2YgaXQgdW5sZXNz
IHRoZSBwcmltYXJ5IGNvbXBhbmllcyBsb29raW5nIHRvIGRlcGxveSB0aGlzIGluIHRoZSBuZXh0
IGZldyBtb250aHMgYXJlIG9uIGJvYXJkLiBJIGhhdmUgbm8gaW50ZXJlc3QgaW4gcHJvZHVjaW5n
IGEgY2xlYW5lciBzcGVjIHRoYXQgbm8gb25lIHdhbnRzIHRvIHVzZS4gT0F1dGggaGFzIGJlZW4g
c3VjY2Vzc2Z1bCBpbiB0aGUgcGFzdCBwcmltYXJpbHkgYmVjYXVzZSBwcmFnbWF0aXNtIGlzIHRo
ZSBPQXV0aCB3YXkuDQoNCg0KDQpUaGUgZmFjdCB0aGF0IFdSQVAgcmVkaWQgT0F1dGgsIGFuZCB0
aGUgSUVURiBhcmUgcmVkb2luZyBpdCBhZ2FpbiAtLSB3aXRoIG5vIGJhY2t3YXJkIGNvbXBhdGli
aWxpdHkgLS0gc3VnZ2VzdHMgdG8gbWUgdGhhdCB3ZSBkaWRu4oCZdCB0YWtlIHF1aXRlIGVub3Vn
aCB0aW1lIHRvIGNsZWFubHkgc2VwYXJhdGUgdGhlIGFzcGVjdHMgb2YgdGhlIHNwZWMgdGhhdCBj
YW4gYmUgaW5kZXBlbmRlbnQuIEkgaG9wZSB3ZSBkb27igJl0IG1ha2UgdGhlIHNhbWUgbWlzdGFr
ZSBhZ2Fpbi4NCg0KSSBkb3VidCBhbnkgb2YgdGhlIOKAnHByaW1hcnkgY29tcGFuaWVzIGxvb2tp
bmcgdG8gZGVwbG95IHRoaXMgaW4gdGhlIG5leHQgZmV3IG1vbnRoc+KAnSBuZWVkIGludGVyb3Bl
cmFiaWxpdHkgZnJvbSBjbGllbnQgYXBwcyBub3Qgd3JpdHRlbiBzcGVjaWZpY2FsbHkgZm9yIHRo
ZWlyIHByb3ByaWV0YXJ5IEFQSSwgYXQgbGVhc3Qgbm90IOKAnGluIHRoZSBuZXh0IGZldyBtb250
aHPigJ0sIGJ1dCBJIHRoaW5rIGFuIElFVEYgT0F1dGggc3BlYyBtdXN0IHByb3ZpZGUgdGhhdC4N
Cg0KDQotLQ0KDQpKYW1lcyBNYW5nZXINCg0K

--_000_255B9BB34FB7D647A506DC292726F6E112572D25D1WSMSG3153Vsrv_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6eD0idXJuOnNjaGVtYXMtbWljcm9z
b2Z0LWNvbTpvZmZpY2U6ZXhjZWwiIHhtbG5zOnA9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206
b2ZmaWNlOnBvd2VycG9pbnQiIHhtbG5zOmE9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2Zm
aWNlOmFjY2VzcyIgeG1sbnM6ZHQ9InV1aWQ6QzJGNDEwMTAtNjVCMy0xMWQxLUEyOUYtMDBBQTAw
QzE0ODgyIiB4bWxuczpzPSJ1dWlkOkJEQzZFM0YwLTZEQTMtMTFkMS1BMkEzLTAwQUEwMEMxNDg4
MiIgeG1sbnM6cnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206cm93c2V0IiB4bWxuczp6PSIj
Um93c2V0U2NoZW1hIiB4bWxuczpiPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpw
dWJsaXNoZXIiIHhtbG5zOnNzPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpzcHJl
YWRzaGVldCIgeG1sbnM6Yz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6Y29tcG9u
ZW50OnNwcmVhZHNoZWV0IiB4bWxuczpvZGM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2Zm
aWNlOm9kYyIgeG1sbnM6b2E9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOmFjdGl2
YXRpb24iIHhtbG5zOmh0bWw9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAiIHhtbG5z
OnE9Imh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3NvYXAvZW52ZWxvcGUvIiB4bWxuczpydGM9
Imh0dHA6Ly9taWNyb3NvZnQuY29tL29mZmljZW5ldC9jb25mZXJlbmNpbmciIHhtbG5zOkQ9IkRB
VjoiIHhtbG5zOlJlcGw9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vcmVwbC8iIHhtbG5z
Om10PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29hcC9tZWV0aW5n
cy8iIHhtbG5zOngyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9leGNlbC8y
MDAzL3htbCIgeG1sbnM6cHBkYT0iaHR0cDovL3d3dy5wYXNzcG9ydC5jb20vTmFtZVNwYWNlLnhz
ZCIgeG1sbnM6b2lzPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29h
cC9vaXMvIiB4bWxuczpkaXI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2lu
dC9zb2FwL2RpcmVjdG9yeS8iIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3ht
bGRzaWcjIiB4bWxuczpkc3A9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2lu
dC9kc3AiIHhtbG5zOnVkYz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kYXRhL3VkYyIg
eG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6c3ViPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29hcC8yMDAyLzEvYWxlcnRz
LyIgeG1sbnM6ZWM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jIyIgeG1sbnM6c3A9
Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2ludC8iIHhtbG5zOnNwcz0iaHR0
cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9zaGFyZXBvaW50L3NvYXAvIiB4bWxuczp4c2k9Imh0
dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp1ZGNzPSJodHRw
Oi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RhdGEvdWRjL3NvYXAiIHhtbG5zOnVkY3hmPSJodHRw
Oi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RhdGEvdWRjL3htbGZpbGUiIHhtbG5zOnVkY3AycD0i
aHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kYXRhL3VkYy9wYXJ0dG9wYXJ0IiB4bWxuczp3
Zj0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9zaGFyZXBvaW50L3NvYXAvd29ya2Zsb3cv
IiB4bWxuczpkc3NzPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA2L2Rp
Z3NpZy1zZXR1cCIgeG1sbnM6ZHNzaT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZp
Y2UvMjAwNi9kaWdzaWciIHhtbG5zOm1kc3NpPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0
cy5vcmcvcGFja2FnZS8yMDA2L2RpZ2l0YWwtc2lnbmF0dXJlIiB4bWxuczptdmVyPSJodHRwOi8v
c2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvbWFya3VwLWNvbXBhdGliaWxpdHkvMjAwNiIgeG1s
bnM6bT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4
bWxuczptcmVscz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAw
Ni9yZWxhdGlvbnNoaXBzIiB4bWxuczpzcHdwPSJodHRwOi8vbWljcm9zb2Z0LmNvbS9zaGFyZXBv
aW50L3dlYnBhcnRwYWdlcyIgeG1sbnM6ZXgxMnQ9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5j
b20vZXhjaGFuZ2Uvc2VydmljZXMvMjAwNi90eXBlcyIgeG1sbnM6ZXgxMm09Imh0dHA6Ly9zY2hl
bWFzLm1pY3Jvc29mdC5jb20vZXhjaGFuZ2Uvc2VydmljZXMvMjAwNi9tZXNzYWdlcyIgeG1sbnM6
cHB0c2w9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2ludC9zb2FwL1NsaWRl
TGlicmFyeS8iIHhtbG5zOnNwc2w9Imh0dHA6Ly9taWNyb3NvZnQuY29tL3dlYnNlcnZpY2VzL1No
YXJlUG9pbnRQb3J0YWxTZXJ2ZXIvUHVibGlzaGVkTGlua3NTZXJ2aWNlIiB4bWxuczpaPSJ1cm46
c2NoZW1hcy1taWNyb3NvZnQtY29tOiIgeG1sbnM6c3Q9IiYjMTsiIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVu
dC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1ldGEgbmFtZT0i
R2VuZXJhdG9yIiBjb250ZW50PSJNaWNyb3NvZnQgV29yZCAxMiAoZmlsdGVyZWQgbWVkaXVtKSI+
DQo8dGl0bGU+UmU6IFtPQVVUSC1XR10gJm5ic3A7YXV0aGVudGljYXRpbmcgY2xpZW50LXRvLWF1
dGh6LnNlcnZlciBjYWxsczwvdGl0bGU+DQo8c3R5bGU+DQo8IS0tDQogLyogRm9udCBEZWZpbml0
aW9ucyAqLw0KIEBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0aCI7DQoJcGFu
b3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OkNh
bGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAyIDQ7fQ0KIC8qIFN0eWxlIERlZmlu
aXRpb25zICovDQogcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXtt
YXJnaW46MGNtOw0KCW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCglmb250LXNpemU6MTIuMHB0Ow0K
CWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iLCJzZXJpZiI7fQ0KYTpsaW5rLCBzcGFuLk1z
b0h5cGVybGluaw0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6Ymx1ZTsNCgl0ZXh0
LWRlY29yYXRpb246dW5kZXJsaW5lO30NCmE6dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xs
b3dlZA0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6cHVycGxlOw0KCXRleHQtZGVj
b3JhdGlvbjp1bmRlcmxpbmU7fQ0Kc3Bhbi5FbWFpbFN0eWxlMTcNCgl7bXNvLXN0eWxlLXR5cGU6
cGVyc29uYWwtcmVwbHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsNCglj
b2xvcjojMUY0OTdEO30NCi5Nc29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1v
bmx5Ow0KCWZvbnQtc2l6ZToxMC4wcHQ7fQ0KQHBhZ2UgU2VjdGlvbjENCgl7c2l6ZTo2MTIuMHB0
IDc5Mi4wcHQ7DQoJbWFyZ2luOjcyLjBwdCA3Mi4wcHQgNzIuMHB0IDcyLjBwdDt9DQpkaXYuU2Vj
dGlvbjENCgl7cGFnZTpTZWN0aW9uMTt9DQotLT4NCjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDld
Pjx4bWw+DQogPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0iMTAyNiIgLz4N
CjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KIDxvOnNoYXBlbGF5
b3V0IHY6ZXh0PSJlZGl0Ij4NCiAgPG86aWRtYXAgdjpleHQ9ImVkaXQiIGRhdGE9IjEiIC8+DQog
PC9vOnNoYXBlbGF5b3V0PjwveG1sPjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0KPGJvZHkgbGFuZz0i
RU4tQVUiIGxpbms9ImJsdWUiIHZsaW5rPSJwdXJwbGUiPg0KPGRpdiBjbGFzcz0iU2VjdGlvbjEi
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjExLjBwdDsNCmZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVv
dDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj5FcmFuLDxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjEy
LjBwdCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7DQpmb250LWZhbWlseTomcXVvdDtD
YWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+Jmd0Ow0K
PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh
bGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OyI+SSBhZ3JlZTxzcGFuIHN0eWxlPSJj
b2xvcjojMUY0OTdEIj48bzpwPjwvbzpwPjwvc3Bhbj48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdDsNCmZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1z
ZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj5UaGFua3MuPG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDsNCmZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDss
JnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj4mZ3Q7DQo8L3NwYW4+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oywm
cXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ij4sIEJVVC48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+
PG86cD48L286cD48L3NwYW4+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtYXJnaW4tYm90dG9tOjEyLjBwdCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7DQpm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDsiPjxi
cj4NCjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj4mZ3Q7IDwvc3Bhbj5JIGRvbuKAmXQgdGhp
bmsgaXQgaXMgdmVyeSBwcmFjdGljYWwgYXQgdGhpcyBwb2ludC4gRGVmaW5pbmcgbmV3IGF1dGhl
bnRpY2F0aW9uIHNjaGVtZXMgKGkuZS4gU0FNTCBhc3NlcnRpb24pIG1lYW5zIHNsb3dlciBkZXBs
b3ltZW50IGR1ZSB0byBsYWNrIG9mIHN1cHBvcnQgaW4gZXhpc3RpbmcgYXBwbGljYXRpb25zLjxz
cGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48bzpwPjwvbzpwPjwvc3Bhbj48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDsNCmZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDss
JnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj5UaGVyZSBhcmUgbm8gZXhpc3Rp
bmcgYXBwcyB0aGF0IHN1cHBvcnQgdGhlIFNBTUwgZmxvdyBhcyBpdCB3YXMgb25seSB3cml0dGVu
IGEgZmV3IGRheXMgYWdvLiBJIGd1ZXNzIHNvbWUgbWlnaHQgc3VwcG9ydCB0aGUgV1JBUA0KIFNB
TUwgZmxvdy4gSXQgaXMgaW5jb21wYXRpYmxlLCBidXQgc2ltaWxhciBlbm91Z2ggZm9yIGFuIGVh
c3kgY2hhbmdlLiBCdXQgbW92aW5nIHRoZSBmaWVsZHMgdG8gYSDigJxBdXRob3JpemF0aW9uOiBT
QU1M4oCdIGhlYWRlciBpcyBlYXN5IHRvby48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxMi4wcHQiPjxzcGFuIHN0eWxlPSJm
b250LXNpemU6MTEuMHB0Ow0KZm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtz
YW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjEyLjBwdCI+PHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7DQpmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1
b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+Jmd0Ozwvc3Bhbj48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7
LCZxdW90O3NhbnMtc2VyaWYmcXVvdDsiPiBSZXVzaW5nIGV4aXN0aW5nIGF1dGhlbnRpY2F0aW9u
IHNjaGVtZXMgZm9yIGEgbmV3DQogc2V0IG9mIGNyZWRlbnRpYWxzIGhhcyBpdHMgb3duIGRlcGxv
eW1lbnQgY2hhbGxlbmdlcyAoY29uZmxpY3Qgd2l0aCBhbm90aGVyIHNldCBvZiBjcmVkZW50aWFs
cyBsaWtlIHVzZXJzLCBhY2Nlc3MgdG8gaGVhZGVyIGZyb20gY2xpZW50cywgcmVsaWFuY2Ugb24g
ZGlmZmVyZW50IGxheWVycyBvZiB0aGUgaW5mcmFzdHJ1Y3R1cmUpLjxzcGFuIHN0eWxlPSJjb2xv
cjojMUY0OTdEIj48bzpwPjwvbzpwPjwvc3Bhbj48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdDsNCmZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJp
ZiZxdW90Oztjb2xvcjojMUY0OTdEIj5JIGRvbuKAmXQgdGhpbmsgdGhpcyBpcyBhbiBpc3N1ZSBz
aW5jZSByZXF1ZXN0cyBmb3IgYW4gYWNjZXNzIHRva2VuIGFyZSBvbmx5IGRvbmUgYnkgY2xpZW50
IGFwcHMsIG5vdCB1c2Vycy48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxMi4wcHQiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0Ow0KZm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlm
JnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPkFsc28gdGhlIGNyZWRlbnRpYWxzIHdpbGwgb2Z0ZW4gbm90
IGJlIGEgbmV3IHNldC4gVGhleSB3aWxsIGJlIGNsaWVudCBjcmVkZW50aWFscyB1c2VkIHRvIGFj
Y2VzcyBub24tT0F1dGgtcHJvdGVjdGVkIHJlc291cmNlcw0KIGFscmVhZHkuPG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIu
MHB0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDsNCmZvbnQtZmFtaWx5OiZxdW90O0Nh
bGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj5BY2Nlc3Mg
dG8gaGVhZGVyIGZyb20gY2xpZW50LCByZWxpYW5jZSBvbiBkaWZmZXJlbnQgbGF5ZXJzIGV0YyBj
b3VsZCBiZSBpc3N1ZXMg4oCUIGJ1dCB0aGF0IGlzIGEgZ3JlYXQgcmVhc29uIGZvciBPQXV0aCBu
b3QgdG8NCiB0cnkgdG8gcGljayBvbmUgYW5zd2VyLiBPbmUgYW5zd2VyIGhhcyBubyBjaGFuY2Ug
b2Ygc2F0aXNmeWluZyBldmVyeW9uZSwgaGVuY2UgaXRlbXMgbGlrZSB0aGUgU0FNTCBmbG93IGJl
aW5nIGludHJvZHVjZWQuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx
LjBwdDsNCmZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZx
dW90OyI+PGJyPg0KPGJyPg0KPHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPiZndDsgPC9zcGFu
PkFzIGN1cnJlbnRseSB3cml0dGVuLCB0aGUgc3BlYyBkZWZpbmVzIGEgbmV3IGF1dGhlbnRpY2F0
aW9uIHNjaGVtZSB1c2luZyBhc3NlcnRpb25zICh3aGljaCBpZiBkZWZpbmVkIGFzIGEgZ2VuZXJh
bCBwdXJwb3NlIHNjaGVtZSByZXF1aXJlcyBtdWNoIG1vcmUgc3BlY2lmaWNpdHkgdGhhbiB0aGlz
IGdyb3VwIHNob3duIGFuIGludGVyZXN0IGluKSwgYW5kIHByb3ZpZGVzIGFuIGFsdGVybmF0aXZl
DQogdG8gQmFzaWMgdXNpbmcgcGFyYW1ldGVycyBpbnN0ZWFkIG9mIGhlYWRlcnMuPGJyPg0KPGJy
Pg0KPHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPiZndDsgPC9zcGFuPkkgd291bGQgYmUgb3Bw
b3NlZCB0byB0aGlzIGdyb3VwIHNwZW5kaW5nIHRpbWUgb24gYSBnZW5lcmFsIHB1cnBvc2UgYXNz
ZXJ0aW9uIGF1dGhlbnRpY2F0aW9uIHNjaGVtZSAoYnV0IGRvbuKAmXQgY2FyZSBpZiBzb21lb25l
IGRlY2lkZXMgdG8gY3JlYXRlIG9uZSBlbHNld2hlcmUpLjxicj4NCjxicj4NCjwvc3Bhbj48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7
LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xvcjojMUY0OTdEIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxMi4wcHQi
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ow0KZm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy
aSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPkkgYWxzbyBkb27i
gJl0IHdhbnQgdGhlIGdyb3VwIHNwZW5kaW5nIHRpbWUgb24gZ2VuZXJhbCBwdXJwb3NlIGFzc2Vy
dGlvbiBhdXRoIChvciByZXF1ZXN0IGF1dGgpIHNjaGVtZXMuPG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjExLjBwdDsNCmZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVv
dDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj5UaGUgb25seSB3YXkgdG8g
YXZvaWQgdGhhdCBpcyB0byBkZWNvdXBsZSB0aGVtIGZyb20gT0F1dGgtc3BlY2lmaWMgYml0cy4g
VGhpcyBpcyB3aGF0IEkgYW0gc3VnZ2VzdGluZy48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxMi4wcHQiPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0Ow0KZm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVv
dDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPkN1cnJlbnRseSwgcGVvcGxlIHdobyB3
YW50IHRvIHVzZSBTQU1MICh3aGljaCBpcyBub3QgbWUgcGFydGljdWxhcmx5KSBuZWVkIHRvIGFy
Z3VlIGFib3V0IE9BdXRoIGNvcmUgYmVjYXVzZSB0aGUgb3RoZXIgT0F1dGgNCiBmbG93cyBwcmV2
ZW50IHVzZSBvZiBTQU1MIGJ5IGNob29zaW5nIGFuIE9BdXRoLXNwZWNpZmljIHNoYXJlZCBzZWNy
ZXQgbWVjaGFuaXNtLiBSZWNvZ25pemluZyB0aGF0IE9BdXRoIGFjY2VzcyB0b2tlbiByZXF1ZXN0
cyBhcmUgaW5kZXBlbmRlbnQgb2YgY2xpZW50IGF1dGggd291bGQgcmVhbGx5IGhlbHAuIEl0IHdv
dWxkIGJlIG9idmlvdXMgaG93IHRvIHVzZSBPQXV0aCAodW5jaGFuZ2VkKSB3aXRoIG90aGVyIGNs
aWVudCBhdXRoIG1lY2hhbmlzbXMuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdDsNCmZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1z
ZXJpZiZxdW90OyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdDsNCmZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJp
ZiZxdW90OyI+Jmd0OyBBcyBmb3IgdXNpbmcgQmFzaWMsIEkgZG9u4oCZdCBoYXZlIGEgc3Ryb25n
IG9iamVjdGlvbiBidXQgSSBhbSBjZXJ0YWluIGl0IHdpbGwgY2F1c2UgY29uZnVzaW9uIGFuZCB3
aWxsIG1ha2UgdGhlIHNwZWMgaGFyZGVyIHRvIHVzZS48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3
RCI+PG86cD48L286cD48L3NwYW4+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtYXJnaW4tYm90dG9tOjEyLjBwdCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
DQpmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7
Y29sb3I6IzFGNDk3RCI+SSBhbSBlcXVhbGx5IGNlcnRhaW4gdGhhdCBjbGllbnQgZGV2ZWxvcGVy
cyB3aWxsIG5vdCBiZSBjb25mdXNlZCBhdCBhbGwgaWYgYSBzZXJ2aWNlIHNheXMg4oCcdXNlIEhU
VFAgQkFTSUMgd2l0aCB5b3VyIGNsaWVudCBpZA0KIGFuZCBzZWNyZXQgdG8gYXV0aGVudGljYXRl
IGNhbGxzIHRvIHRoZSBBUyB0byBnZXQgYW5kIHJlbmV3IGFjY2VzcyB0b2tlbnPigJ0uPG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0
b206MTIuMHB0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDsNCmZvbnQtZmFtaWx5OiZx
dW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OyI+PGJyPg0KPHNwYW4gc3R5
bGU9ImNvbG9yOiMxRjQ5N0QiPiZndDsgPC9zcGFuPlRoZXJlIGlzIG5vdGhpbmcgdG8gc3RvcCBh
bnlvbmUgZnJvbSBkZWZpbmluZyBuZXcgZmxvd3Mgd2hpY2ggdXNlIG90aGVyIGF1dGhlbnRpY2F0
aW9uIG1ldGhvZHMuIFRoZSBzcGVjIG9mZmVycyBhIHByYWN0aWNhbCBzZXQgdGhhdCBpcyBpbiBs
aW5lIHdpdGggaG93IG1vc3Qgb2YgdGhlIHBhcnRpY2lwYW50cyBleHBlY3QgdG8gZGVwbG95IGl0
LjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48bzpwPjwvbzpwPjwvc3Bhbj48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjExLjBwdDsNCmZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVv
dDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OyI+PGJyPg0KPGJyPg0KPHNwYW4gc3R5bGU9ImNvbG9y
OiMxRjQ5N0QiPiZndDsgPC9zcGFuPlNvIHdoaWxlIEkgYWdyZWUgd2l0aCB5b3VyIHNlbnRpbWVu
dCBoZXJlLCBJIHdvdWxkIG5vdCBiZSBzdXBwb3J0aXZlIG9mIGl0IHVubGVzcyB0aGUgcHJpbWFy
eSBjb21wYW5pZXMgbG9va2luZyB0byBkZXBsb3kgdGhpcyBpbiB0aGUgbmV4dCBmZXcgbW9udGhz
IGFyZSBvbiBib2FyZC4gSSBoYXZlIG5vIGludGVyZXN0IGluIHByb2R1Y2luZyBhIGNsZWFuZXIg
c3BlYyB0aGF0IG5vIG9uZQ0KIHdhbnRzIHRvIHVzZS4gT0F1dGggaGFzIGJlZW4gc3VjY2Vzc2Z1
bCBpbiB0aGUgcGFzdCBwcmltYXJpbHkgYmVjYXVzZSBwcmFnbWF0aXNtIGlzIHRoZSBPQXV0aCB3
YXkuPGJyPg0KPGJyPg0KPHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxvOnA+PC9vOnA+PC9z
cGFuPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWJvdHRv
bToxMi4wcHQiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ow0KZm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPlRo
ZSBmYWN0IHRoYXQgV1JBUCByZWRpZCBPQXV0aCwgYW5kIHRoZSBJRVRGIGFyZSByZWRvaW5nIGl0
IGFnYWluIC0tIHdpdGggbm8gYmFja3dhcmQgY29tcGF0aWJpbGl0eSAtLSBzdWdnZXN0cyB0byBt
ZSB0aGF0IHdlDQogZGlkbuKAmXQgdGFrZSBxdWl0ZSBlbm91Z2ggdGltZSB0byBjbGVhbmx5IHNl
cGFyYXRlIHRoZSBhc3BlY3RzIG9mIHRoZSBzcGVjIHRoYXQgY2FuIGJlIGluZGVwZW5kZW50LiBJ
IGhvcGUgd2UgZG9u4oCZdCBtYWtlIHRoZSBzYW1lIG1pc3Rha2UgYWdhaW4uPG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIu
MHB0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDsNCmZvbnQtZmFtaWx5OiZxdW90O0Nh
bGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj5JIGRvdWJ0
IGFueSBvZiB0aGUg4oCccHJpbWFyeSBjb21wYW5pZXMgbG9va2luZyB0byBkZXBsb3kgdGhpcyBp
biB0aGUgbmV4dCBmZXcgbW9udGhz4oCdIG5lZWQgaW50ZXJvcGVyYWJpbGl0eSBmcm9tIGNsaWVu
dCBhcHBzIG5vdA0KIHdyaXR0ZW4gc3BlY2lmaWNhbGx5IGZvciB0aGVpciBwcm9wcmlldGFyeSBB
UEksIGF0IGxlYXN0IG5vdCDigJxpbiB0aGUgbmV4dCBmZXcgbW9udGhz4oCdLCBidXQgSSB0aGlu
ayBhbiBJRVRGIE9BdXRoIHNwZWMgbXVzdCBwcm92aWRlIHRoYXQuPG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDsNCmZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OyI+PGJyPg0KPC9zcGFuPjxzcGFuIHN0eWxlPSJj
b2xvcjojMUY0OTdEIj4tLTwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjEyLjBwdCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQ7DQpmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYm
cXVvdDs7Y29sb3I6IzFGNDk3RCI+SmFtZXMgTWFuZ2VyPG86cD48L286cD48L3NwYW4+PC9wPg0K
PC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo=

--_000_255B9BB34FB7D647A506DC292726F6E112572D25D1WSMSG3153Vsrv_--

From jbemmel@zonnet.nl  Tue Apr 13 07:24:45 2010
Return-Path: <jbemmel@zonnet.nl>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B6E5D3A697D for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 07:24:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.355
X-Spam-Level: *
X-Spam-Status: No, score=1.355 tagged_above=-999 required=5 tests=[BAYES_20=-0.74, HELO_EQ_NL=0.55, HOST_EQ_NL=1.545]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YdlZ5R4HZoh2 for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 07:24:45 -0700 (PDT)
Received: from smtp8.versatel.nl (smtp8.versatel.nl [62.58.50.100]) by core3.amsl.com (Postfix) with ESMTP id 8404C28C1F6 for <oauth@ietf.org>; Tue, 13 Apr 2010 07:23:28 -0700 (PDT)
Received: (qmail 28870 invoked by uid 0); 13 Apr 2010 14:23:20 -0000
Received: from unknown (HELO webmail11.zonnet.nl) ([10.170.1.101]) (envelope-sender <jbemmel@zonnet.nl>) by 10.170.1.96 (qmail-ldap-1.03) with SMTP for < >; 13 Apr 2010 14:23:20 -0000
Received: by webmail11.zonnet.nl (Postfix, from userid 33) id 24335F2984; Tue, 13 Apr 2010 16:23:20 +0200 (CEST)
Received: from gate.alcatel.de (gate.alcatel.de [194.113.59.80]) by webmail.versatel.nl (Horde MIME library) with HTTP; Tue, 13 Apr 2010 16:23:20 +0200
Message-ID: <20100413162320.d8jgb90z5wk08gck@webmail.versatel.nl>
Date: Tue, 13 Apr 2010 16:23:20 +0200
From: jbemmel@zonnet.nl
To: oauth@ietf.org
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format="flowed"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit
User-Agent: Internet Messaging Program (IMP) H3 (4.1.3)
Subject: [OAUTH-WG] Cache-control for Authorization server
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Apr 2010 14:24:45 -0000

All,

I think the draft should explicitly state that the Authorization server 
MUST use Cache-Control: no-store on all responses that contain tokens 
or other sensitive information, since this is critical to the security 
properties of the protocol

Regards,
Jeroen

From mshafi@paypal.com  Tue Apr 13 07:48:55 2010
Return-Path: <mshafi@paypal.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D998028C14D for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 07:48:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.299
X-Spam-Level: 
X-Spam-Status: No, score=-5.299 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, SARE_FORGED_PAYPAL_C=1.3]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1+yg4uISqTDS for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 07:48:55 -0700 (PDT)
Received: from rhv-mipot-002.corp.ebay.com (rhv-mipot-002.corp.ebay.com [216.33.244.7]) by core3.amsl.com (Postfix) with ESMTP id EBDF428C0F2 for <oauth@ietf.org>; Tue, 13 Apr 2010 07:48:54 -0700 (PDT)
DomainKey-Signature: s=ppcorp; d=paypal.com; c=nofws; q=dns; h=X-EBay-Corp:X-IronPort-AV:Received:Received:From:To:CC: Date:Subject:Thread-Topic:Thread-Index:Message-ID: References:In-Reply-To:Accept-Language:Content-Language: X-MS-Has-Attach:X-MS-TNEF-Correlator:acceptlanguage: x-ems-proccessed:x-ems-stamp:Content-Type: Content-Transfer-Encoding:MIME-Version:X-CFilter; b=BMTAg35MxkScg9UOs0upvhp2N7iAZ0mFlfjKvcVLkf62J36IxnQMMmst GjFJK0AGF05wfdRrWzdGGl57YVtCQfevNlrSwhk73EPfUzR6Wi6t6zt/j xJvTubKM+W1oPP1;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=paypal.com; i=mshafi@paypal.com; q=dns/txt; s=ppcorp; t=1271170129; x=1302706129; h=from:sender:reply-to:subject:date:message-id:to:cc: mime-version:content-transfer-encoding:content-id: content-description:resent-date:resent-from:resent-sender: resent-to:resent-cc:resent-message-id:in-reply-to: references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:list-owner:list-archive; z=From:=20"Shafi,=20Saleem"=20<mshafi@paypal.com>|Subject: =20RE:=20[OAUTH-WG]=20Consistency=20across=20access=20tok en=20replies|Date:=20Tue,=2013=20Apr=202010=2007:48:48=20 -0700|Message-ID:=20<854035E628BF9B4C9688EB1400DAAC72DF1A B323@RHV-MEXMS-002.corp.ebay.com>|To:=20Torsten=20Lodders tedt=20<torsten@lodderstedt.net>,=20David=20Recordon=0D =0A=09<recordond@gmail.com>|CC:=20OAuth=20WG=20<oauth@iet f.org>|MIME-Version:=201.0|Content-Transfer-Encoding:=20q uoted-printable|In-Reply-To:=20<4BBEDCE7.4010205@lodderst edt.net>|References:=20<h2i74caaad21004081625mba6535ffl8e a5ddee0f701c05@mail.gmail.com>=0D=0A=09<C7E3BC57.31F50%er an@hueniverse.com>=0D=0A=09<u2rfd6741651004090051z1af4438 0sb24b3a51f84d5fea@mail.gmail.com>=0D=0A=20<4BBEDCE7.4010 205@lodderstedt.net>; bh=g4yrKS1azqkzHmUluBHDoR81aEMz5HuSVasYfHvqaAE=; b=b11yPks6ET0YFxiF1H3zZJ61P0hXhXTUBZyd6Tk4QR9qgXLeAabfadac csMdFCpmKV4Em0JkStFez7AGImd9/qTcuijD/Ags78fqj6Ovb0RPsNlgl qs/mYUINtE/pnUB;
X-EBay-Corp: Yes
X-IronPort-AV: E=Sophos;i="4.52,197,1270450800"; d="scan'208";a="11857458"
Received: from rhv-vtenf-002.corp.ebay.com (HELO RHV-MEXHT-001.corp.ebay.com) ([10.112.113.53]) by rhv-mipot-002.corp.ebay.com with ESMTP; 13 Apr 2010 07:48:48 -0700
Received: from RHV-MEXMS-002.corp.ebay.com ([10.245.17.114]) by RHV-MEXHT-001.corp.ebay.com ([10.245.24.100]) with mapi; Tue, 13 Apr 2010 07:48:49 -0700
From: "Shafi, Saleem" <mshafi@paypal.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>, David Recordon <recordond@gmail.com>
Date: Tue, 13 Apr 2010 07:48:48 -0700
Thread-Topic: [OAUTH-WG] Consistency across access token replies
Thread-Index: AcrXub45hSPdLwYuRGuSgVlOJnKPEADXFbbw
Message-ID: <854035E628BF9B4C9688EB1400DAAC72DF1AB323@RHV-MEXMS-002.corp.ebay.com>
References: <h2i74caaad21004081625mba6535ffl8ea5ddee0f701c05@mail.gmail.com> <C7E3BC57.31F50%eran@hueniverse.com> <u2rfd6741651004090051z1af44380sb24b3a51f84d5fea@mail.gmail.com> <4BBEDCE7.4010205@lodderstedt.net>
In-Reply-To: <4BBEDCE7.4010205@lodderstedt.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
x-ems-proccessed: 10SqDH0iR7ekR7SRpKqm5A==
x-ems-stamp: w8jNQfHln/fAlkTbK8dh3g==
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-CFilter: Scanned
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Consistency across access token replies
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Apr 2010 14:48:55 -0000

Hello..

Despite the fact that it might complicate the spec, I would like to see the=
 ability to get a token secret without having to make an extra refresh toke=
n request..  if "secret_type" were added to the request parameters in 3.4.1=
.2 (Client Requests Access Token), the response could contain the token sec=
ret instead of the refresh_token..  Perhaps it isn't as clean in other flow=
s, but at least in this one, I think it's worthwhile..

Not only would this match the interactions in Oauth 1.0 better (easy migrat=
ion path for those wanting to adopt 2.0), but it eliminates an extra API ca=
ll..  I imagine that refresh tokens and token secrets are generally mutuall=
y-exlusive..  It's unlikely that I will need to expire an access token that=
 is properly signed, so no need for a refresh token..  But, the way the spe=
c is written now, I'm forced to deal with a refresh token just to get the s=
ecret, which feels a bit strange..

Though the spec might be simpler as-is, implementation won't be easier for =
the folks wanting to use token secrets..  Providers will have to manage a n=
ew type of token, or at least pretend to (make the refresh and access token=
s the same)..  And clients will have to make an extra API call per flow exe=
cution for no discernable benefit..

My 2 cents,

Saleem.

-----Original Message-----
From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of T=
orsten Lodderstedt
Sent: Friday, April 09, 2010 2:53 AM
To: David Recordon
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Consistency across access token replies


>> Its a growing list... :-)
>>
>> If the client can ask for a refresh token, why not also let it ask=20
>> for a secret in each flow, and a username, and specific UI, etc. At=20
>> some point we cross a line and the protocol becomes complex (even if=20
>> rich). I'm asking where that line is, and if this qualifies as worth=20
>> of extra complexity. I don't have an answer.
>>     =20
> I'm also prefer to reduce the number of parameters. If an AS returns a=20
> refresh token and the Client chooses to ignore it, that's easy code to=20
> write. :)
>   =20

the same holds for token secrets, why not returning them with every respons=
e?

regards,
Torsten.

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

From eran@hueniverse.com  Tue Apr 13 08:23:25 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DB5A83A6807 for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 08:23:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.45
X-Spam-Level: 
X-Spam-Status: No, score=-2.45 tagged_above=-999 required=5 tests=[AWL=0.148,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oq0N+eO+asTl for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 08:23:09 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id BAB023A6B08 for <oauth@ietf.org>; Tue, 13 Apr 2010 08:22:32 -0700 (PDT)
Received: (qmail 29448 invoked from network); 13 Apr 2010 15:22:26 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 13 Apr 2010 15:22:26 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Tue, 13 Apr 2010 08:22:23 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: "jbemmel@zonnet.nl" <jbemmel@zonnet.nl>, OAuth WG <oauth@ietf.org>
Date: Tue, 13 Apr 2010 08:22:19 -0700
Thread-Topic: [OAUTH-WG] Cache-control for Authorization server
Thread-Index: AcrbFRBw6qABkK9oRcme0Tme6ad72QACAq89
Message-ID: <C7E9DA3B.321F0%eran@hueniverse.com>
In-Reply-To: <20100413162320.d8jgb90z5wk08gck@webmail.versatel.nl>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7E9DA3B321F0eranhueniversecom_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Cache-control for Authorization server
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Apr 2010 15:23:26 -0000

--_000_C7E9DA3B321F0eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Is this really a MUST?

EHL


On 4/13/10 7:23 AM, "jbemmel@zonnet.nl" <jbemmel@zonnet.nl> wrote:

All,

I think the draft should explicitly state that the Authorization server
MUST use Cache-Control: no-store on all responses that contain tokens
or other sensitive information, since this is critical to the security
properties of the protocol

Regards,
Jeroen
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


--_000_C7E9DA3B321F0eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Cache-control for Authorization server</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>Is this really a MUST? <BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/13/10 7:23 AM, &quot;<a href=3D"jbemmel@zonnet.nl">jbemmel@zonnet.nl</=
a>&quot; &lt;<a href=3D"jbemmel@zonnet.nl">jbemmel@zonnet.nl</a>&gt; wrote:=
<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>All,<BR>
<BR>
I think the draft should explicitly state that the Authorization server<BR>
MUST use Cache-Control: no-store on all responses that contain tokens<BR>
or other sensitive information, since this is critical to the security<BR>
properties of the protocol<BR>
<BR>
Regards,<BR>
Jeroen<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7E9DA3B321F0eranhueniversecom_--

From hannes.tschofenig@nsn.com  Tue Apr 13 09:09:39 2010
Return-Path: <hannes.tschofenig@nsn.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C8D433A697D for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 09:09:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.951
X-Spam-Level: 
X-Spam-Status: No, score=0.951 tagged_above=-999 required=5 tests=[AWL=0.950,  BAYES_50=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sycD-XwsMZOf for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 09:09:38 -0700 (PDT)
Received: from demumfd002.nsn-inter.net (demumfd002.nsn-inter.net [93.183.12.31]) by core3.amsl.com (Postfix) with ESMTP id 1917C3A6899 for <oauth@ietf.org>; Tue, 13 Apr 2010 09:09:37 -0700 (PDT)
Received: from demuprx017.emea.nsn-intra.net ([10.150.129.56]) by demumfd002.nsn-inter.net (8.12.11.20060308/8.12.11) with ESMTP id o3DG9PZG019621 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for <oauth@ietf.org>; Tue, 13 Apr 2010 18:09:28 +0200
Received: from demuexc022.nsn-intra.net (demuexc022.nsn-intra.net [10.150.128.35]) by demuprx017.emea.nsn-intra.net (8.12.11.20060308/8.12.11) with ESMTP id o3DG9LZP001912 for <oauth@ietf.org>; Tue, 13 Apr 2010 18:09:25 +0200
Received: from FIESEXC015.nsn-intra.net ([10.159.0.23]) by demuexc022.nsn-intra.net with Microsoft SMTPSVC(6.0.3790.3959);  Tue, 13 Apr 2010 18:08:50 +0200
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Date: Tue, 13 Apr 2010 19:08:30 +0300
Message-ID: <3D3C75174CB95F42AD6BCC56E5555B4502712203@FIESEXC015.nsn-intra.net>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: OAuth Interim Meeting
Thread-Index: AcrbI49Faj9bL9NpQkO18kR+f9SKyw==
From: "Tschofenig, Hannes (NSN - FI/Espoo)" <hannes.tschofenig@nsn.com>
To: "OAuth WG" <oauth@ietf.org>
X-OriginalArrivalTime: 13 Apr 2010 16:08:50.0190 (UTC) FILETIME=[9ADB92E0:01CADB23]
Subject: [OAUTH-WG] OAuth Interim Meeting
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Apr 2010 16:09:39 -0000

Hi all,=20

This is an early warning!=20

As mentioned at the last IETF meeting we are thinking about organizing a
face-to-face interim meeting attached to the Internet Identity Workshop
(see http://www.internetidentityworkshop.com/) on the 20th of May (in
Mountain View). As a host we have tentatively identified Yahoo and this
would be a one day workshop to discuss open issues of the OAuth 2.0.=20

Ciao
Hannes & Blaine=20



From recordond@gmail.com  Tue Apr 13 09:16:17 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 543C928C0E2 for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 09:16:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Px0l-EW3MrcA for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 09:16:16 -0700 (PDT)
Received: from mail-pv0-f172.google.com (mail-pv0-f172.google.com [74.125.83.172]) by core3.amsl.com (Postfix) with ESMTP id 8B3BB3A67C1 for <oauth@ietf.org>; Tue, 13 Apr 2010 09:16:15 -0700 (PDT)
Received: by pvf33 with SMTP id 33so3219206pvf.31 for <oauth@ietf.org>; Tue, 13 Apr 2010 09:16:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=KA4qraFqag2agiK5CzyjoEtq2X2u7usOA2M9gPBWJEE=; b=qdlxmRIfhBn6O5CUEAKzt8CME+3K1iX+0ma0BZT9LBxAeA/970n+CSYQgPWAD4JVW7 JE0+/xxGsc/8E5/6ToLGFZVkcg4lidjAoLSyOAbXfShUPw2MornsxPXz9wpUHhGr9NNs eOhDDnza34wiFgCALC04POL7oSH2lyjgnI1ik=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=Z3AzbsqDSHxbt2cWz7BNTdkrcZ45t0rzTBHkJnargtYrOCkfmctTqYvdGDuaWgN0hG 6br0pmS0VfVlO3o/kY7dC4SGjxEqCsCd282hG7yNEnasMY6wg+yNY718B9+a2VUR5PZe heJS5AWnsMGlKcoDKBSDIR1zmLT5fzmNqLMY8=
MIME-Version: 1.0
Received: by 10.231.183.18 with HTTP; Tue, 13 Apr 2010 09:16:07 -0700 (PDT)
In-Reply-To: <3D3C75174CB95F42AD6BCC56E5555B4502712203@FIESEXC015.nsn-intra.net>
References: <3D3C75174CB95F42AD6BCC56E5555B4502712203@FIESEXC015.nsn-intra.net>
Date: Tue, 13 Apr 2010 09:16:07 -0700
Received: by 10.140.83.40 with SMTP id g40mr5686179rvb.223.1271175367467; Tue,  13 Apr 2010 09:16:07 -0700 (PDT)
Message-ID: <n2sfd6741651004130916r99d2e2f5r8049e6e5f722e695@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: "Tschofenig, Hannes (NSN - FI/Espoo)" <hannes.tschofenig@nsn.com>
Content-Type: text/plain; charset=ISO-8859-1
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] OAuth Interim Meeting
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Apr 2010 16:16:17 -0000

Awesome, on my calendar. Thanks!


On Tue, Apr 13, 2010 at 9:08 AM, Tschofenig, Hannes (NSN - FI/Espoo)
<hannes.tschofenig@nsn.com> wrote:
> Hi all,
>
> This is an early warning!
>
> As mentioned at the last IETF meeting we are thinking about organizing a
> face-to-face interim meeting attached to the Internet Identity Workshop
> (see http://www.internetidentityworkshop.com/) on the 20th of May (in
> Mountain View). As a host we have tentatively identified Yahoo and this
> would be a one day workshop to discuss open issues of the OAuth 2.0.
>
> Ciao
> Hannes & Blaine
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From atom@yahoo-inc.com  Tue Apr 13 12:11:28 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0F7593A68C8 for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 12:11:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -15.884
X-Spam-Level: 
X-Spam-Status: No, score=-15.884 tagged_above=-999 required=5 tests=[AWL=0.318, BAYES_00=-2.599, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=1.396, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xhvLW7N2lEKr for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 12:11:24 -0700 (PDT)
Received: from mrout1.yahoo.com (mrout1.yahoo.com [216.145.54.171]) by core3.amsl.com (Postfix) with ESMTP id A11353A68DA for <oauth@ietf.org>; Tue, 13 Apr 2010 12:11:23 -0700 (PDT)
Received: from SNV-EXBH01.ds.corp.yahoo.com (snv-exbh01.ds.corp.yahoo.com [207.126.227.249]) by mrout1.yahoo.com (8.13.6/8.13.6/y.out) with ESMTP id o3DJAmq5034043;  Tue, 13 Apr 2010 12:10:49 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:message-id: thread-topic:thread-index:in-reply-to:mime-version:content-type:x-originalarrivaltime; b=lVq5XpV1S4LvOeP6MKhKxOPF9OdtxMeCMsh6kU5zE8n++ZmVmbvxI6NhaFCNhugH
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXBH01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.3959);  Tue, 13 Apr 2010 12:10:48 -0700
Received: from 10.72.181.200 ([10.72.181.200]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.59]) with Microsoft Exchange Server HTTP-DAV ; Tue, 13 Apr 2010 19:10:05 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Tue, 13 Apr 2010 12:10:05 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: Luke Shepard <lshepard@facebook.com>, "Manger, James H" <James.H.Manger@team.telstra.com>, OAuth WG <oauth@ietf.org>
Message-ID: <C7EA0F9D.2AD27%atom@yahoo-inc.com>
Thread-Topic: [OAUTH-WG] authenticating client-to-authz.server calls
Thread-Index: AcraTlQi99CDjDmYRcOBPt88Im54iQAWPxCAACVnFw4=
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DADC@SC-MBXC1.TheFacebook.com>
Mime-version: 1.0
Content-type: multipart/alternative; boundary="B_3354005405_7929932"
X-OriginalArrivalTime: 13 Apr 2010 19:10:48.0367 (UTC) FILETIME=[06992BF0:01CADB3D]
Subject: Re: [OAUTH-WG] authenticating client-to-authz.server calls
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Apr 2010 19:11:28 -0000

> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3354005405_7929932
Content-type: text/plain;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

+1=20

In Yahoo=B9s case, we would also like to use the Client Credentials Flow for
all =B32 legged=B2 APIs.

Allen

On 4/12/10 6:29 PM, "Luke Shepard" <lshepard@facebook.com> wrote:

> In Facebook=B9s case, we would like to make our entire API accessible
> exclusively via OAuth =AD including properties, metrics, etc. For our purpo=
ses,
> I think the Client Credentials Flow
> (http://github.com/theRazorBlade/draft-ietf-oauth/blob/master/draft-ietf-=
oauth
> .txt#L1869) is sufficient. I prefer the consistency and simplicity of the
> access token even though it means an extra server call.


--B_3354005405_7929932
Content-type: text/html;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] authenticating client-to-authz.server calls</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:11pt=
'>+1 <BR>
<BR>
In Yahoo&#8217;s case, we would also like to use the Client Credentials Flo=
w for all &#8220;2 legged&#8221; APIs. <BR>
<BR>
Allen<BR>
<BR>
On 4/12/10 6:29 PM, &quot;Luke Shepard&quot; &lt;<a href=3D"lshepard@facebook=
.com">lshepard@facebook.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><=
SPAN STYLE=3D'font-size:11pt'><FONT COLOR=3D"#1F497D">In Facebook&#8217;s case, =
we would like to make our entire API accessible exclusively via OAuth &#8211=
; including properties, metrics, etc. For our purposes, I think the Client C=
redentials Flow (<a href=3D"http://github.com/theRazorBlade/draft-ietf-oauth/b=
lob/master/draft-ietf-oauth.txt#L1869">http://github.com/theRazorBlade/draft=
-ietf-oauth/blob/master/draft-ietf-oauth.txt#L1869</a>) is sufficient. I pre=
fer the consistency and simplicity of the access token even though it means =
an extra server call.</FONT><BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--B_3354005405_7929932--


From atom@yahoo-inc.com  Tue Apr 13 12:39:25 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9C8D628C177 for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 12:39:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.452
X-Spam-Level: 
X-Spam-Status: No, score=-14.452 tagged_above=-999 required=5 tests=[AWL=-1.184, BAYES_50=0.001, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, MIME_QP_LONG_LINE=1.396, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 265zLBi-RKWq for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 12:39:20 -0700 (PDT)
Received: from mrout1-b.corp.re1.yahoo.com (mrout1-b.corp.re1.yahoo.com [69.147.107.20]) by core3.amsl.com (Postfix) with ESMTP id 17EFA28C14A for <oauth@ietf.org>; Tue, 13 Apr 2010 12:38:47 -0700 (PDT)
Received: from SNV-EXBH01.ds.corp.yahoo.com (snv-exbh01.ds.corp.yahoo.com [207.126.227.249]) by mrout1-b.corp.re1.yahoo.com (8.13.8/8.13.8/y.out) with ESMTP id o3DJbDEe058134; Tue, 13 Apr 2010 12:37:15 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:message-id: thread-topic:thread-index:in-reply-to:mime-version:content-type: return-path:x-originalarrivaltime; b=C0/dDyT4tY29irAsJFD7RZkxQ2FJwYB3wSNjHWMo/KqPy5t6SQP81165+k3iQoCe
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXBH01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.3959);  Tue, 13 Apr 2010 12:37:13 -0700
Received: from 10.72.181.200 ([10.72.181.200]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.59]) with Microsoft Exchange Server HTTP-DAV ; Tue, 13 Apr 2010 19:36:58 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Tue, 13 Apr 2010 12:36:54 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, OAuth WG <oauth@ietf.org>
Message-ID: <C7EA15E6.2AD44%atom@yahoo-inc.com>
Thread-Topic: [OAUTH-WG] A display parameter for user authorization requests
Thread-Index: AcraYUU+DWp6xYltTg+FlVOeoeSVVgACQgRQAAU9YNYAMFo+Xg==
In-Reply-To: <C7E8D169.3216E%eran@hueniverse.com>
Mime-version: 1.0
Content-type: multipart/alternative; boundary="B_3354007015_8026603"
X-OriginalArrivalTime: 13 Apr 2010 19:37:13.0882 (UTC) FILETIME=[B7A38FA0:01CADB40]
Subject: Re: [OAUTH-WG] A display parameter for user authorization requests
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Apr 2010 19:39:25 -0000

> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3354007015_8026603
Content-type: text/plain;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

At least with regards to the language preference, how about if we just copy
the openid.ui.lang parameter from the OpenID UI Extension?

http://svn.openid.net/repos/specifications/user_interface/1.0/trunk/openid-=
u
ser-interface-extension-1_0.html#anchor3

In flows in which the client redirects the user=B9s web browser to authorize
access, the client MAY send the Authorization Server a hint regarding the
user=B9s preferred language by sending the following parameter:

    lang
        The user=B9s preferred languages as a [BCP 47] language priority list=
,
represented as a comma-separated list of BCP 47 basic language ranges in
decending priority order. For instance, the value =B3fr-CA,fr-FR,en-CA=B2
represents the preference for French spoken in Canada, French spoken in
France, followed by English spoken in Canada.

The language preference hint SHOULD take precedence over the Accept-Languag=
e
HTTP header sent by the user=B9s browser, and SHOULD take precedence over the
language preference inferred by the user=B9s IP Address.

BCP 47:  http://tools.ietf.org/html/bcp47

Allen


On 4/12/10 1:32 PM, "Eran Hammer-Lahav" <eran@hueniverse.com> wrote:

> Between language preferences, display configuration, and immediate check,=
 I
> think it might be worth to move that work to another draft. Timeline-wise=
,
> this has the potential of slowing us down. I also fear getting what is no=
w a
> pretty simple spec much more complicated.
>=20
> Anyone cares to try a first draft or outline? I can do the editorial work=
 if
> needed, but someone needs to write something first.
>=20
> EHL
>=20
>=20


--B_3354007015_8026603
Content-type: text/html;
	charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] A display parameter for user authorization requests</=
TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:11pt=
'>At least with regards to the language preference, how about if we just cop=
y the openid.ui.lang parameter from the OpenID UI Extension?<BR>
<BR>
<a href=3D"http://svn.openid.net/repos/specifications/user_interface/1.0/trun=
k/openid-user-interface-extension-1_0.html#anchor3">http://svn.openid.net/re=
pos/specifications/user_interface/1.0/trunk/openid-user-interface-extension-=
1_0.html#anchor3</a><BR>
<BR>
In flows in which the client redirects the user&#8217;s web browser to auth=
orize access, the client MAY send the Authorization Server a hint regarding =
the user&#8217;s preferred language by sending the following parameter:<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;lang<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The user&#8217;s preferred =
languages as a [BCP 47] language priority list, represented as a comma-separ=
ated list of BCP 47 basic language ranges in decending priority order. For i=
nstance, the value &#8220;fr-CA,fr-FR,en-CA&#8221; represents the preference=
 for French spoken in Canada, French spoken in France, followed by English s=
poken in Canada.<BR>
<BR>
The language preference hint SHOULD take precedence over the Accept-Languag=
e HTTP header sent by the user&#8217;s browser, and SHOULD take precedence o=
ver the language preference inferred by the user&#8217;s IP Address.<BR>
<BR>
BCP 47: &nbsp;<a href=3D"http://tools.ietf.org/html/bcp47">http://tools.ietf.=
org/html/bcp47</a><BR>
<BR>
Allen<BR>
<BR>
<BR>
On 4/12/10 1:32 PM, &quot;Eran Hammer-Lahav&quot; &lt;<a href=3D"eran@huenive=
rse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><=
SPAN STYLE=3D'font-size:11pt'>Between language preferences, display configurat=
ion, and immediate check, I think it might be worth to move that work to ano=
ther draft. Timeline-wise, this has the potential of slowing us down. I also=
 fear getting what is now a pretty simple spec much more complicated.<BR>
<BR>
Anyone cares to try a first draft or outline? I can do the editorial work i=
f needed, but someone needs to write something first.<BR>
<BR>
EHL<BR>
<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--B_3354007015_8026603--


From torsten@lodderstedt.net  Tue Apr 13 12:52:26 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 21B2B3A62C1 for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 12:52:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.056
X-Spam-Level: 
X-Spam-Status: No, score=-1.056 tagged_above=-999 required=5 tests=[AWL=-0.666, BAYES_20=-0.74, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ruVvy01m9m4N for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 12:52:25 -0700 (PDT)
Received: from smtprelay03.ispgateway.de (smtprelay03.ispgateway.de [80.67.31.26]) by core3.amsl.com (Postfix) with ESMTP id DBC3228C122 for <oauth@ietf.org>; Tue, 13 Apr 2010 12:52:23 -0700 (PDT)
Received: from p4fff25ec.dip.t-dialin.net ([79.255.37.236] helo=[127.0.0.1]) by smtprelay03.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O1m9g-00017y-CN; Tue, 13 Apr 2010 21:52:16 +0200
Message-ID: <4BC4CB6F.6020802@lodderstedt.net>
Date: Tue, 13 Apr 2010 21:52:15 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: John Kemp <john@jkemp.net>
References: <C7E70466.320B6%eran@hueniverse.com> <4BC36CF7.2080507@lodderstedt.net> <2513A610118CC14C8E622C376C8DEC93D54D66DA83@SC-MBXC1.TheFacebook.com> <4BC36FD4.5020109@lodderstedt.net> <DF608C3F-8BC0-4A1F-8F6F-D737E3DB1549@jkemp.net>
In-Reply-To: <DF608C3F-8BC0-4A1F-8F6F-D737E3DB1549@jkemp.net>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Comments on sections 5-7
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Apr 2010 19:52:26 -0000

>>>> As far as I know, JavaScript code can set headers, incl. Authorization
>>>> Headers, using the operation setRequestHeaders of the XMLHttpRequest
>>>> Object
>>>>
>>>>          
>>> XMLHttpRequest is limited to the same domain (example.com can make calls to example.com). When making cross domain requests (example.com requesting data from facebook.com), different techniques must be used. Many of those techniques (such as JSONP) are restricted to just modifying the URL, and cannot set headers or use POST.
>>>
>>>
>>>        
>> I thought "HTTP Origin Headers" (http://www.petefreitag.com/item/702.cfm) would eliminate that restriction?
>>      
> Use of the Origin HTTP header and W3C CORS (see https://developer.mozilla.org/En/HTTP_access_control for an explanation and information about Mozilla's support for that) is one of the proposed ways to allow cross-domain requests. There are others, such as the proposed standard Uniform Messaging Policy (http://www.w3.org/TR/UMP/):
>
> However,
>
> i) Not all browsers support CORS yet (Gecko and Webkit latest builds do, but not their latest stable versions)
> ii) Sites have to "opt-in" in all of these models to allow a cross-domain request, and most sites haven't opted in (cross-domain requests are thus not allowed in most cases)
>
> So browsers will often have to enforce same-domain requests in the usual way, requiring hacks like JSONP in order to perform cross-site requests, and thus Javascript cannot be (and will not be any time soon) assumed to support the setting of HTTP headers in all cases.
>
> Cheers,
>
> - johnk
>    
thanks for your explanation

regards,
Torsten.


From lshepard@facebook.com  Tue Apr 13 13:40:12 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DE01628C176 for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 13:40:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.56
X-Spam-Level: 
X-Spam-Status: No, score=-1.56 tagged_above=-999 required=5 tests=[AWL=-1.496,  BAYES_50=0.001, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, J_CHICKENPOX_55=0.6, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UVzYkEHYVmAi for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 13:39:54 -0700 (PDT)
Received: from mailout-snc1.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id A187B3A68FE for <oauth@ietf.org>; Tue, 13 Apr 2010 13:39:28 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.212]) by pp01.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3DKd3q8027287 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT) for <oauth@ietf.org>; Tue, 13 Apr 2010 13:39:04 -0700
Received: from sc-hub06.TheFacebook.com (192.168.18.83) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.682.1; Tue, 13 Apr 2010 13:38:08 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub06.TheFacebook.com ([192.168.18.83]) with mapi; Tue, 13 Apr 2010 13:36:00 -0700
From: Luke Shepard <lshepard@facebook.com>
To: OAuth WG <oauth@ietf.org>
Date: Tue, 13 Apr 2010 13:35:57 -0700
Thread-Topic: Combining the Native application and User-agent flows
Thread-Index: AcrbSOv7/3qks4dxQxm/hPfOFaFQrQ==
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66DB15@SC-MBXC1.TheFacebook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_2513A610118CC14C8E622C376C8DEC93D54D66DB15SCMBXC1TheFac_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-13_07:2010-02-06, 2010-04-13, 2010-04-13 signatures=0
Subject: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Apr 2010 20:40:13 -0000

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DB15SCMBXC1TheFac_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

In the latest draft of the OAuth 2.0 spec, there are four "User Delegation"=
 flows:

3.4.1   Web Callback Flow
3.4.2   Native Application Flow
3.4.3   User-Agent Flow
3.4.4   Device Flow

The Native Application and the User-Agent flows should be combined into one=
 flow. The combined flow works for all client-side code. This is how it was=
 in David's original draft; I'd love some help understanding why it was sep=
arated again.

>From the draft:

The native flow is intended for desktop applications where "the client is c=
apable of interacting with the end user's user-agent but is incapable of re=
ceiving callback requests from the server (incapable of acting as an HTTP s=
erver) ... instead of using a callback to deliver the verification code to =
the client, the authorization server displays the verification code to the =
end user via its user-agent.  If the client is able to interact with the us=
er-agent, it retrieves the verification code automatically.  Otherwise, the=
 end user manually enters the verification code into a client dialog."

So the flow is:

1/ User goes to oauth/authorize endpoint.
2/ Server displays a page that says something like "We are done here" and p=
uts a code in the title.
3/ Desktop app makes a call to exchange the code for an access token, and c=
loses the window.
4/ App uses access token.


A simpler flow, which works for Desktop as well as Javascript apps, is:

1/ User goes to oauth/authorize endpoint.
2/ Server authorizes, then redirects to the callback url .. something like =
about:blank#access_token=3Dblahblahblah
3/ App uses access token.

At Facebook we have a lot of experience integrating with desktop apps. (i.e=
., Facebook for Adobe Air, Seesmic, Tweetdeck, iPhoto). In my experience, n=
one of the desktop apps like to show a code that the user then enters into =
the app. Instead, apps typically receive the session (access token) directl=
y in the response url. They can either use a URL on their domain, or a fake=
 URL like about:blank, or an endpoint provided by Facebook (/connect/login_=
success.html). More info: http://wiki.developers.facebook.com/index.php/Aut=
horization_and_Authentication_for_Desktop_Applications

The access token never goes over the wire (it's in the fragment even if the=
 url is legit) and the desktop app gets a more well-formatted response.

I just don't get the point of the hacky code-in-html style. Can someone poi=
nt me to a place where this is in widespread use today?


--_000_2513A610118CC14C8E622C376C8DEC93D54D66DB15SCMBXC1TheFac_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Courier;
	panose-1:2 7 4 9 2 2 5 2 4 4;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal style=3D'line-height:17.0pt;text-autospace:none'><span
style=3D'font-size:12.0pt;font-family:Courier'>In the latest draft of the O=
Auth
2.0 spec, there are four &#8220;User Delegation&#8221; flows:<o:p></o:p></s=
pan></p>

<p class=3DMsoNormal style=3D'line-height:17.0pt;text-autospace:none'><span
style=3D'font-size:12.0pt;font-family:Courier'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal style=3D'line-height:17.0pt;text-autospace:none'><span
style=3D'font-size:12.0pt;font-family:Courier'>3.4.1&nbsp;&nbsp; Web Callba=
ck
Flow<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'line-height:17.0pt;text-autospace:none'><span
style=3D'font-size:12.0pt;font-family:Courier'>3.4.2&nbsp;&nbsp; Native
Application Flow<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'line-height:17.0pt;text-autospace:none'><span
style=3D'font-size:12.0pt;font-family:Courier'>3.4.3 &nbsp;&nbsp;User-Agent=
 Flow<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'line-height:17.0pt;text-autospace:none'><span
style=3D'font-size:12.0pt;font-family:Courier'>3.4.4&nbsp;&nbsp; Device Flo=
w<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'line-height:17.0pt;text-autospace:none'><span
style=3D'font-size:12.0pt;font-family:Courier'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>T=
he
Native Application and the User-Agent flows should be combined into one flo=
w.
The combined flow works for all client-side code. This is how it was in
David&#8217;s original draft; I&#8217;d love some help understanding why it=
 was
separated again.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'><=
o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal style=3D'line-height:17.0pt;text-autospace:none'><span
style=3D'font-size:12.0pt;font-family:Courier'>From the draft:<o:p></o:p></=
span></p>

<p class=3DMsoNormal style=3D'line-height:17.0pt;text-autospace:none'><span
style=3D'font-size:12.0pt;font-family:Courier'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal style=3D'line-height:17.0pt;text-autospace:none'><span
style=3D'font-size:12.0pt;font-family:Courier'>The native flow is intended =
for
desktop applications where &#8220;the client is capable of interacting with=
 the
end user's user-agent but is incapable of receiving callback requests from =
the
server (incapable of acting as an HTTP server) ... instead of using a callb=
ack
to deliver the verification code to the client, the authorization server
displays the verification code to the end user via its user-agent.&nbsp; If=
 the
client is able to interact with the user-agent, it retrieves the verificati=
on
code automatically.&nbsp; Otherwise, the end user manually enters the verif=
ication
code into a client dialog.&#8221;<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'><=
o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>S=
o the
flow is:<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'><=
o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>1=
/ User
goes to oauth/authorize endpoint.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>2=
/ Server
displays a page that says something like &#8220;We are done here&#8221; and
puts a code in the title.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>3=
/
Desktop app makes a call to exchange the code for an access token, and clos=
es the
window.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>4=
/ App
uses access token.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'><=
o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'><=
br>
A simpler flow, which works for Desktop as well as Javascript apps, is:<o:p=
></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'><=
o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>1=
/ User
goes to oauth/authorize endpoint.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>2=
/ Server
authorizes, then redirects to the callback url .. something like about:blan=
k#access_token=3Dblahblahblah<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>3=
/ App
uses access token.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'><=
o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>A=
t
Facebook we have a lot of experience integrating with desktop apps. (i.e.,
Facebook for Adobe Air, Seesmic, Tweetdeck, iPhoto). In my experience, none=
 of
the desktop apps like to show a code that the user then enters into the app=
.
Instead, apps typically receive the session (access token) directly in the
response url. They can either use a URL on their domain, or a fake URL like
about:blank, or an endpoint provided by Facebook (/connect/login_success.ht=
ml).
More info: <a
href=3D"http://wiki.developers.facebook.com/index.php/Authorization_and_Aut=
hentication_for_Desktop_Applications">http://wiki.developers.facebook.com/i=
ndex.php/Authorization_and_Authentication_for_Desktop_Applications</a><o:p>=
</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'><=
o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>T=
he
access token never goes over the wire (it&#8217;s in the fragment even if t=
he
url is legit) and the desktop app gets a more well-formatted response.<o:p>=
</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'><=
o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>I=
 just
don&#8217;t get the point of the hacky code-in-html style. Can someone poin=
t me
to a place where this is in widespread use today?<o:p></o:p></span></p>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

</div>

</body>

</html>

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DB15SCMBXC1TheFac_--

From lear@cisco.com  Tue Apr 13 22:58:57 2010
Return-Path: <lear@cisco.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 31FAC3A67FE for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 22:58:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.995
X-Spam-Level: 
X-Spam-Status: No, score=-6.995 tagged_above=-999 required=5 tests=[AWL=3.603,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wgAmD2pUN0KE for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 22:58:56 -0700 (PDT)
Received: from ams-iport-1.cisco.com (ams-iport-1.cisco.com [144.254.224.140]) by core3.amsl.com (Postfix) with ESMTP id 728763A67E5 for <oauth@ietf.org>; Tue, 13 Apr 2010 22:58:51 -0700 (PDT)
Authentication-Results: ams-iport-1.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AgcCAPr2xEuQ/uCWe2dsb2JhbACDFJhCFQEBCwsiBhyiZohekSCEH24E
X-IronPort-AV: E=Sophos;i="4.52,202,1270425600"; d="scan'208,217";a="59373997"
Received: from ams-core-1.cisco.com ([144.254.224.150]) by ams-iport-1.cisco.com with ESMTP; 14 Apr 2010 05:58:43 +0000
Received: from dhcp-10-55-82-33.cisco.com (dhcp-10-55-82-33.cisco.com [10.55.82.33]) by ams-core-1.cisco.com (8.13.8/8.14.3) with ESMTP id o3E5whVL025451 for <oauth@ietf.org>; Wed, 14 Apr 2010 05:58:43 GMT
Message-ID: <4BC55992.9000607@cisco.com>
Date: Wed, 14 Apr 2010 07:58:42 +0200
From: Eliot Lear <lear@cisco.com>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.4pre) Gecko/20100413 Lanikai/3.1b2pre
MIME-Version: 1.0
To: OAuth WG <oauth@ietf.org>
Content-Type: multipart/alternative; boundary="------------000402080507010308060401"
Subject: [OAUTH-WG] suggest removing Section 2.5
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Apr 2010 05:58:57 -0000

This is a multi-part message in MIME format.
--------------000402080507010308060401
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

  In terms of looking for ways to reduce the document size ;-)

Section 2.5 is redundant with Section 2.4 and the IETF doesn't talk in 
terms of conformance but interoperability.

Eliot

--------------000402080507010308060401
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    <font face="Times">In terms of looking for ways to reduce the
      document size ;-)<br>
      <br>
      Section 2.5 is redundant with Section 2.4 and the IETF doesn't
      talk in terms of conformance but interoperability.<br>
      <br>
      Eliot<br>
    </font>
  </body>
</html>

--------------000402080507010308060401--

From eran@hueniverse.com  Tue Apr 13 23:01:18 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4B41C3A6ADF for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 23:01:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.435
X-Spam-Level: 
X-Spam-Status: No, score=-2.435 tagged_above=-999 required=5 tests=[AWL=0.163,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id P3L3obI17A5p for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 23:01:17 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 4E59A3A693D for <oauth@ietf.org>; Tue, 13 Apr 2010 23:01:16 -0700 (PDT)
Received: (qmail 18181 invoked from network); 14 Apr 2010 06:01:10 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 14 Apr 2010 06:01:10 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Tue, 13 Apr 2010 23:01:10 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Eliot Lear <lear@cisco.com>
Date: Tue, 13 Apr 2010 23:00:54 -0700
Thread-Topic: [OAUTH-WG] suggest removing Section 2.5
Thread-Index: Acrbl+EJD4dtvIiIQNm1ahriUglKJA==
Message-ID: <B522D50C-647B-46C9-A8AE-B59722723C87@hueniverse.com>
References: <4BC55992.9000607@cisco.com>
In-Reply-To: <4BC55992.9000607@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_B522D50C647B46C9A8AEB59722723C87hueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] suggest removing Section 2.5
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Apr 2010 06:01:18 -0000

--_000_B522D50C647B46C9A8AEB59722723C87hueniversecom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

VGhhdCdzIGNvcGllZCBmcm9tIDI2MTYuIEFuZCBuZWVkcyB3b3JrLg0KDQpFSEwNCg0KT24gQXBy
IDE0LCAyMDEwLCBhdCA4OjU4LCAiRWxpb3QgTGVhciIgPGxlYXJAY2lzY28uY29tPG1haWx0bzps
ZWFyQGNpc2NvLmNvbT4+IHdyb3RlOg0KDQpJbiB0ZXJtcyBvZiBsb29raW5nIGZvciB3YXlzIHRv
IHJlZHVjZSB0aGUgZG9jdW1lbnQgc2l6ZSA7LSkNCg0KU2VjdGlvbiAyLjUgaXMgcmVkdW5kYW50
IHdpdGggU2VjdGlvbiAyLjQgYW5kIHRoZSBJRVRGIGRvZXNuJ3QgdGFsayBpbiB0ZXJtcyBvZiBj
b25mb3JtYW5jZSBidXQgaW50ZXJvcGVyYWJpbGl0eS4NCg0KRWxpb3QNCjxBVFQwMDAwMS4udHh0
Pg0K

--_000_B522D50C647B46C9A8AEB59722723C87hueniversecom_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWw+PGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiI+PGRpdj5UaGF0J3MgY29waWVkIGZyb20gMjYx
Ni4gQW5kIG5lZWRzIHdvcmsuJm5ic3A7PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5FSEw8YnI+
PGJyPk9uIEFwciAxNCwgMjAxMCwgYXQgODo1OCwgIkVsaW90IExlYXIiICZsdDs8YSBocmVmPSJt
YWlsdG86bGVhckBjaXNjby5jb20iPmxlYXJAY2lzY28uY29tPC9hPiZndDsgd3JvdGU6PGJyPjxi
cj48L2Rpdj48ZGl2PjwvZGl2PjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPjxkaXY+DQoNCiAgICA8
Zm9udCBmYWNlPSJUaW1lcyI+SW4gdGVybXMgb2YgbG9va2luZyBmb3Igd2F5cyB0byByZWR1Y2Ug
dGhlDQogICAgICBkb2N1bWVudCBzaXplIDstKTxicj4NCiAgICAgIDxicj4NCiAgICAgIFNlY3Rp
b24gMi41IGlzIHJlZHVuZGFudCB3aXRoIFNlY3Rpb24gMi40IGFuZCB0aGUgSUVURiBkb2Vzbid0
DQogICAgICB0YWxrIGluIHRlcm1zIG9mIGNvbmZvcm1hbmNlIGJ1dCBpbnRlcm9wZXJhYmlsaXR5
Ljxicj4NCiAgICAgIDxicj4NCiAgICAgIEVsaW90PGJyPg0KICAgIDwvZm9udD4NCiAgDQoNCjwv
ZGl2PjwvYmxvY2txdW90ZT48YmxvY2txdW90ZSB0eXBlPSJjaXRlIj48ZGl2PiZsdDtBVFQwMDAw
MS4udHh0Jmd0OzwvZGl2PjwvYmxvY2txdW90ZT48L2JvZHk+PC9odG1sPg==

--_000_B522D50C647B46C9A8AEB59722723C87hueniversecom_--

From lear@cisco.com  Tue Apr 13 23:05:11 2010
Return-Path: <lear@cisco.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 44FBB3A680D for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 23:05:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.715
X-Spam-Level: 
X-Spam-Status: No, score=-3.715 tagged_above=-999 required=5 tests=[AWL=-1.117, BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WBMf2Q7A7X15 for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 23:05:10 -0700 (PDT)
Received: from ams-iport-2.cisco.com (ams-iport-2.cisco.com [144.254.224.141]) by core3.amsl.com (Postfix) with ESMTP id E25583A6B56 for <oauth@ietf.org>; Tue, 13 Apr 2010 23:05:09 -0700 (PDT)
Authentication-Results: ams-iport-2.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AgcCACb4xEuQ/uCWe2dsb2JhbACDFJhCFQEBCwsiBhyiZ4hekSCEH24Eg0U
X-IronPort-AV: E=Sophos;i="4.52,202,1270425600"; d="scan'208,217";a="5549108"
Received: from ams-core-1.cisco.com ([144.254.224.150]) by ams-iport-2.cisco.com with ESMTP; 14 Apr 2010 05:29:13 +0000
Received: from dhcp-10-55-82-33.cisco.com (dhcp-10-55-82-33.cisco.com [10.55.82.33]) by ams-core-1.cisco.com (8.13.8/8.14.3) with ESMTP id o3E652R7027508 for <oauth@ietf.org>; Wed, 14 Apr 2010 06:05:02 GMT
Message-ID: <4BC55B0D.208@cisco.com>
Date: Wed, 14 Apr 2010 08:05:01 +0200
From: Eliot Lear <lear@cisco.com>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.4pre) Gecko/20100413 Lanikai/3.1b2pre
MIME-Version: 1.0
To: OAuth WG <oauth@ietf.org>
Content-Type: multipart/alternative; boundary="------------070205030708030204040805"
Subject: [OAUTH-WG] token sizes and other, as discussed in Section 3.2
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Apr 2010 06:05:11 -0000

This is a multi-part message in MIME format.
--------------070205030708030204040805
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

  It would seem to me that the purpose of this specification should be 
to reduce the amount of work implementers have to do, in order to 
actually have functioning interoperable systems.  Otherwise, why even 
bother with any of this, and why not simply have each server hand out an 
SDK?  It seems to me that you want THIS document to specify as MUCH as 
possible, so that server documentation can specify as LITTLE as 
necessary to get things working.  Otherwise library implementations 
become complex and implementations become error prone, which in this 
case means prone to security problems.

This to me means that Section 3.2 needs rewording.

Eliot

--------------070205030708030204040805
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    <font face="Times">It would seem to me that the purpose of this
      specification should be to reduce the amount of work implementers
      have to do, in order to actually have functioning interoperable
      systems.Â  Otherwise, why even bother with any of this, and why not
      simply have each server hand out an SDK?Â  It seems to me that you
      want THIS document to specify as MUCH as possible, so that server
      documentation can specify as LITTLE as necessary to get things
      working.Â  Otherwise library implementations become complex and
      implementations become error prone, which in this case means prone
      to security problems.<br>
      <br>
      This to me means that Section 3.2 needs rewording.<br>
      <br>
      Eliot<br>
    </font>
  </body>
</html>

--------------070205030708030204040805--

From recordond@gmail.com  Tue Apr 13 23:13:22 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A5C7E28C240 for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 23:13:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id n-tGfJkQkrfF for <oauth@core3.amsl.com>; Tue, 13 Apr 2010 23:13:21 -0700 (PDT)
Received: from mail-iw0-f189.google.com (mail-iw0-f189.google.com [209.85.223.189]) by core3.amsl.com (Postfix) with ESMTP id 3ADC828C1B6 for <oauth@ietf.org>; Tue, 13 Apr 2010 23:13:21 -0700 (PDT)
Received: by iwn27 with SMTP id 27so6197970iwn.5 for <oauth@ietf.org>; Tue, 13 Apr 2010 23:13:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=HSsn5YBC0Hzr5ey6lfD6RSRf4F6bSIhotD3y0AMolRM=; b=NrUqgie8YxMeszageDP0K3zGRzYsJuMEgHPhYXS4PtkRgUQ2jQPdw14YuomR5mTUii PbpJESWqUuE7YpmfacQgtsxv3TuFUaY4tq1G1ZUkSfzbUZgFCof/Keexr8nnq9HRMXLO c8A1cBycO9ffy/oJZ8FhEnlfk1XLYaUVBCvks=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=NvtbgNLFrlD+i8kW4lYnvz/JpUxNcRFyFYbmpDzfymM49hdm/IlrfNNMjKBxo3TMzR G+fPYl+wpbhT3+WMTozS3DIrpOf1/NHMjWDchtvdIHMQ7/PctLdCddnnYmBzxnH896By C8fVd4JSt+hTlhbGO291zIY2Ym4nTdIu3ADjU=
MIME-Version: 1.0
Received: by 10.231.183.18 with HTTP; Tue, 13 Apr 2010 23:13:12 -0700 (PDT)
In-Reply-To: <4BC55B0D.208@cisco.com>
References: <4BC55B0D.208@cisco.com>
Date: Tue, 13 Apr 2010 23:13:12 -0700
Received: by 10.231.190.5 with SMTP id dg5mr398710ibb.44.1271225592474; Tue,  13 Apr 2010 23:13:12 -0700 (PDT)
Message-ID: <q2sfd6741651004132313taf14e6e3q445418be62ae9c65@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Eliot Lear <lear@cisco.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] token sizes and other, as discussed in Section 3.2
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Apr 2010 06:13:22 -0000

Hey Elliot,
Have some text to propose?

Thanks,
--David


On Tue, Apr 13, 2010 at 11:05 PM, Eliot Lear <lear@cisco.com> wrote:
> It would seem to me that the purpose of this specification should be to
> reduce the amount of work implementers have to do, in order to actually h=
ave
> functioning interoperable systems.=A0 Otherwise, why even bother with any=
 of
> this, and why not simply have each server hand out an SDK?=A0 It seems to=
 me
> that you want THIS document to specify as MUCH as possible, so that serve=
r
> documentation can specify as LITTLE as necessary to get things working.
> Otherwise library implementations become complex and implementations beco=
me
> error prone, which in this case means prone to security problems.
>
> This to me means that Section 3.2 needs rewording.
>
> Eliot
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

From jbemmel@zonnet.nl  Wed Apr 14 00:15:32 2010
Return-Path: <jbemmel@zonnet.nl>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1194F3A6953 for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 00:15:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.503
X-Spam-Level: 
X-Spam-Status: No, score=-0.503 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_NL=0.55, HOST_EQ_NL=1.545, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0I35oEDfp-CG for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 00:15:30 -0700 (PDT)
Received: from smtp8.versatel.nl (smtp8.versatel.nl [62.58.50.100]) by core3.amsl.com (Postfix) with ESMTP id 66EE73A690D for <oauth@ietf.org>; Wed, 14 Apr 2010 00:15:30 -0700 (PDT)
Received: (qmail 12462 invoked by uid 0); 14 Apr 2010 07:15:21 -0000
Received: from ip160-34-212-87.adsl2.static.versatel.nl (HELO [192.168.1.5]) ([87.212.34.160]) (envelope-sender <jbemmel@zonnet.nl>) by smtp8.versatel.nl (qmail-ldap-1.03) with SMTP for < >; 14 Apr 2010 07:15:21 -0000
Message-ID: <4BC56B85.3000303@zonnet.nl>
Date: Wed, 14 Apr 2010 09:15:17 +0200
From: Jeroen van Bemmel <jbemmel@zonnet.nl>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <C7E9DA3B.321F0%eran@hueniverse.com>
In-Reply-To: <C7E9DA3B.321F0%eran@hueniverse.com>
Content-Type: multipart/alternative; boundary="------------040900040203080607030206"
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Cache-control for Authorization server
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Apr 2010 07:15:32 -0000

This is a multi-part message in MIME format.
--------------040900040203080607030206
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Since HTTPS is used, intermediate proxies aren't a problem. However, a 
browser might store the response containing the token in "Temporary 
Internet files" or similar locations, and rich clients often use the 
same HTTP libraries as the browser. Since the server cannot make any 
assumptions about which software is being used on the client side, we 
have to assume the worst - hence 'MUST' to reduce the chance of tokens 
being exposed to other programs / malware running on the same machine

Of course this still does not guarantee that tokens don't get 
stored/cached in insecure places, but it reduces the likelihood.

Regards,
Jeroen

On 13-4-2010 17:22, Eran Hammer-Lahav wrote:
> Is this really a MUST?
>
> EHL
>
>
> On 4/13/10 7:23 AM, "jbemmel@zonnet.nl" <jbemmel@zonnet.nl> wrote:
>
>     All,
>
>     I think the draft should explicitly state that the Authorization
>     server
>     MUST use Cache-Control: no-store on all responses that contain tokens
>     or other sensitive information, since this is critical to the security
>     properties of the protocol
>
>     Regards,
>     Jeroen
>     _______________________________________________
>     OAuth mailing list
>     OAuth@ietf.org
>     https://www.ietf.org/mailman/listinfo/oauth
>

--------------040900040203080607030206
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Since HTTPS is used, intermediate proxies aren't a problem. However, a
browser might store the response containing the token in "Temporary
Internet files" or similar locations, and rich clients often use the
same HTTP libraries as the browser. Since the server cannot make any
assumptions about which software is being used on the client side, we
have to assume the worst - hence 'MUST' to reduce the chance of tokens
being exposed to other programs / malware running on the same machine<br>
<br>
Of course this still does not guarantee that tokens don't get
stored/cached in insecure places, but it reduces the likelihood. <br>
<br>
Regards,<br>
Jeroen<br>
<br>
On 13-4-2010 17:22, Eran Hammer-Lahav wrote:
<blockquote cite="mid:C7E9DA3B.321F0%25eran@hueniverse.com" type="cite">
  <title>Re: [OAUTH-WG] Cache-control for Authorization server</title>
  <font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;">Is this really a MUST? <br>
  <br>
EHL<br>
  <br>
  <br>
On 4/13/10 7:23 AM, "<a moz-do-not-send="true" href="jbemmel@zonnet.nl">jbemmel@zonnet.nl</a>"
&lt;<a moz-do-not-send="true" href="jbemmel@zonnet.nl">jbemmel@zonnet.nl</a>&gt;
wrote:<br>
  <br>
  </span></font>
  <blockquote><font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;">All,<br>
    <br>
I think the draft should explicitly state that the Authorization server<br>
MUST use Cache-Control: no-store on all responses that contain tokens<br>
or other sensitive information, since this is critical to the security<br>
properties of the protocol<br>
    <br>
Regards,<br>
Jeroen<br>
_______________________________________________<br>
OAuth mailing list<br>
    <a moz-do-not-send="true" href="OAuth@ietf.org">OAuth@ietf.org</a><br>
    <a moz-do-not-send="true"
 href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a><br>
    <br>
    </span></font></blockquote>
</blockquote>
</body>
</html>

--------------040900040203080607030206--

From rbarnes@bbn.com  Wed Apr 14 00:20:38 2010
Return-Path: <rbarnes@bbn.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 681DF3A694D for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 00:20:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.093
X-Spam-Level: 
X-Spam-Status: No, score=-2.093 tagged_above=-999 required=5 tests=[AWL=0.506,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UVWleOz717xM for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 00:20:31 -0700 (PDT)
Received: from smtp.bbn.com (smtp.bbn.com [128.33.0.80]) by core3.amsl.com (Postfix) with ESMTP id CA0D23A6819 for <oauth@ietf.org>; Wed, 14 Apr 2010 00:19:46 -0700 (PDT)
Received: from [128.89.252.171] (port=49927 helo=[192.168.1.82]) by smtp.bbn.com with esmtp (Exim 4.71 (FreeBSD)) (envelope-from <rbarnes@bbn.com>) id 1O1wsf-000Nvz-Cn; Wed, 14 Apr 2010 03:19:26 -0400
Message-Id: <2C9734CD-B63A-43D0-9C0F-7AB996728613@bbn.com>
From: Richard Barnes <rbarnes@bbn.com>
To: Jeroen van Bemmel <jbemmel@zonnet.nl>
In-Reply-To: <4BC56B85.3000303@zonnet.nl>
Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (Apple Message framework v936)
Date: Wed, 14 Apr 2010 10:19:21 +0300
References: <C7E9DA3B.321F0%eran@hueniverse.com> <4BC56B85.3000303@zonnet.nl>
X-Mailer: Apple Mail (2.936)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Cache-control for Authorization server
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Apr 2010 07:20:38 -0000

This argument makes sense to me.

EHL: Do you have an exception in mind?



On Apr 14, 2010, at 10:15 AM, Jeroen van Bemmel wrote:

> Since HTTPS is used, intermediate proxies aren't a problem. However,  
> a browser might store the response containing the token in  
> "Temporary Internet files" or similar locations, and rich clients  
> often use the same HTTP libraries as the browser. Since the server  
> cannot make any assumptions about which software is being used on  
> the client side, we have to assume the worst - hence 'MUST' to  
> reduce the chance of tokens being exposed to other programs /  
> malware running on the same machine
>
> Of course this still does not guarantee that tokens don't get stored/ 
> cached in insecure places, but it reduces the likelihood.
>
> Regards,
> Jeroen
>
> On 13-4-2010 17:22, Eran Hammer-Lahav wrote:
>>
>> Is this really a MUST?
>>
>> EHL
>>
>>
>> On 4/13/10 7:23 AM, "jbemmel@zonnet.nl" <jbemmel@zonnet.nl> wrote:
>>
>> All,
>>
>> I think the draft should explicitly state that the Authorization  
>> server
>> MUST use Cache-Control: no-store on all responses that contain tokens
>> or other sensitive information, since this is critical to the  
>> security
>> properties of the protocol
>>
>> Regards,
>> Jeroen
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From eran@hueniverse.com  Wed Apr 14 01:07:07 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 395EA3A6AC2 for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 01:07:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.438
X-Spam-Level: 
X-Spam-Status: No, score=-2.438 tagged_above=-999 required=5 tests=[AWL=0.161,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xdgzwVbM4PXX for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 01:07:06 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 18F4B3A69D3 for <oauth@ietf.org>; Wed, 14 Apr 2010 01:07:02 -0700 (PDT)
Received: (qmail 2594 invoked from network); 14 Apr 2010 08:06:56 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 14 Apr 2010 08:06:56 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Wed, 14 Apr 2010 01:06:56 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Richard Barnes <rbarnes@bbn.com>
Date: Wed, 14 Apr 2010 01:06:41 -0700
Thread-Topic: [OAUTH-WG] Cache-control for Authorization server
Thread-Index: AcrbqXMoixrhLx1WSqa+DM6Q1crslQ==
Message-ID: <BF51A41D-3E5E-413E-912F-B3F8E8D9D043@hueniverse.com>
References: <C7E9DA3B.321F0%eran@hueniverse.com> <4BC56B85.3000303@zonnet.nl> <2C9734CD-B63A-43D0-9C0F-7AB996728613@bbn.com>
In-Reply-To: <2C9734CD-B63A-43D0-9C0F-7AB996728613@bbn.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Cache-control for Authorization server
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Apr 2010 08:07:07 -0000

Nope. Since HTTPS is a SHOULD I just wanted to ask. I'll add it.

EHL

On Apr 14, 2010, at 10:19, "Richard Barnes" <rbarnes@bbn.com> wrote:

> This argument makes sense to me.
>
> EHL: Do you have an exception in mind?
>
>
>
> On Apr 14, 2010, at 10:15 AM, Jeroen van Bemmel wrote:
>
>> Since HTTPS is used, intermediate proxies aren't a problem. However,
>> a browser might store the response containing the token in
>> "Temporary Internet files" or similar locations, and rich clients
>> often use the same HTTP libraries as the browser. Since the server
>> cannot make any assumptions about which software is being used on
>> the client side, we have to assume the worst - hence 'MUST' to
>> reduce the chance of tokens being exposed to other programs /
>> malware running on the same machine
>>
>> Of course this still does not guarantee that tokens don't get stored/
>> cached in insecure places, but it reduces the likelihood.
>>
>> Regards,
>> Jeroen
>>
>> On 13-4-2010 17:22, Eran Hammer-Lahav wrote:
>>>
>>> Is this really a MUST?
>>>
>>> EHL
>>>
>>>
>>> On 4/13/10 7:23 AM, "jbemmel@zonnet.nl" <jbemmel@zonnet.nl> wrote:
>>>
>>> All,
>>>
>>> I think the draft should explicitly state that the Authorization
>>> server
>>> MUST use Cache-Control: no-store on all responses that contain =20
>>> tokens
>>> or other sensitive information, since this is critical to the
>>> security
>>> properties of the protocol
>>>
>>> Regards,
>>> Jeroen
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>

From lear@cisco.com  Wed Apr 14 02:52:32 2010
Return-Path: <lear@cisco.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2D66A3A6BBB for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 02:52:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.529
X-Spam-Level: 
X-Spam-Status: No, score=-7.529 tagged_above=-999 required=5 tests=[AWL=3.069,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3H4nPz636RbL for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 02:52:31 -0700 (PDT)
Received: from ams-iport-1.cisco.com (ams-iport-1.cisco.com [144.254.224.140]) by core3.amsl.com (Postfix) with ESMTP id 8A15728C1D1 for <oauth@ietf.org>; Wed, 14 Apr 2010 02:50:24 -0700 (PDT)
Authentication-Results: ams-iport-1.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AgcCAOMsxUuQ/uCWe2dsb2JhbACDFJhDFQEBCwsiBhyjO4hekQ2EH24E
X-IronPort-AV: E=Sophos;i="4.52,203,1270425600"; d="scan'208,217";a="59385448"
Received: from ams-core-1.cisco.com ([144.254.224.150]) by ams-iport-1.cisco.com with ESMTP; 14 Apr 2010 09:50:17 +0000
Received: from dhcp-10-55-82-33.cisco.com (dhcp-10-55-82-33.cisco.com [10.55.82.33]) by ams-core-1.cisco.com (8.13.8/8.14.3) with ESMTP id o3E9oHbq023937; Wed, 14 Apr 2010 09:50:17 GMT
Message-ID: <4BC58FD8.9000808@cisco.com>
Date: Wed, 14 Apr 2010 11:50:16 +0200
From: Eliot Lear <lear@cisco.com>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.4pre) Gecko/20100413 Lanikai/3.1b2pre
MIME-Version: 1.0
To: David Recordon <recordond@gmail.com>
References: <4BC55B0D.208@cisco.com> <q2sfd6741651004132313taf14e6e3q445418be62ae9c65@mail.gmail.com>
In-Reply-To: <q2sfd6741651004132313taf14e6e3q445418be62ae9c65@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------030000020108010400030104"
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] token sizes and other, as discussed in Section 3.2
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Apr 2010 09:52:32 -0000

This is a multi-part message in MIME format.
--------------030000020108010400030104
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 4/14/10 8:13 AM, David Recordon wrote:
> Hey Eliot,
> Have some text to propose?

Not yet.  I'd suggest talking about the problem a bit more first.  
Would, for instance, specifying a basic TLV encoding prove at all 
useful?  Here's one throw one more thing to throw into the mix.  Were 
this a SERVER, it could return a 414 and at least you'd have some vague 
notion as to a length problem.  How does a client report an error to a 
server?

Eliot

--------------030000020108010400030104
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    <br>
    On 4/14/10 8:13 AM, David Recordon wrote:
    <blockquote
cite="mid:q2sfd6741651004132313taf14e6e3q445418be62ae9c65@mail.gmail.com"
      type="cite">
      <pre wrap="">Hey Eliot,
Have some text to propose?
</pre>
    </blockquote>
    <font face="Times New Roman, Times, serif"><br>
      Not yet.Â  I'd suggest talking about the problem a bit more first.Â 
      Would, for instance, specifying a basic TLV encoding prove at all
      useful?Â  Here's one throw one more thing to throw into the mix.Â 
      Were this a SERVER, it could return a 414 and at least you'd have
      some vague notion as to a length problem.Â  How does a client
      report an error to a server?<br>
      <br>
      Eliot</font><br>
  </body>
</html>

--------------030000020108010400030104--

From lshepard@facebook.com  Wed Apr 14 07:44:41 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id F234528C1C4 for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 07:44:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.724
X-Spam-Level: 
X-Spam-Status: No, score=-2.724 tagged_above=-999 required=5 tests=[AWL=-0.060, BAYES_00=-2.599, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, J_CHICKENPOX_55=0.6, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hbRR+rxzWPSM for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 07:44:34 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 8F4D23A6845 for <oauth@ietf.org>; Wed, 14 Apr 2010 07:44:34 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.212]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3EEhjVB024547 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT) for <oauth@ietf.org>; Wed, 14 Apr 2010 07:43:52 -0700
Received: from sc-hub06.TheFacebook.com (192.168.18.83) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.682.1; Wed, 14 Apr 2010 07:44:19 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub06.TheFacebook.com ([192.168.18.83]) with mapi; Wed, 14 Apr 2010 07:44:05 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Luke Shepard <lshepard@facebook.com>, OAuth WG <oauth@ietf.org>
Date: Wed, 14 Apr 2010 07:44:00 -0700
Thread-Topic: Combining the Native application and User-agent flows
Thread-Index: AcrbSOv7/3qks4dxQxm/hPfOFaFQrQAl5xRA
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66DB5D@SC-MBXC1.TheFacebook.com>
References: <2513A610118CC14C8E622C376C8DEC93D54D66DB15@SC-MBXC1.TheFacebook.com>
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DB15@SC-MBXC1.TheFacebook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_2513A610118CC14C8E622C376C8DEC93D54D66DB5DSCMBXC1TheFac_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-14_09:2010-02-06, 2010-04-14, 2010-04-14 signatures=0
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Apr 2010 14:44:41 -0000

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DB5DSCMBXC1TheFac_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Anyone have feedback on this?

Sorry to push - we are in the midst of implementing this on a short timelin=
e and it's important that we have clarity about the different flows. As it =
currently stands, I would not support the "Native Application Flow" and wou=
ld instead tell desktop developers to use the "User-Agent Flow". But that i=
s confusing and it would obviously be better if the flows were named correc=
tly.

Can someone persuade me otherwise?

From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of L=
uke Shepard
Sent: Tuesday, April 13, 2010 1:36 PM
To: OAuth WG
Subject: [OAUTH-WG] Combining the Native application and User-agent flows

In the latest draft of the OAuth 2.0 spec, there are four "User Delegation"=
 flows:

3.4.1   Web Callback Flow
3.4.2   Native Application Flow
3.4.3   User-Agent Flow
3.4.4   Device Flow

The Native Application and the User-Agent flows should be combined into one=
 flow. The combined flow works for all client-side code. This is how it was=
 in David's original draft; I'd love some help understanding why it was sep=
arated again.

>From the draft:

The native flow is intended for desktop applications where "the client is c=
apable of interacting with the end user's user-agent but is incapable of re=
ceiving callback requests from the server (incapable of acting as an HTTP s=
erver) ... instead of using a callback to deliver the verification code to =
the client, the authorization server displays the verification code to the =
end user via its user-agent.  If the client is able to interact with the us=
er-agent, it retrieves the verification code automatically.  Otherwise, the=
 end user manually enters the verification code into a client dialog."

So the flow is:

1/ User goes to oauth/authorize endpoint.
2/ Server displays a page that says something like "We are done here" and p=
uts a code in the title.
3/ Desktop app makes a call to exchange the code for an access token, and c=
loses the window.
4/ App uses access token.


A simpler flow, which works for Desktop as well as Javascript apps, is:

1/ User goes to oauth/authorize endpoint.
2/ Server authorizes, then redirects to the callback url .. something like =
about:blank#access_token=3Dblahblahblah
3/ App uses access token.

At Facebook we have a lot of experience integrating with desktop apps. (i.e=
., Facebook for Adobe Air, Seesmic, Tweetdeck, iPhoto). In my experience, n=
one of the desktop apps like to show a code that the user then enters into =
the app. Instead, apps typically receive the session (access token) directl=
y in the response url. They can either use a URL on their domain, or a fake=
 URL like about:blank, or an endpoint provided by Facebook (/connect/login_=
success.html). More info: http://wiki.developers.facebook.com/index.php/Aut=
horization_and_Authentication_for_Desktop_Applications

The access token never goes over the wire (it's in the fragment even if the=
 url is legit) and the desktop app gets a more well-formatted response.

I just don't get the point of the hacky code-in-html style. Can someone poi=
nt me to a place where this is in widespread use today?


--_000_2513A610118CC14C8E622C376C8DEC93D54D66DB5DSCMBXC1TheFac_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Courier;
	panose-1:2 7 4 9 2 2 5 2 4 4;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
span.EmailStyle18
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><span style=3D'color:#1F497D'>Anyone have feedback on =
this?<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span>=
</p>

<p class=3DMsoNormal><span style=3D'color:#1F497D'>Sorry to push &#8211; we=
 are in the
midst of implementing this on a short timeline and it&#8217;s important tha=
t we have
clarity about the different flows. As it currently stands, I would not supp=
ort
the &#8220;Native Application Flow&#8221; and would instead tell desktop de=
velopers to use
the &#8220;User-Agent Flow&#8221;. But that is confusing and it would obvio=
usly be better
if the flows were named correctly.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span>=
</p>

<p class=3DMsoNormal><span style=3D'color:#1F497D'>Can someone persuade me =
otherwise?<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span>=
</p>

<div>

<div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in'>

<p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma=
","sans-serif"'>From:</span></b><span
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] <b>On Behalf Of </b>=
Luke
Shepard<br>
<b>Sent:</b> Tuesday, April 13, 2010 1:36 PM<br>
<b>To:</b> OAuth WG<br>
<b>Subject:</b> [OAUTH-WG] Combining the Native application and User-agent
flows<o:p></o:p></span></p>

</div>

</div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

<p class=3DMsoNormal style=3D'line-height:17.0pt;text-autospace:none'><span
style=3D'font-size:12.0pt;font-family:Courier'>In the latest draft of the O=
Auth
2.0 spec, there are four &#8220;User Delegation&#8221; flows:<o:p></o:p></s=
pan></p>

<p class=3DMsoNormal style=3D'line-height:17.0pt;text-autospace:none'><span
style=3D'font-size:12.0pt;font-family:Courier'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal style=3D'line-height:17.0pt;text-autospace:none'><span
style=3D'font-size:12.0pt;font-family:Courier'>3.4.1&nbsp;&nbsp; Web Callba=
ck
Flow<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'line-height:17.0pt;text-autospace:none'><span
style=3D'font-size:12.0pt;font-family:Courier'>3.4.2&nbsp;&nbsp; Native
Application Flow<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'line-height:17.0pt;text-autospace:none'><span
style=3D'font-size:12.0pt;font-family:Courier'>3.4.3 &nbsp;&nbsp;User-Agent=
 Flow<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'line-height:17.0pt;text-autospace:none'><span
style=3D'font-size:12.0pt;font-family:Courier'>3.4.4&nbsp;&nbsp; Device Flo=
w<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'line-height:17.0pt;text-autospace:none'><span
style=3D'font-size:12.0pt;font-family:Courier'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>T=
he
Native Application and the User-Agent flows should be combined into one flo=
w.
The combined flow works for all client-side code. This is how it was in Dav=
id&#8217;s
original draft; I&#8217;d love some help understanding why it was separated=
 again.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'><=
o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal style=3D'line-height:17.0pt;text-autospace:none'><span
style=3D'font-size:12.0pt;font-family:Courier'>From the draft:<o:p></o:p></=
span></p>

<p class=3DMsoNormal style=3D'line-height:17.0pt;text-autospace:none'><span
style=3D'font-size:12.0pt;font-family:Courier'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal style=3D'line-height:17.0pt;text-autospace:none'><span
style=3D'font-size:12.0pt;font-family:Courier'>The native flow is intended =
for
desktop applications where &#8220;the client is capable of interacting with=
 the end
user's user-agent but is incapable of receiving callback requests from the
server (incapable of acting as an HTTP server) ... instead of using a callb=
ack
to deliver the verification code to the client, the authorization server
displays the verification code to the end user via its user-agent.&nbsp; If=
 the
client is able to interact with the user-agent, it retrieves the verificati=
on
code automatically.&nbsp; Otherwise, the end user manually enters the
verification code into a client dialog.&#8221;<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'><=
o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>S=
o the
flow is:<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'><=
o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>1=
/ User
goes to oauth/authorize endpoint.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>2=
/ Server
displays a page that says something like &#8220;We are done here&#8221; and=
 puts a code in
the title.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>3=
/
Desktop app makes a call to exchange the code for an access token, and clos=
es
the window.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>4=
/ App
uses access token.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'><=
o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'><=
br>
A simpler flow, which works for Desktop as well as Javascript apps, is:<o:p=
></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'><=
o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>1=
/ User
goes to oauth/authorize endpoint.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>2=
/ Server
authorizes, then redirects to the callback url .. something like
about:blank#access_token=3Dblahblahblah<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>3=
/ App
uses access token.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'><=
o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>A=
t
Facebook we have a lot of experience integrating with desktop apps. (i.e.,
Facebook for Adobe Air, Seesmic, Tweetdeck, iPhoto). In my experience, none=
 of
the desktop apps like to show a code that the user then enters into the app=
.
Instead, apps typically receive the session (access token) directly in the
response url. They can either use a URL on their domain, or a fake URL like
about:blank, or an endpoint provided by Facebook (/connect/login_success.ht=
ml).
More info: <a
href=3D"http://wiki.developers.facebook.com/index.php/Authorization_and_Aut=
hentication_for_Desktop_Applications">http://wiki.developers.facebook.com/i=
ndex.php/Authorization_and_Authentication_for_Desktop_Applications</a><o:p>=
</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'><=
o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>T=
he
access token never goes over the wire (it&#8217;s in the fragment even if t=
he url is
legit) and the desktop app gets a more well-formatted response.<o:p></o:p><=
/span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'><=
o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:12.0pt;font-family:Courier'>I=
 just
don&#8217;t get the point of the hacky code-in-html style. Can someone poin=
t me to a
place where this is in widespread use today?<o:p></o:p></span></p>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

</div>

</body>

</html>

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DB5DSCMBXC1TheFac_--

From cmortimore@salesforce.com  Wed Apr 14 10:01:08 2010
Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 473D43A697D for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 10:01:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.112
X-Spam-Level: 
X-Spam-Status: No, score=-6.112 tagged_above=-999 required=5 tests=[AWL=-0.114, BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_55=0.6, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id N5HkaYE+embN for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 10:01:01 -0700 (PDT)
Received: from exprod8og118.obsmtp.com (exprod8og118.obsmtp.com [64.18.3.36]) by core3.amsl.com (Postfix) with SMTP id D941028C1D1 for <oauth@ietf.org>; Wed, 14 Apr 2010 10:01:00 -0700 (PDT)
Received: from source ([204.14.239.239]) by exprod8ob118.postini.com ([64.18.7.12]) with SMTP ID DSNKS8X0xr+jkTFB9bG+mdTSYCDMJm/Mzh/t@postini.com; Wed, 14 Apr 2010 10:00:55 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub4.internal.salesforce.com ([10.1.127.8]) with mapi; Wed, 14 Apr 2010 10:00:54 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: Luke Shepard <lshepard@facebook.com>, OAuth WG <oauth@ietf.org>
Date: Wed, 14 Apr 2010 10:00:52 -0700
Thread-Topic: [OAUTH-WG] Combining the Native application and User-agent flows
Thread-Index: AcrbSOv7/3qks4dxQxm/hPfOFaFQrQAl5xRAAATgbo4=
Message-ID: <C7EB42D4.3885%cmortimore@salesforce.com>
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DB5D@SC-MBXC1.TheFacebook.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7EB42D43885cmortimoresalesforcecom_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Apr 2010 17:01:08 -0000

--_000_C7EB42D43885cmortimoresalesforcecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

+1, at least for changing the wording of the current flows to deal with Nat=
ive applications capable of various callback mechanisms.

That's the gist of this thread: http://www.ietf.org/mail-archive/web/oauth/=
current/msg01779.html

-cmort

On 4/14/10 7:44 AM, "Luke Shepard" <lshepard@facebook.com> wrote:

Anyone have feedback on this?

Sorry to push - we are in the midst of implementing this on a short timelin=
e and it's important that we have clarity about the different flows. As it =
currently stands, I would not support the "Native Application Flow" and wou=
ld instead tell desktop developers to use the "User-Agent Flow". But that i=
s confusing and it would obviously be better if the flows were named correc=
tly.

Can someone persuade me otherwise?


From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of L=
uke Shepard
Sent: Tuesday, April 13, 2010 1:36 PM
To: OAuth WG
Subject: [OAUTH-WG] Combining the Native application and User-agent flows

In the latest draft of the OAuth 2.0 spec, there are four "User Delegation"=
 flows:

3.4.1   Web Callback Flow
3.4.2   Native Application Flow
3.4.3   User-Agent Flow
3.4.4   Device Flow

The Native Application and the User-Agent flows should be combined into one=
 flow. The combined flow works for all client-side code. This is how it was=
 in David's original draft; I'd love some help understanding why it was sep=
arated again.

>From the draft:

The native flow is intended for desktop applications where "the client is c=
apable of interacting with the end user's user-agent but is incapable of re=
ceiving callback requests from the server (incapable of acting as an HTTP s=
erver) ... instead of using a callback to deliver the verification code to =
the client, the authorization server displays the verification code to the =
end user via its user-agent.  If the client is able to interact with the us=
er-agent, it retrieves the verification code automatically.  Otherwise, the=
 end user manually enters the verification code into a client dialog."

So the flow is:

1/ User goes to oauth/authorize endpoint.
2/ Server displays a page that says something like "We are done here" and p=
uts a code in the title.
3/ Desktop app makes a call to exchange the code for an access token, and c=
loses the window.
4/ App uses access token.


A simpler flow, which works for Desktop as well as Javascript apps, is:

1/ User goes to oauth/authorize endpoint.
2/ Server authorizes, then redirects to the callback url .. something like =
about:blank#access_token=3Dblahblahblah
3/ App uses access token.

At Facebook we have a lot of experience integrating with desktop apps. (i.e=
., Facebook for Adobe Air, Seesmic, Tweetdeck, iPhoto). In my experience, n=
one of the desktop apps like to show a code that the user then enters into =
the app. Instead, apps typically receive the session (access token) directl=
y in the response url. They can either use a URL on their domain, or a fake=
 URL like about:blank, or an endpoint provided by Facebook (/connect/login_=
success.html). More info: http://wiki.developers.facebook.com/index.php/Aut=
horization_and_Authentication_for_Desktop_Applications

The access token never goes over the wire (it's in the fragment even if the=
 url is legit) and the desktop app gets a more well-formatted response.

I just don't get the point of the hacky code-in-html style. Can someone poi=
nt me to a place where this is in widespread use today?



--_000_C7EB42D43885cmortimoresalesforcecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Combining the Native application and User-agent flows=
</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'>+1, at least fo=
r changing the wording of the current flows to deal with Native application=
s capable of various callback mechanisms. &nbsp;&nbsp;&nbsp;<BR>
<BR>
That&#8217;s the gist of this thread: <a href=3D"http://www.ietf.org/mail-a=
rchive/web/oauth/current/msg01779.html">http://www.ietf.org/mail-archive/we=
b/oauth/current/msg01779.html</a><BR>
<BR>
-cmort<BR>
<BR>
On 4/14/10 7:44 AM, &quot;Luke Shepard&quot; &lt;<a href=3D"lshepard@facebo=
ok.com">lshepard@facebook.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-=
size:11pt'><FONT COLOR=3D"#1F497D">Anyone have feedback on this?<BR>
&nbsp;<BR>
Sorry to push &#8211; we are in the midst of implementing this on a short t=
imeline and it&#8217;s important that we have clarity about the different f=
lows. As it currently stands, I would not support the &#8220;Native Applica=
tion Flow&#8221; and would instead tell desktop developers to use the &#822=
0;User-Agent Flow&#8221;. But that is confusing and it would obviously be b=
etter if the flows were named correctly.<BR>
&nbsp;<BR>
Can someone persuade me otherwise?<BR>
&nbsp;<BR>
</FONT><BR>
</SPAN><FONT SIZE=3D"2"><SPAN STYLE=3D'font-size:10pt'><B>From:</B> <a href=
=3D"oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> [<a href=3D"mailto:o=
auth-bounces@ietf.org">mailto:oauth-bounces@ietf.org</a>] <B>On Behalf Of <=
/B>Luke Shepard<BR>
<B>Sent:</B> Tuesday, April 13, 2010 1:36 PM<BR>
<B>To:</B> OAuth WG<BR>
<B>Subject:</B> [OAUTH-WG] Combining the Native application and User-agent =
flows<BR>
</SPAN></FONT><SPAN STYLE=3D'font-size:11pt'> <BR>
</SPAN></FONT><FONT FACE=3D"Courier, Courier New"><SPAN STYLE=3D'font-size:=
12pt'>In the latest draft of the OAuth 2.0 spec, there are four &#8220;User=
 Delegation&#8221; flows:<BR>
&nbsp;<BR>
3.4.1 &nbsp;&nbsp;Web Callback Flow<BR>
3.4.2 &nbsp;&nbsp;Native Application Flow<BR>
3.4.3 &nbsp;&nbsp;User-Agent Flow<BR>
3.4.4 &nbsp;&nbsp;Device Flow<BR>
&nbsp;<BR>
The Native Application and the User-Agent flows should be combined into one=
 flow. The combined flow works for all client-side code. This is how it was=
 in David&#8217;s original draft; I&#8217;d love some help understanding wh=
y it was separated again.<BR>
&nbsp;<BR>
>From the draft:<BR>
&nbsp;<BR>
The native flow is intended for desktop applications where &#8220;the clien=
t is capable of interacting with the end user's user-agent but is incapable=
 of receiving callback requests from the server (incapable of acting as an =
HTTP server) ... instead of using a callback to deliver the verification co=
de to the client, the authorization server displays the verification code t=
o the end user via its user-agent. &nbsp;If the client is able to interact =
with the user-agent, it retrieves the verification code automatically. &nbs=
p;Otherwise, the end user manually enters the verification code into a clie=
nt dialog.&#8221;<BR>
&nbsp;<BR>
So the flow is:<BR>
&nbsp;<BR>
1/ User goes to oauth/authorize endpoint.<BR>
2/ Server displays a page that says something like &#8220;We are done here&=
#8221; and puts a code in the title.<BR>
3/ Desktop app makes a call to exchange the code for an access token, and c=
loses the window.<BR>
4/ App uses access token.<BR>
&nbsp;<BR>
<BR>
A simpler flow, which works for Desktop as well as Javascript apps, is:<BR>
&nbsp;<BR>
1/ User goes to oauth/authorize endpoint.<BR>
2/ Server authorizes, then redirects to the callback url .. something like =
about:blank#access_token=3Dblahblahblah<BR>
3/ App uses access token.<BR>
&nbsp;<BR>
At Facebook we have a lot of experience integrating with desktop apps. (i.e=
., Facebook for Adobe Air, Seesmic, Tweetdeck, iPhoto). In my experience, n=
one of the desktop apps like to show a code that the user then enters into =
the app. Instead, apps typically receive the session (access token) directl=
y in the response url. They can either use a URL on their domain, or a fake=
 URL like about:blank, or an endpoint provided by Facebook (/connect/login_=
success.html). More info: <a href=3D"http://wiki.developers.facebook.com/in=
dex.php/Authorization_and_Authentication_for_Desktop_Applications">http://w=
iki.developers.facebook.com/index.php/Authorization_and_Authentication_for_=
Desktop_Applications</a><BR>
&nbsp;<BR>
The access token never goes over the wire (it&#8217;s in the fragment even =
if the url is legit) and the desktop app gets a more well-formatted respons=
e.<BR>
&nbsp;<BR>
I just don&#8217;t get the point of the hacky code-in-html style. Can someo=
ne point me to a place where this is in widespread use today?<BR>
</SPAN></FONT><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'> =
<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7EB42D43885cmortimoresalesforcecom_--

From lshepard@facebook.com  Wed Apr 14 10:38:09 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 074D53A681F; Wed, 14 Apr 2010 10:38:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.684
X-Spam-Level: 
X-Spam-Status: No, score=-1.684 tagged_above=-999 required=5 tests=[AWL=-1.089, BAYES_40=-0.185, FU_ENDS_2_WRDS=0.255, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AqgSxLktM+8G; Wed, 14 Apr 2010 10:38:00 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 4EDD528C107; Wed, 14 Apr 2010 10:37:57 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.198]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3EHbDbf003671 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Wed, 14 Apr 2010 10:37:13 -0700
Received: from sc-hub05.TheFacebook.com (192.168.18.82) by sc-hub03.TheFacebook.com (192.168.18.198) with Microsoft SMTP Server (TLS) id 14.0.682.1; Wed, 14 Apr 2010 10:36:48 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub05.TheFacebook.com ([192.168.18.82]) with mapi; Wed, 14 Apr 2010 10:32:53 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Chuck Mortimore <cmortimore@salesforce.com>, Eran Hammer-Lahav <eran@hueniverse.com>, OAuth WG <oauth@ietf.org>
Date: Wed, 14 Apr 2010 10:32:49 -0700
Thread-Topic: [OAUTH-WG] Native applications capable of handling callbacks
Thread-Index: AcrYIt9HqbEa8GrhW0eQRvN1PulFkwARc/duACAIQsAAw54l0A==
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66DB82@SC-MBXC1.TheFacebook.com>
References: <C7E5508A.32008%eran@hueniverse.com> <C7E62781.34EE%cmortimore@salesforce.com>
In-Reply-To: <C7E62781.34EE%cmortimore@salesforce.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_2513A610118CC14C8E622C376C8DEC93D54D66DB82SCMBXC1TheFac_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-14_12:2010-02-06, 2010-04-14, 2010-04-14 signatures=0
Cc: "apps-discuss@ietf.org" <apps-discuss@ietf.org>
Subject: Re: [OAUTH-WG] Native applications capable of handling callbacks
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Apr 2010 17:38:09 -0000

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DB82SCMBXC1TheFac_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Sorry, I missed this thread. It dovetails with my objections raised in the =
other thread ("Combining the native application and user-agent flows")

The question of whether OAuth should support custom URL protocols seems a b=
it academic. In practice, major providers will probably allow them if there=
 is demand from developers. The goal of this group is to establish a pragma=
tic, widely adopted authentication protocol - not to wage a IETF campaign a=
gainst browser vendors to force compliance to standards.

Additionally, in my email I laid out a few ways for an entirely client app =
to handle a callback without using custom protocols. For instance:

-          Use a scheme like "about:blank" (does that count as a custom sch=
eme or is it supported by the IETF?)

-          Host a static callback themselves. For many apps it's much easie=
r to host a single, static callback than a dynamic server endpoint.

-          Use a callback hosted by the provider (i.e., http://facebook.com=
/universal_callback

In practice, this is how desktop and mobile clients work to access Facebook=
 today. The Native Application flow is basically like  the third option abo=
ve (callback hosted by provider), but without the flexibility of the first =
two. We should just get rid of that flow and use the "User-agent" flow. (I =
would prefer something like "Client-side App flow" but I understand that th=
e naming here is pretty difficult)

From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of C=
huck Mortimore
Sent: Saturday, April 10, 2010 1:03 PM
To: Eran Hammer-Lahav; OAuth WG
Cc: apps-discuss@ietf.org
Subject: Re: [OAUTH-WG] Native applications capable of handling callbacks

While I agree it's a bit of an abusive practice, it is a pervasive one, and=
 I'm worried about our ability to actually change the behavior of these pla=
tforms ( Mozilla is in the list as well ).

So - it's a bit of a trade off.   I certainly don't want to add anything to=
 the spec that won't get approved.  On the other hand, pragmatically, I'm m=
ostly concerned with securing these devices and how my customer's credentia=
ls are used with them.    I know the pattern of usage emerged on-top of Oau=
th 1; I suspect it will emerge in Oauth2, so I'd be inclined to offer some =
guidance.

I'll defer to your advise on how best to handle it within the IETF and the =
spec...

-cmort


On 4/9/10 9:45 PM, "Eran Hammer-Lahav" <eran@hueniverse.com> wrote:
(+apps-discuss as this is of general interest to the area)

On 4/9/10 1:26 PM, "Chuck Mortimore" <cmortimore@salesforce.com> wrote:

> A number of the modern application platforms (Android, iPhone, iPad) have
> support for registering custom url schemes for native applications.    Th=
is
> allows them to receive callbacks from web browsers, without resorting to =
copy
> paste, or window title polling.    For instance, the authorization server=
 may
> redirect the devices browser to:
>
> HTTP/1.1 302 Found
> Location: myapp://oauth_callback?code=3Di1WsRn1uB1
>
> This results in the application launching and the URL being passed to it'=
s
> callback handler.
>
> There are a few issues I see with handling these in current form:
>
> * The Web Callback flow is not appropriate, as the client secret cannot b=
e
> secured
> * The Native Application flow best describes these types of clients, but
> doesn't handle the flow
> * The User Agent flow would likely work, but the description would lead
> implementers away from this, and I'd be concerned that the implementation=
s may
> gravitate towards handling cross domain javascript tunneling
>
> I believe all of the pieces are here to support this, but I'd be interest=
ed in
> seeing stronger guidance for implementers on how to handle these clients.
>
> - cmort

The first problem with including this approach in an IETF specification is
that it indirectly violates IETF standards, namely the rules governing how
new URI schemes should be discussed, approved, and registered. This is also
of interest to the W3C TAG.

The way this should probably be done is by registering a new URN scheme lik=
e
app which will look something like:

app:application_name:comma_delimited_parameters

With application_name either a domain-name-namespaced value (e.g.
app:microsoft.com:excel:parameters) or registry based.

But without such a mechanism (feel free to offer other ideas), to suggest i=
n
an IETF standard that developers should go and make up random URI schemes
for their clients is both bad policy and not likely to pass Last Call.

If this group has the appetite for such a feature, I would be happy to draf=
t
a very short proposal for such a new URN scheme, which we can then publish
separately or include in the OAuth spec.

In practice, until companies like Apple and Microsoft (the two leading OS
vendors), and Google (with Android) support such a generic application URN,
people will continue to do so. But if we propose a standard path, we can
then mention the "abusive" practice and declare it deprecated, pointing
people to the right way of doing it. That will help in getting adoption lon=
g
term.

Thoughts?

EHL


--_000_2513A610118CC14C8E622C376C8DEC93D54D66DB82SCMBXC1TheFac_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:x=3D"urn:schemas-microsoft-com:office:excel" xmlns:p=3D"urn:schemas-m=
icrosoft-com:office:powerpoint" xmlns:a=3D"urn:schemas-microsoft-com:office=
:access" xmlns:dt=3D"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s=3D"=
uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs=3D"urn:schemas-microsof=
t-com:rowset" xmlns:z=3D"#RowsetSchema" xmlns:b=3D"urn:schemas-microsoft-co=
m:office:publisher" xmlns:ss=3D"urn:schemas-microsoft-com:office:spreadshee=
t" xmlns:c=3D"urn:schemas-microsoft-com:office:component:spreadsheet" xmlns=
:odc=3D"urn:schemas-microsoft-com:office:odc" xmlns:oa=3D"urn:schemas-micro=
soft-com:office:activation" xmlns:html=3D"http://www.w3.org/TR/REC-html40" =
xmlns:q=3D"http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc=3D"http://m=
icrosoft.com/officenet/conferencing" xmlns:D=3D"DAV:" xmlns:Repl=3D"http://=
schemas.microsoft.com/repl/" xmlns:mt=3D"http://schemas.microsoft.com/share=
point/soap/meetings/" xmlns:x2=3D"http://schemas.microsoft.com/office/excel=
/2003/xml" xmlns:ppda=3D"http://www.passport.com/NameSpace.xsd" xmlns:ois=
=3D"http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir=3D"http://=
schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds=3D"http://www.w3=
.org/2000/09/xmldsig#" xmlns:dsp=3D"http://schemas.microsoft.com/sharepoint=
/dsp" xmlns:udc=3D"http://schemas.microsoft.com/data/udc" xmlns:xsd=3D"http=
://www.w3.org/2001/XMLSchema" xmlns:sub=3D"http://schemas.microsoft.com/sha=
repoint/soap/2002/1/alerts/" xmlns:ec=3D"http://www.w3.org/2001/04/xmlenc#"=
 xmlns:sp=3D"http://schemas.microsoft.com/sharepoint/" xmlns:sps=3D"http://=
schemas.microsoft.com/sharepoint/soap/" xmlns:xsi=3D"http://www.w3.org/2001=
/XMLSchema-instance" xmlns:udcs=3D"http://schemas.microsoft.com/data/udc/so=
ap" xmlns:udcxf=3D"http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udc=
p2p=3D"http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf=3D"http:/=
/schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss=3D"http://sche=
mas.microsoft.com/office/2006/digsig-setup" xmlns:dssi=3D"http://schemas.mi=
crosoft.com/office/2006/digsig" xmlns:mdssi=3D"http://schemas.openxmlformat=
s.org/package/2006/digital-signature" xmlns:mver=3D"http://schemas.openxmlf=
ormats.org/markup-compatibility/2006" xmlns:m=3D"http://schemas.microsoft.c=
om/office/2004/12/omml" xmlns:mrels=3D"http://schemas.openxmlformats.org/pa=
ckage/2006/relationships" xmlns:spwp=3D"http://microsoft.com/sharepoint/web=
partpages" xmlns:ex12t=3D"http://schemas.microsoft.com/exchange/services/20=
06/types" xmlns:ex12m=3D"http://schemas.microsoft.com/exchange/services/200=
6/messages" xmlns:pptsl=3D"http://schemas.microsoft.com/sharepoint/soap/Sli=
deLibrary/" xmlns:spsl=3D"http://microsoft.com/webservices/SharePointPortal=
Server/PublishedLinksService" xmlns:Z=3D"urn:schemas-microsoft-com:" xmlns:=
st=3D"&#1;" xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<title>Re: [OAUTH-WG] Native applications capable of handling callbacks</ti=
tle>
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:"Lucida Grande";
	panose-1:0 0 0 0 0 0 0 0 0 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:557472488;
	mso-list-type:hybrid;
	mso-list-template-ids:272143400 142877726 67698691 67698693 67698689 67698=
691 67698693 67698689 67698691 67698693;}
@list l0:level1
	{mso-level-start-at:0;
	mso-level-number-format:bullet;
	mso-level-text:-;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:"Calibri","sans-serif";
	mso-fareast-font-family:Calibri;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>Sorry, I missed this thread. It dovetails with my objections
raised in the other thread (&#8220;Combining the native application and use=
r-agent
flows&#8221;)<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>The question of whether OAuth should support custom URL
protocols seems a bit academic. In practice, major providers will probably
allow them if there is demand from developers. The goal of this group is to
establish a pragmatic, widely adopted authentication protocol &#8211; not t=
o wage a
IETF campaign against browser vendors to force compliance to standards.<o:p=
></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><br>
Additionally, in my email I laid out a few ways for an entirely client app =
to handle
a callback without using custom protocols. For instance:<o:p></o:p></span><=
/p>

<p class=3DMsoListParagraph style=3D'text-indent:-.25in;mso-list:l0 level1 =
lfo1'><![if !supportLists]><span
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'=
><span
style=3D'mso-list:Ignore'>-<span style=3D'font:7.0pt "Times New Roman"'>&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:11.0pt;font-family:=
"Calibri","sans-serif";
color:#1F497D'>Use a scheme like &#8220;about:blank&#8221; (does that count=
 as a custom
scheme or is it supported by the IETF?)<o:p></o:p></span></p>

<p class=3DMsoListParagraph style=3D'text-indent:-.25in;mso-list:l0 level1 =
lfo1'><![if !supportLists]><span
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'=
><span
style=3D'mso-list:Ignore'>-<span style=3D'font:7.0pt "Times New Roman"'>&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:11.0pt;font-family:=
"Calibri","sans-serif";
color:#1F497D'>Host a static callback themselves. For many apps it&#8217;s =
much
easier to host a single, static callback than a dynamic server endpoint.<o:=
p></o:p></span></p>

<p class=3DMsoListParagraph style=3D'text-indent:-.25in;mso-list:l0 level1 =
lfo1'><![if !supportLists]><span
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'=
><span
style=3D'mso-list:Ignore'>-<span style=3D'font:7.0pt "Times New Roman"'>&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:11.0pt;font-family:=
"Calibri","sans-serif";
color:#1F497D'>Use a callback hosted by the provider (i.e., <a
href=3D"http://facebook.com/universal_callback">http://facebook.com/univers=
al_callback</a><o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>In practice, this is how desktop and mobile clients work to
access Facebook today. The Native Application flow is basically like &nbsp;=
the third
option above (callback hosted by provider), but without the flexibility of =
the
first two. We should just get rid of that flow and use the &#8220;User-agen=
t&#8221; flow.
(I would prefer something like &#8220;Client-side App flow&#8221; but I und=
erstand that the
naming here is pretty difficult)<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div>

<div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in'>

<p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma=
","sans-serif"'>From:</span></b><span
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] <b>On Behalf Of </b>=
Chuck
Mortimore<br>
<b>Sent:</b> Saturday, April 10, 2010 1:03 PM<br>
<b>To:</b> Eran Hammer-Lahav; OAuth WG<br>
<b>Cc:</b> apps-discuss@ietf.org<br>
<b>Subject:</b> Re: [OAUTH-WG] Native applications capable of handling
callbacks<o:p></o:p></span></p>

</div>

</div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><span style=3D'font-siz=
e:11.0pt;
font-family:"Lucida Grande","serif"'>While I agree it&#8217;s a bit of an a=
busive
practice, it is a pervasive one, and I&#8217;m worried about our ability to=
 actually
change the behavior of these platforms ( Mozilla is in the list as well ).
&nbsp;&nbsp;<br>
<br>
So &#8211; it&#8217;s a bit of a trade off. &nbsp;&nbsp;I certainly don&#82=
17;t want to add
anything to the spec that won&#8217;t get approved. &nbsp;On the other hand=
,
pragmatically, I&#8217;m mostly concerned with securing these devices and h=
ow my
customer&#8217;s credentials are used with them. &nbsp;&nbsp;&nbsp;I know t=
he pattern
of usage emerged on-top of Oauth 1; I suspect it will emerge in Oauth2, so =
I&#8217;d
be inclined to offer some guidance. &nbsp;&nbsp;<br>
<br>
I&#8217;ll defer to your advise on how best to handle it within the IETF an=
d the
spec...<br>
<br>
-cmort<br>
<br>
<br>
On 4/9/10 9:45 PM, &quot;Eran Hammer-Lahav&quot; &lt;<a
href=3D"eran@hueniverse.com">eran@hueniverse.com</a>&gt; wrote:</span><o:p>=
</o:p></p>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><span style=3D'font-siz=
e:11.0pt;
font-family:"Lucida Grande","serif"'>(+apps-discuss as this is of general
interest to the area)<br>
<br>
On 4/9/10 1:26 PM, &quot;Chuck Mortimore&quot; &lt;<a
href=3D"cmortimore@salesforce.com">cmortimore@salesforce.com</a>&gt; wrote:=
<br>
<br>
&gt; A number of the modern application platforms (Android, iPhone, iPad) h=
ave<br>
&gt; support for registering custom url schemes for native applications.
&nbsp;&nbsp;&nbsp;This<br>
&gt; allows them to receive callbacks from web browsers, without resorting =
to
copy<br>
&gt; paste, or window title polling. &nbsp;&nbsp;&nbsp;For instance, the
authorization server may<br>
&gt; redirect the devices browser to:<br>
&gt;<br>
&gt; HTTP/1.1 302 Found<br>
&gt; Location: myapp://oauth_callback?code=3Di1WsRn1uB1<br>
&gt;<br>
&gt; This results in the application launching and the URL being passed to =
it&#8217;s<br>
&gt; callback handler.<br>
&gt;<br>
&gt; There are a few issues I see with handling these in current form:<br>
&gt;<br>
&gt; * The Web Callback flow is not appropriate, as the client secret canno=
t be<br>
&gt; secured<br>
&gt; * The Native Application flow best describes these types of clients, b=
ut<br>
&gt; doesn&#8217;t handle the flow<br>
&gt; * The User Agent flow would likely work, but the description would lea=
d<br>
&gt; implementers away from this, and I&#8217;d be concerned that the imple=
mentations
may<br>
&gt; gravitate towards handling cross domain javascript tunneling<br>
&gt;<br>
&gt; I believe all of the pieces are here to support this, but I&#8217;d be
interested in<br>
&gt; seeing stronger guidance for implementers on how to handle these clien=
ts.<br>
&gt;<br>
&gt; - cmort<br>
<br>
The first problem with including this approach in an IETF specification is<=
br>
that it indirectly violates IETF standards, namely the rules governing how<=
br>
new URI schemes should be discussed, approved, and registered. This is also=
<br>
of interest to the W3C TAG.<br>
<br>
The way this should probably be done is by registering a new URN scheme lik=
e<br>
app which will look something like:<br>
<br>
app:application_name:comma_delimited_parameters<br>
<br>
With application_name either a domain-name-namespaced value (e.g.<br>
app:microsoft.com:excel:parameters) or registry based.<br>
<br>
But without such a mechanism (feel free to offer other ideas), to suggest i=
n<br>
an IETF standard that developers should go and make up random URI schemes<b=
r>
for their clients is both bad policy and not likely to pass Last Call.<br>
<br>
If this group has the appetite for such a feature, I would be happy to draf=
t<br>
a very short proposal for such a new URN scheme, which we can then publish<=
br>
separately or include in the OAuth spec.<br>
<br>
In practice, until companies like Apple and Microsoft (the two leading OS<b=
r>
vendors), and Google (with Android) support such a generic application URN,=
<br>
people will continue to do so. But if we propose a standard path, we can<br=
>
then mention the &quot;abusive&quot; practice and declare it deprecated,
pointing<br>
people to the right way of doing it. That will help in getting adoption lon=
g<br>
term.<br>
<br>
Thoughts?<br>
<br>
EHL<br>
<br>
</span><o:p></o:p></p>

</div>

</body>

</html>

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DB82SCMBXC1TheFac_--

From naitik@facebook.com  Sat Apr 10 12:35:59 2010
Return-Path: <naitik@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DEE7B3A67F0 for <oauth@core3.amsl.com>; Sat, 10 Apr 2010 12:35:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.406
X-Spam-Level: 
X-Spam-Status: No, score=-1.406 tagged_above=-999 required=5 tests=[BAYES_20=-0.74, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NjSnjsRUHkyF for <oauth@core3.amsl.com>; Sat, 10 Apr 2010 12:35:59 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 3E8703A672E for <oauth@ietf.org>; Sat, 10 Apr 2010 12:35:59 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.198]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3AJZJ7E015868 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT) for <oauth@ietf.org>; Sat, 10 Apr 2010 12:35:19 -0700
Received: from sc-hub06.TheFacebook.com (192.168.18.83) by sc-hub03.TheFacebook.com (192.168.18.198) with Microsoft SMTP Server (TLS) id 14.0.682.1; Sat, 10 Apr 2010 12:35:53 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub06.TheFacebook.com ([192.168.18.83]) with mapi; Sat, 10 Apr 2010 12:35:52 -0700
From: Naitik Shah <naitik@facebook.com>
To: "oauth@ietf.org" <oauth@ietf.org>
Date: Sat, 10 Apr 2010 12:35:52 -0700
Thread-Topic: Rename callback => callback_uri
Thread-Index: AcrY5QgYzwsqKHvhTbuKpWjgY2XeCg==
Message-ID: <9C30AE64-7DB8-4B6B-879B-61CB71BF74BB@facebook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-10_04:2010-02-06, 2010-04-10, 2010-04-10 signatures=0
X-Mailman-Approved-At: Wed, 14 Apr 2010 10:55:49 -0700
Subject: [OAUTH-WG] Rename callback => callback_uri
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Apr 2010 19:36:42 -0000

With the simplified params, the callback url parameter is now just "callbac=
k". Since most major API providers already use "callback" to signify JSON-P=
 callback, can we rename this to "callback_uri"? This will help avoid colli=
sions and confusion.


-Naitik

From mscurtescu@google.com  Wed Apr 14 14:00:50 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 58DE63A6A66 for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 14:00:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.684
X-Spam-Level: 
X-Spam-Status: No, score=-100.684 tagged_above=-999 required=5 tests=[AWL=0.693, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, J_CHICKENPOX_55=0.6, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qH9IgSO4vkGi for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 14:00:49 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 996C93A6A71 for <oauth@ietf.org>; Wed, 14 Apr 2010 14:00:35 -0700 (PDT)
Received: from kpbe12.cbf.corp.google.com (kpbe12.cbf.corp.google.com [172.25.105.76]) by smtp-out.google.com with ESMTP id o3EL0JHE013526 for <oauth@ietf.org>; Wed, 14 Apr 2010 23:00:20 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271278820; bh=l2CpqO0F4Ac0yvyEl5C4fWlml/E=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=EXanbzD45244dq99UdNN4AEmSQoaNQixgJjRBakAaayZPVGwGtiOfDY7EF7X7U2J9 4gFiHRJB/v0hi/RzLfOzg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=vLPIBOvYKN8DqRqpXm4liDApc9vBQxaqwq1mlpzXtnbmfkTDnrPvo4IuJqcKcAMJS 9oP9EhpPREmgdZiVk2SgA==
Received: from pzk1 (pzk1.prod.google.com [10.243.19.129]) by kpbe12.cbf.corp.google.com with ESMTP id o3EKxaE1003946 for <oauth@ietf.org>; Wed, 14 Apr 2010 14:00:18 -0700
Received: by pzk1 with SMTP id 1so595019pzk.18 for <oauth@ietf.org>; Wed, 14 Apr 2010 14:00:18 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Wed, 14 Apr 2010 13:59:58 -0700 (PDT)
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DB5D@SC-MBXC1.TheFacebook.com>
References: <2513A610118CC14C8E622C376C8DEC93D54D66DB15@SC-MBXC1.TheFacebook.com> <2513A610118CC14C8E622C376C8DEC93D54D66DB5D@SC-MBXC1.TheFacebook.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Wed, 14 Apr 2010 13:59:58 -0700
Received: by 10.141.100.15 with SMTP id c15mr7651311rvm.221.1271278818139;  Wed, 14 Apr 2010 14:00:18 -0700 (PDT)
Message-ID: <m2k74caaad21004141359nc1465147q3d817a33bf77f868@mail.gmail.com>
To: Luke Shepard <lshepard@facebook.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Apr 2010 21:00:50 -0000

On Wed, Apr 14, 2010 at 7:44 AM, Luke Shepard <lshepard@facebook.com> wrote=
:
> Anyone have feedback on this?

I can see several problems with using the User-Agent flow for native
applications:

1. A verification code is much simpler to copy-and-paste (as opposed
to access token + refresh token + lifetime). At the extreme, the
verification code can be memorized and typed, this is impossible with
the tokens.

2. Not in all cases a native application can intercept a token sent
back to some callback URL. The native app could be a command line tool
on a headless server, for example. Or, the user's default browser
window does not show a custom title.

3. While it is feasible to extract a short verification code from a
window title, that may not be possible with a long access token (it
can end up truncated). Not to mention refresh token and lifetime.

4. Just redirecting to "about:blank#access_token=3Dblahblahblah" is not
reliable IMO. Try this in Firefox, nothing in the title. Same thing in
Chrome will show the token in the title. I think the callback must
render a proper HTML page with the proper <title>

5. Not clear that the User-Agent flow is safe enough to send back a
refresh token. Was that decided?

Marius


The typical solution is for the native app to launch a browser and
then watch that process and look for
>
>
>
> Sorry to push =96 we are in the midst of implementing this on a short tim=
eline
> and it=92s important that we have clarity about the different flows. As i=
t
> currently stands, I would not support the =93Native Application Flow=94 a=
nd
> would instead tell desktop developers to use the =93User-Agent Flow=94. B=
ut that
> is confusing and it would obviously be better if the flows were named
> correctly.
>
>
>
> Can someone persuade me otherwise?
>
>
>
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of
> Luke Shepard
> Sent: Tuesday, April 13, 2010 1:36 PM
> To: OAuth WG
> Subject: [OAUTH-WG] Combining the Native application and User-agent flows
>
>
>
> In the latest draft of the OAuth 2.0 spec, there are four =93User Delegat=
ion=94
> flows:
>
>
>
> 3.4.1=A0=A0 Web Callback Flow
>
> 3.4.2=A0=A0 Native Application Flow
>
> 3.4.3 =A0=A0User-Agent Flow
>
> 3.4.4=A0=A0 Device Flow
>
>
>
> The Native Application and the User-Agent flows should be combined into o=
ne
> flow. The combined flow works for all client-side code. This is how it wa=
s
> in David=92s original draft; I=92d love some help understanding why it wa=
s
> separated again.
>
>
>
> From the draft:
>
>
>
> The native flow is intended for desktop applications where =93the client =
is
> capable of interacting with the end user's user-agent but is incapable of
> receiving callback requests from the server (incapable of acting as an HT=
TP
> server) ... instead of using a callback to deliver the verification code =
to
> the client, the authorization server displays the verification code to th=
e
> end user via its user-agent.=A0 If the client is able to interact with th=
e
> user-agent, it retrieves the verification code automatically.=A0 Otherwis=
e,
> the end user manually enters the verification code into a client dialog.=
=94
>
>
>
> So the flow is:
>
>
>
> 1/ User goes to oauth/authorize endpoint.
>
> 2/ Server displays a page that says something like =93We are done here=94=
 and
> puts a code in the title.
>
> 3/ Desktop app makes a call to exchange the code for an access token, and
> closes the window.
>
> 4/ App uses access token.
>
>
>
> A simpler flow, which works for Desktop as well as Javascript apps, is:
>
>
>
> 1/ User goes to oauth/authorize endpoint.
>
> 2/ Server authorizes, then redirects to the callback url .. something lik=
e
> about:blank#access_token=3Dblahblahblah
>
> 3/ App uses access token.
>
>
>
> At Facebook we have a lot of experience integrating with desktop apps.
> (i.e., Facebook for Adobe Air, Seesmic, Tweetdeck, iPhoto). In my
> experience, none of the desktop apps like to show a code that the user th=
en
> enters into the app. Instead, apps typically receive the session (access
> token) directly in the response url. They can either use a URL on their
> domain, or a fake URL like about:blank, or an endpoint provided by Facebo=
ok
> (/connect/login_success.html). More info:
> http://wiki.developers.facebook.com/index.php/Authorization_and_Authentic=
ation_for_Desktop_Applications
>
>
>
> The access token never goes over the wire (it=92s in the fragment even if=
 the
> url is legit) and the desktop app gets a more well-formatted response.
>
>
>
> I just don=92t get the point of the hacky code-in-html style. Can someone
> point me to a place where this is in widespread use today?
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

From cmortimore@salesforce.com  Wed Apr 14 14:25:33 2010
Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 86C3328C10B for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 14:25:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.089
X-Spam-Level: 
X-Spam-Status: No, score=-6.089 tagged_above=-999 required=5 tests=[AWL=-0.091, BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_55=0.6, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gHgH9kMIvO-c for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 14:25:22 -0700 (PDT)
Received: from exprod8og114.obsmtp.com (exprod8og114.obsmtp.com [64.18.3.28]) by core3.amsl.com (Postfix) with SMTP id C385A28C131 for <oauth@ietf.org>; Wed, 14 Apr 2010 14:19:20 -0700 (PDT)
Received: from source ([204.14.239.238]) by exprod8ob114.postini.com ([64.18.7.12]) with SMTP ID DSNKS8YxUonlGcT3l/yaLUsyVxi/mkOe6wnD@postini.com; Wed, 14 Apr 2010 14:19:15 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub3.internal.salesforce.com ([10.1.127.7]) with mapi; Wed, 14 Apr 2010 14:19:14 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: Marius Scurtescu <mscurtescu@google.com>, Luke Shepard <lshepard@facebook.com>
Date: Wed, 14 Apr 2010 14:19:12 -0700
Thread-Topic: [OAUTH-WG] Combining the Native application and User-agent flows
Thread-Index: AcrcFZRQkbD9BqchRtyWPa0JCMH/PgAAoxvZ
Message-ID: <C7EB7F60.38CB%cmortimore@salesforce.com>
In-Reply-To: <m2k74caaad21004141359nc1465147q3d817a33bf77f868@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7EB7F6038CBcmortimoresalesforcecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Apr 2010 21:25:33 -0000

--_000_C7EB7F6038CBcmortimoresalesforcecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

As far as 2,3, and 4, the window title approach is really irrelevant.    In=
stead, the client will either directly handle callbacks through a custom sc=
heme, or be able to recognize when a known callback URL has been loaded, an=
d hence can extract the fragment from the URL directly.

I'm not sure it's cut-and-dry that the world will never need the copy-paste=
 mechanism that Native Client flow supports, but from a usability perspecti=
ve, we don't plan to deploy this and instead will be relying on callback te=
chniques where ever possible.

-cmort

On 4/14/10 1:59 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

On Wed, Apr 14, 2010 at 7:44 AM, Luke Shepard <lshepard@facebook.com> wrote=
:
> Anyone have feedback on this?

I can see several problems with using the User-Agent flow for native
applications:

1. A verification code is much simpler to copy-and-paste (as opposed
to access token + refresh token + lifetime). At the extreme, the
verification code can be memorized and typed, this is impossible with
the tokens.

2. Not in all cases a native application can intercept a token sent
back to some callback URL. The native app could be a command line tool
on a headless server, for example. Or, the user's default browser
window does not show a custom title.

3. While it is feasible to extract a short verification code from a
window title, that may not be possible with a long access token (it
can end up truncated). Not to mention refresh token and lifetime.

4. Just redirecting to "about:blank#access_token=3Dblahblahblah" is not
reliable IMO. Try this in Firefox, nothing in the title. Same thing in
Chrome will show the token in the title. I think the callback must
render a proper HTML page with the proper <title>

5. Not clear that the User-Agent flow is safe enough to send back a
refresh token. Was that decided?

Marius


The typical solution is for the native app to launch a browser and
then watch that process and look for
>
>
>
> Sorry to push - we are in the midst of implementing this on a short timel=
ine
> and it's important that we have clarity about the different flows. As it
> currently stands, I would not support the "Native Application Flow" and
> would instead tell desktop developers to use the "User-Agent Flow". But t=
hat
> is confusing and it would obviously be better if the flows were named
> correctly.
>
>
>
> Can someone persuade me otherwise?
>
>
>
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of
> Luke Shepard
> Sent: Tuesday, April 13, 2010 1:36 PM
> To: OAuth WG
> Subject: [OAUTH-WG] Combining the Native application and User-agent flows
>
>
>
> In the latest draft of the OAuth 2.0 spec, there are four "User Delegatio=
n"
> flows:
>
>
>
> 3.4.1   Web Callback Flow
>
> 3.4.2   Native Application Flow
>
> 3.4.3   User-Agent Flow
>
> 3.4.4   Device Flow
>
>
>
> The Native Application and the User-Agent flows should be combined into o=
ne
> flow. The combined flow works for all client-side code. This is how it wa=
s
> in David's original draft; I'd love some help understanding why it was
> separated again.
>
>
>
> From the draft:
>
>
>
> The native flow is intended for desktop applications where "the client is
> capable of interacting with the end user's user-agent but is incapable of
> receiving callback requests from the server (incapable of acting as an HT=
TP
> server) ... instead of using a callback to deliver the verification code =
to
> the client, the authorization server displays the verification code to th=
e
> end user via its user-agent.  If the client is able to interact with the
> user-agent, it retrieves the verification code automatically.  Otherwise,
> the end user manually enters the verification code into a client dialog."
>
>
>
> So the flow is:
>
>
>
> 1/ User goes to oauth/authorize endpoint.
>
> 2/ Server displays a page that says something like "We are done here" and
> puts a code in the title.
>
> 3/ Desktop app makes a call to exchange the code for an access token, and
> closes the window.
>
> 4/ App uses access token.
>
>
>
> A simpler flow, which works for Desktop as well as Javascript apps, is:
>
>
>
> 1/ User goes to oauth/authorize endpoint.
>
> 2/ Server authorizes, then redirects to the callback url .. something lik=
e
> about:blank#access_token=3Dblahblahblah
>
> 3/ App uses access token.
>
>
>
> At Facebook we have a lot of experience integrating with desktop apps.
> (i.e., Facebook for Adobe Air, Seesmic, Tweetdeck, iPhoto). In my
> experience, none of the desktop apps like to show a code that the user th=
en
> enters into the app. Instead, apps typically receive the session (access
> token) directly in the response url. They can either use a URL on their
> domain, or a fake URL like about:blank, or an endpoint provided by Facebo=
ok
> (/connect/login_success.html). More info:
> http://wiki.developers.facebook.com/index.php/Authorization_and_Authentic=
ation_for_Desktop_Applications
>
>
>
> The access token never goes over the wire (it's in the fragment even if t=
he
> url is legit) and the desktop app gets a more well-formatted response.
>
>
>
> I just don't get the point of the hacky code-in-html style. Can someone
> point me to a place where this is in widespread use today?
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


--_000_C7EB7F6038CBcmortimoresalesforcecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Combining the Native application and User-agent flows=
</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'>As far as 2,3, =
and 4, the window title approach is really irrelevant. &nbsp;&nbsp;&nbsp;In=
stead, the client will either directly handle callbacks through a custom sc=
heme, or be able to recognize when a known callback URL has been loaded, an=
d hence can extract the fragment from the URL directly.<BR>
<BR>
I&#8217;m not sure it&#8217;s cut-and-dry that the world will never need th=
e copy-paste mechanism that Native Client flow supports, but from a usabili=
ty perspective, we don&#8217;t plan to deploy this and instead will be rely=
ing on callback techniques where ever possible. &nbsp;&nbsp;<BR>
<BR>
-cmort<BR>
<BR>
On 4/14/10 1:59 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurtescu@=
google.com">mscurtescu@google.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-=
size:11pt'>On Wed, Apr 14, 2010 at 7:44 AM, Luke Shepard &lt;<a href=3D"lsh=
epard@facebook.com">lshepard@facebook.com</a>&gt; wrote:<BR>
&gt; Anyone have feedback on this?<BR>
<BR>
I can see several problems with using the User-Agent flow for native<BR>
applications:<BR>
<BR>
1. A verification code is much simpler to copy-and-paste (as opposed<BR>
to access token + refresh token + lifetime). At the extreme, the<BR>
verification code can be memorized and typed, this is impossible with<BR>
the tokens.<BR>
<BR>
2. Not in all cases a native application can intercept a token sent<BR>
back to some callback URL. The native app could be a command line tool<BR>
on a headless server, for example. Or, the user's default browser<BR>
window does not show a custom title.<BR>
<BR>
3. While it is feasible to extract a short verification code from a<BR>
window title, that may not be possible with a long access token (it<BR>
can end up truncated). Not to mention refresh token and lifetime.<BR>
<BR>
4. Just redirecting to &quot;about:blank#access_token=3Dblahblahblah&quot; =
is not<BR>
reliable IMO. Try this in Firefox, nothing in the title. Same thing in<BR>
Chrome will show the token in the title. I think the callback must<BR>
render a proper HTML page with the proper &lt;title&gt;<BR>
<BR>
5. Not clear that the User-Agent flow is safe enough to send back a<BR>
refresh token. Was that decided?<BR>
<BR>
Marius<BR>
<BR>
<BR>
The typical solution is for the native app to launch a browser and<BR>
then watch that process and look for<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt; Sorry to push &#8211; we are in the midst of implementing this on a sh=
ort timeline<BR>
&gt; and it&#8217;s important that we have clarity about the different flow=
s. As it<BR>
&gt; currently stands, I would not support the &#8220;Native Application Fl=
ow&#8221; and<BR>
&gt; would instead tell desktop developers to use the &#8220;User-Agent Flo=
w&#8221;. But that<BR>
&gt; is confusing and it would obviously be better if the flows were named<=
BR>
&gt; correctly.<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt; Can someone persuade me otherwise?<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt; From: <a href=3D"oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> [<=
a href=3D"mailto:oauth-bounces@ietf.org">mailto:oauth-bounces@ietf.org</a>]=
 On Behalf Of<BR>
&gt; Luke Shepard<BR>
&gt; Sent: Tuesday, April 13, 2010 1:36 PM<BR>
&gt; To: OAuth WG<BR>
&gt; Subject: [OAUTH-WG] Combining the Native application and User-agent fl=
ows<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt; In the latest draft of the OAuth 2.0 spec, there are four &#8220;User =
Delegation&#8221;<BR>
&gt; flows:<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt; 3.4.1=A0=A0 Web Callback Flow<BR>
&gt;<BR>
&gt; 3.4.2=A0=A0 Native Application Flow<BR>
&gt;<BR>
&gt; 3.4.3 =A0=A0User-Agent Flow<BR>
&gt;<BR>
&gt; 3.4.4=A0=A0 Device Flow<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt; The Native Application and the User-Agent flows should be combined int=
o one<BR>
&gt; flow. The combined flow works for all client-side code. This is how it=
 was<BR>
&gt; in David&#8217;s original draft; I&#8217;d love some help understandin=
g why it was<BR>
&gt; separated again.<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt; From the draft:<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt; The native flow is intended for desktop applications where &#8220;the =
client is<BR>
&gt; capable of interacting with the end user's user-agent but is incapable=
 of<BR>
&gt; receiving callback requests from the server (incapable of acting as an=
 HTTP<BR>
&gt; server) ... instead of using a callback to deliver the verification co=
de to<BR>
&gt; the client, the authorization server displays the verification code to=
 the<BR>
&gt; end user via its user-agent.=A0 If the client is able to interact with=
 the<BR>
&gt; user-agent, it retrieves the verification code automatically.=A0 Other=
wise,<BR>
&gt; the end user manually enters the verification code into a client dialo=
g.&#8221;<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt; So the flow is:<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt; 1/ User goes to oauth/authorize endpoint.<BR>
&gt;<BR>
&gt; 2/ Server displays a page that says something like &#8220;We are done =
here&#8221; and<BR>
&gt; puts a code in the title.<BR>
&gt;<BR>
&gt; 3/ Desktop app makes a call to exchange the code for an access token, =
and<BR>
&gt; closes the window.<BR>
&gt;<BR>
&gt; 4/ App uses access token.<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt; A simpler flow, which works for Desktop as well as Javascript apps, is=
:<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt; 1/ User goes to oauth/authorize endpoint.<BR>
&gt;<BR>
&gt; 2/ Server authorizes, then redirects to the callback url .. something =
like<BR>
&gt; about:blank#access_token=3Dblahblahblah<BR>
&gt;<BR>
&gt; 3/ App uses access token.<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt; At Facebook we have a lot of experience integrating with desktop apps.=
<BR>
&gt; (i.e., Facebook for Adobe Air, Seesmic, Tweetdeck, iPhoto). In my<BR>
&gt; experience, none of the desktop apps like to show a code that the user=
 then<BR>
&gt; enters into the app. Instead, apps typically receive the session (acce=
ss<BR>
&gt; token) directly in the response url. They can either use a URL on thei=
r<BR>
&gt; domain, or a fake URL like about:blank, or an endpoint provided by Fac=
ebook<BR>
&gt; (/connect/login_success.html). More info:<BR>
&gt; <a href=3D"http://wiki.developers.facebook.com/index.php/Authorization=
_and_Authentication_for_Desktop_Applications">http://wiki.developers.facebo=
ok.com/index.php/Authorization_and_Authentication_for_Desktop_Applications<=
/a><BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt; The access token never goes over the wire (it&#8217;s in the fragment =
even if the<BR>
&gt; url is legit) and the desktop app gets a more well-formatted response.=
<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt; I just don&#8217;t get the point of the hacky code-in-html style. Can =
someone<BR>
&gt; point me to a place where this is in widespread use today?<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt; _______________________________________________<BR>
&gt; OAuth mailing list<BR>
&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ie=
tf.org/mailman/listinfo/oauth</a><BR>
&gt;<BR>
&gt;<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7EB7F6038CBcmortimoresalesforcecom_--

From mscurtescu@google.com  Wed Apr 14 15:02:31 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id CCDF328C13B for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 15:02:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.857
X-Spam-Level: 
X-Spam-Status: No, score=-100.857 tagged_above=-999 required=5 tests=[AWL=0.520, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, J_CHICKENPOX_55=0.6, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 68EC-iuoTIMI for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 15:02:30 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 31F6028C14F for <oauth@ietf.org>; Wed, 14 Apr 2010 15:02:30 -0700 (PDT)
Received: from wpaz17.hot.corp.google.com (wpaz17.hot.corp.google.com [172.24.198.81]) by smtp-out.google.com with ESMTP id o3EM2JIP010200 for <oauth@ietf.org>; Thu, 15 Apr 2010 00:02:19 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271282540; bh=qA5952PvZEKIl2swbjdR4TAr3wY=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=TRMG6J597REUL22ug49jfj4Ks/e0VcRp5jgiytQwdV4SHn3gU9mjYsACo2gvQjFIG X3gty4WwbWxF0yU74JJuw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=VKzw0t0p0fwHPiT8JUPR1VKaS4Ej0BhSKXa6vSWV45/kfcN29tBeJ1ytzQ3hjYnBG tbRtNBjoxUDYtawdy4pww==
Received: from pvc7 (pvc7.prod.google.com [10.241.209.135]) by wpaz17.hot.corp.google.com with ESMTP id o3EM2240006394 for <oauth@ietf.org>; Wed, 14 Apr 2010 15:02:18 -0700
Received: by pvc7 with SMTP id 7so448119pvc.27 for <oauth@ietf.org>; Wed, 14 Apr 2010 15:02:18 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Wed, 14 Apr 2010 15:01:58 -0700 (PDT)
In-Reply-To: <C7EB7F60.38CB%cmortimore@salesforce.com>
References: <m2k74caaad21004141359nc1465147q3d817a33bf77f868@mail.gmail.com>  <C7EB7F60.38CB%cmortimore@salesforce.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Wed, 14 Apr 2010 15:01:58 -0700
Received: by 10.140.57.2 with SMTP id f2mr7949776rva.210.1271282538113; Wed,  14 Apr 2010 15:02:18 -0700 (PDT)
Message-ID: <m2l74caaad21004141501v5b9b49a3h7d4844b3d5ea9ca9@mail.gmail.com>
To: Chuck Mortimore <cmortimore@salesforce.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Apr 2010 22:02:31 -0000

On Wed, Apr 14, 2010 at 2:19 PM, Chuck Mortimore
<cmortimore@salesforce.com> wrote:
> As far as 2,3, and 4, the window title approach is really irrelevant.
> =A0=A0=A0Instead, the client will either directly handle callbacks throug=
h a
> custom scheme, or be able to recognize when a known callback URL has been
> loaded, and hence can extract the fragment from the URL directly.

This is a very strong limitation, only native apps that can register
and handle a custom scheme will work.

What do we get in return, just a slight simplification in the spec?

Assuming simplification is the main driver, I think it is feasible to
combine Web Callback and Native Application, with no penalty.

Marius


>
> I=92m not sure it=92s cut-and-dry that the world will never need the copy=
-paste
> mechanism that Native Client flow supports, but from a usability
> perspective, we don=92t plan to deploy this and instead will be relying o=
n
> callback techniques where ever possible.
>
> -cmort
>
> On 4/14/10 1:59 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
> On Wed, Apr 14, 2010 at 7:44 AM, Luke Shepard <lshepard@facebook.com> wro=
te:
>> Anyone have feedback on this?
>
> I can see several problems with using the User-Agent flow for native
> applications:
>
> 1. A verification code is much simpler to copy-and-paste (as opposed
> to access token + refresh token + lifetime). At the extreme, the
> verification code can be memorized and typed, this is impossible with
> the tokens.
>
> 2. Not in all cases a native application can intercept a token sent
> back to some callback URL. The native app could be a command line tool
> on a headless server, for example. Or, the user's default browser
> window does not show a custom title.
>
> 3. While it is feasible to extract a short verification code from a
> window title, that may not be possible with a long access token (it
> can end up truncated). Not to mention refresh token and lifetime.
>
> 4. Just redirecting to "about:blank#access_token=3Dblahblahblah" is not
> reliable IMO. Try this in Firefox, nothing in the title. Same thing in
> Chrome will show the token in the title. I think the callback must
> render a proper HTML page with the proper <title>
>
> 5. Not clear that the User-Agent flow is safe enough to send back a
> refresh token. Was that decided?
>
> Marius
>
>
> The typical solution is for the native app to launch a browser and
> then watch that process and look for
>>
>>
>>
>> Sorry to push =96 we are in the midst of implementing this on a short
>> timeline
>> and it=92s important that we have clarity about the different flows. As =
it
>> currently stands, I would not support the =93Native Application Flow=94 =
and
>> would instead tell desktop developers to use the =93User-Agent Flow=94. =
But
>> that
>> is confusing and it would obviously be better if the flows were named
>> correctly.
>>
>>
>>
>> Can someone persuade me otherwise?
>>
>>
>>
>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf O=
f
>> Luke Shepard
>> Sent: Tuesday, April 13, 2010 1:36 PM
>> To: OAuth WG
>> Subject: [OAUTH-WG] Combining the Native application and User-agent flow=
s
>>
>>
>>
>> In the latest draft of the OAuth 2.0 spec, there are four =93User
>> Delegation=94
>> flows:
>>
>>
>>
>> 3.4.1=A0=A0 Web Callback Flow
>>
>> 3.4.2=A0=A0 Native Application Flow
>>
>> 3.4.3 =A0=A0User-Agent Flow
>>
>> 3.4.4=A0=A0 Device Flow
>>
>>
>>
>> The Native Application and the User-Agent flows should be combined into
>> one
>> flow. The combined flow works for all client-side code. This is how it w=
as
>> in David=92s original draft; I=92d love some help understanding why it w=
as
>> separated again.
>>
>>
>>
>> From the draft:
>>
>>
>>
>> The native flow is intended for desktop applications where =93the client=
 is
>> capable of interacting with the end user's user-agent but is incapable o=
f
>> receiving callback requests from the server (incapable of acting as an
>> HTTP
>> server) ... instead of using a callback to deliver the verification code
>> to
>> the client, the authorization server displays the verification code to t=
he
>> end user via its user-agent.=A0 If the client is able to interact with t=
he
>> user-agent, it retrieves the verification code automatically.=A0 Otherwi=
se,
>> the end user manually enters the verification code into a client dialog.=
=94
>>
>>
>>
>> So the flow is:
>>
>>
>>
>> 1/ User goes to oauth/authorize endpoint.
>>
>> 2/ Server displays a page that says something like =93We are done here=
=94 and
>> puts a code in the title.
>>
>> 3/ Desktop app makes a call to exchange the code for an access token, an=
d
>> closes the window.
>>
>> 4/ App uses access token.
>>
>>
>>
>> A simpler flow, which works for Desktop as well as Javascript apps, is:
>>
>>
>>
>> 1/ User goes to oauth/authorize endpoint.
>>
>> 2/ Server authorizes, then redirects to the callback url .. something li=
ke
>> about:blank#access_token=3Dblahblahblah
>>
>> 3/ App uses access token.
>>
>>
>>
>> At Facebook we have a lot of experience integrating with desktop apps.
>> (i.e., Facebook for Adobe Air, Seesmic, Tweetdeck, iPhoto). In my
>> experience, none of the desktop apps like to show a code that the user
>> then
>> enters into the app. Instead, apps typically receive the session (access
>> token) directly in the response url. They can either use a URL on their
>> domain, or a fake URL like about:blank, or an endpoint provided by
>> Facebook
>> (/connect/login_success.html). More info:
>>
>> http://wiki.developers.facebook.com/index.php/Authorization_and_Authenti=
cation_for_Desktop_Applications
>>
>>
>>
>> The access token never goes over the wire (it=92s in the fragment even i=
f
>> the
>> url is legit) and the desktop app gets a more well-formatted response.
>>
>>
>>
>> I just don=92t get the point of the hacky code-in-html style. Can someon=
e
>> point me to a place where this is in widespread use today?
>>
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

From cmortimore@salesforce.com  Wed Apr 14 15:18:06 2010
Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AAE763A6ABF for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 15:18:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.074
X-Spam-Level: 
X-Spam-Status: No, score=-6.074 tagged_above=-999 required=5 tests=[AWL=-0.076, BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_55=0.6, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZtITcYd06+D2 for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 15:17:54 -0700 (PDT)
Received: from exprod8og102.obsmtp.com (exprod8og102.obsmtp.com [64.18.3.84]) by core3.amsl.com (Postfix) with SMTP id BA10E3A6ABB for <oauth@ietf.org>; Wed, 14 Apr 2010 15:17:29 -0700 (PDT)
Received: from source ([204.14.239.238]) by exprod8ob102.postini.com ([64.18.7.12]) with SMTP ID DSNKS8Y+89/hE8ZdYZzP9puxwuVrT2cIzwZT@postini.com; Wed, 14 Apr 2010 15:17:24 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub3.internal.salesforce.com ([10.1.127.7]) with mapi; Wed, 14 Apr 2010 15:17:23 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Wed, 14 Apr 2010 15:17:21 -0700
Thread-Topic: [OAUTH-WG] Combining the Native application and User-agent flows
Thread-Index: AcrcHioiWcFoyeiUTxmKfb7ougUDAAAAhY22
Message-ID: <C7EB8D01.38E7%cmortimore@salesforce.com>
In-Reply-To: <m2l74caaad21004141501v5b9b49a3h7d4844b3d5ea9ca9@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7EB8D0138E7cmortimoresalesforcecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Apr 2010 22:18:06 -0000

--_000_C7EB8D0138E7cmortimoresalesforcecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

It's not limited to only apps that can register custom schemes, but I do ag=
ree it doesn't solve all scenarios.

My main concern is that the current language seems to preclude a number of =
highly usable callback based scenarios that are viable with Native apps in =
2 ways.


 1.  the Web Callback flow explicitly assumes that the client is an HTTP se=
rver, and that it can protect a client_secret
 2.  the User-Agent flow explicitly assumes the client is in capable of rec=
eiving callbacks - this may or may not be true

I'd be happy with some language and guidance changes, so that Native client=
s that can receive callbacks through either custom schemes, existing non-ht=
tp schemes, or hosted endpoints have a clear path for implementers.   The p=
atterns are likely to emerge ontop of the spec anyways...they certainly did=
 in Oauth 1.0

-cmort


On 4/14/10 3:01 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

On Wed, Apr 14, 2010 at 2:19 PM, Chuck Mortimore
<cmortimore@salesforce.com> wrote:
> As far as 2,3, and 4, the window title approach is really irrelevant.
>    Instead, the client will either directly handle callbacks through a
> custom scheme, or be able to recognize when a known callback URL has been
> loaded, and hence can extract the fragment from the URL directly.

This is a very strong limitation, only native apps that can register
and handle a custom scheme will work.

What do we get in return, just a slight simplification in the spec?

Assuming simplification is the main driver, I think it is feasible to
combine Web Callback and Native Application, with no penalty.

Marius


>
> I'm not sure it's cut-and-dry that the world will never need the copy-pas=
te
> mechanism that Native Client flow supports, but from a usability
> perspective, we don't plan to deploy this and instead will be relying on
> callback techniques where ever possible.
>
> -cmort
>
> On 4/14/10 1:59 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
> On Wed, Apr 14, 2010 at 7:44 AM, Luke Shepard <lshepard@facebook.com> wro=
te:
>> Anyone have feedback on this?
>
> I can see several problems with using the User-Agent flow for native
> applications:
>
> 1. A verification code is much simpler to copy-and-paste (as opposed
> to access token + refresh token + lifetime). At the extreme, the
> verification code can be memorized and typed, this is impossible with
> the tokens.
>
> 2. Not in all cases a native application can intercept a token sent
> back to some callback URL. The native app could be a command line tool
> on a headless server, for example. Or, the user's default browser
> window does not show a custom title.
>
> 3. While it is feasible to extract a short verification code from a
> window title, that may not be possible with a long access token (it
> can end up truncated). Not to mention refresh token and lifetime.
>
> 4. Just redirecting to "about:blank#access_token=3Dblahblahblah" is not
> reliable IMO. Try this in Firefox, nothing in the title. Same thing in
> Chrome will show the token in the title. I think the callback must
> render a proper HTML page with the proper <title>
>
> 5. Not clear that the User-Agent flow is safe enough to send back a
> refresh token. Was that decided?
>
> Marius
>
>
> The typical solution is for the native app to launch a browser and
> then watch that process and look for
>>
>>
>>
>> Sorry to push - we are in the midst of implementing this on a short
>> timeline
>> and it's important that we have clarity about the different flows. As it
>> currently stands, I would not support the "Native Application Flow" and
>> would instead tell desktop developers to use the "User-Agent Flow". But
>> that
>> is confusing and it would obviously be better if the flows were named
>> correctly.
>>
>>
>>
>> Can someone persuade me otherwise?
>>
>>
>>
>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf O=
f
>> Luke Shepard
>> Sent: Tuesday, April 13, 2010 1:36 PM
>> To: OAuth WG
>> Subject: [OAUTH-WG] Combining the Native application and User-agent flow=
s
>>
>>
>>
>> In the latest draft of the OAuth 2.0 spec, there are four "User
>> Delegation"
>> flows:
>>
>>
>>
>> 3.4.1   Web Callback Flow
>>
>> 3.4.2   Native Application Flow
>>
>> 3.4.3   User-Agent Flow
>>
>> 3.4.4   Device Flow
>>
>>
>>
>> The Native Application and the User-Agent flows should be combined into
>> one
>> flow. The combined flow works for all client-side code. This is how it w=
as
>> in David's original draft; I'd love some help understanding why it was
>> separated again.
>>
>>
>>
>> From the draft:
>>
>>
>>
>> The native flow is intended for desktop applications where "the client i=
s
>> capable of interacting with the end user's user-agent but is incapable o=
f
>> receiving callback requests from the server (incapable of acting as an
>> HTTP
>> server) ... instead of using a callback to deliver the verification code
>> to
>> the client, the authorization server displays the verification code to t=
he
>> end user via its user-agent.  If the client is able to interact with the
>> user-agent, it retrieves the verification code automatically.  Otherwise=
,
>> the end user manually enters the verification code into a client dialog.=
"
>>
>>
>>
>> So the flow is:
>>
>>
>>
>> 1/ User goes to oauth/authorize endpoint.
>>
>> 2/ Server displays a page that says something like "We are done here" an=
d
>> puts a code in the title.
>>
>> 3/ Desktop app makes a call to exchange the code for an access token, an=
d
>> closes the window.
>>
>> 4/ App uses access token.
>>
>>
>>
>> A simpler flow, which works for Desktop as well as Javascript apps, is:
>>
>>
>>
>> 1/ User goes to oauth/authorize endpoint.
>>
>> 2/ Server authorizes, then redirects to the callback url .. something li=
ke
>> about:blank#access_token=3Dblahblahblah
>>
>> 3/ App uses access token.
>>
>>
>>
>> At Facebook we have a lot of experience integrating with desktop apps.
>> (i.e., Facebook for Adobe Air, Seesmic, Tweetdeck, iPhoto). In my
>> experience, none of the desktop apps like to show a code that the user
>> then
>> enters into the app. Instead, apps typically receive the session (access
>> token) directly in the response url. They can either use a URL on their
>> domain, or a fake URL like about:blank, or an endpoint provided by
>> Facebook
>> (/connect/login_success.html). More info:
>>
>> http://wiki.developers.facebook.com/index.php/Authorization_and_Authenti=
cation_for_Desktop_Applications
>>
>>
>>
>> The access token never goes over the wire (it's in the fragment even if
>> the
>> url is legit) and the desktop app gets a more well-formatted response.
>>
>>
>>
>> I just don't get the point of the hacky code-in-html style. Can someone
>> point me to a place where this is in widespread use today?
>>
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>


--_000_C7EB8D0138E7cmortimoresalesforcecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Combining the Native application and User-agent flows=
</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'>It&#8217;s not =
limited to only apps that can register custom schemes, but I do agree it do=
esn&#8217;t solve all scenarios. &nbsp;&nbsp;&nbsp;<BR>
<BR>
My main concern is that the current language seems to preclude a number of =
highly usable callback based scenarios that are viable with Native apps in =
2 ways. &nbsp;<BR>
<BR>
</SPAN></FONT><OL><LI><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size=
:11pt'>the Web Callback flow explicitly assumes that the client is an HTTP =
server, and that it can protect a client_secret
</SPAN></FONT><LI><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11p=
t'>the User-Agent flow explicitly assumes the client is in capable of recei=
ving callbacks &#8211; this may or may not be true<BR>
</SPAN></FONT></OL><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11=
pt'><BR>
I&#8217;d be happy with some language and guidance changes, so that Native =
clients that can receive callbacks through either custom schemes, existing =
non-http schemes, or hosted endpoints have a clear path for implementers. &=
nbsp;&nbsp;The patterns are likely to emerge ontop of the spec anyways...th=
ey certainly did in Oauth 1.0<BR>
<BR>
-cmort<BR>
<BR>
<BR>
On 4/14/10 3:01 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurtescu@=
google.com">mscurtescu@google.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-=
size:11pt'>On Wed, Apr 14, 2010 at 2:19 PM, Chuck Mortimore<BR>
&lt;<a href=3D"cmortimore@salesforce.com">cmortimore@salesforce.com</a>&gt;=
 wrote:<BR>
&gt; As far as 2,3, and 4, the window title approach is really irrelevant.<=
BR>
&gt; =A0=A0=A0Instead, the client will either directly handle callbacks thr=
ough a<BR>
&gt; custom scheme, or be able to recognize when a known callback URL has b=
een<BR>
&gt; loaded, and hence can extract the fragment from the URL directly.<BR>
<BR>
This is a very strong limitation, only native apps that can register<BR>
and handle a custom scheme will work.<BR>
<BR>
What do we get in return, just a slight simplification in the spec?<BR>
<BR>
Assuming simplification is the main driver, I think it is feasible to<BR>
combine Web Callback and Native Application, with no penalty.<BR>
<BR>
Marius<BR>
<BR>
<BR>
&gt;<BR>
&gt; I&#8217;m not sure it&#8217;s cut-and-dry that the world will never ne=
ed the copy-paste<BR>
&gt; mechanism that Native Client flow supports, but from a usability<BR>
&gt; perspective, we don&#8217;t plan to deploy this and instead will be re=
lying on<BR>
&gt; callback techniques where ever possible.<BR>
&gt;<BR>
&gt; -cmort<BR>
&gt;<BR>
&gt; On 4/14/10 1:59 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurt=
escu@google.com">mscurtescu@google.com</a>&gt; wrote:<BR>
&gt;<BR>
&gt; On Wed, Apr 14, 2010 at 7:44 AM, Luke Shepard &lt;<a href=3D"lshepard@=
facebook.com">lshepard@facebook.com</a>&gt; wrote:<BR>
&gt;&gt; Anyone have feedback on this?<BR>
&gt;<BR>
&gt; I can see several problems with using the User-Agent flow for native<B=
R>
&gt; applications:<BR>
&gt;<BR>
&gt; 1. A verification code is much simpler to copy-and-paste (as opposed<B=
R>
&gt; to access token + refresh token + lifetime). At the extreme, the<BR>
&gt; verification code can be memorized and typed, this is impossible with<=
BR>
&gt; the tokens.<BR>
&gt;<BR>
&gt; 2. Not in all cases a native application can intercept a token sent<BR=
>
&gt; back to some callback URL. The native app could be a command line tool=
<BR>
&gt; on a headless server, for example. Or, the user's default browser<BR>
&gt; window does not show a custom title.<BR>
&gt;<BR>
&gt; 3. While it is feasible to extract a short verification code from a<BR=
>
&gt; window title, that may not be possible with a long access token (it<BR=
>
&gt; can end up truncated). Not to mention refresh token and lifetime.<BR>
&gt;<BR>
&gt; 4. Just redirecting to &quot;about:blank#access_token=3Dblahblahblah&q=
uot; is not<BR>
&gt; reliable IMO. Try this in Firefox, nothing in the title. Same thing in=
<BR>
&gt; Chrome will show the token in the title. I think the callback must<BR>
&gt; render a proper HTML page with the proper &lt;title&gt;<BR>
&gt;<BR>
&gt; 5. Not clear that the User-Agent flow is safe enough to send back a<BR=
>
&gt; refresh token. Was that decided?<BR>
&gt;<BR>
&gt; Marius<BR>
&gt;<BR>
&gt;<BR>
&gt; The typical solution is for the native app to launch a browser and<BR>
&gt; then watch that process and look for<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; Sorry to push &#8211; we are in the midst of implementing this on =
a short<BR>
&gt;&gt; timeline<BR>
&gt;&gt; and it&#8217;s important that we have clarity about the different =
flows. As it<BR>
&gt;&gt; currently stands, I would not support the &#8220;Native Applicatio=
n Flow&#8221; and<BR>
&gt;&gt; would instead tell desktop developers to use the &#8220;User-Agent=
 Flow&#8221;. But<BR>
&gt;&gt; that<BR>
&gt;&gt; is confusing and it would obviously be better if the flows were na=
med<BR>
&gt;&gt; correctly.<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; Can someone persuade me otherwise?<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; From: <a href=3D"oauth-bounces@ietf.org">oauth-bounces@ietf.org</a=
> [<a href=3D"mailto:oauth-bounces@ietf.org">mailto:oauth-bounces@ietf.org<=
/a>] On Behalf Of<BR>
&gt;&gt; Luke Shepard<BR>
&gt;&gt; Sent: Tuesday, April 13, 2010 1:36 PM<BR>
&gt;&gt; To: OAuth WG<BR>
&gt;&gt; Subject: [OAUTH-WG] Combining the Native application and User-agen=
t flows<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; In the latest draft of the OAuth 2.0 spec, there are four &#8220;U=
ser<BR>
&gt;&gt; Delegation&#8221;<BR>
&gt;&gt; flows:<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; 3.4.1=A0=A0 Web Callback Flow<BR>
&gt;&gt;<BR>
&gt;&gt; 3.4.2=A0=A0 Native Application Flow<BR>
&gt;&gt;<BR>
&gt;&gt; 3.4.3 =A0=A0User-Agent Flow<BR>
&gt;&gt;<BR>
&gt;&gt; 3.4.4=A0=A0 Device Flow<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; The Native Application and the User-Agent flows should be combined=
 into<BR>
&gt;&gt; one<BR>
&gt;&gt; flow. The combined flow works for all client-side code. This is ho=
w it was<BR>
&gt;&gt; in David&#8217;s original draft; I&#8217;d love some help understa=
nding why it was<BR>
&gt;&gt; separated again.<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; From the draft:<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; The native flow is intended for desktop applications where &#8220;=
the client is<BR>
&gt;&gt; capable of interacting with the end user's user-agent but is incap=
able of<BR>
&gt;&gt; receiving callback requests from the server (incapable of acting a=
s an<BR>
&gt;&gt; HTTP<BR>
&gt;&gt; server) ... instead of using a callback to deliver the verificatio=
n code<BR>
&gt;&gt; to<BR>
&gt;&gt; the client, the authorization server displays the verification cod=
e to the<BR>
&gt;&gt; end user via its user-agent.=A0 If the client is able to interact =
with the<BR>
&gt;&gt; user-agent, it retrieves the verification code automatically.=A0 O=
therwise,<BR>
&gt;&gt; the end user manually enters the verification code into a client d=
ialog.&#8221;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; So the flow is:<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; 1/ User goes to oauth/authorize endpoint.<BR>
&gt;&gt;<BR>
&gt;&gt; 2/ Server displays a page that says something like &#8220;We are d=
one here&#8221; and<BR>
&gt;&gt; puts a code in the title.<BR>
&gt;&gt;<BR>
&gt;&gt; 3/ Desktop app makes a call to exchange the code for an access tok=
en, and<BR>
&gt;&gt; closes the window.<BR>
&gt;&gt;<BR>
&gt;&gt; 4/ App uses access token.<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; A simpler flow, which works for Desktop as well as Javascript apps=
, is:<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; 1/ User goes to oauth/authorize endpoint.<BR>
&gt;&gt;<BR>
&gt;&gt; 2/ Server authorizes, then redirects to the callback url .. someth=
ing like<BR>
&gt;&gt; about:blank#access_token=3Dblahblahblah<BR>
&gt;&gt;<BR>
&gt;&gt; 3/ App uses access token.<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; At Facebook we have a lot of experience integrating with desktop a=
pps.<BR>
&gt;&gt; (i.e., Facebook for Adobe Air, Seesmic, Tweetdeck, iPhoto). In my<=
BR>
&gt;&gt; experience, none of the desktop apps like to show a code that the =
user<BR>
&gt;&gt; then<BR>
&gt;&gt; enters into the app. Instead, apps typically receive the session (=
access<BR>
&gt;&gt; token) directly in the response url. They can either use a URL on =
their<BR>
&gt;&gt; domain, or a fake URL like about:blank, or an endpoint provided by=
<BR>
&gt;&gt; Facebook<BR>
&gt;&gt; (/connect/login_success.html). More info:<BR>
&gt;&gt;<BR>
&gt;&gt; <a href=3D"http://wiki.developers.facebook.com/index.php/Authoriza=
tion_and_Authentication_for_Desktop_Applications">http://wiki.developers.fa=
cebook.com/index.php/Authorization_and_Authentication_for_Desktop_Applicati=
ons</a><BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; The access token never goes over the wire (it&#8217;s in the fragm=
ent even if<BR>
&gt;&gt; the<BR>
&gt;&gt; url is legit) and the desktop app gets a more well-formatted respo=
nse.<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; I just don&#8217;t get the point of the hacky code-in-html style. =
Can someone<BR>
&gt;&gt; point me to a place where this is in widespread use today?<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; _______________________________________________<BR>
&gt;&gt; OAuth mailing list<BR>
&gt;&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://ww=
w.ietf.org/mailman/listinfo/oauth</a><BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt; _______________________________________________<BR>
&gt; OAuth mailing list<BR>
&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ie=
tf.org/mailman/listinfo/oauth</a><BR>
&gt;<BR>
&gt;<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7EB8D0138E7cmortimoresalesforcecom_--

From lshepard@facebook.com  Wed Apr 14 16:24:49 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 32B773A6AB3 for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 16:24:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.635
X-Spam-Level: 
X-Spam-Status: No, score=-2.635 tagged_above=-999 required=5 tests=[AWL=0.030,  BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334, J_CHICKENPOX_55=0.6, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XO2roWOSjQ3d for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 16:24:47 -0700 (PDT)
Received: from mailout-snc1.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 0402D3A6AD7 for <oauth@ietf.org>; Wed, 14 Apr 2010 16:24:08 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.212]) by pp01.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3ENNYJX025038 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Wed, 14 Apr 2010 16:23:34 -0700
Received: from sc-hub06.TheFacebook.com (192.168.18.83) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.682.1; Wed, 14 Apr 2010 16:23:51 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub06.TheFacebook.com ([192.168.18.83]) with mapi; Wed, 14 Apr 2010 16:23:51 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Marius Scurtescu <mscurtescu@google.com>, Chuck Mortimore <cmortimore@salesforce.com>
Date: Wed, 14 Apr 2010 16:23:48 -0700
Thread-Topic: [OAUTH-WG] Combining the Native application and User-agent flows
Thread-Index: AcrcHiltVDxMUEvlTmmTafQN+NxQiQACjGUA
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66DBE1@SC-MBXC1.TheFacebook.com>
References: <m2k74caaad21004141359nc1465147q3d817a33bf77f868@mail.gmail.com> <C7EB7F60.38CB%cmortimore@salesforce.com> <m2l74caaad21004141501v5b9b49a3h7d4844b3d5ea9ca9@mail.gmail.com>
In-Reply-To: <m2l74caaad21004141501v5b9b49a3h7d4844b3d5ea9ca9@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-14_15:2010-02-06, 2010-04-14, 2010-04-14 signatures=0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Apr 2010 23:24:49 -0000

To get a verification code in the Native App scenario, the app either:

1/ Asks the user to copy/paste it.
2/ Retrieves it programmatically.

For 1/, I haven't seen a widely deployed desktop app use the copy/paste sce=
nario. For apps that do want the user to copy/paste a code, we have designe=
d the Device Flow just for that.

For 2/, from my conversations with desktop developers, it is easier to grab=
 information from the URL than from the <title>. This is because you don't =
have to parse and understand the content. It's also easier to poll for chan=
ges in the URL (as results from a redirect) than to monitor the state of th=
e entire page. I can dig up some source examples if that's helpful.

I'd like to ask the list again: has anyone deployed a desktop application, =
in the wild, that uses a protocol close to the one that's proposed in the N=
ative Application flow? I've listed several apps below that use the flow I'=
m proposing; I'd really like to highlight specific examples for the other s=
ide.

-----Original Message-----
From: Marius Scurtescu [mailto:mscurtescu@google.com]=20
Sent: Wednesday, April 14, 2010 3:02 PM
To: Chuck Mortimore
Cc: Luke Shepard; OAuth WG
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flo=
ws

On Wed, Apr 14, 2010 at 2:19 PM, Chuck Mortimore
<cmortimore@salesforce.com> wrote:
> As far as 2,3, and 4, the window title approach is really irrelevant.
> =A0=A0=A0Instead, the client will either directly handle callbacks throug=
h a
> custom scheme, or be able to recognize when a known callback URL has been
> loaded, and hence can extract the fragment from the URL directly.

This is a very strong limitation, only native apps that can register
and handle a custom scheme will work.

What do we get in return, just a slight simplification in the spec?

Assuming simplification is the main driver, I think it is feasible to
combine Web Callback and Native Application, with no penalty.

Marius


>
> I'm not sure it's cut-and-dry that the world will never need the copy-pas=
te
> mechanism that Native Client flow supports, but from a usability
> perspective, we don't plan to deploy this and instead will be relying on
> callback techniques where ever possible.
>
> -cmort
>
> On 4/14/10 1:59 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
> On Wed, Apr 14, 2010 at 7:44 AM, Luke Shepard <lshepard@facebook.com> wro=
te:
>> Anyone have feedback on this?
>
> I can see several problems with using the User-Agent flow for native
> applications:
>
> 1. A verification code is much simpler to copy-and-paste (as opposed
> to access token + refresh token + lifetime). At the extreme, the
> verification code can be memorized and typed, this is impossible with
> the tokens.
>
> 2. Not in all cases a native application can intercept a token sent
> back to some callback URL. The native app could be a command line tool
> on a headless server, for example. Or, the user's default browser
> window does not show a custom title.
>
> 3. While it is feasible to extract a short verification code from a
> window title, that may not be possible with a long access token (it
> can end up truncated). Not to mention refresh token and lifetime.
>
> 4. Just redirecting to "about:blank#access_token=3Dblahblahblah" is not
> reliable IMO. Try this in Firefox, nothing in the title. Same thing in
> Chrome will show the token in the title. I think the callback must
> render a proper HTML page with the proper <title>
>
> 5. Not clear that the User-Agent flow is safe enough to send back a
> refresh token. Was that decided?
>
> Marius
>
>
> The typical solution is for the native app to launch a browser and
> then watch that process and look for
>>
>>
>>
>> Sorry to push - we are in the midst of implementing this on a short
>> timeline
>> and it's important that we have clarity about the different flows. As it
>> currently stands, I would not support the "Native Application Flow" and
>> would instead tell desktop developers to use the "User-Agent Flow". But
>> that
>> is confusing and it would obviously be better if the flows were named
>> correctly.
>>
>>
>>
>> Can someone persuade me otherwise?
>>
>>
>>
>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf O=
f
>> Luke Shepard
>> Sent: Tuesday, April 13, 2010 1:36 PM
>> To: OAuth WG
>> Subject: [OAUTH-WG] Combining the Native application and User-agent flow=
s
>>
>>
>>
>> In the latest draft of the OAuth 2.0 spec, there are four "User
>> Delegation"
>> flows:
>>
>>
>>
>> 3.4.1=A0=A0 Web Callback Flow
>>
>> 3.4.2=A0=A0 Native Application Flow
>>
>> 3.4.3 =A0=A0User-Agent Flow
>>
>> 3.4.4=A0=A0 Device Flow
>>
>>
>>
>> The Native Application and the User-Agent flows should be combined into
>> one
>> flow. The combined flow works for all client-side code. This is how it w=
as
>> in David's original draft; I'd love some help understanding why it was
>> separated again.
>>
>>
>>
>> From the draft:
>>
>>
>>
>> The native flow is intended for desktop applications where "the client i=
s
>> capable of interacting with the end user's user-agent but is incapable o=
f
>> receiving callback requests from the server (incapable of acting as an
>> HTTP
>> server) ... instead of using a callback to deliver the verification code
>> to
>> the client, the authorization server displays the verification code to t=
he
>> end user via its user-agent.=A0 If the client is able to interact with t=
he
>> user-agent, it retrieves the verification code automatically.=A0 Otherwi=
se,
>> the end user manually enters the verification code into a client dialog.=
"
>>
>>
>>
>> So the flow is:
>>
>>
>>
>> 1/ User goes to oauth/authorize endpoint.
>>
>> 2/ Server displays a page that says something like "We are done here" an=
d
>> puts a code in the title.
>>
>> 3/ Desktop app makes a call to exchange the code for an access token, an=
d
>> closes the window.
>>
>> 4/ App uses access token.
>>
>>
>>
>> A simpler flow, which works for Desktop as well as Javascript apps, is:
>>
>>
>>
>> 1/ User goes to oauth/authorize endpoint.
>>
>> 2/ Server authorizes, then redirects to the callback url .. something li=
ke
>> about:blank#access_token=3Dblahblahblah
>>
>> 3/ App uses access token.
>>
>>
>>
>> At Facebook we have a lot of experience integrating with desktop apps.
>> (i.e., Facebook for Adobe Air, Seesmic, Tweetdeck, iPhoto). In my
>> experience, none of the desktop apps like to show a code that the user
>> then
>> enters into the app. Instead, apps typically receive the session (access
>> token) directly in the response url. They can either use a URL on their
>> domain, or a fake URL like about:blank, or an endpoint provided by
>> Facebook
>> (/connect/login_success.html). More info:
>>
>> http://wiki.developers.facebook.com/index.php/Authorization_and_Authenti=
cation_for_Desktop_Applications
>>
>>
>>
>> The access token never goes over the wire (it's in the fragment even if
>> the
>> url is legit) and the desktop app gets a more well-formatted response.
>>
>>
>>
>> I just don't get the point of the hacky code-in-html style. Can someone
>> point me to a place where this is in widespread use today?
>>
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

From lshepard@facebook.com  Wed Apr 14 16:25:16 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 233303A67B7 for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 16:25:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.938
X-Spam-Level: 
X-Spam-Status: No, score=-2.938 tagged_above=-999 required=5 tests=[AWL=0.327,  BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NBxEWzFr2obJ for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 16:25:15 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 372303A6AAC for <oauth@ietf.org>; Wed, 14 Apr 2010 16:25:04 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.212]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3ENOLSW029361 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Wed, 14 Apr 2010 16:24:21 -0700
Received: from sc-hub02.TheFacebook.com (192.168.18.105) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.682.1; Wed, 14 Apr 2010 16:24:55 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub02.TheFacebook.com ([192.168.18.105]) with mapi; Wed, 14 Apr 2010 16:24:55 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Marius Scurtescu <mscurtescu@google.com>, Chuck Mortimore <cmortimore@salesforce.com>
Date: Wed, 14 Apr 2010 16:24:52 -0700
Thread-Topic: [OAUTH-WG] Combining the Native application and User-agent flows
Thread-Index: AcrcHiltVDxMUEvlTmmTafQN+NxQiQAC21HQ
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66DBE2@SC-MBXC1.TheFacebook.com>
References: <m2k74caaad21004141359nc1465147q3d817a33bf77f868@mail.gmail.com> <C7EB7F60.38CB%cmortimore@salesforce.com> <m2l74caaad21004141501v5b9b49a3h7d4844b3d5ea9ca9@mail.gmail.com>
In-Reply-To: <m2l74caaad21004141501v5b9b49a3h7d4844b3d5ea9ca9@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-14_15:2010-02-06, 2010-04-14, 2010-04-14 signatures=0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Apr 2010 23:25:16 -0000

> Assuming simplification is the main driver, I think it is feasible to
> combine Web Callback and Native Application, with no penalty.

How would that work? The Web Callback flow assumes the presence of a client=
_secret, while the Native Application does not have a secret.

From atom@yahoo-inc.com  Wed Apr 14 17:08:29 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 502E928C10F for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 17:08:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -15.199
X-Spam-Level: 
X-Spam-Status: No, score=-15.199 tagged_above=-999 required=5 tests=[AWL=-0.200, BAYES_50=0.001, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gPrdMbWespV4 for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 17:08:28 -0700 (PDT)
Received: from mrout1.yahoo.com (mrout1.yahoo.com [216.145.54.171]) by core3.amsl.com (Postfix) with ESMTP id 6A02128C13D for <oauth@ietf.org>; Wed, 14 Apr 2010 17:08:27 -0700 (PDT)
Received: from SNV-EXBH01.ds.corp.yahoo.com (snv-exbh01.ds.corp.yahoo.com [207.126.227.249]) by mrout1.yahoo.com (8.13.6/8.13.6/y.out) with ESMTP id o3F079nr055370;  Wed, 14 Apr 2010 17:07:09 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:message-id: thread-topic:thread-index:in-reply-to:mime-version:content-type:x-originalarrivaltime; b=jccL1q1slGShGAjMX4LcV12s6LRc6QHj42xZ5SIMOIlfgGiMZspQhbov2DvjYHZt
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXBH01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.3959);  Wed, 14 Apr 2010 17:07:09 -0700
Received: from 10.72.181.200 ([10.72.181.200]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.59]) with Microsoft Exchange Server HTTP-DAV ; Thu, 15 Apr 2010 00:06:49 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Wed, 14 Apr 2010 17:06:46 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: Luke Shepard <lshepard@facebook.com>, Marius Scurtescu <mscurtescu@google.com>, Chuck Mortimore <cmortimore@salesforce.com>, OAuth WG <oauth@ietf.org>
Message-ID: <C7EBA6A7.2B0FC%atom@yahoo-inc.com>
Thread-Topic: [OAUTH-WG] Combining the Native application and User-agent flows
Thread-Index: AcrcHiltVDxMUEvlTmmTafQN+NxQiQACjGUAAAHLmOY=
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DBE1@SC-MBXC1.TheFacebook.com>
Mime-version: 1.0
Content-type: multipart/mixed; boundary="B_3354109608_1223859"
X-OriginalArrivalTime: 15 Apr 2010 00:07:09.0753 (UTC) FILETIME=[978B1A90:01CADC2F]
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 00:08:29 -0000

> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3354109608_1223859
Content-type: text/plain;
	charset="US-ASCII"
Content-transfer-encoding: 7bit

As a security person, I'm hesitant to bring this up, but perhaps the Device
Flow should just be the flow for native client apps.

The main security argument against the Device Flow is that users are
vulnerable to the Oauth 1.0 Session Fixation attack, in which an attacker
gets an Authorization URL with the user_code prefilled, and then "phishes" a
victim to approve it.

The Flickr Uploadr is a native application that uses an auth flow that's
nearly identical to Oauth 1.0, and it does NOT use a verification code, and
it is susceptible to the session fixation issue.

http://www.flickr.com/tools/

The way Flickr deals with this issue is by designing their browser UX to
make it very clear to the user that they should only be seeing this flow if
they were trying to authorize the Flickr Uploadr desktop app. The user
should *not* be seeing the flow if they clicked on a link from IM, email,
twitter, or a web page.

Perhaps if we had a OAuth2 UX spec, we can standardize on best practices for
the AS approval page for flows which don't have a verification code.
Something similar to what Flickr is doing might be the best compromise.

For reference, I've attached a screenshot of the Flickr Uploader approval
screen. 

Allen


--B_3354109608_1223859
Content-type: application/octet-stream; name="Picture 1.png"
Content-disposition: attachment;
	filename="Picture 1.png"
Content-transfer-encoding: base64

iVBORw0KGgoAAAANSUhEUgAAAz0AAAGwCAIAAAAMu5wNAAAPT2lDQ1BJQ0MgUHJvZmlsZQAA
eAGtWHk0VV/733c2j9cYGUO4mRNlnoeQWTK75vG6LiFDKSWZNRkzRGQWUVJkSqUSIjTI+JUx
U8R7LvX9rvf3W+96/3n3Wvecz/7sZzr7ufs86zkAMHI5BQT4wAEAvn5EgqmOOq+1zWlezDBA
ABSgBnRA3sklKEDNxMQQEvkPY20AwMhLfTiyLa0gkZDrI1bLeSYOVSsFfu7/QekPTUeAHAIA
E4cIrPs+ViVj531sTsYhxAAiJONBxi4eTq4QjoCwOMHcVAPCJRCmc9/HD8nYeR93kTHJxZ2s
+wEANJOfq6cfAJg5CCu74oNcoGWyX1fXIBdfCCcDAFf29fWH7DO8gXgRlwACpMuwAWFB8r5A
d2gEagJwHPKJ+PYPZz8BQHUcAIzC/3BC5QAwQb6ecPzDrZju7RWMtTfITUZ6zxyMRh0A1Nju
7ooQFFsqAL9Sdne38nd3fxVAPkYAeOrjEkwg7clCDwJ7BcB/m+8/828NBJQccoKFwRUYK6wK
HoAwQ5qhgtElmEVKY6pyGi7ai3SrDGNMr7DPWGvYizmzuTIPZvHe5M8WLBKqFGkS7RDvOZIn
6SUtLbMkVyZvqwBTzD4hodSgIq9apc6vkaq5rC2mY6N7Wa9e/5sh00lVIz/jTJMXpzbMDpmb
WkRbVlh9sAGnRW3NzoTa5dk/d5hyonYWdzFy9cUnuJW7d3uMei56w3yYfQX8ZPzVA0wC7Qhe
QURidHA8KT0kOzTnbHZYZvjtiBvn0iKTouKjL8REnA++4BPrctH20qk4zctHr4jGH7yKTaC6
Br+2nbietJK8lLKUupS2kv7zOvUN3puyt7RvW2biswKzw3LO58blXb2TmJ9UkFSYWHTl7oXi
iBLiPe9SpzKL+3rlihXilVxV1FU/q2dqhmuH6z4+GK4fbOh9+LzxQVP+o/jHfs0mTyRaaFqm
nj579ri1vq38eUF7RsfFzoAu6+4TL7hebPb0vSx9FfXatFew98ebtrep7xz7xPs23rf1JwyY
D3INfv1QMuQ7LDm88PH+iOeo0Oj4WN4nu8+cnwe/pH89NU4//vLblQnViaXJ21MaU7PTCTNi
M52zdrPLf0XOUc4lfcd+z5jnmC9YkFhoXjRcHFnyXQbL6SuHV1p+WP5YWL28xrVWuM61Hrn+
eUN/o2ETt1nx88TP4a3kbctfuB3mXdTuLpR/NmACimGcsBq4K0ICiUWxo8UwBhQEynyqfhoq
2nR6UYaHTMbMsyzxbDj2D5yxXEe553gK+WwEOAR7hUginIdrxQzEPx5xkxiXspXukBWXu3h0
+JioAlGx9vgXJYyymIqhqrdanHquxgPNbq1h7RmdNT2EPq0BqyHHSW4jPmMBE6FToqY4Mylz
WYtjlsetVKzVbTRP69hqnlGzU7ZXdDjqKOUk6szvwunKgEfjt9wW3Sc8Bj07vR54F/ik+Eb5
eftbBagFihFYCDtBk8Te4AZSTkhMKP6sTtjhcJrw+Yi352ojr0eFRdvHaJwXuUB7YT126uLI
pd641st1V4riM65eTAi65pxokqScLJbCkUqRup42md6f0Xa96kbWzbhbgbdPZ2pkiWdjs3/l
TOa+y3txpy2/saCyML8o9W50sU+J5T2VUuEy2rIf9z+Wt1U0VlZXFVdn16TUxtYFPXCqN2yQ
e3jg4W7jl6bWRwWPM5rjn0S1BD11e2bVqtMm95yvnap9uWOws6krqzvihXWP3Evsy5VX7183
9Ga9ufDW+51Fn+p7XD/nAGZgZfDdh6qhpGG/j0YjEqMMoytjA5+aPud+if3qNW7yTWqCYmJ4
8v5U5PSpGcGZ9dmev/Lmgr8bzPPNbyz0LpYsxS67ruj+kFo9uMa0TrvBsMn9U2bLdDvk152d
3r380wM54AsaYGywQrguAo4YQXajnqKbMU0UjZQtVIs0crThdK0M9Iz2TNVYChY863N2QY54
zmWu09xPeNh5PfmaBDCCxocShdqFNw8fEtURcxUPw107kiVxV7JUqkK6SqZatlau9mitfPWx
SoUyxZLjhSdylW4rJ6qQVG3UTqhzq29rfNR8qJWuHaCjryugu63Xp19mcN7Q+iTOCGE0ZFxl
cvmUo+kxM0azGfNWiyzLYCsjayHrLZve0wW2pDO6dgfs5uybHZIcHZ0knYHzG5c810D8CTdK
t373Ox4+nvJeMK8e73Qfe19h30W/Rv/zAQaB2MAxQkkQgagYDAvuIiWGmIWyhX48mxvmFC4Q
PhJx7Zz8uW+RGVGG0ZjorpjE87YXcLGI2LGLjy7djgu/bHtFMZ4jfu3qu4SyazGJZkl8SXPJ
dSkhqfKpq2kN6RkZYdcdbmjdFL/FfOvn7S+Z3VlV2TdzInPxeYZ3xPOR+QMFpYVRRVZ3pYrp
ixdL+u+1lJaX5dxPK4+viK2MqAqq9qpxqDWr036gUC/WcPAhQyOica1p9tGnx4PNI0++tkw/
nXs237rQNv98pv1rx1Dny64n3eUvMnvSXta/muxlfaPzNvTdvb7hfuoBpcGAD/lD7z9iRhRH
Yz8Jf576WvMtYZI0HTybONe2wL6U+gO3Nr/Ztz1Ezv9+7SPXBPRRAO4MAmBJBYBRDwA5QwAI
OUK1C6o3JrQAmCsA+F03AKdSArDQU+BP/cACHNAC9oAEksA90AZGwSZUT2RgpjACLA12H9YB
+wLbhrPDZeGmcH94Ivw+/CV8DkGDwCGMEAGINEQ9YgjxC8mH1EZ6I1OQDcgxFAqFQ1mgolGV
qE9oBrQamoguQY9imDEGmFhMC2aLQoHiLMUjil1KTcoEyn4qPio/qsfUtNQu1B00YjQpNJu0
zrSv6BToiulZ6ePoNxl8GL4wWjO+YdJjamNWZX6KVcO2seiwvGa1YP3E5s22yX6Zg5OjnFOD
c/gAgYuGq5z7FPfGwTwefZ513iI+S35K/icCwYISgrOHSoTchUWEl0VaDieKOojJiFOJj+Oe
HMmWiJR0ktKRlpDhkEXLbsp9P/pV/sOx1wodis3HH5woVypSzlG5oZqidlU9QsND01JLR/u4
jrSuuJ6ovriBlKHiSW0jC2N3k4hTaaY1Zu/M1yy5rLStg2wKT384w2Cnb3/ZoQuqiyYuMa7V
+An3gx72noVeyz66vsX+dAHnApeDfInfSUohSaGTYerhRefoIqOjtmKiLtDE5l9Sjft2Jfmq
esJmYm1yUOqxdETG+xulty5lumXr56reUSlQLdIqNrxnWeZcTqiMrb5VW/1g4aF+U22zTEtv
a0p7VNetnoHXX96Ovh8Y7ByuHs34TBw3mUz7i3dBZfnxavYG9U/5bcWdQ3vvD36gBhxBFMgG
j8EI+AXjhWnAPGHJsCrYG9gSHAuXh9vCo+BF8B74EoIDoYrwRKQiHiMmkYzIE0gPZAayDbmE
4kEZQ/muQ02jD6It0YnoLgwCo4qJxLRQwCm0Ka5RDFLyUwZSPqPCUnlSPaXmpA6j/kyjS1NL
y0ubRAejI9HN03vQTzDgGaYZfRl/MEUyUzNnYyWx7Sx2LGusyWw4th52Hw46jhpO6wPgQCmX
JTcF96ODgTyHecZ58/gc+QX4pwWqBMMP6QqxCc0IPxXJPBwqai2mKM6Dw+CWj3yWeCP5XKpJ
ukamXLYSepM9kn9+7I3CmOL8CaDErCyioqxqqeavHqNxTTNTq1z7mc4H3RV9BgNJQ9OTIUY5
xp0mS6ZcZnrmoRallp+s2W3MT6fZ9ttx2js5lDquOqu5RLjW41fd5T2iPF968/iQfPv8ZQJu
BO4EuRPfkoRDIkL7wyTDkyN+RNpHvYIqWEus+sWeOOvL0/HWV19cU0msT5ZKqUqTS39y3ejG
+K2oTL6szpzgPLE7nwrSirTurpYUlBqXbZYXVBpWrdbk1unXYxs+N1Y8imjWb+F4OtVa/zy2
w7SLv3u5p+1VfW/j25a+9v6Xg/1Dox8nRxc//fyK+sY4eWCac5ZpDv59eqFtKWXFdBW1Vrah
szm85b69tBO6l39ZYAtiQBHoBgtQDVGH+cOyYe2weejEa8ID4bnw1/AdhATCCTrpnYgtpBTS
HZmDHEDRo/RRl1AdaAq0AToZPYjhxfhgHlHQUjhBVYeFkkg5SKVEdZeamTqWepPGn2aG1pX2
K50z3QS9F/0yQwQjBeMNJhGmx8xnsEhsBcsZVjrWNrYIdgX2TY5mztgDxlxcXPPcbQdv8wTx
nuQThc7wrMBrwdpDmUKXhIkiXoedRe3F7MQdcPgjfhJhklekMqEq1Sk7dZRS/sgxK4VYxbrj
00o8yjYq11UH1Dk07DQLteZ1lHST9aYNtAzvGlEbB5uMm4aY81g0Wxlb9582tm2247c/7zDq
JO+c5DKHN3Cr9GDzvOS14xPtR+t/N9CQsENsJMmGFJ1lD0uIAOdIkd+j3WK+XLCPHbvkCJ3S
iKuiCR8SY5NxKe/SAjIor2feFL5VkSmdVZsjndtwRym/q9CiaKo4/B5Tadl97fKvlZHVB2oe
1pk/GGlwfjjbRHqMbr7VIv30bSvpOX/7+86Ebv0empeNr7l7o99MvNPvq+pnG4ganB46Nfxo
RGg0ZezXZ+8vQ+O63xom1ic3pzamV2cWZqf+Gprr/l43f3shYtFmSWoZtfxuJfuH46rA6tja
9XWD9a2N0k3Tzc2fuVvKW6PbEb9YflXsaO8M7fqQ87/fL5HrB6DS8PfxJ/AaakCN0P90+PoE
Qz3Z3mCCrjR+zkbG0J2MpwOIJuRekBX6/QwimWlBdwaoHWJw89TW+415XZ00DSDMBfGSYR4a
RhCmgbChG0HbFMKQHZi1l5O+CYTpIOyF97Mw+82HBvjs9bhkmfgAojpZnh3CWfggrT8ydWEe
5la/dTsIwaYWEBaEZN57+xuQ5cm+Nlzxmr9jgyP9fIwMIR6KGY71JOqR48dCWBRoAydAAO4A
D9VUQ6ABNH9feSGeF5r7Q6t4EATJfduT+yNluTf3/D9aOOC2Z4+0p+MNJiEdXwfP8wTI1r71
buACcU7A7w8jWSY5I7n9Z7bn0WfP6x8NA2j278y+pf3o9lc8gSsk9Yd3+aNB9uxb40a66X9W
0dIDKYSURsoh1ZFKSGWkAuBFsiI5AQ4pizyGVEOqII9Dawqv5xrm/o5lf2+c/35GAygOPAje
2xG/v9n/5xV4Qt8w9np3aJcBGvpvZLWSUXsM+ZPAvw8iPhTq6wHQ8A84S/B09yDyqkFfLvDi
vHp+LkfEeaUlpSTBvwDE/4FuZ9oKpAAAAAlwSFlzAAALEwAACxMBAJqcGAAAIABJREFUeAHs
nQWcW1XahzPJZNxd6y7US1uq0FKk0GJbtAUWd1jYxWVxWVw+3BaXCpTSUqBGoVCFUpfpuLvH
vidzyiVNMtPMZCadLm9+0/Tcc48+9yb3n/c94me1WnXyEgJCQAgIASEgBISAEOj0BPy9b+Gm
zIZnvq1YvqN+f4nZsbSusf7zrkoc2iWQSNLc+FGJ41kV/v6WFC2SNOV1ziKyW6x/tzijlqbN
gRs/LN6U1eiUfe648AuPCXeKlEMhIASEgBAQAkJACHROAt7qNvTQM99Wuu0bMk7TYQRW7Kx3
m0yLRNi5prnnlOh7To3W0rQ5gGhzLXxy3+A2FygZhYAQEAJCQAgIASHgYwJe6bb7FpY1J9pU
N6KC9T7uj1QnBISAEBACQkAIHJKAn5/fY48+qiX757/+pYXdBmw2m9t4p0iKdYpp+dDDYlsu
5C91tu26LaPYdN8XZS3DUk7SltPIWSEgBISAEPifIWA2mxk2HRAQ8D/To//tjii55ijg2qW/
CxcuPGQ5p5566iHTHN4EdY0Wk9kaEdIOg7XoSG2DfSxZSGDbdZei0fb88zfVHl6gUrsQEAJC
QAh0HgJ1dXXff/99SUmJwWBAtx177LExMTE5OTlbtmyZPn269+18//33Tz/99KCgIFXUL7/8
EhgYeNRRR3lfstsSaurNQ65buvuVk+7+75Yu8SGXTO/hNplT5KtL9s4akxofaR/Y3bbXoKu/
XvXosdFhLQnfy19YN2NUyimj/xwg3ra6VK5XXnklKjqa9+YKueyyy5o75TYe0Zafn3/WWWe5
PasiP/nkE2r0sOR31lQt3Fz76ZWJKu8Pu+uvfb94w91pruXf8kkJw+KvPjbS9VSrYoorGy5/
ft2vGRWBRn1kiPHVa0cO6BK5/LfCl7/e+8EtY1pVFIm3ZlXe+OrGXbnVMeEBiVFBj8wdPLhb
lNtCPLl/2q7bFmysca01Mlg/7+pENW5s+Y461wQSIwSEgBAQAv+TBDZv3oxQO/HEE/GUbd++
ffny5cispKSk2NjYjujvkCFDWuuS64hmOJXJc/fEkUlOkZ32EGMbljbNQ/rzzz+PHj2a1joG
4uLiHNN42BdEG8rstNNOw/7Ki1wmk4l3whaLZdWqVUOHDt20aZOHpfk+2TMLd/VPj/j0tnHc
Y+9+n3HlSxtWPDxlbL/Yo5rRWy20sLy68YyHfrjr7AGnjU0LDjAs21RwzuM/fXH3hO6Joa65
PLl/2q7bXOsjhjkE2mB/LeA2pWvkU7NjtXkM2lmEsxaWgBAQAkJACHRaArhHeTbzjr2tb9++
0dH2KWVFRUW7du2aMGHC/v37161bxzM7LS1Nr9ePGTNm2bJl6DzOMsJp/PjxxFdXV69cubK8
vDw0NHTSpElRUVGkR/8VFhbGx8cTduw70hCrXp8+fb766qvIyMisrKyQkJDjjjsuPPzPVQKo
fc2aNfX19VQxduzYrl277tixY+PGjTQgMTGRVhFQZVqttnvf/33pxvzKOvPIXtHYVxzrUmGe
qS9+tZtRXmdPTL/1zP540E5/aE3vlDCexAlRgW9eP/qrdXlZxbXnP7F2/h3HlNWY/jNvx7pd
pWP6xV47o3fP5LALn/65X1r4J6uzQ4P8H5oz6N8fbC2vMd16Vr/Tx6Y1mCxXv7Thl11lw3pG
NZjs6yo8NX9nSmzQ7AldCJ9w98oP/zkmKiyAAj9YmRkVagzwP9Bspya5ttnDGPqyccO6AQMG
cAm2bt2anp4Oz7y8PC6BUl0eluOYDNE2b968U045hUhNtBFGtEG+qqrKMXHbwg0m23UfFn+z
tQ4ej58ZO3PYASVkMtumPJHbNda4fn/DgBTjOxcnhAW1brS9yWLF4Gqy2AL8/c6b1LVfWgQt
3Li3/MOVmU9fOmxvfvW1L2/MLq47eVTypr1lX907kYs7sEvER6uyzBbbU5cMnXJUgtajt77N
OG5I4rmTuqqYqUMTZ45J/WhV5nWn9D75vtXfPzSZ+Hk/5uzIqYwODdDuHy63VoJToHU9cczs
Oj2Ts0PTm63JMa/bMIPhkHpOf+2yCIjb6iRSCAgBISAE2pHAsGHDeBi/++6733zzzc6dO1Fa
FI7Yqq2tRTmtWLECz+nMmTOLi4s55FRNTU1FRcWZZ5559NFHr1+/nphff/0V9XbOOecMHjxY
xWzYsMHf33/27NlILpVLa3BDQ0NjYyOCDHmBSe/cc8+lxm3btmkJCCDRRo4cSfZRo0YRJmbt
2rWzZs3CGoRio3Yt8S+7S7dnV655/LiNz0zbX1S78vdi7ZQK4Dh7+es9S/89iQftyi3FO3Oq
GKX/w7biQV0jf31++vCe0W9+u+/yE3umx4X89+ajeejiZeNBToFH94m9493fKCSvtK6y1rzu
qamjekdf8uy6924e8/aNo7HrcOqxz3YEBRg4deKIpJIq+5JVZdWNVbUHltbKLqm12nTf/1o4
/6ecb+6f9OKVIzbvs7fctUlEtu2FaBs0aBB5EW3du3dHq0EVSxsxyOi2lUkuRNsXX3zhmB0V
jmhrgxbEgzf+kRz1d+V/D1ydRb/VltZYt/477Ytrk+6cX6pNceDSrNnTMLFP0Lb707rFGm/7
vNSxDZ6E/zGrb0ZBbe/Lvprz5NoPV2UO7W53a9Y3WgrKGwhc8cL6cyd1Wf/0VMKoN965uHvy
arjc/z5v4COfHnQTbs+uGtz1IL/tsB7RG3aX8QMAlUZeXtX1ptKqRsf7R8W7fW+7bnNb3OGK
ZJIEF1X7O1zNsNe7qUC3fL/9r/ygdU9s29eab3redMWTpvsXW9vhZ8bh7KLULQSEgBBwJRAc
HDxjxgx8o8nJyTz+Fy1apD1HMZghrbDAMSKtV69eWl7CGOfQW8oklpGRgRrDfYaiys3NRfOh
HkiDxurZsycptYyOATxZqkzKIbvjqWnTppGXAXZ79+5F5HGKtmGfw6XLwDhlEVTpUVfPXj58
/tqchz/ZXlbVWFVnd+o5vrClxYUHvvNdxhvf7AsLMnz5Sy5nDXq/s8bbR1mh23juaumr680M
jbrg2G56vd/fJqRv2lteUWM/e9LIJFo7tEfU5MEJjIHrkxq+J6+a+DXbis88Js3or8f2hitN
K8cxgEacPjyJcW/kOrpvDKfcNskxiydh5SrFPYqh1Em0oa4Qbcu//15zpHpSoJaG7LxwlC9e
vJhIwog2DgloaTwPYBV67tw49XfDVLv1i9fnG2oC/f3+s7Ti0/U1Zqvuxz1/Xn2jQXf+mDBo
nzcmrA2jtrg6X9w9Ht/ouP5xry3dd9pDP2g3MxcXKXbW+HR/g37OsQesaDTmjGPSsINyJyjl
3dRA+xs3SUXtQbdTaVWDwdB29dU6L+SUx+13agsv1mBzXPsD16fnU0rbsDTuWz9ULdhUw5K/
FS4L9g5JD5g1NHTuuDDPLXaIv4veLHLtXVQIg/b+GK9w4zd2Zeb4Gpqoe2qaPeK+Vbqnf/ar
+PO+sVlvVwltqz8y3VNrePwUQ2yornKLKfJ5/9pr9AcG1zqWJWEhIASEwJFK4IcffsCsFRER
geVm4MCBH3/8cVnZgTUHsJlpveJRqoWReoSJ4aGo3Kw45pTvcty4ceg2XkquEdncHFUKV6dU
OVrhBJYsWUJkly5devfuzZgtYnCkogj37du3YMGCKVOm4BBU6X/aXnLZ8+vQWBMGxmF4c13y
AlkWHxXYPcnuieM9LTaEQEigITzYPtmQZ7Pj3kMcRoT4K2+mvqm7VXV2sRLRlNhP5xceYgei
ThFoNFuxtxFAuoUHH2BlwcjW9GJWI/87TmyMaXKiuW2SytLad+yjyq4GGZUXs2hrC3FNj40T
ocb9gE+cs8o9ShWY9FwTtxwTFWIY1rSMP8lqGw+QKa62jOwa2CvBfgnuPTU6MeJPyRtk9OOP
eAScxXlF/5arsp+95c3Nd80e0C0x9IoTe142vceom5Ztyz5gceGqGf0P3MNcaK2sxKbJKCh1
fO5aJIFRfWJeW7L3n2f00yIXrcubNKjJGv1HyvrGVjTxz8+SVmILAbe+Ucf0mw/ek8B1vJpj
Yqdwq5bGRbGhEV3lmlYmLeGPPRsu9Hi7BUSb2w5+d3OyViyizW9F5p+HOp39+mBam/Jfv82F
jvEO4TLLPbX+n46zXPydbUqNLW5WwK460ys79Nf1dUgjQSEgBITAkU0AfyjOTQauIZVwmGLf
CgsLY5IpveLhjYarrKxkCBqmL4avuXYVfYaKUqY17G2MS+Ppzig0jHBkZ6SaKso1Y3Mx2HWQ
aHPmzEHY/f777+hCVODXX3+NEQ5vrNFopExNty3bXHDm+LQ7Zw/A0vaP1zdbLAc9eqmCyZuf
/pDNLE7U2J3v/hbQjL2Es2azDZvZmL6x320uOGFE8tqdpSiwtDi7zmvuxaP9q1/yyIJlrrDp
xz9rT2QU2if/ISLLqk3o2lG9Y577ctf1p/Zm0NXK34sYI+Vhk5qrVItnMun8efO0Q6dA24xt
FMKEXy6ccrZOnjwZ+ESi1IlEuvHuVFEbDs8YHrohs2H2qLBGs+2U5/LH9PhzGm9VvW3VrnpG
Xi3cVDuuV6vNJPll9Y9+tv3+8wahw/CbV9aa0mKDC5vcaCzkwbX44ufc08emfrw665DNnnV0
yktf7WYE22ljU0m8Ykvh3rya5y8fzk3S0GgpqWyIjQjE4BrXJPvU/dNyma3TbS2X5Zuz5bUW
FNvba+y25UO+usV52sGnl1W4FW1s2HDoCRb3rXIj2iZ3PdC8sr22McP10f6WyhpdRqku1V/X
tYeugJ8yotsOeQElgRAQAkcMAawpOMIY38ZSHTykJ06cqFnIUGPoORyUWOMQbY7mN8fuMceQ
uQt465Bcw4cPJxej07CZff7552hBt2rPMbtTmFoYaP/ll1/inGXighoM161bN2JoGFVMnTpV
y4Lb65Jnf9maWYnpa3C3yMwi54WumFhwxri0k+5dGWg0xIYH3HPOQGdl11TW6D4xJ9+3atE9
E24+re+DH297esGugor6d286WqvIbeD2s/ozx3Dybd+jElJi7CIDp9vpD/2wfncZK0cw9YGY
GaNTVvxedMw/v8MW2C3BLnxdm+S28JYjPV+Mo+VynM4y+UApM7d2O06xUIhTljYcnjUylJkH
xzySY7LoZhwVwkQErRD8p//6tNRqsxkNfouua7VGfObSYVe+uL7PFYujQ40NZuuzlw1zXMUN
UxwzTF9YtHviwHhsrlqlbgMMdvz01nH/eH0T00rQ35GhAR/dOjY93q7jMeZNuX15YnRQjyY7
LjHa/YOpz21pRGLQa4V1Tn/p3uYKchuPpUqJHrzLxz6R55rG+moPLRInrKtyct3n6rQX8hd4
vHSc1oCWC8dDOuzfOa7Wu0l9ghx3ULU3Fbuak70tMtDRN6p1Rze5q+2785oOs00XbPR/tY/5
8WJ95Cpr38uN4/aanvY33jXkz8QSEgJCQAj8TxDgmYJC0lZZU31iOiFmM5yVHGKTw9bVwrpr
JCaBIwwK1CSgY7wnYUpD/zmOjePZSYGIOdfszAZoeeE0XGD1JkvLS6fi1tTGqGG9U45U17pc
YzDqOIoD2smEU6f2MMmRFcUYWaVl96RJWmLHAFK4VaKN9jhmby5MsZyi5OYSaPFq8TYPi9Vy
uQbqGq3M+nR0WWJ+i78xo+K57hW11siQP1m55m05BkMpq3hgD3NK9sGKTIxnuLZ/2Fr8/KLd
Hq7oxk8Cs8XqdPNwh/BLQLnUVS2O949TverQU3OU28y+j2RnLc9FG807tKmsqQ+nvVjgKtrU
WnSH7KN70XZQtjTDqI/Nz+n0J082DD9K9/I3pse26F+4+aAkciAEhIAQ+J8ggEhyEm10Cx22
e/fu7OxsbGAFBQWs8dZCX51EGynbLNpU1U51ISzcijaSOYkkp4wcYg9zeu66ptFEG6c8F20k
dhRtHNJO1/awhohTjZ40ySmLdlheVubhTgmt9ZZ6uKCu1hJvAsEBzSozb0QbTUILuoo24gvK
68965Efsst9szP/P34d62HjEmaM+U7lc7xDH+8dtyc53gNtEWqTjSC+39rMnmYjgsBSIY1gr
pM0BPKR4M91mR2NdOC6MtVtY7y2D/exrrcxX8NCXihZ0Gpanqvj+5mQGQrqtroVIG9N9u0Uy
4u3PwYp81K+72vby29b7X7UmBugKdPqHrjX0a2msQwvlyykhIASEwJFIAK3GEDesX0w4cLR+
HYl9+Z9ps1JjmnRzFGduI4+UjjMX4Ydb7YPJOuh1w8w+50zqsju3+tYz+zmp7Q6q0bHY1um2
Q5qvEGqHTONYfavCb62pdrWKUQJTR+ddlajNG1WBWcNC8bEesvxNmQ1ud1m1C9A/pq4cshCV
wDazj+6pqbo/FlM+2KAcaLj8MsPlFl29WRfkbHH1sHxJJgSEgBA4ogk4rrtxRHfkf6PxmoPy
ln/+8/HHHuNdi6GDbiM96bhjIZ6k74g0mCoHpbZ9NVlPmsR2Vfx5krLd07ROt7V79a0q8O01
7tc9e/PCeE20ORboNtIxAeGL3ipyiuFw5tCQG6YetEqeaxqnGLtom3emU6TLoUEX1GoDnksh
EiEEhIAQEAJCoD0JoNJci3Mb6ZpMYnxM4EjSbW69mWis1hrGNMR4XV0NeCwd8uZF9oVVWvfC
0iYvISAEhIAQEAJCQAh0JIFmR/N1ZKXtWfbQ9La7HV1FGy1DtLV2WJvd2PaHe7Q9+yZlCQEh
IASEgBAQAkLAgcARr9sm9W1nBzPTFBz4eBZky4S/5KuuvOEu/av8fXXjj39JANJpISAEhIAQ
EAI+JXAk+Undglmxw74gsttTh4xkeTbXFeOIwX/a2vFth6zLywT7lue+cewip0Kiuob9Y985
TpEddLhtfoZWcv9Z3bSwBISAEBACQkAICAGfETjidRsr+t6jO/S8UbdAEXxsqOC6XAgmt1lD
QzyZ1uC22ENGWk31jfYFiQx6z5YxpMDuk1Put15allH1/mlL8zeXEnPVhtOTh8YS2PDWzo1v
73SsNLpb2OlvTnaMcQq/MOwzYignaYh9c+KrN57Be3PK7POLlm98excJuk2y7/eVsSKP97HX
DzrpqbEE1Kt706k/juR/ISAEhIAQEAJCoEMIHEm6rTnzGHuVXnhMeNvwsFaIq25j3Bsr8W68
O61tZbacy5S35uFX2WG3+xV3zklopZs6ulv4xd/PeGPKl+UZ1T8+89uUe0YQM/zCPgg4Iusr
GpFWyCml57RmvD7lS8LorX4z7VtvnTfveIQaagzdRmnBUYEY83B0cogBLygqQAXOnXd8VLcw
iuVw2NzeJz41lpRkxze6+MYff3xmC4mHXdiHGMSfWODgIC8hIASEgBAQAh1NoJXCoaOb02L5
LKvr9jzblSLd3J5iAyu38VokRjW3y7wxd7UtA920clsK1LPk3DX3INrsS7zVV1RbWWrGz8Q+
ygS0fKbqinoVX31QFxBPypa2bf7+zy9aodKj4RBtWOD+/v0MRNuD0W8z5ox3pdiIxAJHytPf
nIRo06pQAc0De9Pes/G6IuluL52DekOxUQWiDVlGjUq0kYUAGo7AtgX7VQnYAlVA3oWAEBAC
QkAICIEOJXAk2dvYEQEt5ToJlJiL3yp65tuKuePC1Q4NGcXmzVkN8zfVXjgu/J5TD+FFvX5q
hNsFQViP15tFRtxeNj9TxhuvrubU8/8XfU7vbR+sLiA87qwz8hZ8tq+RzVy6n3fleYb1r77T
FK+L7t5dt29fmW7AzGvObHJoqjJRZsrqlr+pRCkzAprblDSoLv7qyxtRbCqLen8o5h3HQxVe
88wWAigzTHcqBmU29vrB8y5ekb+5hJigJjObOqUlcDwUJ6kjDQkLASEgBISAEOg4AkeSvY3l
OVoQYVjIbvqohN23+GuScZX7S8yegKPYp2bbB4q5vvCWsrmWa3ybY2zGbmfPZjv5IddcOslo
Qqn1Pu+amwJWfrYv4YTb7rlpcvS+T5bv0plqdGHjr79+dljZvojjrzlvRMDWDOfFgZV0oxl4
PxFtyDjNN8pwNxQbpjUscIQdm4ohTfvD9alOkZhAecZBBsvy/fZDBFlQZABVYJNzLAcfK4fj
rh+kIrtNto97k5cQEAJCQAgIASHQ0QSOJHsbLJjmiSHNdUSal5gYHod1zVXnEYOF76mz47ws
3zF7YKCdORufVupMuoCY1NjwEiMRZovFYrYrKH+LWRfQt09UFKIzbEi/WP/dAQE6N5dJE2pj
bxikhRl89v196xmXhhUNycV8BUa/OdauuTu1yGFz+6DMcLmeWN7Yf1ZXZNy+5Xk/Pr1FjVq7
uFs4Ko2prIycU85WzpLmxCfHqDFtzJbQipKAEBACQkAICAEh0KEE3AiCDq3P+8LfvCghKlj/
zLeV3hflWALL7WKoc4xRYSpiXF2blxpxLdAeE6CijboAu2QbOeuMjc9/9tgDy/CTzp7c3bCa
uAOWQovFnWRTuV3e8zaVMNCtfH/17RvnoM/UwDUi1RQEkuMnRY0xgo35pAxcUzEY3i7+7mQU
HoIP3yiRpEELHnvPCMIoQtIz1TSvyWdKzJR7UpB3Sv/hpUXzId0YS3dH2VzOyksICAEhIASE
gBDoOAJHnm6DBQYwtNRFbxa5WsjaTApl5na+KgWe9kLBvkfSW7uJQnMtCep28t236nQ2W7fp
19493R7QxQy8/O6BJpPJaLTLON3JNzWd1910902cVofNleYYj/Yqy6jGMPb9fRtYp0MNXGPd
EKadOlndkGKOGQm3PLcA05rbGaPMXUUXkh23rFOBcigEhIAQEAJCQAi0O4G26zZUjmtrsIS5
RhJDvNv0jonVlALHGMLsFuoUow6RWfse6cLibQs21izfWe+6dSnVUeDccfZ5lLw8KZxRbkxN
Vemd3udvrD2w1MjQRPssUKdX19ZtQu+UWx0eEG1uzx0ciVRS+xMkNa3fhuPy9eVfYhhzXFCN
HIw/U0PQXCcWHFxe24+oVLlo3aq6tpcrOYWAEBACQkAICAF3BPysVqu7eIkTAkJACAgBISAE
hIAQ6FwE3JvHOlcbpTVCQAgIASEgBISAEBACOp3oNrkLhIAQEAJCQAgIASFwZBAQ3XZkXCdp
pRAQAkJACAgBISAERLfJPSAEhIAQEAJCQAgIgSODgOi2I+M6SSuFgBAQAkJACAgBISC6Te4B
ISAEhIAQEAJCQAgcGQREtx0Z10laKQSEgBAQAkJACAgB0W1yDwgBISAEhIAQEAJC4Mgg4H43
giOj7dJKISAEhIAQ+OsReOihh/56nZYe2wlMaHr9xVmIbmuHG8DPz68NpdjYmVReh5uAXDun
K/DXBPLX7DWX/i/bcafbXg6PCAJotrFjxx4RTdUa2REfsTbqtrV76wsqLcf2Cw4Lsntaq+ut
322vSwg3jOnpZtNSrQOdIfBrdkNGsZltT4ekB6r2lNZYVu+qD/T3mz4opDO0sLk21DZYN2Q2
bslpjA3Tj+wa2D2+aRP65lJ7F28y2xZvqfXygtLgb7bW6fW64weEBBqblbb1JuuPexq25TUm
RfpP7B0UF27wru0HclusNoO+2UrbpQrPC2nHPra5X23O6Hk3W5Uyr9z8876G0lrrlL5B3eI6
8GZuVas6KHFmiXlTVoNT4X0Sjf2SA5wiWz7cX2JiL+ah6YFdmtm4ueXs/2Nn77jjjv+xHkl3
WiZgMplaTqCdxSyydm/DbzmNBr1ueJfAoV0OPO61BO0SUA/KxAjD0T18qnzaqNvu+6Ls6y11
W+5LG5Bi/97JKTfPeqFg2oDgJTcmtwuOjiuE7VjPeKkgIki/44F0JRFu+qjknR+r7z4lqs26
bdeuXb179+64NlPyj3vqz36lMKvUrGpBkPzj+MgHT4vxN3SINKlusHJBpw8MXnxDGy8oD5gB
d2cbDX7+ep3Fqtv+QFpihJubbcP+hnNfLdxZcODTGBWif+fi+BlDQr2BWVlnvXdhWWq04R/H
Rx2yHB9cu3bs439/qvrol5ovrk06ZL8cE3Q2ILTtjnmlD39VrjWyZ7w/d1qvhMOm3jr6Nvhm
a+2l7xRr/VWBO06Oun9WjFNky4dLfq+74t3i1+bGXTw+ouWUHp7t6I572AxJJgTakUBdo3X2
y4Vf/lqrlfn38eGvzo3XDtsrUNX0oDxxUPCi65t9UHbER+wvNy8B3Y3iKau1/uuzUi7emt31
7/5Y3S/JePtJ0W2+lh0t2nLKzKc8l19QaebmW3FL8ovnxSGXH19S8eQ3FW1uc8sZwwL1869O
vPfUtjN584equkbbh5clrL09taLO+vaaatcaa+w3fX5Wmfnm6ZE/3Z7y9NmxKIy/v11UUWt1
Tex5zLfb6p5eVmGyeJSjo69d+/bxojeLuBk86phDok4FhHbd/HEJom1098BX58StvT3lpmmR
e4rMf3+r6DCOHOjo20BdjYvHh6/8Z4r2d+mE9tFeDpe61UHfdLzVzZIMQsALAvM21iLaeFz+
/u+0Vf9K6R7n//rqquU76rwosu1ZO+Ij5sYE0vYG/pET49D9X5bh/MJ+eMWkiOunRuDi/c/S
8ldXVt1zSvRDX5XlV1qunBQxuW/wtR8UF1db/j4+4qHT7b87y2st131QsujX2vAg/YXHhN01
I7ojXF204bP1NW/9UHXhuLDrPiyh3tfmxgf4+yEabvq4ZNnWunqTbfqg4P+cFYtBrrDSMvGx
3OMHBj97ThwpL3it8JeMht/uTTP6/2no6ghB/QdL+/8fr6surbHeMj3y0TNjOZzQJ/iMEaHd
b8389xdlaNDXVlU99U3FpRPDH11cftLgkLcuTnhyaflTy+yS7l8nRH2yriYlyvDBZYk8FG/9
rHTxlrqMYlPfJOO9p8acfFRIWY1l7MO5fxsZWlxt/WR9dXSI/sm/xWLuqjPZ/vlp6YTeQQg4
zJP2RvzxevSMmJnDQn/ZVw86nLa9E4yPnBFz/EBnF/P4XnbYvOJYAAAgAElEQVS7MXYvysQ6
OLaHGzP1G6ursssst54Ypa7+6O5BoQF+XAibzoZf6fin8s4cEfrVb7Xlddafb0/1N+hc7419
RaZbPy9dtauesYIjuga+MicO2x43FVUDAfPkC+fFtdzUjr52LfRREX3224p3f6zC4jg4NeDx
s2LH9gxq7qKc8WI+vdua19jvzizuwOwys1PfU6LsH+dP1lVzY2SWmsf1DLr2uEiKdQLy0vLK
j3+p3pTVOCQ9gK+2C8aGq5ao944Ggrv25ZWVjAhdeE1SQoTdJz6qe1CfJGNypKHRrOPHidN1
537w/FPJl8mUJ/LOGR22p8jEFzdmvP+7IJ4bg1oOb68VW4ZnjO99kD/l95zGs/6vICZUv/TG
ZL4VT30+Py7MsPj6pA9/qeHjfOeMqOe/q9yRb+Kjyq+1iOCDfma7/b5y/eDsKza18FHt6Mut
Oi7vQsCXBEqq7b/aS2osIQF+/ZODFlyTtL/EzKOKSLcaw+3D8eUVlU4PVqevVp62qlMNZts1
7xd/+HM1H97nzo2dNuCgp2FHfMQO+iJoLdlL3yma/lQef/xW1vL+lt14wtN5PEp56PIdzXeu
cogUVVl4OP3zs5Lzx4TzLH9gUfnsVwrOHh2GRHtkcflPe+op4eK3it5bW/23UaHjegX++4ty
qGnFtmMgOED/8gXxTAo4+dl8BotcMTliXK8gHNUnPZPHU3ZAinF41wCMcCc8k0f7zVYbzdaM
HDwOOXSaUNARgtqxvyDl0FEbxYcbBqcF1DbauB0Zn0eT7ppfxvOJJ/HCTTU3f1KKg/KiceGY
nRi6Rxqy0zVMdMO7BPzzhCieBJe8bb9k6ADyPvRVOYVcPjHCbvY4EG/vNcogOMBvaHrAsC4B
+LCI2VVgig7VF1dZjn8qn2GCN06NNFvtGPcUOg87mNQnmOE7DGBatq3uy+uS0JqOPVJhJAiB
cT3/lHR/nxCBjIgKMTRa7A3gzuGDh/JAQLu9N674bzEq/9pjIxDWKDwedUFGvwFNY4YYMjUw
xXjIpnb0tWuhj/T9iSXlN3xYgj3yrJFhm7MbJz+ey4O8uYsyrEsgvxVQ0hP7BDFq0LXvFMjl
xkFQ3WC7ekokAPFB8z3lCITyr3mvuEe88dlzYvm6ufaDEs35ri5KRwNBL9Y02NDxSrRhj8S8
Ontk2MTewYxEcbrukcH6Vn0qMbLSa3408jk9bVgoSGc8m08Vh73Xii2fQS6x9sdYgoGpAXz7
r9nTcM/CMu7wrbkmPp58QakP9eXvFnPzcxu/v7b6xo/svzC1V3PfV04ASd/yR7WjL7fWYAkI
AZ8RmD0qLCnSMH9jbfdbs4bcm71gUw2PsNRo+89at88Rtw9Hpwer61drbvkB18d32+vLaqzX
HMsD1IRLxKmbHfER88rexpMbfUArTZY/lczrqyur6m3vX5qAJmO+QtyNGciy2046MNIIW9cl
EyIYPvXgonKe+refHE3+uxeU7S0294i3APqYXkEvnR+P/l21KxPBe/P0Qw9RcsLkyeGx/YMx
tr21pppRUA83mfp+zmjg23PWsJDPr7IPHjrthfwFm2qX/l6HEjpkgW4F9YoVK1wzTpo0yTXy
kDE55fZfDzzVHF8M0eMQA4OK5KZ5rMkad/bLdvMYv85PGBRyXP9gzA8qwdxx4dhyesT7M1rz
g5/9t+WZmDegTmFG/uCyBGyizEXYmNmoxXOWB/yHlyc2mGxYQTh88PSYiX2CX/iuAqlx38zY
646LpJbxj+ZihVY2M1UgP3ewHPAExeDK/BWUAa46zAM8ohwnKGDLJL2a2qIyOr13i/Nf8c8U
bK6kdHtvfHplIqd4un/9ey1SG92Jor1ycgRi8fThoVdNiTxkUzv62rXcR36ZMCFm491poYF6
Zvmc/1ohZml1HV0vyp0zohlX2iXG/5U59oEarn0n8tVVlby/dL796mOU3ZrbyE9ARyCrdtbx
WcVQihz/v/PjBqUGOJm0OxpIdtMYTTUulqae/mIBk1cI8PrkigQ1W0i77j/srm/DpxLz1fc3
J3M/N5pt/A6k/NhQ/eHtteog33v5FQc+sMSYm4KMUl26te4/S+2/UblS2o94DueODX/x/Dgk
WswNGe+trcKtrMrhvbnvq96JdqOCBvCw3/9agyUgBHxGgN+EG+5KxU6BY42pCfy9+H0ljxIe
mm6fIy08HLUH69w3Cmm/41erXfo0vfiu/u8l8XzhMOgfUwWz0IKMfz6tO+Ib1Svd9s1Nyer7
d0d+Y/+7slUfePATmNLP7g7gkczMR755tW8rnjrEK82hJpHxoCWGn/78RCbAN7X+0r0EeBkN
OgQcONRh+74jK9FtJw8OUd6HTZn22V5T+h4wC+HDRbftKjQp3abJUixwrs1wK6iRaE7SrW2i
jeoQW7x/vaWWVmm17y2ym7h6xhuRRASYYqZO4W1pOrTLTeUhUvGFVZa75pcyrhmhoIjy01yd
Ym6aiooNtV8LLV6d5Z3fKBhQLzomHJ8mh/ubrhSGIv5UGmXS09Ij4/CS43KdOTRk5AM5139Y
goBjTGHhk121NAS6N80ixKqnReJhZ2pC/z8m2R2VdkBVNHdv0Kr7Fpat29+AR4xCeE5rRanA
IZva0deuhT4i6fIqLDjOEG20lmmVvCN2VctdL8pBxnedzm3f+SlF9iFpB67+HzeA/d5WLwyf
c8eFvbOmGnc/MWN6BC66Lim66bqrBB0NZGQ3+42K4VZVh48eBYnOVt8bKlK77m37VNJrdT8f
3SMQ3cYNNmtY5OHtteoXv3MY+6HC2ju/ZO6aEYWVlJibj4/U4gmM6m5nxZAMJsRxuYv++JFG
ZHNklG7TAB72+9+xOxIWAr4hwFdrbrnlibNi/vO3WMTJnfPLEHBvr6maOdQ+481VY7TwcNQe
rG6/WrHJUSDWDfWFgwWBQ8ZZBTnMsOqIb9Q/VWF7AcXPSFHr99vVG78UkboIBeUTIYbRKlpF
gfZHLQsIHYgYkGwM8Ncxpirz0S78rbszdfdDXbTEHR1QWmH9/gNPOBVAZSqDIkPsVQMQH64t
QVC7RhLjKNQcw24TtxCJC4mz/FDA7qWSzdtQg20J1LFhB1bNCP5joY1RTc9F9VT+ca/d+6xe
V/63eP6m2o8uTyx6qitDwonU/4E++I8fB04mPZXxngWlH/xcfWy/IMwzKoanCAGGtXGZdj6Y
zrTiZ862D7zTXqp25hezWAmWPEQ5wu78MWGOV5/EXGveGWio9Ba9Y6zPwLuz1zVJCk7hpVVl
ur03qurt0xpqG627HkzHZEVK1SH1bm1S2Idsakdfuxb6yIcCy9Cv2Y18TGg86pN3bX0HtxeF
rqk7oLm+4x2gEPyDvG/MbMBjiGnNEQg/hJhusu3+NOYkTu4b9NPeBqcpIx0NBG8Fw7xW7qxn
ShCNxDPOqM2BTdPSOVQv7bq37VO5IbOBblIUbkfekyIMh73XBzrm7j9ue8yo6kbHbe2YRH0Q
aDzedj6bmE61s82RUQk0gIf9/tcaLAEh4DMCdy0oxV7w+YYaauybFMCAVwIoObfPEU61+HA8
8Axy+9WqehTwx+fS7cJTHfGN2iSdVOXt9I6kfWVl1fUfFO8ujMTPiM8US6OTL8ZtVSEM3Okd
vHxn3Re/1iLpLn27eM64sDcvSnCbuN0jkTL4TD9eV5MUaf/q/HR9DcbP4wcE06rwIL81e+rn
b6xhMBzuRdeq3QpqlUxZ3bwRbZRz9ujQF763my1HPZiDBYv7750fq7ibnjn7T7+JJrlwkOFz
YbEA7HBMStBaa9dGNp3VZuNuXr7D/shk3I9SpVoa1wCjx+7/spy6MI4yVJEEPOwZTIYUoA39
k41U8d5P1QuvTWLotJb9jOGh/L5hOPycseFLt9aqBYbfWVOFiGHkgZaM+Q2T+gQxOKDHbZl/
GxlGSrpGGkwyu5sGzBmU4tDp3N4bT5wVqz4niOnnvrO7megR7wyJ43317vovNtccsqkdfe1a
6CONZAwWtsnTX7KvocMEBdrNPB7im3uhznE6v7Ky8tSjQtz2nUGlXBEmoPDrkBELiMLzjg5z
BMIEFEajMrERl9zuQjN3Qs+Eg74EOhoIXfvo8oTj/pM39cm8C8aGxYcZmOfFvU3fGdeoOq5d
97Z9KouqrIwyGd418KNfqvnwTukXjGX9sPearvFpUn5z1U2sYpdOjLh9Xin68t8zo7GoMUaT
i3vZxAP3AMZCvoUYNFNSbeWD7/gt2hyZ3CY/rAbwsN//qqfyLgR8SeCW6VFM12N46Lfb6vHa
8Vindp5Qbp8jaAy3D0fVYO3B6var1ZNOdcQ3avvb29AN//17AsPVcaLxJL58UjgzED3pHmlw
HuPiufq9YvQvQ9B4MHuY0ftkuHRX3pKCy+aJJRWPfV3BVyr+Iy4zJT9yRiwz3c54sQAzEt+e
rnU1J6hVSi9FG4Vgg/36huSrpkQwkJlxgW+tqWKk+Xc3JzN8zbUxRD52Zgzj1hdursUkRgLs
nbwzxJAn9MznC5iEyDA+YpRVxrUEx5jt+XbLDbYLRm6+8H0lf1hKYkINjF9k4BqlMSSOkdSO
oo30TWPLIlBOOFg//qUG6cBMT546LJ7n9GIpMmbCIryYQoFRkxkGn1+V6JRGHbreG9ga7zg5
OqvMMvqBHGQKw7dR1diueKSlx/gz1IDxDYdsakdfOxrfQh/pFN1fubOODwvj/975ezzDB912
X0UyfYGZxXxA+Hy57TsJGELKvJOr3itm+P9z58Zhw3cEgrP7hqn8oKod9UAOZtQbp0XOcBDc
1OIDIEwchgk/AJiBxZyY33NNrBTIQjCu93PbPpXMdNmaZwIp9+1/L0ngPukMvYYtY1/Uh0i9
L/qtFs369DcVfO0wAoHPSGigH8tJqh8tpD9tWAif95dXVPFL5rmm+ezqNuC9BTJaGgKd4f53
bI+EhYAPCDCL7unZsXhc/m9F5XPfVWI4YGEBnkpU7focIdKTh6Pbr1ZP+tIR36g8Sl2epZ60
xYM0/LJk3qjjehkeZLInYX4Ziz6oQT8eZmnHZMylYA6p9tNflYwvo85kdYrUKlW+be3Qw4By
5XiYWEvGHJaoYL0SlFqkY2DZ1lrky6S+QUelBbIkfeotmViJ37v0gNmSi6L5rB1ztS2cX2Fm
4Fpz3UdC5VaYkyP9lXuUiY3NAcSniQpMblrGouWWuN4bbi8NwxDtBUb+2bbmmtpc41tuRhuu
XQt9bOGUazNYKSMq2KCmd7jtO1nMFhvyzvFCuwJhfrcaWupUhc+AUK9qlVq+xKkZTocefipZ
BaPbrZn8Mv74ikRA4Vh0tFFRZmfotVPX3B4yPeWWT0oxTGKRdbqUTundknFKw+Fhv/9dm+RN
jNqfVPZL8IbhkZhX7Zfg73+Qi6C5jvAtzQBizBbaaCItpetzhFOePBxdv1q1MpsLdMQ3qkf9
b65BLcc7PjZaTul0NjKk/a2ATlW0cMgPWdezPCYDsbc280JQt2ALbSZTG6MP+ZBjt6jpT+Uz
up/VIpRFTVnXVH1tvihum0tdbuNVJJK9a+yf4zObE20kZoU3T0QbKV3vDbeXhqe1E6jmmuqz
a9dCH1s45YrXcdsJt30nC7toOF1oVyBuRRt5fQaEulxb5dpfFdOGT6UjKK3YztBrrTGeBFwv
pVMut2Sc0nB42O9/1yZJjBDoUAIIJqengFad63OEU07fmVpix8AhP4+OiVW4I75RDffcc49r
TRLTKgKxsb7z5x6yYdx8I7oGsAYYQ9cHpQTgNTt9xJ9Dyg6Z/a+WoFNdu84A/4gGwhBOloye
0Du4tdsRdrZeY0nlp9dx/YKb01vtdat0to572K9Vq1aRcuLEiR6ml2T/GwSUe1DPMKAj59UR
H7GW7CVHDhlp6UEE2PDAyy0+DypODoTAEUIAm+7TDpN1jpBWu2kmcyn4c3NCooSAEPjLExDd
1g63QBtGO7VDrVJEexCQa+dE8a8J5K/Zay79X7bjTre9HAqBDiLQER8x0W0ddLGkWCEgBISA
EOgoAhMmTFCj1DuqAilXCHRWAkeSn7izMpR2CQEhIASEgO8IINrGjh3ru/qkJiHQmQh04Dog
namb0hYhIASEgBAQAkJACBzxBMTedsRfQumAEBACQkAICAEh8BchoN+9ezfLnMi7EBACQkAI
CAEhIASEQGcn0HH7JfxFlK90UwgIASEgBISAEBACviEgflLfcJZahIAQEAJCQAgIASHgLQHR
bd4SlPxCQAgIASEgBISAEPANAdFtvuEstQgBISAEhIAQEAJCwFsCotu8JSj5hYAQEAJCQAgI
ASHgGwKi23zDWWoRAkJACAgBISAEhIC3BES3eUtQ8gsBISAEhIAQEAJCwDcERLf5hrPUIgSE
gBAQAkJACAgBbwmIbvOWoOQXAkJACAgBISAEhIBvCIhu8w1nqUUICAEhIASEgBAQAt4SEN3m
LUHJLwSEgBAQAkJACAgB3xAQ3eYbzlKLEBACQkAICAEhIAS8JSC6zVuCkl8ICAEhIASEgBAQ
Ar4hILrNN5ylFiEgBISAEBACQkAIeEtAdJu3BCW/EBACQkAICAEhIAR8Q0B0m284Sy1CQAgI
ASEgBISAEPCWgOg2bwlKfiEgBISAEBACQkAI+IaA6DbfcJZahIAQEAJCQAgIASHgLQHRbd4S
lPxCQAgIASEgBISAEPANAdFtvuEstQgBISAEhIAQEAJCwFsCotu8JSj5hYAQEAJCQAgIASHg
GwKi23zDWWoRAkJACAgBISAEhIC3BES3eUtQ8gsBISAEhIAQEAJCwDcERLf5hrPUIgSEgBAQ
AkJACAgBbwmIbvOWoOQXAkJACAgBISAEhIBvCIhu8w1nqUUICAEhIASEgBAQAt4SEN3mLUHJ
LwSEgBAQAkJACAgB3xAQ3eYbzlKLEBACQkAICAEhIAS8JSC6zVuCkl8ICAEhIASEgBAQAr4h
ILrNN5ylFiEgBISAEBACQkAIeEvA35sCPl3436CgIKtVbzHbgoND/P0DTI02q9Xa2GAxm83R
0dF1dXUhISGbNm3q379/ZHhYTXVpVGR4Y6O5sKC4srqmW9ceWdl5AQEB9abGPXt2xScmGAP0
Fp0lJSVJp7fp9fraiprAwECj0UgjKdBisVC4ehkMBqr29/cnsqGhgUjSnzXzDG+6I3mFgBAQ
AkJACAgBIdCZCXil20JDw4uKiuLiEuLjYgsLS2qqG4zGwKKiEj8dIkq/f//+nJyc+vr6UNKF
h/ulpowYPjQmOtJkshQVl5aUlDXUm7Ky91dX1eoM+oyMvVu2bhk5anj//n1ramoaTfUIPiSd
n58fJaD/UGbBaMOQEGQch7W1taWlpeg2XqRBxil515lZS9uEgBAQAkJACAgBIeANAa90W6B/
YHhIeGNdfYmpCANZRFhYQ72lrrp2y5YtUZExJSUliC2EXa9evcpLS0ePHIHGMgYE+Bv9unYN
79q1a1Z2PnoOWVZdWxsVFbVx04bVK2u2bvktJy+7T99eo0eP9tMZIiMiggID/XQ6k8nEe1Vl
JaINA1tCQkJYaGh5eXldYyOGPUpG7XkDQvIKASEgBISAEBACQqCTE/BKt1VUVEVHx2L3qq9r
iI1N3LZ1x4YNm0NDwidNnLJnz57du/fGxETFxMQguaoqa9LS0iKiwmw6fW1tnTEgyGg0oMCq
q6vLysowz4EJm1lmZnZedk5tQy3muHU/r4+Li0PedenSBVUXERGBvQ19hsMUOWhremFjI4Yg
VRDfyVlL84SAEBACQkAICAEh4A0Br3RbcFBIY4PJbLKFhITV1TagunBZjhkzJj29a0ZGJuPY
AgODhw0bkZ+fiyarr2/wN0RZdTqLzaqzWgw6Q05+HqItO9ueq7GxMT0lNcgYUFJcGBsdTXxW
AY5W+ys2NhbRlpiY2KNHj6SkJJyn3bp1y8/Px9gWGRnJIZY2pBsuVG9ASF4hIASEgBAQAkJA
CHRyAl7pNgaVIbCYjtDYYC4uLuzRo+fIEUczxO399z+k26gxBp6htBBYcXExCKzqunqDwS8g
KMTob6irNxGPCY14TGWEEzCvxcRWlJfaTLZgY3D3rj3KK8twiWZmZpKAlDt37kxNTUWr4XhN
Tk4mTC0Y7Zi7gC6ksk7OWponBISAEBACQkAICAFvCHil2wryCnFThkdGlJVWZGdmY2DbUrNt
06ZfkWIDBgysqaouLiwqyMuvKCvv3atHTEy0Ta/z40+nK6+s2bxp0w8//FBbVVNVVRUTFW2z
WHft3IlLdOTwUWXFRdu2bcstyA0NDzHZZ6baHaC15urMuoyy4hJsb1s2/zphwoSjjz46LCwM
Ex3eUuxtzFTwBoTkFQJCQAgIASEgBIRAJyfglW7DNYnJjQmhxcUlO3bs+u6776wW/eDBg0tL
yyorK3FxYhLjZbGamFJaU1MbFBpsNtnX8ti+ffs333zz/fffpyalMMStoa6eEWz5ebnMUUhO
SCw0WUKCQmMiYyx6qxmPqsHA7FQcqdjkKJZ3JiIsXLhw3759M2fO7NOnDzEUQhWdnLU0TwgI
ASEgBISAEBAC3hDwSrdZLLbMzH09uvfatWvX77//joS66877srKyVq9evXfvHqQYr969eyck
xiG8IiNDyivrwiOCt/6+c9nSZZvWbwgLDmE+AgY3s8mE9zM4IHDd2p/TElMiwiKyLFksHlJW
bV/pA52HyY112ugn8w+YBoGJDt8oyg8v7QUXXBAfH4/gY2qqNyAkrxAQAkJACAgBISAEOjkB
r/ZLYEDaUUcdxRQB5BRC6tZbbw0LC3nxxRdxX+LNRGxlZe2vqCwbMKDfkCGD/Wy6kJDgxgZr
Hq+cHFYJwUjGKiGIMEawMXaNAWrdu3efP38+EhArHa5P1J4atYZ040WYGJQcAcxvjHhjwZFH
H30UfyuzVjHFdXLW0jwhIASEgBAQAkJACHhDwCvdtnXL7/GxcQX5+UUFhQxQ01ltrK8254Lz
6mqry0qLIyPCxo09un/fPqzg4W/Q22y6QIMuj4U+9mfnZudUllfU19bl5+XU1lQFBQU0Ntb/
9PNPuD79DPrikrJNm3/T6+3uUYbDIfgomXfCBj+90eAfaAxorG9Qp3Zs2/nVl4t+3bSZU96A
kLxCQAgIASEgBISAEOjkBLzyk2Js++WXXzZv3lxYWMhiHy+88EJSUkpFRQVLe1gspokTp599
9t8io0NZ3Y1Zn9ExUbXV5j079+Rm5VZV1dgsNpufFSOZmlXAvNGRw0eyCpvez5/1QSyNlvLK
aj9/+xRRrGsMceOFBY4XMbzjG8XIR9709FRsdfPmzbv++us7OWtpnhAQAkJACAgBISAEvCHg
lY2qurrSbG5kqgBe0RtuuKFv3967d+8sLy9lQNpxx00566wz0rskMxHB318fHR3Jqm3bf9+6
bcvv2fszmYjgr9dbTWb+/P0wxdmYH3ramWdkZGYOGDyoe49eNj8DMxJQZso9im+Ul936hunN
amU0G45UZq0WFBQw7g1ht3fv3rVr13oDQvIKASEgBISAEBACQqCTE/BKtyGkGKvGurjjxo3Z
l7EXw1ttbTX66oILzrvworkjRg1hzQ97TICBfeJrqyuz9mcW4lPNyzc3NOpseuSXjhM2G+Pk
Jk6cOHLEqIGDB1108SVsQl9aXoaBTW0kD0GUGXXxTpj0aDhmJDCijqoZ6MYhYo7ZqZ2ctTRP
CAgBISAEhIAQEALeEPDKT2oxNQT466sqyoryC2qrqvU624B+fc8//3xWVmO1Np3ZpvP3MxoM
jE5DtDGvID42NiE2bptNxx6lDXqDqaER7YXkQnv9+OOP/foPuvbaa5mpsGvP7tT0tLr6OmYg
2GycP/BS/UTABQUFkYyld1mAF+GI/kPM4av1EATGOaZEkJgpqMyEcMpFyZRJJDKRNU3UWbbt
Uvufsm0DL6csrT2kdtqgcuFrVgG3ka0t+UhPzwwVVnWhFyz1kp6e3l7dwQu/Y8cOVVq/fv2w
1LZXyVKOEBACQkAICAFfEvBKtyE1GswmVvpgs3g2LMBPev75c8ZPOoYOWBqt+EyRPsYAA9tS
sadCcGBQn979ykqrNm5cX1Nf02jC2OYXGGifkcAot/Xr13/zzbe9evdhFmpOTh7bxgcH+Zst
JopCk2F4U7Y3CuRFDJ5Z1BvPY9JjmcPkxqGH4C699FJlnJs2bdqSJUuccr322mt33HEHkVRE
peosq4389NNPhDl1//33O2Vp7eGaNWtOOOEElQtfMO0n7DaytSV7np5Ju8uWLetsgwL/9a9/
ffTRR/QC9f/OO+943p2WU2ZkZAwdOlSl2b17NxumtZxezgoBISAEhIAQ6JwEvPKTIr/2Z2VY
dJak1KSuPbredudtiLaq8sqC3EI2PNi1Y/fG9Zt2bN2zcd1vFaW1fv6G6LjocRPGHTttalqX
9ISkRKvOvqloQ4PJoPMz6g3JCfHlZcX8hYX6mxqrbNaGxoa6oECj2dTAULfgoACdzWJqrPdj
c1NzIzHlZSUEOLRZzddecxWBzom4s7UKF/N1112HjlmxYkVna5u0RwgIASEgBISAEGiBgFf2
NhbsyMnOS0qylZWXY4Vi26uF8xZs2LChrKwiJSUlPDQcM5jRGIAfs6S4vLHBwo5Y0Qlh48aP
TUlLXvbtUsx1u3fvwqZlNNqHstl0FlSk0WDD0GXwI2wLDGTCqJHV4DS7Gmu2cZbZqbyzsRW+
S+xtp5xyysiRI5tGy7XQU69O0R3lUcV/51VBnSDzP/7xj7feeqsTNESaIASEgBAQAkJACLSO
gFe6LWPvfn+9MSEu8cI5FxUVFCPd9u7ai8RhKRBmlTbUMdW0EosabqmjR44+atjQ+saGsLCu
aironr27mpberUKEMSOVIWxIN7tia1q1rckXijvUPrqNDax4R+ShAnmh4SiTXqLYlJ5jxBIJ
xowZ07qutyb1p59+2prknTotVFX7oN2pGyqNEwJCQEYYDmgAACAASURBVAgIASEgBA4m4JVu
Y9QaA9EY08b0gn/84xZmDGCOys3NRVexQkdlRQWDt0yNlp27trP2R3Fx0dARI3JycoYPH45E
YwE2JhYEBY3dtWtHRoaprr4GhylyjQ0RmoSF3eqGGkOcNflSG8hCLTQeuxpWN94ZXc6gfjbX
GjduHIY3EhzctfY8+vDDD+kXJaIOqa7lotnp691332UqA1MlaGpSUtLUqVMxCrZZJ7FA3aJF
izZu3AjhIUOGTJkyRRutpVrCLAf2mSCclpb2t7/9jZ1hFy9ezDYSoMMSyeA8NfgPPf36668z
sk3lYneyJ598khZeeeWVWo9gzgZiZGeKAFcTwpMmTXKqjpLVqiuKxvLlyxkqRyOpi24yHZjS
aANNYlBgly5dmCw8ffp0NLdWiwowAfnLL7/knWbTKfI6JeCQ+QT0nQBX/+qrr9YSMEyNPWo5
pFjcvlo8Aaa5vP/+++vWreOHwejRo8866yzHs07hQ7J1Si+HQkAICAEhIAQOIwHnR2mrmsKm
8llZOf37D3zssUf27d6XlJTAk5LnaH5eHoKNotj2ihV0WZJ346b15RWlZputvKwyNTkFyVVW
UlpTVe2vN5QUF0dFRjI6zdzIam1mq9miM1gQKGxoxYB9/kd8YGxToodHMsKitLTypJOOP/bY
Y7t27Yqwo1Ie6h3qwXz22We1eQkt67aXXnqJWbE00pHk888/f84557z55pttmMnIasY333wz
lkWtQFAwPeKee+5RExqI37p1K2kIsAweHM4880x2D1PpX3311eeeew7pw/RMQKlk6hS7hHFI
ek23YR89/vjjf/75Z5VAvVMdwuihhx5C4amYr7766uGHHybMzmZMI6B8FY9VEpvr0qVLcWHT
BmSiin/88ccvueSSV155RR3yjjR/7LHH7rzzTk1tP/3002effTYXWkujAqhV1WYm/zrqtt9+
+03Fg9RRtyFGZ8+evWnTJpWd5j344IOwcipWHXrC1m1GiRQCQkAICAEhcFgIeKXbln3z7bPP
PVNXW//SSy8H+huxpbGgGtorKDAQ9Yb3s7i4MCQwiAFqPKcxPrG5QkJ8Eqa4Pn17YY8pKipk
TBviIzQU+1kto9zMKDsdj3K7I88+x9JibdJv/ogzFBsCggBVzJw5E/GExY5I1n7jYc8wOAwz
Eycd1yqImJR4cjtlUfrMKdLDQ1Yz0bQFeoKZtjBRC1t88MEH+HPvuusuD4tSyVBdqEAVBimz
aEtLS4H5wAMPoI2eeOIJp9JQMyeddBIEUWlq31gSoM+QU46yySmXOgQjs1w10QZtKuIU7888
8wxWsW+//ZZIx7yILQyfwMc5zgXlFIZPTGv4vmkD9lS1ogrxzNIdO3bsRRddpLIjp2677TYV
5hL37NmTa4FRU8W0+Z1KZ82axZwYVQK3CqIf86fbabOtZdvmVklGISAEhIAQEALtRcCr+aRz
z587ZcrEN159Iyk+MS4uPjM7s7y0LCoimmc5qqK6orKuuoqnP7LM3+DH5goFBfkpqUkBSLym
Jz2KDS3CM1uJM4QOL2IQCox20/nZ1BoZxBBAsWHEwuiCMw63Hf5ZsiNicF+iEsiISmgtFKQe
qsjp9cUXX7S2HC29pjzw+jFtExWFSB01apRKgHtRS+lJAHuVWpGExPg62bwVFajJrxdffFFT
RVppaESELBqrSRYXDRw4UJ1SrkbckZzS3JEYLDlctWqVSoO5S2lWBhS+8cYb1E7jWZhDncUZ
+vLLL2sVqQAX+tRTTy0uLqZtmtUN/ceVWrBgAa2lfG0ZNqx0Khdq+/bbb1fhAQMG4FDmQlCI
1jBOKcmo0nj+TrM10YaRj6X44EC9mqVQK7kNbD1vhqQUAkJACAgBIdBBBLzSbeeee255cTXe
t5DgMPRTdGQM7jwe25g9SkqKeBITQKLxznalrOiRm5WNRONVWloyYED/+oZa3HkIvCavohUd
hqTjpYw69u3km0Y14QMlC8oM2wnijEV9kSZ49JCGyDgeyQzeQsB1EKBWFYtdCkGwevVqxrcp
rUD3NTnS2kbidoQhDQDIo48+ynwOUOBwHDFiBJFoJnyyrs1Dz6nlgjHO3XjjjSoBCoYADDkV
ExOjIiMjIzlEOXHIMC9NV6F4LrzwQqykWDTxh6LnVPp///vfKqC9c8mQSlwFYvBOavF///vf
Va8pH/ObildtIIzrkwXVVCStxdlNGLGIJKWDKr5t759//rnKOHnyZKbNqjBGxMsuu8ypwLax
dSpEDoWAEBACQkAI+JiAV35SnuvGID8EChoiOTEJ/ZSdnWXXbaaG4IDASj89c0SPHj0as822
bb8zYK1bt57scKUcoMkJiRdeMIcH7Y8//oADMTIsFNMIY+AwtIQFByN3ikpLAoOCMSChz9AQ
aDt0Bg9gwlSHYsBsAyziscYh7NCGrWXHRFcEilMuVjXDIegU6fkhIgYfLir2k08+YfA+1iy8
wyq74xg1TwpES6lkLFzM6ipaFqZisEwxh4zN1yK1wPjx47WwZoPEWglGhK92yimAOU3FQPLi
iy92PMsyxcqOiOMV7cVF185iK3VUgVq84xBALYHWfW2vCFQaA/K0XGxEwawLzVGrxbsNuDXI
aSUzSs8xF9oRSe0Y0za2jiVIWAgIASEgBISA7wl4pdvYMrSmqo6B7b1698jNzjGbTUg3JILF
bEZj2RKspWXFjBDnYW8XdkmpnMW/SRixVVFZhpsvPT21unrwzp3b0V5FxQVMRSANj2ReSDdl
eEMu8IBHHXKI6w3fn5JoHCIyeFfp26DbkB0MjXeCjiL0RrcxQZIyf/31V6diOaS1rpEtxDDE
Xp3FCzljxgzXlNBwjYyKitIigamFWw5kZ2erBGqVFsfEqFvtkAkQTC/VDrnKWpjrpYUd24CR
T4tXAc3YxkxbdYm1BIyT08JOgSaj7J9x3DDqgKuvxWola4JVnXIttm1stYokIASEgBAQAkLg
sBDwSrcZ9LqGurq42Oi0lJScrCxGdGFOq62rrqupjQgL52GJ2DI3Wljcg0Fv2MkwFMXFxfJw
RbphWmPAOJMYME2pWah4SIOCAnkeV9fYV31DB5gtVkpASPGAJxmWPOQFKzuQHlhKtBHgic7L
8fl9WFBS6dtvv42LkMYQHjRoEFYfHHZMC1DDuVqr2zTFg4kLQ5Rrp7ShY46nHPWT5zVqSkub
iKqViedXC+Oh1sIEHOtyjNda7hiphbWZvzi7tUgVUJvAOkWqQ02oqUPNeueo/ChZbVPrVLJr
sVoLW8XWbcMkUggIASEgBISAzwh4pdt4lIZHhCYmJoSEYtkJ0vlZ9Qa7nEJmIcLq6hrQZzaL
fVGx1JR0hlsxFxFth+pCtDVZ3exbi8bERNXVJVht5vJyS5P+MlMC8WarJTg4BDWGdMPeRoFI
CoxqzELgrKZIlNUNXkot+Qyc24pYLEM146qrrmLtD5WG2QkqQLPd5mouUjN00fevv/5a63Jz
6Yl3FDEtJFOnHInhilWROKaZKIAlUsvOQmgqjEpDeWvxbQ5ohXMzYEzlblFF0Z7t27c7FasJ
LNzimHJBoRKQ0Sklh5SsdJs2O0GlwUzolLgNbJ1KkEMhIASEgBAQAr4n0DrPnVP7kF/G4MDE
pHg2pOqanpqWnII4U6PUkWW11TUB/oGhoeGIttjYeKMxkGdqVmYm24wy7TQ7M4v3yvKKtNTU
5KSksJDQeix1lVV6nV9URCSHCDG0IDY2LCtY5gjwXGdlB8ZpKRmHRkHV8Y4e4nGuPeCdGumz
Q+YQaN43R7fmypUrVRuQHa1qzDHHHKPS41DW9hJFuTJ6jAVvMexpMwlaVawmfdQAQZWXEWDa
6DdG9GvGLXzcrDmi0rB6cHMGtlY1gMkKWhuYA6Hlfe+997jQ2qEKOCpFbVU27i7WVVEJHO2s
LOmsIllnRPOZkvipp55yKraD2DrVIodCQAgIASEgBNqXgFf2tuzszLi4GOQTygmzGXtbIaow
opQWlzDGPCIsEpnFPMHo6NimZdnMqDplZsOow4RTdJjZYl+ADWMZRjUCnGWSKU4uUhJTV1/L
O4IM4VJaWu7vb59VqgpRT2tlbMMQxaGKaV86rSoNJx1Ckx6Q67777lOeRxYJW7JkiSoH6dmq
AlmJDWcrblZyMX8C/YTrGVesWq2D8ftz585tVYEqsRLWhJmLwDojSKV33nmHy8Qab2oOJvsQ
oAtPO+003ItMjMVDTWJUnetad22onSwY2FjpV60bgqKi/GnTprGLA4sbuxaIbuP6KtPgnDlz
WOmXMJNYWWHENTFn2RCCS8BNyDi8yy+/nIvC0nGu9rYOYuvaJIkRAkJACAgBIdCOBLzSbZmZ
GUivyrJyg87GymsolZCgUIvJHB+bQLiupo5RZ3V19Sy+xkIhaA42Q0CH1dRUMagoJCQI9eZv
1KMYTCb7NlboNiRFSWkRc/3q6moioqKtFitDuEiGhxRnKeqQGZT4wjRrDTG8UG9k59WOXNpQ
FC254oorWIqWvMwk1eZU4iZWo/5ZWhbpxjg/DwunXygqFkgjO+rKSaWxliz7R3lYlGMycqlG
4nFW2x7g0kUNs2gI5jS19wBLdfDSciHa0EOaL1WLb3Pg7rvvZgIH8y0oAdsYLwJcfUYEfvbZ
Z47FotS1vRbwomrzf1nf2FVHMqmC3RGU+oSYNunk9NNPX7ZsmeOgtw5i69hyCQsBISAEhIAQ
aHcCXvlJC8tKNvy2Obcgn4drWGhw17TUCWNHjx0xok+3Lj3S0uKjI6N5FIfYd4VHezG8HR9o
SlJifFxM7949mVjKnqTIBeYkotjQEFVV1VjpRo4Y3b/vgNDgsMY6U2JCEg7WHTt2lZVVpKez
zlf3zZt/W7lyNXMSmryjyIxA/inpdtjtbVwbZNANN9xAe9R1wvyGumJRWfboJAa/pNpF1POr
yArDLPnB/hCA0nJRGkrL1fenJWg5cPLJJ2vqh5TYRLWF5a655hqW/GDBM606rixaiumxjsuz
tVy+J2eplH4hpzRWbITKmilM41DZ0VVaOazxxlok6HsVw9A07G0oP9eUxKA+WVyGG0md5QZk
O6yPP/5Y8/BqJXcEW1WpvAsBISAEhIAQ6CAC9r3b21z0s//3YmREWICf4df16xZ88ml0SNiS
hYuWfb2Ege2Y2RpMFj9jgE1vqGGSaWOjTWftmppkttSj2BiSxuyE4tISZEFictLGDZsZGZab
k8Nhz+49xo8dx6YFcYkJ9Vbzzt17cHUxVik6KpaHcZcu3dguKSwsBLsdcyCwsVVVVXTtms7Q
sarqyjkXXdbmvrRjRuw6mAwZhMcO65pp0PvysU5heMN6h27T5E6bi4U/5iu0MAW6FsJdwXQK
Gt+3b9927IJrRTjWqQgp5rgsnGsyYrjE+EbxsWJUc5vAKRJc/FpADnrCqn3ZOrVEDoWAEBAC
QkAItBcBr/ykNAL9FBMRnrlvn9FPN3bEsPz9+35c/l1kWGSjqbGhwdSos5n1RrZBwOpmDDLW
17E7Qk1MVFRgcBBWsv59+2Vk7mf3p68XL8UHx/wDrG4Y0jZu3Dz0qGFbd+3IKshj1day0gqb
1S8oKIS5B0ZjwKhRo2tqqvE5sn2Wn581JCSMxzOWLW191/ZC0+ZyMFaxGVebszeXsXvTq7mz
rY3H4qWNzXfNy5AytyuPuKb0MgYPLBtgeFII8lFtFOFJYtJAy8OUKnGr0ntesqQUAkJACAgB
IdCOBLzSbSipkry8IJOlrKDI1mDq1aVbSW5+bHi4pdHkb9EZLDZTfZ3J2uAfYvU3GGx+lj37
WWCix54dO/0M+p69+yTExc2bN2/tLz+zD33/fv32+AdiikO9YXVD8jE9s2/f/izLlp2Vi+0K
N1l8vH3NXgawYwTC5xgbG91oqsftVVtrXwbM39i6VTbaEaIUJQSEgBAQAkJACAgBHxDwanxb
VGhIiMHfaNP16datrry8oaqmMDs7PCAIDWe0WQP0fkF6Q5Beb7TZ8GKW5RelJSYbdXp2Vhgy
+KhxR49hBkMFS/U2mtJSUtesWYMUwweK5w6r22cLPuOQIfw4HHGQMY7N39/Yq1cvXKXMo2TT
J2xs9fWNuMBYsSI4OFRNIfQBL6lCCAgBISAEhIAQEAKHi4BXuq0gKzuCHagMhmmTJqUlJAWx
S5W/sayopL6qprq8sr6yWm+2hhj9Mcv5W622RvteCnlZOV1T0s+cefqG9esffuDButoGZhsg
v9jelCXEGP/OKq+s2hAdGT9o8BBG9Ofm5yYmJrMgxYEVxWz6muo6kjHDlP1McY8CjnfO+hv+
3GfpcNGUeoWAEBACQkAICAEh0HEEvNJt7BtfX1Odsz9jxJChJ594gsFPHxwYFBkejpCymsys
o2ttbGDiA8k4FRbISh7G4UOHsSnW6pWrFs5fsCtjbxiru0VEMpqKIfyoNFaXxZfKEHWsblja
cJUmxCUwhK6uoQ5XKdMeWcgNiYYdLi4unkH6ej9/JgwSo4xzHYdJShYCQkAICAEhIASEwGEn
4NX4tvT0VFNDXWFxMYu3sczYki8WVVbXhEdG+xsCmJBo9dMbgwKNQUEWvS7QGBAYFsLeREUF
hd98uyw3/8WouPjRg0c0WEyZ2ZkTpxyL9srKyvnXv25jUD/6jAW9snNzwljDLToWl2hSQhLx
jQ32lXtZAi0oMIRJpqtWZe/duzctPQVrHBY9vKuHnaY0QAgIASEgBISAEBACHUfAK922c/eO
LmnpCLKcwvyjhh61ecPGmIR4FJjJYva3L9ShD4kM9w8KNlssAaEhLNLG2qfla9YwmTQ5OTkq
Ji4gJJg953v375dXWDR12rTbbr+TNGwPsHjxYtZlYH5obHxieGQEi32MGDEyNwfVl9+vXz/c
o8xF6NotPTMzizXAWODXbLaGhdnVXsdhkpKFgBAQAkJACAgBIXDYCXjlJ41OjDfrdRV1dXvY
VjIsvP/QoQWVFY16vX9YmMVoTOrere+gwYHhoTklhWedM3v0uLFVNTXJyam9e/eNiIqJjo0p
LC5KTU1n/bhzzzn/vPMuQMzl5uetW7+xodGcmJTCrqasjIoztG/ffnhRmWTK4ho9evSqra1H
ySEL8ZB+9913OTk5hBFtzE447DSlAUJACAgBISAEhIAQ6DgCXuk2q8HP7GeLjI2pMTXs3bHD
EBxcb7GW19YGRUSy8ocxNGTT9t9LqyuvvvH6tBHDnn3xBRZyS0lLLS0razSbNmzadMopp6Sm
p2NCm3naLGIKigqZoMDYONaVZTHY/KJCLHes74XHFaMaHlJOEUClsWVWSXEZBrmqqhrW+IUO
oo0VXDsOk5QsBISAEBACQkAICIHDTsArP2lMQmJeTm5FaYWfyfL2Bx/cfN0N8QnJmRn733nz
HVyZo7v3yCkpOv7EE/qOG/fx66/9uu336LjYvZn7wyOioiIjJh03dfrJM6w6v+DQUDYYsK/o
0WhptFiZlLBt2zZmJCDdmISalJTcJb1bclIqEi03N797956jR49mkd59+/ZggWNvK3YsHTCw
H7MWDDKf9LDfTdIAISAEhIAQEAJCoCMJeKXbVq1ePWTwUDZeWrpoSWVR2ZPPPj+wT78e3Xqe
Mfvc5OREtFS9zZLevccnb7z+6GOPdUlPN+oDgiyWE0+egZt0ynHHsVoIo9z0/ob9WZlJqSnh
UZGs7oGAY+YBNrYJ446Jio3NLyxIT+taVFRUVlbGwvqsvotoYxiczWYhEumWmZldWVGdlGw3
y3UkKClbCAgBISAEhIAQEAKHmYBXug3FxlyBrP3Zxx573AtPP1+YV7xnx77QoODEuEQcmkz2
jImPWbdh4+LFi5JSUhi1Vmc1z507d+To0ZHRUaVVFeEREQEhQSXlZV269cDdidUNx+i+fRk2
my45MVmvN2C0I5JVP5grOnjw4FGjRq1YsWrTpk3XXnv1qFEjmKDAMrxsV898UnYNJ3CYWUr1
QkAICAEhIASEgBDoSAJe6bYAf2N5aYVRZ5g86dgFnyzctW1nbUVdYmzCvl0ZLLTGPIPwgojM
rAxmEtRW1+n9/aafePK4iRPoTm1DPaPcsLGFREYUlBQXlRSXlJVmZ2ZhM2PfzJ49e1aUlaux
bqgxRrOxPFthYfHy5cs/+eSziRMnDhgwoFu3Lgx0Gzt2XE5ONpNPk5ITkHcdCUrKFgJCQAgI
ASEgBITAYSbglW5DtMXHxvlZbB++9/7DDz7y1mtvLlu8ND+/MCo8wmbR+el0udnZkWHhAwf2
p5cnzDjpxFNmNFotzP3MycmNj0+srqu3VVSg4XJy8iKiIuPq69n5qme3HkwRLSspHT58eJ/+
/ULCQtmNlJVBfvnll61bt7Of1eWXX87EhZqaOkx6kVHh0dFRa9f+yAzTwwxSqhcCQkAICAEh
IASEQAcT8Eq3YRLzY6CZ2RYZHrFgwYIrrriif8/+P65Zk7U3c9q0aRs3buzTq/eAQQNjYqIm
TpkYn5yIu7O0soLV3fBs6o1liakp6DAMbMw54BTzQ1k+l/5iqBsxYgSD2HCb4htlvY9Vq1bt
2bMPZygJ1q5dixBk09IePXr8vvU3nc6PqaZpqV2279jawaykeCEgBISAEBACQkAIHE4CbEMl
w/kP5wWQuoWAEBACQkAICAEh4CEBr9Zv87AOSSYEhIAQEAJCQAgIASHgPQHRbd4zlBKEgBAQ
AkJACAgBIeALAqLbfEFZ6hACQkAICAEhIASEgPcERLd5z1BKEAJCQAgIASEgBISALwiIbvMF
ZalDCAgBISAEhIAQEALeExDd5j1DKUEICAEhIASEgBAQAr4gILrNF5SlDiEgBISAEBACQkAI
eE9AdJv3DKUEISAEhIAQEAJCQAj4goDoNl9QljqEgBAQAkJACAgBIeA9AdFt3jOUEoSAEBAC
QkAICAEh4AsCott8QVnqEAJCQAgIASEgBISA9wREt3nPUEoQAkJACAgBISAEhIAvCIhu8wVl
qUMICAEhIASEgBAQAt4TEN3mPUMpQQgIASEgBISAEBACviAgus0XlKUOISAEhIAQEAJCQAh4
T0B0m/cMpQQhIASEgBAQAkJACPiCgOg2X1CWOoSAEBACQkAICAEh4D0B0W3eM5QShIAQEAJC
QAgIASHgCwKi23xBWeoQAkJACAgBISAEhID3BES3ec9QShACQkAICAEhIASEgC8IiG7zBWWp
QwgIASEgBISAEBAC3hMQ3eY9QylBCAgBISAEhIAQEAK+ICC6zReUpQ4hIASEgBAQAkJACHhP
QHSb9wylBCEgBISAEBACQkAI+IKA6DZfUJY6hIAQEAJCQAgIASHgPQHRbd4zlBKEgBAQAkJA
CAgBIeALAv7eVOLnt8Gb7JJXCAgBISAEhIAQEAIdSsBmG96h5fu4cLG3+Ri4VCcEhIAQEAJC
QAgIgTYSEN3WRnCSTQgIASEgBISAEBACPiYgus3HwKU6ISAEhIAQEAJCQAi0kYDotjaCk2xC
QAgIASEgBISAEPAxAdFtPgYu1QkBISAEhIAQEAJCoI0ERLe1EZxkEwJCQAgIASEgBISAjwmI
bvMxcKlOCAgBISAEhIAQEAJtJCC6rY3gJJsQEAJCQAgIASEgBHxMQHSbj4FLdUJACAgBISAE
hIAQaCMB0W1tBCfZhIAQEAJCQAgIASHgYwKi23wMXKoTAkJACAgBISAEhEAbCXi1P6kndVqb
Xjabzs9Pp296eZKr5TQWi8VqtTml8fc3+Pn5mUxm4o1Gf5vNZjZb9Ho/g8HglFI7NJvNNExl
1CJbDrgW6xrjtgTV5lbV5bYcIrU+NpfgiI7Xeuch2DZcxM7DR3XWsT18TPz9D7p7PeFwRENw
7L6EhYAQEAJCoGUCHWtvQ6zk5xWvXrXxi4XLeSdMTMsN8uTsRRfdFxAwxunvhx82kzcwcExy
8nQCn332LQmuueaxFgo86aTrSbN5884W0jidUsWefvotWvx77y2mkHPPvUOLcRsgAcm+/36d
27OtiqSDFNWqLO2V+NNPl7WqC9u3Zzz77Ietqr1VV5CSPbmI1dW1d9zxAuKmVS3xQeKIiIlc
Sse/Ll1mUK/j3esYbq5JnkBoLm+nim/tDdapGi+NEQJCQAj4gEAH2tuQaHm5xYsXr7701Amq
J68uXHXiieOTU+JasIF53udTT504fHg/LX2XLklamEDfvt1uvvn8sWOPcoyUsDcE7r335fvu
e/W99x7wsBAE8ciRF5x88vjrrjvbwyyOydrxCh599NytW/fde+/ljuV3nvBtt10YGBig2hMe
HuLUsHbk4FRyZzts7Q3W2dov7RECQkAI+IBAR9nb8I4W5Jco0VaduVT9IeCIyckubGhobGw0
uf3Dc8SL7IfsPLrtnnsu0/6cdFtBQcmSJT9t3bpXlUNg2rSroqMnjxlz4UMPveFUPu055ZQb
jjrq7Lff/pL0l1xyP+H33/86MXHa7Nm3HrIlWoL585eT8Z13vrzoonvj4o4bOfL8n3/eop11
DDz22NuIiaioyZMmXbp27Z9pXn99/tSpV0ZGTho8ePbttz+Pj4xctPauu15KTT2hR49T33hj
gVZOeXkV1V1zzaOXX/5gQsLUN99cqJ169dV5nPrii5XEoJ8In3nmP9XZ8867c8iQs0tKytev
34YVEOtdly4nz5r1j7y8YhJQI4nnzLn744+/GTTob/HxUymfiwKZ55//mAS33vrczTc/TeCT
T5YNHHhWaOj4UaMuuOWWp51cfpSGVRJXNfY5ClRVf/fdL6eeemNMzBRKfuaZD1Rkc++OV3DJ
kh8phA5ef/0TSUnH9+4966OPljpldLqI2ln6u3NnJofDh5+3dOlPBAoLSy+99IFu3WaAlCtV
VlapJVYBIqlOuy5PPPEuhx9+uKSFvNde+xhpfvttN2m4gQkfd9wVhFu4Rqou3m+99ULtNr7p
pvO1eBVw5EAMF4LCuZNPO+3mr75a7ZTYEULLWGKgsQAAIABJREFUVdfW1t9wwxPcZhR1zDEX
L1p0oCjir776EW6Jrl1nXHXVIxkZuaqK5uKbg9kckOYupesN5tQ1ORQCQkAICAEIdJS9Damx
c+d+hBqKjWrCuhz/h3Q7/tG3vuzePZWhbm4vgJ/eLzY2sn+/HvEJ0c2lURlXrdrUpGrsRwMH
9nAyrfHQ4iF6zDFDOFtcXD5u3MUVFdVDh/bJysq/444XExJiLrlkliqH9yuueOjLL1efeeZx
c+aczOHevTnkRb0RjooK15IdMlBaWkHGa6993GDQU8X69dunTr1q796FcXFRjnnvvvv/7r//
Nca6de+esnLlxgkTLlmz5o2RIwds2LD9ssseTE6Omzp19IoVGx5++K3evbtcdNGpT/0/e3cC
t+WU/w/8Nz8z9mHs+5q1FSGhRaIQIRIJCWWL7Pu+ZYkI2ZIkQnZZErLva0VR2cfIMtYZZv6/
+b8fx5y55rqv++4ulaenc796PZ3rXN9zzvd8rnNd53O+37NcPOyss64zaa9Fi/UIRNLJoqm4
d9/98O9//3Heef+w0krLxFIaN17TrXvueWL77VuOHv2CMObKXUgA31pnnVUXXXRh5Ezabbfd
/J13Prj77jFo9MiRl+JthPXWI0c+vfnm6wlcfvltdFMWEiY5fubfN99816PHGerYo0fHF14Y
d+GFQwF14ok9ogLykaFLCakngAZtv30f3f/aa6/y1ltTDj/8oqlTvzrrrINiklwg+wRD+Igj
+i277JING9YbPfrFvfc+dautmi2++KIxVe4hxnhUJtBfalAGCNttd9hLL721zDKLq9Hgwfe9
+OL4V18dBt6YpEmTtcTz2TVr1lAkSjFu3CRtqUJaQMFN7chrlsKeo3CFZxSLk/8CC8wfLjt0
2Fwd4y2BLA433/zgPvucpuVsumnjBx98ZtSo5yZMuGOFFZaO8lkQQmssbB7kzz77uv79b9lk
k4Ybb9xQC8EC//KXhxdbbBE01/Bj6aUXW2WV5a688nbJH374cvKF8TMASLlHWTNcyzSwWKMU
SAgkBBICCYEsAsXkKSsxY2HrBr748uu3nquxqdz4xNfDRr/kr7CYY/fp0LnV+ru0aFL4r9Nm
jVuvs8rbE6ZEdlJOAb0dq0n4d/PNNbaQcr8rrrgNadt33x10zy++eCP2NmHCe1H4ssuG66T1
0EOGnG5lQ4zv2nWbb7994rzzDo0xVQbmn3/eKVPuHTfuVn3wt9/+wISWTYisIG0LLDDfhAkj
Jk6886yzDkSDGLHIYHtnnNHrwQcvGzHigjPPPFDMhAnv+ztgwHB/7777otGjBw4bdnZkqyL9
/va3Hx98cMBf/jJqiy02DDH+brRR/aWW+pP+WBjB9ddaDswJHVRcUOzggztff/1pd9554eOP
X00glCXgR+377rvkrrsuOuWU/V2+8cY7PXrsGEjtRRf16d//KIYrMk2brsNWNHr0lddff2qn
Tlv+nPSXP8svvxRVXbRt20w1BdQRrbn00qPefnvEm28OV9kLLhjy6ac1Rr4qf+jva68Ne+SR
KzfccN0ff/xHVuFyD1HOt99+/lJLLSYwfvzt22yz2ZAh9yNtW2+9yZQp97z33r0I0Lhxk7NW
TJK77ba1FS24rDBCNnbsJKOClVZatpq0kpT+Cp9RFOvd+8LYkt9558MYXxo455zrRXo0Y8Zc
M2DAMeYJIJ1RrBCEckU3bbruqafu/9RT1z300ICWLTfQKgxX8OlA2iDzwgtDOnduq6F+/PFn
5eJnGJDSR5lrYLFSKZAQSAgkBBICWQT+Y2PIxs6U8L8s+ZynJqdFl1ttq62bj6qxu3250vJL
BDJXuYh//WnTygLuMo9hJ0FMJ1RBnrHEXV21v/gE9pYVHjSoxr3ImhJtHuHurru2NQ+PBSIr
bK2fyyynxIfEhPgg2abNRqxZwqZ2MeOZmx/iw9+wfqJ166arr76imH322f6kk65kshJm5mG1
uuOOR487bkCY/s9WxGr1/vt/1n3KlsyWW9b8zf4WWWShULVsJFNl4CiTJ3/01FOvMdRhbwLB
J8gIp157792Bd4z9hvtSWmXFHBZaaP5NNmnkcvXVV/AXRYu3QgDgCy44/623PuIfHty581ZZ
a19O2CVaoI4MRd261Vg069dfHVF+5pk3XnttYvv2/2VeKk0bY9j/5vt5HhitcK+sVuUeYkwb
AwH/Ll22Do+b5tTAaHv27BRlmMqQYFY9fOWRR54Xj8n5W03amEk2UPiMosDpp/fE9cMlE2yM
zwWY7rSleef9fatWG7iF6PiXlSkEoVzRO+20BYvj8ccPePzxl196qYb8aQBTpnwsAOcAzvDh
54X8n332kcL4GQakwqMMJaa/CYGEQEIgIVCIwCzkbTyeociv/zwFafP3f9Zc9MNPvhjy3P+s
t97a2aUJ/COvvvrWPpv+L1ZH4O63/ti160qVnaRybt++ea7fKqyhyOC94n4tFDATHCu6/PJb
Dzts9+wkucUX/y/GFtIiKwJsGDGr4Hycb74/xJjocQs+1p9++me8JRCchtFziuFhM7pMvfKo
Uc937HgEamLqXrdu21511R1AwHgY2Jh/eEIlX3jhBfXc2TwL9SSJNTKHmJTGTYx2+KuX/eST
qexwOJPLzTfvwUPaosX6hx++uylrWcBDNWUS6yKc/fF0P/bYQOYfhjfcy79XX51w662/dPNZ
yRBWOwQUzgsvvECICY8jPJpS+cKYqFWWJQfJcg+xNJ8c/kGN7AMNSVhb8TYmN6QW+AYJ4qeZ
lquPWHAQZ4su94yCDPwXWaSG6Ff+ydab8qc/LTz//PMVShaCUK5oc9cGDhyBAXfq1Ibt87nn
xnolw+OIjTOWUi5+hgGp8ChjoSmQEEgIJAQSAqUIzCo/qa5uiX/PPerWctEd1vzSX5yMBlu2
bbZDx9bx3/Y7tGrWrNFii9WQqiCQ8VWWKjwjMfXq1Vi2cAt///a3v6+//h7dup0cbWbXXnuy
lYb8bub+Z3MPPCkbIxyIHcMV91m4FXyRWWsTX2S4xZAjkLOgmCsmEkULk67QAp2xCWd6zUsu
GYaQmWQ2dOhZ0YK40EILmGz0/fd/N9NIwmeffSNL2sQU6im+XbvmGKG+WZiFpnXrDZ988lU+
QXY4FO3uux/nZ+Qq5STdd9+OOd9r1l8sefh5pgIBN9V/770/n332QV9++eg99/Rj1JFhjoRh
A+RDNVEN89JYyAImyCgzj7siQ+bV/C3UKiQs9xDD3azmAX+z48OtEDA/MqfAzju3wcWtTRkz
5mXUlpmWQIW0+DSBb7753t/YNmKe5Z5RFKgmwAa2/PJL/vWv34X8LUqw0uLqq++IaQtBKCza
JDMJV1xxac76888/LCgvn/CmoOAhT0tS2rTpNXbsu+XiZxiQwkeZfUyxUimQEEgIJAQSAlkE
ZpW9DTNYa61V7r//g83/5yPlBUOawFOfrbjdRqvPN9+80brDRPH+B58c172Duzv1OufOgSes
u8n/PP72+7YLiTJZjWcgjJeY+oOWmcHD54jAdejQIma+1lorN2hQ76KLhg4dOvLII/c0oz8U
Udi1IFicsyYVIX9bbrkxLvX66+/ob5hnomIffPCpNaFsitdeexfusuee28ZbArpAPlmmr6ZN
9+SMu+66mvWhJ5ywr79hgrl1A5YQnnfeYDHfflvDAzg0L7jgRms/uW6tEhCT/cWKZCOFWfJ4
o9AjJiUV5Jk1zVy8uvu74oo1ixiwwAceeJqewqEsgXK/0Lvbr451UC26dDm+UaM1TIAzY4/d
xRqFaEQJOQR5PjjOuDPP7KUWr73Wz/x3Ew0feOAZHI6lRyMpV9x0xZd7iFlNqMHu2LFjq759
bwDFV199qyK80ixSvXrtkisOegyWd9zxmPjgJBWokJYCBCwf+fTTL9g4c2OPcs8oV+g0Ly2m
OeOMa1u1OmDPPbcZPnwUJ/jGGzeIqXIgrLBCDdcsLJrh05IOS0HvvPNxLDA4yq014YvHpDVv
i2E1YKuS11hjpXXXXU0+hfEyLwdmZUCiztlAtoExpdvJjzf/008fzsqkcEIgIZAQmMsRmHX2
tv9dZtkl7NaGqIE4GNKExYjP9SUYkklv/jVr1jgECjnTDD8qVGzIkDP0CnprM5n0ecccs1c2
N95ACwKspQjrA7K3SsNm62+zzaZ///tPI0Y8irStssqyt93WN8s/+NR4IRFBfO7qq09E9bKZ
qJqVB2Sst+3X7yYyV1xxXGAGffrsgRTaqNacM/Pe3LIiVdqTT95vp51am9FlJpyEZuVnM6wQ
xjzcbdlyfYWGSVFq2q5dzTw/U+LM8TLj3uJKJhmeU4acSZNqSHa53447tuaJe/DBZ2+66UHW
uwsvPNzcvl12OfbYYy8zYW7EiPNzCRmxTJz/5JPPQTF16l8PP3wPSTAGi0+Z+jiC2YdySX7N
ZYWHGFZUWJZrxa6pdaNGXa5J2NfDEzSn0HrJUs8gTfbYo72/mDd+GRSrkPbQQ7uoLGti794X
SBho8a+pTmFaq0B69erE2c1DzV0OT+wqK1kBhKyYgRNbqVp37nyc3VUOOGBndzU2Rl+NGRd8
9NGXDHXwfg1YZLn4mQtItoHRh1E2rDDNap7CCYGEQEJgLkfgd9FdOANA/O53vzgEy6U1q8ku
bgiKLQmM75EbpE0fkJWnwNTPvpo48T1nV3GtWoU6T42tbtVp7gOSzaTKsJVxy5YoUGXanBi1
P/roM1YZ/+ItyxJ79DgTKezbt7fOlX+zdCZWFNYp/eUvX3LA5UgqYxsLWWlCGOpuuU1jDr8+
EGxsf/zjQlVmxUDFupYlJRgqBNCFwhw4ST/66C/LLLNE1lsHGYwhG1OYduZG2q/OaCG7ysQS
Yw8xG5MrcfDge53MYRrlAw/UrPbN/sqlLffssml/fdhEN40ht13IDGSr+kxuhflwpBo2lM66
Kxc/swApbWAzUK+UJCGQEEgIZBH4179q1nLVmd+s5W1g0jf4mT7Fc6Tj9CvFLsiIx2DCdKhy
kqVpa1VMlrfVKsWSMtOFAL8h0+x99z3JqjpyZH8zAqcreRJOCCQEEgIJgdqDQB3jbcVmkpkI
dzUMrBqZmajSrMuKMc+OG7mFCLOuuJTzLELAQMIaDtP2bQ6SSNssAjllmxBICCQEEgIzgMAs
t7fNgE4pSUIgIZAQSAgkBBICCYGZgkAds7cVeC1nCkwpk4RAQiAhkBBICCQEEgIJgZmLQOJt
MxfPlFtCICGQEEgIJAQSAgmBWYVA4m2zCtmUb0IgIZAQSAgkBBICCYGZi0DibTMXz5RbQiAh
kBBICCQEEgIJgVmFQOJtswrZlG9CICGQEEgIJAQSAgmBmYtA4m0zF8+UW0IgIZAQSAgkBBIC
CYFZhUDibbMK2ZRvQiAhkBBICCQEEgIJgZmLQOJtMxfPlFtCICGQEEgIJAQSAgmBWYVA4m2z
CtmUb0IgIZAQSAgkBBICCYGZi8CvOi9h5qqScksIJAQSAgmBhEBCICGQEKiAQLK3VQAn3UoI
JAQSAgmBhEBCICFQixBIvK0WPYykSkIgIZAQSAgkBBICCYEKCCTeVgGcdCshkBBICCQEEgIJ
gYRALUIg8bZa9DCSKgmBhEBCICGQEEgIJAQqIJB4WwVw0q2EQEIgIZAQSAgkBBICtQiBxNtq
0cNIqiQEEgIJgYRAQiAhkBCogEDibRXASbcSAgmBhEBCICGQEEgI1CIEEm+rRQ8jqZIQSAgk
BBICCYGEQEKgAgKJt1UAJ91KCCQEEgIJgYRAQiAhUIsQSLytFj2MpEpCICGQEEgIJAQSAgmB
Cggk3lYBnHQrIZAQSAgkBBICCYGEQC1CIPG2WvQwkioJgYRAQiAhkBBICCQEKiCQeFsFcNKt
hEBCICGQEEgIJAQSArUIgcTbatHDSKokBBICCYGEQEIgIZAQqIBA4m0VwEm3EgIJgYRAQiAh
kBBICNQiBBJvq0UPI6mSEEgIJAQSAgmBhEBCoAICibdVACfdSggkBBICCYGEQEIgIVCLEEi8
rRY9jKRKQiAhkBBICCQEEgIJgQoIJN5WAZx0KyGQEEgIJAQSAgmBhEAtQiDxtlr0MJIqCYGE
QEIgIZAQSAgkBCogkHhbBXDSrYRAQiAhkBBICCQEEgK1CIHE22rRw0iqJAQSAgmBhEBCICGQ
EKiAQOJtFcBJtxICCYGEQEIgIZAQSAjUIgQSb6tFDyOpkhBICCQEEgIJgYRAQqACAom3VQAn
3UoIJAQSAgmBhEBCICFQixBIvK0WPYykSkIgIZAQSAgkBBICCYEKCMx5vO1f//rXP4p+/+//
/b8K9azNt/7v//7vn//850zUsFyG5eJLi65esjTtbI4BHW1nc6G1pzivQu1RJqfJTH80P/zw
w4QJE/7+97/nCprjLv/85z+/99575dSe6biVKyjFJwQSAnMiAnMeb7vtttvmK/odeOCBc9AD
0N2ed955P/74I52vuuqqpk2bVq/8I4888thjj5XKx/hyGV5zzTXrr79+acLSmOolS9PO5pj2
7dufddZZs7nQmVtctjFMV86ffPKJV6ECA5iu3Ga6cKtWrS666KLpzTY241zC4cOH/+lPf2rS
pMkTTzyRuzVnXXbp0mWFFVZo1qxZVu2PPvroyiuvDDFbb731Oeeck72bwgmBhEBCICIw5/G2
bbbZZtzPv5dfflk1fOzC5RlnnBFrVfsD48ePP+GEE2bMUHTwwQd/8MEHpXUsFx8l27Zte8EF
F8TLCoHqJStkMntunXTSSZ06dZo9Zc2iUn5NY5hFKv2G2ZZrxgMHDtx///2Z3NCa31C9X1n0
559/fuutt+Kmf/nLX7JZqd3999+fjUnhhEBCICFQiMCcx9v++Mc/rvvzb5111lGllVZaKVwu
ueSS7C6rrrrqYost1rFjR+PX0gr/9a9/3WuvvZZeemlip512WqBNPqO9e/dGaEQaB+N/XLHS
csd07959iSWWWG655bp27frll1+KvOmmm/bYY4+Y85577jlkyBCXJK+77joqsZx98803hQXF
VLLaddddXW688cbPPPOMgBL79u2rLquttppAkKRAnz591lxzzYUXXniDDTZ48MEHxe+7777s
K8gK/YNY+JuLL8zw1VdfZUgjX1i1bG7VS0rFEKLWlKxXr96JJ55YSkYpI97dNdZYA4DNmzef
OHGihIUolXsc5ZAfNmzYU089Jbf99ttPuHPnzosvvjirzOOPPy4y/C699NK1115bw9hpp524
qP4d/cv/X3zxRePGjaVdZplljjzySLEvvvjiZptttsgii4B91KhRQU4tUG2NRHu777771ltv
vU8//XTq1KnSsnsFGY1BkwjhwtqVIl/aGELy3F+18+zatWunQe6yyy7vvvtuTsBlYTXfeeed
bbfdVptfaqmlvBcff/wxyVI1Qm6FFc8W9MYbb2y++eYLLbSQpp61pRUWnU1YKOBN6dGjh5du
k002QVzI55pxzEEVXnjhhTvvvFMVbr75Zu+FN27FFVd84IEHeBULX3yIaTM777yz9rDVVlt5
ysSU1aZNm0KLnQe90UYbhXdt5MiRoegZblSSgzq0Rm3GC0tPBL1FixZuHXLIIZdddlms3S23
3OLh0mrTTTcNkaFVaLHxEyG+sEXFTOpA4M0337znnnvi2+Qr5FKbDFUT79Io/f333xf48MMP
q69ymEXjyynhW2+9VX3CKiWZzOX83HPPVSk/08WeffZZCsz0yUI+ek8//fSIESNgPtN1ThnO
OAJ62Tn09/3336u2HjTof+655/rMIT2+ubqB1VdfXeeUqxrHzYYbbigJKx02duqppxK4/PLL
9UMsTMa7gTONHj1aPGLUoEEDHkkMQMAXXGS/fv3kELP1Vb3wwgtd+hwjlEcdddTJJ5/ssrCg
mIp7dPDgwZRX0FdffUUBYVYEl4GNjRkzhrCP+1prraU6Pui6K7VTI5823RUapD+OGQpk48tl
qNYqQriwatncqpekKuV1uq+88opHIAzGbFbC4pdddtlrr732hhtuWHnllcm89tpr4gtRKvc4
yiGvG1YdubVu3dojOProoz2y7bffHgn76aefxA8YMIB/7ZJLLtExe0wNGzYM84fcCr/A5BAR
/TpO4AvF+ehx+2B5BPPOO+/rr79OUi30+rpYX2fCakEyDA8mT54cstIY+L9CuLB2pcjnGkNI
W/pX7Wiis9eZMTljjRpDtvTCaupOll9+eVQS6aH5Kqussvfee8u8VA2R5SqeVSa8CHTwKP/3
f//34YcfdrewaPEIuheqnIA+ZrvttlORu+66i24LLLAA/p1txtlyX3rpJXT50EMPZWVHAbEr
L+wpp5xiAFDuxYfYggsu6O69995rOKTuWgWFd999d80gm7kwRgVegzrt+YADDphnnnk8ffEz
3Ki0MR8K0xLUrn///kgzrvntt9/ecccdWg4CikNEHTASRYNL0wqFkvF18kHA1LXkIFnYomIm
dSAAKBX3Goa6GH25NOIKl+JdXn311VdccYXAoEGDqqkysnv44YcblhPWUCU87rjjqkk4XTJG
BXL2sKYr1UwU3mKLLSiggc3EPEHtiydbv9///vdepZmYecrq1yDwP78m8W+bNsvb9AH6bN/x
oFIYit14441ZDYNly3c/RGJOvv4+r4iCfvrrr78O8bqH8JLr4bAlPZ94ZobApcqxBz2BTijk
UK6gcDf81fN5GVTBJQX0E2wP4ZZXxfdFmBqBQQojOuS5R4VZ4K6//vognP0b48tlGNlYYdWy
WVUviQyxu8S0dMhehniMM7Bbl9ibiqhOOZTKPY5yyGd5m+cVStT9KwURcQnPY489NsT7iPsA
Ra4fIgNv0x7Cpf6VaVCLCpceqz5VGNEfOnRoiMQCQ/5Z5uRW5G3laleIfLYxhPxL/yIQurEQ
H2xmCH229MJqqppOS61DQvZCQxrhQjXKVTyrDCbEphhiEPRJkyYJFxYtPvK2QgGGE8zPqxpy
02fjgsKxGYf4+NcYSRtwibd5X8ILW+HFh1h8JY855hjPCxqS+wJInuvhWO9w8VgWzXfYYQeX
MpmxRhUsdtphyJPmf/jDH7zj2iRNYq1jiR4Nm2K4VGiHDh1CODQkTtVyLSrmUAcCxn7ACU8t
60fGa9VOvLtvv/32dPE2tiKpzBeUgx5B+Oyzz57pWBl9IeiMXjM95yoznOm8bcqUKV5Po1zv
OMeCYRLowgi2SpWS2KxD4PceRh34ebF9iEPbUh39RP369XUM2aqNHTvWkBotCJG++999913o
+Tgo0b4Qb3T7t7/9TVhvzbAhK841U4lbtmyZza00zBQRIssVFExNpQnFMAYgkeEW4vjZZ58J
89n57lOYsSFY4BmQCpOXRhZmGMWqr9o0Jbfcckt8gkPKN5dRhxUhpySSwaZILJTOYxUC5VBy
t/BxROUrBDz0cNdDFDAXylOmgM8N+1m4BWfGFX1kLp/s48PtTKUKApqWx8FvpdePy0f0rLnk
uctytZsmnrl8spcRQwySIVYRXLRBoEI1sX/cWhPib9L3h0ZYqIYMSyueVUCYLUpa1Jyjn+GK
HatC0ZV1M2jxcvkFMba0XFkVLtUivLCVX/xgFpUPo6NwaBWMr9ied5+VPRbBdxZbpkjGbxw9
3J2xRoVesDHHRiXDI444gnebmzsWWiEQE/oaENMCy7WoCl+VCvnXzlvas8f6/PPPU8+Q1V/v
KQbM4+EL7BvI3a/lP/roo24B02tozMO5bNDl4XLqsaVxnfsKsdIxKsswtCu8GVc2H4bhk4lX
ckNTUzIMIH2+OOu7desmMvujxkEHHYS14Iva+e23327orhTk26M0Q5HBm4HNu2CKji7D2MDo
nbndoEgqaU8//XR2OJdk5OwzKJJ6pouYxMkUffzxx7ubLbQwcwkNJPjcTY60LM8wWHUw+2zC
EGa3ZhWTic9dWNpizKbWhliA3WeffbiDDFosXLv44ot94ugAYegZCxmLEmbT1eN4X8ibAANt
dZc5y7Eq06S00BQz+xGY8+a3FWIUbG/ZbyLiYriQFUbs+GJ85sKvUaNGXmyDYDLio+Tvfvc7
779LIxhvtYG4z4Rw7PiR6CjMGhfDiy66aAhXKCgK5wLZLiTeMifGhBuOFeYfqsb4agKFGcaE
5aoWBWJgmpKogOk7Phag8DnzuQzoxRx8RIR9cEOMziwEKqBU+DikKod8yNDfmNBDDJG6Z4F/
P/Oa/9mfChfV6s5DEoppSDEJcws/Y2hggdAT46oOwuFvrHLkrOVqN008s9nmwj73McaHNSxG
DjHlqimemQrTMobxgY5TMwvVKKx4LDEEdBim0egOzz//fM9auFzRMWE5AV3a/PPPH8WmKxDf
tcovfhSTOUthhSLkk/t6xCY0Y41Krc2riyX6HAnHPGN8uUDp+1uuRZXLYU6M98U2rxQ7wXuw
BFUIvlEzH7A0DSY7eMY82NoNZh566CFr8wnznBqlmJOKQtkvxhdbAwu02zcKFdZimfHCyjbM
yVwafMV7hNsFF00EzVeLVx2bx3WwGd83HnnOGV8575GCZKsgBjzr2Q0D/AgEKwCvCMMblUzW
NEqkZ5hPiT9hQhgYeidM3mgwlihQOXM8jHzPnj2Bg2hmE8aw6hDwKVM6HcTTwaAa58NuTd2m
jEj5KB2HMxBFW00O8VX0SbEng86OnYKM1mu9l15SmHsH9WSqj/MvRabfb4jA73/Dsmdi0T6L
vomGaGF4qh813s0NobylbAP6MO+woo3UDeOyH+ucPj4HSIY31s/8Le+5EQmPaugqgnDhus7q
C4r9fa5olz7TyjV+CisYwtT7LHEpTVJ9TGHVggEjl8k0JTkdfMiMXENCA8qckoZrzJwczaxE
ZJgNgmT1KAX5apAPktm/ClU6xmPqYYi3/gAPzsrkwhQ2d5DPPcRDXo2YhSigwYTBepzYLnNi
sUnE9lCudoV4hoIqNIYgENci0IeG3JqN98W7AAAgAElEQVQh3t9y1eQkMveOyyOwUr1FeDqF
ahRWPBYhgIuwOugDjPUZG3zWDdzNHquMcDnd9IL6Ob0mYGVuWY9Lk7qyJU4zXM2LP81MCHhe
vh7xoeuwQ49VmLZcjbLCMmTWxRKCkU+G7BxsfsGUnpWsMlyuRVWZfE4Rw2kswMI5GIkND7xu
TD7eO/GqkOVtyJbn5Y3joERl3GW7wooAxVSGi8Ac/cVFUEDLU3yaIgiBMPkWyd+3nTfQ04l3
BZSOPhq0++Z7MT1xD06AS8FIdccddwzzFFGcu+++26RJnCabnCSnfxgfMqp5AfFRpM1AwiQN
ZaFowdubTVUuc6N3Yl5PldLNsdixMnImlA5FEEpUDP01zdfnwocOOIpmXKTSk08+6YWNX0KT
d42+5By8B77hqJtszViQfxzcGpthwEiqctnjswqn8G+FwH9ZpH4rJX59uT79vDZaLX6A8RhJ
eDO112zO/CDaJcOVNYBap/fZixT63axYDOuwybAM6+r0WIzhBk+hb2OxN8DySofpqDFJCFRT
ULA0+LJEC00uE2+IlzwYq9ACNSIQTCzSeicjV4gJy8VHgRgorFq8mw1MUxIswIGG74LZXTqq
rB1IVrQyZmWKwxXQHY62kH81KGU1qQb5rHwI+4Rh6ibVcePS0Exb/DtaUErlxfhY8ypykyEW
+gPznPQN8jHG9S32yMz2CIsfCfNZeEy4oEbCOqtFKUV8udoV4pltDEx6PrIcPTLJ/ZTO8EAg
kBvrOqNAuWoalngcOBZJ6jEPhKdTqEZhxWMRAvoJH3ojb8h44lpgsGpXRricbjwy1DP10GjK
IIo5IVCl6psxlap58bNVKBfWRL3UnFDqhYlqMGE2VaF8uRplhVFbtWPh8AFh+9GPmsURGGpW
LIbVmkMfV4gxuUC5FpUTm9MvAz8zh5IBLEwMgJtRSpimluVtYfQVBiTBEI5a+U76ImFpYXpc
ua+rUpA8MwcOO+wwBMVlzgPoHYdkGKShSlhLANZLJMBcHS4D46FeuMz+DRbWYHOlhv7IW6OF
B4IYZ1xkk1TOnAcg2GuDraGwagGTYGb21odhpBU2WqxyNTAx4QOl3FA7gTDnkg+BWFgaEmKC
btZCyRBpC9lmFU7h3wqBOsLbwIdFmRflJUTOLNfSzlxmYdXrGCQZ04jXRo14skvxs5IhbHqZ
T4DRm/dEaw5jHV9PBjDmYo1Y56dTL01YTUGy5cAykJJtaQ5icAumLANKfIW5iJHDmA8rdcs2
EExxu+22Wy5huficmMvCqpWKVSMpK59Lhkk/BgY2zrAmIJsb4zwOrXf3C+ZDHVg1KGUzqQb5
rHwMoxp8AaD2HFEiXXIwgUSBXEA/QWGjc08/fN/D1h6IhWfBBmDivFshla+htuGH07M/cTeE
b2u52hUin20MRh2YpQl5Oa1c+tZrBiboaMYGwShjVqawmkyh+Af3EM0Nmg1aMEJFFKpRruKx
FJ91rwxaw+sNAUOL4L4vLDqmEigUwFTwJLOX2DJVjVsqOGiqb8ahiGm++FlNyoV5w9UFe8MD
EHSONg6mcsLiC2uUlbeJjMdkrOJT46PkMtqks2IxzN3m0QC2dDwWZMq1qJhD3Qh4T42lg5M0
8Lbwl1nLo8kaQcMUl/C6hbobZjMvGTsZmfu6itRig0AwM0eIcBePm0/G1wD3QtkNiuJdgZA8
bEGCyus1wt3gz7G0JVyGAEaVTRvCYXAYWJoYry0xdizszWVwYuZSVc48jjZjnrnkLgMmah1u
ceYC00cMXfMzHI02ewIxQ6xUEt8cMrijwWp2i0TJzRqMX7zSQlPMb4CABl2XfvokI63KNSLA
RFRZJt5ln2AMiJchYMaD8VMusvRymgWxNPgolCaMMe4ad5bKsBcaTkWxGCgXHwWygcKqZQVi
eJqShqeGvFE+F/DNZZgMkYGRxEuR00Qpm1uVyGeThLDukJKl8eVifF59xUqR99w9tTAe9Tck
N/bl4yvMqrB2hXjGxoCs6zByueldGG9oFRZF5u7Gy8Jqein0ZFEmBgrVKFfxmErA42MJzsYI
FxadlSkn4P0CYFZyuppxSFjNi58tojBsLFf40AuFRZarUVZe7VQnG1MuDHltoNzdGF/YouLd
OhAIhmSjgtDGNLbAveIa2+x6UojpNXE7FbdKQNjXBkUONmwWprDtJVosPoLDKU8SNfeiISUh
Vbwr4FkY5tGBETr6QLUNKhlmyByz9xMwItKbUFImYR8QhmRhbUM+eKEw76RwcDWEEWwgWEzX
2ULLZR5868ZgQThUM9cBBROgtyBXqMGYWlhqEDRhZSTAIkArHDdkSD2XRqewYrFjIAhepnDX
aErmIZz+1hIE6pq72oQGP62wws/Qp8Ld3C0vGEtSLtLoORdTeDnNggqnlGWz8sHymcjGhHD4
KlUfXyopprBqMyYZlx0UJrdqiQvb6iofOLM9fH+ztqJpopTNs0rks0lC2OAyji9L75bGGIDm
Fh8EmeCXQR+zSXwZWXmzMTFcWLtC5ENjQH8xdQbCmEM2QKvKxsLCapZ7KQrVKFfxrBrZxxfj
C4uOdwXKCZS+X+Wadza3XLhcHXNilS9ZMgoferlU5WqUlS+tXfZuNgz5aX4QyBe2qGw+c3qY
gYcrg8WLDVtdNDYGIZatwIcq1M63ha2I6ZQB2xQ0k4ONErEuDhaMxMeHTTckx8a4BUzW9F3i
0DRV1Ecpm7NnYSIaAx7XDSM3a5NLXgIqmexhG/awsRElLcZkCjUEyiYvDLPRondMifp+YzMu
3ZzfvFzmeH9hhtVE8jBYisuE72XHbqldmgqZY4pTEZND2PyCYzSKmQVo1BcvU6A2IPA7bag2
6JF0qMMImJbrW2D2Ln7DbsTJq8Obo+vL5qF74KysTFhnYh1NIuZM1N/MxDxTVgmBuocA61Tu
rWQ198IyI2WdqqHiGEkhD2bVNsfOOhKvOUlUkquUiyPmgAWyyYVRXJUY2pUTw2O+wkQt/DSn
Ipz/UZp8BjIvzSQbwyrp21vZosHYbDhaiEY2qxSuDQgk3lYbnkLSISGQEEgIJARqCwImwJnJ
avccTknOR2tITbusPENxmqqbUWeqA4MWc6Ct4BjALGjIbhYzzRySQEIgIJB4W2oJCYGEQEIg
IZAQ+C8ETOE3Lcw2Orz2jizjamQt+y+J6bzg7uS1ZLczF8I0MiufrHCazjySeEKgBoE5lbcZ
D3mvDFbCoujSh8nqa0AjPgZKZaqJ+ZXJqymigsxvW3oFxdKthEBCICGQEEgIJARmPwJz5D4g
lmhZU22Rs0P9CiEjYMqndfUxUCg2zUjLauRjufg0JWeigJWJhmUy/E1Kn4kVSVklBBICCYGE
QEIgITBzEZgjeZsV3VZ+WQgdFjDPXESyuZnIaX+1cksFs5IzMWxPV8fJyfA3KX0mViRllRBI
CCQEpgsBW+Zay5n9Gceawn/mmWfKx8ywwq0NrTa1SeF0FVT3hJ0JFjbjdSBQ6SaaM1Bf5yvE
DYdnILkktvw1TXDG0qZUFRCY83ibbTa9w9YB2QjHRuQW9WivWqpFOtb+eMnL1bZQ0nJx+zSG
JDYjjQc4OlnFjFQLiGx1E/bmsW2pbfGtCeectU0DgZDKJl4WWlsobs2RpdSFO/E6NcV+kpZ5
ew1sNBoSyvCaa65RClevSa9hR0Rr10Vaam5r32zphcpb/uOtICxzK5vUJey3LqGFh7K1hMqS
dQQ3lJj+JgQSAgmBWo6AszXND4m/7M4sNuNw7FUt1/83Uc+aWXuLpN0hfhPwZ3+hcx5vs47a
xvQGXoxtNuaxdaHd7U0aZRhD5mwzUXgACGQLJe2OZjeHgDvO5DQVpMelTeHd8jLYvSbszWOC
qu187LJo8Taa6FgtXMoPabOhK/KHaRFAJXNPkZvVvkFONXaEg/1+kMuwWbYMHbGH5znK10xV
jJDm9HfssW3B0dNs6YXKBwGF7r///jilPSS9ukq3UZD9eGzXTitHLISNJXNapcuEQEIgIVAL
EWBs406Jv6yGjqWy+a0YpiDjdp4QX/7wxQ5iNgERb8shZjljV4eF2MvDFrgxEyNbJj2jXGNv
u8SJZ5qygRmTnoGuky2ipcquk1YPOAzKqerEUCLTVwy89QsMB4Eh2VLOJkchc+N2Y/hcuTYT
MZ/HiN0mPr7JJM3MdkIozQ22beHmwy6yVCvfdud20FNfc8EFF4Qi4l/zf5ycZliuFs6+E68/
8pe2YeiuI9NVmU1kg7qQyvDeXRnqPYMlQgWZPPShUI05C9iPlzlAuQIhns5Oi0Gg1d0uTi65
vOKBItZbwM2q29JaxGwL0bMnsG6OkpZ9OFkkCFfW0wpcG/IFPJ1yEfOf6wIAneN+2rGHR22N
206VYZzh0oalnp9DGIPVDTGKgXKSSJvWLy2+JaARW6Ht0knDDuEJ7dvxTWIwKpRLwC+8297S
cB5L3Def8cwSoSAT//p8+HbESycf42ouZeitC/H29aY5U5xLk/bC1tix9HLKh+0Qb7rpppAJ
HPBCYZ8hqhqwCuNtoUZBJv1NCCQEEgK1FgFOAyNYbCP8HLtE1d69e9u1WwCZcFSUzdX4N4zb
DZgdhKDvN2T14bXtGQaAi5C0cwfm51tq+JqtrCE0F4SeQnKDf7ccQm9XthNPPBEj5ANB9UQa
BjtdkJvP91NZyJnd13zGxfC0SOj4AWI2VXZgccjfpnE6kWy5SIYlqPLHJvUCDo8iaSfLwA6Z
CaxURb9ElmrlLkOAbecoYMLMxIkTQynhL77oeAMTuGnlLhoX+oJwuA4m5MwJWxA7vAsIjAIU
0FGCVB1Vn2dJPnYb5qSyuYlKxcx1mhxKIh3ozNaA6rmlS4WGlbAkgYAwoWjK5fBxV0cZzqso
rQV6rSclU4gePXVYHE3sC0izxzpNPZFOLQFHxHdj7xmVn3sCc569LcustVePEG0PkUYDBjc2
3cnKhHA5SSd4oEfeCm+jl6FZs2aamgbESOZAzFw+Mg8xYc964wwvle8FthfiS5OI92Jn4729
UcNw9B4ZlJH9n20v5JP7W075IJbVKuys7RhQtj1oMMWpXfYA8lzO6TIhkBBICNQqBPCDf9O2
QeGo9Zx6TDK2h+VkQJXYwPAbAlwfjmxmKIqL1SwpYxhDBGNyK714WnX8khvc+kKGTy5OY2c1
9iTzZIL9DNvDb4yx0Q5mJ1sTGB5jdWKcbe8cW4a0mG0uEMvFRZj02NVQHPY23QpJLKdnz54o
EXrKRCemUCtUEitVfTxJAG2KpegODMVN4MF7bCaCRNKWIY2AEsPOwHws7G24nXO01YiAEtUO
Ygxmca4OpmWKjkrFzJkq7TAnEmPDNUO8+T90hq1a9OrVC4a4ne4y5MO2x9pXWIuYbTn05EZ/
h1YzQOqCp6mn2uk90VM2QhQ55j+3BeZs3hYM4BprfGwOLWFmj5cxUE7SG+Xl0WK8CV5IbdGb
xorG2F56pFLc5T+8GzJ3olx2g2n0K5YYA4rOaRiTZ99GDbfcYSnllA9FxEOBYrbIqBfeW8cD
K+xzE5VJgYRAQiAhUJsRwEUws/AzBC1VlVnLADvE++CzsQljJwbbPCGMLuEWWhY/iSGGY4SP
DyNhQvNjuvPld8s4PEhywOF/YrJF4IU+zoxbgSC6q3cIHhLh0l8sF5fi/lMcRsjZym1CmHkJ
+wmpWJsECrXizA2kStHYZ9AqpKKJDKOxgFalytCBsErRgb1NEZZuhFob5+M9IUnMJOTsLxth
wFOYUyvEK5EzJyQ/6aSTWN3E42polj4L1TN5qbAWIbm/5dCLkCoUMtPUk6uNZREH5bBmm4j5
z22BAoozB0HgpdU0R48eHXT2Tnp1jZBKq1BB0nwyUwSY2ZA2vkss3mF2PJWlmZTGGAx5w+OM
ujg3IitpPBE1FM/8ZvpaEAhrEYR9a7wwBjTZhDFcQfkokw34WHidjKvo5gxmoyVWyaxACicE
EgIJgTkUATYkTsCgPFtUmBqF3/B+cDjETQac7JSrILegSOTAeNuPAczxcWRy9E5MtghuQR9S
Y29umZChbziPrTAbQRhs+4AzOIW7sVzOVovMWAS5O0899VTdEwGkLfpVguOlUCsqcfhKyK/q
2FAez5C5v2xdNI+fdMroIOLdEMgZLxTBtxNq7S+LXSB2vKi5hBhhrCZ6F+4q0RbEITnaFAA3
FQfrtfUB7iV/v0JsQw6F6LkVrJsCOm7mQ5lU1pOVBE3k7cVrWeki5qGUuefvnM3bWKSxfkZ1
b6x2bJqntZMGQ6XPr4Ik3qbxmdzKPmwsMu+88zpv2CyH0kxKY7Rd8ixbXh7fCySpVIZR3ZvP
PG68ZbmDiRExc28jymg85K2WMDg02c8MhsL00pBbBeVLixPDZMhDqk37mpjzYZxkHIlc+oLE
711hwhSZEEgIJARqOQJG1+b4hwUKJrcZclOY54Q/xDwqflJ0p7AKzEu8h9ddd527Po+WHZjF
VSjJTeFbrVNg6PIB94nGJ8z6EvBFZWcKBj80gtFODjyG5hPnskKPDMV5IREay+aCgO4GD8N+
FB2sfYVa6dS4ffUF/poPF9hhyJ+XBrvieXRptM+tzBWLgXHmBs9MTg2XlOd7ISxsXR07X9aA
l5XXB7FcmBdOgGS4ZSaSripkrrMLvZU+xYMwL9DKPGKFtYg5F6LnLh+rTkqvpAcH1DT1ZNiD
HtJpyqNusRTzWGLdDszZvM2z8d5qMVq28ZZ2xnbqsvCZlZNE19B8TlKpjHJY3bg746Sxwqxi
pKbDqaqVe421bPMJxMS7IYDbOZnOy89kbYnQMcccE1fiGHuZ5eDl9yGwQoIakphpy6psIkL2
JSynfK6scGnaKa7GzmeU079/f58M9fLFsfaKtbwwSYpMCCQEEgJzBAL8FaajcZZhRdZvWgoa
1fb15io54ogjYkw2wAplir0NMk0mxhIkLLc/mSWfyBaSp4gw2Yuj0MCbmU1aH2eXcsYREQia
oFn6kWxZwroDJitdg++8VIxkPsLdunXTv8jW9BV8C9kq1Mr0O/H8Ofalw07iBlWypZhacKfI
0yQfX3jdn3hck8IsCDk1XBKwIFRlOW2Z8VgBZVIqJoaqeit/zduO3O7YY481a4g9jC+LfQRX
C2kxNsbLsPVVYS1iEYXouYuxoaHIIpOHwDT1NKtPfVUE2jy2HkQsYq4KzKnnXOUeEorDQp6d
apYTiJfVS8YkFQJeRbbuuDBC67THh93aSpN45wnHqQ8E2vz88+Ybe4WFDjGVIQg9zZaNMSEw
Xcp72y1KsOIpl0m6TAgkBBICczoCvm+++RyaM1ARn1wjW6PZymm//vprNjwelSjGV4hpxYnO
4qnBAheG3FEsG/ARdhetCZHmzBhRI1guMUJky3A63CrVisGPn6R0pnWQt/pSl5ethQ6C3THc
Lf2rD7ICNDvZulQmxKiUonMdkGoqq0L+IW1pLWIpOfSQYEZNdhYFZT2209STrVSSctQzFleH
A8Wke46rsMY0zfYUKlW9ZDUgeKnYve2XZsxhKYChAEN9YULtknG79Jb3OUfayIjMvTMh4XQp
7/uSSFsp4CkmIZAQqAMI+L7NGGlT92pG+MRK8y+lUNSoQNpkkuNJuCYPjMWwwTmYnVpTqhU/
qV+5h1VqbarcCeqDcsqUy1ml/HJ3OUZzMYWXpbWIYqXouRVWwkYZgWnqWRnwbFZ1NTzH+0l/
2wdjQqgRg8kWbGfeQN5MZvAqVeKKDZNDq5RPYgmBhEBCICEwRyNglSgvJxekSWacM6Xca46u
3XQpz95RaMuYrkzmTuE64iedOx9eqnVCICGQEEgIJAQSAnMVAsneNlc97lTZhEBCICGQEEgI
JATmYAQSb5uDH15SPSGQEEgIJATmKgRMqrYiYa6qcqpsDoHE23KApMuEQEIgIZAQ+G0QsM1Y
OCi9cvH26Qi7iFUWs+2RfTTI2PLDqQM5Ycu2ZtZ+lqX52xA4u+YgV3Thpa2sbPBbeCtG2hPe
rHzbncRNOuKtWRqo8rkU6lBNvQoTlou0L4lNQNyNWtldy+6t5eTrXnzibXXvmaYaJQQSAgmB
ORIB6/FthzmzVLfLl9NFZ1Zu05UP9jkrDmKyRynWYpO22bwLxsx9LtOFZKmww0nD5im1SqtS
PWddTOJtsw7blHNCICGQEEgIVIuA3WttfomX2BPfHpbOd7HDqkX3TGUuc7mEkzTtOkE+3GWF
iucm2ZDWlrAuc3vw2gjXxrw2b2MhK83Thm02QrfG06pPO/oq0ZkHRx99tJ1ymzRpEg2BTmjo
1KmT059s31/ospSKRdBxCGF7gVL5CrWze5nt2e2OYXszx3Fma923b9/hw4cz44Uql+JjNzgy
7IjMciGhgxZsZhupsPPmbcNeWHoperHo6p/LhRdeaEtkh43apDdsTRwzERgyZIhdFOwnYl9f
mzAU6hblPaZwFgXYVQEsbtlt2EmvquDsiqxWbnncqsAY6Uzb2WyMjDrPtkDibbMN6lRQQiAh
kBBICJRFwKGFul4uMBvSOtXA0ZyOxdRJO4rGIcu5ZA6YsXG/0yqZoBACdzE5c7+CWAjbPHby
5MnZhM4hsOetM6bs+589SzDIOMmGHQtdsJV6OLq0a9euTs16/vnne/bsaZNO3k/8oEOHDrbt
JGaTMxlm8w9hzIkb18GdDEKF8hVq5+gn3lL633fffThQPMNazoceeqhyMU4+wcIcCCO+bjkX
IWji/B7b/IYTq1AfpAejLUxbil6sV/XPBYu1u8fpp5/uuaiIZxcz4ZI+6KCDPEqnAVHPUy7U
LcrbYyuc6y0rB3+Hs78dF4nDKcXuvlmtpGJYhbkzHp944gknVcZ86mQg8bY6+VhTpRICCYGE
wByGQDicwJbjNpt1/qaToJxG5QRChwQGZpatD9sSc5de3BlQuvPsrXJh++yzgSE9rEFOc8qJ
OSTAZpz4BAsfhsTM5gjUMWPGOFuJPM6BADmQEAdiNKIbYuHMKIes4xC5rMLG6Q5asHNvoXyF
2jmTADu0i7tDrgSc/hQzX3DBBSHDXuVXLoc+ffrsuOOO2R3XnUZFbZmoi6OxwtmmlbGNJYbA
dD0Xz8sB3JT3XFC3mJUtf5EqR3vZHJi9zelBbpXqFuXbtWtHYZd4mBo9/fTTeDYOzfAZZLJa
iWEBtYuqM8ccFImDxnzqZCDxtjr5WFOlEgIJgYTAHIwAqwx7VajAZptt9vHHH+cqg9KFGFSg
9G5OOFwyR5kjHziN45V4P7NiLHNYUThmFPFiXeNexHLigdf0UVBWMTSIt7Ry6YXy2chc7Xbe
eWdeWhZHqnIQl3P5lcshahurxjrINIj0sEI5pV58ubQxSYXANNOqTkjOW5o1FvL84rgsbSBl
9gt+z1LdYtFIGDOnw7VY15jW8DarELbeeuvsuV5RWCBuYs9V6hzY7K26F068re4901SjhEBC
ICEwZyPAPDNx4sRQB9PwTfbK1YctKsTwKoZTB5AtU6ZEmr/FtJaTd6lrl8opmcK69pyfFLEI
LCEkxHLQOGYhHtUQQw02NorFVZ8oxZdffikyCBT+LZSvUDu8hBmPYYmb2Dw/jsVy2RbiU7pe
gV0KPeJ19dt1113lVlj6NNELahSmzWoYpxiCi50y3ho2bJjz7M3JUzUOzX/9619uleoW5R2K
hUNL0qxZMza8Z555htuUmzgK5ALl+FxOrG5cJt5WN55jqkVCICGQEJjjEeAKRJ5UY8sttzT3
HLtyyc2n887VjfXFXSep33333Xxq7lqjEGayjxw5ktMzJ++SBcvktuBUlSon45xo3r3g2jMB
jju1YcOGwasoLdfbCy+8wLZHMZ47ZieReBU/ZuFxmSpCNzKF8hVqZ7o9qxjK6C8vcGCi8sn9
KuSQk3TJHXnxxRevueaa4SzswrSV0av+uWBXuKxjWE1AbN26dVTGWo3GjRuzkmKW5r1F8HO6
RXkBj7Vfv35IG90oYAbbVlttlRWIWmUjY9gzCo8pxtSZQOJtdeZRpookBBICCYE5GwGdtJWY
FkVajciVxszGF8mcVro40S20pl69ehaHhl0hTjjhhN69e5vhhPoEd2cpFmiZNYnyvPTSS3Gy
nAD/nSWc0lrR6bBpE9ScJRrkTefv37+/EnlLrcpE6dAg8thJLpNwaRrWG2+8QbhQvkLtLHRg
+sIg7TyH3JglVph/hRxK5bkXLaQNTlJ3C9NWRq/654IaNmrUiP7gtYQiKrPnnnvSAf82uQ3+
DJnBm5nTLcoL4G180JAXtmAF4DmKHLXKpophD84vXtalQDqftC49zVSXhEBCICEwZyNgEah1
mvPMM49q8GkK86YVVgmtYdPi34x3xbDP5Xr3eDcGvvjiC/6+eJkL8J/igtlI/lAmn6wnTkF0
q5CJ5Ny1rGVB+UL5CrUDgrWxfIVZNUrDFXLICmNISI8lmVlkStNWRq+a52L/W6tEmSpV3PqS
rA4hDHk6IKbxVqFu8e40A1mtcsKMbWg3ZXLxdeDy93WgDqkKCYGEQEIgIVA3EOAijBWpTFxQ
uixpk0pMlprEfHKBynwrR9qkDfPnspkoqHImhLGTyDgL5SvUDghZHLJFZ8MVcohinLnoi5lt
OWRK01ZGL6tPadpYnAA7pV82JoZzoJXTLcpPM5DVKifM3tmrV69cZN24nCPtbd/+vWYLvvRL
CMweBP44f83Qf3b+UgufnWinsiAw+xt5gn32IGD/M0tleX7Rslld4osvvshQarfkKguanbpV
qdIcIZZ42xzxmJKSvyUCs79LS7ztt3zec2XZs7+Rz5Uwp0onBGYCAv9xM8+EzFIWCYGEQEIg
IZAQSAgkBBICswyBxNtmGbQp44RAQiAhkBCYHgTshTZ27NhpprANm2M6pyn2mwj8Gt1iWg5H
SzKnV38nOoRjVac3oR3jwhFhVumGE6WmN4fK8pXr5bhVx1RUyMFWyY7JqiAwt91KvG1ue+Kp
vgmBhEBCYM5GwFnjDzzwQO2sw6eeE4AAACAASURBVK/R7dekhYaddW2xMb2w2G/FziBWv05v
wurlK9frsMMOCzu5VJ/hXC6ZeNtc3gBS9RMCCYGEQC1CwOJHG+Tavcz2udSyBW7Hjh2Dfi+9
9JIzSe3gao83J41269Yt6m2Gu7OhwqWzoTbeeGNbTpB0zKjzrOymhjoU5hZzEGBqchaqE+Ut
KbU1v63/7Rzr5Ch7uZVLaz/eTTbZxIGhtiV77rnnCnWT1uEBDlR1XCmDYrnccmnVwnZ0ztGy
2W84GgG1ct6AWf8OfnAEVmBasrXdHYvUgw8+iAA5U9Vetbagiz93KWCvYGdMWX7rHE/IiIk/
p0gJuxsOkLDFnd2JHXVgG7wgU5o2V2tizj8455xz7NlGN7umheMQQvJp1ss2vPZYJpyti83e
tt12Ww/CJnCzlFMGJeesv4m3zVnPK2mbEEgIJATqMgIIlrMQbANr6wpMwv5e8egkYZty4SgO
SrKf7YABAyIQLhGXcFo5Shf23ejatatTlRxz2bNnT+eN8taV5hZzELAZWGCNjkbANmwSe/zx
xzsYHkmyIVlhWno6Rl0p9pU98MADC3WTs7t2kcVF7OuLdDpRoDS3XFqLQO2agUqisHb6lcnA
gQMdfnX55ZcjOs6/Gjx4sEhngI4aNcotxIszURUsHcVi/RBEVXbIFRideYoA8UE7Y+C8886T
MP5wQWHnHIRNOoDvd/bZZwNNrQvT5motuWOs6ONIA+eDwZCfN+Y/zXrZHm/q1Knks3Wx/zD6
iLU7Z4wOMbcUgEDibakZJAQSAgmBhEBtQYC5y9Qu3TbT1P3331+qln3R7OlqhzDmq3iXxYt5
Bm8Qw2Lk9CTEa8yYMfgH09FBBx1k7pfzsqJ8uYBtY5ESwm3btmW0Q7acjx74U2ESm/GOGzcO
IWPrcoZmoW4SOp4BXaO2swRs6hZoSi7DXFoECz1lvurevXs4oP2mm27ab7/9HBXlnAB2wSFD
hoQc+vTps+OOO6JH4RIsbIS2WIOkMx4cIKHi/jp6wUZ0jGHBkBlLD3vgqWPYWBhHRJgQTflg
zIVpc7WWFdKG5znJit3Rrmk8tjH/adYrSgqEungKyLctcz270047LSuQwhBIvC01g4RAQiAh
kBCoLQiwnAVV0KaPPvooq1bW+5aND2FcDcngU3P2KJ8pyxy3HQYT7srWoUnZVIW5cdEGmYUW
WoirMYTRCF7LwrTsZ0gYVsR9WWHKnVn/7du35/XDt2SVc/xV1oSrlHFO6WoUwdlss81idWId
o4Yy3GuvvTh5/RX5/vvvv/zyy0r3q1+/PpYZ08YkMYApCmNm+JxyC9OW1ppuJsmFIiwyePrp
p2OGuUBEONYrKxDqgqcSC0xUDE93ViaFE29LbSAhkBBICCQEagsCXHtBlQkTJjjskrUmLHUU
aWJWIcUJ8uxt3Gq8pRyLenq0gNuUly3cNcOMAW+auTn1PMj7G+xP8bIwrfOveCTNKtt55505
dr/66qsoHwNff/01NyULFtenOXDyUYvC3GISAQLZS2EmsTDRTVh1rP0MAlmdQwyjGpU4VcOl
kxKcJe9gq/BjiQzkLNzN/c2VW5i2tNbQ5sAN+SOyDz30UC7beJnLP8aHQKgL9TQDuYnEHZOf
NIdSvmXkbqfLhEBCICGQEEgIzDYEgosNQbGlRZs2bVAEVrfgWAxuUJrwITqZNKeSI49MNTMj
LRygvsYaa7C38S0SM4/elDUT/Atzy+VT7rIwrXUSDmvCM6whYJZzxGepbsgcAxsTIM8jWyAi
Qqwwt9K0WWVwL/P3JXcGK8ui6XfZuzFsutvFF19snlk8A0pCU9aAQMZ0PYbMrPnQCQemA5bi
GTIsTFtaa25lU+5CJhy7PLxRH4HK9cpKhjBjG1/tbbfd5hJi4CqVmZtjEm+bm59+qntCICGQ
EKhdCJhTZYq9WWXWRZpnhn5ZAmnGmx83XNDV+lCnT0anYayApZHjx48nL4blxgR5lidbY7Ro
0cJMr/XXX78wt5i8cqAwrflzcuYk5VTlHzSBrFQ3hjH+SjXi3DT3Dn3kByzMrTRtViWOSHt2
yE2NFOQyezeGbcZmPUGrVq34Gf3wRRW32JOSgHX3mmuuyZnoLOTEk9jwYiYxUJi2tNb2YDOj
znS0hg0bsnGeeOKJMQeByvXKSsYwoMKzMzUQ/47xKQCBOnjOFRO0wUQ8i83l5EnvLrbY4osv
sUTteeSGX365l2d61TMKidWc3rSl8uVUAibLdmXjdmludSlm9h8BNM1zrjx6jSf6cT79859/
/OnHVVZZtVbB/uvb50xve4UqlWv5tQrMWa3M7G/kFWr017/+lYUmezY5VyPrEYNWTOWpYSfx
4PYQf++991577bUsNFFMwHJFxq34sogpzS0rXzlcmJZFzZqD+D0v1I0tig7qlc2/NLfCtNkk
vIc++7mKZwXKhXE+wIZFo6Uy1DOlrzQ+xBSmzdWaJEOgOhbmM816FRbNM15O4UL5uSSyDtrb
br1l2ApLLxae358/+aT+WqtttH6j00+ttB3z7H/Ygwddu/kmG/6acj/66MMlF13wk/+eaVsh
w8ceHf3EmMdzArqxfhf29fkTP+jaq1tuunFOwOXOO2x7/nlnl8anmN8KAc/Lo3/ogZrdrfy6
d9tj7Xort2n5y2zuEPmb//VNp+TECW//Gk223rLVwMt/maMzzXw+/uija68eWCoWW/6XX3xB
pXcmTsjJ/PqXMZdhuvyVCJgRnyVtcuNhzJI2MUaSWe5ifH7MMcdYjWjDtlzpTFNZ0laYWy5J
hctSTQibBBZJm8ucbiE3bCZH2sSX5laYNuQQ/jJrZSuevVU5zB9agQMVkq2YYWHaXK0JW9Vb
Lp9p1iuWlQ1UUDgrNreF6yBvyz7C+++7Z57/nef9T6b2H1CzRU3t+bVus+WZ59Rshzjbfkce
fuhHH36QK+7tt8affspJRkK5+Ozl0ced2HHHnbMxKVx7EPji88/vGHHbPSMfnvT+J7VHK5r4
fA8actOyy/2yOm826Gbg8dCDv3DZbHGFLT8rMPtfxmzpKTxTEMDMrEW46qqrNt9885mSYcok
IVBrEajLvO2Ky/ozFH3++dSt27TMDrLPPO2UY48+Ij4Sn/veB/dyyXa1955dVll+qYZr1yMT
Zm4Ov2VYj733jML7d9/r5ptujJchYKvD4445cv2G6yy35KItmm806uFfltIceECPIYMHNW3S
gB3r/ffea77R+rcOv7neKsufcOzRb7z22g3XXyth6803ef65Z2KGO2y7dbCjvPzSi1tt0ZLh
UIaPjn4kCBhTolmN1lmDBTGaW2LaEJj07judduyw+srLrbbSsl123SkY5A7qud8H77935umn
nHvWGVHe3o97de3icosWzYMO8r/4ovPXXXNVRQgEyduG3/zsMzWLuse++cbWbVotu8QianRZ
/34xnxg45MADmC522n6bVVdYutsenSdNejfcKlTJrQ8+eJ+taNUVl2m3Zeubbrxht112DPKF
dY+lpEBEAO1u17a1y6P69B54xX/2IH36qSdabdbM/OUg+d57Uxh3uUg0aW+E5r3ycktqGwxU
BD6fOlXLZJkOwpq3Rh7C2b8jbr9VM9bCm9Rf64xTTw5c/7Zbb9HytfN11lhl1EMPZhv81Kmf
Xdj33C+//OL4Y4/KtrpL+l1wzFF95EyfA3rso6HSh0AcPIy8714t32tyyonH/6toRFH4ut1+
2/DB11/7zFNPtm3dIqt2act//rlnvVNe8z133zUsNgwvo1RyVgWtd83VVtxvn25ekGxWwijy
EYcdctrJJ1KvTavN7rzj9iBQqJJbXihYQWy9Bmv7kmzZevN335kovlzdQ27p74whwNhmEv2M
pU2pEgJzEAJ1mbd16LgjQ9Gqq63ef8AVK6z4yy4+ns0GTTe8cfAgn9rwnFCrRo2b6Da6dtll
yuTJV1496JDD+ugDdBsEvpg6dfLkSfGJTpo86Ysv8ns3n3LicTqt8/v1v+Oe+1daeeX9u3cL
C9ffmzLlhGOP2na77dtvsx3L9vhxYy8475wDDz606UYb6c/efecdMzaWW375228dHvJ/9ZWX
n3n6qWbNN+UD3WarLdatX//Oe0c233Sz3Tp1HDf2TTKXXnLRTUNvOPaEk3offkSh79IshO3a
t11iiSVvv/Peiy65bNybb+JqEh56WJ+ll16m655777ZH11gXEzKOOe4El+dfdMk66zYQoOGT
Yx6/6trBXffaW+f0zNNPinxvyuTPPvuLwH7d91pn3XVHPfbk0cceDxzuJ5HZH8mjjzhsm+22
v/eBUUjDPnvuDodyKuEQ3feq2c188I03N9ukeZ/eB78zsaZLK1f3bEEpHBBYaeVVTjujxoXt
73bb7xBhabrhxrjyI/8eP9x1x+2LLLIo3xO2bTCzf68Dr7vhps+nfr5duy09IL5yz/2nf/wU
kmvek6dMjlmFgJaw715du/fY/6HRY/bpsd9FF5w3etTDbvE8epX+/MnHe+/TwwTybINfcMGF
arL98cf11t/g+kHXRFp2/bXXrLfe+tJ23a2T0dTAqwcdcfSxXre+554lEhPdf9+9Ntx44+sG
D33xhedfefmloED2b+Hr1qJFq622bl+/QaPzLrgoK1za8k2ZUOIlA6586cUXzjztZMLhZRTA
Kb2DQ2+5bfCNw8aOffO0k2vejuxPfW+4/rp335348OgxW23d7qADerz+2qsEClUSL8OhNw4+
6tjjjzvx5DNPPfmlF54Pn53CumcLSuGEQEIgIVAOgf/sVVNOYs6NX3nlVVZeZZWFF/7jxs2a
Z2uxVbv25nXq1Trs0HHKlMlvvP4aljP6kVE6iedeem3d+jUM5v8ctXvS8Sec/F+LmbOZZMO4
2sWXXt6yVWuRf/zjIps1azr1s89W+HkJzKabtzjznJpDRT77Sw31OeKoY3bv2k2Akc9fv113
2/34Y47EnNj577pjxNbtt9G/nn/u2SussCLfrkjKs5dc1v/igdcM8vfc8y/atXONkexPf1qM
weDnPP7zh9dsp067Hn/iKeZAoKd425jHa07lU6n5F1hg9Xr1Vl+9XpQGQsNGjV1utHGzMGHC
JIYhw241R0Fd9E/jxo7ddLMWUf7996b0OfJoHNc/1HC11VePt2Jg7XXWPaDXQS4HXHE1s47S
mzRZr1Clp596Ujc2buJkW2O23qLNuLFvhNNsrrjs0sK6xyJSICLAF7neBhu4XH+Dpsv/vFtm
uGU80GGHHe++c8T2HWtMmHeOuH3v7j3Yfi46/7yDDz38sD5HiWzQoCHDKotRy5atQ6oKf7G7
c867AG8j07jJejfeMNjENe+RSwT9xptvMwYIyWODN78txHTYvuNhB/di0G2+6eZY0Z///And
Xnz+uaeefOKJZ15o8jOH0/yYDI89/qTrrrmK1/LcvhdKq1muU2/lkEn2b7nXTbNBOjfc6L/m
aGZbPtYlnzPPPm+nnXcRePH551979ZVszozi3hF6ehEG3TD0r38t2Ivrn//85+lnnVuv3hre
sscfffTqgVdcPvCacir173ch0tZt7+5KwY8ZpH8ut7juJgBllUnhKhGw0ZdNMZyIYGtZRwLY
9a3KhFEs5hBjUmBWIGApqzmIuZmLs6KgOp9nXeZt5R6edrPDjjvr1fA2pgikYcmllnpnwtvL
LLtsIG0Stmm7Ff+OhajlMsnGH3rYEexhvuC6JUYCt6L1Yt2f7VhReJ1168dwCGyzbYdDDzxA
r7ZJ880oc9pZ54h/a/zYeX7/+0MP6hlkrBbkzNLroIPYWIhkowqB7N+ll1nmrHP68qu++spL
aCiX0EorFfR82STZMKaLtIWYtddeR6HZu/v02J9jC3fccedOu3Tusuqqq2XvhnCr1m1CYNnl
lltjzbVUhFmiUKVxb75Rb401kbYgv8WWbadce41wYd2DTPpbPQLGA3vt0dkKhk8++ZiDe8ed
OvGEcgu2bvPLA8LztMa3x4+vhrd5Rxo1aszT9/qrr/Ji87nHFq6BRdJGvVyDF4Ncbtdhh7vu
vAMfMjJpv+12BhXjx4/zGl5z1S+zTr/55msr0T7++KO3xo/TEkI1JWzQsGZckftVeN1ykoWX
8R1fa+21Hxn1UFbGmKpTx+2MN7bfYcdOu3bebPOW2bshjB0ibSHcomWr0Y/U2B0LVTJFAXmN
b0SsV7m6T9erWqrYXBvjPFMHFeBtduKIG7xNFxoxh+lKlYSnCwGOFxuXOOxrulIl4UIE5tIR
nl7tgZH3cRLpSFAQ0Hz3/Xf2CokY8UAJM3f5G108wv8s2gDQZDjT1O69+04mqONPOiVmIrDI
ootkLzmrspfCLA3MD3o1nM9UPB5Vkd9++51tSxzREv5t22H7zl32+P6Hmn0mOZ5CDoWjc52f
yWo999tHf7x1u21UMwhX+XfB8uvA5cAKMvz2uxo0bMSK0LRxffOQSrNlroiRpgnjDeVU+ubb
b5ZccqkovMyyy4VwYd2jWApUiQCmtcCCCz76yCiDAYzBJjg//Nx+tKuYAytRbEWscSE+uPij
TAgYVzRcp16/C/r+85//OKT34WuutXaUXyRzRiThXIMPybXee+66QxLK7Nq5pk1+9+23Wn5s
4fUbNPTi/OH3f/jhhx9++vGnkMrfqF6MEajwumXFyoXjmr7wdmfFmJmffv7lPbvtw068Xbu2
wTyWFRDOtnCDkwBXoUrffvsN+aWWWjrksMwyy4ZAubqHu3P5X9u3Og3dNmB2O4t77juI0+lM
hpRNmzZ96aUa13nfvn0Zb5yA5Ax1VMBZlt26dWOwP+KImonLWprtymz6ZTtce4CFtmp3XNna
1r9z587mF0acHR4QcxD55JNP2v6NmK1lbSASxUKgVBPxlKlXr56t0a6//vogloupUp9yGvqK
2kQtHvnl/FDnyuuVnAdvSzZ1dOx96KTs2Ra8FtSwZZ0jquxdbBdc2xHb/c5OH0E9f23VZs82
q1mdIQHwEK/udpiz5+3BBx8cHPqFMTl8IBxOppeJh2JpiEDYhtcedXILd22tJx5K6fCDgPav
+TuX8rbNW7RcaOGFR9w23PgebYKgaXDm1gRvpssJb7/FV7LW2uvMO9982eb+YcmSTDYM032u
HnSDSV3HHHeiZip5lupN8/Ho1R6479777rl7u+07Bn+lnRX/8Y+fjjvh5PCvVestGjVubDju
NYt7eXAzleasdzTJ7JU33rKUb9/9DvABq0aT8F0rzS0bg35ZOtCy9RZXXXv9O+99jAoMuu4X
V29WbPKkSeFSuZMmvduwYeNyKsH2nXcmRJYwfuzYkLCw7tkiUrgaBLTenTvtanDy4MiRwbFu
KIKpPP7YoyG5h/7OhAnrNmgQ3BY//Pub/tGHH5bmf0Hfc3nwn3/5dQ59vlcDjGraVcyH9Zo7
deiQwWaSyUe8183OVexboYXXTI+rtwZyaVQQW7ju6qUXa6zX2d+vf92yueXCj4x6WKGnnXn2
K2+M79d/gAYfFi5kxczhi+/LO+9MpHA5lVZZdTXYmicXkpvtFwLl6p4tZa4N25D2lltuwcPs
4+pgKPNfJ02axJZmL34nYOr17W0LHIzKkQB+++67r635bcA7YMAAVMNBUu4OGzbMMedsb84M
sPXuiy++6NaBBx7InSp/DS/yDMJ2po05IDodOnTYZpttXn31VdNInG2ffRCFmtD2uuuuQ7n8
6CyH0phq9KmgoQ1Q7D/snAPKsFphhzjZwIEDHWPlaCkcDjjq664TEeIXNYRr3ruhQ9G+8847
jwE7Vge27dq1c1Cpk0bRVktwQI2QOT71tddeQ/6uvvrq0phCfIhFKiZsxzWlwBnyNtK74oor
rBeJmI8ePTpt7RGfwgwH5lLeZhzfaZfdzFDWi/DagI+hS7dhcjTXhunSJ59w7BZttvTC+Pia
4m06jhfGnO4wRSYLt2170Klvfz5JDcM76/RT3Y1WsaxkuTDTCFuaudvRPNZ1r314OYfffJPJ
NFZFdNllp9Cb7rjzLsOGDqEPn9fgQTVexdyPNUXH8+PPSy7M27tl2FBXQcacJ6Qqy0HFi/QX
SY1vey7DeMlKcUm/C01spxIofvj+B07VeDcGht00RL/rY3HOmaeL3GTTzcqpxHemVzOzW+lm
+1179S8us3J1j0WkQJUIoGsj77937JuvGw9IojGLQZ64TVENDfWrr77cpPmmf1psMQ34tuG3
oGLazB233xp5SSxoiSWWRNw9d7csjjG8yVrFoli5gC7QlLJTTz7B/ISwCxfeb0WOZaR88Wxs
fQ47WLnaQ8edOr380gsP3F9jC7/8skti6405V3jd5pt/Pu+FKZ5ROAQKW35OJlw+98zTfXof
4gsAiu+//26JJZeM0waivJHbheefSzHLxocPG2rGQDmVlNu1295WJqGDVvgedsiBIZNydY9F
zOWBXr16oSnO+jQGRuB080899ZQzBtAO9jZHjgZ8nPjpJAD2IW56LUcbjrghMT179mzcuDF5
uTk4y4hF633++ecF8DkEKwrrC2IOuBHD3n777ccKxXTE4BfO1wrChZrggl27dm3evLlzAuSs
qZfGVKNPBQ2V3qVLF9kKjBkzxmEJ4fwueiq3ZcuWyBZDYKxRLuCNY5Dbccca80T8OYQAXVPx
Ro0aMRao5hNPPGF34v333992d3gtKlwaUxmfmHkImMrWoEED5SqFUdO8bfEwVNOcZLqcXgTm
Ut4Gpl136+Irv8uuNU5SP+ztpltus0pu3TVWsWnCHxdZZPDQW8S32bKtLqftFi1WXGbxZ599
msvyZ/H//NHoTzZCP/M0e2es13Btc/B5T8b+e5D9H7nyoWAacR9TDFIC551/kR0HVltxmfZt
W+++51677V6zDvSCfv25ljbdeIMNGpul06g0SzS03TbbNm1SnzKmx5k6bSpSsBl03GlndsF9
utUYq+PP0L/pRhtz8t5+a01lK/x83ZT+4Mj77SFBq9//fh6Zl8qvv/4G9lJZfaVl77n7zltu
u9PGjOVU8jW55/6HPv744zYtNx029EYV/KVHL1P30rJSTGUENmq2yUILLtR263aRfJx3QT/L
ZTTvtVdf6d577hpx133mF2p+fS+8+MrLL7XHR7fdOx94SO/SD6tVmQjWGquu4N/bb73VZY89
x437xYxUWYd4t3OX3TGqODIxDBh6822mylkb4Y0zZ1/rItx2q63POOvcA3v2sE/HA/ff32yT
TWMOIVDhdWu7VTut3cYiucFJYcvPZRsuLSRfYsklmtRf01YgV15+2aAbbiqFgtn7kYcfJmDd
K/u6162CSlYRYcY999unZ4/uZoUqRSMvV/dClebCyHh6FVcps43+Hn9iaUNWmJrQr4AJJ2k5
cFjmTKVyKJYf+9zTTz8NduYfDkEH1eNAzlwvTCthLB094i31gYqShZpYBhHPCZUW1yyNqUaf
yhqyAjIBMmuxIIbTV7OqIq9ZPaPCIcCRWtqMjYvat28PH5zPUNxAJas22gr80phsoaX45MoF
dYjx/fGC5+6my1+DQB0856pKOPQZ9jl7+933g80ppvrLp5+ahZaLdLSIlh1GDFEyG2CHwAKZ
EErfkKzYdIWVKE/zx3N5UgaLip1xaZ76LSY35sPcLaZ4CY1Nc/GIndxypeRk4iVrhDFlYekd
2rflSD3qmOP18VZIxCQCpSpZbPHWW+MjVT37jNNeeP7Zu+9/KKQqV/dsnrMtPPuPAJrmOVfV
1F2btG0YPhRckzGJZ/G3H36wFifGCPh2W/WiAWcjc2ECZrMFep27NcOXmopZlXHOWcjH0y9t
Qtkiyr1uEqqd8X1WWLhcy8+JhUt9DLO6VUqld53HwDb8zAuvsDiyxqG8UaZQJYZDJmejF2KW
LhlxvffxZ+FSTGHdY4azOTD7G3lhBU2TMEGKC89ddIS1DMhIGNbF5Pbggw8ylY0bN+7II4/0
lE877TRiHIUckU64iutJESleUYzEXZZRObCJ+spJwuR2+umnayeycjf8Yg7sUgTCwfZcsVyo
vH7xeSmlVBPmLkTKhDBZPffcc4SZrHIxDietRp8KGsqcZ9OkMQpw+6JErIkMZnJ2iy+SJcxx
8qjtyJEj3VJBw4mxY8fS3xRAiIWahr+8lsgcz7I5fAwWPuby5MFECtnzyFhga2LcxIkTczEv
vPBCKT5AYwr1V0LredkdTzjhBM/RE2HME+nkUw5TtjcdB+N6rm8NKqW/04XA3Ghv87lkN7L5
bfd99y9tQ77XpZEadwXSBnGkp5RgTdeTKBXGsVhHSulUeNNK5WOMt6iUtLmrXqWkTbzPWWkp
MbdcwIepkLRFMWrnSJtbpSpZkGjt3uWXXsIRfPedd7D3mO2UzaSw7lEgBSojYE2xPfb+d555
2Ntykp5FjrQR0LFVJm1kllp66ZlL2uRJkxxpE1nYhMTHX7nXTcJS0iZVuZYfM8wG9C6FpC0r
o4VnSZtbhSpdfNEFB/faj2Pawo6j+hxmLW0kAZIU1j1bytwZdqA42mEymZPj+QG52BARAU0U
wSq13Gg/yHoWqzApPkSalW/6GiKCPbBXoXTsbXh8Vj7mYNtezkFWJXdNCzOtPvu8CjUxux9B
kaGRD6ZoikhpTDX6VNaQPtQ2n2/NNdcMdiyq3nrrrYozgYELNdj8ODqZ5Qhjb6VAiQ+/MBOA
l5lzGaOSCeHWrVtb8xEskQyTViSUxhTiw2gXCjVJDnr/LiT/v/fFmxUeinlycf1EXi5dV4HA
3LgPyNfffG0+TbNmzW1gWwVESaRaBOwrsfzyK1QpbXrc8BF3myF0xYBLrdHjwuN9qzJtEpsm
Av37XeDrfMPQm1GZaQongSoRWHrpZRo0aFilMLGrBw2+6srLe+zTDefYvGWrsEly9cnnTkmM
DWFCJpiRBNiZhg8fjpcgRjvssMM999zjVhaZJk2aYHh8lObph3g2OctLrR61pB1dO/HEEzEz
RiAyaL334qabbirM4ZlnbT8UwAAAIABJREFUnrFak8VIQlxfWVmxQk0YvayUVAqGhwnx51pb
mosxXW+a+rDtVdCQGltvvTXrWjDsuWR4Y9xi1sKHECyXIuVg0tv555+/9tpr2xUlq3w2LJWs
eELNNqMbQyZ/tEUJZ5xxBquYurDGMXAiZKUxpfiomtl1ag1kmmQLyoUxWpmz2Hmy6GZcfpsT
S5fTRGDu9ZNOE5okkBAICMx+F9JM8ZOmx5cQqB6B2d/IC3UL/jVz1xCsrEUz+CvLDULY5/hD
eQazeWIGjKCsy9lIE/AZpbIxIZzNgfHJXBScplRMTKEmPI9Kz3ozSmOq1KechtgqY9ubb76Z
NQHSkxErW3HKKygrU1gLkUxf8EG2sgKSc2VmF3kUxpTiU07tbOah0NwTyQmky2oQSLytGpSS
zFyNwOzv0hJvm6sb3G9R+dnfyAtrmZ0XVSgwd0Zy2jKAWevKVTp3IpBqnUVgbvSTZuufwgmB
hEBCICFQSxDg4zO5vpYoU3vUsDeHNQRWGNQelZImvyECddDeZhoEc3o5i/pviPXsKdo6zR9/
+nGVVVYtLC6CEwOFYjMlkuvBz8ye6c0t6jbNHKLk9BYxXfKz3xRR2d42TVimq3ZJGAI5SMNL
tNJKK4uf3gYc22QMzBEIz/5GPkfAkpRMCNRCBOrgnOUdtm3X78K+tRDr2aBS9257OF3Rjmjl
ytpmqzb2znU3BspJ/vr4Kwb0b992ixnIJ+o2eNC1NhurkMPOO2x7/nlnVxCok7ccvt5qs2Z1
smq/VaWyLS2+RNnI6hWLrTcGqk+bJBMCCYGEwDQRmG5byDRzTAK/FQL2Nb1jxG33jHzYuVi/
lQ4zt9zWbbYMB8XO3GxTbgmBHAKxpWVfIjvUpOaXAypdJgQSAr85AnXQ3gZTWyayxKy07BLb
b7OVj29A2VnCB/TYx3bqDdeu54AdHpAQb2nMwb32rzFTtdqMJSNEOkvKrryEV1tp2S677vTJ
z7tmD79lWI+9/7NXxf7d97r5phvJ259p6zatll1ikaZNGgRrVshk4OWXbdC4/srLLbnHbp14
XkJk/Oss6mOPrjkFOfzs59n74F7CynLkgP3i6UmGt0WkPeeab7S+bXiDsHKVHsLhr8NV27Vt
LXxUn94DrxggFUOUHJRO/48/+igrnA0XSl5z1ZUwCWJO6YlF26ycMc8Oom4V1u6DD96n/Kor
LrPT9tt8+udPswXF8Ijbb2256cZ2529Sf60zTj05PogoEANvvPbaDddf6xIfPebIw/tffKEa
qdN555xpm9MoJmD11o4d2nus2cg6HFZ90GmfG63f6PbbhseaFj4Ud8W3aL5R/TVXO/7Yo8JZ
bXacOu6YI9dvuI4H4ZZTm4hVaGY3XH+d57X8Un9q27qFHZJDieXeqXBX0yL88IMPhEt/99x9
17vuGCFgezmndISio4DX05GgQdj211qdvzFtCJSqQQeS9959FygarLX6SccfG7fUt7f2Vlu0
XGHpxVRQiTEr+ts7UCvdq+tuoS6hpeVeotj8JCxNIrKallwBhKhPCiQEEgIJgeoRqJu87eor
L3dM9bBb79C9ddy2nU8nRLru1snBowOvHnTE0ccOvv5aR5GKJLBf926OZby4/+WH9D78xOOO
tkOm7/527dsuscSSt99570WXXDbuzTfPPL1md5wvpk6NLNDlpMmTvvii5jDE/brvtc666456
7Mmjjz3eZqePPTpaJOpz7tlnHNDzwCHDbv3qy6922mHbHEHZoOmGNw4eFHeAHDJ4UKPGTch0
7bLLlMmTr7x6kFN36ClDuVmM7Vxqe9UK+yl38pTJIRz+MgyE3aH83W77HdBHp6nu3+vA6264
6fOpn2/XbstyJ5AWStqJzXmRCpX5qIcfVLQzvoRfeenFd9+ZuPY66xbWDs777rXn1M+mDr7x
5rXWWddWulkNQ/iZp5/cd6+u3Xvs/9DoMfv02M/RW84WKxULMY4hf/edd4RRDQdrPjb6kYsv
vfygQ3rjZ08+UbOvd/jZAsARrsJHHnPcv+Pq+P+os3NgHcTUrv22B+y7t0arwoUPRTwypCl2
2rXzoCFDn3/u2fP7niPylBOPG/XQg+f363/HPfevtPLK+3fvpoWUa2YITZ/eBx9/0ikPP/rE
uvXr77bLThXeqQi9mWG2a3LMboh5770p9997T/NNN5s44e3dOnXUxkbcfV/TDTcyrgjkSbP/
/POpQfgf/6xp8P7G3AQK1fi///f/SJ50/DEDrrzKgV133XF7cJ1/9NGH22y1BW3vvHekQpUY
xhuGFvRfaullbhtx93LLr9Bj725qHVpa7iWKza8wSZUtuRwI2XqlcEIgIZAQqB6BuuknbbLe
+hdeXEMa1t+g6Tr1Vjagt2fPU08+8cQzL7gl3oY37FLHHn8SJqf3GjdhstMOxDu+Ruex2mr1
HDPq/E0nE2BXeNuYxx+rgOn7703pc+TRWJd/2N5qq69O2By77j0O6HXwocIycabnIw8/lD1x
aKt27W29I7LDDh2nTJmMO6KJox8Z5UT55156zfmjEuqTTjnp+BNOrjmrvvLPpjjrbbABGVW2
8f1F55938KGHH9bnKDF2CnUK5J133L5blz1ymaCthZI7d9rVwo5XXn7RAZFPPTFmw42bPfv0
UyIfffSRNltupSsqrN1CCy80buwbb0/6wPY/rbdo8/lnn9kXO1cibnDOeRfgbeIbN1nvxhsG
68VBkRMrvUQUbrz5Nrs6Eb7pxiGvv/ZKy1atif3r//7VY5893b39rnuz+yeV5lDHYq4dPGTV
VVeD88cffXjtVQM9qcKHosldekm/4086tddBh0Dgwn79hw0dYniAqyHBAcM//nGRzZo1dYxV
udU8H7z/vkMytmjT1kECztzcsu3WuM6rL79U+E5lM3Egafe99jA4sYspRtWiZSs5nHHayQ7G
HXjNIPpsulmLcWPHOlfg5ltrjs2u/CtUIyTZq/u+4TBTdO3M00728l5x2aUrrLBi/wFX2qRq
42bNscbL+l+sUNW3KWkoff2mG3737beTJ70bMsm+ROGDEOILk1TfkgtBqFzTdDchkBBICJRD
oG7yttZbbBkqrLNZe936b701zm6LOnUGiRD/zTdf25zw448/Gj9+nC3+4zc69G1kzjqnL8fK
q6+8hEUxUVhZVg5B8fv02J+LR6/g6OhdOnfRm3LbcXe++ebrhxx4QEhIk7ffHp/lbfTZYced
775zBN6mS9MBO/fmnQlv69gCaZOwTdutOLb0K0sttXQFBXK3uFMddde6TZsQr3ZsG2+PH58T
c1lO8g9d/mDGD4vOWmuvq/RLBlx52SU1qxkeGz167+77lqvdggsuVG+NNeOejRtv0ryUt6lm
o0aNeZxff1W//6KDwKMRsVS9bMwKK9ZsxRlirIqPe6ZfNfDyr7788tQzzpqrtnPUxvwLaDTd
aKPhNw8r91C22LItE+mGG20chA0h/BM+9LAj2J+uHnjFq+j5C8+L8SDmn2/+IJb723yzzZdZ
drmG69STmya+3fYdjXy8O4XvVPZl0YDnnW8+JlU24DtH3N5j/55ynvD22/KJRbRp2/bWm4fF
ywqBQjWctSpJq1ZbhISooVebheyt8WMdS3noQTUl+pmowAsswDgX0TACuXzgNSKffurJGqEy
v8IkrM5VtuRCEMoUlaITAgmBhMA0EKibftKllv7Pjtg//fgjv6dRtZ5mxZVWCv/qN2jI6fOH
3/+BA26++fN9le/+Fi2a99xvH1xn63bbGC5HFLO+zn/+7EZ069y+Fw6//a4GDRv173dh08b1
R9537/fffSdeBxZLPPCQ3o2b1Jj6sj85PzDyPv4pk34QPre++95W14tHmTAtmsEgxDCPhUA5
p2e4+8MPNaf1Lb74f/b7ZlzJWkGCmL8VJNtu1Y6l7ZmnntTJtWnTVh9vktxLLz4vvlzt5JZV
LKodixPg0dP997ug7z//+Q+O6TXXWjtWKitWGs7uCS7nmEo1zzj73PPPPfv9998rTVVXY5bI
7PnOTayFl3soGDxjJHNXDgpTJ80wu/fuO5mHvQvZuxHb+DQx5tFjnj77vAuQpJ77dd/8Z+Nc
uXcqmxVitNPOu9x91x0syprQ9h1r3NnayeKL/6eRO/HM6Z4hVSyaPS+bTwgXqhFumRcRAsst
t7yAt/7bb7/TNuILuG2H7Tv/bG/G8qf3lNXCJNW35EIQgrbpb0IgIZAQmF4E6qa9bfy4cQEI
J92++cbrvfscueACCzJIOLk8bGzGzvTkk2Mcvr7Kqqt98vFHer7wKTfJjBGOzHscl2+9G86S
NyM+0DWWg3Asbsj8ww8/EEDy2Mz4VR0azR9k5vWg666+dcTdTBGO3ex9+JFB+NbhNwf/abgM
fzdv0XKhhRcecdvwt8aP67DDjiL5j0zi4a4NR7NPePsth72stfY6+kh3f/j38ckfffhhNp9c
GNvDbB5/7FEmAbf0he9MmFB4+mcFSe7I4485Ug6btWjpQPE11lzLXDSOYGFoFNZOPIWj8jhf
TjGXF/Q9l9HxhqG3hFtHHH5IwLZUssqYzl125w5+4P77jzz8UI7mKlPN6WIT3hrvsQZm/OSY
x1ddbbVll1uu8KFgSGy9kydNatiosVpzFx59xGEDrrza07z+xmFIlchnn3nK3/BYBUqbmekE
EydMOKDXQf7hx803XM+sR2218J2SQ/a3625ddu/cqUmT9ZxwH47foe2Yxx477oSTgxjzW4OG
NYd+zjvvH374vsZ45vfhBzUvV+5XqEb7bbYjZuKp11lg4sS3UXw0zs77kya9G0tRx9DSVl5l
1Sn/XqtEvtf++/os5ArKXRYmMTG0+pZcCkKuiHSZEEgIJASqRKBu2tsefOB+viHnrJm8tcSS
S26zbQd+GbO+zGfnKxHvXHnz7vVzmJNBuTlkeiBkjnyDBo3EYHI//v3vQDTt7JZhQ10JI3nW
mb74/HPMG2b9h3V5zne7pN+FPuKsGuJ1POwHjFs6gxuuH/Taq6/oX6+/7pqjDj90gfkXyD0V
Yp122e30U0/SAZhL565OSPdjzYTDj/VSJ59w7BZttsQp/7TYYvyPtw2/Rd9DJcpHy0QuT5fk
d+3cxUR+C12ZW846/dSvvvpyk+abTpfkiiuupL6mtINIQu4npJb1Ubhc7VjmpLrowr7YrW7y
8cdq1mfkfksssSSmCyj6X3rJRUjeTz/+lJOZgcuLLx3w6COjLDudgbRzYhIY2l2M5g89MPLZ
Z57ee58e5R4KGZT94ovONx4wrmDpXHihhRdZRGta9NtvvnHXw9JCBNioyjUzCS0T1piJ/f/2
zgK8iqMLwz/u7p4ESnAp7sHd3YN7cXco7lYoGtxdirtDW9zd3R0K/3sZOmz3CkmAkNycffLc
zJ49Y9/M7n57Rg73BcYwGL+9ewod45E1W45wYcONGT1CWZS5VL1G7QP79zLhkm7wx+pVM7ym
sLoCOURw9aoVrO/mZhxhawtGm8VQef3auwcz2y5evNCnZw8+okCjei1PJjmwKoIbE1bHyhX1
tQMaq1YuZ/0pt9LaNavXrFrBlFBjga3DNqNEixadVvBmT7YGwToXkQgCgoAg4B0EnJO3wX6K
FMyb1DX+ksULZs6Zj70BdjVr7kImVDFDP3mSRLx4hgwfBUCMH82YPY+FCyxfyJ0jc5HiJUqW
LgOLKly0WIa0KVInS8L8GOY4Mw0LApQvfwHsEwXy5oofKyrrKxl5IQXeECTFC4AtN1h8EDx4
MPSR9+k3kOkvDEW5xIvJ9iJjfpuoTGimVuFDHL5YoaJlkJQD9jZ73kLmA1FItpyNEDGi10fT
FFY31sqxQpOtE2pWrcSoq7K1qFjWvwOHDI8XPz4puLslWLli2eJlq2BU1mpIHGgWLFSEkbKM
mSxbvObMnQfQQEYlYrN2FH7uwiVbNm1Mkihu1YrllAXRlGmLlq2hzklc4vF36uRJ3ojHjx81
6fjilBmBTZu37NiuNa98X0QPcFEyZMoMiWeTF1Yfs4qW7koVbDYK8u69+tIZ2CyDTn779q1u
vfpgkULYr28veni6VO4QHcx1x44dtdfNsLOSS/XKFdgWhz01MHDC5u3dUyYw6agwtsePHhUr
brlfOJjrxshskwZ12amnWZMGLdu0q1m7DnIW98DMuIlSJnWl83BnfVT//GOzGOoy31oZ06bE
EBg5SmTWWyDkg2fg4GFtWjYnwSIFPKrWqFW5anXkfIH06N23Qd1aoMcKCeZuqk+mz9lYhWxG
8VFPtgbBKhMRCAKCgCDgLQSc0M+Vqjcf08xE1gsONBiQhrDhwvHK0RIVYKcoLHPMRNFy7BCY
FtTgixYSwB5A4moI1SjHQsb6UDiiUcj0eYY4GVs0Co1hqCQbxZ06d9k0A4nyRIoc2STEcsCi
PwyHxhQchKkCE5JY7uBAR13yvqYxKXu1w4oGmJAAo7IxTC2w+Ph0mpExBb8M+70LIMd+rnTd
wZlOYoLRXqNgHKL/GPstJk++GehOpm8AB90MfT4/TC1r757S5ezepRMbfIyfOEVLCGCpUneo
KXeyoMdyKxmVTWFjMTB7wyYPHjrGph7cmCYShgRlngOmXMidTghbNaXs4NRmFO/3ZJsgOMjO
jy/5fSf34wpKdoKA0yDgtLzN/7cQb7uDB/azA0L2HDlZDun/CxxoS+j3rzRv8jb/3yKM1B8/
fqxDm5bLVq394nCk76qjeRtrXHyXwveO5QcgfH0V/L6Tf32ZJQVBIHAi8Nm8FDjr/wNr/fjJ
Y6bZZcmSrWOXbj+wGJK1IPD9EGCDt3GjR7J73HcibZSczT4YNQ4dxjx59PtVyqcp+wEIPi2S
6AsCgkDARUDsbQG37aTkfoSA35sinMbe5kctJNl8NQJ+38m/usiSgCAQSBEwz/wNpDBItQUB
QUAQEAQEAUFAEPD3CDgnb2PCNRt2qH06/H0TfFUB9fakOmAvORTU1iH8EmaStUmTGdxax3TJ
F6dfLI8v0pQovkCARQa0rC8iEsVmIyI0HWSBMj0KuepjxrC9rFFWEe0pWMtVvka5tcR4VYXt
dXhrzS9KvmFSX8xLFAQBQUAQsImAE/I2lo+lSOqaKX1q9kWzWWenEbKCNXqksPj3tCzBixTW
gcMA9p9Dgb2+qDubnhBOmyKpCYeqlcohZ7dek9x4umXzJpxfGSU2w7pgXMXLwuSJE5SaN6Pb
TFOEvkOgXKliys+6T6Nfu3aV/oC7NlPEeDGjIDf+cbuhU692DYSqexjDpujq9NGjRyhnSmfZ
btf7h8pUbaZILDapURLHKSxfugQ1/BE7VvPO1R3bt5EUtfuisnT1L0IkCoKAIOA7BJxwXQJb
dwYLGuzyjbvanaXvoPH/sfDIOXXG7Nhx4iofR94vMHsiPHr0kA2EM2XJqmLhWGLfnt1fTAGf
BO06dPqimi4YmlMnTzxy5FD9ho0JezP6F9MXhR+OQJt2HUOGCqmKYX2jFS1eIv5HJ28/vJw/
qgDS1X8U8pKvIOD0CDibvQ03BlgX2CyqUL7c+Bto0rAeu/xnSJsyd/bM7LuG8YBt3xPFjZHK
PTH+GdUwDZvsd2jXesig/mzJmyVD2g3r1+3csY0da7FI4QXBugewNWinDm3Tp0rGFrjsQYo+
OtgP2Nd0187tbLTLbqLYru7fu2cdl93aCubNjcWCiPitVwr4nsfPOhuoUrDSxQszvEsV3BMn
LFGkAAkqHYZ92ebNja19E8SuUrGssoJQkqGDBjx4cN86I8cSdjQtWrzkokULtBqO7XE8qk9t
Bpo2qs/+w31798DtBBVc/G/0Lh3bawsEBomyJYvqgi1aON9r2mQcXhXwyGWMTvog1rCeJzWi
LUhQjeUtXDAPbGm1ZEkSbVi31mYxaDXwIRb7pgIF9jylZmprm3G/t3DDhg2ZMmViD7+ff/55
zRqLdZOjTp06U6ZMSZYsWYYMGeiESviVv4BPl6YH0kv79Oyu0GO/iUL58sSOFpEOb9112ZG4
TIkiQK2ynjBuzM9pUoBhtcrl2UdNCRkH7N2jG5vxYq5W1ll75WzdrgP7S6u/5r+0NqkdPXJk
08b1uPVU8jmzZnB3qLww95qU8f+RI0sGPALjg4ubEU38i2TP/HP61MmRmJQdnLLFLnF379pR
OL8Ht1KdmtVsbsLMjmtspk3/oQfRZ7ANqzRxo9KxfZusGdNRTm5SXX3AqVS+NDc1fRifE7oA
Dopq6urc6TwW1OPCuvo6QQkIAoKAIOAdBJyNt5UoXaZ0mXI4zBk19rd48RNcunixS8d2bNSO
BwXepnCjixcujJ84tXnL1vCJHl07gxE8aca0KTCqCZOmuSdLxkbqndq3ZQ93/lBg/1sTjj26
doJSDB4+asmK1fhrb1CnJuM17//558TxY61/aV67Tr0pXrNwsMNm9KaIDDwVLZg3eYoUS1eu
yZY9R+XypfG0jc6lixdaNW+Ck6iJU6ZT4Dw5shCdwsSOHefX3pZEmC1UvEiBaNGi439z2Mgx
x48ehTwpOZninoiwT49y5SvC1fTMJzbfL1ehkuNE2CA+ZsxYOCmqXK163Ljx/li1UukvXjQf
x+FwNU5xW8T2pxRYFSxXrjw4XUiRMvXAIcOM0dGsXrk8xHrCxKlt2nekLXDthZC2mOk19eaN
6zhuckuSRKVv+oWRwM4bNG4yZfrse3fvFS+cX7k/N7a1afNVUwrf6fTUqVMlS5ZMmTLlH3/8
kTlz5tKlS+/Zs4e8Lly40KZNm1KlSpUoUeKbFAxqUrdW9Tr1GqzbtM2zXn08jeJgg4zq16mV
LHnyDVt2tO/Yma7LUJ2uKWOLOHriFLcH/E76ffyAfn0aNmoyY86Chw8eli1VTPUEPI/NnjWd
jWl+adXG8egqVGz6tCnqz/oeuXb1Ch2AzZzJCy4OPcJxbcpUaTauX8eHk3Hslc+bapXKwzib
/dLKxcWVDkDETu3b4KcOk3CCBAl1Fb4YuHzpInErlSuNVzd6ILyqUX1PUyw2H65YrhTfcq9e
vwITaoErBSbJocYnEFwWf8EZMmY6eGAfdFZRumpVKsDh2GfkzZvXuHbVCTooqrGrM42BOz1Z
8hSLl68iZb409u+z9Ao5rBE4evToihUrbty4oS79/fffnB44cECdIuf0+L++p62jO5DoB51J
x57cpAanJ+s///zTJA/Qp9yeS5cuXbdunbpPA3RdAl3h6bgB7nj84q2Dv18HDMqUOatSyJ4j
Fy6AVHjRslW07t6Dh9TpgEFD2ZP9+p2HMCHsTwSQb925Fx38VikdV1e3iVO8VFj/kv7KPzao
0137LHfyiTMXL1610LvJXjOVHG/W7Cmlo6hAsxat3NwSP3r+Rp1SMHyYEsaLji5kqzbtSefs
xWvIt+/ez8b0N+4+4rRpi5ZXb91XEbF0qApeun4H5QN/H8XdAoEjJ88qBevfOw+foTB/0TIu
4fOeZJHAIVav24jk+JkLUaJGvf3gKTrsj2odXUsSJ/mJXe85JSn2mifw15ETBHCi9ceGzZym
SJlqxuz5umBIKC3esQjwp6Nv3GJxOU8FlXzCpKmw6ofPXg8eNpKyXbv9QMmtf0GPUTngVZdO
nr1EOhOnTufU2NbWEb9G4s0bBLsaRjWtnC1bNrgap7ly5SpevLiWeyfguLTLV6/rP3CI1gFV
dYoXEN1dofiHT5xBJ49HXuDCe1vmLNnoSyoW/gNat+2gwvQr3IQsXLKCUxx76D6MXziwBWGl
pn9N7hnQUU2vXNSvWLMeTWMYF2ToLF6+GvmY337Plj3n7HmLmMaAEE++dH4CXXv0UulzM3KK
CwfuR+4pnakKcImDrqtO7z6y8EIOdVqgYCHCOLOik5y/fEP5Gjl0/PT0j57i6tZviNrQEaPR
wWHdrftPyAJMOMUvFpdmzlkAUA+eviKsSsXTYMsOC8fC+cfNe4+Rly5bjlNqR9hxUXVXr1HL
M6l7MvTVHzniH0+f+p+Ad7rl99YZNcrie/DXX39VGaVNm5ZTd3d3dYqc04kTJ/qoGIcPH86T
J8/Zs2dNsezJTWrq9Pz582RduXJlm1cDnJAvlpo1a2pnPHHixOELM8DVIjAXODjd0bmP5Mkt
rw2Os6dPxYodW71FOM1XoGDnju0unD9HGOsRvEEF+FVPbQI4EdLDKJyqo0XLNtjJJk747e+/
/jywfx/CN2/f4PCRQLJkyZUO7z8cTKmw/j154hh7hDJGoySMv+AyQYWTJk2mAtxCPOWVJ1Ny
x2zA3DVOf+0/iNGWv/86iClu3949PrJD6AIYA7x9i5UotWTRwpy58ixeOL94iVIhQ36armRU
sxfOlccDewNGEfYUzZkz97t/3u3etdPNLQnWBdyNU2x7EZX8xInjZIfVR53iSRxDyPXr1zil
atbzpXRqrMDAUaxHvnxKAv/AknHqxKfRK93WWt8vAydPnixYsKDOsVChQrNmzVKnGOG0/OsD
Hnnz4fqWsfXDf/+NnZjBa3ogyXrWa8DQ85hRI8qUK49LUMxXKq/fJ4xjyBKfHMw7RMLoIRav
o0cPM0CvFOj8p06dwOLLGOLPGTIqYZasFk5j78DBqH7uJ0r0KSNrZXoCXYIPJPyZcrWWZ13+
CDBKzu+VK5f5I5A3b35+9cGQveV+/K/LOK7CLxklV0tWOVXzHCD6OiKBkqXKMH0TT1mZMmdh
1P7cmTPGq2oSZ/mKldUNC05Yv3BbAquD2saMFbNX965Mk+AuIxYGtitXrhDIndtDecbL45GP
VQ7GBO0VVeucPmW5I/RpvgIFFsydo08lYESALxxOlZX67t27UCtOT58+fevWrdixYyt57tyW
juT9Y8CAAdu2bbPWtye31nQ+ydixY2fOnNmiRYu+ffueO3cOXss354l/n6LOV1/nq5GzjZNa
t1DESBGV8NnzZ1GiRNUKCRImIswjnl8YkpYT0Huvq6vGS4SZGMdslZXLl7q6ufH2Ml7VbzKb
EZ8+fYb36/gJEqhjx0GpAAAgAElEQVQ/PrsrVammoutCcmrtOxVOw+wfBn0gKIUKF61Yuaox
U1+HLUOlSxfzZmWQlDeZj9KBAeCei/firh3bs+fMlSNn7j27d23dsilrtuzeGQrEZysvTg0F
VjqQDBE8BGXAb6mDkrx4YTGxAKPWYahaOyA3wqgV/CzAcEO0aJ8LlihRIt0NIjmslE9LuG/v
7lTJEg8fMujdu7fNf2mFfydFZTAhYwdNmSr1qOFDM6RJsebfgWzg6tNvwOAB/dSKY7WKBX6s
8W/S/Jc0adM//4itHnbXqNosXtPmLbENqz+c1tvUQcgQNh2MLq1vDZMmJm0kPbp1McqN7WuU
K7LFoJUSqoqYUtYuhtVNrRefqigMjxJgyoE6Vd6HX718ySnT45gYt2LZEr5kMmbOgoTlTQoN
/UDALK0i6l97RdUK9NiohliYGHno6KsSMCKQJk0avtn27bN8DG/aZBnlL1asGL9bt27ld+/e
vTFjxkyaNOmSJUvy58/PcwZTXOfOnbG7cLV27do5c+acM2cOwujRo7dt2xbhpEmTVq2yDLPw
EbVy5UoC6rCWQwrJK0qUKJjMR44cqb8N/o3x+X+XLl3QGTx4MCKbmSrV0aNHM9WVG59SKcZZ
tmxZwuoqVClFihRqgLJq1aoZMmRQHyHqKmPBZDFkyBAM9jgULly4MOSVORiE+TJkDZm9LJCT
S9GiRZs3bw4ICxYs4AOpVq1aPJdcXFx69eqlvqhJcPr06TBXMMSoCSe+f9/Hk6RVGeT3hyDg
/LxNw8qkN6YV44pbSZhww5c6xi2tYB2wvnsx9jCdiIE5hko7dOoa96OLd/XgsI5uknDnvH37
hrEY9ccAVuo0aUw6Nk95lzAH7q8jJ1k9imHgfx8+eDNHm6lpIWaAd2/fzpsz68aN6xRGy70Z
KFi4yI5tWzGzYUrBQrl/7x5mLzEk6p3otAVWn6rVayooLLPZEidRL1HH0WHbkCG9WQkNdPb0
6eTf1JrluAAOrrq5uamXjdLB/JY6dWoH+r6+NGTQAHDe9+dhhpWxErEKh/4AuZ89c3puj7y/
T5529tJ1GnfqlIkqi0pVqrZs3S5d+gwsckTCuDbGTrfEiXVXBHw+QmByvGbURh6oYUn1dQl1
RJiWZTz98WNFGZmVz4oclh0oBV6Tm7fvpvMwY2/tmtU6lj3TL2tU0Vkwd7bS3Lp1M4G48f7D
GnWxMUtzNZGLi1JWv8rdFmsm1OnGj/MCk6VIweuNUmG+/fPIib79B4b/aJhEx8XVld+jRyyG
Hw6+UlRA/9orqlYghW1btuhTzG8pU/ls9xMd1+kDfCrkyJHj3r17jEtu3LiR+qqx0S1btmAW
gltgbLvO2rLatRkG6dmzJ0bZQYMG7d69G00so9CjgQMH1q1bF/mIESO2b9+eIEECqB5XoVAq
oDA0yZlXV6RIkR07dlSoUAFmw2xUOI3SNP2OGzeOLCBVihfazJQoQ4cObdWqFd2+YsWKWA09
PDygYsmTJ6eomLUuXrxIXkyH5ZSFSosWLeIbT39vEJ25wmfOnOnUqRMkFaLGaidIXrx48UiH
J0y/fv3sZYH80qVLTFmDpGLjh5OBxuzZsytVqpQ9e/Y+ffoACzqkxjgpX1PM7OQSaKvqcEmO
AIFAIOJtLE2AGTD/nXueGfHdu3TMmy+/9WQdx83G3cW77enHVYF8Lf3auyf62kThOG71Wp6M
v8yfO5tPqwsXzjNP/NrVq46jqKt802M2eP1x4j+L72BaJiuCMZHVK1doWmOUW4d55RQvWbpH
t86s5DANNjG/m/07rKNg27hw/rz6TGTBwbq1azBguCdLzmBliJAhsd4VLmL5PjYeoUKHYnBT
ra7V0WEVzGFibSMjxZhP8NO6ZNEC0yvw5cuXbPym3vc6QdqrYqUqs2Z4MZMdDg3+TELHyKcV
fmDA09MTk8DChQt59PPcnDx5MtPavkd5MBfB0sgF2spKAj5F3rx+w1N45PChLNqgd3HpxfMX
FtOO4RgxeuzmjRuYrc/bEcY8fdrUQ3//RQrwlXatWoQJHQbdMuUqMFWfxcs0mdfUT+zKkIZv
gpByohUrmI91rx3atqIDMz1fJYT9m1uyZ+9fOe3Vo6v+GtF2SlN+VavXQML0hmKF8rO8umlD
S8pKqDUnThjH8vAKZUsy5ps6TdpUqf/zacR8AGwM9Kv6njVrVqu0YN4cuGO9+o3gl5SFKCtX
LBs1Yui2rRam9eTp0yxZs7u5JaazMaZMvjOnT9MZqYC9ouquzjqeA/v3Ll2yiEZh1c4MrynW
94gpzcB8qodKISuY39KlSwd3wd7GnQUs8DboC19EUBPMY1xFCO1QiNGZMSN17NixSZMmSKBH
sDFWCBGG62TJYrGhqsMkZ7k3DxOMcBwshuBBBDkjtX/VP/3HENiyZUtI27x58/QD0zpTtKFH
PKlIiofA77//Dj0aNmxYmTJluLR27drNmy3fG/QQ6kU16RgYyT7lYfhXoEAB+F/37t2RAcWE
CROUkU/V12YWOjZckNFh+vayZctgbOPHj4e9AR2F0ToE6tevz9IEbJYdOnQwyiXszxEIRLyN
5/XseQtZeZc8SSK2+YgQMaLXxwnLPmohnu/de/VlrSh7JaRL5V62fEXMCcc+Lgv9YjrQxIGD
hzEc4xo/FqvYqtaoxRzqL8ZCAeMKCxcypE1BpkyPY/MFpjTxoLEZd+zokbOs3i42NREyVApz
Kl+xkkmBAVDj0jl9lXnZmBs9a1oGaqFrkSNHyZHTMiWFtxdWNxbAQuC0sgowAYjSst8HbE9H
h2Qw7Z25Wey9QnPwXGMtiCkiY6nYh44dOWKSDxwynIE5WtDdLQFv2cXLVrEqwqTzQ05ZQMpI
BOyN4Yx69erxKORj93uUhOWKtFoSl3j8nTp5skq1GsePH4WNgSFWK/ZHoYMFDx6MfmLMnZmd
DG52bNcaM0CffgOZIcdwv0u8mFMm/T7mt4lqSiUpMHjKHhw/p0H92xgL2TEEI/HNmzfoOZD7
fgMHp0lred3qg00Ei5csdfLEcSijFtoMsOFI+45dGABlfxyMu0ybY62PaReSxk1bzJ7hxYpv
TOmTp80w8Sr6JytvIHPsULNi2VKI3dKVf7DsgLdsj159CXjWqMpKWdbqUoBDf//Jd9q0mXNc
XFxhbHNnz6Tv2SyYtVB3darGHIAmDeqyk0izJg1YpV6zdh1rfZEoBBRvmzFjxtWrVxkMRQh9
YVXB4sWLCcPbIPcsTWBgEWOSIkBqObmKjuGKgBqYNsrVVXu/ECwu5c1rGXPAVpcxY0a+i5hU
Z9LHlEXu0CZsfsZLpkzv3Llz8+ZNLHxqOqlKFvsZEqYvw9uwmWF7o17wNtaeQwFZaW5MUIUT
JrRYl3lt8ctYDb8xYsTgl3rZy4Kr6lCMVs3O3LVrFw8HcqHYSDQfxX7BLLdy5copA96/UeV/
AEAgMPqVZ9sCHv187vi6fej6GCSwGJneCt5JkDufuIzI+DQuvAeT2xcHExkLnjNrJvOZvFMY
BzrsWcXKU2sFbPg8BUy2MWs1o4QqU3i12sAUHf4RNlw4aJxRX4cxyBUpVlyNbWmhCpAgKz+Y
fm6Sf49TH7nc5uuZpzaftj5tX2PJveNXHuMQcwGtDcY8jiE0lnn9XzqwaEKOWUNjUmTshib2
TgqmiA5OedmwNoKFQQ50vH+JNTF0JG4iY5TypYsz7skKUNgY/Yrb03jVFIa80i0xSBjlSEDV
ZiG5Z5EDi1HfcdjY1ekVrEPyxV3vOItveNVHnfwb5mtKipEEBjQU5WJqGkY1DELly5dHjc8h
hkqxGzFhi/lbsA2sSnwgYSTjF3qEhYnHAp/WU6dOxZKEbalBgwbVq1efO3cu88N++uknY15G
OfY5lFV2fEMyM4wCQN20UQ3TXeLEieFnrHjFbIZ5TPFIe5mSAmZvllZwJ2J654uuSpUqzL1r
2rQpZYOKcUqC7du3h2IymwKrm7FsbDgCyaNUDMtevnzZ1dWV0UyMfNzazFTDWMjekPaySJ8+
/bFjx6gFCTKUQfoYGgGNU9gezC9+/Pjq0QSNYziYshlXUxmLIWF/i4APHkP+tg4+LRjP368h
bWRHv/f1I5hHP+YiX7zU+Xr7ImmjbIsXLqhRq7ZPMTHpb9q4gRElk1CdAp2PSBuxqLJeImqK
DvGyR9pgFdeuXeUdbLMYoOE3pM1m7g6EPOv1k9GB2tdfgm9ZkzaShYt4k3LxhrMmbaTAe8Wb
KXi/FvQZm3zI+ykYNbkRTKTNeJWXpWPShjLkwETaENJR7RWSBH1E2kjN2NXpFb676431Cgxh
urQa2cTSqZaOMqlLPS2Z1E9AMRIYNhPFGDoEE7iaA2TU44WV3UxiM6oZ5XAXUmYMlMUEcDKG
MiB8mrTpWFmzZmWhAJQLKompTMutAyTCxw+mLBJs3bo1Co0bN+aXjGCETODLl4+FxQXgdnAp
m4Ok1mmaJPayQE13VOoIhkz7gzuuX78eO2KPHj30qwdWx8jvwYOWpdNyBCwEAiNvC1gt5NPS
shWW48UW3kkwf4GCbCDsHc3vpwOrGDdhknG67vfLS1J2AgSSp0jF5nD6C8EJahQ4q6CGSmFv
6uMBeo33EaBgDSa/bKLG+CkTtrB1KWKntguxhxVUiWcIG16YmJZRjgULYgeLYjEB/KZRo0Ys
d7CXYP/+/fkIYe0C3NGeDsWD+bEwggQhcAxHqqJSZvonzAkyyrqBWLFikYKa92YvKXtye1mY
9FFjQLlZs2ZY78CNCXNaAd6GYY/BXy2RQEBBIDCOkwaUtpFy+hME/H4IyTvjpP4EHCmGcyDg
9538a3BjxBBWh2HVO4kw4snwq3GPHhXLWo71C5rozWS/mDXE7vbt28xp+6KmrxW8mQWzAiCv
ar6dr/OSiP4HAeFt/qctpCT+FAG/f6UJb/OnXcF5i+X3ndx5sZSaCQLfFwEZJ/2++ErqgoAg
IAgIAoKAICAIfCsEhLd9QpLJDQ7mK3wruJ01HaADwG9bOzUB2Udp2oxiU+ijZEU54CJAz6QD
mA7Wgxt7LFcdVNDxVQcR5ZIgIAgIAt8DAeFtn1AtVazw8KF256J+D+i/VZrXr11jH9FvlZrv
0vGaOpkN1RzE5eUHvA62CzbFZSVp9EhhcaNpkjs4ZcoLUfCGiY7GhA0jELLNsoOIcsnXCGzZ
vEn7V9CJ+LStdcTvEejXpxcdwPSHe4YJ48YUzGvZetDYbawL4Piqtb5IBAFBQBD43ggIb/ve
CH/39HFsgN+C756Nwww88uXv298R62VXud49un1XiyazbvEDFjuOZdcu/4CJQ8Cc5CIbI1+7
esVUGT9oa1OOjk9ZXr3/ryPGv58zfHLYQERjt3GcjlwVBIwIsObAR7ZYn+ob85KwIGBEwNl4
26Tfxzdr3EDVkE04s2VKz4aZnLLvZb7c2Y9/dGzAp/bPaVIkjBO9WuXybIap4WAxUblSxdjW
vGTRgvih0nIVwIMhqa1cvixT+tQpk7p169yRNNWlxYsW5M6eOU70SGlTJMWZj2InjMUQRpIu
pfv8eXPye+Q8d/aM0rdXAGNG7AjPdvYUpmqlcspJFFc3b9qIkIxw8oirRyRs++41bfLunTsK
eFiMB8aDbT87dWibPlUypb9h/Tp1dfq0KZQqbozIRNm/b48DIeau2jWqJIobI5V74r69euiR
UGKxx6lL/Fi1qldWKRw5dGj6tMkqKbwk4YMIBwmuCWJXqViWRHCEXKt6Fa7mzZUNn+gE8JRQ
MG/ueDGjUBEqpSKCGNwOnxAgvO4PG0wUKIBaKXfp2L5ebYvXIw68O5QtWZT6Dh004MGD+9aY
4KqSjKhIjaoV7fmZUEkFlF/rJqDk1t0DIQ6aFsyfq9oRRwhgpepoT04/b1jPk+aj0dn3WFNt
tjPgznJPnDBfnhy4WCCRpo3q4wmjb+8eqKk0+TW1NX1m8MB+JMXtRmfADqo1VYB+1bF9Gy2E
cP/SzLLTlc2+x266+o5GBwcGDerUIrBwwTy6epOG9ZIlSYSnBJ2aCrCPGr49jH9sMaN1dLdB
Yl1HrUZg545tGJX37N6JEZdigGriRHHph0YdCX8TBNhKjb3HMHZ+k9SMieA8AJ9RSHCH8Ntv
vxE4cOAArquMOl8Mc4+wiy/boRn3y8U9sb0dSWzqfzEXbyrgNAL/rSjj4Ktbt27ejGVU05j4
OgVjasYw+4y4u7sjcYy2N/PFWa3akBnvEabd+IyZBoowz+UAdzx+8dbe36q1G7nh7z1+gULj
ZhYv2ripIbxxyw522rz/5OXQEaPZd3vQkOHLV6/LniNXipSpHj57jUKOnLnZVqdBoyakgKNr
fDuibMzl4tVbpObi4rp+87bZ8xbhhLtT1+4o/LFhM/KRY37bsecAHrAIL1q6Ejlh9vAcO34i
fr5RRr5r35/I7RVA56Uy4jVDmguXrMCPVr0Gjbh64O+j7BuEZ0lyxA8P20Ju2LL9zIWrSDJn
ybZp2y6dggo0atIsyU9JF+HWZ+MWnO2wvv3uo+c4IyciRaIwtTzrsn8p1bQpBJafM2RMmy79
3AVLBg0dwSa3+BQi5aOnzhGLTIEUhAEKtEeMHodfJK4+ePqKHUrx38W29SDP1Wo1aqEwYdJU
EFj5x4YrN+8dP3OB3TXZH47yU0gqtXv/X8TFxwOIsWcboFFr9E+evaTqon7rN2yMc1IVRoHl
+rcfPOWUglWvWfvS9TtEASUjJgpMnDh5zZrLH2UjR2Oa3gn7/Q3iuFQ2m8Bm9yAdOjNbRuFX
fvW6jUWLlwAK1bHtyfFXRrvT8WhTQFad/NHzN3hawz8VnYFmhfdwF+w9eChevPg4nvr72Cld
YFNbcxfQ8WhZ+mGmzFldXd3ohFqZwJz5i7F4qXbkFN8Y3CD2+t6pc5dp4iMnz6oUcJmVMXMW
woOHjWRXCPzIderS/a+jJ9VV9duuQ2fsbQcPHdN/dAkuDRg0lGoS0N3GZh31VbooDxAyIsrZ
ixb2SbLde/XBxKsyCui/ft/J7eXIuxm/7/iLY9Naezq+luPQPVWqVETHhQDugwmw9ywuUH2U
IHu8sfuaKQpeCtgB2CRUpzb1bWr6Qsj2b3hlJeK1a9dwgeCLFDQmvk7BXqbstHL8+HGuOkbb
O/kq0yZ7zpEaHsCgyPYyDQzy/wXESjp4RPLa4AnOSwUdvBDyWG/YuCnhLt17li1XgQDbrLdu
20GlcPXWfXa14RXFKbwtXfqflfz6nYe86nhFqVP1qxhAj9591SlUhowIw//6DxyiNRMn+Umd
8rrivaLkEBEe9Iq32SuATkFlNNlrppLwKsqQKTPhGrU8eVVoNbhasRIlOeXNhANTLdeBXwcM
giepU7KmACfOXKSyvH5gNsip5vRZ827df2JTyIuWKLybVQq85+BJRMHZIrubKiEMgFIxAqV5
G6+0pi1aAqxSoGy8rQnv3GvZlZu8CEOz3NwS85pUOhACWCBh9u7XtcZ7Kfom3jZ/0TKYBJp/
HTlBALekUFhOId8zZs/Xr1gkGhMFJjwVIX9kTUOrsPd//f4ecVw2m01gr3vAz2DtKkFaE1Th
zZzalMPFUdi+e7/Sh23TyWFRNDGbsOvmoPMrSOnt4ydOMZVWtzVNzH1EB1YKRCfxiVOnG/Wh
cXxH8SGE8NDx03xUnL98w17fc8DbiHjt9gNjyipMTyBT49GhU1cuWfM2m3VUnYry0N9gaSpN
xdsAxzq7gCvx+05uL8fly5fjlgAzGIYxkw4b5GLCQYiLT7aT5V1OGIdXOIZn9AN7TNy4cdkv
DQmnXII0sFsvnRAiOHz4cCSKo0AUUOODAW9X8DZMZTjOoh/i9vTUqVOoGQ/cZ+GcgKts1Yvd
CGemeLHDiIt/KqMau9ri8B4+UbNmzV9++YXnPyXk1KRvSo0UcDbVp08f0mzRogWe4zly5MiB
Gys2+F2xYgVOrtiCGJMYmvBC9gSm5BSmQoUKmIfxW08tYseOjUfXIUOG4GweNWrXtm1bNvWl
hACFxLpUCPWheZtOgaEn6CB+U0iB3YPRBOo6deoggTOxKbGOS2DkyJEATgDjOn5RsUESppkq
VqyIVaxw4cJfRFvl67iQ1Je7GIZN2SgDjh9wO4ZnGhBQhWFfZToMJaSx8DCmhM7662zjpHAL
5loxVxob+4Xz5yBte3bvor23bNoEP2D7QcZfjh49zCARf106tuO1dOrUCfVY98hrcWPMgdA9
eYqTJ4+rU+NvnjwW38McvPb4mLhy5bJH3nw49mYklBGTwvk9GDl68/YNuVCAPB75lHLe/AVU
wHEBlI76TZYsuQrAZnDESfj0qVM6HU7xk3LqxKeSK03Tb4uWbdhqcuKE3xg/8qxZjasULFuO
nLFix0mVLDHuR1evXF6gUGFsJzaFZ0+fwvqFFU0lm69AQW5dID1x/FjGTJmVENaLeQzToM4a
c86v/QcxLsnoGONiU6dMfPPmtb6qAidPHAsWPHiLpo1UKzBUzWICxp5wDYkJROlkyZrNFIvT
XHk8UGO4mcG+nDlzZ8ycefeunSq6ERnriLoWSd3d7927a60QsCQ2m8BB90iWLIWqYMyYlv3Z
VXciYC0/ceI45k8mG6im+WPNKjr59evXkMeNG0+7lmrctDl9/ougMUWBUWmPfJ/uAqLj1t3U
acmuVJlyy5davIYvW7KIuwnLrr2+5yBHTNq8nm0q0D8xwum/Js1/sanmoI4N6taic5YuU84Y
kboYTyX8rRCAguCOEwoFTTF5YeJVDREhIyxYcAIOwgsXLsQpJ94/vby8li1bhtNS/BNA+7hU
o0YNeAMu6mEG7dq1YxBfFRKi07Nnz+zZs48dOxbJhQsXeFSSGoN6nTp1UjrqF/egOH0vWrQo
9IuXS+3atbG0kRoERXm118r4m2fMnQPXC3RFWAg+Rrt06WLUt06N6BAR+BYHHrQIw4EgRvPn
z+/atSvuUFevXo1dcMyYMWhigMTRKpjs3Lnz0KFD6FStWhViyvAotIa48BXUIKPMpYOPQvJg
wHBN61LpYhsDOgX8vUIHYb3QWQyf6OCPlazPnj2LF1dY5rlz53REuB2wc0qRjhw5omBZu3Yt
DljJF2y/iLbK13EhcfxAFrS+2j+ZXDjAijqy3A3XYSVLlsQ7BVZPBtwGDhyoi+eUAWfjbTRS
gYKFd27fxpQv6AVe4JjTxqyagwf2IX/+7BkKPOLjJ0ig/niIp0mbXjVtjJgxdBu/ef1aT1/T
QgJuiZOo0zgf57+jxoQtaNDwIYPevXvb/JdWPyV1Z57W06dPUIsRI6ZSjhUrtgo4LoDSUb98
z6mAwZ3cc5wEax2GIPGTqk+tA8wcYjLcyuVLXd3csNAoBR4ojKj2GziEl3ej+nVyZsnAC8mm
8NnzZ1GifM4uAdl9dMyKd3CbbjFV+rzmmcTWqL4nr+dChYtWrFzVumBPnz6LGjWabgKshpWq
VHv+4jma4Kn0tYs9Y3QeJdlz5IS07dqxPXvOXFjOIOVbt2zKmi07n1lGTVOYO1lJNJgmhYB1
arMJXryw2z1ChzH3JVVfazlu5uHxumkwZNJzQgQPAV0O9W+H9D5WFAll2lpHSZAwoXXL0kkg
iIyOLVuyuEIlyzxIe31PpcP9pQJqsosKR4wUSQWsf+muiRMn0X/Gm8io7KCOJUuVyV+wUKsW
TY36kSJHNp5K+JsgwFQwDDa8g0kN9oY1xZgsJAx7FRKMQBiEsELxwoajYNmCtPEKx+IC4cMZ
KPQCNYgOdI3nG9yCjq1oDXI6IUK+GRh84JTnAzQOixcmJSMj4RKuSFOkSIGXeigj9rx169bx
Qc7Thk9WawcM6HOQMswGU1C1atVwSI+m1rdOTRWJ+kK8smWzfKzCtCCUeMSiPJjumHuHBB+j
XCpfvjykFnsbWSO/efMmlaIW5KjfFzdu3AAiCA1GKdzYY0pcsmSJdamQ2DuoIOj17t0bJ/Tw
VIoBGeLJCf+DmZEvgSRJPr0HSQTrIJSOJ79uFIQbN26E7KosvI+2CTpjCTExckrF1TMceo0l
El5OCwIydYQfA3jMmDGxX65Zs8YY1/nCwZ2vSgULF+ncoS0f2Tly5cZYxRyvYUMG4p6cMFZT
erlb4sS/tGqrKs7kYmiNCp84/snAxmfZ0SOHf2n9SccI0YUL55ndheTMmVPcM9A4JkQzTMmA
o1Jr06o5uSRycSWjY8eOMryCHAOJusqpgwIoHXu/Lq6u27ZsYdRJKWBfSZkqlT1l7BzUmqlI
jA6jw2RqfikYO2KcOX0aMyR/ly9fypYx3Yb1azNlzmItdHF1Y2Hgndu3MaER9/SpkwxFMVCb
MJHLRcOijcYN6jLKqYuxYtmSSxcvHDl5Tt1mHdq2IlN9Vb1xmVV6/vw5XRHKhg5kmjsQQ6my
je3csV3HMgZo3B3btmLPa9exM7H69uoeJXIU8DfqOH3YZhP4qHvYg4hGxyRMgyZK5IIOBrMd
O7bR4enPN65f47tWUfYZXlMxwnXu+uljwGZqtDVcn4fs1i2blUUWydnTp60NdcyoCxc+/OKF
80+eOF6iVBlSs9f3oJVcffGvH/FrV6/azNp3Qpt1bNy0Bam1aNk6ZKhQWX5OM3vmdGZS+i59
ieUdBBYsWEA3w4U8ynRFOMSwYcP4YFNxccfesGFDKAIWGjyEYgSCWxQqVIhuhp/NHj16wDaU
JrYuAjB7hlYxlcEzGMUzPouUmvpldFUF4PQvX740XiJZWJSSMEiHAnPIjArWYQYoFbdg3IZM
jQr2UmMYV6vpwsAmkye3DGVw06l0oDVM4WcVAkyIA4aqY+kAWUAZdYIUngKDhoNS6bgqgFGQ
WxWDopYzBIl70927d0MuKUzdunWhsPBRpcAbDZeycGjlj1U5vMdWBw3F6KgT0QFdQWu0vV9I
2CQJgjMvGpqMMjMyy+CyzoVaKx0tcaaAE9rb6LQ8gnnC8j6gqRjQ5DWD7YcwfZ130vRpUw/9
/Rddc9qUSc1zC08AACAASURBVO1atQgTOoxq0bV/rGYMjpmPwwYPjBY9etFiJaxb+tfePa5d
u3rx4oU+PXuULV+RBKNFi85zBOMcCY4eOQyi8+b1G75+eL4zDsuaVlaGtmzeRCXluADW2Rkl
1WvUPrB/79Ili8jrj9WrZnhNKVykGAqhQofi/arXnKoo3FTQoKdPLGY/hht+7d2TANYsbNEs
LaT6nHLC0CcvV5vCIkWL88IeNOBXHp2wve5dOjLvm5uW9+6qlctZV8tDcO2a1WtWrWAuucqU
X4wrPHZJmfCRw4fmzZnFGWH1OQj540lavZbnX38enD93Ng8jeHCVCmXVC7hMuQpzZs1gOSrV
8Zo6SadpDBQsVIRNT169fgUVYKAqRMiQy5YuVjgY1WxiYlQI0GGbTWCve/iopgw3s3SD9aGs
3ORGaN2y2ZJFC3gucyvRsj26deZVSutwg6RMmZqUadYL58/TwYy56Lbmqco6klkzvI4dPcKH
BJ3w4cMHGEeNyoS5KcpXqNy7Zzf4t7Kb2ut7kaNEoVcvnD+PvkfvomzcdKbUfH1qr44qQRcX
17bMjOvcwXSj+To7iWgTAexJ3bt3n/jxYBwQ2xLDoFqT7gGVmTRpUpYsWfDUDpNg4EzZdSAB
48aNY8oXB0YsDGP0VexYmGQYqtu7dy/dzF5v4ZLOwhTAwIMxSQkhi3zSY3gz6ZhOFWkzCdWp
vdT4JNb6mg9piQ5gR6Tnw9uwMEFtbVYHHLDD6VXzTLlTBXZQKp2+CjAzjzLAhBSYpMZoKdHh
apg2GbFlIJiVEMZY2EHhdvBjuBomT3RgcvYq4gBt7xfSlAhlZn6hKjC/GB2dmLSBvN3+amyV
ABfm7Q4/yJgpCyXPmTsP7ESbZPr0G5g6dRoGEF3ixWQ7gzG/TVT2JDR5WxQpmDepa/wlixfM
nDOfryXrivP2ypg2JWaqyFEiMxkfBb7FecklcYnH36mTJ3mnHj9+FPmAwcN4RTFi2KhenTLl
yiNRtgoHBbDOzihhdjmDVk0a1GVzkGZNGrRs065m7TooMP7LpDo2bjC+PrEFdmctX99ebKuR
LpU7FBNT37FjR7E78vqpXrkCm3SwNQbLDHld2RTyiJw9b+GmDeuTJ0nE9gcRIkb0+mhThAez
OIMZP+zs0KdX95Fjx6t3rSoqODOPMEPaFOTLDDZMMpSNhwgWFFZXAPuiBfPgfwMHD2vTsrlr
/FhFCnhUrVGL9adEHzJ8FN+J7FXxcxqMbhZaYH1A1yJHjpIjZy4ucZNT+Nix41jPNPqMycep

gdbpBGiJzSaw1z18VFM+8VkRwi4tyX9yod25cWgUUoCKzZg9j61nkiVOmDtH5iLFS5QsbTGM
lS5bDrOuZ82qxlyMbT1wyPB48ePTf9zdEqxcsWzxslV8VhmVVbhi5SrQwQoVLYOkHPb6Hq83
lkSMHzearW1qVq3EJAfvP+hVyg5+7dVRR2nVpj23f5dO7bVEAt8WAaaIYTVp1qwZtEwdDBRa
D5WywgDShqWN7srMqoIFC1KMAgUKQCbUM5DhTsY9+eCE5WAiguuz1gGrDP1ZF5i4xgemlpsC
sAHMSBixkMNXsNtBEUw63j/9ytSgI8WKFWPoEwYJYVVGOCqC4UCXgRJib2P9JhKmo+3fv1+Z
HrXCFwPY6hiCZKkHmmDINLW//vpr6tSplStX5h7hl9mE6mtcJwVvAxw0mQLIfDsaCDOnvkrA
m2gbo5jC3Pskbq/JAJbpbtSXWAxGs5LDZOk0pRbQTwOpX3nuYcZcGDk1tR/3OfPc9fxr41Wm
v8B12E0gTtx4qBnJCmrMEmOGjWJmKhYmsazZc6ibnDl20BHWpul73l4BjDnaDGNsUyU0vrEo
Dx0aK7opCh9kvA6xoBiVlQ5yCKvxOw+5TeHtW7eYyqOMKDp9ikGV1SiwFuoAhcHkpgaUtZAA
BA42rApDmckOqE1l42uJbymbpNmY1BfD9jD5YkRrBb93ue0dv/I2m8Bm97Cu0RclfIqEDReO
p61Jk86AKdr4JY2xlvbCJmfSNLY1/YH5lCw4MOnoU5gie/6xXNTUzWz2PZ7I9D16tY7+bQPW
dfy26fvP1Py+k1vj0KtXL2w2cCx9CcIETWHQTY0YIofYQUSUhME7FhMwSR85zw1IHmFMdNAO
bHX0XgxU2IGwcpHImTNnOnTowBx5YjF9npTZgI2hT+b+E5FlpCRC7kyqU69/XQbWdXKQLJ0T
4x8TvJg+xcx3+JzWIUAWMAbsBTo1FhBg7SNlo751aqz95NFN3UmEEvIS6du3L2EyYoEFlSUF
uCmrKxgXZl4XliRuAWbdYVCkmpgmW7duzRgxtkCYDVYxQGBpAumACUk1aNCAVRrWpSILdTDE
qTBhEFalANtjrhj3NQfrEsgUysvsOjDknQK88+bNUzNh/k3DUn00KQb8CQ5NaSknjUU6GCwd
o63yZbmug0KSEVwQCyvrLbCwrly5kjmLCOGpamEKZBGyDnfkpca8Rmbd6bI5XyCQ8jZfNKTm
baw88E70QvnyRI8RvUu3ns+fP+vVvVvESBHZxsI7EUXHvyHg96807/A2/4aS78oDQTx4YP+I
YUNYcdKzz6++S0RifT0Cft/Jv77M1ilgeeI7UM+HQ4FvBiTWXyBc4tMOuxFDE9bpmCSwFjgQ
/M8k993p16QGbbqP7z7DRC7KwLcTfMv0EY5NDpOk6avYRwVmuJmMjCmQEcTUZLPwZpreR9tB
grSmsXFNmny1sq7lWzWTKXF/dSq8zbvNwcdN2VLFps+aywx678S5dOni7+PHbd64AeMEY7W9
+vTzzgPCOymLjh8j4PevtMDD286fP1eiSIEsWbJNmDzNZGzz41YO5Nn5fScP5IBL9QUBXyMg
vM3X0EnEwIKA37/SAg9vCyx9yN/X0+87ub+HRAooCPhTBJxzXYI/BVuKJQgIAoKAICAICAKC
wFcg4IS8jUFuJhCYDrVkWgmBi1PCaDqAjrmf6KiIDtSMl6yTtZYY9XVYldlHeem4poCuo0nu
01PSUVHAgakJ9qI7vkqsLyrYS1nkzoqA7hL0K8L2qun4KrG+qGAvZZEHcgTevvvw4Lmjh38g
x0eq788RcELehlun6JHCmv727tlFSyD8yTU+geVLlxBu1/oXB81ToUwJdNiA14GO6ZJKtnoV
y1a36lgwbw6J1Ktd41+B7f8ooMaus7Yv+0RKBUnKJzFs6LLSk0QuX77EtXKliuG0yobSR5Hj
q6iUKVFk6OAB9qKLPEAjsGXzJl902qIF840ZNZyKe02dzBYh9hBwfJVYUydPzJ39k8s1e4mI
PGAhUO63W0EbXDD+XXvwrtW8e31XPaQibp2vHL5q2Q/SdPx5+bV7N29twgxdKzXmVsQWl37q
cjV2m8uz9j41JeXNU+/n6M0ERU0Q8D4Cn7Y89n6EgKJZtHiJtOnS69LG/+9igp+SJsV9Z+Ys
WbWCBOwh0L5TV9PyJXuaIg9sCLRt1aJdh06+rjWuhJX/NF+nIBGdD4GB5aO2LfTZa1mwoEF0
HVe1iO0a/aveWe0XPogVMdidEYkihA66/+KrPINvpoobMl3CUDoLbwaSxw6xrJnFkYwcgoDf
I+CE9jYFYrHiJdn0Vf+ZFoFa9i3cuF57lMehU+nihdlINl+eHBiHTMOCrBXHC3u2TOnZzZ/E
cblNGAdZiRPF9azxnx1HHbffqhXLiTh39kwsgi7xY+XJkYUdEGxGGTl8SL7c2dlfF8vEwf37
tA6OH0oVKxQ/VtSsGdP17tFNjatSWnaid0+cME3yn2ZOn6aVWRFNdtgU8dbArrxsW68vmQIs
cW/WuAEpUH32IjZdXTh/Lm5AlXDCuDHs1pviJ9fOHduxMYpRk/W2mNbYat8oVGE2b6xVvTLw
4roUd65KSPEa1vOkYKncExNLYb5wwTz8hoFPsiSJNqxbiyY5/pwmBXGrVS7PxnUqLo4s2Q9P
hQPn7+JFCzA1sf1s2hRJ+/TsrnuszQayFjI6iQ0V5AG2SsWyOPBVMNIiOBpRYbYxo//wqzoS
bj/YNpk+WbVSOeUzoGmj+myq3Ld3D5uNrtvFOnd96cihQ9OnTVan+/ftKV+6OPcFXYWw1lEB
nO1ylY5qknMLjBg2mF2C2eeZgL5q3W3orvq27dLRsncum8YVzJs7XswodOnNmzaquGSBmj7V
CUrAzxCAp8HV9J8x35bz7l958A7JjjMvcwy8Hrfd5Waz7716+3kWx50n/yBff/wFZrk60+4U
H3UzWberz19/Vnj88n340EEgbSSS2TX0jo5xoXGE7z39B1Nf5F8upe11befZV0iMKTSYfnfB
gU972648/LzhjLsX771rM//TA3DQH48Sd76Srve1abss1jv6ZP/VD+O3vxyv3eUBax6qpzSG
vYQdLkdteanShNuPXvxniHbo0KH4M2UzOTyKsv8ZKXDg5wAXpewYjLeDkSNHKiH7w+F+im11
iaJ2G7bk1b8/EjZLwy+nykspy68TI2Dpvk557N61c/q0KerP+jXw+NEjfIYyGkjdeQkVzJsL
L4q4fbx+7SpvCCP7QQF/0uv+WIOJTjnivHTxAnFbNGnIzr0+8i2Nkx8itm/TEt9Q0aJFx9kU
ZNHabU6/Pr16duvC1egxYu7etaNwAQ+8QlEMJL80a3zmzGmsFLdu3Rw+dJB6xY4bM3LIoP7s
g5XIxQUFnI6rBn3/zz9kR10Yb8LhVTxb+9Sjya1ev05NvAaNGDWu+S+tunZqr6mVSof63rlz
mzDZDejXp3zFSlNnzMJD6OBB/ZUCv1Bb3FURwBmDFurAb2NG4QBh1rxF+GCpUbWSklevXB73
WRMmTm3TvqPXtMk41ELOy3Wm19SbN67X9qznliTJpN/Hk2PDRk1mzFnw8MFD9mFRBIUtfL7f
tqu62P42QK+oW6t6nXoN1m3a5lmvPh4LcGtBaW02kE0hw5Q0SoPGTaZMn33v7r3ihfOzLRMp
XLxw4d69u6rib9+9pf/wqzpS61+a165Tb4rXLHojfjjQwVNIzJix8K9VuVp1FcX612buWu3B
g/vnPm5xfuXK5coVysaIGWvh4uXsa12vdk09vRJlSjtl8u/9Bg6x3jiKEuKv9vfJXtVr1e7V
vSvIoG+z20BVUR4ysH+TZi0yZMp07drVogXzJk+RYunKNdmy56hcvjSbYxOXjUbZCzpMmNC6
kBLwYwQOXnrtteup+jty7T+joufvvn319sPtJ+/Kj7/tmT3CoR7xL957O3H7p7HOF6/flxhz
q3jqsIVShn355sOsvc/SJwyF9S5cqM+vuXaFIk3Z8RRy1mPZA+xtGV1CxYlsMeDVm343XMig
x3vHb54voue0O0iMKWRLHGr2vk+8jWQzuYR69e7DhXsWBjlv/7MpO5/Mqh+Tv46L7l++/3bO
vmdeu58uaxZ7UZNYM/c8O3DpNcyyyax7S5rGPtc/AcRx/Nb/fH5gRBg8eDCeVdevX8/OunPn
ziVZNuzFCQG71w4ZMqRdu3bsqYtvK3yzduvWbe3ateicO3cOtTlz5nh5eeE0YtGiRWzSy/66
COVwegS+yubsn9HBrMWfKmGjJs0yZ8lmr7STJo7nI7tGLc9xEybB5CqWK3X2zBmtzB5smNnw
0cS7wbgDYaUq1UaO+c3aAKAj2guECh36ryMn8QeA3QI6OGP61NZtO2hl6BeGEDay2vvnYVdX
NwgZtrRe3busWLOebRW79uhVvESpFClTTZ44gSEqVc6J438j+ryFS/G5vmTxwjo1q+nUCLBT
4pIVazJmymzPA8GZ06ewbB0/fUF5icC/Ki/vhAldjImo8OiRwzt369m4aXNOhw4fBSyKRX14
/6GeZw3ei4uWrbTeNx/lIsWKY/gkECZ06AJ5c1FHPNPjOX777v1qLJud7bALduzcDR08Scyc
u1D5fmBnrzr1GjZu1gL5zxky4hdr4/p1uNKipvwhDJzHmzdv+w8cAm+j+mnSpps53YtGBBCb
DWQtZBEMDkabtWiFlzNSSJkyFfaqpUsWVa7yn55jwrZ9py44G0XoWaf+hg3rCMDFQ4cJ45Y4
sZtbYpOyPrXOXZsGtQ4B+pK7e/IJk6YSTp8hI19EF85bXksc8+fNGTygH/3f2psZV7kp4PT0
7dx5PPhIO37sWPYcufikse426dJbDLRt2nVQX1+Y3OLFiz9q7Hhuah4O7LY4ZtQICkBSOOOy
ZCzHD0Jg/6XXNx5/skgFDRIhTfxQpoJsP/MqRoRgDXJHRD6+RvS7Ty3mtHf/fKg88U6a+CG7
FI+i9EMFD9K3TBTjQxt51sShj/dJMGPP00V/Pv919aOSacPObRDz9bsPq468ONsvAcnWzh4B
ZnbsuuUzRqeAhazNggfPXr0PHux/G068JFPsbSqXJX89r54lQrbEFqIPVwsRLIjX7meN8kSk
JEgae0RcdfhF2vih/nn/v30XXiWOEZ7RVZJVcfUvbruKFy/OKd4FoG5Vq1Zlx388fdG98QrA
45EtcDdu3Jg2bVrcdqGGe4N+/foRgLQ1atQIl6CEcQ6xatUqXDwRlsO5EXBa3obnRN70qvHS
pc/goBVPnTjB1XwFCvKLFWfnXotxSx9qeDFr1uymXXNxgs5Npf1WKX3l/8f4ZlJLVo1+gfLk
sVi/0ccbOrztzL9Oi1UKe/dYhhHZpxfSRgBjBryNAR3CeBHFvLdy2dKe3btgY0DyGg/2b95g
q4Dn5fbIi8TDIx+/xgMClP9j1YxCY/jEieNx48bTrr0ULVOWSKMa9o9zZ8/A/5QQbDW8v08Y
h5GPze7t7WSdPHlKFStpsuQE7t69Q6YwPOwiSv7kyWM2Or9+/RqnjGgr0sbA643r148ePczA
tFLjncrQtnY1q4SB8Ncjbz587EJoDv/9N32Dwco3b9/YbCCbQlDFCZVHvk9dhaaHEqm7wAGY
yT62HQp4h8NplQNNfclm7vqqMYAlTHctbha+oLi6a+eOq1cuN21Yj55vnKtqjJgwYSL9QeLu
noxPAnvdRvE2Tf5OnjgWLHhwXOiq1BiCJ64xZQn/KASaekRsVziyg9xP33qbxfUTmUsULUSi
aP9jlQBEigHWO0+CvX//IejHKXHxogQ3kTbSZCVpgqjBuxaPwt+pm2+w243e/KRIyjD/+/A/
Bjp1pltPv8yYKJROIXLYYHmShv7j2IuQwYJkcwsVNVwwzdsoTN2cEVTE7Eks7O3Svbc9lr/q
vcKykIIjk2uoUCGCzKwXo9PiB60X3C+aKuyoKtFcoodQV9WvdsrEaClemxDyYMetE3638OPE
JzHvFAxsXFX6UDoVwH8UQ6vY6tSpT12RqljyG+AQcFrehmfxWp51vdMeL15aXkJ4jLapzFsB
o8Kk339r0rwFlELrmBibkof56M/x1cuXWk15/A0Z6vMnY/AQn+5YNcb69uP4lNZ/9doytYJR
VCXB5ynskFFI+B9zbqpWLIvXOabu4b1+2pRJQYME5dWIJoM7ytAVLnx4HJ4ooUohSpSoKmDv
l6FJTID2rmo5b3oeHzZ3tAe61m3bM8mpfMXKiRK56Cg6EDaceX0rBhV4MF7k/9VJgBExRHAL
MlRZCZ9/dJYM5toLKn7E06T9vNbk37iB7j8D2WVKFGVYP49HXoa2Mcky2G2zgWwKX7x4DmTG
Dp8gYUK6kMJRT5Ex9iIu6aa3fhfaawCbudtUhvf/9JO79SWsxcNHjWXsnmmXDRo1sVbAiapJ
6Ljb6IkNT58+AwHdAwlEjvzJTmNKUE79GwKRwgQ9f/eTuevW43eHr76JHiFY3MjBjvSKn7nf
9d+3P23iYTHFBf/Uoz8X//XbD1FaXjr9awKoG9JkcUIy2Hr42puqmcMFC/a/y4MSRglnmevG
fDiGVveef2VMoWrm8Mv+foG9rUrm8J9T/N//IoUNev7Opy2TiBIlXFBYHaTQM4eFzJFjsI/F
YOi2fIbwmNx6r3zYeNa9ta3iGBNhDFSdMq2NWW58e5QsWXLs2LHY3pgbwDuIuxLSxqioUjt2
7JgKMPOka9eunp6enPKa4GWh5PLr3AhYdW3nrq6t2rl+HOU5euQQFxmkY2OCBnVra5vZmPET
GePj6we7lzG2zQHBBB+JCLP41Q4a6G/bupnf+Ia5Zbt2bFfp7N+7h0AiF1d1qn7T/2wxDW7Z
vFG9Prdv3QJjS+qejBty/NhRvEoZi5w0bYYyHqCJiQt33S9evFDjSvv37TW9bkNYOfw2ZkeY
Aty4fo17XslZ+sCUMpMOpzwgeHxcOH9eXWJciQFlvMVxWqlKVUbcMGoydGsd0abExdWNZxMj
Vp26dOfPMpstcRKTH3roGiAzDKd0+EXH1c3NZoKBSjhk0ACMjvv+PDx42MiSpcswI43uarOB
YPnWrRY1msXnIBM6FWj0tLOnTydPabGJhgwZ4sXzT7a0q1eufCWqNouk+owpZTgoQ+da2LhB
3W1bt3CKL2Am1XXr2ad3j67WNmCtbwx4s9u4uLi8fftGdy0YcOqPg03GpCTsPxHwcA9z8PLr
K/ct1G3kxsc7Pi4jgGmFCRl0bLXoXZY8YAKczZJj98qXLEzT2ffuP7OMw6I2/+CznElCJ4gS
3DV6iCk7LfPkHj7/J3Hnq39d/vQ81Okworrr3Kstp16WSf+fT4W87qFXHnnBDDYGaj2n3WVW
XIEUYabvfqoWQ9TxutNzxUPIpWunKyx9yOIWukqm8EzR08mqwKZNm5jBxmN8xYoVHh4eLOTi
jmZIlJGZ5cuX81biqV6oUCG8qjOD7d69ezNmzFAR8eA+ffp0dU/VqVMHx+rIL1++rImgKSM5
dQ4EgjpHNb6mFjVrefIag5a1adm8ZrVKbNiG0UibH5Ik+Yk3B6OW8+fOPnb0iM7IptUBgsXo
ISQvV9aMJJUjSwbWkKIJs9ERr127yprQrp06MB2HXCpX/c+kIje3xFmyZmeSGasFmYLTqL4n
EdVkf+ZrE166ZDG7xI0Yalk69+yZ5UFTrXotfut51mQVauP6dQgbD10RhIxGseWV8SrhnLly
Y3jo0a0zRIpXIzOfUqZMbdJRpxj5WLLH2luLFWTIoPDhwhsHRkeMHoszVibY2YxrEubNX4Ah
aUx0DE7xtGrdstmSRQtMVJiSV61ec/q0qSzIgFtgX2zXqkWY0GFIijIww8+UZuA5xRz77Nkz
CD2wjB45jN7CgDnVt9lA1kLoFDPVmABAf8YkRs9nxUzWbNlJAT69etUKZm3SGUYMHfRFSDHC
QeV5bfBqoUX054qOaJ27sc8Y1VatXL5y+TJeV2vXrGbhjvqAUQpY2vi46ti+tdZ3EHDQbYyx
qtfyZIEFNzVW5AsXzrOq5trVqyjwAUNFkBiVJeyvEEgdP2Sf0lFS9ryaptc1jG2tCnzeNCSP
e5hiqcO2mf9pbZZ1sWfXjxki2P8SdbwSo/Ul927X8icL0zB3BMZVGcecsO1J0q5Xsg240apg
pJ8TfR4hUYnAC1mdwIoEtRZVp8yQbvCgQVw7WQpTIUM4thTpWCRyxDBBE3a4kqrn1aevPnQt
Fjl2pOBdikXOPvB6hr7Xeq18OKCceQwkVqxYzGNLliwZK0NbtWrFR0WtWrUwsDF+ismN0U8G
SXESP3DgQMgc8jgfv2kpQ8eOHTHIYaJLlSoV9zK2N4RqgaouoQScEAEelAHuePzirYO/ylWr
005jfvvdWgd5lKhRkU+fNY9w3foNlc7EqdOVsYerLDi4dvsB8rz58qOzY88Bwpi4CBcoVJhw
rtx5CO/e/5eKa/o9de4yatg50OFgmG/mnAVKZ+x4C2di4l2q1JZppGHDhkWiLpUtVwEJk685
vX7nITpcRRI5cuRhI8conT0H/lZTynjzdeneEzrIpB8uUdoSpUqjzMQgJpurFx7yi1dvIcRi
oaLzi3kGHX2qA5u27sSURY4xY8ViEcCj52+oBXGPnDyLDqaIzt16ELh84y7WHd6LjBGz1OCv
oyeNVwmzJR4pXLl5j7D+Ay6WU6hTLpHs3oOHON20bRc0F65GHUHs2OnzCCkhE+11XHIEGWqK
DpOcZsyery6xIoR0tNr3Dvj9DeK4Rrv2/YnBlR6LqbV6zdpwIzoAUWw2kE3hhSs32eAQYOlL
7smSb9yyQ+X45+HjSX5KSidhiiEDlLT18TMXVEc6eOiY0kHOoLYK0w/Rwfh37tJ1WmTO/MVK
rn9t5s46gD79BqAzYvQ4Fjco5X4DBzN0Tr4pU6WeNnOO6SpdlPTnL1qmUybArYGylnDDYj/j
1Ga3OXvxGin8feyU1h84eBjGSF57sWLHZgheyS9dt6wl9Jo1V6sFkoDfd/KvzPH1m38ePrNM
/PLF8e7dP9cfvOHLxxT39mOLEx2T0DunlOTVm/9EfPLi3dOX5uKRvnVqLBeFb/ExzMeS8So8
jM8zLTl//vyGDRvU6bx581jKoC/xoYWyPpWA0yMQhBrynApYx3fyus18bZ7g32SKAKgyyz4i
c7X+na0FwmzJwRR7hhR5aWHZYn43L0h7yGMGwI6CUYqXq1EHIS9s64iY2SGLNo0ZxuhsRLdg
8XKjRIfZqSta9OjWKWsFFeBRQtkgUia5706xtzFFSZFUeylgy2E+HHDZU/jecr93ue2dHn73
zh36l/5C0CDYbCCbQoud7MULyJ+OqwJ0ToRMlDTJbZ7yvoG6wb+xnsLmjXYyrW8zd31VB3hl
Uik9nVHLfRfwTrfhPqWyrMww3WW+yzFAx/L7Tm4TLjwl2JQ7n/D9JDdVqQ4dOnAX9+3b13Ed
GZdwd3evX78+nzcTJkxgwWmJEiUcR5GrzoqAXd7grBV2UC+9ptKBjjcv8SYzLmKwjvXF7cfg
TzbLg0HLOjUkDH7ZlBuFmzZuYBsRo8QYhrMaT+2FMVHYu+QLuTVpsE6E5xSHtTyQS+wRWZsN
ZFMIy7dJ9L/YOY3Iq/UKkCQmAGATNV7SYZu566s6wCfTtyJtpOmdbsN9Gi9+fF0ACfxwBDSb
+eEl73tv2QAACtZJREFU8bMCVKxY0TvGAj5umdzGHm9Y11auXJny44RUPyukZOSvEBB7m981
x/q1fwwfOrhi5Sr1GjTyu1wlp69GwO9NEd6xt311tSQBQeAzAn7fyT/nLSFBQBDwCQLC23yC
lugGSgT8/pUmvC1QdrQfWWm/7+Q/sraStyAQkBGQ9aQBufWk7IKAICAICAKCgCAQmBAQ3haY
WlvqKggIAoKAICAICAIBGQHhbQG59aTsgoAgIAgIAoKAIBCYEBDeFphaW+oqCAgCgoAgIAgI
AgEZAeFtAbn1pOyCgCAgCAgCgoAgEJgQEN4WmFpb6ioICAKCgCAgCAgCARkB4W0BufWk7IKA
ICAICAKCgCAQmBAQ3haYWlvqKggIAoKAICAICAIBGQHhbQG59aTsgoAgIAgIAoKAIBCYEBDe
FphaW+oqCAgCgoAgIAgIAgEZAeFtAbn1pOyCgCAgCAgCgoAgEJgQEN4WmFpb6ioICAKCgCAg
CAgCARkB4W0BufWk7IKAICAICAKCgCAQmBAQ3haYWlvqKggIAoKAICAICAIBGQHhbQG59aTs
goAgIAgIAoKAIBCYEBDeFphaW+oqCAgCgoAgIAgIAgEZAeFtAbn1pOyCgCAgCAgCgoAgEJgQ
EN4WmFpb6ioICAKCgCAgCAgCARkB4W0BufWk7IKAICAICAKCgCAQmBAIHpgqK3X1Fwicu/O2
5/KHW0+/evb6ww8sUPhQQTzcQ/cuHSVJzBA/sBiStVMiIJ3cKZtVKiUI+AcEgrx//94/lMNH
ZXj66h8f6Yuy/0GA91m+oTcfv/yRjM2IRqQwQTa3i+OYukUIHcwYxQ/C0sP9AOTvl4V08u+H
raQsCAgCMk4qfcBPEcDS5n9IGzWnMBTJTyGQzJwdAenkzt7CUj9B4EciILztR6IfCPNmeNS/
1dofFsm/QSTl8REC/rBH+cMi+QhSURYEBAGNgPA2DYUE/AKBHzunzWYN/WGRbJZThAEFAX/Y
o/xhkQJKa0o5BQH/hoDwNv/WIlIeQUAQEAQEAUFAEBAEbCMgvM02LiIVBAQBQUAQEAQEAUHA
vyEgvM2/tYiURxAQBAQBQUAQEAQEAdsIyP5ttnERqd8jEC9ysGtDXc7cepO659U3H3d6uTks
0Z+XX5cYfat94ciDK0YzFun243ex217e0CZOgRRhS425ufLwi4ihgxzvkzBy2KA5Bl4/3CuB
UZnwttMvPYbcMAnlVBDwYwR2d46X1S1U1v7X9198Tdajq0ZvkT9S2CYXYkUMdnFQIlNhcg+6
njxOyN9rxZi552mtKXe4Orl2jHq5IjaeebdSxnD5koc16cdsdfHus4C3r5OpFnIqCAgCjhEQ
3uYYH7nq1wgkjR2ydcHIg9Y+ss54+PpHx6+/UfKXby07wDWccfdo7wQTasbYcebqwPJR40cN
3nLuvdO33tSbZnnJlc8QrliacL+uenDx7rubj2XPP2tERfIDEAgSJMjYatGz9LtuvYfhjjMv
vXY91WU6c/vtzrOvqmYOXzNbhAUHnr188wHShs7EbU8u3387e++zhNGC9ywVde3RFwsPPiPW
01fWSerEJCAICAJOgoDwNidpSKepxocPH7qViDJr79Prj8xMa92xF+tPvDTW9OK9d92WPhhR
JfrqlnGyJQ6178KrsZsfv//wv6kfX37spgtvW3HoxYFLFtuGHIKAf0CAHp7JNXS9XBEm7/hM
0VTBTt96q7qusZwNZtw50isBVrfXbz/w12D6XdjZ2mOWGyF9gpDwtqPXX1vHMqYgYUFAEHAm
BIS3OVNrOkNd5h94ViFD+CEVo1WbZLGZGY+BFaK1f/aJzK049HzM5idcHb3pcZXM4bMnCf32
3Yf6XnchbXIIAv4ZAcjZs9fv+5eLtvjP56ZyFksTlqF/JXz88n2F8bcJn7vzjo181TyB7ksf
nL791hRLTgUBQSBQISDrEgJVcweAyvJWG7/1SdUsEXL/FNpU3ARRgjPdR/3FjvTpkwOidvbj
m+zO03/O35VXmgkzOfV3CNBj28y/HyNCsD6lo5oKFylMUN3DfzK4zWXoX2nuOe/vtq02VUFO
BQFB4HsjIPa2742wpO9jBHqveFAja/ix1aMHDxrEGLn6pNumcVKu5kwSuka2CBjb4kUJzgBr
16UPjFEkLAj4QwR2nH21+M9nTfJG3HXuPzxs7r5nDWbcNRU4dPAgzAT45/0HbobR1aKn6331
rXkGgSmGnAoCgoAzIyD2Nmdu3QBat/vP3/dd9TB1/FDRI3zBoXuwIP8bVz061Sw99tbVB+/a
FY7sHitEAK21FDtQIdBx0f1/3v8vd9IwX6x1x6KR3WKEGL/lyaTtT1LEtaza+WIUURAEBAEn
RkDsbU7cuAG4auM2P27qESnJf0lYtSzhM7t+Hjwdtv5Rg9wR0yQINXvv0z+OvWi74N6CxrHH
1YheYNjNAFxzKXrgQOD83XdjNj1uW/g/JCx9wlDdikfRAKw5+vzRi/edikW+8+Rd92UPggb9
X4WM4XuUjDJ339OrD8XmpnGSgCAQuBAQ3ha42jug1Jb92zosur+kWWxjgWvniGg8Xfjn0z6l
ozx99b79wvvIFx58vunki/zJw7Jvwtz9lm0R5BAE/DMCv656WDt7BKNROYNLKP50me8++6dE
mrChQwRtOuveo5eWjdmYBsCuN6OqRi/3m2XJghyCgCAQCBEI8v59wNun8ekr+dYMqH01UovL
/rDoj8ckclCqCKG/MFzrIK7vLkkP9x1u/iSWdHJ/0hBSDEHAKRGQ+W1O2axSKUFAEBAEBAFB
QBBwQgSEtzlho0qVBAFBQBAQBAQBQcApERDe5pTNKpUSBAQBQUAQEAQEASdEQHibEzaqf65S
+FD/2ZLNPxTVHxbJP8AiZfA1Av6wR/nDIvkaXokoCARyBIS3BfIO4NfV93D/vJGHX+dtJz9/
WCQ7JRVxwEDAH/Yof1ikgNGWUkpBwP8hILzN/7WJU5eod+kokcL4I5MbhaFITg25VM6vEZBO
7teIS36CQGBCQHhbYGptf1DXJDFDbG4Xp0SaMD984IYCUAwKQ5H8ATBSBOdBQDq587Sl1EQQ
8H8IyP5t/q9NpET+DAHZv82fNYgU59sj4Ped/NvXQVIUBAIHAmJvCxztLLUUBAQBQUAQEAQE
gYCPgPC2gN+GUgNBQBAQBAQBQUAQCBwICG8LHO0stRQEBAFBQBAQBASBgI+A8LaA34ZSA0FA
EBAEBAFBQBAIHAgIbwsc7Sy1FAQEAUFAEBAEBIGAj4DwtoDfhlIDQUAQEAQEAUFAEAgcCAhv
CxztLLUUBAQBQUAQEAQEgYCPgPC2gN+GUgNBQBAQBAQBQUAQCBwICG8LHO0stRQEBAFBQBAQ
BASBgI9AgPSXEPBhlxoIAoKAICAICAKCgCDgYwTE3uZjyCSCICAICAKCgCAgCAgCPwQB4W0/
BHbJVBAQBAQBQUAQEAQEAR8jILzNx5BJBEFAEBAEBAFBQBAQBH4IAsLbfgjskqkgIAgIAoKA
ICAICAI+RkB4m48hkwiCgCAgCAgCgoAgIAj8EASEt/0Q2CVTQUAQEAQEAUFAEBAEfIyA8DYf
QyYRBAFBQBAQBAQBQUAQ+CEICG/7IbBLpoKAICAICAKCgCAgCPgYAeFtPoZMIggCgoAgIAgI
AoKAIPBDEBDe9kNgl0wFAUFAEBAEBAFBQBDwMQL/ByV1iHgsU0KsAAAAAElFTkSuQmCC
--B_3354109608_1223859--


From mscurtescu@google.com  Wed Apr 14 17:26:07 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B33F33A6B3F for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 17:26:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.677
X-Spam-Level: 
X-Spam-Status: No, score=-105.677 tagged_above=-999 required=5 tests=[AWL=-0.300, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, J_CHICKENPOX_55=0.6, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id W1-wecWIfQXd for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 17:26:06 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 63A543A6AFF for <oauth@ietf.org>; Wed, 14 Apr 2010 17:22:03 -0700 (PDT)
Received: from hpaq7.eem.corp.google.com (hpaq7.eem.corp.google.com [10.3.21.7]) by smtp-out.google.com with ESMTP id o3F0LqCS019732 for <oauth@ietf.org>; Wed, 14 Apr 2010 17:21:53 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271290913; bh=0ynQ+LCMTVAohOmsdN6ofWreMEI=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=MbLFk2EwM6NmaCfCS1M3ZHsLWAD+ex7qvD5qDis+p7G2EjDa7asCswUVpAXTfhlwc ta/6rufDGBE7n61HK0MZg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=RYdsIhTvB5Efc2rKwSay4CYtQJsUBRJ0FM+C/c+hHRX6ujL3foBMJccjfBlkQ0Ee+ PgSqHnBwj4sgwOhodg7zA==
Received: from pwj8 (pwj8.prod.google.com [10.241.219.72]) by hpaq7.eem.corp.google.com with ESMTP id o3F0LnI3004794 for <oauth@ietf.org>; Thu, 15 Apr 2010 02:21:51 +0200
Received: by pwj8 with SMTP id 8so628217pwj.38 for <oauth@ietf.org>; Wed, 14 Apr 2010 17:21:49 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Wed, 14 Apr 2010 17:21:29 -0700 (PDT)
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DBE1@SC-MBXC1.TheFacebook.com>
References: <m2k74caaad21004141359nc1465147q3d817a33bf77f868@mail.gmail.com>  <C7EB7F60.38CB%cmortimore@salesforce.com> <m2l74caaad21004141501v5b9b49a3h7d4844b3d5ea9ca9@mail.gmail.com> <2513A610118CC14C8E622C376C8DEC93D54D66DBE1@SC-MBXC1.TheFacebook.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Wed, 14 Apr 2010 17:21:29 -0700
Received: by 10.141.91.17 with SMTP id t17mr7964097rvl.256.1271290909209; Wed,  14 Apr 2010 17:21:49 -0700 (PDT)
Message-ID: <h2j74caaad21004141721r7e51f567o7b90724d977f83bb@mail.gmail.com>
To: Luke Shepard <lshepard@facebook.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 00:26:07 -0000

On Wed, Apr 14, 2010 at 4:23 PM, Luke Shepard <lshepard@facebook.com> wrote=
:
> To get a verification code in the Native App scenario, the app either:
>
> 1/ Asks the user to copy/paste it.
> 2/ Retrieves it programmatically.
>
> For 1/, I haven't seen a widely deployed desktop app use the copy/paste s=
cenario. For apps that do want the user to copy/paste a code, we have desig=
ned the Device Flow just for that.

This forces the native app flow to rely on polling, and that makes it
vulnerable to session fixation, just like OAuth 1.0, but much worse,
because polling is a must in the flow.


> For 2/, from my conversations with desktop developers, it is easier to gr=
ab information from the URL than from the <title>. This is because you don'=
t have to parse and understand the content. It's also easier to poll for ch=
anges in the URL (as results from a redirect) than to monitor the state of =
the entire page. I can dig up some source examples if that's helpful.

I agree that it is much nicer to parse a URL than messing with the
title, but not sure how can this be done. Are you suggestion custom
schemes? I don't think this is feasible in all cases. If you are
suggesting a helper web app that receives the callback and provides
the data to the client through some client/server call, then I think
we are back to the device flow.


> I'd like to ask the list again: has anyone deployed a desktop application=
, in the wild, that uses a protocol close to the one that's proposed in the=
 Native Application flow? I've listed several apps below that use the flow =
I'm proposing; I'd really like to highlight specific examples for the other=
 side.

I will check here at Google and get back to the list on that.


Marius

>
> -----Original Message-----
> From: Marius Scurtescu [mailto:mscurtescu@google.com]
> Sent: Wednesday, April 14, 2010 3:02 PM
> To: Chuck Mortimore
> Cc: Luke Shepard; OAuth WG
> Subject: Re: [OAUTH-WG] Combining the Native application and User-agent f=
lows
>
> On Wed, Apr 14, 2010 at 2:19 PM, Chuck Mortimore
> <cmortimore@salesforce.com> wrote:
>> As far as 2,3, and 4, the window title approach is really irrelevant.
>> =A0=A0=A0Instead, the client will either directly handle callbacks throu=
gh a
>> custom scheme, or be able to recognize when a known callback URL has bee=
n
>> loaded, and hence can extract the fragment from the URL directly.
>
> This is a very strong limitation, only native apps that can register
> and handle a custom scheme will work.
>
> What do we get in return, just a slight simplification in the spec?
>
> Assuming simplification is the main driver, I think it is feasible to
> combine Web Callback and Native Application, with no penalty.
>
> Marius
>
>
>>
>> I'm not sure it's cut-and-dry that the world will never need the copy-pa=
ste
>> mechanism that Native Client flow supports, but from a usability
>> perspective, we don't plan to deploy this and instead will be relying on
>> callback techniques where ever possible.
>>
>> -cmort
>>
>> On 4/14/10 1:59 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>>
>> On Wed, Apr 14, 2010 at 7:44 AM, Luke Shepard <lshepard@facebook.com> wr=
ote:
>>> Anyone have feedback on this?
>>
>> I can see several problems with using the User-Agent flow for native
>> applications:
>>
>> 1. A verification code is much simpler to copy-and-paste (as opposed
>> to access token + refresh token + lifetime). At the extreme, the
>> verification code can be memorized and typed, this is impossible with
>> the tokens.
>>
>> 2. Not in all cases a native application can intercept a token sent
>> back to some callback URL. The native app could be a command line tool
>> on a headless server, for example. Or, the user's default browser
>> window does not show a custom title.
>>
>> 3. While it is feasible to extract a short verification code from a
>> window title, that may not be possible with a long access token (it
>> can end up truncated). Not to mention refresh token and lifetime.
>>
>> 4. Just redirecting to "about:blank#access_token=3Dblahblahblah" is not
>> reliable IMO. Try this in Firefox, nothing in the title. Same thing in
>> Chrome will show the token in the title. I think the callback must
>> render a proper HTML page with the proper <title>
>>
>> 5. Not clear that the User-Agent flow is safe enough to send back a
>> refresh token. Was that decided?
>>
>> Marius
>>
>>
>> The typical solution is for the native app to launch a browser and
>> then watch that process and look for
>>>
>>>
>>>
>>> Sorry to push - we are in the midst of implementing this on a short
>>> timeline
>>> and it's important that we have clarity about the different flows. As i=
t
>>> currently stands, I would not support the "Native Application Flow" and
>>> would instead tell desktop developers to use the "User-Agent Flow". But
>>> that
>>> is confusing and it would obviously be better if the flows were named
>>> correctly.
>>>
>>>
>>>
>>> Can someone persuade me otherwise?
>>>
>>>
>>>
>>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf =
Of
>>> Luke Shepard
>>> Sent: Tuesday, April 13, 2010 1:36 PM
>>> To: OAuth WG
>>> Subject: [OAUTH-WG] Combining the Native application and User-agent flo=
ws
>>>
>>>
>>>
>>> In the latest draft of the OAuth 2.0 spec, there are four "User
>>> Delegation"
>>> flows:
>>>
>>>
>>>
>>> 3.4.1=A0=A0 Web Callback Flow
>>>
>>> 3.4.2=A0=A0 Native Application Flow
>>>
>>> 3.4.3 =A0=A0User-Agent Flow
>>>
>>> 3.4.4=A0=A0 Device Flow
>>>
>>>
>>>
>>> The Native Application and the User-Agent flows should be combined into
>>> one
>>> flow. The combined flow works for all client-side code. This is how it =
was
>>> in David's original draft; I'd love some help understanding why it was
>>> separated again.
>>>
>>>
>>>
>>> From the draft:
>>>
>>>
>>>
>>> The native flow is intended for desktop applications where "the client =
is
>>> capable of interacting with the end user's user-agent but is incapable =
of
>>> receiving callback requests from the server (incapable of acting as an
>>> HTTP
>>> server) ... instead of using a callback to deliver the verification cod=
e
>>> to
>>> the client, the authorization server displays the verification code to =
the
>>> end user via its user-agent.=A0 If the client is able to interact with =
the
>>> user-agent, it retrieves the verification code automatically.=A0 Otherw=
ise,
>>> the end user manually enters the verification code into a client dialog=
."
>>>
>>>
>>>
>>> So the flow is:
>>>
>>>
>>>
>>> 1/ User goes to oauth/authorize endpoint.
>>>
>>> 2/ Server displays a page that says something like "We are done here" a=
nd
>>> puts a code in the title.
>>>
>>> 3/ Desktop app makes a call to exchange the code for an access token, a=
nd
>>> closes the window.
>>>
>>> 4/ App uses access token.
>>>
>>>
>>>
>>> A simpler flow, which works for Desktop as well as Javascript apps, is:
>>>
>>>
>>>
>>> 1/ User goes to oauth/authorize endpoint.
>>>
>>> 2/ Server authorizes, then redirects to the callback url .. something l=
ike
>>> about:blank#access_token=3Dblahblahblah
>>>
>>> 3/ App uses access token.
>>>
>>>
>>>
>>> At Facebook we have a lot of experience integrating with desktop apps.
>>> (i.e., Facebook for Adobe Air, Seesmic, Tweetdeck, iPhoto). In my
>>> experience, none of the desktop apps like to show a code that the user
>>> then
>>> enters into the app. Instead, apps typically receive the session (acces=
s
>>> token) directly in the response url. They can either use a URL on their
>>> domain, or a fake URL like about:blank, or an endpoint provided by
>>> Facebook
>>> (/connect/login_success.html). More info:
>>>
>>> http://wiki.developers.facebook.com/index.php/Authorization_and_Authent=
ication_for_Desktop_Applications
>>>
>>>
>>>
>>> The access token never goes over the wire (it's in the fragment even if
>>> the
>>> url is legit) and the desktop app gets a more well-formatted response.
>>>
>>>
>>>
>>> I just don't get the point of the hacky code-in-html style. Can someone
>>> point me to a place where this is in widespread use today?
>>>
>>>
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>

From mscurtescu@google.com  Wed Apr 14 17:27:04 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 3A4BA3A695E for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 17:27:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.261
X-Spam-Level: 
X-Spam-Status: No, score=-101.261 tagged_above=-999 required=5 tests=[AWL=0.716, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DTlGZ4w9+bJS for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 17:27:03 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 9285A3A6B29 for <oauth@ietf.org>; Wed, 14 Apr 2010 17:24:24 -0700 (PDT)
Received: from kpbe17.cbf.corp.google.com (kpbe17.cbf.corp.google.com [172.25.105.81]) by smtp-out.google.com with ESMTP id o3F0OCrV028672 for <oauth@ietf.org>; Thu, 15 Apr 2010 02:24:13 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271291053; bh=r1Zkv4CC6SwTuADA81ufykXmPZ0=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=OKrZsdKoqMlilXCpiX0XcTZZxp9I8NlHOXt9C+z1Q6IHrYbHZc+Qjv0fp9cU/400i e+hRPNHi9JGtrYpYTVXrg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=RdiS555F1CbpRP5NhGBLrcXyEZJPZ/H49uswhDb8Mj8ELtZdkqb9HOuvzR0zfidXM IchO8Lx2V6EeM+XtJ+4qA==
Received: from pvg11 (pvg11.prod.google.com [10.241.210.139]) by kpbe17.cbf.corp.google.com with ESMTP id o3F0OBFT003048 for <oauth@ietf.org>; Wed, 14 Apr 2010 17:24:11 -0700
Received: by pvg11 with SMTP id 11so480879pvg.28 for <oauth@ietf.org>; Wed, 14 Apr 2010 17:24:11 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Wed, 14 Apr 2010 17:23:51 -0700 (PDT)
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DBE2@SC-MBXC1.TheFacebook.com>
References: <m2k74caaad21004141359nc1465147q3d817a33bf77f868@mail.gmail.com>  <C7EB7F60.38CB%cmortimore@salesforce.com> <m2l74caaad21004141501v5b9b49a3h7d4844b3d5ea9ca9@mail.gmail.com> <2513A610118CC14C8E622C376C8DEC93D54D66DBE2@SC-MBXC1.TheFacebook.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Wed, 14 Apr 2010 17:23:51 -0700
Received: by 10.140.248.18 with SMTP id v18mr8010161rvh.295.1271291051122;  Wed, 14 Apr 2010 17:24:11 -0700 (PDT)
Message-ID: <p2w74caaad21004141723yb3340b20k42f1c271446df0c4@mail.gmail.com>
To: Luke Shepard <lshepard@facebook.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 00:27:04 -0000

On Wed, Apr 14, 2010 at 4:24 PM, Luke Shepard <lshepard@facebook.com> wrote:
>> Assuming simplification is the main driver, I think it is feasible to
>> combine Web Callback and Native Application, with no penalty.
>
> How would that work? The Web Callback flow assumes the presence of a client_secret, while the Native Application does not have a secret.

The client_secret would have to be optional then. This may be needed
anyhow to support an "unregistered" Web Callback flow.

Also, the callback URL may need to be optional, because some native
apps cannot receive a callback. The Authz Server will have to show a
page with the verification code in this case.

Marius

From mscurtescu@google.com  Wed Apr 14 17:28:26 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BA7833A6800 for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 17:28:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.902
X-Spam-Level: 
X-Spam-Status: No, score=-105.902 tagged_above=-999 required=5 tests=[AWL=0.075, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7ilvIFjkWTgC for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 17:28:25 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 6308328C176 for <oauth@ietf.org>; Wed, 14 Apr 2010 17:27:10 -0700 (PDT)
Received: from kpbe19.cbf.corp.google.com (kpbe19.cbf.corp.google.com [172.25.105.83]) by smtp-out.google.com with ESMTP id o3F0R2U2023424 for <oauth@ietf.org>; Wed, 14 Apr 2010 17:27:03 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271291223; bh=L1jEULHmlZhPNOXzutly+5IzMbc=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=xAcb6kICGxjtKZWTgbCFP48AzpNqlNdQONW/Dsg7V3C/acl4/YCf1ExFyQgV33uZM 9uHg6GBi28BUhks9lvkOA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=K/agGbOsyi5iMOLXwwfVJ9jwOS4foxDk0aQTnzaZs+OGGR7JTga8XtyjMuIvyZSgb +JBLaBWN037gDIcppr+zg==
Received: from pzk15 (pzk15.prod.google.com [10.243.19.143]) by kpbe19.cbf.corp.google.com with ESMTP id o3F0R12c018256 for <oauth@ietf.org>; Wed, 14 Apr 2010 17:27:01 -0700
Received: by pzk15 with SMTP id 15so251857pzk.15 for <oauth@ietf.org>; Wed, 14 Apr 2010 17:27:01 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Wed, 14 Apr 2010 17:26:41 -0700 (PDT)
In-Reply-To: <C7EBA6A7.2B0FC%atom@yahoo-inc.com>
References: <2513A610118CC14C8E622C376C8DEC93D54D66DBE1@SC-MBXC1.TheFacebook.com> <C7EBA6A7.2B0FC%atom@yahoo-inc.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Wed, 14 Apr 2010 17:26:41 -0700
Received: by 10.140.55.10 with SMTP id d10mr7955167rva.247.1271291221184; Wed,  14 Apr 2010 17:27:01 -0700 (PDT)
Message-ID: <j2q74caaad21004141726j487da94bh2efbcf6a156252c@mail.gmail.com>
To: Allen Tom <atom@yahoo-inc.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 00:28:26 -0000

Yes, the device flow could be made to work, but isn't the current
native app flow more secure? Why fallback to this?

My guess is that most end users will not know what to make of all that
explanation and will just click one of the next buttons. But that's
just a wild guess (or fear).

Marius



On Wed, Apr 14, 2010 at 5:06 PM, Allen Tom <atom@yahoo-inc.com> wrote:
> As a security person, I'm hesitant to bring this up, but perhaps the Device
> Flow should just be the flow for native client apps.
>
> The main security argument against the Device Flow is that users are
> vulnerable to the Oauth 1.0 Session Fixation attack, in which an attacker
> gets an Authorization URL with the user_code prefilled, and then "phishes" a
> victim to approve it.
>
> The Flickr Uploadr is a native application that uses an auth flow that's
> nearly identical to Oauth 1.0, and it does NOT use a verification code, and
> it is susceptible to the session fixation issue.
>
> http://www.flickr.com/tools/
>
> The way Flickr deals with this issue is by designing their browser UX to
> make it very clear to the user that they should only be seeing this flow if
> they were trying to authorize the Flickr Uploadr desktop app. The user
> should *not* be seeing the flow if they clicked on a link from IM, email,
> twitter, or a web page.
>
> Perhaps if we had a OAuth2 UX spec, we can standardize on best practices for
> the AS approval page for flows which don't have a verification code.
> Something similar to what Flickr is doing might be the best compromise.
>
> For reference, I've attached a screenshot of the Flickr Uploader approval
> screen.
>
> Allen
>
>

From cmortimore@salesforce.com  Wed Apr 14 21:17:56 2010
Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B292E28C179 for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 21:17:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.363
X-Spam-Level: 
X-Spam-Status: No, score=-6.363 tagged_above=-999 required=5 tests=[AWL=0.235,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id U8UaJvUMm-tg for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 21:17:53 -0700 (PDT)
Received: from exprod8og120.obsmtp.com (exprod8og120.obsmtp.com [64.18.3.40]) by core3.amsl.com (Postfix) with SMTP id E95F728C177 for <oauth@ietf.org>; Wed, 14 Apr 2010 21:17:52 -0700 (PDT)
Received: from source ([204.14.239.239]) by exprod8ob120.postini.com ([64.18.7.12]) with SMTP ID DSNKS8aTaiIFe2IT55DyYRUWtQtx46h3w6M9@postini.com; Wed, 14 Apr 2010 21:17:47 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub4.internal.salesforce.com ([10.1.127.8]) with mapi; Wed, 14 Apr 2010 21:17:46 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: Marius Scurtescu <mscurtescu@google.com>, Luke Shepard <lshepard@facebook.com>
Date: Wed, 14 Apr 2010 21:17:44 -0700
Thread-Topic: [OAUTH-WG] Combining the Native application and User-agent flows
Thread-Index: AcrcMftWKGrMWJZZQSabTwPbyUfV4AAIJ1Rv
Message-ID: <C7EBE178.3933%cmortimore@salesforce.com>
In-Reply-To: <p2w74caaad21004141723yb3340b20k42f1c271446df0c4@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7EBE1783933cmortimoresalesforcecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 04:17:57 -0000

--_000_C7EBE1783933cmortimoresalesforcecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I believe this is basically how the draft-hardt-oauth-o1 Rich App profile w=
orked.   It probably could have benefited from requiring that response para=
meters were returned behind a # fragments on callback URLs.   It also could=
 use the callback URL on the access token request, and the refresh token sh=
ould be optional, but besides that, I think it worked pretty well.   If the=
 client could handle callbacks, they could use them...if not, it gracefully=
 degraded to the native application flow.

-cmort


On 4/14/10 5:23 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

On Wed, Apr 14, 2010 at 4:24 PM, Luke Shepard <lshepard@facebook.com> wrote=
:
>> Assuming simplification is the main driver, I think it is feasible to
>> combine Web Callback and Native Application, with no penalty.
>
> How would that work? The Web Callback flow assumes the presence of a clie=
nt_secret, while the Native Application does not have a secret.

The client_secret would have to be optional then. This may be needed
anyhow to support an "unregistered" Web Callback flow.

Also, the callback URL may need to be optional, because some native
apps cannot receive a callback. The Authz Server will have to show a
page with the verification code in this case.

Marius


--_000_C7EBE1783933cmortimoresalesforcecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Combining the Native application and User-agent flows=
</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'>I believe this =
is basically how the draft-hardt-oauth-o1 Rich App profile worked. &nbsp;&n=
bsp;It probably could have benefited from requiring that response parameter=
s were returned behind a # fragments on callback URLs. &nbsp;&nbsp;It also =
could use the callback URL on the access token request, and the refresh tok=
en should be optional, but besides that, I think it worked pretty well. &nb=
sp;&nbsp;If the client could handle callbacks, they could use them...if not=
, it gracefully degraded to the native application flow.<BR>
<BR>
-cmort <BR>
<BR>
<BR>
On 4/14/10 5:23 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurtescu@=
google.com">mscurtescu@google.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-=
size:11pt'>On Wed, Apr 14, 2010 at 4:24 PM, Luke Shepard &lt;<a href=3D"lsh=
epard@facebook.com">lshepard@facebook.com</a>&gt; wrote:<BR>
&gt;&gt; Assuming simplification is the main driver, I think it is feasible=
 to<BR>
&gt;&gt; combine Web Callback and Native Application, with no penalty.<BR>
&gt;<BR>
&gt; How would that work? The Web Callback flow assumes the presence of a c=
lient_secret, while the Native Application does not have a secret.<BR>
<BR>
The client_secret would have to be optional then. This may be needed<BR>
anyhow to support an &quot;unregistered&quot; Web Callback flow.<BR>
<BR>
Also, the callback URL may need to be optional, because some native<BR>
apps cannot receive a callback. The Authz Server will have to show a<BR>
page with the verification code in this case.<BR>
<BR>
Marius<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7EBE1783933cmortimoresalesforcecom_--

From lear@cisco.com  Wed Apr 14 22:59:02 2010
Return-Path: <lear@cisco.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 65AEA3A68C4 for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 22:59:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.668
X-Spam-Level: 
X-Spam-Status: No, score=-2.668 tagged_above=-999 required=5 tests=[AWL=-2.670, BAYES_50=0.001, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id C0f3x19slNpc for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 22:59:01 -0700 (PDT)
Received: from ams-iport-2.cisco.com (ams-iport-2.cisco.com [144.254.224.141]) by core3.amsl.com (Postfix) with ESMTP id 875C03A682D for <oauth@ietf.org>; Wed, 14 Apr 2010 22:59:00 -0700 (PDT)
Authentication-Results: ams-iport-2.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AgUCAHpIxkuQ/uCWe2dsb2JhbACDE5hOFQEBCwsiBhykEIhhkT2CWoFGbgQ
X-IronPort-AV: E=Sophos;i="4.52,210,1270425600"; d="scan'208,217";a="5597773"
Received: from ams-core-1.cisco.com ([144.254.224.150]) by ams-iport-2.cisco.com with ESMTP; 15 Apr 2010 05:22:55 +0000
Received: from dhcp-10-61-104-200.cisco.com (dhcp-10-61-104-200.cisco.com [10.61.104.200]) by ams-core-1.cisco.com (8.13.8/8.14.3) with ESMTP id o3F5wnqv014363; Thu, 15 Apr 2010 05:58:49 GMT
Message-ID: <4BC6AB14.7000800@cisco.com>
Date: Thu, 15 Apr 2010 07:58:44 +0200
From: Eliot Lear <lear@cisco.com>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.4pre) Gecko/20100413 Lanikai/3.1b2pre
MIME-Version: 1.0
To: "Tschofenig, Hannes (NSN - FI/Espoo)" <hannes.tschofenig@nsn.com>
References: <3D3C75174CB95F42AD6BCC56E5555B4502712203@FIESEXC015.nsn-intra.net>
In-Reply-To: <3D3C75174CB95F42AD6BCC56E5555B4502712203@FIESEXC015.nsn-intra.net>
Content-Type: multipart/alternative; boundary="------------020507060801090309020001"
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] OAuth Interim Meeting
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 05:59:02 -0000

This is a multi-part message in MIME format.
--------------020507060801090309020001
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

  Hannes,

I haven't seen a tremendous amount of response to this meeting, but it 
seems like a good idea, even though I cannot be there in person.  I 
would ask two things:

1.  Could we have remote participation so that those of us who are 
unable to travel can join?
2.  Can you confirm that OAUTH will meet in Maastricht, and that the 
majority of attendees that confirm for the interim are also planning to 
attend?

I ask these questions because our primary F2F venue are the meetings 
that occur 3 times per year.  By aggregating those meetings it means 
that those of us that must work across multiple groups can limit the 
amount of travel we must undertake (it may seem unbelievable but at 
least some of us don't like getting on planes and being away from family 
more than we have to).

Eliot

On 4/13/10 6:08 PM, Tschofenig, Hannes (NSN - FI/Espoo) wrote:
> Hi all,
>
> This is an early warning!
>
> As mentioned at the last IETF meeting we are thinking about organizing a
> face-to-face interim meeting attached to the Internet Identity Workshop
> (see http://www.internetidentityworkshop.com/) on the 20th of May (in
> Mountain View). As a host we have tentatively identified Yahoo and this
> would be a one day workshop to discuss open issues of the OAuth 2.0.
>
> Ciao
> Hannes&  Blaine
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>


--------------020507060801090309020001
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    <font face="Times New Roman, Times, serif">Hannes,<br>
      <br>
      I haven't seen a tremendous amount of response to this meeting,
      but it seems like a good idea, even though I cannot be there in
      person.Â  I would ask two things:<br>
      <br>
      1.Â  Could we have remote participation so that those of us who are
      unable to travel can join?<br>
      2.Â  Can you confirm that OAUTH will meet in Maastricht, and that
      the majority of attendees that confirm for the interim are also
      planning to attend?<br>
      <br>
      I ask these questions because our primary F2F venue are the
      meetings that occur 3 times per year.Â  By aggregating those
      meetings it means that those of us that must work across multiple
      groups can limit the amount of travel we must undertake (it may
      seem unbelievable but at least some of us don't like getting on
      planes and being away from family more than we have to).<br>
      <br>
      Eliot</font><br>
    <br>
    On 4/13/10 6:08 PM, Tschofenig, Hannes (NSN - FI/Espoo) wrote:
    <blockquote
cite="mid:3D3C75174CB95F42AD6BCC56E5555B4502712203@FIESEXC015.nsn-intra.net"
      type="cite">
      <pre wrap="">Hi all, 

This is an early warning! 

As mentioned at the last IETF meeting we are thinking about organizing a
face-to-face interim meeting attached to the Internet Identity Workshop
(see <a class="moz-txt-link-freetext" href="http://www.internetidentityworkshop.com/">http://www.internetidentityworkshop.com/</a>) on the 20th of May (in
Mountain View). As a host we have tentatively identified Yahoo and this
would be a one day workshop to discuss open issues of the OAuth 2.0. 

Ciao
Hannes &amp; Blaine 


_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>

</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------020507060801090309020001--

From beaton@google.com  Wed Apr 14 23:43:57 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 151063A68F6 for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 23:43:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.977
X-Spam-Level: 
X-Spam-Status: No, score=-101.977 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id j2AEWnqYSoPS for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 23:43:55 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 9A18B3A680D for <oauth@ietf.org>; Wed, 14 Apr 2010 23:43:55 -0700 (PDT)
Received: from wpaz5.hot.corp.google.com (wpaz5.hot.corp.google.com [172.24.198.69]) by smtp-out.google.com with ESMTP id o3F6hieV005806 for <oauth@ietf.org>; Thu, 15 Apr 2010 08:43:44 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271313824; bh=FeFYlHykOrvhbVxf+g4KH6uDAHY=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type:Content-Transfer-Encoding; b=P5d4Szq4ur1HWjssO0O1h7dmUbjN9b8xwIMLDd6L+hViFa9dlVBeRBQz2UpCWZa5Z 6UIsCCZFQmgzyfHMZxLfg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:content-transfer-encoding:x-system-of-record; b=vypoQw2nD+/ZatduEZQIiBAA+GTaA95CxN7sdcCD6PjjWFzaH3FJkioGEtz7cJRxv /qwP9yOWNN6Q8hclXw2Yw==
Received: from vws15 (vws15.prod.google.com [10.241.21.143]) by wpaz5.hot.corp.google.com with ESMTP id o3F6hgQk005460 for <oauth@ietf.org>; Wed, 14 Apr 2010 23:43:43 -0700
Received: by vws15 with SMTP id 15so241505vws.10 for <oauth@ietf.org>; Wed, 14 Apr 2010 23:43:42 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.109.99 with HTTP; Wed, 14 Apr 2010 23:43:42 -0700 (PDT)
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DB15@SC-MBXC1.TheFacebook.com>
References: <2513A610118CC14C8E622C376C8DEC93D54D66DB15@SC-MBXC1.TheFacebook.com>
Date: Wed, 14 Apr 2010 23:43:42 -0700
Received: by 10.220.107.148 with SMTP id b20mr4808038vcp.90.1271313822591;  Wed, 14 Apr 2010 23:43:42 -0700 (PDT)
Message-ID: <k2qdaf5b9571004142343odaef208q790547ccb1ff25fa@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Luke Shepard <lshepard@facebook.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 06:43:57 -0000

On Tue, Apr 13, 2010 at 1:35 PM, Luke Shepard <lshepard@facebook.com> wrote=
:
> The Native Application and the User-Agent flows should be combined into o=
ne
> flow. The combined flow works for all client-side code. This is how it wa=
s
> in David=92s original draft; I=92d love some help understanding why it wa=
s
> separated again.

I'd like to see them separate.  I'm open to being convinced otherwise.

I've got two reasons for preferring that they be separate.

1) You can authenticate the client for user-agent flows.  You can't
for native-app flows.

You can authenticate client-side javascript by callback URL.  For
example, a token returned to http://www.example.com/javascript_widget
can be assumed to only be accessible to www.example.com.

This, in turn, let's you do interesting things policy wise: for
example, you can remember that a user has approved that js widget and
automatically give it new tokens as needed.

You can't do the same thing for native apps.  Even if they have a
callback URL, you can't know which application is going to receive
tokens issued to the callback URL.


2) User-Agent flows don't need persistent access to user data.

A JS widget doesn't need a refresh token that grants permanent access
to user data, and from a security perspective I'd prefer not to hand
out verification codes without good reasons.

A native-app, on the other hand, does need permanent access to user
data, and so does need a verification code.

Cheers,
Brian

From beaton@google.com  Wed Apr 14 23:52:25 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id F34F13A6840 for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 23:52:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.977
X-Spam-Level: 
X-Spam-Status: No, score=-101.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UbkDmZPpQEEk for <oauth@core3.amsl.com>; Wed, 14 Apr 2010 23:52:24 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id F3BAC3A67F7 for <oauth@ietf.org>; Wed, 14 Apr 2010 23:52:23 -0700 (PDT)
Received: from hpaq2.eem.corp.google.com (hpaq2.eem.corp.google.com [10.3.21.2]) by smtp-out.google.com with ESMTP id o3F6qFnR029284 for <oauth@ietf.org>; Thu, 15 Apr 2010 08:52:15 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271314335; bh=mvdQ7903dXuPEwKxxky0YEaC2/c=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=LA7fbEKgIKncXSsr98aLqVSxv3wKXM5CIRwEkEuEXgfZoECaCrwET31s/y3gRMdmA 9Evc4wZ6EoPFQ90kG30cg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=MfRQGq+mFWUt6EZxHpGRsYF0BWUoWTzwg17hYO5rwE/qQZu+9OVprLPyJz6NPTPAp fG7sCouvqGxytGalS4zEw==
Received: from vws19 (vws19.prod.google.com [10.241.21.147]) by hpaq2.eem.corp.google.com with ESMTP id o3F6qEkV030284 for <oauth@ietf.org>; Thu, 15 Apr 2010 08:52:14 +0200
Received: by vws19 with SMTP id 19so413488vws.18 for <oauth@ietf.org>; Wed, 14 Apr 2010 23:52:14 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.109.99 with HTTP; Wed, 14 Apr 2010 23:52:13 -0700 (PDT)
In-Reply-To: <C7EBA6A7.2B0FC%atom@yahoo-inc.com>
References: <2513A610118CC14C8E622C376C8DEC93D54D66DBE1@SC-MBXC1.TheFacebook.com> <C7EBA6A7.2B0FC%atom@yahoo-inc.com>
Date: Wed, 14 Apr 2010 23:52:13 -0700
Received: by 10.220.122.28 with SMTP id j28mr4954816vcr.47.1271314333896; Wed,  14 Apr 2010 23:52:13 -0700 (PDT)
Message-ID: <w2qdaf5b9571004142352pe31b9205y3eb29ec201266deb@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Allen Tom <atom@yahoo-inc.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 06:52:25 -0000

On Wed, Apr 14, 2010 at 5:06 PM, Allen Tom <atom@yahoo-inc.com> wrote:
> As a security person, I'm hesitant to bring this up, but perhaps the Device
> Flow should just be the flow for native client apps.

I'm open to this.

I'd suggest differentiating between devices that can open a web
browser (native apps), and apps that can't open a browser
(refrigerators).

For refrigerators: you need a device code that is short enough to
type.  Because the code is short, an attacker could theoretically
brute force the code and link someone else's device to the attacker's
account.   See [2] for the math on how long the attack would take.

For native apps: the native app can open a web browser with the device
code on the URL.  The code can be very long and impossible to
brute-force.  The session fixation/phishing attack still exists, but I
agree that could be addressed with good UI.

[2] http://trac.tools.ietf.org/wg/oauth/trac/attachment/wiki/SecurityConsiderations/OAuth%20WRAP%202.0%20Security%20Considerations.pdf,
last two pages have the math on the device profile.  Marius has
pointed out that the device secret completely prevents one of the
attacks I was worried about.  But brute forcing the device code is
still a risk.

Cheers,
Brian

From uidude@google.com  Thu Apr 15 00:05:20 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 156DB3A6B4E for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 00:05:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.521
X-Spam-Level: 
X-Spam-Status: No, score=-104.521 tagged_above=-999 required=5 tests=[AWL=-0.959, BAYES_40=-0.185, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id j1tBsNYpKiVv for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 00:05:19 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 02FF43A6B58 for <oauth@ietf.org>; Thu, 15 Apr 2010 00:04:50 -0700 (PDT)
Received: from hpaq1.eem.corp.google.com (hpaq1.eem.corp.google.com [10.3.21.1]) by smtp-out.google.com with ESMTP id o3F74hTk029513 for <oauth@ietf.org>; Thu, 15 Apr 2010 00:04:44 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271315084; bh=bqQpowUTp2WonxiP8YFLn++B31g=; h=MIME-Version:From:Date:Message-ID:Subject:To:Content-Type; b=hMuEGGQ0T93LMPdLTk6YGKv02x3z3cpG6lCs3s18aw/lSLhIcQbiBFEGZhbeGHbWy JH0HjCAPpc1d7SdfNApPg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:from:date:message-id:subject:to:content-type:x-system-of-record; b=ZWc2I5sfmKx4IL1K+DVr2YcxJssby9GOzqoEpIPnbujrtILOdyAfhnl94TllUq8AV F6rq2yWdKxt3VZI1AX1fg==
Received: from gwj15 (gwj15.prod.google.com [10.200.10.15]) by hpaq1.eem.corp.google.com with ESMTP id o3F74ePc027746 for <oauth@ietf.org>; Thu, 15 Apr 2010 09:04:41 +0200
Received: by gwj15 with SMTP id 15so1429831gwj.2 for <oauth@ietf.org>; Thu, 15 Apr 2010 00:04:40 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.150.179.14 with HTTP; Thu, 15 Apr 2010 00:04:18 -0700 (PDT)
From: Evan Gilbert <uidude@google.com>
Date: Thu, 15 Apr 2010 00:04:18 -0700
Received: by 10.150.131.9 with SMTP id e9mr7737736ybd.15.1271315078184; Thu,  15 Apr 2010 00:04:38 -0700 (PDT)
Message-ID: <x2kc8689b661004150004qf6665e2ftcc99fdc6b111a635@mail.gmail.com>
To: OAuth WG <oauth@ietf.org>
Content-Type: multipart/alternative; boundary=000e0cd4d328a1ff0c0484411b7c
X-System-Of-Record: true
Subject: [OAUTH-WG] Process / timeline for OAuth 2.0
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 07:05:20 -0000

--000e0cd4d328a1ff0c0484411b7c
Content-Type: text/plain; charset=ISO-8859-1

I've been participating in the OAuth 2.0 discussions, but realized I don't
know how the process is supposed to work for getting successive drafts and
getting to an agreed upon spec and if we have a rough timeline.

The "Informal Guide <http://www.ietf.org/about/process-docs.html>" didn't
help that much - wondering if someone could give a quick summary of how this
is supposed to work.

A few specific questions:
- What does it mean to have successive drafts? And if we move an issue to
the next draft, what does that practically mean?
- What is the expected timing of these drafts?
- How does the bill become a law?

Thanks,
Evan

--000e0cd4d328a1ff0c0484411b7c
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I&#39;ve been participating in the OAuth 2.0 discussions, but realized I do=
n&#39;t know how the process is supposed to work for getting successive dra=
fts and getting to an agreed upon spec and if we have a rough timeline.<div=
>

<br>The &quot;<a href=3D"http://www.ietf.org/about/process-docs.html">Infor=
mal Guide</a>&quot; didn&#39;t help that much - wondering if someone could =
give a quick summary of how this is supposed to work.</div><div><br></div>

<div>A few specific questions:<br>- What does it mean to have successive dr=
afts? And if we move an issue to the next draft, what=A0does that practical=
ly mean?</div><div>- What is the expected timing of these drafts?</div><div=
>

- How does the bill become a law?</div><div><br></div><div>Thanks,<br>Evan<=
/div>

--000e0cd4d328a1ff0c0484411b7c--

From sm@resistor.net  Thu Apr 15 01:38:51 2010
Return-Path: <sm@resistor.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id ED0143A6885 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 01:38:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.345
X-Spam-Level: 
X-Spam-Status: No, score=-1.345 tagged_above=-999 required=5 tests=[AWL=-0.605, BAYES_20=-0.74]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 42w19Qgn0Zcs for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 01:38:49 -0700 (PDT)
Received: from ns1.qubic.net (ns1.qubic.net [208.69.177.116]) by core3.amsl.com (Postfix) with ESMTP id 878BA3A68D1 for <oauth@ietf.org>; Thu, 15 Apr 2010 01:38:48 -0700 (PDT)
Received: from SUBMAN.resistor.net ([10.0.0.1]) (authenticated bits=0) by ns1.qubic.net (8.14.5.Alpha0/8.14.5.Alpha0) with ESMTP id o3F8cBU5012603 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 15 Apr 2010 01:38:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=opendkim.org; s=mail2010; t=1271320716; x=1271407116; bh=e8Cxg0MHvOyGhSst90gHrP+cHrbrfGqFZr0fs/BR6lY=; h=Message-Id:Date:To:From:Subject:Cc:In-Reply-To:References: Mime-Version:Content-Type:Cc; b=sz/0QF5c8gN00LdQbhYHLFu5o4q0jl9M+H0K6rQ18jF8W9weo0YD4e3Cn1C9LuKPA buDfJMT/Edg73AKaQfWCzUKnmBcHgtniHwmhGN8aGot3IN7sLfe4pIvcypT/4NA6ot xEcjhiuNIo6y1xEX1fowOotjOefypIomkfDhBQAA=
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=resistor.net; s=mail; t=1271320716; x=1271407116; bh=e8Cxg0MHvOyGhSst90gHrP+cHrbrfGqFZr0fs/BR6lY=; h=Message-Id:Date:To:From:Subject:Cc:In-Reply-To:References: Mime-Version:Content-Type:Cc; b=ayfwh3T1Olr4iFVClq2Nr+sv/MKzvwsQHLb/UJUvnSENHYwD/0juL5e67eHJnsHAq lT4gWZCzWOIS32aaymo56/zyHlbBnVOcK9s4PHjvNU5uS19wS7MuPX6HO7AEx//hXt IBn6jj83TqaskB+NPGjgjM3LF+BNDbU6SHWXtcPo=
DomainKey-Signature: a=rsa-sha1; s=mail; d=resistor.net; c=simple; q=dns; b=CElh6cG2FIVpiUBxiWOCBc8zFJGOX6Zas7acwVR4s/EHykxfggziA6R2MulB+osMz zhOrPLOuv2fSuNiVeuPYGoDS5EoyWhpWRklDb9OkE0FIOJYHQDFL5DcBZ/z5d557885 VWwNIIGjr/W/B8qRaNV6nBi6WkWHOS0iiboLopI=
Message-Id: <6.2.5.6.2.20100415002857.0863e6e0@resistor.net>
X-Mailer: QUALCOMM Windows Eudora Version 6.2.5.6
Date: Thu, 15 Apr 2010 01:38:00 -0700
To: OAuth WG <oauth@ietf.org>
From: SM <sm@resistor.net>
In-Reply-To: <x2kc8689b661004150004qf6665e2ftcc99fdc6b111a635@mail.gmail .com>
References: <x2kc8689b661004150004qf6665e2ftcc99fdc6b111a635@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format=flowed
Subject: Re: [OAUTH-WG] Process / timeline for OAuth 2.0
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 08:38:52 -0000

At 00:04 15-04-10, Evan Gilbert wrote:
>I've been participating in the OAuth 2.0 discussions, but realized I 
>don't know how the process is supposed to work for getting 
>successive drafts and getting to an agreed upon spec and if we have 
>a rough timeline.
>
>The "Informal Guide" didn't help that much - wondering if someone 
>could give a quick summary of how this is supposed to work.
>
>A few specific questions:
>- What does it mean to have successive drafts? And if we move an 
>issue to the next draft, what does that practically mean?

"During the development of a specification, draft versions of the 
document are made available for informal review and comment".  "At 
any time, an Internet-Draft may be replaced by a more recent version 
of the same specification".

If the current version of an Internet-Draft (I-D) does not address an 
issue and it is viewed as an issue by the Working Group (WG), the 
question might be deferred to a future version of the I-D.  There are 
no hard or fast rules.  It's a matter of style or approach.

>- What is the expected timing of these drafts?

There isn't a deadline for submitting these drafts.  It may be viewed 
as bad form to submit an updated version of the draft for each minor 
change.  The important point is to gauge whether there is consensus 
on what will become the final version of the specification.  That is 
first determined through a Working Group Last-Call.  It's a matter of 
using your judgement along the way to build consensus.  The WG Chairs 
can have consensus calls to resolve controversial issues.

>- How does the bill become a law?

Before the RFC can be published (I'm skipping some details here), it 
goes through a Working Group Last-Call and an IETF-wide Last-Call 
where the IESG asks the IETF community to comment on the 
document.  An IESG Evaluation is performed after that Last-Call to 
determine whether the document satisfies the criteria for 
publication.  A RFC is not a law.  The IETF does not enforce its 
specifications.  It's up to you to determine whether you want to 
implement what the RFC says and how you are going to do that.  It is 
better, for interoperability, if an implementation that claims 
conformance to a RFC adheres to it.

Regards,
-sm 


From pid@pidster.com  Thu Apr 15 04:50:35 2010
Return-Path: <pid@pidster.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 5A4BA3A6B83 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 04:50:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.001
X-Spam-Level: 
X-Spam-Status: No, score=0.001 tagged_above=-999 required=5 tests=[BAYES_50=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SI4qGIwUvwIS for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 04:50:34 -0700 (PDT)
Received: from mail-wy0-f172.google.com (mail-wy0-f172.google.com [74.125.82.172]) by core3.amsl.com (Postfix) with ESMTP id 117663A6939 for <oauth@ietf.org>; Thu, 15 Apr 2010 04:50:14 -0700 (PDT)
Received: by wyb35 with SMTP id 35so574326wyb.31 for <oauth@ietf.org>; Thu, 15 Apr 2010 04:50:05 -0700 (PDT)
Received: by 10.216.188.14 with SMTP id z14mr6629062wem.38.1271332205257; Thu, 15 Apr 2010 04:50:05 -0700 (PDT)
Received: from Phoenix.local (cpc2-lewi13-2-0-cust269.2-4.cable.virginmedia.com [86.14.119.14]) by mx.google.com with ESMTPS id r29sm11220778wbv.15.2010.04.15.04.50.04 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 15 Apr 2010 04:50:04 -0700 (PDT)
Message-ID: <4BC6FD62.2020203@pidster.com>
Date: Thu, 15 Apr 2010 12:49:54 +0100
From: Pid <pid@pidster.com>
Organization: Pidster Inc
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: OAuth WG <oauth@ietf.org>
X-Enigmail-Version: 1.0.1
OpenPGP: id=62590808
Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="------------enig67956334BAE399001F5394CA"
Subject: [OAUTH-WG] Standardisation of a Java API
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: pid@pidster.com
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 11:50:35 -0000

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig67956334BAE399001F5394CA
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi all,

I'm interested in working with other Java programmers to develop a
standardised API for OAuth 2.0.

I have reviewed the recent archives, but don't see anything in the way
of discussion on this topic.  If anyone can point me to a location where
it is being discussed I'd be grateful.


I think it would be good if the OAuth community was able to agree a spec
and then for implementors to have something to focus their efforts
against, instead of produced many different and incompatible libraries.

There are obviously challenges in attempting this before the v2.0 itself
is final, but perhaps the effort will inform the overall debate.


The different Java implementations of OAuth version 1.0 each have
varying features and levels of complexity.  Most implementations focus
on the client component and don't provide server components at all.
I'd like to improve on that in a Java API.

Some ideas I have include specifying that, in addition to programmatical
configuration, an implementation should allow ServiceLoader and XML
based configurations, and perhaps even an Annotation based config.


I'd like to hear from anyone who'd be interested in combining efforts,
Java programmer or not.


Cheers,


Pid


--------------enig67956334BAE399001F5394CA
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iQIVAwUBS8b9aWoM2OGpOvr9AQoBvA/9F5v7jn3FhWEvfWVp1PUcfBV9Vvj0giJY
BXE4KAIrCz6CxwgcCZpS84LYqk7KAvmLCPE047HDy8axBrIxyvLdtfF3EkGMEEdW
GBKlfWtQtB8vCpMnxUl5eQKWvEOJT/dUKnvGiSKqBit8U0hPBMfX27Q+8nQawe0x
zWdK7EsS/NmjwA3U6/v8Y/xGR5qvuLYwnaVpjduOcxaMICEqoS3TqIdjAsHJe6bs
qFNUZ/tFXgLbQZ0yM0NibkT/AaQYjjc0rdIfVqJJOP4qLufkiPH0CeKDdYlTFWWI
T83CpCtjQOvCgLvtYNPxNluXV52i4vPu4hOy4ZT6BrmULKtB5jm1mwcIgocSw/Pt
tM0V3TmBZLhIl6JAIZYS4wcgrFj1e3v0cEMsuBWvMpjZDCSeG0mOlDRoCNECPo59
n3u459Rvtcf/+BGbudrdgOITA+/wbXsfBT7DYswYzh9KY6CJIhTX9SiegtZE+wpq
THpMPkdhyv8CURJcyi48H5e5IRjKoV0w1yz5DrsbfLH0DlBDz3QnkaooOIEtr3+M
dMWAUN7JSMVxcRxRqgQanrgBkTH6zOBWrwYI77cIur28pInvy4VcZB8tn1/y5FSk
f3C44mxFZetVGm5KlLS1m9rGn/zzXuqZAV/OthGCpfOJBhRLhF3EmTn3UIfgwRa8
97p2Q24SyiE=
=kcEs
-----END PGP SIGNATURE-----

--------------enig67956334BAE399001F5394CA--

From eran@hueniverse.com  Thu Apr 15 05:15:21 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C187E28C205 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 05:15:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.141
X-Spam-Level: 
X-Spam-Status: No, score=-1.141 tagged_above=-999 required=5 tests=[AWL=-1.142, BAYES_50=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rRMQt1TBQxFG for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 05:15:20 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 54AA628C1E7 for <oauth@ietf.org>; Thu, 15 Apr 2010 05:12:47 -0700 (PDT)
Received: (qmail 2153 invoked from network); 15 Apr 2010 12:12:40 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 15 Apr 2010 12:12:40 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Thu, 15 Apr 2010 05:12:40 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Evan Gilbert <uidude@google.com>, OAuth WG <oauth@ietf.org>
Date: Thu, 15 Apr 2010 05:12:38 -0700
Thread-Topic: [OAUTH-WG] Process / timeline for OAuth 2.0
Thread-Index: AcrcamzOPYLE68+eTUCeeA4bFPNHswAKoOZy
Message-ID: <C7EC50C6.322E1%eran@hueniverse.com>
In-Reply-To: <x2kc8689b661004150004qf6665e2ftcc99fdc6b111a635@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Process / timeline for OAuth 2.0
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 12:15:21 -0000

On 4/15/10 12:04 AM, "Evan Gilbert" <uidude@google.com> wrote:

> - What does it mean to have successive drafts? And if we move an issue to=
 the
> next draft, what=A0does that practically mean?
> - How does the bill become a law?

Drafts are numbered but not versioned and they are not reference-able. They
expire after 6 month of publication and cannot be used as normative
references from other specifications. So in practice the latest draft is
simply a representation of where the working group is in terms of progress.

When the WG is done, it issues a last call to see if anyone in the WG still
has open issues. You can have multiple last calls if a last calls demands
significant changes.

Once the working group is satisfied with its draft, it goes to an IETF last
call with the same process but with feedback coming from the entire
community and sent back to the WG to be worked out.

As any given time, the WG does not have to accommodate feedback but should
account for it (reply and explain why). The IETF last call includes officia=
l
review from other areas such as the security area. These reviews must be
addressed (in the same manner though).

When the document passed through both last calls, it goes to the IESG which
is the IETF governing body consisted of the area directors and the IESG
chair. The IESG votes on the draft to approve or discuss it. There is no
'No' vote in the IESG (you need 10 yes/abstain votes and no requests to
discuss the draft for approval).

IESG discussion can take a while until all the area directors are satisfied=
.
At that point the document is done and can be referenced, but can take
months to be published as an RFC. The process doesn't end there but the vas=
t
majority of people treat the RFC as a standard (it is actually just a
proposed standard) and ignore the rest.

> - What is the expected timing of these drafts?

Like any standards process it takes as long as it takes. OAuth 1.0 took
about a year without becoming a standard. Once the WG is done, it should
take about 3-6 months for IESG approval and another 3-6 months for RFC
publication.

BUT -=20

Companies can implement the drafts for beta or experimental purposes and
keep them up to date as much as possible. Once the WG draft is done,
companies can ship it with the expectation that it can still change but wit=
h
a general timeline of about 6 months to a year. The primary reason for
changes after WG LC are security requirements.

As for the WG timing, it is hard to say because we still have a long list o=
f
open issues. The biggest reasons for WG slowness are busy editors and laid
back chairs. I don't think editorial work is going to slow the WG, but when
it comes to closing issues, we rely on the chairs to make consensus calls
and close open issues when the WG is stuck.

That said, I think the current draft is close to what OAuth 2.0 should look
like and the list of issues has remained about the same for the past month.

EHL








From eran@hueniverse.com  Thu Apr 15 05:33:05 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A844328C21A for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 05:33:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.422
X-Spam-Level: 
X-Spam-Status: No, score=-2.422 tagged_above=-999 required=5 tests=[AWL=0.177,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wTerI+74eBum for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 05:33:05 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id A54AE28C307 for <oauth@ietf.org>; Thu, 15 Apr 2010 05:27:28 -0700 (PDT)
Received: (qmail 5921 invoked from network); 15 Apr 2010 12:27:22 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 15 Apr 2010 12:27:22 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Thu, 15 Apr 2010 05:27:22 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Eliot Lear <lear@cisco.com>, Hannes Tschofenig <hannes.tschofenig@nsn.com>
Date: Thu, 15 Apr 2010 05:27:20 -0700
Thread-Topic: [OAUTH-WG] OAuth Interim Meeting
Thread-Index: AcrcYL42jdpGgjVGT4e7hv7ApBOXkgANj/lT
Message-ID: <C7EC5438.322E9%eran@hueniverse.com>
In-Reply-To: <4BC6AB14.7000800@cisco.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] OAuth Interim Meeting
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 12:33:05 -0000

On 4/14/10 10:58 PM, "Eliot Lear" <lear@cisco.com> wrote:

>  1.=A0 Could we have remote participation so that those of us who are una=
ble to
> travel can join?

Setting up a jabber room is trivial. An audio channel is harder but we can
try.

>  2.=A0 Can you confirm that OAUTH will meet in Maastricht, and that the m=
ajority
> of attendees that confirm for the interim are also planning to attend?

Regardless of this meeting I am not planning to attend Maastricht.

EHL


From eran@hueniverse.com  Thu Apr 15 05:41:23 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D21C328C247 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 05:41:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.424
X-Spam-Level: 
X-Spam-Status: No, score=-2.424 tagged_above=-999 required=5 tests=[AWL=0.174,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dWRt0+nXXNOe for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 05:41:20 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id DDE5528C262 for <oauth@ietf.org>; Thu, 15 Apr 2010 05:37:10 -0700 (PDT)
Received: (qmail 8725 invoked from network); 15 Apr 2010 12:37:04 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 15 Apr 2010 12:37:04 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Thu, 15 Apr 2010 05:37:04 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Naitik Shah <naitik@facebook.com>, OAuth WG <oauth@ietf.org>
Date: Thu, 15 Apr 2010 05:37:02 -0700
Thread-Topic: [OAUTH-WG] Rename callback => callback_uri
Thread-Index: AcrY5QgYzwsqKHvhTbuKpWjgY2XeCgDs1Dqn
Message-ID: <C7EC567E.322EE%eran@hueniverse.com>
In-Reply-To: <9C30AE64-7DB8-4B6B-879B-61CB71BF74BB@facebook.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7EC567E322EEeranhueniversecom_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Rename callback => callback_uri
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 12:41:24 -0000

--_000_C7EC567E322EEeranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I don't think it is that confusing. Its a completely different context from=
 where JSON-P is used (note that in the User-Agent flow it is called someth=
ing else).

EHL


On 4/10/10 12:35 PM, "Naitik Shah" <naitik@facebook.com> wrote:

With the simplified params, the callback url parameter is now just "callbac=
k". Since most major API providers already use "callback" to signify JSON-P=
 callback, can we rename this to "callback_uri"? This will help avoid colli=
sions and confusion.


-Naitik
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


--_000_C7EC567E322EEeranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Rename callback =3D&gt; callback_uri</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>I don&#8217;t think it is that confusing. Its a completely different =
context from where JSON-P is used (note that in the User-Agent flow it is c=
alled something else).<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/10/10 12:35 PM, &quot;Naitik Shah&quot; &lt;<a href=3D"naitik@facebook=
.com">naitik@facebook.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>With the simplified params, the callback ur=
l parameter is now just &quot;callback&quot;. Since most major API provider=
s already use &quot;callback&quot; to signify JSON-P callback, can we renam=
e this to &quot;callback_uri&quot;? This will help avoid collisions and con=
fusion.<BR>
<BR>
<BR>
-Naitik<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7EC567E322EEeranhueniversecom_--

From eran@hueniverse.com  Thu Apr 15 05:55:48 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2B6763A6948 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 05:55:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.428
X-Spam-Level: 
X-Spam-Status: No, score=-2.428 tagged_above=-999 required=5 tests=[AWL=0.171,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KXcdtswrRL1p for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 05:55:47 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 6936328C1C0 for <oauth@ietf.org>; Thu, 15 Apr 2010 05:52:42 -0700 (PDT)
Received: (qmail 13757 invoked from network); 15 Apr 2010 12:52:35 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 15 Apr 2010 12:52:35 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Thu, 15 Apr 2010 05:52:35 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>, Luke Shepard <lshepard@facebook.com>
Date: Thu, 15 Apr 2010 05:52:33 -0700
Thread-Topic: [OAUTH-WG] Combining the Native application and User-agent flows
Thread-Index: AcrcMl6ub8cHtAmJQaux7YGqAwgZAgAaCVDF
Message-ID: <C7EC5A21.322F4%eran@hueniverse.com>
In-Reply-To: <p2w74caaad21004141723yb3340b20k42f1c271446df0c4@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 12:55:48 -0000

On 4/14/10 5:23 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

> The client_secret would have to be optional then. This may be needed
> anyhow to support an "unregistered" Web Callback flow.
>=20
> Also, the callback URL may need to be optional, because some native
> apps cannot receive a callback. The Authz Server will have to show a
> page with the verification code in this case.

At some point all these optional parameters make the flow useless because i=
t
loses all interop value. It becomes a developer guide instead of a spec.

Unregistered clients should be solved by other means than just making the
secret parameter optional (i.e. Issue an anonymous client identifier and
fixed of blank secret). The secret value can be empty anyway (there is no
text requiring it to be something other than an empty string).

The callback URI is optional already if it was established via other means,
but the server MUST be able to accept this parameter (allowing the client t=
o
drop it as a special case doesn't hurt interop).

EHL


From eran@hueniverse.com  Thu Apr 15 05:57:32 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0D0EE28C24B for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 05:57:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.43
X-Spam-Level: 
X-Spam-Status: No, score=-2.43 tagged_above=-999 required=5 tests=[AWL=0.168,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3sQ7Arf6iv7t for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 05:57:30 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id E907A28C200 for <oauth@ietf.org>; Thu, 15 Apr 2010 05:55:20 -0700 (PDT)
Received: (qmail 18278 invoked from network); 15 Apr 2010 12:55:14 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 15 Apr 2010 12:55:14 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Thu, 15 Apr 2010 05:55:14 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Chuck Mortimore <cmortimore@salesforce.com>, Marius Scurtescu <mscurtescu@google.com>, Luke Shepard <lshepard@facebook.com>
Date: Thu, 15 Apr 2010 05:55:11 -0700
Thread-Topic: [OAUTH-WG] Combining the Native application and User-agent flows
Thread-Index: AcrcMftWKGrMWJZZQSabTwPbyUfV4AAIJ1RvABISXfg=
Message-ID: <C7EC5ABF.322F5%eran@hueniverse.com>
In-Reply-To: <C7EBE178.3933%cmortimore@salesforce.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7EC5ABF322F5eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 12:57:32 -0000

--_000_C7EC5ABF322F5eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I worked off that text and the main issue with it is that it is just a deve=
loper guide, not a spec. Every implementation can be completely different. =
The proposed text is basically making some choices.

EHL


On 4/14/10 9:17 PM, "Chuck Mortimore" <cmortimore@salesforce.com> wrote:

I believe this is basically how the draft-hardt-oauth-o1 Rich App profile w=
orked.   It probably could have benefited from requiring that response para=
meters were returned behind a # fragments on callback URLs.   It also could=
 use the callback URL on the access token request, and the refresh token sh=
ould be optional, but besides that, I think it worked pretty well.   If the=
 client could handle callbacks, they could use them...if not, it gracefully=
 degraded to the native application flow.

-cmort


On 4/14/10 5:23 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

On Wed, Apr 14, 2010 at 4:24 PM, Luke Shepard <lshepard@facebook.com> wrote=
:
>> Assuming simplification is the main driver, I think it is feasible to
>> combine Web Callback and Native Application, with no penalty.
>
> How would that work? The Web Callback flow assumes the presence of a clie=
nt_secret, while the Native Application does not have a secret.

The client_secret would have to be optional then. This may be needed
anyhow to support an "unregistered" Web Callback flow.

Also, the callback URL may need to be optional, because some native
apps cannot receive a callback. The Authz Server will have to show a
page with the verification code in this case.

Marius



--_000_C7EC5ABF322F5eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Combining the Native application and User-agent flows=
</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>I worked off that text and the main issue with it is that it is just =
a developer guide, not a spec. Every implementation can be completely diffe=
rent. The proposed text is basically making some choices.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/14/10 9:17 PM, &quot;Chuck Mortimore&quot; &lt;<a href=3D"cmortimore@s=
alesforce.com">cmortimore@salesforce.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Luci=
da Grande">I believe this is basically how the draft-hardt-oauth-o1 Rich Ap=
p profile worked. &nbsp;&nbsp;It probably could have benefited from requiri=
ng that response parameters were returned behind a # fragments on callback =
URLs. &nbsp;&nbsp;It also could use the callback URL on the access token re=
quest, and the refresh token should be optional, but besides that, I think =
it worked pretty well. &nbsp;&nbsp;If the client could handle callbacks, th=
ey could use them...if not, it gracefully degraded to the native applicatio=
n flow.<BR>
<BR>
-cmort <BR>
<BR>
<BR>
On 4/14/10 5:23 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurtescu@=
google.com">mscurtescu@google.com</a>&gt; wrote:<BR>
<BR>
</FONT></SPAN><BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Luci=
da Grande">On Wed, Apr 14, 2010 at 4:24 PM, Luke Shepard &lt;<a href=3D"lsh=
epard@facebook.com">lshepard@facebook.com</a>&gt; wrote:<BR>
&gt;&gt; Assuming simplification is the main driver, I think it is feasible=
 to<BR>
&gt;&gt; combine Web Callback and Native Application, with no penalty.<BR>
&gt;<BR>
&gt; How would that work? The Web Callback flow assumes the presence of a c=
lient_secret, while the Native Application does not have a secret.<BR>
<BR>
The client_secret would have to be optional then. This may be needed<BR>
anyhow to support an &quot;unregistered&quot; Web Callback flow.<BR>
<BR>
Also, the callback URL may need to be optional, because some native<BR>
apps cannot receive a callback. The Authz Server will have to show a<BR>
page with the verification code in this case.<BR>
<BR>
Marius<BR>
<BR>
</FONT></SPAN></BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Cal=
ibri, Verdana, Helvetica, Arial"><BR>
</FONT></SPAN></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7EC5ABF322F5eranhueniversecom_--

From mark.mcgloin@ie.ibm.com  Thu Apr 15 06:53:45 2010
Return-Path: <mark.mcgloin@ie.ibm.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 877353A692D; Thu, 15 Apr 2010 06:53:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.74
X-Spam-Level: 
X-Spam-Status: No, score=-0.74 tagged_above=-999 required=5 tests=[BAYES_20=-0.74]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sjAnd2DgcFDC; Thu, 15 Apr 2010 06:53:44 -0700 (PDT)
Received: from mtagate7.uk.ibm.com (mtagate7.uk.ibm.com [194.196.100.167]) by core3.amsl.com (Postfix) with ESMTP id 1EB2428C18F; Thu, 15 Apr 2010 06:53:42 -0700 (PDT)
Received: from d06nrmr1707.portsmouth.uk.ibm.com (d06nrmr1707.portsmouth.uk.ibm.com [9.149.39.225]) by mtagate7.uk.ibm.com (8.13.1/8.13.1) with ESMTP id o3FDrYiv026178; Thu, 15 Apr 2010 13:53:34 GMT
Received: from d06av04.portsmouth.uk.ibm.com (d06av04.portsmouth.uk.ibm.com [9.149.37.216]) by d06nrmr1707.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id o3FDrXxD1519814; Thu, 15 Apr 2010 14:53:33 +0100
Received: from d06av04.portsmouth.uk.ibm.com (loopback [127.0.0.1]) by d06av04.portsmouth.uk.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id o3FDrXit010780; Thu, 15 Apr 2010 14:53:33 +0100
Received: from d06ml901.portsmouth.uk.ibm.com (d06ml901.portsmouth.uk.ibm.com [9.149.39.138]) by d06av04.portsmouth.uk.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id o3FDrXjn010775; Thu, 15 Apr 2010 14:53:33 +0100
In-Reply-To: <w2qdaf5b9571004142352pe31b9205y3eb29ec201266deb@mail.gmail.com>
To: Brian Eaton <beaton@google.com>
X-Mailer: Lotus Notes Release 7.0 HF400 February 20, 2008
Message-ID: <OF6648D434.8A78494C-ON80257706.004BA5B8-80257706.004C4F45@ie.ibm.com>
From: Mark Mcgloin <mark.mcgloin@ie.ibm.com>
Date: Thu, 15 Apr 2010 14:53:31 +0100
X-MIMETrack: Serialize by Router on D06ML901/06/M/IBM(Release 8.0.2FP2|June 22, 2009) at 15/04/2010 14:53:32
MIME-Version: 1.0
Content-type: text/plain; charset=US-ASCII
Cc: OAuth WG <oauth@ietf.org>, oauth-bounces@ietf.org
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 13:53:45 -0000

> On 15/04/2010 07:52, Brian Eaton <beaton@google.com> wrote:

>> As a security person, I'm hesitant to bring this up, but perhaps the
Device
>> Flow should just be the flow for native client apps.

>I'm open to this.

>For native apps: the native app can open a web browser with the device
>code on the URL.  The code can be very long and impossible to
>brute-force.  The session fixation/phishing attack still exists, but I
>agree that could be addressed with good UI.

What is the benefit in combining Native flow and Device flow and then
having to expend effort preventing any ingenious phishing attacks?

Mark McGloin



From uidude@google.com  Thu Apr 15 08:56:18 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DC5A73A6767 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 08:56:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.703
X-Spam-Level: 
X-Spam-Status: No, score=-104.703 tagged_above=-999 required=5 tests=[AWL=-0.586, BAYES_20=-0.74, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MvxAxgAttVlD for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 08:56:17 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id F41013A692E for <oauth@ietf.org>; Thu, 15 Apr 2010 08:56:15 -0700 (PDT)
Received: from wpaz33.hot.corp.google.com (wpaz33.hot.corp.google.com [172.24.198.97]) by smtp-out.google.com with ESMTP id o3FFu8D2014352 for <oauth@ietf.org>; Thu, 15 Apr 2010 08:56:08 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271346969; bh=ZofRUtDGoGad7X2l0JUp2oLHIsE=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=qAHJDCCPFnzwrRDyGIOjey77SFM8Ki/IoK1gZZwySIgEYtD9V5c5VYOoJnRs4V6g6 uRiaI3GwA8umJLanamj1Q==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=CP5BUpJpZxti7hIZyhKwHcVJGoyZgwVGHuRk0t6tdyQa3uQzN4Q9JdvbRZFsdYN7d OOTOBYTnH3XpB5DYTFCqw==
Received: from qw-out-1920.google.com (qwc5.prod.google.com [10.241.193.133]) by wpaz33.hot.corp.google.com with ESMTP id o3FFu7YN024177 for <oauth@ietf.org>; Thu, 15 Apr 2010 08:56:07 -0700
Received: by qw-out-1920.google.com with SMTP id 5so469173qwc.18 for <oauth@ietf.org>; Thu, 15 Apr 2010 08:56:07 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.131 with HTTP; Thu, 15 Apr 2010 08:55:29 -0700 (PDT)
In-Reply-To: <C7EC50C6.322E1%eran@hueniverse.com>
References: <x2kc8689b661004150004qf6665e2ftcc99fdc6b111a635@mail.gmail.com>  <C7EC50C6.322E1%eran@hueniverse.com>
From: Evan Gilbert <uidude@google.com>
Date: Thu, 15 Apr 2010 08:55:29 -0700
Received: by 10.229.10.132 with SMTP id p4mr127832qcp.86.1271346967527; Thu,  15 Apr 2010 08:56:07 -0700 (PDT)
Message-ID: <o2kc8689b661004150855sc68a096ai3ed3aa1779e1175@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, SM <sm@resistor.net>
Content-Type: multipart/alternative; boundary=0015175771ca62c861048448886c
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Process / timeline for OAuth 2.0
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 15:56:19 -0000

--0015175771ca62c861048448886c
Content-Type: text/plain; charset=ISO-8859-1

Thanks for the responses - they were very helpful.

On Thu, Apr 15, 2010 at 5:12 AM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

>
>
>
> On 4/15/10 12:04 AM, "Evan Gilbert" <uidude@google.com> wrote:
>
> > - What does it mean to have successive drafts? And if we move an issue to
> the
> > next draft, what does that practically mean?
> > - How does the bill become a law?
>
> Drafts are numbered but not versioned and they are not reference-able. They
> expire after 6 month of publication and cannot be used as normative
> references from other specifications. So in practice the latest draft is
> simply a representation of where the working group is in terms of progress.
>
> When the WG is done, it issues a last call to see if anyone in the WG still
> has open issues. You can have multiple last calls if a last calls demands
> significant changes.
>
> Once the working group is satisfied with its draft, it goes to an IETF last
> call with the same process but with feedback coming from the entire
> community and sent back to the WG to be worked out.
>
> As any given time, the WG does not have to accommodate feedback but should
> account for it (reply and explain why). The IETF last call includes
> official
> review from other areas such as the security area. These reviews must be
> addressed (in the same manner though).
>
> When the document passed through both last calls, it goes to the IESG which
> is the IETF governing body consisted of the area directors and the IESG
> chair. The IESG votes on the draft to approve or discuss it. There is no
> 'No' vote in the IESG (you need 10 yes/abstain votes and no requests to
> discuss the draft for approval).
>
> IESG discussion can take a while until all the area directors are
> satisfied.
> At that point the document is done and can be referenced, but can take
> months to be published as an RFC. The process doesn't end there but the
> vast
> majority of people treat the RFC as a standard (it is actually just a
> proposed standard) and ignore the rest.
>
> > - What is the expected timing of these drafts?
>
> Like any standards process it takes as long as it takes. OAuth 1.0 took
> about a year without becoming a standard. Once the WG is done, it should
> take about 3-6 months for IESG approval and another 3-6 months for RFC
> publication.
>
> BUT -
>
> Companies can implement the drafts for beta or experimental purposes and
> keep them up to date as much as possible. Once the WG draft is done,
> companies can ship it with the expectation that it can still change but
> with
> a general timeline of about 6 months to a year. The primary reason for
> changes after WG LC are security requirements.
>
> As for the WG timing, it is hard to say because we still have a long list
> of
> open issues. The biggest reasons for WG slowness are busy editors and laid
> back chairs. I don't think editorial work is going to slow the WG, but when
> it comes to closing issues, we rely on the chairs to make consensus calls
> and close open issues when the WG is stuck.
>
> That said, I think the current draft is close to what OAuth 2.0 should look
> like and the list of issues has remained about the same for the past month.
>
> EHL
>
>
>
>
>
>
>
>

--0015175771ca62c861048448886c
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Thanks for the responses - they were very helpful.<br><br><div class=3D"gma=
il_quote">On Thu, Apr 15, 2010 at 5:12 AM, Eran Hammer-Lahav <span dir=3D"l=
tr">&lt;<a href=3D"mailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt;<=
/span> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;"><div class=3D"im"><br>
<br>
<br>
On 4/15/10 12:04 AM, &quot;Evan Gilbert&quot; &lt;<a href=3D"mailto:uidude@=
google.com">uidude@google.com</a>&gt; wrote:<br>
<br>
&gt; - What does it mean to have successive drafts? And if we move an issue=
 to the<br>
&gt; next draft, what=A0does that practically mean?<br>
</div><div class=3D"im">&gt; - How does the bill become a law?<br>
<br>
</div>Drafts are numbered but not versioned and they are not reference-able=
. They<br>
expire after 6 month of publication and cannot be used as normative<br>
references from other specifications. So in practice the latest draft is<br=
>
simply a representation of where the working group is in terms of progress.=
<br>
<br>
When the WG is done, it issues a last call to see if anyone in the WG still=
<br>
has open issues. You can have multiple last calls if a last calls demands<b=
r>
significant changes.<br>
<br>
Once the working group is satisfied with its draft, it goes to an IETF last=
<br>
call with the same process but with feedback coming from the entire<br>
community and sent back to the WG to be worked out.<br>
<br>
As any given time, the WG does not have to accommodate feedback but should<=
br>
account for it (reply and explain why). The IETF last call includes officia=
l<br>
review from other areas such as the security area. These reviews must be<br=
>
addressed (in the same manner though).<br>
<br>
When the document passed through both last calls, it goes to the IESG which=
<br>
is the IETF governing body consisted of the area directors and the IESG<br>
chair. The IESG votes on the draft to approve or discuss it. There is no<br=
>
&#39;No&#39; vote in the IESG (you need 10 yes/abstain votes and no request=
s to<br>
discuss the draft for approval).<br>
<br>
IESG discussion can take a while until all the area directors are satisfied=
.<br>
At that point the document is done and can be referenced, but can take<br>
months to be published as an RFC. The process doesn&#39;t end there but the=
 vast<br>
majority of people treat the RFC as a standard (it is actually just a<br>
proposed standard) and ignore the rest.<br>
<div class=3D"im"><br>
&gt; - What is the expected timing of these drafts?<br>
<br>
</div>Like any standards process it takes as long as it takes. OAuth 1.0 to=
ok<br>
about a year without becoming a standard. Once the WG is done, it should<br=
>
take about 3-6 months for IESG approval and another 3-6 months for RFC<br>
publication.<br>
<br>
BUT -<br>
<br>
Companies can implement the drafts for beta or experimental purposes and<br=
>
keep them up to date as much as possible. Once the WG draft is done,<br>
companies can ship it with the expectation that it can still change but wit=
h<br>
a general timeline of about 6 months to a year. The primary reason for<br>
changes after WG LC are security requirements.<br>
<br>
As for the WG timing, it is hard to say because we still have a long list o=
f<br>
open issues. The biggest reasons for WG slowness are busy editors and laid<=
br>
back chairs. I don&#39;t think editorial work is going to slow the WG, but =
when<br>
it comes to closing issues, we rely on the chairs to make consensus calls<b=
r>
and close open issues when the WG is stuck.<br>
<br>
That said, I think the current draft is close to what OAuth 2.0 should look=
<br>
like and the list of issues has remained about the same for the past month.=
<br>
<font color=3D"#888888"><br>
EHL<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</font></blockquote></div><br>

--0015175771ca62c861048448886c--

From mscurtescu@google.com  Thu Apr 15 10:16:25 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A258428C1D5 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 10:16:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.38
X-Spam-Level: 
X-Spam-Status: No, score=-101.38 tagged_above=-999 required=5 tests=[AWL=0.597, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fj6N2VvWvS38 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 10:16:25 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 5060A28C255 for <oauth@ietf.org>; Thu, 15 Apr 2010 10:16:18 -0700 (PDT)
Received: from wpaz33.hot.corp.google.com (wpaz33.hot.corp.google.com [172.24.198.97]) by smtp-out.google.com with ESMTP id o3FHG4qZ005647 for <oauth@ietf.org>; Thu, 15 Apr 2010 19:16:06 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271351767; bh=z7piP8soHw27CpqnPH+0gUJtlI0=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=PXVx8r+NoJt77aH2iiAjuAopWdbfWT9j7542IHLvQMVl0nL4x0/2NsFE1MDoHe9cQ BWrjVU01GMIOU+0kBzmpA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=jQ/YpEp4sRp2US+yEQnVlvnD8kkw/S3VKyLkRy4oOAN6pk4AS699znYVQvXWeYywo mGMfM1Qnm9x0w6yuiMkoQ==
Received: from pzk11 (pzk11.prod.google.com [10.243.19.139]) by wpaz33.hot.corp.google.com with ESMTP id o3FHFsHa030603 for <oauth@ietf.org>; Thu, 15 Apr 2010 10:16:03 -0700
Received: by pzk11 with SMTP id 11so1414972pzk.28 for <oauth@ietf.org>; Thu, 15 Apr 2010 10:16:03 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Thu, 15 Apr 2010 10:15:43 -0700 (PDT)
In-Reply-To: <OF6648D434.8A78494C-ON80257706.004BA5B8-80257706.004C4F45@ie.ibm.com>
References: <w2qdaf5b9571004142352pe31b9205y3eb29ec201266deb@mail.gmail.com>  <OF6648D434.8A78494C-ON80257706.004BA5B8-80257706.004C4F45@ie.ibm.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 15 Apr 2010 10:15:43 -0700
Received: by 10.141.124.10 with SMTP id b10mr669062rvn.176.1271351763225; Thu,  15 Apr 2010 10:16:03 -0700 (PDT)
Message-ID: <t2l74caaad21004151015u6df682d1u89ef34f2586119c8@mail.gmail.com>
To: Mark Mcgloin <mark.mcgloin@ie.ibm.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 17:16:25 -0000

On Thu, Apr 15, 2010 at 6:53 AM, Mark Mcgloin <mark.mcgloin@ie.ibm.com> wro=
te:
>> On 15/04/2010 07:52, Brian Eaton <beaton@google.com> wrote:
>
>>> As a security person, I'm hesitant to bring this up, but perhaps the
> Device
>>> Flow should just be the flow for native client apps.
>
>>I'm open to this.
>
>>For native apps: the native app can open a web browser with the device
>>code on the URL. =A0The code can be very long and impossible to
>>brute-force. =A0The session fixation/phishing attack still exists, but I
>>agree that could be addressed with good UI.
>
> What is the benefit in combining Native flow and Device flow and then
> having to expend effort preventing any ingenious phishing attacks?

The main issue with the Native flow is how is the client getting hold
of the verification code. There are several solutions for that
(embedded browser, custom scheme and handler app, launching browser
process and checking window title), but all are hackish.

The Device flow relies on the client polling the authz server and
retrieving the tokens directly. This closes the loop nicely.

Marius

From eran@hueniverse.com  Thu Apr 15 10:31:31 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 5E9F13A6895 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 10:31:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.433
X-Spam-Level: 
X-Spam-Status: No, score=-2.433 tagged_above=-999 required=5 tests=[AWL=0.166,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nYCJumnL3J1H for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 10:31:30 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 572693A683B for <oauth@ietf.org>; Thu, 15 Apr 2010 10:31:30 -0700 (PDT)
Received: (qmail 18051 invoked from network); 15 Apr 2010 17:31:23 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 15 Apr 2010 17:31:23 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Thu, 15 Apr 2010 10:31:04 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: OAuth WG <oauth@ietf.org>
Date: Thu, 15 Apr 2010 10:31:01 -0700
Thread-Topic: Shorter authorization endpoint type names
Thread-Index: AcrcwWqsEzlKibggF0uXxOOXsWWOww==
Message-ID: <C7EC9B65.32320%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: [OAUTH-WG] Shorter authorization endpoint type names
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 17:31:31 -0000

I renamed the values of the 'type' parameter as follows:

WC-A: web_callback_access_request
WC-T: web_callback_token_request
NA-A: native_app_access_request
NA-T: native_app_token_request
UA-A: user_agent_request
DV-A: device_access_request
DV-T: device_token_request
UP-T: username_password_request
CC-T: client_cred_request
AS-T: assertion_request

R-T: refresh_token


EHL


From cmortimore@salesforce.com  Thu Apr 15 10:36:19 2010
Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 039AA3A66B4 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 10:36:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.392
X-Spam-Level: 
X-Spam-Status: No, score=-6.392 tagged_above=-999 required=5 tests=[AWL=0.206,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OYi29RdSoqYU for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 10:36:17 -0700 (PDT)
Received: from exprod8og105.obsmtp.com (exprod8og105.obsmtp.com [64.18.3.90]) by core3.amsl.com (Postfix) with SMTP id E44CE3A6781 for <oauth@ietf.org>; Thu, 15 Apr 2010 10:36:16 -0700 (PDT)
Received: from source ([204.14.239.238]) by exprod8ob105.postini.com ([64.18.7.12]) with SMTP ID DSNKS8dOijQm/wn6fLe93r73eCab+aF6UhnS@postini.com; Thu, 15 Apr 2010 10:36:10 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub3.internal.salesforce.com ([10.1.127.7]) with mapi; Thu, 15 Apr 2010 10:36:09 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: "oauth@ietf.org" <oauth@ietf.org>
Date: Thu, 15 Apr 2010 10:36:08 -0700
Thread-Topic: Twitter @anywhere
Thread-Index: AcrcwiGpwXCjuRL7C0SfI2FETjxP6g==
Message-ID: <C7EC9C98.3997%cmortimore@salesforce.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7EC9C983997cmortimoresalesforcecom_"
MIME-Version: 1.0
Subject: [OAUTH-WG] Twitter @anywhere
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 17:36:19 -0000

--_000_C7EC9C983997cmortimoresalesforcecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Side note to the standards process, but I thought people would be intereste=
d....the new Twitter @anywhere framework seems to be an early variant of th=
e User-Agent flow:

https://oauth.twitter.com/2/authorize?oauth_callback_url=3Dhttp%3A%2F%2Fthe=
oddbit.com%2Fatanywhere%2F&oauth_mode=3Dflow_web_client&headless=3Dtrue&_=
=3D1271352572&oauth_client_identifier=3DvW5ZWIoAwWqRllQpJF

-cmort

--_000_C7EC9C983997cmortimoresalesforcecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Twitter @anywhere</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'>Side note to th=
e standards process, but I thought people would be interested....the new Tw=
itter @anywhere framework seems to be an early variant of the User-Agent fl=
ow:<BR>
<BR>
<a href=3D"https://oauth.twitter.com/2/authorize?oauth_callback_url=3Dhttp%=
3A%2F%2Ftheoddbit.com%2Fatanywhere%2F&amp;oauth_mode=3Dflow_web_client&amp;=
headless=3Dtrue&amp;_=3D1271352572&amp;oauth_client_identifier=3DvW5ZWIoAwW=
qRllQpJF">https://oauth.twitter.com/2/authorize?oauth_callback_url=3Dhttp%3=
A%2F%2Ftheoddbit.com%2Fatanywhere%2F&amp;oauth_mode=3Dflow_web_client&amp;h=
eadless=3Dtrue&amp;_=3D1271352572&amp;oauth_client_identifier=3DvW5ZWIoAwWq=
RllQpJF</a><BR>
<BR>
-cmort</SPAN></FONT>
</BODY>
</HTML>


--_000_C7EC9C983997cmortimoresalesforcecom_--

From eran@hueniverse.com  Thu Apr 15 10:47:44 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id F3D623A6B9D for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 10:47:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.308
X-Spam-Level: 
X-Spam-Status: No, score=-2.308 tagged_above=-999 required=5 tests=[AWL=0.036,  BAYES_00=-2.599, FU_ENDS_2_WRDS=0.255]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PL9OrmztMhoT for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 10:47:42 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id C54033A6895 for <oauth@ietf.org>; Thu, 15 Apr 2010 10:47:42 -0700 (PDT)
Received: (qmail 27627 invoked from network); 15 Apr 2010 17:47:36 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 15 Apr 2010 17:47:36 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Thu, 15 Apr 2010 10:47:28 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Luke Shepard <lshepard@facebook.com>, OAuth WG <oauth@ietf.org>
Date: Thu, 15 Apr 2010 10:47:26 -0700
Thread-Topic: [OAUTH-WG] Native applications capable of handling callbacks
Thread-Index: AcrYIt9HqbEa8GrhW0eQRvN1PulFkwARc/duACAIQsAAw54l0AAzG0Ig
Message-ID: <C7EC9F3E.32327%eran@hueniverse.com>
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DB82@SC-MBXC1.TheFacebook.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Native applications capable of handling callbacks
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 17:47:44 -0000

On 4/14/10 10:32 AM, "Luke Shepard" <lshepard@facebook.com> wrote:

> Sorry, I missed this thread. It dovetails with my objections raised in th=
e
> other thread (=B3Combining the native application and user-agent flows=B2=
)
> =20
> The question of whether OAuth should support custom URL protocols seems a=
 bit
> academic. In practice, major providers will probably allow them if there =
is
> demand from developers. The goal of this group is to establish a pragmati=
c,
> widely adopted authentication protocol =AD not to wage a IETF campaign ag=
ainst
> browser vendors to force compliance to standards.

It's not a question of an "IETF campaign" but of what an IETF specification
can say about it. WRAP explicitly mentions custom URI schemes which is
something we cannot do in an IETF spec because clearly violates IETF
standards.

The questions are "do we want to mention custom URI schemes? Do we think it
is a useful pattern?" and I suspect the answer is yes given how widely this
technique is used on the iPhone and other platforms. So then the question i=
s
how to do this within the context of an IETF specification or leave it for
people to figure out on their own (or in books and articles).

Creating a scheme for this isn't hard and is one simple way to accomplish
the same thing. It also allows us to mention how it is done today and
encourage people to seek the other way when possible. This is how we make
progress in standards (document the bad practice and offer better
solutions).

> Additionally, in my email I laid out a few ways for an entirely client ap=
p to
> handle a callback without using custom protocols. For instance:
> -         Use a scheme like =B3about:blank=B2 (does that count as a custo=
m scheme
> or is it supported by the IETF?)

There is a proposed RFC for 'about:' but it seems stuck due to lack of
authors time.

> -         Host a static callback themselves. For many apps it=B9s much ea=
sier to
> host a single, static callback than a dynamic server endpoint.

I assume you mean host a fixed document on a server.

> -         Use a callback hosted by the provider (i.e.,
> http://facebook.com/universal_callback

Sure, as long as it doesn't end up as an open redirector with the known
security issues.

> In practice, this is how desktop and mobile clients work to access Facebo=
ok
> today. The Native Application flow is basically like  the third option ab=
ove
> (callback hosted by provider), but without the flexibility of the first t=
wo.
> We should just get rid of that flow and use the =B3User-agent=B2 flow. (I=
 would
> prefer something like =B3Client-side App flow=B2 but I understand that th=
e naming
> here is pretty difficult)

If we end up with one flow, I am sure I can come up with another name.

EHL
=20


From eran@hueniverse.com  Thu Apr 15 10:56:42 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8EAD93A6BD1 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 10:56:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.436
X-Spam-Level: 
X-Spam-Status: No, score=-2.436 tagged_above=-999 required=5 tests=[AWL=0.163,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dKgJtvGreyvB for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 10:56:41 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id BE7453A6B02 for <oauth@ietf.org>; Thu, 15 Apr 2010 10:56:41 -0700 (PDT)
Received: (qmail 2043 invoked from network); 15 Apr 2010 17:56:35 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 15 Apr 2010 17:56:35 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Thu, 15 Apr 2010 10:56:35 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: OAuth WG <oauth@ietf.org>
Date: Thu, 15 Apr 2010 10:56:33 -0700
Thread-Topic: Issue: restriction on values characters
Thread-Index: AcrcxPvR9KQ1Tz6ZfU2Z51D+MRN4Xg==
Message-ID: <C7ECA161.3232B%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: [OAUTH-WG] Issue: restriction on values characters
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 17:56:42 -0000

Given the current proposal for signatures (no parsing of the request URI or
body, or any encoding), I would like to proposal that the spec remains mute
on the allowed parameter values.

While it is best to issue values that do not require any encoding (or
decoding when receiving a token response), encoding and decoding
form-encoded parameter is trivial and provided automatically by every
platform.

The only issues with encoding in 1.0a related to signatures and the
production of the base string. This is no longer an issue.

Proposal: close issue without further action.

EHL


From recordond@gmail.com  Thu Apr 15 11:01:22 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 006C93A68E2 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 11:01:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nBgPrMlP+jvO for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 11:01:21 -0700 (PDT)
Received: from mail-iw0-f203.google.com (mail-iw0-f203.google.com [209.85.223.203]) by core3.amsl.com (Postfix) with ESMTP id 153AD3A688B for <oauth@ietf.org>; Thu, 15 Apr 2010 11:01:20 -0700 (PDT)
Received: by iwn41 with SMTP id 41so762896iwn.20 for <oauth@ietf.org>; Thu, 15 Apr 2010 11:01:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=csMpXF91DKQ4urEevXlAfK0+aAgjiPWHIeVNv659abc=; b=WI5T7ri7RpFRYMiSoKJj77683Tmfg1gGI5rwLMkXf4FMXCPc8TFfGGBK4fwfnV5tai CjprHdFSMF9jzMOB8FO1cOEz5Scal4iFmcAAzLy75rykQ/v0ZMTqFCzTF37kHQ+6DwJi RtpCg62qMhNP0sUdII//mvk4Vyp2ETISoOy0Q=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=DEIcGaj2p0bZwtNOzoXwNGG6ISqRAN9jNLMtJLVktpkxHpFb5EPTkLlaifA5/PsQBr BDX/rQthDD8fGuxKJhJnlYaFwM21K271zkXieawKFANNO13xVFGcHj/7ox1U1xnmNF5Y OsfFscRpavozdhYPa10dTZ5iRiXvigsL+C6Hw=
MIME-Version: 1.0
Received: by 10.231.182.196 with HTTP; Thu, 15 Apr 2010 11:01:07 -0700 (PDT)
In-Reply-To: <C7ECA161.3232B%eran@hueniverse.com>
References: <C7ECA161.3232B%eran@hueniverse.com>
Date: Thu, 15 Apr 2010 11:01:07 -0700
Received: by 10.231.154.77 with SMTP id n13mr189736ibw.11.1271354467654; Thu,  15 Apr 2010 11:01:07 -0700 (PDT)
Message-ID: <g2yfd6741651004151101nda5b6f7p2c6d6174c3268074@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: restriction on values characters
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 18:01:22 -0000

I trust your experience here, so +1.

On Thu, Apr 15, 2010 at 10:56 AM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> Given the current proposal for signatures (no parsing of the request URI or
> body, or any encoding), I would like to proposal that the spec remains mute
> on the allowed parameter values.
>
> While it is best to issue values that do not require any encoding (or
> decoding when receiving a token response), encoding and decoding
> form-encoded parameter is trivial and provided automatically by every
> platform.
>
> The only issues with encoding in 1.0a related to signatures and the
> production of the base string. This is no longer an issue.
>
> Proposal: close issue without further action.
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From eran@hueniverse.com  Thu Apr 15 11:02:50 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 247DF3A6AC2 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 11:02:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.694
X-Spam-Level: 
X-Spam-Status: No, score=-1.694 tagged_above=-999 required=5 tests=[AWL=-0.584, BAYES_05=-1.11]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id X1Aj1EtvmGQN for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 11:02:49 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 4C9783A68E2 for <oauth@ietf.org>; Thu, 15 Apr 2010 11:02:49 -0700 (PDT)
Received: (qmail 5978 invoked from network); 15 Apr 2010 18:02:42 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 15 Apr 2010 18:02:42 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Thu, 15 Apr 2010 11:02:39 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: OAuth WG <oauth@ietf.org>
Date: Thu, 15 Apr 2010 11:02:36 -0700
Thread-Topic: Issue: specificity of the assertion flow
Thread-Index: AcrcxdQvJq78igs7S0K9ZKWCVI54yA==
Message-ID: <C7ECA2CC.3232F%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: [OAUTH-WG] Issue: specificity of the assertion flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 18:02:50 -0000

The assertion flow included in the specification doesn't offer enough to
provide interop. Previous discussions ruled out the idea of offering a
single SAML 2.0 based flow.

Proposal: Leave the flow as a generic assertion flow, using SAML 2.0 as an
example, and defining the syntax/values of the format parameter. As long as
the format parameter is well-defined, the rest can be left for
assertion-language-specific specs and implementations.

Needed: Language defining the format parameter in a way which ensures
interop across clients using the same format value (i.e. Registry,
URI-based, etc).

EHL


From eran@hueniverse.com  Thu Apr 15 11:27:31 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id F233D3A67F9 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 11:27:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.43
X-Spam-Level: 
X-Spam-Status: No, score=-2.43 tagged_above=-999 required=5 tests=[AWL=0.169,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cK2d+W4LJ3Yf for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 11:27:30 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 70C133A67D4 for <oauth@ietf.org>; Thu, 15 Apr 2010 11:27:29 -0700 (PDT)
Received: (qmail 4001 invoked from network); 15 Apr 2010 18:27:22 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 15 Apr 2010 18:27:22 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Thu, 15 Apr 2010 11:27:12 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: OAuth WG <oauth@ietf.org>
Date: Thu, 15 Apr 2010 11:27:10 -0700
Thread-Topic: Issue: Authorization endpoint parameter extension policy
Thread-Index: AcrcyULBFlsUpal/MUy9YuHuGxQFLQ==
Message-ID: <C7ECA88E.32337%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 18:27:31 -0000

OAuth 2.0 flows use a single authorization endpoint (with 'type' parameter)=
.
This endpoint is OAuth-specific but must allow for extension parameters
(standard or vendor-specific).

The issue is how to best allow for extensions defining new parameters. The
danger is common parameter names ('scope', 'language', 'permission') being
used differently by different vendors, creating interop issues with
libraries.

Prefix alone (for the core or extensions) does not solve the problem since
extensions still suffer from potential namespace collision. 'oauth_' prefix
makes all the parameter names longer, but doesn't add real value - defining
new parameters, with or without the 'oauth_' prefix is still the same
problem.

The typical solution is to define an extension policy, using a registry or
domain-namespace for new names.

Proposal:

Plain parameter names (names without '.' character) require registration
(IANA registry with a published specification). This will encourage people
to share their parameters and improve interop beyond the core protocol
parameters.

Vendor specific names will require a prefix using either registered vendor
names (e.g. 'google', 'fb', 'yahoo'). Alternatively, use the same extension
policy as OpenID where extensions use any prefix and include a prefix URI
identifier (e.g.=20
http://example.com?etx.language=3Den&ns:ext=3Dhttp://example.com/spec1).

EHL


From recordond@gmail.com  Thu Apr 15 11:37:12 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4CA4C3A69D0 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 11:37:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MsFe8BbfjOXN for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 11:37:11 -0700 (PDT)
Received: from mail-pv0-f172.google.com (mail-pv0-f172.google.com [74.125.83.172]) by core3.amsl.com (Postfix) with ESMTP id 60F073A6BBB for <oauth@ietf.org>; Thu, 15 Apr 2010 11:37:11 -0700 (PDT)
Received: by pvf33 with SMTP id 33so1109601pvf.31 for <oauth@ietf.org>; Thu, 15 Apr 2010 11:37:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=oBovohypTNmVyKQiOwvBLoPPeSGuAC4gRHg8U16fjbg=; b=OXa9gVCjjRP3d5PniXvEsW4UBlgwNoQRoy8hmTadMRwA0HSdd44U5Ol45m4bS3UJgq G0kwTkL9MxEw1fhiHXb9zi/GtcoMjO4mxdf2pP+rWvSfXh5vLQlyUVx9Adx85P3sXA4n yZzSDKsd8A7frJN4B00MzcFkHjVvU5f1ZmuEs=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=d3SMjg+I/v7Z9obnag1noT/7rZHf8MFgCt6RNzalcvdiJKLFmMljT6pi1A54rciXcs tQcN1ul567s2LAd8FyO1Z+G/YhD7Eu2j2hoC7C4EFMoIUrf8015u/6/+dH3Zi6n/B0aq FPEo/4NHcv2V4MHjkjhX0N3ksxthxM2ksnZqI=
MIME-Version: 1.0
Received: by 10.231.182.196 with HTTP; Thu, 15 Apr 2010 11:37:01 -0700 (PDT)
In-Reply-To: <C7ECA88E.32337%eran@hueniverse.com>
References: <C7ECA88E.32337%eran@hueniverse.com>
Date: Thu, 15 Apr 2010 11:37:01 -0700
Received: by 10.142.9.10 with SMTP id 10mr427323wfi.42.1271356622070; Thu, 15  Apr 2010 11:37:02 -0700 (PDT)
Message-ID: <g2mfd6741651004151137m3922a078t6ec94541c7566dfa@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 18:37:12 -0000

I prefer no extension URIs since they make requests longer and really
have never taken off in OpenID.


On Thu, Apr 15, 2010 at 11:27 AM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> OAuth 2.0 flows use a single authorization endpoint (with 'type' parameter).
> This endpoint is OAuth-specific but must allow for extension parameters
> (standard or vendor-specific).
>
> The issue is how to best allow for extensions defining new parameters. The
> danger is common parameter names ('scope', 'language', 'permission') being
> used differently by different vendors, creating interop issues with
> libraries.
>
> Prefix alone (for the core or extensions) does not solve the problem since
> extensions still suffer from potential namespace collision. 'oauth_' prefix
> makes all the parameter names longer, but doesn't add real value - defining
> new parameters, with or without the 'oauth_' prefix is still the same
> problem.
>
> The typical solution is to define an extension policy, using a registry or
> domain-namespace for new names.
>
> Proposal:
>
> Plain parameter names (names without '.' character) require registration
> (IANA registry with a published specification). This will encourage people
> to share their parameters and improve interop beyond the core protocol
> parameters.
>
> Vendor specific names will require a prefix using either registered vendor
> names (e.g. 'google', 'fb', 'yahoo'). Alternatively, use the same extension
> policy as OpenID where extensions use any prefix and include a prefix URI
> identifier (e.g.
> http://example.com?etx.language=en&ns:ext=http://example.com/spec1).
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From eran@hueniverse.com  Thu Apr 15 11:41:42 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B03343A68C5 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 11:41:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.432
X-Spam-Level: 
X-Spam-Status: No, score=-2.432 tagged_above=-999 required=5 tests=[AWL=0.167,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 356z+1eJv9qC for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 11:41:40 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id B844F3A67FF for <oauth@ietf.org>; Thu, 15 Apr 2010 11:41:40 -0700 (PDT)
Received: (qmail 27735 invoked from network); 15 Apr 2010 18:41:34 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 15 Apr 2010 18:41:34 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Thu, 15 Apr 2010 11:41:22 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: OAuth WG <oauth@ietf.org>
Date: Thu, 15 Apr 2010 11:41:20 -0700
Thread-Topic: Issue: Split the authorization endpoint into two endpoints
Thread-Index: Acrcyz1lDoVqvOFmQEa2c5Oxsc3UxA==
Message-ID: <C7ECABE0.32344%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 18:41:42 -0000

OAuth 2.0 defines a single authorization endpoint with a 'type' parameter
for the various flows and flow steps. There are two types of calls made to
the authorization endpoint:

- Requests for Access - requests in which an end user interacts with the
authorization server, granting client access.

- Requests for Token - requests in which the client uses a verification cod=
e
or other credentials to obtain an access token. These requests require
SSL/TLS because they always result in the transmission of plaintext
credentials in the response and sometimes in the request.

A proposal has been made to define two separate endpoints due to the
different nature of these endpoints:

On 4/6/10 4:06 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

> Constraints for endpoints:
> access token URL: HTTPS and POST only, no user
> user authentication URL: HTTP or HTTPS, GET or POST, authenticated user
>=20
> In many cases the above constraints can be enforced with configuration
> that sits in front of the controllers implementing these endpoints.
> For example, Apache config can enforce SSL and POST. Same can be done
> in a Java filter. Also a Java filter can enforce that only
> authenticated users hit the endpoint, it can redirect to a login page
> if needed.
>=20
> By keeping two different endpoints all of the above is much simpler.
> Nothing prevents an authz server to collapse these two into one
> endpoint.

While requests for access do not require HTTPS, they should because they
involve authenticating the end user. As for enforcing HTTP methods (GET,
POST), this is simple to do both at the server configuration level or
application level.

On the other hand, having a single endpoint makes the specification simpler=
,
and more importantly, makes discovery trivial as a 401 response needs to
include a single endpoint for obtaining a token regardless of the flow (som=
e
flows use one, others two steps).

A richer discovery later can use LRDD on the single authorization endpoint
to obtain an XRD describing the flows and UI options provided by the server=
.
But this is outside our scope.

Proposal: No change. Keep the single authorization endpoint and require
HTTPS for all requests.

EHL






From eran@hueniverse.com  Thu Apr 15 11:46:21 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C10A03A6895 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 11:46:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.434
X-Spam-Level: 
X-Spam-Status: No, score=-2.434 tagged_above=-999 required=5 tests=[AWL=0.164,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AFxgmfUGaVGi for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 11:46:20 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 885773A67A3 for <oauth@ietf.org>; Thu, 15 Apr 2010 11:46:20 -0700 (PDT)
Received: (qmail 1759 invoked from network); 15 Apr 2010 18:46:14 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 15 Apr 2010 18:46:14 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Thu, 15 Apr 2010 11:46:14 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: "recordond@gmail.com" <recordond@gmail.com>
Date: Thu, 15 Apr 2010 11:46:10 -0700
Thread-Topic: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
Thread-Index: AcrcyqdYpi62c21kTe2rEZtacgwiqAAAULkj
Message-ID: <C7ECAD02.32347%eran@hueniverse.com>
In-Reply-To: <g2mfd6741651004151137m3922a078t6ec94541c7566dfa@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7ECAD0232347eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 18:46:21 -0000

--_000_C7ECAD0232347eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Me too. I think a vendor-name prefix will work just fine. By definition any=
thing with a prefix-period will be defined as vendor-specific and not for i=
nterop. As long as we keep the registration lightweight people should regis=
ter new parameters and increase interop.

EHL


On 4/15/10 11:37 AM, "recordond@gmail.com" <recordond@gmail.com> wrote:

I prefer no extension URIs since they make requests longer and really
have never taken off in OpenID.


On Thu, Apr 15, 2010 at 11:27 AM, Eran Hammer-Lahav <eran@hueniverse.com> w=
rote:
> OAuth 2.0 flows use a single authorization endpoint (with 'type' paramete=
r).
> This endpoint is OAuth-specific but must allow for extension parameters
> (standard or vendor-specific).
>
> The issue is how to best allow for extensions defining new parameters. Th=
e
> danger is common parameter names ('scope', 'language', 'permission') bein=
g
> used differently by different vendors, creating interop issues with
> libraries.
>
> Prefix alone (for the core or extensions) does not solve the problem sinc=
e
> extensions still suffer from potential namespace collision. 'oauth_' pref=
ix
> makes all the parameter names longer, but doesn't add real value - defini=
ng
> new parameters, with or without the 'oauth_' prefix is still the same
> problem.
>
> The typical solution is to define an extension policy, using a registry o=
r
> domain-namespace for new names.
>
> Proposal:
>
> Plain parameter names (names without '.' character) require registration
> (IANA registry with a published specification). This will encourage peopl=
e
> to share their parameters and improve interop beyond the core protocol
> parameters.
>
> Vendor specific names will require a prefix using either registered vendo=
r
> names (e.g. 'google', 'fb', 'yahoo'). Alternatively, use the same extensi=
on
> policy as OpenID where extensions use any prefix and include a prefix URI
> identifier (e.g.
> http://example.com?etx.language=3Den&ns:ext=3Dhttp://example.com/spec1).
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>


--_000_C7ECAD0232347eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension &nb=
sp;policy</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>Me too. I think a vendor-name prefix will work just fine. By definiti=
on anything with a prefix-period will be defined as vendor-specific and not=
 for interop. As long as we keep the registration lightweight people should=
 register new parameters and increase interop.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/15/10 11:37 AM, &quot;<a href=3D"recordond@gmail.com">recordond@gmail.=
com</a>&quot; &lt;<a href=3D"recordond@gmail.com">recordond@gmail.com</a>&g=
t; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>I prefer no extension URIs since they make =
requests longer and really<BR>
have never taken off in OpenID.<BR>
<BR>
<BR>
On Thu, Apr 15, 2010 at 11:27 AM, Eran Hammer-Lahav &lt;<a href=3D"eran@hue=
niverse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
&gt; OAuth 2.0 flows use a single authorization endpoint (with 'type' param=
eter).<BR>
&gt; This endpoint is OAuth-specific but must allow for extension parameter=
s<BR>
&gt; (standard or vendor-specific).<BR>
&gt;<BR>
&gt; The issue is how to best allow for extensions defining new parameters.=
 The<BR>
&gt; danger is common parameter names ('scope', 'language', 'permission') b=
eing<BR>
&gt; used differently by different vendors, creating interop issues with<BR=
>
&gt; libraries.<BR>
&gt;<BR>
&gt; Prefix alone (for the core or extensions) does not solve the problem s=
ince<BR>
&gt; extensions still suffer from potential namespace collision. 'oauth_' p=
refix<BR>
&gt; makes all the parameter names longer, but doesn't add real value - def=
ining<BR>
&gt; new parameters, with or without the 'oauth_' prefix is still the same<=
BR>
&gt; problem.<BR>
&gt;<BR>
&gt; The typical solution is to define an extension policy, using a registr=
y or<BR>
&gt; domain-namespace for new names.<BR>
&gt;<BR>
&gt; Proposal:<BR>
&gt;<BR>
&gt; Plain parameter names (names without '.' character) require registrati=
on<BR>
&gt; (IANA registry with a published specification). This will encourage pe=
ople<BR>
&gt; to share their parameters and improve interop beyond the core protocol=
<BR>
&gt; parameters.<BR>
&gt;<BR>
&gt; Vendor specific names will require a prefix using either registered ve=
ndor<BR>
&gt; names (e.g. 'google', 'fb', 'yahoo'). Alternatively, use the same exte=
nsion<BR>
&gt; policy as OpenID where extensions use any prefix and include a prefix =
URI<BR>
&gt; identifier (e.g.<BR>
&gt; <a href=3D"http://example.com?etx.language=3Den&amp;ns:ext=3Dhttp://ex=
ample.com/spec1">http://example.com?etx.language=3Den&amp;ns:ext=3Dhttp://e=
xample.com/spec1</a>).<BR>
&gt;<BR>
&gt; EHL<BR>
&gt;<BR>
&gt; _______________________________________________<BR>
&gt; OAuth mailing list<BR>
&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ie=
tf.org/mailman/listinfo/oauth</a><BR>
&gt;<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7ECAD0232347eranhueniversecom_--

From recordond@gmail.com  Thu Apr 15 11:48:02 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id CCA193A68D4 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 11:48:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id naxbFr6JpY5x for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 11:48:01 -0700 (PDT)
Received: from mail-iw0-f191.google.com (mail-iw0-f191.google.com [209.85.223.191]) by core3.amsl.com (Postfix) with ESMTP id D41D03A6895 for <oauth@ietf.org>; Thu, 15 Apr 2010 11:48:01 -0700 (PDT)
Received: by iwn29 with SMTP id 29so751780iwn.17 for <oauth@ietf.org>; Thu, 15 Apr 2010 11:47:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=rAANQChs4NNC281c1XeZOj49OGXO+B6tj0CqjNRpXzY=; b=YbevbIoIwC90ZpqdZh0SNRcMod22syG7U7tqyHywX8Gw9w4Ljg5X14wldBNTmvVu2I GiUQ4qBYFFMKABtLdTREaM4mtIBl2s59DYkxf1g/MF7mUSy6DzFILJl3F/YfUIqZaGS/ CDZfij8LjcL477CkdZhsOoe6BXrabLhYmRxJ8=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=dio/brSF46DsU2pZ2RbcdxbX/Vg/fy33a2tFyVmKXbQhyz2WzBlmygsnNWG9GBKGLD Ku207cIvDuxNXdQPS/BNKcE8j3xMIYMaxj+GDFEIHliFJJh0Fu8s7QqbxHSjZ5GD1TJu tV2dGNowMGlNkJzKtSXPh+TOIBuDCAv8CufFQ=
MIME-Version: 1.0
Received: by 10.231.182.196 with HTTP; Thu, 15 Apr 2010 11:47:52 -0700 (PDT)
In-Reply-To: <C7ECABE0.32344%eran@hueniverse.com>
References: <C7ECABE0.32344%eran@hueniverse.com>
Date: Thu, 15 Apr 2010 11:47:52 -0700
Received: by 10.231.60.19 with SMTP id n19mr188100ibh.79.1271357272716; Thu,  15 Apr 2010 11:47:52 -0700 (PDT)
Message-ID: <k2ufd6741651004151147ve61fd503g70a5a133921220aa@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 18:48:02 -0000

Strongly for keeping one endpoint given that the spec uses type
extensively. A huge motivator in the 2.0 effort is simplicity for
client developers.


On Thu, Apr 15, 2010 at 11:41 AM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> OAuth 2.0 defines a single authorization endpoint with a 'type' parameter
> for the various flows and flow steps. There are two types of calls made to
> the authorization endpoint:
>
> - Requests for Access - requests in which an end user interacts with the
> authorization server, granting client access.
>
> - Requests for Token - requests in which the client uses a verification code
> or other credentials to obtain an access token. These requests require
> SSL/TLS because they always result in the transmission of plaintext
> credentials in the response and sometimes in the request.
>
> A proposal has been made to define two separate endpoints due to the
> different nature of these endpoints:
>
> On 4/6/10 4:06 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
>> Constraints for endpoints:
>> access token URL: HTTPS and POST only, no user
>> user authentication URL: HTTP or HTTPS, GET or POST, authenticated user
>>
>> In many cases the above constraints can be enforced with configuration
>> that sits in front of the controllers implementing these endpoints.
>> For example, Apache config can enforce SSL and POST. Same can be done
>> in a Java filter. Also a Java filter can enforce that only
>> authenticated users hit the endpoint, it can redirect to a login page
>> if needed.
>>
>> By keeping two different endpoints all of the above is much simpler.
>> Nothing prevents an authz server to collapse these two into one
>> endpoint.
>
> While requests for access do not require HTTPS, they should because they
> involve authenticating the end user. As for enforcing HTTP methods (GET,
> POST), this is simple to do both at the server configuration level or
> application level.
>
> On the other hand, having a single endpoint makes the specification simpler,
> and more importantly, makes discovery trivial as a 401 response needs to
> include a single endpoint for obtaining a token regardless of the flow (some
> flows use one, others two steps).
>
> A richer discovery later can use LRDD on the single authorization endpoint
> to obtain an XRD describing the flows and UI options provided by the server.
> But this is outside our scope.
>
> Proposal: No change. Keep the single authorization endpoint and require
> HTTPS for all requests.
>
> EHL
>
>
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From recordond@gmail.com  Thu Apr 15 11:49:02 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B29293A6944 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 11:49:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id o+mSW98mmAlI for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 11:48:58 -0700 (PDT)
Received: from mail-pv0-f172.google.com (mail-pv0-f172.google.com [74.125.83.172]) by core3.amsl.com (Postfix) with ESMTP id E93513A6895 for <oauth@ietf.org>; Thu, 15 Apr 2010 11:48:57 -0700 (PDT)
Received: by pvf33 with SMTP id 33so1122014pvf.31 for <oauth@ietf.org>; Thu, 15 Apr 2010 11:48:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=az7926aGu//uVAsKuXaSyTvSPs8W3qQLS3nh11WwQUw=; b=VJXYnsUYTlhyOTskxdl/YkhMTMxGMPz+ZRKv6q/Ke1VzumAkkaWXOC3omBsw0+Mv/N SMjnah96N7CaECGekT5VSMh9z/AL/2IfRz4aAZyO4L3KMUAbbWjz+Aa+JI/bGge2PCg+ Rs/YtL4+rBb2e7M+LvLsNFAmWCkv8eiAgqZhg=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=vJoTxzfrF0jcZQeZ5DHIhczUn2NoLtCB23R8oCk8NQKEwN5vPCLBaVAQxauJHvEdGH X8BRkjN6QbQnWW76rSa8Hnjzyu+Mox11H1nyjRf1Rk/E52wjZZPVS3XR16oSbK6kPuVP zFV1b13kb7Cz7AC5pkrzJ6tE5G5X8Qmoi/IE8=
MIME-Version: 1.0
Received: by 10.231.182.196 with HTTP; Thu, 15 Apr 2010 11:48:48 -0700 (PDT)
In-Reply-To: <C7ECAD02.32347%eran@hueniverse.com>
References: <g2mfd6741651004151137m3922a078t6ec94541c7566dfa@mail.gmail.com> <C7ECAD02.32347%eran@hueniverse.com>
Date: Thu, 15 Apr 2010 11:48:48 -0700
Received: by 10.140.56.6 with SMTP id e6mr883714rva.81.1271357328631; Thu, 15  Apr 2010 11:48:48 -0700 (PDT)
Message-ID: <l2rfd6741651004151148hdfd231d0x53d30df7a860edfb@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 18:49:02 -0000

I think there will be a warming up period though as vendors prototype
with parameters before any sort of registry is setup. This should be
manageable given that we have a fairly small community right now
working on the spec.

On Thu, Apr 15, 2010 at 11:46 AM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> Me too. I think a vendor-name prefix will work just fine. By definition
> anything with a prefix-period will be defined as vendor-specific and not for
> interop. As long as we keep the registration lightweight people should
> register new parameters and increase interop.
>
> EHL
>
>
> On 4/15/10 11:37 AM, "recordond@gmail.com" <recordond@gmail.com> wrote:
>
> I prefer no extension URIs since they make requests longer and really
> have never taken off in OpenID.
>
>
> On Thu, Apr 15, 2010 at 11:27 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>> OAuth 2.0 flows use a single authorization endpoint (with 'type'
>> parameter).
>> This endpoint is OAuth-specific but must allow for extension parameters
>> (standard or vendor-specific).
>>
>> The issue is how to best allow for extensions defining new parameters. The
>> danger is common parameter names ('scope', 'language', 'permission') being
>> used differently by different vendors, creating interop issues with
>> libraries.
>>
>> Prefix alone (for the core or extensions) does not solve the problem since
>> extensions still suffer from potential namespace collision. 'oauth_'
>> prefix
>> makes all the parameter names longer, but doesn't add real value -
>> defining
>> new parameters, with or without the 'oauth_' prefix is still the same
>> problem.
>>
>> The typical solution is to define an extension policy, using a registry or
>> domain-namespace for new names.
>>
>> Proposal:
>>
>> Plain parameter names (names without '.' character) require registration
>> (IANA registry with a published specification). This will encourage people
>> to share their parameters and improve interop beyond the core protocol
>> parameters.
>>
>> Vendor specific names will require a prefix using either registered vendor
>> names (e.g. 'google', 'fb', 'yahoo'). Alternatively, use the same
>> extension
>> policy as OpenID where extensions use any prefix and include a prefix URI
>> identifier (e.g.
>> http://example.com?etx.language=en&ns:ext=http://example.com/spec1).
>>
>> EHL
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>
>

From eran@hueniverse.com  Thu Apr 15 11:56:00 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 801D63A681C for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 11:56:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.437
X-Spam-Level: 
X-Spam-Status: No, score=-2.437 tagged_above=-999 required=5 tests=[AWL=0.162,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4F4fH-eU0bCq for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 11:55:59 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id A7F663A67A3 for <oauth@ietf.org>; Thu, 15 Apr 2010 11:55:59 -0700 (PDT)
Received: (qmail 17643 invoked from network); 15 Apr 2010 18:55:53 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 15 Apr 2010 18:55:53 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Thu, 15 Apr 2010 11:55:53 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: OAuth WG <oauth@ietf.org>
Date: Thu, 15 Apr 2010 11:55:50 -0700
Thread-Topic: Issue: 'username' parameter proposal
Thread-Index: AcrczUP0fQn1S3ZSlkCeyUAs62ovDQ==
Message-ID: <C7ECAF46.3234F%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 18:56:00 -0000

Evan Gilbert proposed a 'username' request parameter to allow the client to
limit the end user to authenticate using the provided authorization server
identifier. The proposal has not been discussed or supported by others, and
has not received a security review.

Proposal: Obtain further discussion and support from others, as well as a
security review of the proposal. Otherwise, do nothing.

EHL


From cmortimore@salesforce.com  Thu Apr 15 11:56:07 2010
Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 178BC3A69A2 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 11:56:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.415
X-Spam-Level: 
X-Spam-Status: No, score=-6.415 tagged_above=-999 required=5 tests=[AWL=0.183,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FJgD3Ty8t0L3 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 11:56:02 -0700 (PDT)
Received: from exprod8og102.obsmtp.com (exprod8og102.obsmtp.com [64.18.3.84]) by core3.amsl.com (Postfix) with SMTP id 5E84C3A68D4 for <oauth@ietf.org>; Thu, 15 Apr 2010 11:56:02 -0700 (PDT)
Received: from source ([204.14.239.239]) by exprod8ob102.postini.com ([64.18.7.12]) with SMTP ID DSNKS8dhO9BndW5H0W0CL+nMop3Q8YlDif7X@postini.com; Thu, 15 Apr 2010 11:55:56 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub4.internal.salesforce.com ([10.1.127.8]) with mapi; Thu, 15 Apr 2010 11:55:55 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, OAuth WG <oauth@ietf.org>
Date: Thu, 15 Apr 2010 11:55:53 -0700
Thread-Topic: [OAUTH-WG] Issue: specificity of the assertion flow
Thread-Index: AcrcxdQvJq78igs7S0K9ZKWCVI54yAAB3GMa
Message-ID: <C7ECAF49.39DF%cmortimore@salesforce.com>
In-Reply-To: <C7ECA2CC.3232F%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7ECAF4939DFcmortimoresalesforcecom_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: specificity of the assertion flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 18:56:07 -0000

--_000_C7ECAF4939DFcmortimoresalesforcecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

+1.

Did anyone have a chance to review the proposal I made here?    I have a co=
uple of people from the SAML community reviewing it offline, but would welc=
ome feedback from this group.   The sample text is attached to this post:

http://www.ietf.org/mail-archive/web/oauth/current/msg01735.html

One specific thing to note - the assertion flow is really appropriate for b=
oth autonomous and on-behalf-of user flows, so it will take some special ed=
iting to make that work with the current structure of the intro.

-cmort


On 4/15/10 11:02 AM, "Eran Hammer-Lahav" <eran@hueniverse.com> wrote:

The assertion flow included in the specification doesn't offer enough to
provide interop. Previous discussions ruled out the idea of offering a
single SAML 2.0 based flow.

Proposal: Leave the flow as a generic assertion flow, using SAML 2.0 as an
example, and defining the syntax/values of the format parameter. As long as
the format parameter is well-defined, the rest can be left for
assertion-language-specific specs and implementations.

Needed: Language defining the format parameter in a way which ensures
interop across clients using the same format value (i.e. Registry,
URI-based, etc).

EHL

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


--_000_C7ECAF4939DFcmortimoresalesforcecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Issue: specificity of the assertion flow</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'>+1.<BR>
<BR>
Did anyone have a chance to review the proposal I made here? &nbsp;&nbsp;&n=
bsp;I have a couple of people from the SAML community reviewing it offline,=
 but would welcome feedback from this group. &nbsp;&nbsp;The sample text is=
 attached to this post:<BR>
<BR>
<a href=3D"http://www.ietf.org/mail-archive/web/oauth/current/msg01735.html=
">http://www.ietf.org/mail-archive/web/oauth/current/msg01735.html</a><BR>
<BR>
One specific thing to note &#8211; the assertion flow is really appropriate=
 for both autonomous and on-behalf-of user flows, so it will take some spec=
ial editing to make that work with the current structure of the intro.<BR>
<BR>
-cmort<BR>
<BR>
<BR>
On 4/15/10 11:02 AM, &quot;Eran Hammer-Lahav&quot; &lt;<a href=3D"eran@huen=
iverse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-=
size:11pt'>The assertion flow included in the specification doesn't offer e=
nough to<BR>
provide interop. Previous discussions ruled out the idea of offering a<BR>
single SAML 2.0 based flow.<BR>
<BR>
Proposal: Leave the flow as a generic assertion flow, using SAML 2.0 as an<=
BR>
example, and defining the syntax/values of the format parameter. As long as=
<BR>
the format parameter is well-defined, the rest can be left for<BR>
assertion-language-specific specs and implementations.<BR>
<BR>
Needed: Language defining the format parameter in a way which ensures<BR>
interop across clients using the same format value (i.e. Registry,<BR>
URI-based, etc).<BR>
<BR>
EHL<BR>
<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7ECAF4939DFcmortimoresalesforcecom_--

From eran@hueniverse.com  Thu Apr 15 11:58:42 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 013103A688B for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 11:58:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.439
X-Spam-Level: 
X-Spam-Status: No, score=-2.439 tagged_above=-999 required=5 tests=[AWL=0.159,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KMKPS-hkF54W for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 11:58:40 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 29C703A68C5 for <oauth@ietf.org>; Thu, 15 Apr 2010 11:58:39 -0700 (PDT)
Received: (qmail 22991 invoked from network); 15 Apr 2010 18:58:33 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 15 Apr 2010 18:58:32 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Thu, 15 Apr 2010 11:58:32 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: "recordond@gmail.com" <recordond@gmail.com>
Date: Thu, 15 Apr 2010 11:58:29 -0700
Thread-Topic: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
Thread-Index: AcrczEoNnqxhjAA8TM6LQQr04pQVQgAAVitD
Message-ID: <C7ECAFE5.32352%eran@hueniverse.com>
In-Reply-To: <l2rfd6741651004151148hdfd231d0x53d30df7a860edfb@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7ECAFE532352eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 18:58:42 -0000

--_000_C7ECAFE532352eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

We can setup a wiki page as a starting point while people wait for the IANA=
 registry.

EHL


On 4/15/10 11:48 AM, "recordond@gmail.com" <recordond@gmail.com> wrote:

I think there will be a warming up period though as vendors prototype
with parameters before any sort of registry is setup. This should be
manageable given that we have a fairly small community right now
working on the spec.

On Thu, Apr 15, 2010 at 11:46 AM, Eran Hammer-Lahav <eran@hueniverse.com> w=
rote:
> Me too. I think a vendor-name prefix will work just fine. By definition
> anything with a prefix-period will be defined as vendor-specific and not =
for
> interop. As long as we keep the registration lightweight people should
> register new parameters and increase interop.
>
> EHL
>
>
> On 4/15/10 11:37 AM, "recordond@gmail.com" <recordond@gmail.com> wrote:
>
> I prefer no extension URIs since they make requests longer and really
> have never taken off in OpenID.
>
>
> On Thu, Apr 15, 2010 at 11:27 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>> OAuth 2.0 flows use a single authorization endpoint (with 'type'
>> parameter).
>> This endpoint is OAuth-specific but must allow for extension parameters
>> (standard or vendor-specific).
>>
>> The issue is how to best allow for extensions defining new parameters. T=
he
>> danger is common parameter names ('scope', 'language', 'permission') bei=
ng
>> used differently by different vendors, creating interop issues with
>> libraries.
>>
>> Prefix alone (for the core or extensions) does not solve the problem sin=
ce
>> extensions still suffer from potential namespace collision. 'oauth_'
>> prefix
>> makes all the parameter names longer, but doesn't add real value -
>> defining
>> new parameters, with or without the 'oauth_' prefix is still the same
>> problem.
>>
>> The typical solution is to define an extension policy, using a registry =
or
>> domain-namespace for new names.
>>
>> Proposal:
>>
>> Plain parameter names (names without '.' character) require registration
>> (IANA registry with a published specification). This will encourage peop=
le
>> to share their parameters and improve interop beyond the core protocol
>> parameters.
>>
>> Vendor specific names will require a prefix using either registered vend=
or
>> names (e.g. 'google', 'fb', 'yahoo'). Alternatively, use the same
>> extension
>> policy as OpenID where extensions use any prefix and include a prefix UR=
I
>> identifier (e.g.
>> http://example.com?etx.language=3Den&ns:ext=3Dhttp://example.com/spec1).
>>
>> EHL
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>
>


--_000_C7ECAFE532352eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension &nb=
sp;policy</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>We can setup a wiki page as a starting point while people wait for th=
e IANA registry.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/15/10 11:48 AM, &quot;<a href=3D"recordond@gmail.com">recordond@gmail.=
com</a>&quot; &lt;<a href=3D"recordond@gmail.com">recordond@gmail.com</a>&g=
t; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>I think there will be a warming up period t=
hough as vendors prototype<BR>
with parameters before any sort of registry is setup. This should be<BR>
manageable given that we have a fairly small community right now<BR>
working on the spec.<BR>
<BR>
On Thu, Apr 15, 2010 at 11:46 AM, Eran Hammer-Lahav &lt;<a href=3D"eran@hue=
niverse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
&gt; Me too. I think a vendor-name prefix will work just fine. By definitio=
n<BR>
&gt; anything with a prefix-period will be defined as vendor-specific and n=
ot for<BR>
&gt; interop. As long as we keep the registration lightweight people should=
<BR>
&gt; register new parameters and increase interop.<BR>
&gt;<BR>
&gt; EHL<BR>
&gt;<BR>
&gt;<BR>
&gt; On 4/15/10 11:37 AM, &quot;<a href=3D"recordond@gmail.com">recordond@g=
mail.com</a>&quot; &lt;<a href=3D"recordond@gmail.com">recordond@gmail.com<=
/a>&gt; wrote:<BR>
&gt;<BR>
&gt; I prefer no extension URIs since they make requests longer and really<=
BR>
&gt; have never taken off in OpenID.<BR>
&gt;<BR>
&gt;<BR>
&gt; On Thu, Apr 15, 2010 at 11:27 AM, Eran Hammer-Lahav &lt;<a href=3D"era=
n@hueniverse.com">eran@hueniverse.com</a>&gt;<BR>
&gt; wrote:<BR>
&gt;&gt; OAuth 2.0 flows use a single authorization endpoint (with 'type'<B=
R>
&gt;&gt; parameter).<BR>
&gt;&gt; This endpoint is OAuth-specific but must allow for extension param=
eters<BR>
&gt;&gt; (standard or vendor-specific).<BR>
&gt;&gt;<BR>
&gt;&gt; The issue is how to best allow for extensions defining new paramet=
ers. The<BR>
&gt;&gt; danger is common parameter names ('scope', 'language', 'permission=
') being<BR>
&gt;&gt; used differently by different vendors, creating interop issues wit=
h<BR>
&gt;&gt; libraries.<BR>
&gt;&gt;<BR>
&gt;&gt; Prefix alone (for the core or extensions) does not solve the probl=
em since<BR>
&gt;&gt; extensions still suffer from potential namespace collision. 'oauth=
_'<BR>
&gt;&gt; prefix<BR>
&gt;&gt; makes all the parameter names longer, but doesn't add real value -=
<BR>
&gt;&gt; defining<BR>
&gt;&gt; new parameters, with or without the 'oauth_' prefix is still the s=
ame<BR>
&gt;&gt; problem.<BR>
&gt;&gt;<BR>
&gt;&gt; The typical solution is to define an extension policy, using a reg=
istry or<BR>
&gt;&gt; domain-namespace for new names.<BR>
&gt;&gt;<BR>
&gt;&gt; Proposal:<BR>
&gt;&gt;<BR>
&gt;&gt; Plain parameter names (names without '.' character) require regist=
ration<BR>
&gt;&gt; (IANA registry with a published specification). This will encourag=
e people<BR>
&gt;&gt; to share their parameters and improve interop beyond the core prot=
ocol<BR>
&gt;&gt; parameters.<BR>
&gt;&gt;<BR>
&gt;&gt; Vendor specific names will require a prefix using either registere=
d vendor<BR>
&gt;&gt; names (e.g. 'google', 'fb', 'yahoo'). Alternatively, use the same<=
BR>
&gt;&gt; extension<BR>
&gt;&gt; policy as OpenID where extensions use any prefix and include a pre=
fix URI<BR>
&gt;&gt; identifier (e.g.<BR>
&gt;&gt; <a href=3D"http://example.com?etx.language=3Den&amp;ns:ext=3Dhttp:=
//example.com/spec1">http://example.com?etx.language=3Den&amp;ns:ext=3Dhttp=
://example.com/spec1</a>).<BR>
&gt;&gt;<BR>
&gt;&gt; EHL<BR>
&gt;&gt;<BR>
&gt;&gt; _______________________________________________<BR>
&gt;&gt; OAuth mailing list<BR>
&gt;&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://ww=
w.ietf.org/mailman/listinfo/oauth</a><BR>
&gt;&gt;<BR>
&gt;<BR>
&gt;<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7ECAFE532352eranhueniversecom_--

From eran@hueniverse.com  Thu Apr 15 12:01:10 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E7BC428C22C for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:01:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.441
X-Spam-Level: 
X-Spam-Status: No, score=-2.441 tagged_above=-999 required=5 tests=[AWL=0.157,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BcGxPi+TGDYV for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:01:08 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id CA12728C1F3 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:00:59 -0700 (PDT)
Received: (qmail 26044 invoked from network); 15 Apr 2010 19:00:53 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 15 Apr 2010 19:00:53 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Thu, 15 Apr 2010 12:00:22 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Chuck Mortimore <cmortimore@salesforce.com>, OAuth WG <oauth@ietf.org>
Date: Thu, 15 Apr 2010 12:00:19 -0700
Thread-Topic: [OAUTH-WG] Issue: specificity of the assertion flow
Thread-Index: AcrcxdQvJq78igs7S0K9ZKWCVI54yAAB3GMaAAAno/I=
Message-ID: <C7ECB053.32354%eran@hueniverse.com>
In-Reply-To: <C7ECAF49.39DF%cmortimore@salesforce.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7ECB05332354eranhueniversecom_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: specificity of the assertion flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 19:01:11 -0000

--_000_C7ECB05332354eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

If I recall correctly, it doesn't define the format parameter, just gives o=
ne fixed value for the SAML flow. Either way, I am suggesting we keep the S=
AML flow out of the spec, keeping just the general assertion flow, with bet=
ter format definition.

EHL


On 4/15/10 11:55 AM, "Chuck Mortimore" <cmortimore@salesforce.com> wrote:

+1.

Did anyone have a chance to review the proposal I made here?    I have a co=
uple of people from the SAML community reviewing it offline, but would welc=
ome feedback from this group.   The sample text is attached to this post:

http://www.ietf.org/mail-archive/web/oauth/current/msg01735.html

One specific thing to note - the assertion flow is really appropriate for b=
oth autonomous and on-behalf-of user flows, so it will take some special ed=
iting to make that work with the current structure of the intro.

-cmort


On 4/15/10 11:02 AM, "Eran Hammer-Lahav" <eran@hueniverse.com> wrote:

The assertion flow included in the specification doesn't offer enough to
provide interop. Previous discussions ruled out the idea of offering a
single SAML 2.0 based flow.

Proposal: Leave the flow as a generic assertion flow, using SAML 2.0 as an
example, and defining the syntax/values of the format parameter. As long as
the format parameter is well-defined, the rest can be left for
assertion-language-specific specs and implementations.

Needed: Language defining the format parameter in a way which ensures
interop across clients using the same format value (i.e. Registry,
URI-based, etc).

EHL

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth



--_000_C7ECB05332354eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Issue: specificity of the assertion flow</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>If I recall correctly, it doesn&#8217;t define the format parameter, =
just gives one fixed value for the SAML flow. Either way, I am suggesting w=
e keep the SAML flow out of the spec, keeping just the general assertion fl=
ow, with better format definition.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/15/10 11:55 AM, &quot;Chuck Mortimore&quot; &lt;<a href=3D"cmortimore@=
salesforce.com">cmortimore@salesforce.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Luci=
da Grande">+1.<BR>
<BR>
Did anyone have a chance to review the proposal I made here? &nbsp;&nbsp;&n=
bsp;I have a couple of people from the SAML community reviewing it offline,=
 but would welcome feedback from this group. &nbsp;&nbsp;The sample text is=
 attached to this post:<BR>
<BR>
<a href=3D"http://www.ietf.org/mail-archive/web/oauth/current/msg01735.html=
">http://www.ietf.org/mail-archive/web/oauth/current/msg01735.html</a><BR>
<BR>
One specific thing to note &#8211; the assertion flow is really appropriate=
 for both autonomous and on-behalf-of user flows, so it will take some spec=
ial editing to make that work with the current structure of the intro.<BR>
<BR>
-cmort<BR>
<BR>
<BR>
On 4/15/10 11:02 AM, &quot;Eran Hammer-Lahav&quot; &lt;<a href=3D"eran@huen=
iverse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
<BR>
</FONT></SPAN><BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Luci=
da Grande">The assertion flow included in the specification doesn't offer e=
nough to<BR>
provide interop. Previous discussions ruled out the idea of offering a<BR>
single SAML 2.0 based flow.<BR>
<BR>
Proposal: Leave the flow as a generic assertion flow, using SAML 2.0 as an<=
BR>
example, and defining the syntax/values of the format parameter. As long as=
<BR>
the format parameter is well-defined, the rest can be left for<BR>
assertion-language-specific specs and implementations.<BR>
<BR>
Needed: Language defining the format parameter in a way which ensures<BR>
interop across clients using the same format value (i.e. Registry,<BR>
URI-based, etc).<BR>
<BR>
EHL<BR>
<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
<BR>
</FONT></SPAN></BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Cal=
ibri, Verdana, Helvetica, Arial"><BR>
</FONT></SPAN></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7ECB05332354eranhueniversecom_--

From eran@hueniverse.com  Thu Apr 15 12:07:43 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 206333A68A2 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:07:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.444
X-Spam-Level: 
X-Spam-Status: No, score=-2.444 tagged_above=-999 required=5 tests=[AWL=0.155,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3413LJpxkRSh for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:07:41 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id B9D003A67FB for <oauth@ietf.org>; Thu, 15 Apr 2010 12:07:40 -0700 (PDT)
Received: (qmail 5333 invoked from network); 15 Apr 2010 19:07:29 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 15 Apr 2010 19:07:29 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Thu, 15 Apr 2010 12:07:22 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: OAuth WG <oauth@ietf.org>
Date: Thu, 15 Apr 2010 12:07:19 -0700
Thread-Topic: Issue: Scope parameter
Thread-Index: Acrczt6hQU+pa35/2kagxGMjLa51zw==
Message-ID: <C7ECB1F7.32357%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 19:07:43 -0000

WRAP includes a loosely defined scope parameter which allows for
vendor-specific (and non-interoperable) use cases. This was requested by
many working group members to be included in OAuth 2.0 with the argument
that while it doesn't help interop, it makes using clients easier.

The problem with a general purpose scope parameter that is completely
undefined in structure is that it hurts interop more than it helps. It
creates an expectation that values can be used across services, and it
cannot be used without another spec defining its content and structure. Suc=
h
as spec can simply define its own parameter.

In addition, it is not clear what belongs in scope (list of resources,
access type, duration of access, right to share data, rights to
re-delegate).

The rules should be that if a parameter cannot be used without another
documentation, it should be defined in that other document.

Proposal: Request proposals for a scope parameter definition that improve
interop. Otherwise, keep the parameter out of the core spec.

EHL


From john@jkemp.net  Thu Apr 15 12:08:47 2010
Return-Path: <john@jkemp.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 433BF3A691D for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:08:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level: 
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tcAvi9+v9UlF for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:08:46 -0700 (PDT)
Received: from mgw-mx09.nokia.com (smtp.nokia.com [192.100.105.134]) by core3.amsl.com (Postfix) with ESMTP id 539B03A680A for <oauth@ietf.org>; Thu, 15 Apr 2010 12:08:45 -0700 (PDT)
Received: from vaebh105.NOE.Nokia.com (vaebh105.europe.nokia.com [10.160.244.31]) by mgw-mx09.nokia.com (Switch-3.3.3/Switch-3.3.3) with ESMTP id o3FJ8Wto006729; Thu, 15 Apr 2010 14:08:34 -0500
Received: from vaebh104.NOE.Nokia.com ([10.160.244.30]) by vaebh105.NOE.Nokia.com with Microsoft SMTPSVC(6.0.3790.3959);  Thu, 15 Apr 2010 22:08:32 +0300
Received: from mgw-sa02.ext.nokia.com ([147.243.1.48]) by vaebh104.NOE.Nokia.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.3959); Thu, 15 Apr 2010 22:08:32 +0300
Received: from [172.16.1.227] (ucofw-nat2.nokia.com [131.228.1.90]) by mgw-sa02.ext.nokia.com (Switch-3.3.3/Switch-3.3.3) with ESMTP id o3FJ8SVq028603 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Thu, 15 Apr 2010 22:08:30 +0300
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: John Kemp <john@jkemp.net>
In-Reply-To: <C7ECA88E.32337%eran@hueniverse.com>
Date: Thu, 15 Apr 2010 15:08:27 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <36B0D223-725E-4782-BBAE-F1A930C15843@jkemp.net>
References: <C7ECA88E.32337%eran@hueniverse.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
X-Mailer: Apple Mail (2.1078)
X-OriginalArrivalTime: 15 Apr 2010 19:08:32.0110 (UTC) FILETIME=[0A3580E0:01CADCCF]
X-Nokia-AV: Clean
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 19:08:47 -0000

Hello,

On Apr 15, 2010, at 2:27 PM, Eran Hammer-Lahav wrote:

> OAuth 2.0 flows use a single authorization endpoint (with 'type' =
parameter).
> This endpoint is OAuth-specific but must allow for extension =
parameters
> (standard or vendor-specific).
>=20
> The issue is how to best allow for extensions defining new parameters. =
The
> danger is common parameter names ('scope', 'language', 'permission') =
being
> used differently by different vendors, creating interop issues with
> libraries.

If the OAuth specification defines the name for a parameter, and people =
claim to implement the specification, they must use those parameter =
names according to the specified usage. In other words, implementations =
of OAuth should all do the same thing, and use the same names for the =
OAuth-specific parameters. But, deployments of OAuth will use OAuth =
implementations and possibly have additional requirements (such as =
passing other query string parameters which may collide with the OAuth =
ones). And particular OAuth vendors may add other extension parameters =
(agreed between particular implementations but not perhaps within the =
entire community) to the query string. All of that might be covered by =
"conformance to the specification" - conformant implementations MUST not =
define parameters with names that clash with the agreed OAuth names.

>=20
> Prefix alone (for the core or extensions) does not solve the problem =
since
> extensions still suffer from potential namespace collision.

Right. You cannot solve this problem. The danger is for those who don't =
read the spec. (because they don't have to - they are buying a product, =
or using a library).=20

> 'oauth_' prefix
> makes all the parameter names longer, but doesn't add real value - =
defining
> new parameters, with or without the 'oauth_' prefix is still the same
> problem.
>=20
> The typical solution is to define an extension policy, using a =
registry or
> domain-namespace for new names.
>=20
> Proposal:
>=20
> Plain parameter names (names without '.' character) require =
registration
> (IANA registry with a published specification). This will encourage =
people
> to share their parameters and improve interop beyond the core protocol
> parameters.

It will - how?

>=20
> Vendor specific names will require a prefix using either registered =
vendor
> names (e.g. 'google', 'fb', 'yahoo').

How will you *require* this - will there be a statement to that effect =
in the specification - "conformant implementations MUST NOT define query =
parameters that clash withe names int he OAuth registry "? What will you =
do about deployments which include an OAuth library and do not know =
anything at all about the OAuth requirements?

> Alternatively, use the same extension
> policy as OpenID where extensions use any prefix and include a prefix =
URI
> identifier (e.g.=20
> http://example.com?etx.language=3Den&ns:ext=3Dhttp://example.com/spec1).=

>=20

What do you consider an "extension" for this purpose (some parameter =
agreed on by two or more conforming OAuth implementations)?

- johnk

> EHL
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From eran@hueniverse.com  Thu Apr 15 12:12:44 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 082113A6895 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:12:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.446
X-Spam-Level: 
X-Spam-Status: No, score=-2.446 tagged_above=-999 required=5 tests=[AWL=0.153,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wQw-JRG-skGE for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:12:42 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 976B13A68B9 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:12:40 -0700 (PDT)
Received: (qmail 13613 invoked from network); 15 Apr 2010 19:12:34 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 15 Apr 2010 19:12:34 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Thu, 15 Apr 2010 12:12:31 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: OAuth WG <oauth@ietf.org>
Date: Thu, 15 Apr 2010 12:12:28 -0700
Thread-Topic: Issue: add refresh token as optional in all access token requests
Thread-Index: Acrcz5bPvURAxWexf0+Y8mHB8wchCw==
Message-ID: <C7ECB32C.3235C%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: [OAUTH-WG] Issue: add refresh token as optional in all access token requests
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 19:12:44 -0000

Not all the flows return a refresh token for security or practicality
reasons. Adding refresh token as optional in all access token requests is
required to enable upgrading a token to a token with secret. It also can
make the spec slightly shorter by not having to repeat all the parameters.

We need to either add it to every token response or allow the client to
request a secret directly without having to refresh the token.

Proposal: Keep bearer tokens as the default first-issued credential and add
an optional refresh token everywhere.

EHL


From mscurtescu@google.com  Thu Apr 15 12:16:07 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 5E0BB3A68B8 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:16:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.917
X-Spam-Level: 
X-Spam-Status: No, score=-105.917 tagged_above=-999 required=5 tests=[AWL=0.060, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nhtSSipU20Lw for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:16:06 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id D51393A690B for <oauth@ietf.org>; Thu, 15 Apr 2010 12:16:01 -0700 (PDT)
Received: from wpaz17.hot.corp.google.com (wpaz17.hot.corp.google.com [172.24.198.81]) by smtp-out.google.com with ESMTP id o3FJFpai005725 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:15:51 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271358952; bh=Oq/0eAXNVtfT/6RHVPYKKljtlJ0=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=vebITNcRHk5GjLvr/nX5+B+jwr27NVIzGINEW7EG6xQpQ5Lk1JUR/R3zdYasHD0DK GiKVDt5CZXwFjlkDB6zuA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=BIKHDcX6wuiDEio7zu9wFAYbLdbZmsZXzRP/LCuyVTCjDfHEFx6PncEH1S5+ShAOw 5Lh9euhgMCcAI1zBRtD2g==
Received: from pwj7 (pwj7.prod.google.com [10.241.219.71]) by wpaz17.hot.corp.google.com with ESMTP id o3FJFokS020860 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:15:50 -0700
Received: by pwj7 with SMTP id 7so2111211pwj.2 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:15:50 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Thu, 15 Apr 2010 12:15:30 -0700 (PDT)
In-Reply-To: <36B0D223-725E-4782-BBAE-F1A930C15843@jkemp.net>
References: <C7ECA88E.32337%eran@hueniverse.com> <36B0D223-725E-4782-BBAE-F1A930C15843@jkemp.net>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 15 Apr 2010 12:15:30 -0700
Received: by 10.141.124.10 with SMTP id b10mr922462rvn.176.1271358950309; Thu,  15 Apr 2010 12:15:50 -0700 (PDT)
Message-ID: <t2h74caaad21004151215w3ab17b51n226de7279bb57274@mail.gmail.com>
To: John Kemp <john@jkemp.net>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 19:16:07 -0000

I really think we should keep a standard parameter prefix like
"oauth_". What are the issue with having a prefix?

Not having such a prefix will lead to collisions with query parameter
on the authz server endpoints or on the callback URL. Even if state is
not passed with additional parameters on callbacks. This also leads to
adding further limitations on these URLs, by not allowing query
parameters.

Marius



On Thu, Apr 15, 2010 at 12:08 PM, John Kemp <john@jkemp.net> wrote:
> Hello,
>
> On Apr 15, 2010, at 2:27 PM, Eran Hammer-Lahav wrote:
>
>> OAuth 2.0 flows use a single authorization endpoint (with 'type' paramet=
er).
>> This endpoint is OAuth-specific but must allow for extension parameters
>> (standard or vendor-specific).
>>
>> The issue is how to best allow for extensions defining new parameters. T=
he
>> danger is common parameter names ('scope', 'language', 'permission') bei=
ng
>> used differently by different vendors, creating interop issues with
>> libraries.
>
> If the OAuth specification defines the name for a parameter, and people c=
laim to implement the specification, they must use those parameter names ac=
cording to the specified usage. In other words, implementations of OAuth sh=
ould all do the same thing, and use the same names for the OAuth-specific p=
arameters. But, deployments of OAuth will use OAuth implementations and pos=
sibly have additional requirements (such as passing other query string para=
meters which may collide with the OAuth ones). And particular OAuth vendors=
 may add other extension parameters (agreed between particular implementati=
ons but not perhaps within the entire community) to the query string. All o=
f that might be covered by "conformance to the specification" - conformant =
implementations MUST not define parameters with names that clash with the a=
greed OAuth names.
>
>>
>> Prefix alone (for the core or extensions) does not solve the problem sin=
ce
>> extensions still suffer from potential namespace collision.
>
> Right. You cannot solve this problem. The danger is for those who don't r=
ead the spec. (because they don't have to - they are buying a product, or u=
sing a library).
>
>> 'oauth_' prefix
>> makes all the parameter names longer, but doesn't add real value - defin=
ing
>> new parameters, with or without the 'oauth_' prefix is still the same
>> problem.
>>
>> The typical solution is to define an extension policy, using a registry =
or
>> domain-namespace for new names.
>>
>> Proposal:
>>
>> Plain parameter names (names without '.' character) require registration
>> (IANA registry with a published specification). This will encourage peop=
le
>> to share their parameters and improve interop beyond the core protocol
>> parameters.
>
> It will - how?
>
>>
>> Vendor specific names will require a prefix using either registered vend=
or
>> names (e.g. 'google', 'fb', 'yahoo').
>
> How will you *require* this - will there be a statement to that effect in=
 the specification - "conformant implementations MUST NOT define query para=
meters that clash withe names int he OAuth registry "? What will you do abo=
ut deployments which include an OAuth library and do not know anything at a=
ll about the OAuth requirements?
>
>> Alternatively, use the same extension
>> policy as OpenID where extensions use any prefix and include a prefix UR=
I
>> identifier (e.g.
>> http://example.com?etx.language=3Den&ns:ext=3Dhttp://example.com/spec1).
>>
>
> What do you consider an "extension" for this purpose (some parameter agre=
ed on by two or more conforming OAuth implementations)?
>
> - johnk
>
>> EHL
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From eran@hueniverse.com  Thu Apr 15 12:18:38 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 688F23A699E for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:18:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.448
X-Spam-Level: 
X-Spam-Status: No, score=-2.448 tagged_above=-999 required=5 tests=[AWL=0.151,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zZ5IymGvJxPy for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:18:35 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 4CC2E3A6973 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:18:35 -0700 (PDT)
Received: (qmail 9644 invoked from network); 15 Apr 2010 19:18:28 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 15 Apr 2010 19:18:28 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Thu, 15 Apr 2010 12:18:28 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: John Kemp <john@jkemp.net>
Date: Thu, 15 Apr 2010 12:18:25 -0700
Thread-Topic: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
Thread-Index: Acrczw8F2+Px6+o0T0O5Tqf3u3/cSgAAVyWr
Message-ID: <C7ECB491.32362%eran@hueniverse.com>
In-Reply-To: <36B0D223-725E-4782-BBAE-F1A930C15843@jkemp.net>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 19:18:38 -0000

Hey John,


On 4/15/10 12:08 PM, "John Kemp" <john@jkemp.net> wrote:

> Hello,
>=20
> On Apr 15, 2010, at 2:27 PM, Eran Hammer-Lahav wrote:
>=20
>> OAuth 2.0 flows use a single authorization endpoint (with 'type' paramet=
er).
>> This endpoint is OAuth-specific but must allow for extension parameters
>> (standard or vendor-specific).
>>=20
>> The issue is how to best allow for extensions defining new parameters. T=
he
>> danger is common parameter names ('scope', 'language', 'permission') bei=
ng
>> used differently by different vendors, creating interop issues with
>> libraries.
>=20
> If the OAuth specification defines the name for a parameter, and people c=
laim
> to implement the specification, they must use those parameter names accor=
ding
> to the specified usage. In other words, implementations of OAuth should a=
ll do
> the same thing, and use the same names for the OAuth-specific parameters.=
 But,
> deployments of OAuth will use OAuth implementations and possibly have
> additional requirements (such as passing other query string parameters wh=
ich
> may collide with the OAuth ones). And particular OAuth vendors may add ot=
her
> extension parameters (agreed between particular implementations but not
> perhaps within the entire community) to the query string. All of that mig=
ht be
> covered by "conformance to the specification" - conformant implementation=
s
> MUST not define parameters with names that clash with the agreed OAuth na=
mes.
>=20
>>=20
>> Prefix alone (for the core or extensions) does not solve the problem sin=
ce
>> extensions still suffer from potential namespace collision.
>=20
> Right. You cannot solve this problem. The danger is for those who don't r=
ead
> the spec. (because they don't have to - they are buying a product, or usi=
ng a
> library).
>=20
>> 'oauth_' prefix
>> makes all the parameter names longer, but doesn't add real value - defin=
ing
>> new parameters, with or without the 'oauth_' prefix is still the same
>> problem.
>>=20
>> The typical solution is to define an extension policy, using a registry =
or
>> domain-namespace for new names.
>>=20
>> Proposal:
>>=20
>> Plain parameter names (names without '.' character) require registration
>> (IANA registry with a published specification). This will encourage peop=
le
>> to share their parameters and improve interop beyond the core protocol
>> parameters.
>=20
> It will - how?

People like short and general parameter names (see link relation types
registry discussion). If you make it easy for them to register these short
names, they usually do.

>>=20
>> Vendor specific names will require a prefix using either registered vend=
or
>> names (e.g. 'google', 'fb', 'yahoo').
>=20
> How will you *require* this - will there be a statement to that effect in=
 the
> specification - "conformant implementations MUST NOT define query paramet=
ers
> that clash withe names int he OAuth registry "? What will you do about
> deployments which include an OAuth library and do not know anything at al=
l
> about the OAuth requirements?

Yes. The spec will define a set of reserved parameter names (no one is
allowed to change these), and rules for using new parameters without a
period in the name (common extension) and parameter with a period (vendor
specific extensions).

There is nothing I can do about people who do not read the spec and choose
to implement it differently.

>> Alternatively, use the same extension
>> policy as OpenID where extensions use any prefix and include a prefix UR=
I
>> identifier (e.g.
>> http://example.com?etx.language=3Den&ns:ext=3Dhttp://example.com/spec1).
>>=20
>=20
> What do you consider an "extension" for this purpose (some parameter agre=
ed on
> by two or more conforming OAuth implementations)?

Any parameter not defined by the core spec.

EHL

> - johnk
>=20
>> EHL
>>=20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>=20
>=20


From mscurtescu@google.com  Thu Apr 15 12:22:37 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C47373A6AC2 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:22:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.927
X-Spam-Level: 
X-Spam-Status: No, score=-105.927 tagged_above=-999 required=5 tests=[AWL=0.050, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GmXUE+bY8ymq for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:22:34 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id C1FEA3A67FC for <oauth@ietf.org>; Thu, 15 Apr 2010 12:21:18 -0700 (PDT)
Received: from kpbe19.cbf.corp.google.com (kpbe19.cbf.corp.google.com [172.25.105.83]) by smtp-out.google.com with ESMTP id o3FJLANN019848 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:21:10 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271359271; bh=zlycNn6jMU69FE4ntUtoxmtYcrU=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=KtBn+3A0Ungu6OFBe2qiw7J7Zfpu1/BGQFmg0Kipufl2+1J3bnTnSEqnvGloInSdF beX1XhKXt+DOiWxscMjWw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=g4Du/OCtVpsTTb/PO4ghW9uvaROOdEyLloi29jCJ8daBb32I5h8CYDmOLraFPPV71 wkn/00Tiy0Oba4UoxHVtw==
Received: from pvc22 (pvc22.prod.google.com [10.241.209.150]) by kpbe19.cbf.corp.google.com with ESMTP id o3FJKn1l030929 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:21:09 -0700
Received: by pvc22 with SMTP id 22so1138604pvc.11 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:21:09 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Thu, 15 Apr 2010 12:20:49 -0700 (PDT)
In-Reply-To: <C7ECB1F7.32357%eran@hueniverse.com>
References: <C7ECB1F7.32357%eran@hueniverse.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 15 Apr 2010 12:20:49 -0700
Received: by 10.141.187.9 with SMTP id o9mr900720rvp.211.1271359269288; Thu,  15 Apr 2010 12:21:09 -0700 (PDT)
Message-ID: <m2n74caaad21004151220qac3a829em2dc17f1c93b6efa1@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 19:22:37 -0000

I still have not seen any arguments why scope structure is needed for
interop. Client and server side libraries do not need to understand
the scope, they just pass it around. Client and server code do need to
understand the scope, but we are not dealing with that.

Yes, a scope parameter does not buy much, it only prevents each authz
server from inventing their own custom parameter.

Marius



On Thu, Apr 15, 2010 at 12:07 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> WRAP includes a loosely defined scope parameter which allows for
> vendor-specific (and non-interoperable) use cases. This was requested by
> many working group members to be included in OAuth 2.0 with the argument
> that while it doesn't help interop, it makes using clients easier.
>
> The problem with a general purpose scope parameter that is completely
> undefined in structure is that it hurts interop more than it helps. It
> creates an expectation that values can be used across services, and it
> cannot be used without another spec defining its content and structure. Such
> as spec can simply define its own parameter.
>
> In addition, it is not clear what belongs in scope (list of resources,
> access type, duration of access, right to share data, rights to
> re-delegate).
>
> The rules should be that if a parameter cannot be used without another
> documentation, it should be defined in that other document.
>
> Proposal: Request proposals for a scope parameter definition that improve
> interop. Otherwise, keep the parameter out of the core spec.
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From recordond@gmail.com  Thu Apr 15 12:24:30 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2670328C226 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:24:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AP8XWe-Ay1HP for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:24:27 -0700 (PDT)
Received: from mail-pz0-f193.google.com (mail-pz0-f193.google.com [209.85.222.193]) by core3.amsl.com (Postfix) with ESMTP id C52F13A6A2A for <oauth@ietf.org>; Thu, 15 Apr 2010 12:22:33 -0700 (PDT)
Received: by pzk31 with SMTP id 31so724095pzk.31 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:22:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=5RzaoofNo2j9lBCOorFFnpMhsbBshSKeiwz6z/PfkpI=; b=wQCaZQeFtMAtkBofMRg6px8NI+eaBMzwRSSnz7PqhdwKuwijC1SbBp8U7+gxrsxEWM 4jXjsgwFBIFX7kkY5S8ehx00K+4kn7v3uHhTV+RGAvkQWGh+xtoxvudCOvCq7Q0pmdGB 8AWj3Ni5BdmGHIEg7Lc6xRSXYjkhbsFcR5t7Y=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=PLRkY2y/9JwU/5wblK+g3yguK4yefN8Y3bkLk9+es3QF8RO2kbm/yPzTYYuKRx7HnZ hfF+HtLtPEAdQ5OHSqq/kV3I9sAztf4TbBPuyLBKvtmHly7H42K0JnkjEw6Z0YsAqoYP AK4oQSj90ppTQZUEeO+nb1vTd1QyAXsfzeL/Q=
MIME-Version: 1.0
Received: by 10.231.182.196 with HTTP; Thu, 15 Apr 2010 12:22:24 -0700 (PDT)
In-Reply-To: <t2h74caaad21004151215w3ab17b51n226de7279bb57274@mail.gmail.com>
References: <C7ECA88E.32337%eran@hueniverse.com> <36B0D223-725E-4782-BBAE-F1A930C15843@jkemp.net> <t2h74caaad21004151215w3ab17b51n226de7279bb57274@mail.gmail.com>
Date: Thu, 15 Apr 2010 12:22:24 -0700
Received: by 10.141.91.19 with SMTP id t19mr925923rvl.104.1271359344420; Thu,  15 Apr 2010 12:22:24 -0700 (PDT)
Message-ID: <v2lfd6741651004151222w93dfaa4bx6cc3f3f18447c076@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Marius Scurtescu <mscurtescu@google.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 19:24:30 -0000

I thought we already settled this (though am having a hard time
finding the specific thread).  Either we spec for interop or for
vendors being able to twist the spec in their own ways. I vote for
interop. :)


On Thu, Apr 15, 2010 at 12:15 PM, Marius Scurtescu
<mscurtescu@google.com> wrote:
> I really think we should keep a standard parameter prefix like
> "oauth_". What are the issue with having a prefix?
>
> Not having such a prefix will lead to collisions with query parameter
> on the authz server endpoints or on the callback URL. Even if state is
> not passed with additional parameters on callbacks. This also leads to
> adding further limitations on these URLs, by not allowing query
> parameters.
>
> Marius
>
>
>
> On Thu, Apr 15, 2010 at 12:08 PM, John Kemp <john@jkemp.net> wrote:
>> Hello,
>>
>> On Apr 15, 2010, at 2:27 PM, Eran Hammer-Lahav wrote:
>>
>>> OAuth 2.0 flows use a single authorization endpoint (with 'type' parame=
ter).
>>> This endpoint is OAuth-specific but must allow for extension parameters
>>> (standard or vendor-specific).
>>>
>>> The issue is how to best allow for extensions defining new parameters. =
The
>>> danger is common parameter names ('scope', 'language', 'permission') be=
ing
>>> used differently by different vendors, creating interop issues with
>>> libraries.
>>
>> If the OAuth specification defines the name for a parameter, and people =
claim to implement the specification, they must use those parameter names a=
ccording to the specified usage. In other words, implementations of OAuth s=
hould all do the same thing, and use the same names for the OAuth-specific =
parameters. But, deployments of OAuth will use OAuth implementations and po=
ssibly have additional requirements (such as passing other query string par=
ameters which may collide with the OAuth ones). And particular OAuth vendor=
s may add other extension parameters (agreed between particular implementat=
ions but not perhaps within the entire community) to the query string. All =
of that might be covered by "conformance to the specification" - conformant=
 implementations MUST not define parameters with names that clash with the =
agreed OAuth names.
>>
>>>
>>> Prefix alone (for the core or extensions) does not solve the problem si=
nce
>>> extensions still suffer from potential namespace collision.
>>
>> Right. You cannot solve this problem. The danger is for those who don't =
read the spec. (because they don't have to - they are buying a product, or =
using a library).
>>
>>> 'oauth_' prefix
>>> makes all the parameter names longer, but doesn't add real value - defi=
ning
>>> new parameters, with or without the 'oauth_' prefix is still the same
>>> problem.
>>>
>>> The typical solution is to define an extension policy, using a registry=
 or
>>> domain-namespace for new names.
>>>
>>> Proposal:
>>>
>>> Plain parameter names (names without '.' character) require registratio=
n
>>> (IANA registry with a published specification). This will encourage peo=
ple
>>> to share their parameters and improve interop beyond the core protocol
>>> parameters.
>>
>> It will - how?
>>
>>>
>>> Vendor specific names will require a prefix using either registered ven=
dor
>>> names (e.g. 'google', 'fb', 'yahoo').
>>
>> How will you *require* this - will there be a statement to that effect i=
n the specification - "conformant implementations MUST NOT define query par=
ameters that clash withe names int he OAuth registry "? What will you do ab=
out deployments which include an OAuth library and do not know anything at =
all about the OAuth requirements?
>>
>>> Alternatively, use the same extension
>>> policy as OpenID where extensions use any prefix and include a prefix U=
RI
>>> identifier (e.g.
>>> http://example.com?etx.language=3Den&ns:ext=3Dhttp://example.com/spec1)=
.
>>>
>>
>> What do you consider an "extension" for this purpose (some parameter agr=
eed on by two or more conforming OAuth implementations)?
>>
>> - johnk
>>
>>> EHL
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From recordond@gmail.com  Thu Apr 15 12:24:44 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 035AD3A67FC for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:24:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eppzxYYL2dXO for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:24:43 -0700 (PDT)
Received: from mail-pw0-f44.google.com (mail-pw0-f44.google.com [209.85.160.44]) by core3.amsl.com (Postfix) with ESMTP id 61C533A6818 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:23:06 -0700 (PDT)
Received: by pwj2 with SMTP id 2so1432576pwj.31 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:22:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=62+3Npz7iyzFWr8DdJmxWidQz9e/9jSecKH3ddTEjio=; b=B+WpKshQz1fqE7ZKUq46FNFCNOMY9y/BPy1SLtz6n8y36lH0kR8ikFCC3GIWSI/KaO GqI/hZH7Xycir6aSbfFGp47xB9ghMcO0MGNT6d2iul5YG8j4nvIG6xgugVvH0CdUSKp6 ABT97070XylqKBi06ESwiy5mYFTWHySpd4ov4=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=DbInFLknuFThrgfFnynVShS0ZWYqaZdAE/4eDQ871v9Y5haygKQkaWaITLflbmNRHU rpYT40xe76qwkbjxsgmfVq2IoO/Fi94vktXuojdlzFxFku38Kgt2hIMFkpYvFqSM4jdg 0jRkJda/uHL/bcj10F1NvjTwoUabmlouqUSBM=
MIME-Version: 1.0
Received: by 10.231.182.196 with HTTP; Thu, 15 Apr 2010 12:22:53 -0700 (PDT)
In-Reply-To: <C7ECB32C.3235C%eran@hueniverse.com>
References: <C7ECB32C.3235C%eran@hueniverse.com>
Date: Thu, 15 Apr 2010 12:22:53 -0700
Received: by 10.114.237.24 with SMTP id k24mr768924wah.29.1271359374147; Thu,  15 Apr 2010 12:22:54 -0700 (PDT)
Message-ID: <h2sfd6741651004151222of48b86c7pedd36f9d653d607e@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: add refresh token as optional in all access token requests
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 19:24:44 -0000

+1, remember discussing this a week or so ago on the list

On Thu, Apr 15, 2010 at 12:12 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> Not all the flows return a refresh token for security or practicality
> reasons. Adding refresh token as optional in all access token requests is
> required to enable upgrading a token to a token with secret. It also can
> make the spec slightly shorter by not having to repeat all the parameters.
>
> We need to either add it to every token response or allow the client to
> request a secret directly without having to refresh the token.
>
> Proposal: Keep bearer tokens as the default first-issued credential and add
> an optional refresh token everywhere.
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From recordond@gmail.com  Thu Apr 15 12:26:50 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B9F4E3A68B8 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:26:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NCUUQ6CVuolY for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:26:49 -0700 (PDT)
Received: from mail-pv0-f172.google.com (mail-pv0-f172.google.com [74.125.83.172]) by core3.amsl.com (Postfix) with ESMTP id 5D4C73A68A2 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:26:35 -0700 (PDT)
Received: by pvf33 with SMTP id 33so1160352pvf.31 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:26:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=vNUFEeM3gQt3WqyfmTaRF5YTFuZkpbO7csEYJxd3GWM=; b=ibZ5yX+8eCaVHINJz5j469iDk/eu07kKE+ZTS/q5rUDXcVOtTagW+3UIaJV4fpygsi BRb3lovca3L8eQhJML+krajo8gLEAXDAdo/JInJBGFvhlbbNH2fKJjbVybQaBNnZZebZ 4NisujECITw2xyCiEITsd8Mr2KjRnfFw9qaCA=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=QD9x6L5ZEH6YyDdzwDwB1Z52S+vwKLT+QCws7OThZyR3fqELC7Hb95nwOVyy6GYpP8 gDUo7IJTWhZ/5WXWpvUtnO19vrRPcz9rRfxb8FF94+9zgWWkRkVYp5IiELHhArS8APdo 7G5Z7Tl7Cb+2Mx6ScxluxBxm3BX05vlhLSQdw=
MIME-Version: 1.0
Received: by 10.231.182.196 with HTTP; Thu, 15 Apr 2010 12:26:24 -0700 (PDT)
In-Reply-To: <m2n74caaad21004151220qac3a829em2dc17f1c93b6efa1@mail.gmail.com>
References: <C7ECB1F7.32357%eran@hueniverse.com> <m2n74caaad21004151220qac3a829em2dc17f1c93b6efa1@mail.gmail.com>
Date: Thu, 15 Apr 2010 12:26:24 -0700
Received: by 10.114.237.24 with SMTP id k24mr774781wah.29.1271359585040; Thu,  15 Apr 2010 12:26:25 -0700 (PDT)
Message-ID: <m2pfd6741651004151226r925959f4u622396e63c950a1e@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Marius Scurtescu <mscurtescu@google.com>
Content-Type: text/plain; charset=ISO-8859-1
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 19:26:50 -0000

Marius, why don't we write a one page spec which defines scope as an
extension? We end up with agreement around if scope is a useful
parameter and a simple parameter name for multiple vendors (because it
is an extension). Since you seem to be advocating for including scope
the most, would you mind trying to write out a few paragraphs?

Thanks,
--David


On Thu, Apr 15, 2010 at 12:20 PM, Marius Scurtescu
<mscurtescu@google.com> wrote:
> I still have not seen any arguments why scope structure is needed for
> interop. Client and server side libraries do not need to understand
> the scope, they just pass it around. Client and server code do need to
> understand the scope, but we are not dealing with that.
>
> Yes, a scope parameter does not buy much, it only prevents each authz
> server from inventing their own custom parameter.
>
> Marius
>
>
>
> On Thu, Apr 15, 2010 at 12:07 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
>> WRAP includes a loosely defined scope parameter which allows for
>> vendor-specific (and non-interoperable) use cases. This was requested by
>> many working group members to be included in OAuth 2.0 with the argument
>> that while it doesn't help interop, it makes using clients easier.
>>
>> The problem with a general purpose scope parameter that is completely
>> undefined in structure is that it hurts interop more than it helps. It
>> creates an expectation that values can be used across services, and it
>> cannot be used without another spec defining its content and structure. Such
>> as spec can simply define its own parameter.
>>
>> In addition, it is not clear what belongs in scope (list of resources,
>> access type, duration of access, right to share data, rights to
>> re-delegate).
>>
>> The rules should be that if a parameter cannot be used without another
>> documentation, it should be defined in that other document.
>>
>> Proposal: Request proposals for a scope parameter definition that improve
>> interop. Otherwise, keep the parameter out of the core spec.
>>
>> EHL
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From eran@hueniverse.com  Thu Apr 15 12:27:39 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 5BB7C3A68C5 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:27:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.45
X-Spam-Level: 
X-Spam-Status: No, score=-2.45 tagged_above=-999 required=5 tests=[AWL=0.149,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zJkpazyoK05y for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:27:38 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 115A13A6818 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:27:35 -0700 (PDT)
Received: (qmail 17428 invoked from network); 15 Apr 2010 19:27:29 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 15 Apr 2010 19:27:28 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Thu, 15 Apr 2010 12:27:24 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>, John Kemp <john@jkemp.net>
Date: Thu, 15 Apr 2010 12:27:21 -0700
Thread-Topic: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
Thread-Index: Acrc0BO+OB6f4oKKSrq/bboyTLwanQAAZdUw
Message-ID: <C7ECB6A9.3236A%eran@hueniverse.com>
In-Reply-To: <t2h74caaad21004151215w3ab17b51n226de7279bb57274@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 19:27:39 -0000

On 4/15/10 12:15 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

> I really think we should keep a standard parameter prefix like
> "oauth_". What are the issue with having a prefix?

I really think we shouldn't. :-)

Requests are longer for no reason. You need to show how a prefix actually
helps. Otherwise, it is the same as adding an 'protocol=3Doauth' to every
request just for fun.

> Not having such a prefix will lead to collisions with query parameter
> on the authz server endpoints

Having a prefix without an extension policy does not help at all to prevent
collisions. This is a false expectation. There is no difference between
saying 'don't add new parameters with the oauth_ prefix' or 'don't add new
parameters with names already used by this specification'.

> or on the callback URL. Even if state is
> not passed with additional parameters on callbacks. This also leads to
> adding further limitations on these URLs, by not allowing query
> parameters.

Callback parameters are a bit different. We still need to solve the issue o=
f
how to allow client state in callbacks (state parameter or free-for-all).
But here too, a prefix does not solve collisions. You have the same
extension policy issue.

A prefix just "solves" potential collision between the core spec and other
specs using the same parameter names. It does not help how to avoid
collisions between extensions and vendors. OAuth 1.0a had a prefix and then
we spent weeks discussion who else can define oauth_ parameters. It just
moved the problem somewhere else - the extension policy.

> Marius
>=20
>=20
>=20
> On Thu, Apr 15, 2010 at 12:08 PM, John Kemp <john@jkemp.net> wrote:
>> Hello,
>>=20
>> On Apr 15, 2010, at 2:27 PM, Eran Hammer-Lahav wrote:
>>=20
>>> OAuth 2.0 flows use a single authorization endpoint (with 'type' parame=
ter).
>>> This endpoint is OAuth-specific but must allow for extension parameters
>>> (standard or vendor-specific).
>>>=20
>>> The issue is how to best allow for extensions defining new parameters. =
The
>>> danger is common parameter names ('scope', 'language', 'permission') be=
ing
>>> used differently by different vendors, creating interop issues with
>>> libraries.
>>=20
>> If the OAuth specification defines the name for a parameter, and people =
claim
>> to implement the specification, they must use those parameter names acco=
rding
>> to the specified usage. In other words, implementations of OAuth should =
all
>> do the same thing, and use the same names for the OAuth-specific paramet=
ers.
>> But, deployments of OAuth will use OAuth implementations and possibly ha=
ve
>> additional requirements (such as passing other query string parameters w=
hich
>> may collide with the OAuth ones). And particular OAuth vendors may add o=
ther
>> extension parameters (agreed between particular implementations but not
>> perhaps within the entire community) to the query string. All of that mi=
ght
>> be covered by "conformance to the specification" - conformant implementa=
tions
>> MUST not define parameters with names that clash with the agreed OAuth n=
ames.
>>=20
>>>=20
>>> Prefix alone (for the core or extensions) does not solve the problem si=
nce
>>> extensions still suffer from potential namespace collision.
>>=20
>> Right. You cannot solve this problem. The danger is for those who don't =
read
>> the spec. (because they don't have to - they are buying a product, or us=
ing a
>> library).
>>=20
>>> 'oauth_' prefix
>>> makes all the parameter names longer, but doesn't add real value - defi=
ning
>>> new parameters, with or without the 'oauth_' prefix is still the same
>>> problem.
>>>=20
>>> The typical solution is to define an extension policy, using a registry=
 or
>>> domain-namespace for new names.
>>>=20
>>> Proposal:
>>>=20
>>> Plain parameter names (names without '.' character) require registratio=
n
>>> (IANA registry with a published specification). This will encourage peo=
ple
>>> to share their parameters and improve interop beyond the core protocol
>>> parameters.
>>=20
>> It will - how?
>>=20
>>>=20
>>> Vendor specific names will require a prefix using either registered ven=
dor
>>> names (e.g. 'google', 'fb', 'yahoo').
>>=20
>> How will you *require* this - will there be a statement to that effect i=
n the
>> specification - "conformant implementations MUST NOT define query parame=
ters
>> that clash withe names int he OAuth registry "? What will you do about
>> deployments which include an OAuth library and do not know anything at a=
ll
>> about the OAuth requirements?
>>=20
>>> Alternatively, use the same extension
>>> policy as OpenID where extensions use any prefix and include a prefix U=
RI
>>> identifier (e.g.
>>> http://example.com?etx.language=3Den&ns:ext=3Dhttp://example.com/spec1)=
.
>>>=20
>>=20
>> What do you consider an "extension" for this purpose (some parameter agr=
eed
>> on by two or more conforming OAuth implementations)?
>>=20
>> - johnk
>>=20
>>> EHL
>>>=20
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>=20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>=20
>=20


From mscurtescu@google.com  Thu Apr 15 12:28:17 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 00D063A68C5 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:28:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.466
X-Spam-Level: 
X-Spam-Status: No, score=-101.466 tagged_above=-999 required=5 tests=[AWL=0.511, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fIvLni0XoKOr for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:28:13 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 1916E3A67FC for <oauth@ietf.org>; Thu, 15 Apr 2010 12:28:12 -0700 (PDT)
Received: from hpaq12.eem.corp.google.com (hpaq12.eem.corp.google.com [10.3.21.12]) by smtp-out.google.com with ESMTP id o3FJS5Gl017114 for <oauth@ietf.org>; Thu, 15 Apr 2010 21:28:05 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271359685; bh=9QbhHBxVYOCRZ+i50f+03woZVmM=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=dRjjo5qdnf82GJMufgjEgZmwdpM+WGJXEobB3nqc0DwWk8vbxVr6VwkxU4hQhyjMp 5JlsersWlG3uE0j9yTs6A==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=KyVW36ugzN2vohQAbAxQVN05v+vI9N5nsm/MHA3wWmW27wwz25dDdLS6OBPje3z86 ByK1pxo9aBHSCiJcw5p1A==
Received: from pvg4 (pvg4.prod.google.com [10.241.210.132]) by hpaq12.eem.corp.google.com with ESMTP id o3FJS3kK005152 for <oauth@ietf.org>; Thu, 15 Apr 2010 21:28:04 +0200
Received: by pvg4 with SMTP id 4so1200477pvg.23 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:28:03 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Thu, 15 Apr 2010 12:27:43 -0700 (PDT)
In-Reply-To: <v2lfd6741651004151222w93dfaa4bx6cc3f3f18447c076@mail.gmail.com>
References: <C7ECA88E.32337%eran@hueniverse.com> <36B0D223-725E-4782-BBAE-F1A930C15843@jkemp.net>  <t2h74caaad21004151215w3ab17b51n226de7279bb57274@mail.gmail.com>  <v2lfd6741651004151222w93dfaa4bx6cc3f3f18447c076@mail.gmail.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 15 Apr 2010 12:27:43 -0700
Received: by 10.141.139.17 with SMTP id r17mr972065rvn.65.1271359683204; Thu,  15 Apr 2010 12:28:03 -0700 (PDT)
Message-ID: <t2r74caaad21004151227paf6db30eme2336417a4472872@mail.gmail.com>
To: David Recordon <recordond@gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 19:28:17 -0000

On Thu, Apr 15, 2010 at 12:22 PM, David Recordon <recordond@gmail.com> wrot=
e:
> I thought we already settled this (though am having a hard time
> finding the specific thread). =A0Either we spec for interop or for
> vendors being able to twist the spec in their own ways. I vote for
> interop. :)

Lost you. Where do I argue for twisting anything?

If vendors want to add custom parameters and avoid collisions they can
always create their own prefix.

Why exactly is a standard prefix a problem?

Marius

>
>
> On Thu, Apr 15, 2010 at 12:15 PM, Marius Scurtescu
> <mscurtescu@google.com> wrote:
>> I really think we should keep a standard parameter prefix like
>> "oauth_". What are the issue with having a prefix?
>>
>> Not having such a prefix will lead to collisions with query parameter
>> on the authz server endpoints or on the callback URL. Even if state is
>> not passed with additional parameters on callbacks. This also leads to
>> adding further limitations on these URLs, by not allowing query
>> parameters.
>>
>> Marius
>>
>>
>>
>> On Thu, Apr 15, 2010 at 12:08 PM, John Kemp <john@jkemp.net> wrote:
>>> Hello,
>>>
>>> On Apr 15, 2010, at 2:27 PM, Eran Hammer-Lahav wrote:
>>>
>>>> OAuth 2.0 flows use a single authorization endpoint (with 'type' param=
eter).
>>>> This endpoint is OAuth-specific but must allow for extension parameter=
s
>>>> (standard or vendor-specific).
>>>>
>>>> The issue is how to best allow for extensions defining new parameters.=
 The
>>>> danger is common parameter names ('scope', 'language', 'permission') b=
eing
>>>> used differently by different vendors, creating interop issues with
>>>> libraries.
>>>
>>> If the OAuth specification defines the name for a parameter, and people=
 claim to implement the specification, they must use those parameter names =
according to the specified usage. In other words, implementations of OAuth =
should all do the same thing, and use the same names for the OAuth-specific=
 parameters. But, deployments of OAuth will use OAuth implementations and p=
ossibly have additional requirements (such as passing other query string pa=
rameters which may collide with the OAuth ones). And particular OAuth vendo=
rs may add other extension parameters (agreed between particular implementa=
tions but not perhaps within the entire community) to the query string. All=
 of that might be covered by "conformance to the specification" - conforman=
t implementations MUST not define parameters with names that clash with the=
 agreed OAuth names.
>>>
>>>>
>>>> Prefix alone (for the core or extensions) does not solve the problem s=
ince
>>>> extensions still suffer from potential namespace collision.
>>>
>>> Right. You cannot solve this problem. The danger is for those who don't=
 read the spec. (because they don't have to - they are buying a product, or=
 using a library).
>>>
>>>> 'oauth_' prefix
>>>> makes all the parameter names longer, but doesn't add real value - def=
ining
>>>> new parameters, with or without the 'oauth_' prefix is still the same
>>>> problem.
>>>>
>>>> The typical solution is to define an extension policy, using a registr=
y or
>>>> domain-namespace for new names.
>>>>
>>>> Proposal:
>>>>
>>>> Plain parameter names (names without '.' character) require registrati=
on
>>>> (IANA registry with a published specification). This will encourage pe=
ople
>>>> to share their parameters and improve interop beyond the core protocol
>>>> parameters.
>>>
>>> It will - how?
>>>
>>>>
>>>> Vendor specific names will require a prefix using either registered ve=
ndor
>>>> names (e.g. 'google', 'fb', 'yahoo').
>>>
>>> How will you *require* this - will there be a statement to that effect =
in the specification - "conformant implementations MUST NOT define query pa=
rameters that clash withe names int he OAuth registry "? What will you do a=
bout deployments which include an OAuth library and do not know anything at=
 all about the OAuth requirements?
>>>
>>>> Alternatively, use the same extension
>>>> policy as OpenID where extensions use any prefix and include a prefix =
URI
>>>> identifier (e.g.
>>>> http://example.com?etx.language=3Den&ns:ext=3Dhttp://example.com/spec1=
).
>>>>
>>>
>>> What do you consider an "extension" for this purpose (some parameter ag=
reed on by two or more conforming OAuth implementations)?
>>>
>>> - johnk
>>>
>>>> EHL
>>>>
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>

From eran@hueniverse.com  Thu Apr 15 12:28:59 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9F19428C0D0 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:28:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.451
X-Spam-Level: 
X-Spam-Status: No, score=-2.451 tagged_above=-999 required=5 tests=[AWL=0.147,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id weVse04FWFn9 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:28:54 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 8566B3A68C5 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:28:54 -0700 (PDT)
Received: (qmail 18856 invoked from network); 15 Apr 2010 19:28:48 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 15 Apr 2010 19:28:48 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Thu, 15 Apr 2010 12:28:18 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 15 Apr 2010 12:28:15 -0700
Thread-Topic: [OAUTH-WG] Issue: Scope parameter
Thread-Index: Acrc0NB95JSJ2DYbSeW6KTmer+R50AAAPrHP
Message-ID: <C7ECB6DF.3236D%eran@hueniverse.com>
In-Reply-To: <m2n74caaad21004151220qac3a829em2dc17f1c93b6efa1@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7ECB6DF3236Deranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 19:28:59 -0000

--_000_C7ECB6DF3236Deranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Don't they need to pass any other extension parameter around too? What make=
s this one so special?

EHL


On 4/15/10 12:20 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

I still have not seen any arguments why scope structure is needed for
interop. Client and server side libraries do not need to understand
the scope, they just pass it around. Client and server code do need to
understand the scope, but we are not dealing with that.

Yes, a scope parameter does not buy much, it only prevents each authz
server from inventing their own custom parameter.

Marius



On Thu, Apr 15, 2010 at 12:07 PM, Eran Hammer-Lahav <eran@hueniverse.com> w=
rote:
> WRAP includes a loosely defined scope parameter which allows for
> vendor-specific (and non-interoperable) use cases. This was requested by
> many working group members to be included in OAuth 2.0 with the argument
> that while it doesn't help interop, it makes using clients easier.
>
> The problem with a general purpose scope parameter that is completely
> undefined in structure is that it hurts interop more than it helps. It
> creates an expectation that values can be used across services, and it
> cannot be used without another spec defining its content and structure. S=
uch
> as spec can simply define its own parameter.
>
> In addition, it is not clear what belongs in scope (list of resources,
> access type, duration of access, right to share data, rights to
> re-delegate).
>
> The rules should be that if a parameter cannot be used without another
> documentation, it should be defined in that other document.
>
> Proposal: Request proposals for a scope parameter definition that improve
> interop. Otherwise, keep the parameter out of the core spec.
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>


--_000_C7ECB6DF3236Deranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Issue: Scope parameter</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>Don&#8217;t they need to pass any other extension parameter around to=
o? What makes this one so special?<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/15/10 12:20 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurtescu=
@google.com">mscurtescu@google.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>I still have not seen any arguments why sco=
pe structure is needed for<BR>
interop. Client and server side libraries do not need to understand<BR>
the scope, they just pass it around. Client and server code do need to<BR>
understand the scope, but we are not dealing with that.<BR>
<BR>
Yes, a scope parameter does not buy much, it only prevents each authz<BR>
server from inventing their own custom parameter.<BR>
<BR>
Marius<BR>
<BR>
<BR>
<BR>
On Thu, Apr 15, 2010 at 12:07 PM, Eran Hammer-Lahav &lt;<a href=3D"eran@hue=
niverse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
&gt; WRAP includes a loosely defined scope parameter which allows for<BR>
&gt; vendor-specific (and non-interoperable) use cases. This was requested =
by<BR>
&gt; many working group members to be included in OAuth 2.0 with the argume=
nt<BR>
&gt; that while it doesn't help interop, it makes using clients easier.<BR>
&gt;<BR>
&gt; The problem with a general purpose scope parameter that is completely<=
BR>
&gt; undefined in structure is that it hurts interop more than it helps. It=
<BR>
&gt; creates an expectation that values can be used across services, and it=
<BR>
&gt; cannot be used without another spec defining its content and structure=
. Such<BR>
&gt; as spec can simply define its own parameter.<BR>
&gt;<BR>
&gt; In addition, it is not clear what belongs in scope (list of resources,=
<BR>
&gt; access type, duration of access, right to share data, rights to<BR>
&gt; re-delegate).<BR>
&gt;<BR>
&gt; The rules should be that if a parameter cannot be used without another=
<BR>
&gt; documentation, it should be defined in that other document.<BR>
&gt;<BR>
&gt; Proposal: Request proposals for a scope parameter definition that impr=
ove<BR>
&gt; interop. Otherwise, keep the parameter out of the core spec.<BR>
&gt;<BR>
&gt; EHL<BR>
&gt;<BR>
&gt; _______________________________________________<BR>
&gt; OAuth mailing list<BR>
&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ie=
tf.org/mailman/listinfo/oauth</a><BR>
&gt;<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7ECB6DF3236Deranhueniversecom_--

From mscurtescu@google.com  Thu Apr 15 12:36:34 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 19A7D3A68DB for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:36:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.53
X-Spam-Level: 
X-Spam-Status: No, score=-101.53 tagged_above=-999 required=5 tests=[AWL=0.447, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fauEayLU5jjT for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:36:33 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id EDE823A694A for <oauth@ietf.org>; Thu, 15 Apr 2010 12:36:31 -0700 (PDT)
Received: from kpbe14.cbf.corp.google.com (kpbe14.cbf.corp.google.com [172.25.105.78]) by smtp-out.google.com with ESMTP id o3FJaNfB003889 for <oauth@ietf.org>; Thu, 15 Apr 2010 21:36:24 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271360184; bh=hxPY0ZwqlsinOT9OvYSxoQNXjwU=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=EfYaBV9Sir9M2YhVWX8Fb+9k0V7bzMq8cTMn88tG3Zf4yxg9s2CpG3mtdcfk6Mu7o SrBnpImcwaBaQCBh6aGgA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=dGcLLvGxaj0fiY8ydOmI+lM5ZHFtVt9uLT+g3o9bwQVIawn3XQBTZtei2eiLxG7ju z4UoxchoVCRaNF8shPvoQ==
Received: from pzk32 (pzk32.prod.google.com [10.243.19.160]) by kpbe14.cbf.corp.google.com with ESMTP id o3FJZoaF003449 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:36:22 -0700
Received: by pzk32 with SMTP id 32so832711pzk.21 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:36:22 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Thu, 15 Apr 2010 12:36:02 -0700 (PDT)
In-Reply-To: <C7ECB6A9.3236A%eran@hueniverse.com>
References: <t2h74caaad21004151215w3ab17b51n226de7279bb57274@mail.gmail.com>  <C7ECB6A9.3236A%eran@hueniverse.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 15 Apr 2010 12:36:02 -0700
Received: by 10.141.89.7 with SMTP id r7mr986575rvl.52.1271360182104; Thu, 15  Apr 2010 12:36:22 -0700 (PDT)
Message-ID: <m2t74caaad21004151236h6df241a2k6b18c788b300cca6@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 19:36:34 -0000

On Thu, Apr 15, 2010 at 12:27 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
>
> On 4/15/10 12:15 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
>> I really think we should keep a standard parameter prefix like
>> "oauth_". What are the issue with having a prefix?
>
> I really think we shouldn't. :-)
>
> Requests are longer for no reason.

Not much longer, the number of parameters is small. Why is this a problem?


> You need to show how a prefix actually
> helps. Otherwise, it is the same as adding an 'protocol=oauth' to every
> request just for fun.

I think I did.


>> Not having such a prefix will lead to collisions with query parameter
>> on the authz server endpoints
>
> Having a prefix without an extension policy does not help at all to prevent
> collisions. This is a false expectation. There is no difference between
> saying 'don't add new parameters with the oauth_ prefix' or 'don't add new
> parameters with names already used by this specification'.

I agree this is not perfect, but that does not mean it does not help.

It is one thing to say to implementors to stay away from parameters
stating with "oauth_" and a totally different thing to say stay away
from "scope", "mode", "callback", ... and whatever we will add to
newer versions to the spec. All these are very common words and
chances for collision are high.


>> or on the callback URL. Even if state is
>> not passed with additional parameters on callbacks. This also leads to
>> adding further limitations on these URLs, by not allowing query
>> parameters.
>
> Callback parameters are a bit different. We still need to solve the issue of
> how to allow client state in callbacks (state parameter or free-for-all).
> But here too, a prefix does not solve collisions. You have the same
> extension policy issue.

State aside, the callback may want to have query parameters, even in
the registered version. Why disallow that?


> A prefix just "solves" potential collision between the core spec and other
> specs using the same parameter names. It does not help how to avoid
> collisions between extensions and vendors. OAuth 1.0a had a prefix and then
> we spent weeks discussion who else can define oauth_ parameters. It just
> moved the problem somewhere else - the extension policy.

Not trying to solve the extension issue at all.


Marius

>
>> Marius
>>
>>
>>
>> On Thu, Apr 15, 2010 at 12:08 PM, John Kemp <john@jkemp.net> wrote:
>>> Hello,
>>>
>>> On Apr 15, 2010, at 2:27 PM, Eran Hammer-Lahav wrote:
>>>
>>>> OAuth 2.0 flows use a single authorization endpoint (with 'type' parameter).
>>>> This endpoint is OAuth-specific but must allow for extension parameters
>>>> (standard or vendor-specific).
>>>>
>>>> The issue is how to best allow for extensions defining new parameters. The
>>>> danger is common parameter names ('scope', 'language', 'permission') being
>>>> used differently by different vendors, creating interop issues with
>>>> libraries.
>>>
>>> If the OAuth specification defines the name for a parameter, and people claim
>>> to implement the specification, they must use those parameter names according
>>> to the specified usage. In other words, implementations of OAuth should all
>>> do the same thing, and use the same names for the OAuth-specific parameters.
>>> But, deployments of OAuth will use OAuth implementations and possibly have
>>> additional requirements (such as passing other query string parameters which
>>> may collide with the OAuth ones). And particular OAuth vendors may add other
>>> extension parameters (agreed between particular implementations but not
>>> perhaps within the entire community) to the query string. All of that might
>>> be covered by "conformance to the specification" - conformant implementations
>>> MUST not define parameters with names that clash with the agreed OAuth names.
>>>
>>>>
>>>> Prefix alone (for the core or extensions) does not solve the problem since
>>>> extensions still suffer from potential namespace collision.
>>>
>>> Right. You cannot solve this problem. The danger is for those who don't read
>>> the spec. (because they don't have to - they are buying a product, or using a
>>> library).
>>>
>>>> 'oauth_' prefix
>>>> makes all the parameter names longer, but doesn't add real value - defining
>>>> new parameters, with or without the 'oauth_' prefix is still the same
>>>> problem.
>>>>
>>>> The typical solution is to define an extension policy, using a registry or
>>>> domain-namespace for new names.
>>>>
>>>> Proposal:
>>>>
>>>> Plain parameter names (names without '.' character) require registration
>>>> (IANA registry with a published specification). This will encourage people
>>>> to share their parameters and improve interop beyond the core protocol
>>>> parameters.
>>>
>>> It will - how?
>>>
>>>>
>>>> Vendor specific names will require a prefix using either registered vendor
>>>> names (e.g. 'google', 'fb', 'yahoo').
>>>
>>> How will you *require* this - will there be a statement to that effect in the
>>> specification - "conformant implementations MUST NOT define query parameters
>>> that clash withe names int he OAuth registry "? What will you do about
>>> deployments which include an OAuth library and do not know anything at all
>>> about the OAuth requirements?
>>>
>>>> Alternatively, use the same extension
>>>> policy as OpenID where extensions use any prefix and include a prefix URI
>>>> identifier (e.g.
>>>> http://example.com?etx.language=en&ns:ext=http://example.com/spec1).
>>>>
>>>
>>> What do you consider an "extension" for this purpose (some parameter agreed
>>> on by two or more conforming OAuth implementations)?
>>>
>>> - johnk
>>>
>>>> EHL
>>>>
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>
>
>

From cmortimore@salesforce.com  Thu Apr 15 12:38:58 2010
Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 27D263A6A3B for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:38:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.434
X-Spam-Level: 
X-Spam-Status: No, score=-6.434 tagged_above=-999 required=5 tests=[AWL=0.164,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DbsMVBVj9eWc for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:38:53 -0700 (PDT)
Received: from exprod8og107.obsmtp.com (exprod8og107.obsmtp.com [64.18.3.94]) by core3.amsl.com (Postfix) with SMTP id 77BC93A6B15 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:38:44 -0700 (PDT)
Received: from source ([204.14.239.238]) by exprod8ob107.postini.com ([64.18.7.12]) with SMTP ID DSNKS8drPef/BOE6SrTKU+QGRgXvwkQJmLUs@postini.com; Thu, 15 Apr 2010 12:38:38 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub3.internal.salesforce.com ([10.1.127.7]) with mapi; Thu, 15 Apr 2010 12:38:37 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, OAuth WG <oauth@ietf.org>
Date: Thu, 15 Apr 2010 12:38:36 -0700
Thread-Topic: [OAUTH-WG] Issue: specificity of the assertion flow
Thread-Index: AcrcxdQvJq78igs7S0K9ZKWCVI54yAAB3GMaAAAno/IAAVZIpQ==
Message-ID: <C7ECB94C.3A0E%cmortimore@salesforce.com>
In-Reply-To: <C7ECB053.32354%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7ECB94C3A0Ecmortimoresalesforcecom_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: specificity of the assertion flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 19:38:58 -0000

--_000_C7ECB94C3A0Ecmortimoresalesforcecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Not at all...the submission is largely focused on the generic assertion flo=
w.  It simply adds additional detail to the current text, and clarifies/cor=
rects some of the expected usage patterns.   There is a SAML profiling of t=
he flow at the end of the submission, but it's a small percentage of what I=
 submitted.

In terms of format, it suggests:

    format
         REQUIRED. The format of the assertion as defined by the authorizat=
ion server.  The format MUST be a URI which designates a profile of the ass=
ertion flow.

I personally think this is all that is required.   It would be nice if thes=
e were addressable URIs, but in practice that doesn't happen often, and it =
does leave behind some specs which are using urn's.

Could you please take another glance at what I posted?   There are a number=
 of changes to the general assertion flow that are required for it to refle=
ct how this will be used in a lot of scenarios.   Specifically, it:


 *   Changes the text so the flow is appropriate for on-behalf-of user flow=
s as well as autonomous, illustrates usage patterns, and indicates this is =
simply a basis for consistent profiling
 *   Adds a bit of detail on parameters in terms of what's required, format=
, etc.
 *   Specifies that error responses defined in a profile may supersede thos=
e in the general assertion flow
 *   Removes the text around reusing assertions when requesting new access =
tokens, as some assertion profiles may be single use assertions; this shoul=
d be up to the profile.

So - this works for me - a generic flow is what I was suggesting to begin w=
ith.   The SAML profiling can happen elsewhere if an example profile is not=
 required.

Thanks

-cmort



On 4/15/10 12:00 PM, "Eran Hammer-Lahav" <eran@hueniverse.com> wrote:

If I recall correctly, it doesn't define the format parameter, just gives o=
ne fixed value for the SAML flow. Either way, I am suggesting we keep the S=
AML flow out of the spec, keeping just the general assertion flow, with bet=
ter format definition.

EHL


On 4/15/10 11:55 AM, "Chuck Mortimore" <cmortimore@salesforce.com> wrote:

+1.

Did anyone have a chance to review the proposal I made here?    I have a co=
uple of people from the SAML community reviewing it offline, but would welc=
ome feedback from this group.   The sample text is attached to this post:

http://www.ietf.org/mail-archive/web/oauth/current/msg01735.html

One specific thing to note - the assertion flow is really appropriate for b=
oth autonomous and on-behalf-of user flows, so it will take some special ed=
iting to make that work with the current structure of the intro.

-cmort


On 4/15/10 11:02 AM, "Eran Hammer-Lahav" <eran@hueniverse.com> wrote:

The assertion flow included in the specification doesn't offer enough to
provide interop. Previous discussions ruled out the idea of offering a
single SAML 2.0 based flow.

Proposal: Leave the flow as a generic assertion flow, using SAML 2.0 as an
example, and defining the syntax/values of the format parameter. As long as
the format parameter is well-defined, the rest can be left for
assertion-language-specific specs and implementations.

Needed: Language defining the format parameter in a way which ensures
interop across clients using the same format value (i.e. Registry,
URI-based, etc).

EHL

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth




--_000_C7ECB94C3A0Ecmortimoresalesforcecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Issue: specificity of the assertion flow</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:11pt'>Not=
 at all...t</SPAN></FONT><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Lucid=
a Grande">he submission is largely focused on the generic assertion flow. &=
nbsp;It simply adds additional detail to the current text, and clarifies/co=
rrects some of the expected usage patterns. &nbsp;&nbsp;There is a SAML pro=
filing of the flow at the end of the submission, but it&#8217;s a small per=
centage of what I submitted.<BR>
<BR>
In terms of format, it suggests:<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;format<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REQUIRED. The format =
of the assertion as defined by the authorization server. &nbsp;The format M=
UST be a URI which designates a profile of the assertion flow.<BR>
<BR>
I personally think this is all that is required. &nbsp;&nbsp;It would be ni=
ce if these were addressable URIs, but in practice that doesn&#8217;t happe=
n often, and it does leave behind some specs which are using urn&#8217;s.<B=
R>
</FONT><FONT FACE=3D"Verdana, Helvetica, Arial"><BR>
Could you please take another glance at what I posted? &nbsp;&nbsp;There ar=
e a number of changes to the general assertion flow that are required for i=
t to reflect how this will be used in a lot of scenarios. &nbsp;&nbsp;Speci=
fically, it:<BR>
<BR>
</FONT></SPAN><UL><LI><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Verdana,=
 Helvetica, Arial">Changes the text so the flow is appropriate for on-behal=
f-of user flows as well as autonomous, illustrates usage patterns, and indi=
cates this is simply a basis for consistent profiling
</FONT></SPAN><LI><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Verdana, Hel=
vetica, Arial">Adds a bit of detail on parameters in terms of what&#8217;s =
required, format, etc.
</FONT></SPAN><LI><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Verdana, Hel=
vetica, Arial">Specifies that error responses defined in a profile may supe=
rsede those in the general assertion flow
</FONT></SPAN><LI><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Verdana, Hel=
vetica, Arial">Removes the text around reusing assertions when requesting n=
ew access tokens, as some assertion profiles may be single use assertions; =
this should be up to the profile.<BR>
</FONT></SPAN></UL><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Lucida Gran=
de"><BR>
So &#8211; this </FONT><FONT FACE=3D"Verdana, Helvetica, Arial">works for m=
e &#8211; a generic flow is what I was suggesting to begin with. &nbsp;&nbs=
p;The SAML profiling can happen elsewhere if an example profile is not requ=
ired. &nbsp;&nbsp;&nbsp;<BR>
<BR>
Thanks<BR>
<BR>
-cmort<BR>
</FONT><FONT FACE=3D"Lucida Grande"><BR>
<BR>
<BR>
On 4/15/10 12:00 PM, &quot;Eran Hammer-Lahav&quot; &lt;<a href=3D"eran@huen=
iverse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
<BR>
</FONT></SPAN><BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Verd=
ana, Helvetica, Arial">If I recall correctly, it doesn&#8217;t define the f=
ormat parameter, just gives one fixed value for the SAML flow. Either way, =
I am suggesting we keep the SAML flow out of the spec, keeping just the gen=
eral assertion flow, with better format definition.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/15/10 11:55 AM, &quot;Chuck Mortimore&quot; &lt;<a href=3D"cmortimore@=
salesforce.com">cmortimore@salesforce.com</a>&gt; wrote:<BR>
<BR>
</FONT></SPAN><BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Luci=
da Grande">+1.<BR>
<BR>
Did anyone have a chance to review the proposal I made here? &nbsp;&nbsp;&n=
bsp;I have a couple of people from the SAML community reviewing it offline,=
 but would welcome feedback from this group. &nbsp;&nbsp;The sample text is=
 attached to this post:<BR>
<BR>
<a href=3D"http://www.ietf.org/mail-archive/web/oauth/current/msg01735.html=
">http://www.ietf.org/mail-archive/web/oauth/current/msg01735.html</a><BR>
<BR>
One specific thing to note &#8211; the assertion flow is really appropriate=
 for both autonomous and on-behalf-of user flows, so it will take some spec=
ial editing to make that work with the current structure of the intro.<BR>
<BR>
-cmort<BR>
<BR>
<BR>
On 4/15/10 11:02 AM, &quot;Eran Hammer-Lahav&quot; &lt;<a href=3D"eran@huen=
iverse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
<BR>
</FONT></SPAN><BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Luci=
da Grande">The assertion flow included in the specification doesn't offer e=
nough to<BR>
provide interop. Previous discussions ruled out the idea of offering a<BR>
single SAML 2.0 based flow.<BR>
<BR>
Proposal: Leave the flow as a generic assertion flow, using SAML 2.0 as an<=
BR>
example, and defining the syntax/values of the format parameter. As long as=
<BR>
the format parameter is well-defined, the rest can be left for<BR>
assertion-language-specific specs and implementations.<BR>
<BR>
Needed: Language defining the format parameter in a way which ensures<BR>
interop across clients using the same format value (i.e. Registry,<BR>
URI-based, etc).<BR>
<BR>
EHL<BR>
<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
<BR>
</FONT></SPAN></BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Ver=
dana, Helvetica, Arial"><BR>
</FONT></SPAN></BLOCKQUOTE><SPAN STYLE=3D'font-size:11pt'><FONT FACE=3D"Luc=
ida Grande"><BR>
</FONT></SPAN></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7ECB94C3A0Ecmortimoresalesforcecom_--

From mscurtescu@google.com  Thu Apr 15 12:39:09 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 82DFA3A69E3 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:39:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.934
X-Spam-Level: 
X-Spam-Status: No, score=-105.934 tagged_above=-999 required=5 tests=[AWL=0.043, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ITBq3CGBQFil for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:39:08 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 938973A6A3B for <oauth@ietf.org>; Thu, 15 Apr 2010 12:38:58 -0700 (PDT)
Received: from hpaq12.eem.corp.google.com (hpaq12.eem.corp.google.com [10.3.21.12]) by smtp-out.google.com with ESMTP id o3FJcp00011436 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:38:51 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271360331; bh=Np9DMCVLkHhccgajruHP7yLnj5w=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=DAbQqTerJxWzDvHDPGu6FQfI24s80G8A++pqOWuu0VMdkQoNHYooHIKhBpL7hFpEv udy0ekmzeJ/z9bIKEwUIw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=M1WZPdZ2nkS/f5aPqSPclNNQqpkP4bF7OpvQVfmb+aYccTofxM25in78c74dWOCWs xW1/YPZPBd1EqXvpSH47w==
Received: from pwi7 (pwi7.prod.google.com [10.241.219.7]) by hpaq12.eem.corp.google.com with ESMTP id o3FJc4R4015796 for <oauth@ietf.org>; Thu, 15 Apr 2010 21:38:49 +0200
Received: by pwi7 with SMTP id 7so1359315pwi.21 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:38:48 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Thu, 15 Apr 2010 12:38:28 -0700 (PDT)
In-Reply-To: <m2pfd6741651004151226r925959f4u622396e63c950a1e@mail.gmail.com>
References: <C7ECB1F7.32357%eran@hueniverse.com> <m2n74caaad21004151220qac3a829em2dc17f1c93b6efa1@mail.gmail.com> <m2pfd6741651004151226r925959f4u622396e63c950a1e@mail.gmail.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 15 Apr 2010 12:38:28 -0700
Received: by 10.141.124.10 with SMTP id b10mr963340rvn.176.1271360328194; Thu,  15 Apr 2010 12:38:48 -0700 (PDT)
Message-ID: <h2o74caaad21004151238w60c3afd3td8dccdd8a7127a4a@mail.gmail.com>
To: David Recordon <recordond@gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 19:39:09 -0000

Sure. Do we have a mechanism to define extensions?

Marius



On Thu, Apr 15, 2010 at 12:26 PM, David Recordon <recordond@gmail.com> wrote:
> Marius, why don't we write a one page spec which defines scope as an
> extension? We end up with agreement around if scope is a useful
> parameter and a simple parameter name for multiple vendors (because it
> is an extension). Since you seem to be advocating for including scope
> the most, would you mind trying to write out a few paragraphs?
>
> Thanks,
> --David
>
>
> On Thu, Apr 15, 2010 at 12:20 PM, Marius Scurtescu
> <mscurtescu@google.com> wrote:
>> I still have not seen any arguments why scope structure is needed for
>> interop. Client and server side libraries do not need to understand
>> the scope, they just pass it around. Client and server code do need to
>> understand the scope, but we are not dealing with that.
>>
>> Yes, a scope parameter does not buy much, it only prevents each authz
>> server from inventing their own custom parameter.
>>
>> Marius
>>
>>
>>
>> On Thu, Apr 15, 2010 at 12:07 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
>>> WRAP includes a loosely defined scope parameter which allows for
>>> vendor-specific (and non-interoperable) use cases. This was requested by
>>> many working group members to be included in OAuth 2.0 with the argument
>>> that while it doesn't help interop, it makes using clients easier.
>>>
>>> The problem with a general purpose scope parameter that is completely
>>> undefined in structure is that it hurts interop more than it helps. It
>>> creates an expectation that values can be used across services, and it
>>> cannot be used without another spec defining its content and structure. Such
>>> as spec can simply define its own parameter.
>>>
>>> In addition, it is not clear what belongs in scope (list of resources,
>>> access type, duration of access, right to share data, rights to
>>> re-delegate).
>>>
>>> The rules should be that if a parameter cannot be used without another
>>> documentation, it should be defined in that other document.
>>>
>>> Proposal: Request proposals for a scope parameter definition that improve
>>> interop. Otherwise, keep the parameter out of the core spec.
>>>
>>> EHL
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>

From eran@hueniverse.com  Thu Apr 15 12:44:35 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id F198C3A6BC4 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:44:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.453
X-Spam-Level: 
X-Spam-Status: No, score=-2.453 tagged_above=-999 required=5 tests=[AWL=0.146,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 16hrZb9hYl7L for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:44:33 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 2A21E3A6BA8 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:44:31 -0700 (PDT)
Received: (qmail 24887 invoked from network); 15 Apr 2010 19:44:24 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 15 Apr 2010 19:44:24 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Thu, 15 Apr 2010 12:44:23 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 15 Apr 2010 12:44:19 -0700
Thread-Topic: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
Thread-Index: Acrc0vFRxyxZlj3KSYWaO4M5bWA4rgAARiLS
Message-ID: <C7ECBAA3.32376%eran@hueniverse.com>
In-Reply-To: <m2t74caaad21004151236h6df241a2k6b18c788b300cca6@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 19:44:35 -0000

On 4/15/10 12:36 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

> On Thu, Apr 15, 2010 at 12:27 PM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>>=20
>> On 4/15/10 12:15 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>>=20
>>> I really think we should keep a standard parameter prefix like
>>> "oauth_". What are the issue with having a prefix?
>>=20
>> I really think we shouldn't. :-)
>>=20
>> Requests are longer for no reason.
>=20
> Not much longer, the number of parameters is small. Why is this a problem=
?

It's longer for no reason.

>=20
>> You need to show how a prefix actually
>> helps. Otherwise, it is the same as adding an 'protocol=3Doauth' to ever=
y
>> request just for fun.
>=20
> I think I did.

Say it helps isn't proof, just an argument.

>=20
>>> Not having such a prefix will lead to collisions with query parameter
>>> on the authz server endpoints
>>=20
>> Having a prefix without an extension policy does not help at all to prev=
ent
>> collisions. This is a false expectation. There is no difference between
>> saying 'don't add new parameters with the oauth_ prefix' or 'don't add n=
ew
>> parameters with names already used by this specification'.
>=20
> I agree this is not perfect, but that does not mean it does not help.
>=20
> It is one thing to say to implementors to stay away from parameters
> stating with "oauth_" and a totally different thing to say stay away
> from "scope", "mode", "callback", ... and whatever we will add to
> newer versions to the spec. All these are very common words and
> chances for collision are high.

So what happens when someone wants to add a language parameter? Do they cal=
l
is 'language' or 'oauth_language'? The prefix just doesn't solve anything
without a policy, and once you write a policy it is no longer needed.

>=20
>>> or on the callback URL. Even if state is
>>> not passed with additional parameters on callbacks. This also leads to
>>> adding further limitations on these URLs, by not allowing query
>>> parameters.
>>=20
>> Callback parameters are a bit different. We still need to solve the issu=
e of
>> how to allow client state in callbacks (state parameter or free-for-all)=
.
>> But here too, a prefix does not solve collisions. You have the same
>> extension policy issue.
>=20
> State aside, the callback may want to have query parameters, even in
> the registered version. Why disallow that?

I don't think it should, but I am opposed to both random parameters and a
client state parameter. Either way, that's a different issue - let's try to
keep this focused on one issue at a time.

>=20
>> A prefix just "solves" potential collision between the core spec and oth=
er
>> specs using the same parameter names. It does not help how to avoid
>> collisions between extensions and vendors. OAuth 1.0a had a prefix and t=
hen
>> we spent weeks discussion who else can define oauth_ parameters. It just
>> moved the problem somewhere else - the extension policy.
>=20
> Not trying to solve the extension issue at all.

This is all about extensions (common or vendor specific)!

EHL

>=20
> Marius
>=20
>>=20
>>> Marius
>>>=20
>>>=20
>>>=20
>>> On Thu, Apr 15, 2010 at 12:08 PM, John Kemp <john@jkemp.net> wrote:
>>>> Hello,
>>>>=20
>>>> On Apr 15, 2010, at 2:27 PM, Eran Hammer-Lahav wrote:
>>>>=20
>>>>> OAuth 2.0 flows use a single authorization endpoint (with 'type'
>>>>> parameter).
>>>>> This endpoint is OAuth-specific but must allow for extension paramete=
rs
>>>>> (standard or vendor-specific).
>>>>>=20
>>>>> The issue is how to best allow for extensions defining new parameters=
. The
>>>>> danger is common parameter names ('scope', 'language', 'permission') =
being
>>>>> used differently by different vendors, creating interop issues with
>>>>> libraries.
>>>>=20
>>>> If the OAuth specification defines the name for a parameter, and peopl=
e
>>>> claim
>>>> to implement the specification, they must use those parameter names
>>>> according
>>>> to the specified usage. In other words, implementations of OAuth shoul=
d all
>>>> do the same thing, and use the same names for the OAuth-specific
>>>> parameters.
>>>> But, deployments of OAuth will use OAuth implementations and possibly =
have
>>>> additional requirements (such as passing other query string parameters
>>>> which
>>>> may collide with the OAuth ones). And particular OAuth vendors may add
>>>> other
>>>> extension parameters (agreed between particular implementations but no=
t
>>>> perhaps within the entire community) to the query string. All of that =
might
>>>> be covered by "conformance to the specification" - conformant
>>>> implementations
>>>> MUST not define parameters with names that clash with the agreed OAuth
>>>> names.
>>>>=20
>>>>>=20
>>>>> Prefix alone (for the core or extensions) does not solve the problem =
since
>>>>> extensions still suffer from potential namespace collision.
>>>>=20
>>>> Right. You cannot solve this problem. The danger is for those who don'=
t
>>>> read
>>>> the spec. (because they don't have to - they are buying a product, or =
using
>>>> a
>>>> library).
>>>>=20
>>>>> 'oauth_' prefix
>>>>> makes all the parameter names longer, but doesn't add real value -
>>>>> defining
>>>>> new parameters, with or without the 'oauth_' prefix is still the same
>>>>> problem.
>>>>>=20
>>>>> The typical solution is to define an extension policy, using a regist=
ry or
>>>>> domain-namespace for new names.
>>>>>=20
>>>>> Proposal:
>>>>>=20
>>>>> Plain parameter names (names without '.' character) require registrat=
ion
>>>>> (IANA registry with a published specification). This will encourage p=
eople
>>>>> to share their parameters and improve interop beyond the core protoco=
l
>>>>> parameters.
>>>>=20
>>>> It will - how?
>>>>=20
>>>>>=20
>>>>> Vendor specific names will require a prefix using either registered v=
endor
>>>>> names (e.g. 'google', 'fb', 'yahoo').
>>>>=20
>>>> How will you *require* this - will there be a statement to that effect=
 in
>>>> the
>>>> specification - "conformant implementations MUST NOT define query
>>>> parameters
>>>> that clash withe names int he OAuth registry "? What will you do about
>>>> deployments which include an OAuth library and do not know anything at=
 all
>>>> about the OAuth requirements?
>>>>=20
>>>>> Alternatively, use the same extension
>>>>> policy as OpenID where extensions use any prefix and include a prefix=
 URI
>>>>> identifier (e.g.
>>>>> http://example.com?etx.language=3Den&ns:ext=3Dhttp://example.com/spec=
1).
>>>>>=20
>>>>=20
>>>> What do you consider an "extension" for this purpose (some parameter a=
greed
>>>> on by two or more conforming OAuth implementations)?
>>>>=20
>>>> - johnk
>>>>=20
>>>>> EHL
>>>>>=20
>>>>> _______________________________________________
>>>>> OAuth mailing list
>>>>> OAuth@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>=20
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>=20
>>>=20
>>=20
>>=20
>=20


From eran@hueniverse.com  Thu Apr 15 12:51:19 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id EDEA83A69A4 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:51:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.455
X-Spam-Level: 
X-Spam-Status: No, score=-2.455 tagged_above=-999 required=5 tests=[AWL=0.143,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xxM8ECEgUE1a for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 12:51:15 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 9BE9B3A69A2 for <oauth@ietf.org>; Thu, 15 Apr 2010 12:51:14 -0700 (PDT)
Received: (qmail 1263 invoked from network); 15 Apr 2010 19:51:08 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 15 Apr 2010 19:51:08 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Thu, 15 Apr 2010 12:51:04 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>, "recordond@gmail.com" <recordond@gmail.com>
Date: Thu, 15 Apr 2010 12:51:02 -0700
Thread-Topic: [OAUTH-WG] Issue: Scope parameter
Thread-Index: Acrc00gQmuQR/0fSR4ClfyaHxINuxAAAbH9H
Message-ID: <C7ECBC36.32379%eran@hueniverse.com>
In-Reply-To: <h2o74caaad21004151238w60c3afd3td8dccdd8a7127a4a@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7ECBC3632379eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 19:51:20 -0000

--_000_C7ECBC3632379eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

1. Write it
2. Comply with naming policy of new parameters*
3. Publish and get feedback.
4. Fix and repeat #3 as needed.
5. Register new parameter name*

:-)

* Pending new parameter name policy

For now just call it 'scope'.

EHL


On 4/15/10 12:38 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

Sure. Do we have a mechanism to define extensions?

Marius



On Thu, Apr 15, 2010 at 12:26 PM, David Recordon <recordond@gmail.com> wrot=
e:
> Marius, why don't we write a one page spec which defines scope as an
> extension? We end up with agreement around if scope is a useful
> parameter and a simple parameter name for multiple vendors (because it
> is an extension). Since you seem to be advocating for including scope
> the most, would you mind trying to write out a few paragraphs?
>
> Thanks,
> --David
>
>
> On Thu, Apr 15, 2010 at 12:20 PM, Marius Scurtescu
> <mscurtescu@google.com> wrote:
>> I still have not seen any arguments why scope structure is needed for
>> interop. Client and server side libraries do not need to understand
>> the scope, they just pass it around. Client and server code do need to
>> understand the scope, but we are not dealing with that.
>>
>> Yes, a scope parameter does not buy much, it only prevents each authz
>> server from inventing their own custom parameter.
>>
>> Marius
>>
>>
>>
>> On Thu, Apr 15, 2010 at 12:07 PM, Eran Hammer-Lahav <eran@hueniverse.com=
> wrote:
>>> WRAP includes a loosely defined scope parameter which allows for
>>> vendor-specific (and non-interoperable) use cases. This was requested b=
y
>>> many working group members to be included in OAuth 2.0 with the argumen=
t
>>> that while it doesn't help interop, it makes using clients easier.
>>>
>>> The problem with a general purpose scope parameter that is completely
>>> undefined in structure is that it hurts interop more than it helps. It
>>> creates an expectation that values can be used across services, and it
>>> cannot be used without another spec defining its content and structure.=
 Such
>>> as spec can simply define its own parameter.
>>>
>>> In addition, it is not clear what belongs in scope (list of resources,
>>> access type, duration of access, right to share data, rights to
>>> re-delegate).
>>>
>>> The rules should be that if a parameter cannot be used without another
>>> documentation, it should be defined in that other document.
>>>
>>> Proposal: Request proposals for a scope parameter definition that impro=
ve
>>> interop. Otherwise, keep the parameter out of the core spec.
>>>
>>> EHL
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>


--_000_C7ECBC3632379eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Issue: Scope parameter</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>1. Write it<BR>
2. Comply with naming policy of new parameters*<BR>
3. Publish and get feedback.<BR>
4. Fix and repeat #3 as needed.<BR>
5. Register new parameter name*<BR>
<BR>
:-)<BR>
<BR>
* Pending new parameter name policy<BR>
<BR>
For now just call it &#8216;scope&#8217;.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/15/10 12:38 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurtescu=
@google.com">mscurtescu@google.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>Sure. Do we have a mechanism to define exte=
nsions?<BR>
<BR>
Marius<BR>
<BR>
<BR>
<BR>
On Thu, Apr 15, 2010 at 12:26 PM, David Recordon &lt;<a href=3D"recordond@g=
mail.com">recordond@gmail.com</a>&gt; wrote:<BR>
&gt; Marius, why don't we write a one page spec which defines scope as an<B=
R>
&gt; extension? We end up with agreement around if scope is a useful<BR>
&gt; parameter and a simple parameter name for multiple vendors (because it=
<BR>
&gt; is an extension). Since you seem to be advocating for including scope<=
BR>
&gt; the most, would you mind trying to write out a few paragraphs?<BR>
&gt;<BR>
&gt; Thanks,<BR>
&gt; --David<BR>
&gt;<BR>
&gt;<BR>
&gt; On Thu, Apr 15, 2010 at 12:20 PM, Marius Scurtescu<BR>
&gt; &lt;<a href=3D"mscurtescu@google.com">mscurtescu@google.com</a>&gt; wr=
ote:<BR>
&gt;&gt; I still have not seen any arguments why scope structure is needed =
for<BR>
&gt;&gt; interop. Client and server side libraries do not need to understan=
d<BR>
&gt;&gt; the scope, they just pass it around. Client and server code do nee=
d to<BR>
&gt;&gt; understand the scope, but we are not dealing with that.<BR>
&gt;&gt;<BR>
&gt;&gt; Yes, a scope parameter does not buy much, it only prevents each au=
thz<BR>
&gt;&gt; server from inventing their own custom parameter.<BR>
&gt;&gt;<BR>
&gt;&gt; Marius<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; On Thu, Apr 15, 2010 at 12:07 PM, Eran Hammer-Lahav &lt;<a href=3D=
"eran@hueniverse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
&gt;&gt;&gt; WRAP includes a loosely defined scope parameter which allows f=
or<BR>
&gt;&gt;&gt; vendor-specific (and non-interoperable) use cases. This was re=
quested by<BR>
&gt;&gt;&gt; many working group members to be included in OAuth 2.0 with th=
e argument<BR>
&gt;&gt;&gt; that while it doesn't help interop, it makes using clients eas=
ier.<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; The problem with a general purpose scope parameter that is com=
pletely<BR>
&gt;&gt;&gt; undefined in structure is that it hurts interop more than it h=
elps. It<BR>
&gt;&gt;&gt; creates an expectation that values can be used across services=
, and it<BR>
&gt;&gt;&gt; cannot be used without another spec defining its content and s=
tructure. Such<BR>
&gt;&gt;&gt; as spec can simply define its own parameter.<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; In addition, it is not clear what belongs in scope (list of re=
sources,<BR>
&gt;&gt;&gt; access type, duration of access, right to share data, rights t=
o<BR>
&gt;&gt;&gt; re-delegate).<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; The rules should be that if a parameter cannot be used without=
 another<BR>
&gt;&gt;&gt; documentation, it should be defined in that other document.<BR=
>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; Proposal: Request proposals for a scope parameter definition t=
hat improve<BR>
&gt;&gt;&gt; interop. Otherwise, keep the parameter out of the core spec.<B=
R>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; EHL<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; _______________________________________________<BR>
&gt;&gt;&gt; OAuth mailing list<BR>
&gt;&gt;&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt;&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https:=
//www.ietf.org/mailman/listinfo/oauth</a><BR>
&gt;&gt;&gt;<BR>
&gt;&gt; _______________________________________________<BR>
&gt;&gt; OAuth mailing list<BR>
&gt;&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://ww=
w.ietf.org/mailman/listinfo/oauth</a><BR>
&gt;&gt;<BR>
&gt;<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7ECBC3632379eranhueniversecom_--

From recordond@gmail.com  Thu Apr 15 13:00:28 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 26CDD3A69FC for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 13:00:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AlZFLSehmxBB for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 13:00:27 -0700 (PDT)
Received: from mail-pz0-f193.google.com (mail-pz0-f193.google.com [209.85.222.193]) by core3.amsl.com (Postfix) with ESMTP id 76B423A67FC for <oauth@ietf.org>; Thu, 15 Apr 2010 13:00:26 -0700 (PDT)
Received: by pzk31 with SMTP id 31so763392pzk.31 for <oauth@ietf.org>; Thu, 15 Apr 2010 13:00:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=qrhnRoilwA+XKAcBBZUhEx5a489BEwmiRhitKLninfM=; b=QVbIbCnDJr7NKpzOlbdfqZhKBRRewEzfu74hogtEuDiCesE8saFwfnVuhPUIsWzmkm 5uWl4taCsy35T5yvsdtlePj8W9p95jLHy76OY+j+3akySKDDd0aXcglRfi9FIMMZbTHv DO8tt+JcTaVDIHq3IpFtIIPV9/kRWRkoHJDLk=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=FnrZvYzuP+9ZMccvIgtyfNywLTaAQPicW7nH8bDHSZ6ctow3Ki6zouX5Sx8mRjsNtK Z44pfYUCVye75miSZG7TPZf8TqV0NxDqTvVWwFzlH3z3kDCP94tR8kvoxeHUKXE875JZ x3TZ9pofxGDt6mGZVSTruz54rgQhWZpm4KaDY=
MIME-Version: 1.0
Received: by 10.231.182.196 with HTTP; Thu, 15 Apr 2010 13:00:15 -0700 (PDT)
In-Reply-To: <C7ECBC36.32379%eran@hueniverse.com>
References: <h2o74caaad21004151238w60c3afd3td8dccdd8a7127a4a@mail.gmail.com> <C7ECBC36.32379%eran@hueniverse.com>
Date: Thu, 15 Apr 2010 13:00:15 -0700
Received: by 10.115.134.11 with SMTP id l11mr749703wan.160.1271361615519; Thu,  15 Apr 2010 13:00:15 -0700 (PDT)
Message-ID: <v2vfd6741651004151300i9d0100dfv7769b6a49a2c13d4@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 20:00:28 -0000

Even put it on the wiki (http://wiki.oauth.net/) if you don't want to
deal with IETF formatting yet. Eran and I are happy to clean stuff up.
:)


On Thu, Apr 15, 2010 at 12:51 PM, Eran Hammer-Lahav <eran@hueniverse.com> w=
rote:
> 1. Write it
> 2. Comply with naming policy of new parameters*
> 3. Publish and get feedback.
> 4. Fix and repeat #3 as needed.
> 5. Register new parameter name*
>
> :-)
>
> * Pending new parameter name policy
>
> For now just call it =91scope=92.
>
> EHL
>
>
> On 4/15/10 12:38 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
> Sure. Do we have a mechanism to define extensions?
>
> Marius
>
>
>
> On Thu, Apr 15, 2010 at 12:26 PM, David Recordon <recordond@gmail.com>
> wrote:
>> Marius, why don't we write a one page spec which defines scope as an
>> extension? We end up with agreement around if scope is a useful
>> parameter and a simple parameter name for multiple vendors (because it
>> is an extension). Since you seem to be advocating for including scope
>> the most, would you mind trying to write out a few paragraphs?
>>
>> Thanks,
>> --David
>>
>>
>> On Thu, Apr 15, 2010 at 12:20 PM, Marius Scurtescu
>> <mscurtescu@google.com> wrote:
>>> I still have not seen any arguments why scope structure is needed for
>>> interop. Client and server side libraries do not need to understand
>>> the scope, they just pass it around. Client and server code do need to
>>> understand the scope, but we are not dealing with that.
>>>
>>> Yes, a scope parameter does not buy much, it only prevents each authz
>>> server from inventing their own custom parameter.
>>>
>>> Marius
>>>
>>>
>>>
>>> On Thu, Apr 15, 2010 at 12:07 PM, Eran Hammer-Lahav <eran@hueniverse.co=
m>
>>> wrote:
>>>> WRAP includes a loosely defined scope parameter which allows for
>>>> vendor-specific (and non-interoperable) use cases. This was requested =
by
>>>> many working group members to be included in OAuth 2.0 with the argume=
nt
>>>> that while it doesn't help interop, it makes using clients easier.
>>>>
>>>> The problem with a general purpose scope parameter that is completely
>>>> undefined in structure is that it hurts interop more than it helps. It
>>>> creates an expectation that values can be used across services, and it
>>>> cannot be used without another spec defining its content and structure=
.
>>>> Such
>>>> as spec can simply define its own parameter.
>>>>
>>>> In addition, it is not clear what belongs in scope (list of resources,
>>>> access type, duration of access, right to share data, rights to
>>>> re-delegate).
>>>>
>>>> The rules should be that if a parameter cannot be used without another
>>>> documentation, it should be defined in that other document.
>>>>
>>>> Proposal: Request proposals for a scope parameter definition that
>>>> improve
>>>> interop. Otherwise, keep the parameter out of the core spec.
>>>>
>>>> EHL
>>>>
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>
>
>

From john@jkemp.net  Thu Apr 15 13:49:02 2010
Return-Path: <john@jkemp.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BB8983A694A for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 13:49:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.754
X-Spam-Level: 
X-Spam-Status: No, score=-1.754 tagged_above=-999 required=5 tests=[AWL=0.511,  BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1kgQfROVHzhc for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 13:49:01 -0700 (PDT)
Received: from outbound-mail-313.bluehost.com (cpoproxy3-pub.bluehost.com [67.222.54.6]) by core3.amsl.com (Postfix) with SMTP id AB5863A69F3 for <oauth@ietf.org>; Thu, 15 Apr 2010 13:48:59 -0700 (PDT)
Received: (qmail 15838 invoked by uid 0); 15 Apr 2010 20:48:52 -0000
Received: from unknown (HELO box320.bluehost.com) (69.89.31.120) by cpoproxy3.bluehost.com with SMTP; 15 Apr 2010 20:48:51 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=jkemp.net; h=Received:Subject:Mime-Version:Content-Type:From:In-Reply-To:Date:Cc:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=RdI6gICV0QzmYGxs4N+mO68qnYwNsXfulgYDOxOzhFXdnkyxRvikYAGkDIpuYYzEI9pFUTrg0HSfGzrV69Htw5GGubFzMBcRL0Rq81AKLYIi8Eu/lRJjeHCQZNeq/xcc;
Received: from cpe-69-205-56-47.nycap.res.rr.com ([69.205.56.47] helo=[192.168.1.107]) by box320.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from <john@jkemp.net>) id 1O2VzY-0005F2-8j; Thu, 15 Apr 2010 14:48:52 -0600
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: John Kemp <john@jkemp.net>
In-Reply-To: <t2h74caaad21004151215w3ab17b51n226de7279bb57274@mail.gmail.com>
Date: Thu, 15 Apr 2010 16:48:50 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <A61CD3D5-6B07-4005-855E-13F0165BC317@jkemp.net>
References: <C7ECA88E.32337%eran@hueniverse.com> <36B0D223-725E-4782-BBAE-F1A930C15843@jkemp.net> <t2h74caaad21004151215w3ab17b51n226de7279bb57274@mail.gmail.com>
To: Marius Scurtescu <mscurtescu@google.com>
X-Mailer: Apple Mail (2.1078)
X-Identified-User: {1122:box320.bluehost.com:jkempnet:jkemp.net} {sentby:smtp auth 69.205.56.47 authed with john+jkemp.net}
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 20:49:02 -0000

On Apr 15, 2010, at 3:15 PM, Marius Scurtescu wrote:

> I really think we should keep a standard parameter prefix like
> "oauth_". What are the issue with having a prefix?

I think the downside is the extra bytes on the wire.

The upside is that this might prevent accidental collision with OAuth =
parameters by people who haven't read the spec. or looked at the =
registry.=20

I don't think it solves all collision problems, which is probably why =
people don't see it as a high-value thing to do.

>=20
> Not having such a prefix will lead to collisions with query parameter
> on the authz server endpoints or on the callback URL. Even if state is
> not passed with additional parameters on callbacks. This also leads to
> adding further limitations on these URLs, by not allowing query
> parameters.

Having a prefix doesn't solve ALL collision possibilities. There is some =
limited utility in preventing accidental collision by people outside of =
the OAuth community. The question is whether that is worth the extra =
bytes. Or are there some other good arguments for or against?

I can see both points of view. Is a possible compromise to make a =
shorter prefix than 'oauth_' (how about 'oa_' - 3 bytes instead of 6)?

- johnk

>=20
> Marius
>=20
>=20
>=20
> On Thu, Apr 15, 2010 at 12:08 PM, John Kemp <john@jkemp.net> wrote:
>> Hello,
>>=20
>> On Apr 15, 2010, at 2:27 PM, Eran Hammer-Lahav wrote:
>>=20
>>> OAuth 2.0 flows use a single authorization endpoint (with 'type' =
parameter).
>>> This endpoint is OAuth-specific but must allow for extension =
parameters
>>> (standard or vendor-specific).
>>>=20
>>> The issue is how to best allow for extensions defining new =
parameters. The
>>> danger is common parameter names ('scope', 'language', 'permission') =
being
>>> used differently by different vendors, creating interop issues with
>>> libraries.
>>=20
>> If the OAuth specification defines the name for a parameter, and =
people claim to implement the specification, they must use those =
parameter names according to the specified usage. In other words, =
implementations of OAuth should all do the same thing, and use the same =
names for the OAuth-specific parameters. But, deployments of OAuth will =
use OAuth implementations and possibly have additional requirements =
(such as passing other query string parameters which may collide with =
the OAuth ones). And particular OAuth vendors may add other extension =
parameters (agreed between particular implementations but not perhaps =
within the entire community) to the query string. All of that might be =
covered by "conformance to the specification" - conformant =
implementations MUST not define parameters with names that clash with =
the agreed OAuth names.
>>=20
>>>=20
>>> Prefix alone (for the core or extensions) does not solve the problem =
since
>>> extensions still suffer from potential namespace collision.
>>=20
>> Right. You cannot solve this problem. The danger is for those who =
don't read the spec. (because they don't have to - they are buying a =
product, or using a library).
>>=20
>>> 'oauth_' prefix
>>> makes all the parameter names longer, but doesn't add real value - =
defining
>>> new parameters, with or without the 'oauth_' prefix is still the =
same
>>> problem.
>>>=20
>>> The typical solution is to define an extension policy, using a =
registry or
>>> domain-namespace for new names.
>>>=20
>>> Proposal:
>>>=20
>>> Plain parameter names (names without '.' character) require =
registration
>>> (IANA registry with a published specification). This will encourage =
people
>>> to share their parameters and improve interop beyond the core =
protocol
>>> parameters.
>>=20
>> It will - how?
>>=20
>>>=20
>>> Vendor specific names will require a prefix using either registered =
vendor
>>> names (e.g. 'google', 'fb', 'yahoo').
>>=20
>> How will you *require* this - will there be a statement to that =
effect in the specification - "conformant implementations MUST NOT =
define query parameters that clash withe names int he OAuth registry "? =
What will you do about deployments which include an OAuth library and do =
not know anything at all about the OAuth requirements?
>>=20
>>> Alternatively, use the same extension
>>> policy as OpenID where extensions use any prefix and include a =
prefix URI
>>> identifier (e.g.
>>> http://example.com?etx.language=3Den&ns:ext=3Dhttp://example.com/spec1=
).
>>>=20
>>=20
>> What do you consider an "extension" for this purpose (some parameter =
agreed on by two or more conforming OAuth implementations)?
>>=20
>> - johnk
>>=20
>>> EHL
>>>=20
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>=20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>=20


From lshepard@facebook.com  Thu Apr 15 14:41:55 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D0EF43A68C3 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 14:41:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.959
X-Spam-Level: 
X-Spam-Status: No, score=-2.959 tagged_above=-999 required=5 tests=[AWL=0.305,  BAYES_00=-2.599, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Tu+XWvJB6IPt for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 14:41:51 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 93CE73A68F7 for <oauth@ietf.org>; Thu, 15 Apr 2010 14:41:51 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.212]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3FLf7Q5006865 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Thu, 15 Apr 2010 14:41:07 -0700
Received: from sc-hub01.TheFacebook.com (192.168.18.104) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.689.0; Thu, 15 Apr 2010 14:41:41 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub01.TheFacebook.com ([192.168.18.104]) with mapi; Thu, 15 Apr 2010 14:41:41 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, Naitik Shah <naitik@facebook.com>, OAuth WG <oauth@ietf.org>
Date: Thu, 15 Apr 2010 14:41:39 -0700
Thread-Topic: [OAUTH-WG] Rename callback => callback_uri
Thread-Index: AcrY5QgYzwsqKHvhTbuKpWjgY2XeCgDs1DqnABLzoxA=
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66DCA7@SC-MBXC1.TheFacebook.com>
References: <9C30AE64-7DB8-4B6B-879B-61CB71BF74BB@facebook.com> <C7EC567E.322EE%eran@hueniverse.com>
In-Reply-To: <C7EC567E.322EE%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_2513A610118CC14C8E622C376C8DEC93D54D66DCA7SCMBXC1TheFac_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-15_15:2010-02-06, 2010-04-15, 2010-04-15 signatures=0
Subject: Re: [OAUTH-WG] Rename callback => callback_uri
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 21:41:55 -0000

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DCA7SCMBXC1TheFac_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

We already had one developer try it out and get confused because the server=
 tried to treat the callback URL as a JSONP callback.

The protected resource typically accepts "callback" as a parameter to suppo=
rt JSONP. If a developer accidentally passes in callback there (maybe they =
got confused) then the server can't give a normal error message - instead i=
t needs to either detect that it looks like a URL or otherwise reject it.

On a related note, I think it's more confusing calling it something differe=
nt in the user-agent flow (redirector) when it's essentially doing the same=
 thing.


From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
ran Hammer-Lahav
Sent: Thursday, April 15, 2010 5:37 AM
To: Naitik Shah; OAuth WG
Subject: Re: [OAUTH-WG] Rename callback =3D> callback_uri

I don't think it is that confusing. Its a completely different context from=
 where JSON-P is used (note that in the User-Agent flow it is called someth=
ing else).

EHL


On 4/10/10 12:35 PM, "Naitik Shah" <naitik@facebook.com> wrote:
With the simplified params, the callback url parameter is now just "callbac=
k". Since most major API providers already use "callback" to signify JSON-P=
 callback, can we rename this to "callback_uri"? This will help avoid colli=
sions and confusion.


-Naitik
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DCA7SCMBXC1TheFac_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<title>Re: [OAUTH-WG] Rename callback =3D&gt; callback_uri</title>
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>We already had one developer try it out and get confused bec=
ause
the server tried to treat the callback URL as a JSONP callback.<o:p></o:p><=
/span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>The protected resource typically accepts &#8220;callback&#82=
21; as a
parameter to support JSONP. If a developer accidentally passes in callback
there (maybe they got confused) then the server can&#8217;t give a normal e=
rror
message &#8211; instead it needs to either detect that it looks like a URL =
or
otherwise reject it.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>On a related note, I think it&#8217;s more confusing calling=
 it
something different in the user-agent flow (redirector) when it&#8217;s ess=
entially
doing the same thing.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div>

<div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in'>

<p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma=
","sans-serif"'>From:</span></b><span
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> oauth-bounces=
@ietf.org
[mailto:oauth-bounces@ietf.org] <b>On Behalf Of </b>Eran Hammer-Lahav<br>
<b>Sent:</b> Thursday, April 15, 2010 5:37 AM<br>
<b>To:</b> Naitik Shah; OAuth WG<br>
<b>Subject:</b> Re: [OAUTH-WG] Rename callback =3D&gt; callback_uri<o:p></o=
:p></span></p>

</div>

</div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><span style=3D'font-siz=
e:11.0pt;
font-family:"Calibri","sans-serif"'>I don&#8217;t think it is that confusin=
g. Its a
completely different context from where JSON-P is used (note that in the
User-Agent flow it is called something else).<br>
<br>
EHL<br>
<br>
<br>
On 4/10/10 12:35 PM, &quot;Naitik Shah&quot; &lt;<a href=3D"naitik@facebook=
.com">naitik@facebook.com</a>&gt;
wrote:</span><o:p></o:p></p>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><span style=3D'font-siz=
e:11.0pt;
font-family:"Calibri","sans-serif"'>With the simplified params, the callbac=
k
url parameter is now just &quot;callback&quot;. Since most major API provid=
ers
already use &quot;callback&quot; to signify JSON-P callback, can we rename =
this
to &quot;callback_uri&quot;? This will help avoid collisions and confusion.=
<br>
<br>
<br>
-Naitik<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a></span><o:p></o:p></p>

</div>

</body>

</html>

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DCA7SCMBXC1TheFac_--

From mscurtescu@google.com  Thu Apr 15 15:16:48 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0FA6C3A6AA0 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 15:16:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.579
X-Spam-Level: 
X-Spam-Status: No, score=-101.579 tagged_above=-999 required=5 tests=[AWL=0.398, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GOYOKoNcPx+b for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 15:16:47 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id EC17F3A6A91 for <oauth@ietf.org>; Thu, 15 Apr 2010 15:16:24 -0700 (PDT)
Received: from hpaq1.eem.corp.google.com (hpaq1.eem.corp.google.com [10.3.21.1]) by smtp-out.google.com with ESMTP id o3FMGEks031598 for <oauth@ietf.org>; Fri, 16 Apr 2010 00:16:16 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271369776; bh=GdcdZkizoHwMEGscud1IGaQdmgQ=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=T65q8KuZjAX984qSIeXrBUeZeIMG+gpjiubrc2BwE06r2afi1BchqlmLu6e6eVPTg Shmc12r7eNMs8uud2lpnQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=wl3FmaPJdh9PL5Wz7wIRqEItrcogT0hc9BFIwUDQOCDksYGJJ1OjgzAupBP2Hxh1Y fXBlHj3QbS6WOnhoZ4jRQ==
Received: from pvg16 (pvg16.prod.google.com [10.241.210.144]) by hpaq1.eem.corp.google.com with ESMTP id o3FMGDZ2022073 for <oauth@ietf.org>; Fri, 16 Apr 2010 00:16:13 +0200
Received: by pvg16 with SMTP id 16so1153022pvg.40 for <oauth@ietf.org>; Thu, 15 Apr 2010 15:16:12 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Thu, 15 Apr 2010 15:15:52 -0700 (PDT)
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DCA7@SC-MBXC1.TheFacebook.com>
References: <9C30AE64-7DB8-4B6B-879B-61CB71BF74BB@facebook.com>  <C7EC567E.322EE%eran@hueniverse.com> <2513A610118CC14C8E622C376C8DEC93D54D66DCA7@SC-MBXC1.TheFacebook.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 15 Apr 2010 15:15:52 -0700
Received: by 10.141.1.1 with SMTP id d1mr1187127rvi.89.1271369772115; Thu, 15  Apr 2010 15:16:12 -0700 (PDT)
Message-ID: <i2t74caaad21004151515o29576c42tc468c8a86585535a@mail.gmail.com>
To: Luke Shepard <lshepard@facebook.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: Naitik Shah <naitik@facebook.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Rename callback => callback_uri
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 22:16:48 -0000

How about oauth_callback?

Marius



On Thu, Apr 15, 2010 at 2:41 PM, Luke Shepard <lshepard@facebook.com> wrote=
:
> We already had one developer try it out and get confused because the serv=
er
> tried to treat the callback URL as a JSONP callback.
>
>
>
> The protected resource typically accepts =93callback=94 as a parameter to
> support JSONP. If a developer accidentally passes in callback there (mayb=
e
> they got confused) then the server can=92t give a normal error message =
=96
> instead it needs to either detect that it looks like a URL or otherwise
> reject it.
>
>
>
> On a related note, I think it=92s more confusing calling it something
> different in the user-agent flow (redirector) when it=92s essentially doi=
ng
> the same thing.
>
>
>
>
>
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of
> Eran Hammer-Lahav
> Sent: Thursday, April 15, 2010 5:37 AM
> To: Naitik Shah; OAuth WG
> Subject: Re: [OAUTH-WG] Rename callback =3D> callback_uri
>
>
>
> I don=92t think it is that confusing. Its a completely different context =
from
> where JSON-P is used (note that in the User-Agent flow it is called
> something else).
>
> EHL
>
>
> On 4/10/10 12:35 PM, "Naitik Shah" <naitik@facebook.com> wrote:
>
> With the simplified params, the callback url parameter is now just
> "callback". Since most major API providers already use "callback" to sign=
ify
> JSON-P callback, can we rename this to "callback_uri"? This will help avo=
id
> collisions and confusion.
>
>
> -Naitik
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

From lshepard@facebook.com  Thu Apr 15 16:08:11 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D22903A6830 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 16:08:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.851
X-Spam-Level: 
X-Spam-Status: No, score=-2.851 tagged_above=-999 required=5 tests=[AWL=0.159,  BAYES_00=-2.599, FU_ENDS_2_WRDS=0.255, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xcsEFk0h1uXe for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 16:08:11 -0700 (PDT)
Received: from mailout-snc1.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id E90233A6949 for <oauth@ietf.org>; Thu, 15 Apr 2010 16:08:10 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.198]) by pp01.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3FN7iPA004712 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Thu, 15 Apr 2010 16:07:44 -0700
Received: from sc-hub06.TheFacebook.com (192.168.18.83) by sc-hub03.TheFacebook.com (192.168.18.198) with Microsoft SMTP Server (TLS) id 14.0.689.0; Thu, 15 Apr 2010 16:08:01 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub06.TheFacebook.com ([192.168.18.83]) with mapi; Thu, 15 Apr 2010 16:08:00 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, OAuth WG <oauth@ietf.org>
Date: Thu, 15 Apr 2010 16:09:05 -0700
Thread-Topic: [OAUTH-WG] Native applications capable of handling callbacks
Thread-Index: AcrYIt9HqbEa8GrhW0eQRvN1PulFkwARc/duACAIQsAAw54l0AAzG0IgAAsONWA=
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66DCBC@SC-MBXC1.TheFacebook.com>
References: <2513A610118CC14C8E622C376C8DEC93D54D66DB82@SC-MBXC1.TheFacebook.com> <C7EC9F3E.32327%eran@hueniverse.com>
In-Reply-To: <C7EC9F3E.32327%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-15_15:2010-02-06, 2010-04-15, 2010-04-15 signatures=0
Subject: Re: [OAUTH-WG] Native applications capable of handling callbacks
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 23:08:11 -0000

Thanks for the response Eran, that helps clarify things.

I'm hoping to have some in-person discussions with some Googlers tomorrow t=
o hopefully sort out the technical details of these flows. Will report back=
 to the list with any findings.

-----Original Message-----
From: Eran Hammer-Lahav [mailto:eran@hueniverse.com]=20
Sent: Thursday, April 15, 2010 10:47 AM
To: Luke Shepard; OAuth WG
Subject: Re: [OAUTH-WG] Native applications capable of handling callbacks




On 4/14/10 10:32 AM, "Luke Shepard" <lshepard@facebook.com> wrote:

> Sorry, I missed this thread. It dovetails with my objections raised in th=
e
> other thread (=B3Combining the native application and user-agent flows=B2=
)
> =20
> The question of whether OAuth should support custom URL protocols seems a=
 bit
> academic. In practice, major providers will probably allow them if there =
is
> demand from developers. The goal of this group is to establish a pragmati=
c,
> widely adopted authentication protocol =AD not to wage a IETF campaign ag=
ainst
> browser vendors to force compliance to standards.

It's not a question of an "IETF campaign" but of what an IETF specification
can say about it. WRAP explicitly mentions custom URI schemes which is
something we cannot do in an IETF spec because clearly violates IETF
standards.

The questions are "do we want to mention custom URI schemes? Do we think it
is a useful pattern?" and I suspect the answer is yes given how widely this
technique is used on the iPhone and other platforms. So then the question i=
s
how to do this within the context of an IETF specification or leave it for
people to figure out on their own (or in books and articles).

Creating a scheme for this isn't hard and is one simple way to accomplish
the same thing. It also allows us to mention how it is done today and
encourage people to seek the other way when possible. This is how we make
progress in standards (document the bad practice and offer better
solutions).

> Additionally, in my email I laid out a few ways for an entirely client ap=
p to
> handle a callback without using custom protocols. For instance:
> -         Use a scheme like =B3about:blank=B2 (does that count as a custo=
m scheme
> or is it supported by the IETF?)

There is a proposed RFC for 'about:' but it seems stuck due to lack of
authors time.

> -         Host a static callback themselves. For many apps it=B9s much ea=
sier to
> host a single, static callback than a dynamic server endpoint.

I assume you mean host a fixed document on a server.

> -         Use a callback hosted by the provider (i.e.,
> http://facebook.com/universal_callback

Sure, as long as it doesn't end up as an open redirector with the known
security issues.

> In practice, this is how desktop and mobile clients work to access Facebo=
ok
> today. The Native Application flow is basically like  the third option ab=
ove
> (callback hosted by provider), but without the flexibility of the first t=
wo.
> We should just get rid of that flow and use the =B3User-agent=B2 flow. (I=
 would
> prefer something like =B3Client-side App flow=B2 but I understand that th=
e naming
> here is pretty difficult)

If we end up with one flow, I am sure I can come up with another name.

EHL
=20


From justinsm@microsoft.com  Thu Apr 15 16:42:02 2010
Return-Path: <justinsm@microsoft.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1864F3A63C9 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 16:42:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.598
X-Spam-Level: 
X-Spam-Status: No, score=-10.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pQukwptoyPFW for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 16:41:59 -0700 (PDT)
Received: from smtp.microsoft.com (maila.microsoft.com [131.107.115.212]) by core3.amsl.com (Postfix) with ESMTP id 1948F3A6AB2 for <oauth@ietf.org>; Thu, 15 Apr 2010 16:41:43 -0700 (PDT)
Received: from TK5EX14CASC131.redmond.corp.microsoft.com (157.54.52.38) by TK5-EXGWY-E801.partners.extranet.microsoft.com (10.251.56.50) with Microsoft SMTP Server (TLS) id 8.2.176.0; Thu, 15 Apr 2010 16:41:35 -0700
Received: from TK5EX14MBXC115.redmond.corp.microsoft.com ([169.254.4.239]) by TK5EX14CASC131.redmond.corp.microsoft.com ([157.54.52.38]) with mapi; Thu, 15 Apr 2010 16:41:33 -0700
From: Justin Smith <justinsm@microsoft.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, Marius Scurtescu <mscurtescu@google.com>, "recordond@gmail.com" <recordond@gmail.com>
Thread-Topic: [OAUTH-WG] Issue: Scope parameter
Thread-Index: AQHK3NEWvq+1OOTFrkS1RWT2flQ40pIkXsgAgAADXwCAAAODAP//ySWw
Date: Thu, 15 Apr 2010 23:39:10 +0000
Deferred-Delivery: Thu, 15 Apr 2010 23:40:00 +0000
Message-ID: <191F411E00E19F4E943ECDB6D65C60851691F095@TK5EX14MBXC115.redmond.corp.microsoft.com>
References: <h2o74caaad21004151238w60c3afd3td8dccdd8a7127a4a@mail.gmail.com> <C7ECBC36.32379%eran@hueniverse.com>
In-Reply-To: <C7ECBC36.32379%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Content-Type: multipart/alternative; boundary="_000_191F411E00E19F4E943ECDB6D65C60851691F095TK5EX14MBXC115r_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2010 23:42:02 -0000

--_000_191F411E00E19F4E943ECDB6D65C60851691F095TK5EX14MBXC115r_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

I don't see how the presence of a scope parameter hurts interoperability.

It think scope needs to be a 1st class citizen in the spec, not an extensio=
n. Without it, a client cannot request access to a specific set of resource=
s (whether its represented as a string, URI, or anything else). Does the gr=
oup think it Is important for an Authorization Server to be able to make au=
th decisions based on requested resources?

From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
ran Hammer-Lahav
Sent: Thursday, April 15, 2010 12:51 PM
To: Marius Scurtescu; recordond@gmail.com
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Issue: Scope parameter

1. Write it
2. Comply with naming policy of new parameters*
3. Publish and get feedback.
4. Fix and repeat #3 as needed.
5. Register new parameter name*

:-)

* Pending new parameter name policy

For now just call it 'scope'.

EHL


On 4/15/10 12:38 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
Sure. Do we have a mechanism to define extensions?

Marius



On Thu, Apr 15, 2010 at 12:26 PM, David Recordon <recordond@gmail.com> wrot=
e:
> Marius, why don't we write a one page spec which defines scope as an
> extension? We end up with agreement around if scope is a useful
> parameter and a simple parameter name for multiple vendors (because it
> is an extension). Since you seem to be advocating for including scope
> the most, would you mind trying to write out a few paragraphs?
>
> Thanks,
> --David
>
>
> On Thu, Apr 15, 2010 at 12:20 PM, Marius Scurtescu
> <mscurtescu@google.com> wrote:
>> I still have not seen any arguments why scope structure is needed for
>> interop. Client and server side libraries do not need to understand
>> the scope, they just pass it around. Client and server code do need to
>> understand the scope, but we are not dealing with that.
>>
>> Yes, a scope parameter does not buy much, it only prevents each authz
>> server from inventing their own custom parameter.
>>
>> Marius
>>
>>
>>
>> On Thu, Apr 15, 2010 at 12:07 PM, Eran Hammer-Lahav <eran@hueniverse.com=
> wrote:
>>> WRAP includes a loosely defined scope parameter which allows for
>>> vendor-specific (and non-interoperable) use cases. This was requested b=
y
>>> many working group members to be included in OAuth 2.0 with the argumen=
t
>>> that while it doesn't help interop, it makes using clients easier.
>>>
>>> The problem with a general purpose scope parameter that is completely
>>> undefined in structure is that it hurts interop more than it helps. It
>>> creates an expectation that values can be used across services, and it
>>> cannot be used without another spec defining its content and structure.=
 Such
>>> as spec can simply define its own parameter.
>>>
>>> In addition, it is not clear what belongs in scope (list of resources,
>>> access type, duration of access, right to share data, rights to
>>> re-delegate).
>>>
>>> The rules should be that if a parameter cannot be used without another
>>> documentation, it should be defined in that other document.
>>>
>>> Proposal: Request proposals for a scope parameter definition that impro=
ve
>>> interop. Otherwise, keep the parameter out of the core spec.
>>>
>>> EHL
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>

--_000_191F411E00E19F4E943ECDB6D65C60851691F095TK5EX14MBXC115r_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:x=3D"urn:schemas-microsoft-com:office:excel" xmlns:p=3D"urn:schemas-m=
icrosoft-com:office:powerpoint" xmlns:a=3D"urn:schemas-microsoft-com:office=
:access" xmlns:dt=3D"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s=3D"=
uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs=3D"urn:schemas-microsof=
t-com:rowset" xmlns:z=3D"#RowsetSchema" xmlns:b=3D"urn:schemas-microsoft-co=
m:office:publisher" xmlns:ss=3D"urn:schemas-microsoft-com:office:spreadshee=
t" xmlns:c=3D"urn:schemas-microsoft-com:office:component:spreadsheet" xmlns=
:odc=3D"urn:schemas-microsoft-com:office:odc" xmlns:oa=3D"urn:schemas-micro=
soft-com:office:activation" xmlns:html=3D"http://www.w3.org/TR/REC-html40" =
xmlns:q=3D"http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc=3D"http://m=
icrosoft.com/officenet/conferencing" xmlns:D=3D"DAV:" xmlns:Repl=3D"http://=
schemas.microsoft.com/repl/" xmlns:mt=3D"http://schemas.microsoft.com/share=
point/soap/meetings/" xmlns:x2=3D"http://schemas.microsoft.com/office/excel=
/2003/xml" xmlns:ppda=3D"http://www.passport.com/NameSpace.xsd" xmlns:ois=
=3D"http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir=3D"http://=
schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds=3D"http://www.w3=
.org/2000/09/xmldsig#" xmlns:dsp=3D"http://schemas.microsoft.com/sharepoint=
/dsp" xmlns:udc=3D"http://schemas.microsoft.com/data/udc" xmlns:xsd=3D"http=
://www.w3.org/2001/XMLSchema" xmlns:sub=3D"http://schemas.microsoft.com/sha=
repoint/soap/2002/1/alerts/" xmlns:ec=3D"http://www.w3.org/2001/04/xmlenc#"=
 xmlns:sp=3D"http://schemas.microsoft.com/sharepoint/" xmlns:sps=3D"http://=
schemas.microsoft.com/sharepoint/soap/" xmlns:xsi=3D"http://www.w3.org/2001=
/XMLSchema-instance" xmlns:udcs=3D"http://schemas.microsoft.com/data/udc/so=
ap" xmlns:udcxf=3D"http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udc=
p2p=3D"http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf=3D"http:/=
/schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss=3D"http://sche=
mas.microsoft.com/office/2006/digsig-setup" xmlns:dssi=3D"http://schemas.mi=
crosoft.com/office/2006/digsig" xmlns:mdssi=3D"http://schemas.openxmlformat=
s.org/package/2006/digital-signature" xmlns:mver=3D"http://schemas.openxmlf=
ormats.org/markup-compatibility/2006" xmlns:m=3D"http://schemas.microsoft.c=
om/office/2004/12/omml" xmlns:mrels=3D"http://schemas.openxmlformats.org/pa=
ckage/2006/relationships" xmlns:spwp=3D"http://microsoft.com/sharepoint/web=
partpages" xmlns:ex12t=3D"http://schemas.microsoft.com/exchange/services/20=
06/types" xmlns:ex12m=3D"http://schemas.microsoft.com/exchange/services/200=
6/messages" xmlns:pptsl=3D"http://schemas.microsoft.com/sharepoint/soap/Sli=
deLibrary/" xmlns:spsl=3D"http://microsoft.com/webservices/SharePointPortal=
Server/PublishedLinksService" xmlns:Z=3D"urn:schemas-microsoft-com:" xmlns:=
st=3D"&#1;" xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<title>Re: [OAUTH-WG] Issue: Scope parameter</title>
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>I don&#8217;t see how the presence of a scope parameter hurt=
s
interoperability.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>It think scope needs to be a 1<sup>st</sup> class citizen in=
 the
spec, not an extension. Without it, a client cannot request access to a
specific set of resources (whether its represented as a string, URI, or
anything else). Does the group think it Is important for an Authorization
Server to be able to make auth decisions based on requested resources?<o:p>=
</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div>

<div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in'>

<p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma=
","sans-serif"'>From:</span></b><span
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] <b>On Behalf Of </b>=
Eran
Hammer-Lahav<br>
<b>Sent:</b> Thursday, April 15, 2010 12:51 PM<br>
<b>To:</b> Marius Scurtescu; recordond@gmail.com<br>
<b>Cc:</b> OAuth WG<br>
<b>Subject:</b> Re: [OAUTH-WG] Issue: Scope parameter<o:p></o:p></span></p>

</div>

</div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><span style=3D'font-siz=
e:11.0pt;
font-family:"Calibri","sans-serif"'>1. Write it<br>
2. Comply with naming policy of new parameters*<br>
3. Publish and get feedback.<br>
4. Fix and repeat #3 as needed.<br>
5. Register new parameter name*<br>
<br>
:-)<br>
<br>
* Pending new parameter name policy<br>
<br>
For now just call it &#8216;scope&#8217;.<br>
<br>
EHL<br>
<br>
<br>
On 4/15/10 12:38 PM, &quot;Marius Scurtescu&quot; &lt;<a
href=3D"mscurtescu@google.com">mscurtescu@google.com</a>&gt; wrote:</span><=
o:p></o:p></p>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><span style=3D'font-siz=
e:11.0pt;
font-family:"Calibri","sans-serif"'>Sure. Do we have a mechanism to define
extensions?<br>
<br>
Marius<br>
<br>
<br>
<br>
On Thu, Apr 15, 2010 at 12:26 PM, David Recordon &lt;<a
href=3D"recordond@gmail.com">recordond@gmail.com</a>&gt; wrote:<br>
&gt; Marius, why don't we write a one page spec which defines scope as an<b=
r>
&gt; extension? We end up with agreement around if scope is a useful<br>
&gt; parameter and a simple parameter name for multiple vendors (because it=
<br>
&gt; is an extension). Since you seem to be advocating for including scope<=
br>
&gt; the most, would you mind trying to write out a few paragraphs?<br>
&gt;<br>
&gt; Thanks,<br>
&gt; --David<br>
&gt;<br>
&gt;<br>
&gt; On Thu, Apr 15, 2010 at 12:20 PM, Marius Scurtescu<br>
&gt; &lt;<a href=3D"mscurtescu@google.com">mscurtescu@google.com</a>&gt; wr=
ote:<br>
&gt;&gt; I still have not seen any arguments why scope structure is needed =
for<br>
&gt;&gt; interop. Client and server side libraries do not need to understan=
d<br>
&gt;&gt; the scope, they just pass it around. Client and server code do nee=
d to<br>
&gt;&gt; understand the scope, but we are not dealing with that.<br>
&gt;&gt;<br>
&gt;&gt; Yes, a scope parameter does not buy much, it only prevents each au=
thz<br>
&gt;&gt; server from inventing their own custom parameter.<br>
&gt;&gt;<br>
&gt;&gt; Marius<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Thu, Apr 15, 2010 at 12:07 PM, Eran Hammer-Lahav &lt;<a
href=3D"eran@hueniverse.com">eran@hueniverse.com</a>&gt; wrote:<br>
&gt;&gt;&gt; WRAP includes a loosely defined scope parameter which allows f=
or<br>
&gt;&gt;&gt; vendor-specific (and non-interoperable) use cases. This was
requested by<br>
&gt;&gt;&gt; many working group members to be included in OAuth 2.0 with th=
e
argument<br>
&gt;&gt;&gt; that while it doesn't help interop, it makes using clients eas=
ier.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The problem with a general purpose scope parameter that is
completely<br>
&gt;&gt;&gt; undefined in structure is that it hurts interop more than it
helps. It<br>
&gt;&gt;&gt; creates an expectation that values can be used across services=
,
and it<br>
&gt;&gt;&gt; cannot be used without another spec defining its content and
structure. Such<br>
&gt;&gt;&gt; as spec can simply define its own parameter.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; In addition, it is not clear what belongs in scope (list of
resources,<br>
&gt;&gt;&gt; access type, duration of access, right to share data, rights t=
o<br>
&gt;&gt;&gt; re-delegate).<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The rules should be that if a parameter cannot be used without
another<br>
&gt;&gt;&gt; documentation, it should be defined in that other document.<br=
>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Proposal: Request proposals for a scope parameter definition t=
hat
improve<br>
&gt;&gt;&gt; interop. Otherwise, keep the parameter out of the core spec.<b=
r>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; EHL<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; OAuth mailing list<br>
&gt;&gt;&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt;&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https:=
//www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; OAuth mailing list<br>
&gt;&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://ww=
w.ietf.org/mailman/listinfo/oauth</a><br>
&gt;&gt;<br>
&gt;</span><o:p></o:p></p>

</div>

</body>

</html>

--_000_191F411E00E19F4E943ECDB6D65C60851691F095TK5EX14MBXC115r_--

From James.H.Manger@team.telstra.com  Thu Apr 15 18:09:25 2010
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1B67E3A6A33 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 18:09:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.157
X-Spam-Level: 
X-Spam-Status: No, score=-0.157 tagged_above=-999 required=5 tests=[AWL=0.744,  BAYES_00=-2.599, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id r6ncQrpmQSSQ for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 18:09:24 -0700 (PDT)
Received: from ipxavo.tcif.telstra.com.au (ipxavo.tcif.telstra.com.au [203.35.135.200]) by core3.amsl.com (Postfix) with ESMTP id 0276E3A6933 for <oauth@ietf.org>; Thu, 15 Apr 2010 18:09:23 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.52,216,1270389600";  d="scan'208";a="1068381"
Received: from unknown (HELO ipcdvi.tcif.telstra.com.au) ([10.97.217.212]) by ipoavi.tcif.telstra.com.au with ESMTP; 16 Apr 2010 11:09:15 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,5952"; a="766762"
Received: from wsmsg3702.srv.dir.telstra.com ([172.49.40.170]) by ipcdvi.tcif.telstra.com.au with ESMTP; 16 Apr 2010 11:09:15 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by WSMSG3702.srv.dir.telstra.com ([172.49.40.170]) with mapi; Fri, 16 Apr 2010 11:09:15 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, OAuth WG <oauth@ietf.org>
Date: Fri, 16 Apr 2010 11:09:10 +1000
Thread-Topic: Issue: restriction on values characters
Thread-Index: AcrcxPvR9KQ1Tz6ZfU2Z51D+MRN4XgAOEEhA
Message-ID: <255B9BB34FB7D647A506DC292726F6E11257480F9B@WSMSG3153V.srv.dir.telstra.com>
References: <C7ECA161.3232B%eran@hueniverse.com>
In-Reply-To: <C7ECA161.3232B%eran@hueniverse.com>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-cr-puzzleid: {782EF72D-1375-4111-80C4-5B96E8EBAC4B}
x-cr-hashedpuzzle: Eo7+ FN5Q FteV GBiB IJBa IQv2 I/WR JOdg Jjsw KNqD KOMn K1q4 MCRV Mv8w Py9N Q4Eu; 2; ZQByAGEAbgBAAGgAdQBlAG4AaQB2AGUAcgBzAGUALgBjAG8AbQA7AG8AYQB1AHQAaABAAGkAZQB0AGYALgBvAHIAZwA=; Sosha1_v1; 7; {782EF72D-1375-4111-80C4-5B96E8EBAC4B}; agBhAG0AZQBzAC4AaAAuAG0AYQBuAGcAZQByAEAAdABlAGEAbQAuAHQAZQBsAHMAdAByAGEALgBjAG8AbQA=; Fri, 16 Apr 2010 01:09:10 GMT; UgBFADoAIABJAHMAcwB1AGUAOgAgAHIAZQBzAHQAcgBpAGMAdABpAG8AbgAgAG8AbgAgAHYAYQBsAHUAZQBzACAAYwBoAGEAcgBhAGMAdABlAHIAcwA=
acceptlanguage: en-US, en-AU
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: restriction on values characters
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 01:09:25 -0000

PiBJIHdvdWxkIGxpa2UgdG8gcHJvcG9zYWwgdGhhdCB0aGUgc3BlYyByZW1haW5zIG11dGUgb24g
dGhlIGFsbG93ZWQgcGFyYW1ldGVyIHZhbHVlcw0KDQpUaGUgc3BlYyBpc24ndCBtdXRlLg0KQ3Vy
cmVudGx5LCB0aGUgZHJhZnQgc3BlYyB1c2VzIEhUVFAncyAndG9rZW4nIHByb2R1Y3Rpb24gZm9y
IHRoZSB2YWx1ZSBvZiBhbiBhY2Nlc3MgdG9rZW4uIFBlcmhhcHMgbm90IHN1cnByaXNpbmcgZ2l2
ZW4gdGhlIG5hbWVzLg0KVGhlIEFCTkYgZm9yIEhUVFAncyAndG9rZW4nIGFsbG93cyBvbmx5IDg5
IGNoYXJhY3RlcnMuIEl0IGV4Y2x1ZGVzICc9JyBmb3IgaW5zdGFuY2UuIEl0IGlzIGRlc2lnbmVk
IE5PVCB0byBuZWVkIHF1b3RpbmcgaW4gYW4gSFRUUCBoZWFkZXIuDQpDb250cmFkaWN0aW5nIHRo
aXMsIHRoZSBkcmFmdCBzcGVjIHJlcXVpcmVzIGRvdWJsZSBxdW90ZXMgYXJvdW5kIHRoZSBhY2Nl
c3MgdG9rZW4gdmFsdWUgd2hlbiBpbiBhbiBIVFRQIGhlYWRlci4gSXQgYWxzbyB1c2VzIGEgYmFz
ZTY0LWVuY29kaW5nIGFzIGFuIGV4YW1wbGUgdGhhdCBlbmRzIHdpdGggJz0nIC0tIGEgZGlzYWxs
b3dlZCBjaGFyYWN0ZXIuDQoNClNvbWV0aGluZyBuZWVkcyB0byBjaGFuZ2UuDQoNCkVpdGhlciB1
c2UgJ3F1b3RlZC1zdHJpbmcnIGZvciBhY2Nlc3MgdG9rZW5zLiBUaGF0IGFsbG93cyBhbm90aGVy
IH4yMCBBU0NJSSBjaGFycywgYW5kIFxjIGVzY2FwaW5nIGZvciBvdGhlciBBU0NJSSBjaGFycy4g
SSBkb24ndCB0aGluayB0aGVyZSBpcyBhbnkgZGVmaW5lZCBlc2NhcGluZyBmb3IgVW5pY29kZSBv
ZiBieXRlcy4gU2VlbWluZ2x5IGFkIGhvYyBjaG9pY2VzIHN1Y2ggYXMgJXh4IGFwcGVhcmVkIGlu
IGVhcmxpZXIgT0F1dGggZXhhbXBsZSB2YWx1ZXMsIGJ1dCBJIGRvbid0IHRoaW5rIGl0IHdhcyBl
dmVyIGRlZmluZWQuDQoNCk9yIHN0aWNrIHdpdGggJ3Rva2VuJzsgcmVtb3ZlIHRoZSBxdW90aW5n
IGFzIHVubmVjZXNzYXJ5IGFuZCBoZW5jZSBtaXNsZWFkaW5nOyBjaGFuZ2UgdGhlIGV4YW1wbGUg
bm90IHRvIGhhdmUgJz0nOyBub3RlIHRoYXQgIm5vcm1hbCIgYmFzZTY0IGNhbm5vdCBiZSB1c2Vk
IChuZWVkIHRvIGV4Y2x1ZGUgJz0nIGFuZCAnLycpLg0KDQpPciByZXN0cmljdCBhY2Nlc3MgdG9r
ZW5zIHRvIGEgcmVzdHJpY3RlZCBzZXQgdGhhdCBuZXZlciBuZWVkcyBlc2NhcGluZyBhbnl3aGVy
ZSAoSFRUUCBoZWFkZXJzLCBVUklzLCBxdWVyeSBwYXJhbXMsIFhNTC4uLikuIFJlY29tbWVuZCBi
YXNlNjQtdXJsLXNhZmUgd2l0aG91dCB0ZXJtaW5hdG9ycyB3aGVuZXZlciBhIGJ5dGUgYXJyYXks
IG9yIChVVEYtOCBlbmNvZGVkKSB1bmljb2RlIG5lZWRzIHRvIGJlIHJlcHJlc2VudGVkLg0KSSBm
YXZvdXIgdGhpcyBhcHByb2FjaC4NCg0KVGhlIGNsaWVudCBhcHAgYW5kIHVzZXIgYnJvd3NlciB0
aGF0IGFyZSBqdXN0IHBhc3NpbmcgdGhlc2Ugb3BhcXVlIHZhbHVlcyBhcm91bmQgZG9uJ3QgaGF2
ZSB0byBkbyBhbnkgZXNjYXBpbmcuIFRoZXkgc2hvdWxkIGp1c3QgZG8gaW5wdXQgdmFsaWRhdGlv
biAocmVqZWN0IHZhbHVlcyB3aXRoIGFueSBkaXNhbGxvd2VkIGNoYXJzKS4NCg0KDQoNClAuUy4g
J3Rva2VuJyBtYXkgYmUgY2hhbmdpbmcgaW4gdGhlIHJldmlzaW9uIG9mIEhUVFAgY3VycmVudGx5
IGJlaW5nIHdyaXR0ZW4uDQoNCg0KDQotLSANCkphbWVzIE1hbmdlcg0KDQotLS0tLU9yaWdpbmFs
IE1lc3NhZ2UtLS0tLQ0KRnJvbTogb2F1dGgtYm91bmNlc0BpZXRmLm9yZyBbbWFpbHRvOm9hdXRo
LWJvdW5jZXNAaWV0Zi5vcmddIE9uIEJlaGFsZiBPZiBFcmFuIEhhbW1lci1MYWhhdg0KU2VudDog
RnJpZGF5LCAxNiBBcHJpbCAyMDEwIDM6NTcgQU0NClRvOiBPQXV0aCBXRw0KU3ViamVjdDogW09B
VVRILVdHXSBJc3N1ZTogcmVzdHJpY3Rpb24gb24gdmFsdWVzIGNoYXJhY3RlcnMNCg0KR2l2ZW4g
dGhlIGN1cnJlbnQgcHJvcG9zYWwgZm9yIHNpZ25hdHVyZXMgKG5vIHBhcnNpbmcgb2YgdGhlIHJl
cXVlc3QgVVJJIG9yDQpib2R5LCBvciBhbnkgZW5jb2RpbmcpLCBJIHdvdWxkIGxpa2UgdG8gcHJv
cG9zYWwgdGhhdCB0aGUgc3BlYyByZW1haW5zIG11dGUNCm9uIHRoZSBhbGxvd2VkIHBhcmFtZXRl
ciB2YWx1ZXMuDQoNCldoaWxlIGl0IGlzIGJlc3QgdG8gaXNzdWUgdmFsdWVzIHRoYXQgZG8gbm90
IHJlcXVpcmUgYW55IGVuY29kaW5nIChvcg0KZGVjb2Rpbmcgd2hlbiByZWNlaXZpbmcgYSB0b2tl
biByZXNwb25zZSksIGVuY29kaW5nIGFuZCBkZWNvZGluZw0KZm9ybS1lbmNvZGVkIHBhcmFtZXRl
ciBpcyB0cml2aWFsIGFuZCBwcm92aWRlZCBhdXRvbWF0aWNhbGx5IGJ5IGV2ZXJ5DQpwbGF0Zm9y
bS4NCg0KVGhlIG9ubHkgaXNzdWVzIHdpdGggZW5jb2RpbmcgaW4gMS4wYSByZWxhdGVkIHRvIHNp
Z25hdHVyZXMgYW5kIHRoZQ0KcHJvZHVjdGlvbiBvZiB0aGUgYmFzZSBzdHJpbmcuIFRoaXMgaXMg
bm8gbG9uZ2VyIGFuIGlzc3VlLg0KDQpQcm9wb3NhbDogY2xvc2UgaXNzdWUgd2l0aG91dCBmdXJ0
aGVyIGFjdGlvbi4NCg0KRUhMDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fDQpPQXV0aCBtYWlsaW5nIGxpc3QNCk9BdXRoQGlldGYub3JnDQpodHRwczov
L3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29hdXRoDQo=

From James.H.Manger@team.telstra.com  Thu Apr 15 18:23:25 2010
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 261883A6A70 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 18:23:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.343
X-Spam-Level: 
X-Spam-Status: No, score=-0.343 tagged_above=-999 required=5 tests=[AWL=0.558,  BAYES_00=-2.599, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ST+K6Qnie6hr for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 18:23:23 -0700 (PDT)
Received: from ipxano.tcif.telstra.com.au (ipxano.tcif.telstra.com.au [203.35.82.200]) by core3.amsl.com (Postfix) with ESMTP id 85CBE28C103 for <oauth@ietf.org>; Thu, 15 Apr 2010 18:22:22 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.52,216,1270389600";  d="scan'208";a="1344077"
Received: from unknown (HELO ipcbni.tcif.telstra.com.au) ([10.97.216.204]) by ipoani.tcif.telstra.com.au with ESMTP; 16 Apr 2010 11:22:14 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,5952"; a="796687"
Received: from wsmsg3704.srv.dir.telstra.com ([172.49.40.197]) by ipcbni.tcif.telstra.com.au with ESMTP; 16 Apr 2010 11:22:15 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by WSMSG3704.srv.dir.telstra.com ([172.49.40.197]) with mapi; Fri, 16 Apr 2010 11:22:14 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, OAuth WG <oauth@ietf.org>
Date: Fri, 16 Apr 2010 11:22:13 +1000
Thread-Topic: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
Thread-Index: Acrcyz1lDoVqvOFmQEa2c5Oxsc3UxAANrWpw
Message-ID: <255B9BB34FB7D647A506DC292726F6E11257481003@WSMSG3153V.srv.dir.telstra.com>
References: <C7ECABE0.32344%eran@hueniverse.com>
In-Reply-To: <C7ECABE0.32344%eran@hueniverse.com>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-AU
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: Split the authorization endpoint into two	endpoints
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 01:23:25 -0000

SSBzdHJvbmdseSBmYXZvdXIgc3BlY2lmeWluZyAyIHNlcGFyYXRlIGVuZHBvaW50czogb25lIGZv
ciB3aGVyZSB0byByZWRpcmVjdCBhIHVzZXIsIGFub3RoZXIgZm9yIGRpcmVjdCBjbGllbnQgY2Fs
bHMuDQoNCkkgYWdyZWUgd2l0aCBNYXJpdXMgdGhhdCB0aGVzZSB0d28gZW5kcG9pbnRzIGFyZSBk
aWZmZXJlbnQgZW5vdWdoIHRvIGJlIHNlcGFyYXRlLg0KT25lIGlzIG9ubHkgdXNlZCBieSB1c2Vy
cyB2aWEgYnJvd3NlcnMuIFRoZSBvdGhlciBpcyBvbmx5IHVzZWQgYnkgY2xpZW50IGFwcHMuIFRo
ZXNlIGFyZSBkaWZmZXJlbnQgcG9wdWxhdGlvbnMsIHVzaW5nIGRpZmZlcmVudCBhdXRoZW50aWNh
dGlvbiBtZWNoYW5pc21zLCB3aXRoIGRpZmZlcmVudCBwZXJmb3JtYW5jZSByZXF1aXJlbWVudHMs
IGFuZCBkaWZmZXJlbnQgdGVjaG5vbG9naWVzLg0KDQpUaGUgdXNlIG9mIGEgdHlwZSBwYXJhbWV0
ZXIgaXMgYSBwb29yIHRvb2wgdG8gZGlzdGluZ3Vpc2hlcyB0aGVzZSBjYXNlcy4NCg0KSSBndWVz
cyAxIFVSSSBjb3VsZCBkZWZhdWx0IHRvIHRoZSBvdGhlciBpZiBub3QgZGVmaW5lZC4NCjEgVVJJ
IGNvdWxkIGJlIGFsbG93ZWQgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIG90aGVyIHRvIHNhdmUgc29t
ZSBieXRlcy4NCg0KLS0gDQpKYW1lcyBNYW5nZXINCg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut
LS0tLQ0KRnJvbTogb2F1dGgtYm91bmNlc0BpZXRmLm9yZyBbbWFpbHRvOm9hdXRoLWJvdW5jZXNA
aWV0Zi5vcmddIE9uIEJlaGFsZiBPZiBFcmFuIEhhbW1lci1MYWhhdg0KU2VudDogRnJpZGF5LCAx
NiBBcHJpbCAyMDEwIDQ6NDEgQU0NClRvOiBPQXV0aCBXRw0KU3ViamVjdDogW09BVVRILVdHXSBJ
c3N1ZTogU3BsaXQgdGhlIGF1dGhvcml6YXRpb24gZW5kcG9pbnQgaW50byB0d28gZW5kcG9pbnRz
DQoNCk9BdXRoIDIuMCBkZWZpbmVzIGEgc2luZ2xlIGF1dGhvcml6YXRpb24gZW5kcG9pbnQgd2l0
aCBhICd0eXBlJyBwYXJhbWV0ZXINCmZvciB0aGUgdmFyaW91cyBmbG93cyBhbmQgZmxvdyBzdGVw
cy4gVGhlcmUgYXJlIHR3byB0eXBlcyBvZiBjYWxscyBtYWRlIHRvDQp0aGUgYXV0aG9yaXphdGlv
biBlbmRwb2ludDoNCg0KLSBSZXF1ZXN0cyBmb3IgQWNjZXNzIC0gcmVxdWVzdHMgaW4gd2hpY2gg
YW4gZW5kIHVzZXIgaW50ZXJhY3RzIHdpdGggdGhlDQphdXRob3JpemF0aW9uIHNlcnZlciwgZ3Jh
bnRpbmcgY2xpZW50IGFjY2Vzcy4NCg0KLSBSZXF1ZXN0cyBmb3IgVG9rZW4gLSByZXF1ZXN0cyBp
biB3aGljaCB0aGUgY2xpZW50IHVzZXMgYSB2ZXJpZmljYXRpb24gY29kZQ0Kb3Igb3RoZXIgY3Jl
ZGVudGlhbHMgdG8gb2J0YWluIGFuIGFjY2VzcyB0b2tlbi4gVGhlc2UgcmVxdWVzdHMgcmVxdWly
ZQ0KU1NML1RMUyBiZWNhdXNlIHRoZXkgYWx3YXlzIHJlc3VsdCBpbiB0aGUgdHJhbnNtaXNzaW9u
IG9mIHBsYWludGV4dA0KY3JlZGVudGlhbHMgaW4gdGhlIHJlc3BvbnNlIGFuZCBzb21ldGltZXMg
aW4gdGhlIHJlcXVlc3QuDQoNCkEgcHJvcG9zYWwgaGFzIGJlZW4gbWFkZSB0byBkZWZpbmUgdHdv
IHNlcGFyYXRlIGVuZHBvaW50cyBkdWUgdG8gdGhlDQpkaWZmZXJlbnQgbmF0dXJlIG9mIHRoZXNl
IGVuZHBvaW50czoNCg0KT24gNC82LzEwIDQ6MDYgUE0sICJNYXJpdXMgU2N1cnRlc2N1IiA8bXNj
dXJ0ZXNjdUBnb29nbGUuY29tPiB3cm90ZToNCg0KPiBDb25zdHJhaW50cyBmb3IgZW5kcG9pbnRz
Og0KPiBhY2Nlc3MgdG9rZW4gVVJMOiBIVFRQUyBhbmQgUE9TVCBvbmx5LCBubyB1c2VyDQo+IHVz
ZXIgYXV0aGVudGljYXRpb24gVVJMOiBIVFRQIG9yIEhUVFBTLCBHRVQgb3IgUE9TVCwgYXV0aGVu
dGljYXRlZCB1c2VyDQo+IA0KPiBJbiBtYW55IGNhc2VzIHRoZSBhYm92ZSBjb25zdHJhaW50cyBj
YW4gYmUgZW5mb3JjZWQgd2l0aCBjb25maWd1cmF0aW9uDQo+IHRoYXQgc2l0cyBpbiBmcm9udCBv
ZiB0aGUgY29udHJvbGxlcnMgaW1wbGVtZW50aW5nIHRoZXNlIGVuZHBvaW50cy4NCj4gRm9yIGV4
YW1wbGUsIEFwYWNoZSBjb25maWcgY2FuIGVuZm9yY2UgU1NMIGFuZCBQT1NULiBTYW1lIGNhbiBi
ZSBkb25lDQo+IGluIGEgSmF2YSBmaWx0ZXIuIEFsc28gYSBKYXZhIGZpbHRlciBjYW4gZW5mb3Jj
ZSB0aGF0IG9ubHkNCj4gYXV0aGVudGljYXRlZCB1c2VycyBoaXQgdGhlIGVuZHBvaW50LCBpdCBj
YW4gcmVkaXJlY3QgdG8gYSBsb2dpbiBwYWdlDQo+IGlmIG5lZWRlZC4NCj4gDQo+IEJ5IGtlZXBp
bmcgdHdvIGRpZmZlcmVudCBlbmRwb2ludHMgYWxsIG9mIHRoZSBhYm92ZSBpcyBtdWNoIHNpbXBs
ZXIuDQo+IE5vdGhpbmcgcHJldmVudHMgYW4gYXV0aHogc2VydmVyIHRvIGNvbGxhcHNlIHRoZXNl
IHR3byBpbnRvIG9uZQ0KPiBlbmRwb2ludC4NCg0KV2hpbGUgcmVxdWVzdHMgZm9yIGFjY2VzcyBk
byBub3QgcmVxdWlyZSBIVFRQUywgdGhleSBzaG91bGQgYmVjYXVzZSB0aGV5DQppbnZvbHZlIGF1
dGhlbnRpY2F0aW5nIHRoZSBlbmQgdXNlci4gQXMgZm9yIGVuZm9yY2luZyBIVFRQIG1ldGhvZHMg
KEdFVCwNClBPU1QpLCB0aGlzIGlzIHNpbXBsZSB0byBkbyBib3RoIGF0IHRoZSBzZXJ2ZXIgY29u
ZmlndXJhdGlvbiBsZXZlbCBvcg0KYXBwbGljYXRpb24gbGV2ZWwuDQoNCk9uIHRoZSBvdGhlciBo
YW5kLCBoYXZpbmcgYSBzaW5nbGUgZW5kcG9pbnQgbWFrZXMgdGhlIHNwZWNpZmljYXRpb24gc2lt
cGxlciwNCmFuZCBtb3JlIGltcG9ydGFudGx5LCBtYWtlcyBkaXNjb3ZlcnkgdHJpdmlhbCBhcyBh
IDQwMSByZXNwb25zZSBuZWVkcyB0bw0KaW5jbHVkZSBhIHNpbmdsZSBlbmRwb2ludCBmb3Igb2J0
YWluaW5nIGEgdG9rZW4gcmVnYXJkbGVzcyBvZiB0aGUgZmxvdyAoc29tZQ0KZmxvd3MgdXNlIG9u
ZSwgb3RoZXJzIHR3byBzdGVwcykuDQoNCkEgcmljaGVyIGRpc2NvdmVyeSBsYXRlciBjYW4gdXNl
IExSREQgb24gdGhlIHNpbmdsZSBhdXRob3JpemF0aW9uIGVuZHBvaW50DQp0byBvYnRhaW4gYW4g
WFJEIGRlc2NyaWJpbmcgdGhlIGZsb3dzIGFuZCBVSSBvcHRpb25zIHByb3ZpZGVkIGJ5IHRoZSBz
ZXJ2ZXIuDQpCdXQgdGhpcyBpcyBvdXRzaWRlIG91ciBzY29wZS4NCg0KUHJvcG9zYWw6IE5vIGNo
YW5nZS4gS2VlcCB0aGUgc2luZ2xlIGF1dGhvcml6YXRpb24gZW5kcG9pbnQgYW5kIHJlcXVpcmUN
CkhUVFBTIGZvciBhbGwgcmVxdWVzdHMuDQoNCkVITA0KDQoNCg0KDQoNCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpPQXV0aCBtYWlsaW5nIGxpc3QNCk9B
dXRoQGlldGYub3JnDQpodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29hdXRo
DQo=

From mscurtescu@google.com  Thu Apr 15 18:32:18 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 03F413A6832 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 18:32:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.619
X-Spam-Level: 
X-Spam-Status: No, score=-101.619 tagged_above=-999 required=5 tests=[AWL=0.358, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WWo6zssYD047 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 18:32:16 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id DD4373A67A1 for <oauth@ietf.org>; Thu, 15 Apr 2010 18:32:09 -0700 (PDT)
Received: from kpbe19.cbf.corp.google.com (kpbe19.cbf.corp.google.com [172.25.105.83]) by smtp-out.google.com with ESMTP id o3G1VuKd007411 for <oauth@ietf.org>; Fri, 16 Apr 2010 03:31:58 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271381518; bh=/5TlLc12VQMGpQYFNF8WAoVtUxM=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=PNC3eDKgvwRgpStTSGiwkF908MWjr3lwIQsUiJkcTwm1nEDRzgcTebBmZEpImHBzW gAq79N6+mo7e6jgzXb3Mg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=hTUecf3LMQ1v12nEnOyBYLafDaY2blsJStewe4t9LqYAG8cqUaUaPegopWeYhouDF 1S+fU0yJlAs8DtdL1Qh2Q==
Received: from pwi6 (pwi6.prod.google.com [10.241.219.6]) by kpbe19.cbf.corp.google.com with ESMTP id o3G1Vtv4018385 for <oauth@ietf.org>; Thu, 15 Apr 2010 18:31:55 -0700
Received: by pwi6 with SMTP id 6so1482709pwi.18 for <oauth@ietf.org>; Thu, 15 Apr 2010 18:31:55 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Thu, 15 Apr 2010 18:31:35 -0700 (PDT)
In-Reply-To: <C7ECBAA3.32376%eran@hueniverse.com>
References: <m2t74caaad21004151236h6df241a2k6b18c788b300cca6@mail.gmail.com>  <C7ECBAA3.32376%eran@hueniverse.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 15 Apr 2010 18:31:35 -0700
Received: by 10.140.252.6 with SMTP id z6mr1220150rvh.229.1271381515106; Thu,  15 Apr 2010 18:31:55 -0700 (PDT)
Message-ID: <u2u74caaad21004151831jaf0a29e2ga84c36d4456dc87f@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 01:32:18 -0000

OK, here is a concrete example:

A Drupal (popular PHP based CMS) based web site wants to become an
OAuth 2 client. Among other things it needs to implement a callback
endpoint.

Ideally this endpoint would look something like:
http://example.com/oauth/back

Depending on what web server is used and how it is configured, the
above URL may not be possible. Drupal is dispatching all requests
through the main script and the path of the endpoint is passed as a
query parameter. Normally the above URL is seen as:
http://example.com/index.php?q=oauth/back

The cleaner http://example.com/oauth/back is achieved with Apache URl
rewriting, but if Apache is not available or configured to support
that, you are stuck with the ugly query parameters.

In the unlucky case the registered callback, and the actual callback
used in messages, is "http://example.com/index.php?q=oauth/back". This
callback has a query parameter, it is not used for state, and it is
not an extension.

It so happens that "q" will not conflict with any of the existing
OAuth 2 parameters, but you can see the potential issue.

Now, even if Apache is available and URL rewrites work, so the nice
callback is used, a collision would still happen if "q" was used by
OAuth 2. Apache rewrites "/oauth/back", but the Drupal dispatcher
always sees "/index.php?q=oauth/back", so another q parameter would
break things.

I do realize that a prefix will not solve ALL collisions and it is
also not solving the extension question, but I still think makes a big
difference.

Hope this helps,
Marius



On Thu, Apr 15, 2010 at 12:44 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
>
>
>
> On 4/15/10 12:36 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
>> On Thu, Apr 15, 2010 at 12:27 PM, Eran Hammer-Lahav <eran@hueniverse.com>
>> wrote:
>>>
>>> On 4/15/10 12:15 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>>>
>>>> I really think we should keep a standard parameter prefix like
>>>> "oauth_". What are the issue with having a prefix?
>>>
>>> I really think we shouldn't. :-)
>>>
>>> Requests are longer for no reason.
>>
>> Not much longer, the number of parameters is small. Why is this a problem?
>
> It's longer for no reason.
>
>>
>>> You need to show how a prefix actually
>>> helps. Otherwise, it is the same as adding an 'protocol=oauth' to every
>>> request just for fun.
>>
>> I think I did.
>
> Say it helps isn't proof, just an argument.
>
>>
>>>> Not having such a prefix will lead to collisions with query parameter
>>>> on the authz server endpoints
>>>
>>> Having a prefix without an extension policy does not help at all to prevent
>>> collisions. This is a false expectation. There is no difference between
>>> saying 'don't add new parameters with the oauth_ prefix' or 'don't add new
>>> parameters with names already used by this specification'.
>>
>> I agree this is not perfect, but that does not mean it does not help.
>>
>> It is one thing to say to implementors to stay away from parameters
>> stating with "oauth_" and a totally different thing to say stay away
>> from "scope", "mode", "callback", ... and whatever we will add to
>> newer versions to the spec. All these are very common words and
>> chances for collision are high.
>
> So what happens when someone wants to add a language parameter? Do they call
> is 'language' or 'oauth_language'? The prefix just doesn't solve anything
> without a policy, and once you write a policy it is no longer needed.
>
>>
>>>> or on the callback URL. Even if state is
>>>> not passed with additional parameters on callbacks. This also leads to
>>>> adding further limitations on these URLs, by not allowing query
>>>> parameters.
>>>
>>> Callback parameters are a bit different. We still need to solve the issue of
>>> how to allow client state in callbacks (state parameter or free-for-all).
>>> But here too, a prefix does not solve collisions. You have the same
>>> extension policy issue.
>>
>> State aside, the callback may want to have query parameters, even in
>> the registered version. Why disallow that?
>
> I don't think it should, but I am opposed to both random parameters and a
> client state parameter. Either way, that's a different issue - let's try to
> keep this focused on one issue at a time.
>
>>
>>> A prefix just "solves" potential collision between the core spec and other
>>> specs using the same parameter names. It does not help how to avoid
>>> collisions between extensions and vendors. OAuth 1.0a had a prefix and then
>>> we spent weeks discussion who else can define oauth_ parameters. It just
>>> moved the problem somewhere else - the extension policy.
>>
>> Not trying to solve the extension issue at all.
>
> This is all about extensions (common or vendor specific)!
>
> EHL
>
>>
>> Marius
>>
>>>
>>>> Marius
>>>>
>>>>
>>>>
>>>> On Thu, Apr 15, 2010 at 12:08 PM, John Kemp <john@jkemp.net> wrote:
>>>>> Hello,
>>>>>
>>>>> On Apr 15, 2010, at 2:27 PM, Eran Hammer-Lahav wrote:
>>>>>
>>>>>> OAuth 2.0 flows use a single authorization endpoint (with 'type'
>>>>>> parameter).
>>>>>> This endpoint is OAuth-specific but must allow for extension parameters
>>>>>> (standard or vendor-specific).
>>>>>>
>>>>>> The issue is how to best allow for extensions defining new parameters. The
>>>>>> danger is common parameter names ('scope', 'language', 'permission') being
>>>>>> used differently by different vendors, creating interop issues with
>>>>>> libraries.
>>>>>
>>>>> If the OAuth specification defines the name for a parameter, and people
>>>>> claim
>>>>> to implement the specification, they must use those parameter names
>>>>> according
>>>>> to the specified usage. In other words, implementations of OAuth should all
>>>>> do the same thing, and use the same names for the OAuth-specific
>>>>> parameters.
>>>>> But, deployments of OAuth will use OAuth implementations and possibly have
>>>>> additional requirements (such as passing other query string parameters
>>>>> which
>>>>> may collide with the OAuth ones). And particular OAuth vendors may add
>>>>> other
>>>>> extension parameters (agreed between particular implementations but not
>>>>> perhaps within the entire community) to the query string. All of that might
>>>>> be covered by "conformance to the specification" - conformant
>>>>> implementations
>>>>> MUST not define parameters with names that clash with the agreed OAuth
>>>>> names.
>>>>>
>>>>>>
>>>>>> Prefix alone (for the core or extensions) does not solve the problem since
>>>>>> extensions still suffer from potential namespace collision.
>>>>>
>>>>> Right. You cannot solve this problem. The danger is for those who don't
>>>>> read
>>>>> the spec. (because they don't have to - they are buying a product, or using
>>>>> a
>>>>> library).
>>>>>
>>>>>> 'oauth_' prefix
>>>>>> makes all the parameter names longer, but doesn't add real value -
>>>>>> defining
>>>>>> new parameters, with or without the 'oauth_' prefix is still the same
>>>>>> problem.
>>>>>>
>>>>>> The typical solution is to define an extension policy, using a registry or
>>>>>> domain-namespace for new names.
>>>>>>
>>>>>> Proposal:
>>>>>>
>>>>>> Plain parameter names (names without '.' character) require registration
>>>>>> (IANA registry with a published specification). This will encourage people
>>>>>> to share their parameters and improve interop beyond the core protocol
>>>>>> parameters.
>>>>>
>>>>> It will - how?
>>>>>
>>>>>>
>>>>>> Vendor specific names will require a prefix using either registered vendor
>>>>>> names (e.g. 'google', 'fb', 'yahoo').
>>>>>
>>>>> How will you *require* this - will there be a statement to that effect in
>>>>> the
>>>>> specification - "conformant implementations MUST NOT define query
>>>>> parameters
>>>>> that clash withe names int he OAuth registry "? What will you do about
>>>>> deployments which include an OAuth library and do not know anything at all
>>>>> about the OAuth requirements?
>>>>>
>>>>>> Alternatively, use the same extension
>>>>>> policy as OpenID where extensions use any prefix and include a prefix URI
>>>>>> identifier (e.g.
>>>>>> http://example.com?etx.language=en&ns:ext=http://example.com/spec1).
>>>>>>
>>>>>
>>>>> What do you consider an "extension" for this purpose (some parameter agreed
>>>>> on by two or more conforming OAuth implementations)?
>>>>>
>>>>> - johnk
>>>>>
>>>>>> EHL
>>>>>>
>>>>>> _______________________________________________
>>>>>> OAuth mailing list
>>>>>> OAuth@ietf.org
>>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>>
>>>>> _______________________________________________
>>>>> OAuth mailing list
>>>>> OAuth@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>>
>>>>
>>>
>>>
>>
>
>

From uidude@google.com  Thu Apr 15 18:40:17 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2E5CC3A685D for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 18:40:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.825
X-Spam-Level: 
X-Spam-Status: No, score=-101.825 tagged_above=-999 required=5 tests=[AWL=0.151, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8I0zbN33O72X for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 18:40:15 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 8ABCD3A6838 for <oauth@ietf.org>; Thu, 15 Apr 2010 18:40:14 -0700 (PDT)
Received: from hpaq3.eem.corp.google.com (hpaq3.eem.corp.google.com [10.3.21.3]) by smtp-out.google.com with ESMTP id o3G1e5VV016904 for <oauth@ietf.org>; Fri, 16 Apr 2010 03:40:05 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271382005; bh=IfqMkABByWQvFX1/QaMugJzV2/g=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=eeIVNIHNVQDCzltGqU33ydEm60ckJ4Gzbyv1hVzpnAJt0KHkHk5dVHcAyJ9mTRJTh +uIprgYxRpNmrKH1smp5A==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=YJRDPvNxdl2Trl0RhhWG7aW9XSjV+mQb7JU9HMew6PW+07t7+e7l9VgfP7d3DXQ2f 0F2j1c8wZl7qCa71HqFZw==
Received: from qw-out-2122.google.com (qwi5.prod.google.com [10.241.195.5]) by hpaq3.eem.corp.google.com with ESMTP id o3G1e1IS027787 for <oauth@ietf.org>; Fri, 16 Apr 2010 03:40:03 +0200
Received: by qw-out-2122.google.com with SMTP id 5so644569qwi.11 for <oauth@ietf.org>; Thu, 15 Apr 2010 18:40:01 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.131 with HTTP; Thu, 15 Apr 2010 18:39:41 -0700 (PDT)
In-Reply-To: <u2u74caaad21004151831jaf0a29e2ga84c36d4456dc87f@mail.gmail.com>
References: <m2t74caaad21004151236h6df241a2k6b18c788b300cca6@mail.gmail.com>  <C7ECBAA3.32376%eran@hueniverse.com> <u2u74caaad21004151831jaf0a29e2ga84c36d4456dc87f@mail.gmail.com>
From: Evan Gilbert <uidude@google.com>
Date: Thu, 15 Apr 2010 18:39:41 -0700
Received: by 10.229.224.79 with SMTP id in15mr1074562qcb.76.1271382001239;  Thu, 15 Apr 2010 18:40:01 -0700 (PDT)
Message-ID: <q2oc8689b661004151839uc165b35aqfe5d1fd48917dc8c@mail.gmail.com>
To: Marius Scurtescu <mscurtescu@google.com>
Content-Type: multipart/alternative; boundary=0016363b8edc8ec80d048450b04a
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 01:40:17 -0000

--0016363b8edc8ec80d048450b04a
Content-Type: text/plain; charset=ISO-8859-1

On Thu, Apr 15, 2010 at 6:31 PM, Marius Scurtescu <mscurtescu@google.com>wrote:

> OK, here is a concrete example:
>
> A Drupal (popular PHP based CMS) based web site wants to become an
> OAuth 2 client. Among other things it needs to implement a callback
> endpoint.
>
> Ideally this endpoint would look something like:
> http://example.com/oauth/back
>
> Depending on what web server is used and how it is configured, the
> above URL may not be possible. Drupal is dispatching all requests
> through the main script and the path of the endpoint is passed as a
> query parameter. Normally the above URL is seen as:
> http://example.com/index.php?q=oauth/back
>
> The cleaner http://example.com/oauth/back is achieved with Apache URl
> rewriting, but if Apache is not available or configured to support
> that, you are stuck with the ugly query parameters.
>
> In the unlucky case the registered callback, and the actual callback
> used in messages, is "http://example.com/index.php?q=oauth/back". This
> callback has a query parameter, it is not used for state, and it is
> not an extension.
>
> It so happens that "q" will not conflict with any of the existing
> OAuth 2 parameters, but you can see the potential issue.
>
> Now, even if Apache is available and URL rewrites work, so the nice
> callback is used, a collision would still happen if "q" was used by
> OAuth 2. Apache rewrites "/oauth/back", but the Drupal dispatcher
> always sees "/index.php?q=oauth/back", so another q parameter would
> break things.
>

We should ask Drupal to change their query parameter to drupal_q.


>
> I do realize that a prefix will not solve ALL collisions and it is
> also not solving the extension question, but I still think makes a big
> difference.
>

This use case makes sense, but do we know of any existing conflicts?

Very few web servers have this restrictive a URL parameter policy - I think
I'm OK losing compatibility with future web servers that reserve the
"callback" parameter for other purposes.


> Hope this helps,
> Marius
>
>
>
> On Thu, Apr 15, 2010 at 12:44 PM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
> >
> >
> >
> > On 4/15/10 12:36 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
> >
> >> On Thu, Apr 15, 2010 at 12:27 PM, Eran Hammer-Lahav <
> eran@hueniverse.com>
> >> wrote:
> >>>
> >>> On 4/15/10 12:15 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
> >>>
> >>>> I really think we should keep a standard parameter prefix like
> >>>> "oauth_". What are the issue with having a prefix?
> >>>
> >>> I really think we shouldn't. :-)
> >>>
> >>> Requests are longer for no reason.
> >>
> >> Not much longer, the number of parameters is small. Why is this a
> problem?
> >
> > It's longer for no reason.
> >
> >>
> >>> You need to show how a prefix actually
> >>> helps. Otherwise, it is the same as adding an 'protocol=oauth' to every
> >>> request just for fun.
> >>
> >> I think I did.
> >
> > Say it helps isn't proof, just an argument.
> >
> >>
> >>>> Not having such a prefix will lead to collisions with query parameter
> >>>> on the authz server endpoints
> >>>
> >>> Having a prefix without an extension policy does not help at all to
> prevent
> >>> collisions. This is a false expectation. There is no difference between
> >>> saying 'don't add new parameters with the oauth_ prefix' or 'don't add
> new
> >>> parameters with names already used by this specification'.
> >>
> >> I agree this is not perfect, but that does not mean it does not help.
> >>
> >> It is one thing to say to implementors to stay away from parameters
> >> stating with "oauth_" and a totally different thing to say stay away
> >> from "scope", "mode", "callback", ... and whatever we will add to
> >> newer versions to the spec. All these are very common words and
> >> chances for collision are high.
> >
> > So what happens when someone wants to add a language parameter? Do they
> call
> > is 'language' or 'oauth_language'? The prefix just doesn't solve anything
> > without a policy, and once you write a policy it is no longer needed.
> >
> >>
> >>>> or on the callback URL. Even if state is
> >>>> not passed with additional parameters on callbacks. This also leads to
> >>>> adding further limitations on these URLs, by not allowing query
> >>>> parameters.
> >>>
> >>> Callback parameters are a bit different. We still need to solve the
> issue of
> >>> how to allow client state in callbacks (state parameter or
> free-for-all).
> >>> But here too, a prefix does not solve collisions. You have the same
> >>> extension policy issue.
> >>
> >> State aside, the callback may want to have query parameters, even in
> >> the registered version. Why disallow that?
> >
> > I don't think it should, but I am opposed to both random parameters and a
> > client state parameter. Either way, that's a different issue - let's try
> to
> > keep this focused on one issue at a time.
> >
> >>
> >>> A prefix just "solves" potential collision between the core spec and
> other
> >>> specs using the same parameter names. It does not help how to avoid
> >>> collisions between extensions and vendors. OAuth 1.0a had a prefix and
> then
> >>> we spent weeks discussion who else can define oauth_ parameters. It
> just
> >>> moved the problem somewhere else - the extension policy.
> >>
> >> Not trying to solve the extension issue at all.
> >
> > This is all about extensions (common or vendor specific)!
> >
> > EHL
> >
> >>
> >> Marius
> >>
> >>>
> >>>> Marius
> >>>>
> >>>>
> >>>>
> >>>> On Thu, Apr 15, 2010 at 12:08 PM, John Kemp <john@jkemp.net> wrote:
> >>>>> Hello,
> >>>>>
> >>>>> On Apr 15, 2010, at 2:27 PM, Eran Hammer-Lahav wrote:
> >>>>>
> >>>>>> OAuth 2.0 flows use a single authorization endpoint (with 'type'
> >>>>>> parameter).
> >>>>>> This endpoint is OAuth-specific but must allow for extension
> parameters
> >>>>>> (standard or vendor-specific).
> >>>>>>
> >>>>>> The issue is how to best allow for extensions defining new
> parameters. The
> >>>>>> danger is common parameter names ('scope', 'language', 'permission')
> being
> >>>>>> used differently by different vendors, creating interop issues with
> >>>>>> libraries.
> >>>>>
> >>>>> If the OAuth specification defines the name for a parameter, and
> people
> >>>>> claim
> >>>>> to implement the specification, they must use those parameter names
> >>>>> according
> >>>>> to the specified usage. In other words, implementations of OAuth
> should all
> >>>>> do the same thing, and use the same names for the OAuth-specific
> >>>>> parameters.
> >>>>> But, deployments of OAuth will use OAuth implementations and possibly
> have
> >>>>> additional requirements (such as passing other query string
> parameters
> >>>>> which
> >>>>> may collide with the OAuth ones). And particular OAuth vendors may
> add
> >>>>> other
> >>>>> extension parameters (agreed between particular implementations but
> not
> >>>>> perhaps within the entire community) to the query string. All of that
> might
> >>>>> be covered by "conformance to the specification" - conformant
> >>>>> implementations
> >>>>> MUST not define parameters with names that clash with the agreed
> OAuth
> >>>>> names.
> >>>>>
> >>>>>>
> >>>>>> Prefix alone (for the core or extensions) does not solve the problem
> since
> >>>>>> extensions still suffer from potential namespace collision.
> >>>>>
> >>>>> Right. You cannot solve this problem. The danger is for those who
> don't
> >>>>> read
> >>>>> the spec. (because they don't have to - they are buying a product, or
> using
> >>>>> a
> >>>>> library).
> >>>>>
> >>>>>> 'oauth_' prefix
> >>>>>> makes all the parameter names longer, but doesn't add real value -
> >>>>>> defining
> >>>>>> new parameters, with or without the 'oauth_' prefix is still the
> same
> >>>>>> problem.
> >>>>>>
> >>>>>> The typical solution is to define an extension policy, using a
> registry or
> >>>>>> domain-namespace for new names.
> >>>>>>
> >>>>>> Proposal:
> >>>>>>
> >>>>>> Plain parameter names (names without '.' character) require
> registration
> >>>>>> (IANA registry with a published specification). This will encourage
> people
> >>>>>> to share their parameters and improve interop beyond the core
> protocol
> >>>>>> parameters.
> >>>>>
> >>>>> It will - how?
> >>>>>
> >>>>>>
> >>>>>> Vendor specific names will require a prefix using either registered
> vendor
> >>>>>> names (e.g. 'google', 'fb', 'yahoo').
> >>>>>
> >>>>> How will you *require* this - will there be a statement to that
> effect in
> >>>>> the
> >>>>> specification - "conformant implementations MUST NOT define query
> >>>>> parameters
> >>>>> that clash withe names int he OAuth registry "? What will you do
> about
> >>>>> deployments which include an OAuth library and do not know anything
> at all
> >>>>> about the OAuth requirements?
> >>>>>
> >>>>>> Alternatively, use the same extension
> >>>>>> policy as OpenID where extensions use any prefix and include a
> prefix URI
> >>>>>> identifier (e.g.
> >>>>>> http://example.com?etx.language=en&ns:ext=http://example.com/spec1
> ).
> >>>>>>
> >>>>>
> >>>>> What do you consider an "extension" for this purpose (some parameter
> agreed
> >>>>> on by two or more conforming OAuth implementations)?
> >>>>>
> >>>>> - johnk
> >>>>>
> >>>>>> EHL
> >>>>>>
> >>>>>> _______________________________________________
> >>>>>> OAuth mailing list
> >>>>>> OAuth@ietf.org
> >>>>>> https://www.ietf.org/mailman/listinfo/oauth
> >>>>>
> >>>>> _______________________________________________
> >>>>> OAuth mailing list
> >>>>> OAuth@ietf.org
> >>>>> https://www.ietf.org/mailman/listinfo/oauth
> >>>>>
> >>>>
> >>>
> >>>
> >>
> >
> >
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--0016363b8edc8ec80d048450b04a
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Thu, Apr 15, 2010 at 6:31 PM, Marius =
Scurtescu <span dir=3D"ltr">&lt;<a href=3D"mailto:mscurtescu@google.com">ms=
curtescu@google.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quo=
te" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;=
">

OK, here is a concrete example:<br>
<br>
A Drupal (popular PHP based CMS) based web site wants to become an<br>
OAuth 2 client. Among other things it needs to implement a callback<br>
endpoint.<br>
<br>
Ideally this endpoint would look something like:<br>
<a href=3D"http://example.com/oauth/back" target=3D"_blank">http://example.=
com/oauth/back</a><br>
<br>
Depending on what web server is used and how it is configured, the<br>
above URL may not be possible. Drupal is dispatching all requests<br>
through the main script and the path of the endpoint is passed as a<br>
query parameter. Normally the above URL is seen as:<br>
<a href=3D"http://example.com/index.php?q=3Doauth/back" target=3D"_blank">h=
ttp://example.com/index.php?q=3Doauth/back</a><br>
<br>
The cleaner <a href=3D"http://example.com/oauth/back" target=3D"_blank">htt=
p://example.com/oauth/back</a> is achieved with Apache URl<br>
rewriting, but if Apache is not available or configured to support<br>
that, you are stuck with the ugly query parameters.<br>
<br>
In the unlucky case the registered callback, and the actual callback<br>
used in messages, is &quot;<a href=3D"http://example.com/index.php?q=3Doaut=
h/back" target=3D"_blank">http://example.com/index.php?q=3Doauth/back</a>&q=
uot;. This<br>
callback has a query parameter, it is not used for state, and it is<br>
not an extension.<br>
<br>
It so happens that &quot;q&quot; will not conflict with any of the existing=
<br>
OAuth 2 parameters, but you can see the potential issue.<br>
<br>
Now, even if Apache is available and URL rewrites work, so the nice<br>
callback is used, a collision would still happen if &quot;q&quot; was used =
by<br>
OAuth 2. Apache rewrites &quot;/oauth/back&quot;, but the Drupal dispatcher=
<br>
always sees &quot;/index.php?q=3Doauth/back&quot;, so another q parameter w=
ould<br>
break things.<br></blockquote><div><br></div><div>We should ask Drupal to c=
hange their query parameter to drupal_q.</div><div>=A0</div><blockquote cla=
ss=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;pa=
dding-left:1ex;">


<br>
I do realize that a prefix will not solve ALL collisions and it is<br>
also not solving the extension question, but I still think makes a big<br>
difference.<br></blockquote><div><br>This use case makes sense, but do we k=
now of any existing conflicts?=A0</div><div><br></div><div>Very few web ser=
vers have this restrictive a URL parameter policy - I think I&#39;m OK losi=
ng compatibility with future web servers that reserve the &quot;callback&qu=
ot; parameter for other purposes.=A0</div>

<div><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex=
;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Hope this helps,<br>
<font color=3D"#888888">Marius<br>
</font><div><div></div><div class=3D"h5"><br>
<br>
<br>
On Thu, Apr 15, 2010 at 12:44 PM, Eran Hammer-Lahav &lt;<a href=3D"mailto:e=
ran@hueniverse.com">eran@hueniverse.com</a>&gt; wrote:<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On 4/15/10 12:36 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mailt=
o:mscurtescu@google.com">mscurtescu@google.com</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; On Thu, Apr 15, 2010 at 12:27 PM, Eran Hammer-Lahav &lt;<a href=3D=
"mailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt;<br>
&gt;&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On 4/15/10 12:15 PM, &quot;Marius Scurtescu&quot; &lt;<a href=
=3D"mailto:mscurtescu@google.com">mscurtescu@google.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I really think we should keep a standard parameter prefix =
like<br>
&gt;&gt;&gt;&gt; &quot;oauth_&quot;. What are the issue with having a prefi=
x?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I really think we shouldn&#39;t. :-)<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Requests are longer for no reason.<br>
&gt;&gt;<br>
&gt;&gt; Not much longer, the number of parameters is small. Why is this a =
problem?<br>
&gt;<br>
&gt; It&#39;s longer for no reason.<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt; You need to show how a prefix actually<br>
&gt;&gt;&gt; helps. Otherwise, it is the same as adding an &#39;protocol=3D=
oauth&#39; to every<br>
&gt;&gt;&gt; request just for fun.<br>
&gt;&gt;<br>
&gt;&gt; I think I did.<br>
&gt;<br>
&gt; Say it helps isn&#39;t proof, just an argument.<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt;&gt; Not having such a prefix will lead to collisions with quer=
y parameter<br>
&gt;&gt;&gt;&gt; on the authz server endpoints<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Having a prefix without an extension policy does not help at a=
ll to prevent<br>
&gt;&gt;&gt; collisions. This is a false expectation. There is no differenc=
e between<br>
&gt;&gt;&gt; saying &#39;don&#39;t add new parameters with the oauth_ prefi=
x&#39; or &#39;don&#39;t add new<br>
&gt;&gt;&gt; parameters with names already used by this specification&#39;.=
<br>
&gt;&gt;<br>
&gt;&gt; I agree this is not perfect, but that does not mean it does not he=
lp.<br>
&gt;&gt;<br>
&gt;&gt; It is one thing to say to implementors to stay away from parameter=
s<br>
&gt;&gt; stating with &quot;oauth_&quot; and a totally different thing to s=
ay stay away<br>
&gt;&gt; from &quot;scope&quot;, &quot;mode&quot;, &quot;callback&quot;, ..=
. and whatever we will add to<br>
&gt;&gt; newer versions to the spec. All these are very common words and<br=
>
&gt;&gt; chances for collision are high.<br>
&gt;<br>
&gt; So what happens when someone wants to add a language parameter? Do the=
y call<br>
&gt; is &#39;language&#39; or &#39;oauth_language&#39;? The prefix just doe=
sn&#39;t solve anything<br>
&gt; without a policy, and once you write a policy it is no longer needed.<=
br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt;&gt; or on the callback URL. Even if state is<br>
&gt;&gt;&gt;&gt; not passed with additional parameters on callbacks. This a=
lso leads to<br>
&gt;&gt;&gt;&gt; adding further limitations on these URLs, by not allowing =
query<br>
&gt;&gt;&gt;&gt; parameters.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Callback parameters are a bit different. We still need to solv=
e the issue of<br>
&gt;&gt;&gt; how to allow client state in callbacks (state parameter or fre=
e-for-all).<br>
&gt;&gt;&gt; But here too, a prefix does not solve collisions. You have the=
 same<br>
&gt;&gt;&gt; extension policy issue.<br>
&gt;&gt;<br>
&gt;&gt; State aside, the callback may want to have query parameters, even =
in<br>
&gt;&gt; the registered version. Why disallow that?<br>
&gt;<br>
&gt; I don&#39;t think it should, but I am opposed to both random parameter=
s and a<br>
&gt; client state parameter. Either way, that&#39;s a different issue - let=
&#39;s try to<br>
&gt; keep this focused on one issue at a time.<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt; A prefix just &quot;solves&quot; potential collision between t=
he core spec and other<br>
&gt;&gt;&gt; specs using the same parameter names. It does not help how to =
avoid<br>
&gt;&gt;&gt; collisions between extensions and vendors. OAuth 1.0a had a pr=
efix and then<br>
&gt;&gt;&gt; we spent weeks discussion who else can define oauth_ parameter=
s. It just<br>
&gt;&gt;&gt; moved the problem somewhere else - the extension policy.<br>
&gt;&gt;<br>
&gt;&gt; Not trying to solve the extension issue at all.<br>
&gt;<br>
&gt; This is all about extensions (common or vendor specific)!<br>
&gt;<br>
&gt; EHL<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; Marius<br>
&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Marius<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On Thu, Apr 15, 2010 at 12:08 PM, John Kemp &lt;<a href=3D=
"mailto:john@jkemp.net">john@jkemp.net</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt; Hello,<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; On Apr 15, 2010, at 2:27 PM, Eran Hammer-Lahav wrote:<=
br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; OAuth 2.0 flows use a single authorization endpoin=
t (with &#39;type&#39;<br>
&gt;&gt;&gt;&gt;&gt;&gt; parameter).<br>
&gt;&gt;&gt;&gt;&gt;&gt; This endpoint is OAuth-specific but must allow for=
 extension parameters<br>
&gt;&gt;&gt;&gt;&gt;&gt; (standard or vendor-specific).<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; The issue is how to best allow for extensions defi=
ning new parameters. The<br>
&gt;&gt;&gt;&gt;&gt;&gt; danger is common parameter names (&#39;scope&#39;,=
 &#39;language&#39;, &#39;permission&#39;) being<br>
&gt;&gt;&gt;&gt;&gt;&gt; used differently by different vendors, creating in=
terop issues with<br>
&gt;&gt;&gt;&gt;&gt;&gt; libraries.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; If the OAuth specification defines the name for a para=
meter, and people<br>
&gt;&gt;&gt;&gt;&gt; claim<br>
&gt;&gt;&gt;&gt;&gt; to implement the specification, they must use those pa=
rameter names<br>
&gt;&gt;&gt;&gt;&gt; according<br>
&gt;&gt;&gt;&gt;&gt; to the specified usage. In other words, implementation=
s of OAuth should all<br>
&gt;&gt;&gt;&gt;&gt; do the same thing, and use the same names for the OAut=
h-specific<br>
&gt;&gt;&gt;&gt;&gt; parameters.<br>
&gt;&gt;&gt;&gt;&gt; But, deployments of OAuth will use OAuth implementatio=
ns and possibly have<br>
&gt;&gt;&gt;&gt;&gt; additional requirements (such as passing other query s=
tring parameters<br>
&gt;&gt;&gt;&gt;&gt; which<br>
&gt;&gt;&gt;&gt;&gt; may collide with the OAuth ones). And particular OAuth=
 vendors may add<br>
&gt;&gt;&gt;&gt;&gt; other<br>
&gt;&gt;&gt;&gt;&gt; extension parameters (agreed between particular implem=
entations but not<br>
&gt;&gt;&gt;&gt;&gt; perhaps within the entire community) to the query stri=
ng. All of that might<br>
&gt;&gt;&gt;&gt;&gt; be covered by &quot;conformance to the specification&q=
uot; - conformant<br>
&gt;&gt;&gt;&gt;&gt; implementations<br>
&gt;&gt;&gt;&gt;&gt; MUST not define parameters with names that clash with =
the agreed OAuth<br>
&gt;&gt;&gt;&gt;&gt; names.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Prefix alone (for the core or extensions) does not=
 solve the problem since<br>
&gt;&gt;&gt;&gt;&gt;&gt; extensions still suffer from potential namespace c=
ollision.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Right. You cannot solve this problem. The danger is fo=
r those who don&#39;t<br>
&gt;&gt;&gt;&gt;&gt; read<br>
&gt;&gt;&gt;&gt;&gt; the spec. (because they don&#39;t have to - they are b=
uying a product, or using<br>
&gt;&gt;&gt;&gt;&gt; a<br>
&gt;&gt;&gt;&gt;&gt; library).<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &#39;oauth_&#39; prefix<br>
&gt;&gt;&gt;&gt;&gt;&gt; makes all the parameter names longer, but doesn&#3=
9;t add real value -<br>
&gt;&gt;&gt;&gt;&gt;&gt; defining<br>
&gt;&gt;&gt;&gt;&gt;&gt; new parameters, with or without the &#39;oauth_&#3=
9; prefix is still the same<br>
&gt;&gt;&gt;&gt;&gt;&gt; problem.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; The typical solution is to define an extension pol=
icy, using a registry or<br>
&gt;&gt;&gt;&gt;&gt;&gt; domain-namespace for new names.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Proposal:<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Plain parameter names (names without &#39;.&#39; c=
haracter) require registration<br>
&gt;&gt;&gt;&gt;&gt;&gt; (IANA registry with a published specification). Th=
is will encourage people<br>
&gt;&gt;&gt;&gt;&gt;&gt; to share their parameters and improve interop beyo=
nd the core protocol<br>
&gt;&gt;&gt;&gt;&gt;&gt; parameters.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; It will - how?<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Vendor specific names will require a prefix using =
either registered vendor<br>
&gt;&gt;&gt;&gt;&gt;&gt; names (e.g. &#39;google&#39;, &#39;fb&#39;, &#39;y=
ahoo&#39;).<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; How will you *require* this - will there be a statemen=
t to that effect in<br>
&gt;&gt;&gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt;&gt; specification - &quot;conformant implementations MUST =
NOT define query<br>
&gt;&gt;&gt;&gt;&gt; parameters<br>
&gt;&gt;&gt;&gt;&gt; that clash withe names int he OAuth registry &quot;? W=
hat will you do about<br>
&gt;&gt;&gt;&gt;&gt; deployments which include an OAuth library and do not =
know anything at all<br>
&gt;&gt;&gt;&gt;&gt; about the OAuth requirements?<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Alternatively, use the same extension<br>
&gt;&gt;&gt;&gt;&gt;&gt; policy as OpenID where extensions use any prefix a=
nd include a prefix URI<br>
&gt;&gt;&gt;&gt;&gt;&gt; identifier (e.g.<br>
&gt;&gt;&gt;&gt;&gt;&gt; <a href=3D"http://example.com?etx.language=3Den&am=
p;ns:ext=3Dhttp://example.com/spec1" target=3D"_blank">http://example.com?e=
tx.language=3Den&amp;ns:ext=3Dhttp://example.com/spec1</a>).<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; What do you consider an &quot;extension&quot; for this=
 purpose (some parameter agreed<br>
&gt;&gt;&gt;&gt;&gt; on by two or more conforming OAuth implementations)?<b=
r>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; - johnk<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; EHL<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; _______________________________________________<br=
>
&gt;&gt;&gt;&gt;&gt;&gt; OAuth mailing list<br>
&gt;&gt;&gt;&gt;&gt;&gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</=
a><br>
&gt;&gt;&gt;&gt;&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/o=
auth" target=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt;&gt; OAuth mailing list<br>
&gt;&gt;&gt;&gt;&gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><b=
r>
&gt;&gt;&gt;&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth=
" target=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br>

--0016363b8edc8ec80d048450b04a--

From James.H.Manger@team.telstra.com  Thu Apr 15 18:40:29 2010
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 94EFD3A677E for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 18:40:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.753
X-Spam-Level: 
X-Spam-Status: No, score=0.753 tagged_above=-999 required=5 tests=[AWL=-0.761,  BAYES_40=-0.185, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, HTML_MESSAGE=0.001, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NvcERcRtBzpO for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 18:40:28 -0700 (PDT)
Received: from ipxavo.tcif.telstra.com.au (ipxavo.tcif.telstra.com.au [203.35.135.200]) by core3.amsl.com (Postfix) with ESMTP id 4065A3A6919 for <oauth@ietf.org>; Thu, 15 Apr 2010 18:40:26 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.52,216,1270389600"; d="scan'208,217";a="1071938"
Received: from unknown (HELO ipcbvi.tcif.telstra.com.au) ([10.97.217.204]) by ipoavi.tcif.telstra.com.au with ESMTP; 16 Apr 2010 11:40:19 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,5952"; a="774441"
Received: from wsmsg3706.srv.dir.telstra.com ([172.49.40.80]) by ipcbvi.tcif.telstra.com.au with ESMTP; 16 Apr 2010 11:40:19 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by wsmsg3706.srv.dir.telstra.com ([172.49.40.80]) with mapi; Fri, 16 Apr 2010 11:40:19 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: OAuth WG <oauth@ietf.org>
Date: Fri, 16 Apr 2010 11:40:18 +1000
Thread-Topic: [OAUTH-WG] Issue: Scope parameter
Thread-Index: AQHK3NEWvq+1OOTFrkS1RWT2flQ40pIkXsgAgAADXwCAAAODAP//ySWwgAAfiRA=
Message-ID: <255B9BB34FB7D647A506DC292726F6E1125748109A@WSMSG3153V.srv.dir.telstra.com>
References: <h2o74caaad21004151238w60c3afd3td8dccdd8a7127a4a@mail.gmail.com> <C7ECBC36.32379%eran@hueniverse.com> <191F411E00E19F4E943ECDB6D65C60851691F095@TK5EX14MBXC115.redmond.corp.microsoft.com>
In-Reply-To: <191F411E00E19F4E943ECDB6D65C60851691F095@TK5EX14MBXC115.redmond.corp.microsoft.com>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-AU
Content-Type: multipart/alternative; boundary="_000_255B9BB34FB7D647A506DC292726F6E1125748109AWSMSG3153Vsrv_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 01:40:29 -0000

--_000_255B9BB34FB7D647A506DC292726F6E1125748109AWSMSG3153Vsrv_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

PiBJIGRvbuKAmXQgc2VlIGhvdyB0aGUgcHJlc2VuY2Ugb2YgYSBzY29wZSBwYXJhbWV0ZXIgaHVy
dHMgaW50ZXJvcGVyYWJpbGl0eS4NCg0KDQoNClNjb3BlcyBzbyBmYXIgaGF2ZSBhbGwgYmVlbiBz
cGVjaWZpYyB0byBhIHNwZWNpZmljIHNlcnZpY2UuIEtub3dpbmcgaG93IEdvb2dsZSB1c2VzIOKA
mHNjb3Bl4oCZIHRlbGxzIHlvdSBub3RoaW5nIGFib3V0IGludGVyb3BlcmF0aW5nIHdpdGggTWlj
cm9zb2Z0Lg0KDQoNCg0KUmVxdWVzdGluZyBhY2Nlc3MgdG8gc3BlY2lmaWMgc2V0cyBvZiByZXNv
dXJjZXMgaXMgaW1wb3J0YW50LiBIb3dldmVyLCB5b3UgY2FuIGRvIGl0IGJ5IHByb3ZpZGluZyBk
aWZmZXJlbnQgdXNlci1hdXRob3JpemF0aW9uIFVSSXMg4oCUIGV2ZW4gaWYgdGhlIFVSSXMgb25s
eSBkaWZmZXIgaW4gdGhlIHZhbHVlIG9mIGEg4oCYc2NvcGXigJkgcXVlcnkgcGFyYW1ldGVyLg0K
DQoNCg0KRm9yIGEgbGlicmFyeSB0aGF0IGlzbuKAmXQgc2VydmljZS1zcGVjaWZpYywgYSBzY29w
ZSB2YWx1ZSBvZmZlcnMgbm8gc2VtYW50aWMgdmFsdWUuIEFsbCB0aGUgbGlicmFyeSBjYW4gZG8g
aXMgdGFjayBpdCBvbnRvIGEgc3VwcGxpZWQgdXNlciBhdXRoeiBVUkkuIEluIHdoaWNoIGNhc2Ug
aXQgaXMgc2ltcGxlciBmb3IgdGhlIGxpYnJhcnkgdG8ganVzdCBhY2NlcHQgYSB1c2VyIGF1dGh6
IFVSSSB0aGF0IGhhcyBoYWQgdGhlIHNjb3BlIHRhY2tlZCBvbiBiZWZvcmUgYmVpbmcgcGFzc2Vk
IHRvIHRoZSBsaWJyYXJ5Lg0KDQoNCg0KDQoNCi0tDQoNCkphbWVzIE1hbmdlcg0KDQoNCg0KRnJv
bTogb2F1dGgtYm91bmNlc0BpZXRmLm9yZyBbbWFpbHRvOm9hdXRoLWJvdW5jZXNAaWV0Zi5vcmdd
IE9uIEJlaGFsZiBPZiBKdXN0aW4gU21pdGgNClNlbnQ6IEZyaWRheSwgMTYgQXByaWwgMjAxMCA5
OjM5IEFNDQpUbzogRXJhbiBIYW1tZXItTGFoYXY7IE1hcml1cyBTY3VydGVzY3U7IHJlY29yZG9u
ZEBnbWFpbC5jb20NCkNjOiBPQXV0aCBXRw0KU3ViamVjdDogUmU6IFtPQVVUSC1XR10gSXNzdWU6
IFNjb3BlIHBhcmFtZXRlcg0KDQoNCg0KSSBkb27igJl0IHNlZSBob3cgdGhlIHByZXNlbmNlIG9m
IGEgc2NvcGUgcGFyYW1ldGVyIGh1cnRzIGludGVyb3BlcmFiaWxpdHkuDQoNCg0KDQpJdCB0aGlu
ayBzY29wZSBuZWVkcyB0byBiZSBhIDFzdCBjbGFzcyBjaXRpemVuIGluIHRoZSBzcGVjLCBub3Qg
YW4gZXh0ZW5zaW9uLiBXaXRob3V0IGl0LCBhIGNsaWVudCBjYW5ub3QgcmVxdWVzdCBhY2Nlc3Mg
dG8gYSBzcGVjaWZpYyBzZXQgb2YgcmVzb3VyY2VzICh3aGV0aGVyIGl0cyByZXByZXNlbnRlZCBh
cyBhIHN0cmluZywgVVJJLCBvciBhbnl0aGluZyBlbHNlKS4gRG9lcyB0aGUgZ3JvdXAgdGhpbmsg
aXQgSXMgaW1wb3J0YW50IGZvciBhbiBBdXRob3JpemF0aW9uIFNlcnZlciB0byBiZSBhYmxlIHRv
IG1ha2UgYXV0aCBkZWNpc2lvbnMgYmFzZWQgb24gcmVxdWVzdGVkIHJlc291cmNlcz8NCg0K

--_000_255B9BB34FB7D647A506DC292726F6E1125748109AWSMSG3153Vsrv_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6eD0idXJuOnNjaGVtYXMtbWljcm9z
b2Z0LWNvbTpvZmZpY2U6ZXhjZWwiIHhtbG5zOnA9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206
b2ZmaWNlOnBvd2VycG9pbnQiIHhtbG5zOmE9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2Zm
aWNlOmFjY2VzcyIgeG1sbnM6ZHQ9InV1aWQ6QzJGNDEwMTAtNjVCMy0xMWQxLUEyOUYtMDBBQTAw
QzE0ODgyIiB4bWxuczpzPSJ1dWlkOkJEQzZFM0YwLTZEQTMtMTFkMS1BMkEzLTAwQUEwMEMxNDg4
MiIgeG1sbnM6cnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206cm93c2V0IiB4bWxuczp6PSIj
Um93c2V0U2NoZW1hIiB4bWxuczpiPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpw
dWJsaXNoZXIiIHhtbG5zOnNzPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpzcHJl
YWRzaGVldCIgeG1sbnM6Yz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6Y29tcG9u
ZW50OnNwcmVhZHNoZWV0IiB4bWxuczpvZGM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2Zm
aWNlOm9kYyIgeG1sbnM6b2E9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOmFjdGl2
YXRpb24iIHhtbG5zOmh0bWw9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAiIHhtbG5z
OnE9Imh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3NvYXAvZW52ZWxvcGUvIiB4bWxuczpydGM9
Imh0dHA6Ly9taWNyb3NvZnQuY29tL29mZmljZW5ldC9jb25mZXJlbmNpbmciIHhtbG5zOkQ9IkRB
VjoiIHhtbG5zOlJlcGw9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vcmVwbC8iIHhtbG5z
Om10PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29hcC9tZWV0aW5n
cy8iIHhtbG5zOngyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9leGNlbC8y
MDAzL3htbCIgeG1sbnM6cHBkYT0iaHR0cDovL3d3dy5wYXNzcG9ydC5jb20vTmFtZVNwYWNlLnhz
ZCIgeG1sbnM6b2lzPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29h
cC9vaXMvIiB4bWxuczpkaXI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2lu
dC9zb2FwL2RpcmVjdG9yeS8iIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3ht
bGRzaWcjIiB4bWxuczpkc3A9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2lu
dC9kc3AiIHhtbG5zOnVkYz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kYXRhL3VkYyIg
eG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6c3ViPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29hcC8yMDAyLzEvYWxlcnRz
LyIgeG1sbnM6ZWM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jIyIgeG1sbnM6c3A9
Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2ludC8iIHhtbG5zOnNwcz0iaHR0
cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9zaGFyZXBvaW50L3NvYXAvIiB4bWxuczp4c2k9Imh0
dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp1ZGNzPSJodHRw
Oi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RhdGEvdWRjL3NvYXAiIHhtbG5zOnVkY3hmPSJodHRw
Oi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RhdGEvdWRjL3htbGZpbGUiIHhtbG5zOnVkY3AycD0i
aHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kYXRhL3VkYy9wYXJ0dG9wYXJ0IiB4bWxuczp3
Zj0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9zaGFyZXBvaW50L3NvYXAvd29ya2Zsb3cv
IiB4bWxuczpkc3NzPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA2L2Rp
Z3NpZy1zZXR1cCIgeG1sbnM6ZHNzaT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZp
Y2UvMjAwNi9kaWdzaWciIHhtbG5zOm1kc3NpPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0
cy5vcmcvcGFja2FnZS8yMDA2L2RpZ2l0YWwtc2lnbmF0dXJlIiB4bWxuczptdmVyPSJodHRwOi8v
c2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvbWFya3VwLWNvbXBhdGliaWxpdHkvMjAwNiIgeG1s
bnM6bT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4
bWxuczptcmVscz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAw
Ni9yZWxhdGlvbnNoaXBzIiB4bWxuczpzcHdwPSJodHRwOi8vbWljcm9zb2Z0LmNvbS9zaGFyZXBv
aW50L3dlYnBhcnRwYWdlcyIgeG1sbnM6ZXgxMnQ9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5j
b20vZXhjaGFuZ2Uvc2VydmljZXMvMjAwNi90eXBlcyIgeG1sbnM6ZXgxMm09Imh0dHA6Ly9zY2hl
bWFzLm1pY3Jvc29mdC5jb20vZXhjaGFuZ2Uvc2VydmljZXMvMjAwNi9tZXNzYWdlcyIgeG1sbnM6
cHB0c2w9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2ludC9zb2FwL1NsaWRl
TGlicmFyeS8iIHhtbG5zOnNwc2w9Imh0dHA6Ly9taWNyb3NvZnQuY29tL3dlYnNlcnZpY2VzL1No
YXJlUG9pbnRQb3J0YWxTZXJ2ZXIvUHVibGlzaGVkTGlua3NTZXJ2aWNlIiB4bWxuczpaPSJ1cm46
c2NoZW1hcy1taWNyb3NvZnQtY29tOiIgeG1sbnM6c3Q9IiYjMTsiIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVu
dC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1ldGEgbmFtZT0i
R2VuZXJhdG9yIiBjb250ZW50PSJNaWNyb3NvZnQgV29yZCAxMiAoZmlsdGVyZWQgbWVkaXVtKSI+
DQo8dGl0bGU+UmU6IFtPQVVUSC1XR10gSXNzdWU6IFNjb3BlIHBhcmFtZXRlcjwvdGl0bGU+DQo8
c3R5bGU+DQo8IS0tDQogLyogRm9udCBEZWZpbml0aW9ucyAqLw0KIEBmb250LWZhY2UNCgl7Zm9u
dC1mYW1pbHk6IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9
DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIg
MiAyIDQgMyAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpUYWhvbWE7DQoJcGFub3Nl
LTE6MiAxMSA2IDQgMyA1IDQgNCAyIDQ7fQ0KIC8qIFN0eWxlIERlZmluaXRpb25zICovDQogcC5N
c29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGNtOw0KCW1h
cmdpbi1ib3R0b206LjAwMDFwdDsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OiJU
aW1lcyBOZXcgUm9tYW4iLCJzZXJpZiI7fQ0KYTpsaW5rLCBzcGFuLk1zb0h5cGVybGluaw0KCXtt
c28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6Ymx1ZTsNCgl0ZXh0LWRlY29yYXRpb246dW5k
ZXJsaW5lO30NCmE6dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZA0KCXttc28tc3R5
bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6cHVycGxlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxp
bmU7fQ0Kc3Bhbi5FbWFpbFN0eWxlMTcNCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWw7DQoJZm9u
dC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsNCgljb2xvcjojMUY0OTdEO30NCnNwYW4u
RW1haWxTdHlsZTE4DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFt
aWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQoJY29sb3I6IzFGNDk3RDt9DQouTXNvQ2hwRGVm
YXVsdA0KCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsNCglmb250LXNpemU6MTAuMHB0O30N
CkBwYWdlIFNlY3Rpb24xDQoJe3NpemU6NjEyLjBwdCA3OTIuMHB0Ow0KCW1hcmdpbjo3Mi4wcHQg
NzIuMHB0IDcyLjBwdCA3Mi4wcHQ7fQ0KZGl2LlNlY3Rpb24xDQoJe3BhZ2U6U2VjdGlvbjE7fQ0K
LS0+DQo8L3N0eWxlPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KIDxvOnNoYXBlZGVmYXVsdHMg
djpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lm
IGd0ZSBtc28gOV0+PHhtbD4NCiA8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQogIDxvOmlk
bWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0KIDwvbzpzaGFwZWxheW91dD48L3htbD48IVtl
bmRpZl0tLT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9IkVOLUFVIiBsaW5rPSJibHVlIiB2bGluaz0i
cHVycGxlIj4NCjxkaXYgY2xhc3M9IlNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVv
dDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMxRjQ5N0QiPiZndDsNCjwvc3Bhbj48
c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6DQom
cXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+
SSBkb27igJl0IHNlZSBob3cgdGhlIHByZXNlbmNlIG9mIGEgc2NvcGUgcGFyYW1ldGVyIGh1cnRz
IGludGVyb3BlcmFiaWxpdHkuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMx
RjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTom
cXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xvcjojMUY0OTdE
Ij5TY29wZXMgc28gZmFyIGhhdmUgYWxsIGJlZW4gc3BlY2lmaWMgdG8gYSBzcGVjaWZpYyBzZXJ2
aWNlLiBLbm93aW5nIGhvdyBHb29nbGUgdXNlcyDigJhzY29wZeKAmSB0ZWxscyB5b3Ugbm90aGlu
ZyBhYm91dCBpbnRlcm9wZXJhdGluZyB3aXRoIE1pY3Jvc29mdC48bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNl
cmlmJnF1b3Q7Ow0KY29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZx
dW90OzsNCmNvbG9yOiMxRjQ5N0QiPlJlcXVlc3RpbmcgYWNjZXNzIHRvIHNwZWNpZmljIHNldHMg
b2YgcmVzb3VyY2VzIGlzIGltcG9ydGFudC4gSG93ZXZlciwgeW91IGNhbiBkbyBpdCBieSBwcm92
aWRpbmcgZGlmZmVyZW50IHVzZXItYXV0aG9yaXphdGlvbiBVUklzIOKAlCBldmVuIGlmDQogdGhl
IFVSSXMgb25seSBkaWZmZXIgaW4gdGhlIHZhbHVlIG9mIGEg4oCYc2NvcGXigJkgcXVlcnkgcGFy
YW1ldGVyLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu
IGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtD
YWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xvcjojMUY0OTdEIj48bzpw
PiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5n
PSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy
aSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ow0KY29sb3I6IzFGNDk3RCI+Rm9yIGEgbGli
cmFyeSB0aGF0IGlzbuKAmXQgc2VydmljZS1zcGVjaWZpYywgYSBzY29wZSB2YWx1ZSBvZmZlcnMg
bm8gc2VtYW50aWMgdmFsdWUuIEFsbCB0aGUgbGlicmFyeSBjYW4gZG8gaXMgdGFjayBpdCBvbnRv
IGEgc3VwcGxpZWQgdXNlciBhdXRoeg0KIFVSSS4gSW4gd2hpY2ggY2FzZSBpdCBpcyBzaW1wbGVy
IGZvciB0aGUgbGlicmFyeSB0byBqdXN0IGFjY2VwdCBhIHVzZXIgYXV0aHogVVJJIHRoYXQgaGFz
IGhhZCB0aGUgc2NvcGUgdGFja2VkIG9uIGJlZm9yZSBiZWluZyBwYXNzZWQgdG8gdGhlIGxpYnJh
cnkuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVv
dDtzYW5zLXNlcmlmJnF1b3Q7Ow0KY29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7
Ow0KY29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMx
RjQ5N0QiPi0tDQo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1
b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xvcjojMUY0OTdEIj5KYW1lcyBNYW5nZXI8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDss
JnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+
PC9zcGFuPjwvcD4NCjxkaXY+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItdG9wOnNv
bGlkICNCNUM0REYgMS4wcHQ7cGFkZGluZzozLjBwdCAwY20gMGNtIDBjbSI+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij48Yj48c3BhbiBsYW5nPSJFTi1V
UyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VGFob21hJnF1b3Q7
LCZxdW90O3NhbnMtc2VyaWYmcXVvdDsiPkZyb206PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1V
UyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VGFob21hJnF1b3Q7
LCZxdW90O3NhbnMtc2VyaWYmcXVvdDsiPiBvYXV0aC1ib3VuY2VzQGlldGYub3JnIFttYWlsdG86
b2F1dGgtYm91bmNlc0BpZXRmLm9yZ10NCjxiPk9uIEJlaGFsZiBPZiA8L2I+SnVzdGluIFNtaXRo
PGJyPg0KPGI+U2VudDo8L2I+IEZyaWRheSwgMTYgQXByaWwgMjAxMCA5OjM5IEFNPGJyPg0KPGI+
VG86PC9iPiBFcmFuIEhhbW1lci1MYWhhdjsgTWFyaXVzIFNjdXJ0ZXNjdTsgcmVjb3Jkb25kQGdt
YWlsLmNvbTxicj4NCjxiPkNjOjwvYj4gT0F1dGggV0c8YnI+DQo8Yj5TdWJqZWN0OjwvYj4gUmU6
IFtPQVVUSC1XR10gSXNzdWU6IFNjb3BlIHBhcmFtZXRlcjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6
MzYuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtYXJnaW4tbGVmdDozNi4wcHQiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYm
cXVvdDs7Y29sb3I6IzFGNDk3RCI+SSBkb27igJl0IHNlZSBob3cgdGhlIHByZXNlbmNlIG9mIGEg
c2NvcGUgcGFyYW1ldGVyIGh1cnRzIGludGVyb3BlcmFiaWxpdHkuPG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+PHNw
YW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90
O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj48bzpw
PiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFy
Z2luLWxlZnQ6MzYuMHB0Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7
O2NvbG9yOiMxRjQ5N0QiPkl0IHRoaW5rIHNjb3BlIG5lZWRzIHRvIGJlIGEgMTxzdXA+c3Q8L3N1
cD4gY2xhc3MgY2l0aXplbiBpbiB0aGUgc3BlYywgbm90IGFuIGV4dGVuc2lvbi4gV2l0aG91dCBp
dCwgYSBjbGllbnQgY2Fubm90DQogcmVxdWVzdCBhY2Nlc3MgdG8gYSBzcGVjaWZpYyBzZXQgb2Yg
cmVzb3VyY2VzICh3aGV0aGVyIGl0cyByZXByZXNlbnRlZCBhcyBhIHN0cmluZywgVVJJLCBvciBh
bnl0aGluZyBlbHNlKS4gRG9lcyB0aGUgZ3JvdXAgdGhpbmsgaXQgSXMgaW1wb3J0YW50IGZvciBh
biBBdXRob3JpemF0aW9uIFNlcnZlciB0byBiZSBhYmxlIHRvIG1ha2UgYXV0aCBkZWNpc2lvbnMg
YmFzZWQgb24gcmVxdWVzdGVkIHJlc291cmNlcz88bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rp
dj4NCjwvYm9keT4NCjwvaHRtbD4NCg==

--_000_255B9BB34FB7D647A506DC292726F6E1125748109AWSMSG3153Vsrv_--

From john@jkemp.net  Thu Apr 15 19:11:47 2010
Return-Path: <john@jkemp.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 3BAEF3A69EF for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 19:11:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.856
X-Spam-Level: 
X-Spam-Status: No, score=-1.856 tagged_above=-999 required=5 tests=[AWL=0.409,  BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DYvRVkUEhktE for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 19:11:45 -0700 (PDT)
Received: from outbound-mail-313.bluehost.com (cpoproxy3-pub.bluehost.com [67.222.54.6]) by core3.amsl.com (Postfix) with SMTP id A4D723A6359 for <oauth@ietf.org>; Thu, 15 Apr 2010 19:11:37 -0700 (PDT)
Received: (qmail 10933 invoked by uid 0); 16 Apr 2010 02:11:29 -0000
Received: from unknown (HELO box320.bluehost.com) (69.89.31.120) by cpoproxy3.bluehost.com with SMTP; 16 Apr 2010 02:11:29 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=jkemp.net; h=Received:Subject:Mime-Version:Content-Type:From:In-Reply-To:Date:Cc:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=oHjYVFzixCx+GOUdkX+gA7pI9fj57zztEIBzW0xQLmLtDlfBREhNctpEggpQyln47dh9355x3SsLx+s8OseefnjwWPWWXSc/6EJAZVqJPmheJ2JGMNb3ICCM0/odOeRw;
Received: from cpe-69-205-56-47.nycap.res.rr.com ([69.205.56.47] helo=[192.168.1.103]) by box320.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from <john@jkemp.net>) id 1O2b1m-0004LE-MT; Thu, 15 Apr 2010 20:11:30 -0600
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: John Kemp <john@jkemp.net>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E11257481003@WSMSG3153V.srv.dir.telstra.com>
Date: Thu, 15 Apr 2010 22:11:27 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <9E18821D-E128-468A-9778-9D9D049B716F@jkemp.net>
References: <C7ECABE0.32344%eran@hueniverse.com> <255B9BB34FB7D647A506DC292726F6E11257481003@WSMSG3153V.srv.dir.telstra.com>
To: "Manger, James H" <James.H.Manger@team.telstra.com>
X-Mailer: Apple Mail (2.1078)
X-Identified-User: {1122:box320.bluehost.com:jkempnet:jkemp.net} {sentby:smtp auth 69.205.56.47 authed with john+jkemp.net}
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Split the authorization endpoint into two	endpoints
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 02:11:47 -0000

On Apr 15, 2010, at 9:22 PM, Manger, James H wrote:

> I strongly favour specifying 2 separate endpoints: one for where to =
redirect a user, another for direct client calls.

I agree.

>=20
> I agree with Marius that these two endpoints are different enough to =
be separate.
> One is only used by users via browsers. The other is only used by =
client apps. These are different populations, using different =
authentication mechanisms, with different performance requirements, and =
different technologies.
>=20
> The use of a type parameter is a poor tool to distinguishes these =
cases.
>=20
> I guess 1 URI could default to the other if not defined.
> 1 URI could be allowed to be relative to the other to save some bytes.

I agree with this reasoning too.=20

- johnk

>=20
> --=20
> James Manger
>=20
>=20
> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf =
Of Eran Hammer-Lahav
> Sent: Friday, 16 April 2010 4:41 AM
> To: OAuth WG
> Subject: [OAUTH-WG] Issue: Split the authorization endpoint into two =
endpoints
>=20
> OAuth 2.0 defines a single authorization endpoint with a 'type' =
parameter
> for the various flows and flow steps. There are two types of calls =
made to
> the authorization endpoint:
>=20
> - Requests for Access - requests in which an end user interacts with =
the
> authorization server, granting client access.
>=20
> - Requests for Token - requests in which the client uses a =
verification code
> or other credentials to obtain an access token. These requests require
> SSL/TLS because they always result in the transmission of plaintext
> credentials in the response and sometimes in the request.
>=20
> A proposal has been made to define two separate endpoints due to the
> different nature of these endpoints:
>=20
> On 4/6/10 4:06 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>=20
>> Constraints for endpoints:
>> access token URL: HTTPS and POST only, no user
>> user authentication URL: HTTP or HTTPS, GET or POST, authenticated =
user
>>=20
>> In many cases the above constraints can be enforced with =
configuration
>> that sits in front of the controllers implementing these endpoints.
>> For example, Apache config can enforce SSL and POST. Same can be done
>> in a Java filter. Also a Java filter can enforce that only
>> authenticated users hit the endpoint, it can redirect to a login page
>> if needed.
>>=20
>> By keeping two different endpoints all of the above is much simpler.
>> Nothing prevents an authz server to collapse these two into one
>> endpoint.
>=20
> While requests for access do not require HTTPS, they should because =
they
> involve authenticating the end user. As for enforcing HTTP methods =
(GET,
> POST), this is simple to do both at the server configuration level or
> application level.
>=20
> On the other hand, having a single endpoint makes the specification =
simpler,
> and more importantly, makes discovery trivial as a 401 response needs =
to
> include a single endpoint for obtaining a token regardless of the flow =
(some
> flows use one, others two steps).
>=20
> A richer discovery later can use LRDD on the single authorization =
endpoint
> to obtain an XRD describing the flows and UI options provided by the =
server.
> But this is outside our scope.
>=20
> Proposal: No change. Keep the single authorization endpoint and =
require
> HTTPS for all requests.
>=20
> EHL
>=20
>=20
>=20
>=20
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From justinsm@microsoft.com  Thu Apr 15 20:51:43 2010
Return-Path: <justinsm@microsoft.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DE65E3A69B0 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 20:51:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.598
X-Spam-Level: 
X-Spam-Status: No, score=-10.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2TzcrRyLm7R9 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 20:51:43 -0700 (PDT)
Received: from smtp.microsoft.com (mail1.microsoft.com [131.107.115.212]) by core3.amsl.com (Postfix) with ESMTP id 3122128C108 for <oauth@ietf.org>; Thu, 15 Apr 2010 20:51:33 -0700 (PDT)
Received: from TK5EX14CASC132.redmond.corp.microsoft.com (157.54.52.17) by TK5-EXGWY-E801.partners.extranet.microsoft.com (10.251.56.50) with Microsoft SMTP Server (TLS) id 8.2.176.0; Thu, 15 Apr 2010 20:51:26 -0700
Received: from TK5EX14MBXC115.redmond.corp.microsoft.com ([169.254.4.239]) by TK5EX14CASC132.redmond.corp.microsoft.com ([157.54.52.17]) with mapi; Thu, 15 Apr 2010 20:51:26 -0700
From: Justin Smith <justinsm@microsoft.com>
To: "Manger, James H" <James.H.Manger@team.telstra.com>, OAuth WG <oauth@ietf.org>
Thread-Topic: [OAUTH-WG] Issue: Scope parameter
Thread-Index: AQHK3NEWvq+1OOTFrkS1RWT2flQ40pIkXsgAgAADXwCAAAODAP//ySWwgAAfiRCAACcXIA==
Date: Fri, 16 Apr 2010 03:49:18 +0000
Deferred-Delivery: Fri, 16 Apr 2010 03:50:00 +0000
Message-ID: <191F411E00E19F4E943ECDB6D65C60851691F5A9@TK5EX14MBXC115.redmond.corp.microsoft.com>
References: <h2o74caaad21004151238w60c3afd3td8dccdd8a7127a4a@mail.gmail.com> <C7ECBC36.32379%eran@hueniverse.com> <191F411E00E19F4E943ECDB6D65C60851691F095@TK5EX14MBXC115.redmond.corp.microsoft.com> <255B9BB34FB7D647A506DC292726F6E1125748109A@WSMSG3153V.srv.dir.telstra.com>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E1125748109A@WSMSG3153V.srv.dir.telstra.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Content-Type: multipart/alternative; boundary="_000_191F411E00E19F4E943ECDB6D65C60851691F5A9TK5EX14MBXC115r_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 03:51:44 -0000

--_000_191F411E00E19F4E943ECDB6D65C60851691F5A9TK5EX14MBXC115r_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SSBnZXQgdGhlIHBvaW50LCBidXQgSeKAmWxsIHNldCB0aGF0IGFzaWRlIGZvciBhIG1vbWVudC4N
Cg0KSXMgaXQgaW1wb3J0YW50IGZvciBhbiBBdXRob3JpemF0aW9uIFNlcnZlciB0byBiZSBhYmxl
IHRvIHByb3RlY3QgbXVsdGlwbGUgcmVzb3VyY2VzPyBJZiBzbywgaG93IHNob3VsZCB0aGUgY2xp
ZW50IHNwZWNpZnkgd2hpY2ggcmVzb3VyY2UgaXQgaW50ZW5kcyB0byBhY2Nlc3MgKGl0IHNlZW1z
IGxpa2UgdGhhdCBpcyByZXF1aXJlZCk/DQoNCkZyb206IG9hdXRoLWJvdW5jZXNAaWV0Zi5vcmcg
W21haWx0bzpvYXV0aC1ib3VuY2VzQGlldGYub3JnXSBPbiBCZWhhbGYgT2YgTWFuZ2VyLCBKYW1l
cyBIDQpTZW50OiBUaHVyc2RheSwgQXByaWwgMTUsIDIwMTAgNjo0MCBQTQ0KVG86IE9BdXRoIFdH
DQpTdWJqZWN0OiBSZTogW09BVVRILVdHXSBJc3N1ZTogU2NvcGUgcGFyYW1ldGVyDQoNCj4gSSBk
b27igJl0IHNlZSBob3cgdGhlIHByZXNlbmNlIG9mIGEgc2NvcGUgcGFyYW1ldGVyIGh1cnRzIGlu
dGVyb3BlcmFiaWxpdHkuDQoNClNjb3BlcyBzbyBmYXIgaGF2ZSBhbGwgYmVlbiBzcGVjaWZpYyB0
byBhIHNwZWNpZmljIHNlcnZpY2UuIEtub3dpbmcgaG93IEdvb2dsZSB1c2VzIOKAmHNjb3Bl4oCZ
IHRlbGxzIHlvdSBub3RoaW5nIGFib3V0IGludGVyb3BlcmF0aW5nIHdpdGggTWljcm9zb2Z0Lg0K
DQpSZXF1ZXN0aW5nIGFjY2VzcyB0byBzcGVjaWZpYyBzZXRzIG9mIHJlc291cmNlcyBpcyBpbXBv
cnRhbnQuIEhvd2V2ZXIsIHlvdSBjYW4gZG8gaXQgYnkgcHJvdmlkaW5nIGRpZmZlcmVudCB1c2Vy
LWF1dGhvcml6YXRpb24gVVJJcyDigJQgZXZlbiBpZiB0aGUgVVJJcyBvbmx5IGRpZmZlciBpbiB0
aGUgdmFsdWUgb2YgYSDigJhzY29wZeKAmSBxdWVyeSBwYXJhbWV0ZXIuDQoNCkZvciBhIGxpYnJh
cnkgdGhhdCBpc27igJl0IHNlcnZpY2Utc3BlY2lmaWMsIGEgc2NvcGUgdmFsdWUgb2ZmZXJzIG5v
IHNlbWFudGljIHZhbHVlLiBBbGwgdGhlIGxpYnJhcnkgY2FuIGRvIGlzIHRhY2sgaXQgb250byBh
IHN1cHBsaWVkIHVzZXIgYXV0aHogVVJJLiBJbiB3aGljaCBjYXNlIGl0IGlzIHNpbXBsZXIgZm9y
IHRoZSBsaWJyYXJ5IHRvIGp1c3QgYWNjZXB0IGEgdXNlciBhdXRoeiBVUkkgdGhhdCBoYXMgaGFk
IHRoZSBzY29wZSB0YWNrZWQgb24gYmVmb3JlIGJlaW5nIHBhc3NlZCB0byB0aGUgbGlicmFyeS4N
Cg0KDQotLQ0KSmFtZXMgTWFuZ2VyDQoNCkZyb206IG9hdXRoLWJvdW5jZXNAaWV0Zi5vcmcgW21h
aWx0bzpvYXV0aC1ib3VuY2VzQGlldGYub3JnXSBPbiBCZWhhbGYgT2YgSnVzdGluIFNtaXRoDQpT
ZW50OiBGcmlkYXksIDE2IEFwcmlsIDIwMTAgOTozOSBBTQ0KVG86IEVyYW4gSGFtbWVyLUxhaGF2
OyBNYXJpdXMgU2N1cnRlc2N1OyByZWNvcmRvbmRAZ21haWwuY29tDQpDYzogT0F1dGggV0cNClN1
YmplY3Q6IFJlOiBbT0FVVEgtV0ddIElzc3VlOiBTY29wZSBwYXJhbWV0ZXINCg0KSSBkb27igJl0
IHNlZSBob3cgdGhlIHByZXNlbmNlIG9mIGEgc2NvcGUgcGFyYW1ldGVyIGh1cnRzIGludGVyb3Bl
cmFiaWxpdHkuDQoNCkl0IHRoaW5rIHNjb3BlIG5lZWRzIHRvIGJlIGEgMXN0IGNsYXNzIGNpdGl6
ZW4gaW4gdGhlIHNwZWMsIG5vdCBhbiBleHRlbnNpb24uIFdpdGhvdXQgaXQsIGEgY2xpZW50IGNh
bm5vdCByZXF1ZXN0IGFjY2VzcyB0byBhIHNwZWNpZmljIHNldCBvZiByZXNvdXJjZXMgKHdoZXRo
ZXIgaXRzIHJlcHJlc2VudGVkIGFzIGEgc3RyaW5nLCBVUkksIG9yIGFueXRoaW5nIGVsc2UpLiBE
b2VzIHRoZSBncm91cCB0aGluayBpdCBJcyBpbXBvcnRhbnQgZm9yIGFuIEF1dGhvcml6YXRpb24g
U2VydmVyIHRvIGJlIGFibGUgdG8gbWFrZSBhdXRoIGRlY2lzaW9ucyBiYXNlZCBvbiByZXF1ZXN0
ZWQgcmVzb3VyY2VzPw0K

--_000_191F411E00E19F4E943ECDB6D65C60851691F5A9TK5EX14MBXC115r_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6eD0idXJuOnNjaGVtYXMtbWljcm9z
b2Z0LWNvbTpvZmZpY2U6ZXhjZWwiIHhtbG5zOnA9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206
b2ZmaWNlOnBvd2VycG9pbnQiIHhtbG5zOmE9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2Zm
aWNlOmFjY2VzcyIgeG1sbnM6ZHQ9InV1aWQ6QzJGNDEwMTAtNjVCMy0xMWQxLUEyOUYtMDBBQTAw
QzE0ODgyIiB4bWxuczpzPSJ1dWlkOkJEQzZFM0YwLTZEQTMtMTFkMS1BMkEzLTAwQUEwMEMxNDg4
MiIgeG1sbnM6cnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206cm93c2V0IiB4bWxuczp6PSIj
Um93c2V0U2NoZW1hIiB4bWxuczpiPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpw
dWJsaXNoZXIiIHhtbG5zOnNzPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpzcHJl
YWRzaGVldCIgeG1sbnM6Yz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6Y29tcG9u
ZW50OnNwcmVhZHNoZWV0IiB4bWxuczpvZGM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2Zm
aWNlOm9kYyIgeG1sbnM6b2E9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOmFjdGl2
YXRpb24iIHhtbG5zOmh0bWw9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAiIHhtbG5z
OnE9Imh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3NvYXAvZW52ZWxvcGUvIiB4bWxuczpydGM9
Imh0dHA6Ly9taWNyb3NvZnQuY29tL29mZmljZW5ldC9jb25mZXJlbmNpbmciIHhtbG5zOkQ9IkRB
VjoiIHhtbG5zOlJlcGw9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vcmVwbC8iIHhtbG5z
Om10PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29hcC9tZWV0aW5n
cy8iIHhtbG5zOngyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9leGNlbC8y
MDAzL3htbCIgeG1sbnM6cHBkYT0iaHR0cDovL3d3dy5wYXNzcG9ydC5jb20vTmFtZVNwYWNlLnhz
ZCIgeG1sbnM6b2lzPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29h
cC9vaXMvIiB4bWxuczpkaXI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2lu
dC9zb2FwL2RpcmVjdG9yeS8iIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3ht
bGRzaWcjIiB4bWxuczpkc3A9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2lu
dC9kc3AiIHhtbG5zOnVkYz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kYXRhL3VkYyIg
eG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6c3ViPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29hcC8yMDAyLzEvYWxlcnRz
LyIgeG1sbnM6ZWM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jIyIgeG1sbnM6c3A9
Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2ludC8iIHhtbG5zOnNwcz0iaHR0
cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9zaGFyZXBvaW50L3NvYXAvIiB4bWxuczp4c2k9Imh0
dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp1ZGNzPSJodHRw
Oi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RhdGEvdWRjL3NvYXAiIHhtbG5zOnVkY3hmPSJodHRw
Oi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RhdGEvdWRjL3htbGZpbGUiIHhtbG5zOnVkY3AycD0i
aHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kYXRhL3VkYy9wYXJ0dG9wYXJ0IiB4bWxuczp3
Zj0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9zaGFyZXBvaW50L3NvYXAvd29ya2Zsb3cv
IiB4bWxuczpkc3NzPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA2L2Rp
Z3NpZy1zZXR1cCIgeG1sbnM6ZHNzaT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZp
Y2UvMjAwNi9kaWdzaWciIHhtbG5zOm1kc3NpPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0
cy5vcmcvcGFja2FnZS8yMDA2L2RpZ2l0YWwtc2lnbmF0dXJlIiB4bWxuczptdmVyPSJodHRwOi8v
c2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvbWFya3VwLWNvbXBhdGliaWxpdHkvMjAwNiIgeG1s
bnM6bT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4
bWxuczptcmVscz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAw
Ni9yZWxhdGlvbnNoaXBzIiB4bWxuczpzcHdwPSJodHRwOi8vbWljcm9zb2Z0LmNvbS9zaGFyZXBv
aW50L3dlYnBhcnRwYWdlcyIgeG1sbnM6ZXgxMnQ9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5j
b20vZXhjaGFuZ2Uvc2VydmljZXMvMjAwNi90eXBlcyIgeG1sbnM6ZXgxMm09Imh0dHA6Ly9zY2hl
bWFzLm1pY3Jvc29mdC5jb20vZXhjaGFuZ2Uvc2VydmljZXMvMjAwNi9tZXNzYWdlcyIgeG1sbnM6
cHB0c2w9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2ludC9zb2FwL1NsaWRl
TGlicmFyeS8iIHhtbG5zOnNwc2w9Imh0dHA6Ly9taWNyb3NvZnQuY29tL3dlYnNlcnZpY2VzL1No
YXJlUG9pbnRQb3J0YWxTZXJ2ZXIvUHVibGlzaGVkTGlua3NTZXJ2aWNlIiB4bWxuczpaPSJ1cm46
c2NoZW1hcy1taWNyb3NvZnQtY29tOiIgeG1sbnM6c3Q9IiYjMTsiIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PUNvbnRl
bnQtVHlwZSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1ldGEgbmFtZT1H
ZW5lcmF0b3IgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTIgKGZpbHRlcmVkIG1lZGl1bSkiPg0K
PHRpdGxlPlJlOiBbT0FVVEgtV0ddIElzc3VlOiBTY29wZSBwYXJhbWV0ZXI8L3RpdGxlPg0KPHN0
eWxlPg0KPCEtLQ0KIC8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCiBAZm9udC1mYWNlDQoJe2ZvbnQt
ZmFtaWx5OiJDYW1icmlhIE1hdGgiOw0KCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQ0K
QGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUgNSAyIDIg
MiA0IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6VGFob21hOw0KCXBhbm9zZS0x
OjIgMTEgNiA0IDMgNSA0IDQgMiA0O30NCiAvKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KIHAuTXNv
Tm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBpbjsNCgltYXJn
aW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToiVGlt
ZXMgTmV3IFJvbWFuIiwic2VyaWYiO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNv
LXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVy
bGluZTt9DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxl
LXByaW9yaXR5Ojk5Ow0KCWNvbG9yOnB1cnBsZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5l
O30NCnNwYW4uRW1haWxTdHlsZTE3DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsOw0KCWZvbnQt
ZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQoJY29sb3I6IzFGNDk3RDt9DQpzcGFuLkVt
YWlsU3R5bGUxOA0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbDsNCglmb250LWZhbWlseToiQ2Fs
aWJyaSIsInNhbnMtc2VyaWYiOw0KCWNvbG9yOiMxRjQ5N0Q7fQ0Kc3Bhbi5FbWFpbFN0eWxlMTkN
Cgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmki
LCJzYW5zLXNlcmlmIjsNCgljb2xvcjojMUY0OTdEO30NCi5Nc29DaHBEZWZhdWx0DQoJe21zby1z
dHlsZS10eXBlOmV4cG9ydC1vbmx5Ow0KCWZvbnQtc2l6ZToxMC4wcHQ7fQ0KQHBhZ2UgU2VjdGlv
bjENCgl7c2l6ZTo4LjVpbiAxMS4waW47DQoJbWFyZ2luOjEuMGluIDEuMGluIDEuMGluIDEuMGlu
O30NCmRpdi5TZWN0aW9uMQ0KCXtwYWdlOlNlY3Rpb24xO30NCi0tPg0KPC9zdHlsZT4NCjwhLS1b
aWYgZ3RlIG1zbyA5XT48eG1sPg0KIDxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRt
YXg9IjEwMjYiIC8+DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4N
CiA8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQogIDxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBk
YXRhPSIxIiAvPg0KIDwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4NCjwvaGVhZD4N
Cg0KPGJvZHkgbGFuZz1FTi1VUyBsaW5rPWJsdWUgdmxpbms9cHVycGxlPg0KDQo8ZGl2IGNsYXNz
PVNlY3Rpb24xPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZTox
MS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsNCmNvbG9yOiMxRjQ5N0Qn
PkkgZ2V0IHRoZSBwb2ludCwgYnV0IEnigJlsbCBzZXQgdGhhdCBhc2lkZSBmb3IgYSBtb21lbnQu
IDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0eWxl
PSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQpj
b2xvcjojMUY0OTdEJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1z
b05vcm1hbD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJy
aSIsInNhbnMtc2VyaWYiOw0KY29sb3I6IzFGNDk3RCc+SXMgaXQgaW1wb3J0YW50IGZvciBhbiBB
dXRob3JpemF0aW9uIFNlcnZlciB0byBiZSBhYmxlIHRvDQpwcm90ZWN0IG11bHRpcGxlIHJlc291
cmNlcz8gSWYgc28sIGhvdyBzaG91bGQgdGhlIGNsaWVudCBzcGVjaWZ5IHdoaWNoIHJlc291cmNl
DQppdCBpbnRlbmRzIHRvIGFjY2VzcyAoaXQgc2VlbXMgbGlrZSB0aGF0IGlzIHJlcXVpcmVkKT88
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0n
Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KY29s
b3I6IzFGNDk3RCc+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KDQo8ZGl2Pg0KDQo8ZGl2
IHN0eWxlPSdib3JkZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNCNUM0REYgMS4wcHQ7cGFkZGlu
ZzozLjBwdCAwaW4gMGluIDBpbic+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48Yj48c3BhbiBzdHls
ZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGFob21hIiwic2Fucy1zZXJpZiInPkZy
b206PC9zcGFuPjwvYj48c3Bhbg0Kc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6
IlRhaG9tYSIsInNhbnMtc2VyaWYiJz4NCm9hdXRoLWJvdW5jZXNAaWV0Zi5vcmcgW21haWx0bzpv
YXV0aC1ib3VuY2VzQGlldGYub3JnXSA8Yj5PbiBCZWhhbGYgT2YgPC9iPk1hbmdlciwNCkphbWVz
IEg8YnI+DQo8Yj5TZW50OjwvYj4gVGh1cnNkYXksIEFwcmlsIDE1LCAyMDEwIDY6NDAgUE08YnI+
DQo8Yj5Ubzo8L2I+IE9BdXRoIFdHPGJyPg0KPGI+U3ViamVjdDo8L2I+IFJlOiBbT0FVVEgtV0dd
IElzc3VlOiBTY29wZSBwYXJhbWV0ZXI8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjwvZGl2Pg0K
DQo8L2Rpdj4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8
cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gbGFuZz1FTi1BVSBzdHlsZT0nZm9udC1zaXplOjExLjBw
dDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KY29sb3I6IzFGNDk3RCc+Jmd0
OyA8L3NwYW4+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGli
cmkiLCJzYW5zLXNlcmlmIjsNCmNvbG9yOiMxRjQ5N0QnPkkgZG9u4oCZdCBzZWUgaG93IHRoZSBw
cmVzZW5jZSBvZiBhIHNjb3BlIHBhcmFtZXRlciBodXJ0cw0KaW50ZXJvcGVyYWJpbGl0eS48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KY29sb3I6
IzFGNDk3RCc+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3Jt
YWw+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJz
YW5zLXNlcmlmIjsNCmNvbG9yOiMxRjQ5N0QnPlNjb3BlcyBzbyBmYXIgaGF2ZSBhbGwgYmVlbiBz
cGVjaWZpYyB0byBhIHNwZWNpZmljIHNlcnZpY2UuDQpLbm93aW5nIGhvdyBHb29nbGUgdXNlcyDi
gJhzY29wZeKAmSB0ZWxscyB5b3Ugbm90aGluZyBhYm91dCBpbnRlcm9wZXJhdGluZyB3aXRoDQpN
aWNyb3NvZnQuPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNw
YW4gc3R5bGU9J2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNl
cmlmIjsNCmNvbG9yOiMxRjQ5N0QnPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAg
Y2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5
OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQpjb2xvcjojMUY0OTdEJz5SZXF1ZXN0aW5nIGFjY2Vz
cyB0byBzcGVjaWZpYyBzZXRzIG9mIHJlc291cmNlcyBpcyBpbXBvcnRhbnQuDQpIb3dldmVyLCB5
b3UgY2FuIGRvIGl0IGJ5IHByb3ZpZGluZyBkaWZmZXJlbnQgdXNlci1hdXRob3JpemF0aW9uIFVS
SXMg4oCUIGV2ZW4gaWYNCnRoZSBVUklzIG9ubHkgZGlmZmVyIGluIHRoZSB2YWx1ZSBvZiBhIOKA
mHNjb3Bl4oCZIHF1ZXJ5IHBhcmFtZXRlci48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNs
YXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToi
Q2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KY29sb3I6IzFGNDk3RCc+PG86cD4mbmJzcDs8L286cD48
L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZTox
MS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsNCmNvbG9yOiMxRjQ5N0Qn
PkZvciBhIGxpYnJhcnkgdGhhdCBpc27igJl0IHNlcnZpY2Utc3BlY2lmaWMsIGEgc2NvcGUgdmFs
dWUgb2ZmZXJzDQpubyBzZW1hbnRpYyB2YWx1ZS4gQWxsIHRoZSBsaWJyYXJ5IGNhbiBkbyBpcyB0
YWNrIGl0IG9udG8gYSBzdXBwbGllZCB1c2VyIGF1dGh6DQpVUkkuIEluIHdoaWNoIGNhc2UgaXQg
aXMgc2ltcGxlciBmb3IgdGhlIGxpYnJhcnkgdG8ganVzdCBhY2NlcHQgYSB1c2VyIGF1dGh6DQpV
UkkgdGhhdCBoYXMgaGFkIHRoZSBzY29wZSB0YWNrZWQgb24gYmVmb3JlIGJlaW5nIHBhc3NlZCB0
byB0aGUgbGlicmFyeS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1h
bD48c3BhbiBsYW5nPUVOLUFVIHN0eWxlPSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJD
YWxpYnJpIiwic2Fucy1zZXJpZiI7DQpjb2xvcjojMUY0OTdEJz48bzpwPiZuYnNwOzwvbzpwPjwv
c3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBsYW5nPUVOLUFVIHN0eWxlPSdm
b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQpjb2xv
cjojMUY0OTdEJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQoNCjxkaXY+DQoNCjxwIGNs
YXNzPU1zb05vcm1hbD48c3BhbiBsYW5nPUVOLUFVIHN0eWxlPSdmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQpjb2xvcjojMUY0OTdEJz4tLSA8bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBsYW5nPUVOLUFV
IHN0eWxlPSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJp
ZiI7DQpjb2xvcjojMUY0OTdEJz5KYW1lcyBNYW5nZXI8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoN
CjwvZGl2Pg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gbGFuZz1FTi1BVSBzdHlsZT0nZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KY29sb3I6
IzFGNDk3RCc+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KDQo8ZGl2Pg0KDQo8ZGl2IHN0
eWxlPSdib3JkZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNCNUM0REYgMS4wcHQ7cGFkZGluZzoz
LjBwdCAwaW4gMGluIDBpbic+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxl
ZnQ6LjVpbic+PGI+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7DQpmb250LWZhbWlseToi
VGFob21hIiwic2Fucy1zZXJpZiInPkZyb206PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0nZm9udC1z
aXplOjEwLjBwdDsNCmZvbnQtZmFtaWx5OiJUYWhvbWEiLCJzYW5zLXNlcmlmIic+IG9hdXRoLWJv
dW5jZXNAaWV0Zi5vcmcNClttYWlsdG86b2F1dGgtYm91bmNlc0BpZXRmLm9yZ10gPGI+T24gQmVo
YWxmIE9mIDwvYj5KdXN0aW4gU21pdGg8YnI+DQo8Yj5TZW50OjwvYj4gRnJpZGF5LCAxNiBBcHJp
bCAyMDEwIDk6MzkgQU08YnI+DQo8Yj5Ubzo8L2I+IEVyYW4gSGFtbWVyLUxhaGF2OyBNYXJpdXMg
U2N1cnRlc2N1OyByZWNvcmRvbmRAZ21haWwuY29tPGJyPg0KPGI+Q2M6PC9iPiBPQXV0aCBXRzxi
cj4NCjxiPlN1YmplY3Q6PC9iPiBSZTogW09BVVRILVdHXSBJc3N1ZTogU2NvcGUgcGFyYW1ldGVy
PG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8L2Rpdj4NCg0KPC9kaXY+DQoNCjxwIGNsYXNzPU1z
b05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+PHNwYW4gbGFuZz1FTi1BVT48bzpwPiZu
YnNwOzwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2lu
LWxlZnQ6LjVpbic+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMS4wcHQ7DQpmb250LWZhbWlseToi
Q2FsaWJyaSIsInNhbnMtc2VyaWYiO2NvbG9yOiMxRjQ5N0QnPkkgZG9u4oCZdCBzZWUgaG93IHRo
ZSBwcmVzZW5jZQ0Kb2YgYSBzY29wZSBwYXJhbWV0ZXIgaHVydHMgaW50ZXJvcGVyYWJpbGl0eS48
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2lu
LWxlZnQ6LjVpbic+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMS4wcHQ7DQpmb250LWZhbWlseToi
Q2FsaWJyaSIsInNhbnMtc2VyaWYiO2NvbG9yOiMxRjQ5N0QnPjxvOnA+Jm5ic3A7PC9vOnA+PC9z
cGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz48
c3BhbiBzdHlsZT0nZm9udC1zaXplOjExLjBwdDsNCmZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fu
cy1zZXJpZiI7Y29sb3I6IzFGNDk3RCc+SXQgdGhpbmsgc2NvcGUgbmVlZHMgdG8gYmUgYQ0KMTxz
dXA+c3Q8L3N1cD4gY2xhc3MgY2l0aXplbiBpbiB0aGUgc3BlYywgbm90IGFuIGV4dGVuc2lvbi4g
V2l0aG91dCBpdCwgYQ0KY2xpZW50IGNhbm5vdCByZXF1ZXN0IGFjY2VzcyB0byBhIHNwZWNpZmlj
IHNldCBvZiByZXNvdXJjZXMgKHdoZXRoZXIgaXRzDQpyZXByZXNlbnRlZCBhcyBhIHN0cmluZywg
VVJJLCBvciBhbnl0aGluZyBlbHNlKS4gRG9lcyB0aGUgZ3JvdXAgdGhpbmsgaXQgSXMNCmltcG9y
dGFudCBmb3IgYW4gQXV0aG9yaXphdGlvbiBTZXJ2ZXIgdG8gYmUgYWJsZSB0byBtYWtlIGF1dGgg
ZGVjaXNpb25zIGJhc2VkDQpvbiByZXF1ZXN0ZWQgcmVzb3VyY2VzPzxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCg0KPC9kaXY+DQoNCjwvYm9keT4NCg0KPC9odG1sPg0K

--_000_191F411E00E19F4E943ECDB6D65C60851691F5A9TK5EX14MBXC115r_--

From James.H.Manger@team.telstra.com  Thu Apr 15 21:09:13 2010
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8DDA53A696F for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 21:09:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.327
X-Spam-Level: 
X-Spam-Status: No, score=-0.327 tagged_above=-999 required=5 tests=[AWL=0.573,  BAYES_00=-2.599, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, HTML_MESSAGE=0.001, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VD8uiDdn3hQL for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 21:09:12 -0700 (PDT)
Received: from ipxano.tcif.telstra.com.au (ipxano.tcif.telstra.com.au [203.35.82.200]) by core3.amsl.com (Postfix) with ESMTP id C19503A6852 for <oauth@ietf.org>; Thu, 15 Apr 2010 21:09:08 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.52,217,1270389600";  d="p7s'?scan'208,217";a="1363883"
Received: from unknown (HELO ipccni.tcif.telstra.com.au) ([10.97.216.208]) by ipoani.tcif.telstra.com.au with ESMTP; 16 Apr 2010 14:09:01 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,5952"; a="811422"
Received: from wsmsg3752.srv.dir.telstra.com ([172.49.40.173]) by ipccni.tcif.telstra.com.au with ESMTP; 16 Apr 2010 14:09:01 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by WSMSG3752.srv.dir.telstra.com ([172.49.40.173]) with mapi; Fri, 16 Apr 2010 14:09:01 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: Justin Smith <justinsm@microsoft.com>, OAuth WG <oauth@ietf.org>
Date: Fri, 16 Apr 2010 14:08:59 +1000
Thread-Topic: [OAUTH-WG] Issue: Scope parameter
Thread-Index: AQHK3NEWvq+1OOTFrkS1RWT2flQ40pIkXsgAgAADXwCAAAODAP//ySWwgAAfiRCAACcXIIAAAxeg
Message-ID: <255B9BB34FB7D647A506DC292726F6E11257591D3B@WSMSG3153V.srv.dir.telstra.com>
References: <h2o74caaad21004151238w60c3afd3td8dccdd8a7127a4a@mail.gmail.com> <C7ECBC36.32379%eran@hueniverse.com> <191F411E00E19F4E943ECDB6D65C60851691F095@TK5EX14MBXC115.redmond.corp.microsoft.com> <255B9BB34FB7D647A506DC292726F6E1125748109A@WSMSG3153V.srv.dir.telstra.com> <191F411E00E19F4E943ECDB6D65C60851691F5A9@TK5EX14MBXC115.redmond.corp.microsoft.com>
In-Reply-To: <191F411E00E19F4E943ECDB6D65C60851691F5A9@TK5EX14MBXC115.redmond.corp.microsoft.com>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-AU
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=SHA1; boundary="----=_NextPart_000_001A_01CADD6E.5BE31430"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 04:09:13 -0000

------=_NextPart_000_001A_01CADD6E.5BE31430
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_001B_01CADD6E.5BE31430"


------=_NextPart_001_001B_01CADD6E.5BE31430
Content-Type: text/plain;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable

> Is it important for an Authorization Server to be able to protect =
multiple resources?

=20

YES

=20

>  If so, how should the client specify which resource it intends to =
access (it seems like that is required)?

=20

By redirecting the user to an authz URI that represents the intended =
resource.

=20

If the client is interoperating with a resource it has no special =
knowledge about, then it can learn the authz URI from the 401 WWW-Auth.: =
OAUTH header it received when trying to access the resource directly. =
The server returning this header knows what resource the client asked =
for so the server can encode that information into the returned authz =
URI in whatever way it has prearranged with its AS.

=20

=20

--

James Manger

=20

=20

From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf =
Of Manger, James H
Sent: Thursday, April 15, 2010 6:40 PM
To: OAuth WG
Subject: Re: [OAUTH-WG] Issue: Scope parameter

=20

> I don=E2=80=99t see how the presence of a scope parameter hurts =
interoperability.

=20

Scopes so far have all been specific to a specific service. Knowing how =
Google uses =E2=80=98scope=E2=80=99 tells you nothing about =
interoperating with Microsoft.

=20

Requesting access to specific sets of resources is important. However, =
you can do it by providing different user-authorization URIs =E2=80=94 =
even if the URIs only differ in the value of a =E2=80=98scope=E2=80=99 =
query parameter.

=20

For a library that isn=E2=80=99t service-specific, a scope value offers =
no semantic value. All the library can do is tack it onto a supplied =
user authz URI. In which case it is simpler for the library to just =
accept a user authz URI that has had the scope tacked on before being =
passed to the library.

=20

=20

--=20

James Manger

=20

From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf =
Of Justin Smith
Sent: Friday, 16 April 2010 9:39 AM
To: Eran Hammer-Lahav; Marius Scurtescu; recordond@gmail.com
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Issue: Scope parameter

=20

I don=E2=80=99t see how the presence of a scope parameter hurts =
interoperability.

=20

It think scope needs to be a 1st class citizen in the spec, not an =
extension. Without it, a client cannot request access to a specific set =
of resources (whether its represented as a string, URI, or anything =
else). Does the group think it Is important for an Authorization Server =
to be able to make auth decisions based on requested resources?


------=_NextPart_001_001B_01CADD6E.5BE31430
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:x=3D"urn:schemas-microsoft-com:office:excel" =
xmlns:p=3D"urn:schemas-microsoft-com:office:powerpoint" =
xmlns:a=3D"urn:schemas-microsoft-com:office:access" =
xmlns:dt=3D"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" =
xmlns:s=3D"uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" =
xmlns:rs=3D"urn:schemas-microsoft-com:rowset" xmlns:z=3D"#RowsetSchema" =
xmlns:b=3D"urn:schemas-microsoft-com:office:publisher" =
xmlns:ss=3D"urn:schemas-microsoft-com:office:spreadsheet" =
xmlns:c=3D"urn:schemas-microsoft-com:office:component:spreadsheet" =
xmlns:odc=3D"urn:schemas-microsoft-com:office:odc" =
xmlns:oa=3D"urn:schemas-microsoft-com:office:activation" =
xmlns:html=3D"http://www.w3.org/TR/REC-html40" =
xmlns:q=3D"http://schemas.xmlsoap.org/soap/envelope/" =
xmlns:rtc=3D"http://microsoft.com/officenet/conferencing" =
xmlns:D=3D"DAV:" xmlns:Repl=3D"http://schemas.microsoft.com/repl/" =
xmlns:mt=3D"http://schemas.microsoft.com/sharepoint/soap/meetings/" =
xmlns:x2=3D"http://schemas.microsoft.com/office/excel/2003/xml" =
xmlns:ppda=3D"http://www.passport.com/NameSpace.xsd" =
xmlns:ois=3D"http://schemas.microsoft.com/sharepoint/soap/ois/" =
xmlns:dir=3D"http://schemas.microsoft.com/sharepoint/soap/directory/" =
xmlns:ds=3D"http://www.w3.org/2000/09/xmldsig#" =
xmlns:dsp=3D"http://schemas.microsoft.com/sharepoint/dsp" =
xmlns:udc=3D"http://schemas.microsoft.com/data/udc" =
xmlns:xsd=3D"http://www.w3.org/2001/XMLSchema" =
xmlns:sub=3D"http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/"=
 xmlns:ec=3D"http://www.w3.org/2001/04/xmlenc#" =
xmlns:sp=3D"http://schemas.microsoft.com/sharepoint/" =
xmlns:sps=3D"http://schemas.microsoft.com/sharepoint/soap/" =
xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance" =
xmlns:udcs=3D"http://schemas.microsoft.com/data/udc/soap" =
xmlns:udcxf=3D"http://schemas.microsoft.com/data/udc/xmlfile" =
xmlns:udcp2p=3D"http://schemas.microsoft.com/data/udc/parttopart" =
xmlns:wf=3D"http://schemas.microsoft.com/sharepoint/soap/workflow/" =
xmlns:dsss=3D"http://schemas.microsoft.com/office/2006/digsig-setup" =
xmlns:dssi=3D"http://schemas.microsoft.com/office/2006/digsig" =
xmlns:mdssi=3D"http://schemas.openxmlformats.org/package/2006/digital-sig=
nature" =
xmlns:mver=3D"http://schemas.openxmlformats.org/markup-compatibility/2006=
" xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns:mrels=3D"http://schemas.openxmlformats.org/package/2006/relationshi=
ps" xmlns:spwp=3D"http://microsoft.com/sharepoint/webpartpages" =
xmlns:ex12t=3D"http://schemas.microsoft.com/exchange/services/2006/types"=
 =
xmlns:ex12m=3D"http://schemas.microsoft.com/exchange/services/2006/messag=
es" =
xmlns:pptsl=3D"http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/=
" =
xmlns:spsl=3D"http://microsoft.com/webservices/SharePointPortalServer/Pub=
lishedLinksService" xmlns:Z=3D"urn:schemas-microsoft-com:" =
xmlns:st=3D"&#1;" xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8">
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<title>Re: [OAUTH-WG] Issue: Scope parameter</title>
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle18
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle19
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle20
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page Section1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-AU link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal style=3D'margin-left:36.0pt'><span lang=3DEN-US
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'>&gt; </span><span
lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Is it important for an Authorization Server to be able to =
protect
multiple resources?</span><span lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:
"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>YES<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-left:36.0pt'><span lang=3DEN-US
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal style=3D'margin-left:36.0pt'><span lang=3DEN-US
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'>&gt; </span><span
lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>=C2=A0If so, how should the client specify which resource =
it intends
to access (it seems like that is required)?</span><span lang=3DEN-US
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'><o:p></o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>By redirecting the user to an authz URI that represents =
the
intended resource.<o:p></o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>If the client is interoperating with a resource it has no =
special
knowledge about, then it can learn the authz URI from the 401 WWW-Auth.: =
OAUTH
header it received when trying to access the resource directly. The =
server
returning this header knows what resource the client asked for so the =
server
can encode that information into the returned authz URI in whatever way =
it has
prearranged with its AS.<o:p></o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>--<o:p></o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>James Manger<o:p></o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal style=3D'margin-left:36.0pt'><span lang=3DEN-US
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'><o:p>&nbsp;</o:p></span></p>

<div>

<div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt =
0cm 0cm 0cm'>

<p class=3DMsoNormal style=3D'margin-left:36.0pt'><b><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span>=
</b><span
lang=3DEN-US =
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] <b>On Behalf Of =
</b>Manger,
James H<br>
<b>Sent:</b> Thursday, April 15, 2010 6:40 PM<br>
<b>To:</b> OAuth WG<br>
<b>Subject:</b> Re: [OAUTH-WG] Issue: Scope =
parameter<o:p></o:p></span></p>

</div>

</div>

<p class=3DMsoNormal style=3D'margin-left:36.0pt'><span =
lang=3DEN-US><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal style=3D'margin-left:36.0pt'><span =
style=3D'font-size:11.0pt;
font-family:"Calibri","sans-serif";color:#1F497D'>&gt; </span><span =
lang=3DEN-US
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'>I
don=E2=80=99t see how the presence of a scope parameter hurts =
interoperability.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-left:36.0pt'><span lang=3DEN-US
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal style=3D'margin-left:36.0pt'><span lang=3DEN-US
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'>Scopes
so far have all been specific to a specific service. Knowing how Google =
uses
=E2=80=98scope=E2=80=99 tells you nothing about interoperating with =
Microsoft.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-left:36.0pt'><span lang=3DEN-US
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal style=3D'margin-left:36.0pt'><span lang=3DEN-US
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'>Requesting
access to specific sets of resources is important. However, you can do =
it by
providing different user-authorization URIs =E2=80=94 even if the URIs =
only differ in
the value of a =E2=80=98scope=E2=80=99 query =
parameter.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-left:36.0pt'><span lang=3DEN-US
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal style=3D'margin-left:36.0pt'><span lang=3DEN-US
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'>For a
library that isn=E2=80=99t service-specific, a scope value offers no =
semantic value.
All the library can do is tack it onto a supplied user authz URI. In =
which case
it is simpler for the library to just accept a user authz URI that has =
had the
scope tacked on before being passed to the =
library.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-left:36.0pt'><span =
style=3D'font-size:11.0pt;
font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span=
></p>

<p class=3DMsoNormal style=3D'margin-left:36.0pt'><span =
style=3D'font-size:11.0pt;
font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span=
></p>

<div>

<p class=3DMsoNormal style=3D'margin-left:36.0pt'><span =
style=3D'font-size:11.0pt;
font-family:"Calibri","sans-serif";color:#1F497D'>-- =
<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-left:36.0pt'><span =
style=3D'font-size:11.0pt;
font-family:"Calibri","sans-serif";color:#1F497D'>James =
Manger<o:p></o:p></span></p>

</div>

<p class=3DMsoNormal style=3D'margin-left:36.0pt'><span =
style=3D'font-size:11.0pt;
font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span=
></p>

<div>

<div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt =
0cm 0cm 0cm'>

<p class=3DMsoNormal style=3D'margin-left:72.0pt'><b><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span>=
</b><span
lang=3DEN-US =
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] <b>On Behalf Of =
</b>Justin
Smith<br>
<b>Sent:</b> Friday, 16 April 2010 9:39 AM<br>
<b>To:</b> Eran Hammer-Lahav; Marius Scurtescu; recordond@gmail.com<br>
<b>Cc:</b> OAuth WG<br>
<b>Subject:</b> Re: [OAUTH-WG] Issue: Scope =
parameter<o:p></o:p></span></p>

</div>

</div>

<p class=3DMsoNormal style=3D'margin-left:72.0pt'><o:p>&nbsp;</o:p></p>

<p class=3DMsoNormal style=3D'margin-left:72.0pt'><span lang=3DEN-US
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'>I
don=E2=80=99t see how the presence of a scope parameter hurts =
interoperability.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-left:72.0pt'><span lang=3DEN-US
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal style=3D'margin-left:72.0pt'><span lang=3DEN-US
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'>It
think scope needs to be a 1<sup>st</sup> class citizen in the spec, not =
an
extension. Without it, a client cannot request access to a specific set =
of
resources (whether its represented as a string, URI, or anything else). =
Does
the group think it Is important for an Authorization Server to be able =
to make
auth decisions based on requested resources?<o:p></o:p></span></p>

</div>

</body>

</html>

------=_NextPart_001_001B_01CADD6E.5BE31430--

------=_NextPart_000_001A_01CADD6E.5BE31430
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIc2jCCBqMw
ggSLoAMCAQICEClsBJZEfCC2SncEyz0UzYEwDQYJKoZIhvcNAQEFBQAwGjEYMBYGA1UEAxMPVGVs
c3RyYSBSb290IENBMB4XDTA5MTExNjA0NTkxM1oXDTM0MTExNjA1MDYxMVowGjEYMBYGA1UEAxMP
VGVsc3RyYSBSb290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA3r3Fb5E/8GUk
cHwd9/kRB14EH1trG6C7NrwmF7isLj3j8fbELwkg0Lm0qzVuYziwqC3sbB4BcpY1YU9UZfB8J7cO
Efbk1GkVkSwNnpKyUHsxAWAelb0eOord3bB21M2UeUyWkGQhoU3+ZxyaAALKDm1QZQx7Tw8wdkIQ
mc1mJ4cJg/I9dTk1J5ybG4ZWs4/87PnLe0A5KRD841YWeKO1oLrV6Zvj65Aa6gpme0AdLVEDStM/
4jNtso6jf63ixizKzazfbt5lJJZizGHelymCF2BGjps0+6eMsteMmfQ84OXG82V00pFy6kwGjH6+
Y081OXTo6Gq/sR+6d4RDFIltIYGyYKKBzsEGw2MJqxqyXat9UV/50xspN26BZlB5zHFNdKI9eBKC
sv6EpgklYSfv9vgNBBnwavHmGvmw12i0NUd9WlS3YybQzxnWE49Q05jIxt+ZgV4Rg6oiCRb7rktN
d8qwRUb0LcSfcYOqGGffuckNQzKGNGySrkznOrC33BsVEmGMgXGqtZk4L7Sfq5NL1y7wCJUKw8qI
Ox/ijs0SSfc9VDwqZmhEM9NV8sGUsvmTeH1D8G06zjmE6loXUyIQXZLohQQ96TQyjKuA3lvtCbJt
yHFbgyi8wVJG+Ze3+Ywo+JB10rlR7FF6XEniihJEIYAHkSsGRqOASUzBA7p2Ip8CAwEAAaOCAeMw
ggHfMAsGA1UdDwQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgECMB0GA1UdDgQWBBSXNqRMMI9eSlUu
k+RwLu+s1mV3iDAQBgkrBgEEAYI3FQEEAwIBADCCAYkGA1UdIASCAYAwggF8MIIBeAYMKwYBBAGI
QAQbAQEBMIIBZjCCASAGCCsGAQUFBwICMIIBEh6CAQ4ARgBvAHIAIABhACAAYwBvAHAAeQAgAG8A
ZgAgAHQAaABlACAAVABlAGwAcwB0AHIAYQAgAFAASwBJACAAQwBQAFMALAAgAGMAbABpAGMAawAg
AE0AbwByAGUAIABJAG4AZgBvAC4AIABGAG8AcgAgAEMAUABTACAAcQB1AGUAcgBpAGUAcwAgAGMA
bwBuAHQAYQBjAHQAIAB0AGgAZQAgAEcAbwB2AGUAcgBuAGEAbgBjAGUAIABDAG8AdQBuAGMAaQBs
ACwAIABFAG0AYQBpAGwAOgAgAFQAZQBsAHMAdAByAGEALgBQAEcAQwBAAHQAZQBhAG0ALgB0AGUA
bABzAHQAcgBhAC4AYwBvAG0wQAYIKwYBBQUHAgEWNGh0dHA6Ly90ZWxzdHJhLXBraS5wa2kudGVs
c3RyYS5jb20uYXUvVGVsc3RyYUNQUy5wZGYwDQYJKoZIhvcNAQEFBQADggIBAHZuKnwg4R4Fk32A
fxTzTHtDboZI1ZW3Yv7nSdqfZlnfF8bEAD6FSEoMJ0w6jProxVXSZwia5Fkhf4jt6M949PP+G5Cl
V89x3z8pECqJhbVcZbE9p1hJXPy72IwILRblSnTnPh9CTLV0gTOkmX6SmrDMG3GSV3djTt8cf88o
JTcbRe0vJgFwf5sPlMEplrK3tK0pIjomzcoGLfP9Zv+wvVLvGvu5TVxWiFIQrdtuUjzL3/2VxFb4
M5kLQaQCaxTOxcB/8epSyaInbLI1YsyhRtPyzCAT0pbTTPKR3eNgMF7YlzakASa5LbiTkWIayS8h
s+MjkqIF9CX1PwOBphQgJa3yPm4bIfNBGH4520knrb5r/D/cTDtjarXh4v/ExJphEqbU6m44C4Wq
Cp7jV3v6Xm91QaQbCF/e4H4RD9PTr/c+MILhmhEq879n6iF6276oe2kWZE0yXy8eiK5Ung0F2tJX
PfQidNaI9NTMHViQoacVY9ah/juHnEIrnEozrYuMLqC+39i9BXAIQ4Qq7GJ132xr5o8/xb2iQ1IZ
wD27yb7Or1gzcKjKvJj/pkCeDgC7fQVlxtvfDBjiKuAoWs7PXGTtGzfiObrnEmhmR0DnWSehA5ld
o3/fyiGuyN53nU+ewQY4AyE8jBzPxq6YmVjWM0FAdyJLHyX+YBvYjs2VAX2cMIIG6jCCBNKgAwIB
AgIKYQWDvgAAAAAABTANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9UZWxzdHJhIFJvb3QgQ0Ew
HhcNMDkxMTI1MDEyNDI3WhcNMTkxMTI1MDEzNDI3WjBDMSQwIgYDVQQKExtUZWxzdHJhIENvcnBv
cmF0aW9uIExpbWl0ZWQxGzAZBgNVBAMTElRlbHN0cmEgUG9saWN5IENBMTCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBAK3IBZQGtMLEw5e8k3SJcSRf/BnMWwguu1Ltka6XK/nmcmjTOPl/
qqpkC2uBZUFZAflrWJdmh5MTamCWNMsRSmtiWwSJQsFTPWstSRELqkuM0+lXIlTTU4dTFM3cp/pE
l4ly+xBUd6ndQQeB/MOsTsbdkhALj/oMZzSSVLJw3cngrS4pG9TjV8zKMIkZQBeIURBgqh1yd6nX
n1FNctjyDH1ybxftcuhK3hEEbPrAHJQB9YN317l7ISYqg99jec/3mVf0C1fOuzefKHGINXo8M2lL
H3P4O28fSmaLyJK3p6IStoRmtrHwIkc9WHnDe0e9aieQx+PPosll61EtyJiaRX0CAwEAAaOCAwcw
ggMDMBIGA1UdEwEB/wQIMAYBAf8CAQEwHQYDVR0OBBYEFJT5/udCeR3rxZ9HUpfHV7X4nD4oMAsG
A1UdDwQEAwIBhjAQBgkrBgEEAYI3FQEEAwIBADCCAYkGA1UdIASCAYAwggF8MIIBeAYMKwYBBAGI
QAQbAQEBMIIBZjCCASAGCCsGAQUFBwICMIIBEh6CAQ4ARgBvAHIAIABhACAAYwBvAHAAeQAgAG8A
ZgAgAHQAaABlACAAVABlAGwAcwB0AHIAYQAgAFAASwBJACAAQwBQAFMALAAgAGMAbABpAGMAawAg
AE0AbwByAGUAIABJAG4AZgBvAC4AIABGAG8AcgAgAEMAUABTACAAcQB1AGUAcgBpAGUAcwAgAGMA
bwBuAHQAYQBjAHQAIAB0AGgAZQAgAEcAbwB2AGUAcgBuAGEAbgBjAGUAIABDAG8AdQBuAGMAaQBs
ACwAIABFAG0AYQBpAGwAOgAgAFQAZQBsAHMAdAByAGEALgBQAEcAQwBAAHQAZQBhAG0ALgB0AGUA
bABzAHQAcgBhAC4AYwBvAG0wQAYIKwYBBQUHAgEWNGh0dHA6Ly90ZWxzdHJhLXBraS5wa2kudGVs
c3RyYS5jb20uYXUvVGVsc3RyYUNQUy5wZGYwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwHwYD
VR0jBBgwFoAUlzakTDCPXkpVLpPkcC7vrNZld4gwTgYDVR0fBEcwRTBDoEGgP4Y9aHR0cDovL3Rl
bHN0cmEtY3JsLnBraS50ZWxzdHJhLmNvbS5hdS9UZWxzdHJhJTIwUm9vdCUyMENBLmNybDCBlQYI
KwYBBQUHAQEEgYgwgYUwSQYIKwYBBQUHMAKGPWh0dHA6Ly90ZWxzdHJhLXBraS5wa2kudGVsc3Ry
YS5jb20uYXUvVGVsc3RyYSUyMFJvb3QlMjBDQS5jcnQwOAYIKwYBBQUHMAGGLGh0dHA6Ly90ZWxz
dHJhLW9jc3AucGtpLnRlbHN0cmEuY29tLmF1L29jc3AvMA0GCSqGSIb3DQEBBQUAA4ICAQDIYtRV
XKCxl7sydCNMtC6BCJXmw7pgGswnfIDNCOF/XKTNA+5xY1+VchlRI1iWb4q15YToT6EEKXJPdWdv
pO+atxyMMUScQCmZM5mW1PpbMGzXRrTL3LbDhDRaLWYD15+Wt2rgNU++iiIVA363TdgCllY3ync7
GzknJGdTl+0BEen2d4juqf0GWURu/KICxyt0YOYgoDe1O3mYbJJ4RjOOFc3lTkGPgwagtJNP22yq
CcJ776pzvaa6qMTMEqzAgM5X6o6Yhp8zXHOU0M0x4/pJGb8PswKhzFi7F1TWKf0zmoKlpvAUV39U
P0F8oPyMYjYPDYyBsRiaZ7iRUH1u01bPQ8XXt1jmDemXxO9w4d//Kp1qark3rcUZLi6FC4QPg0Rp
S9rLWAPBDHqqFKi6mAU2W8nGWj3yY6/FI2dBPSGsxY0W2KUiEbEvgN534SPgZxJd1QT2x2CEUy1x
x98EBpBZCkNQN1pMo3k3CaMn14ychHd3Y544+8UD0IYWaGzbrWiEBlcHca0yg7+F0Wu3Jln4DRM+
G0MlsB9Nq5J4YvgtX3ao0V7q+nA6oEV0TX3nPl1K99b6Xou4lILRg+/siOSIwsf+xTlaiLMntO2+
evRHTSJTPwR2H1LQQIuVatkBnTx3Yh28zMP1ge+hNLU66RHEez2mE+LktzmpQdysO8UGEzCCB0Qw
ggYsoAMCAQICCjvNhgsAAAAAAEwwDQYJKoZIhvcNAQEFBQAwfDETMBEGCgmSJomT8ixkARkWA2Nv
bTEXMBUGCgmSJomT8ixkARkWB3RlbHN0cmExEzARBgoJkiaJk/IsZAEZFgNkaXIxFDASBgoJkiaJ
k/IsZAEZFgRjb3JlMSEwHwYDVQQDExhUZWxzdHJhIFVzZXIgSXNzdWluZyBDQTEwHhcNMTAwMzMw
MjI1MzEzWhcNMTEwMzMwMjI1MzEzWjASMRAwDgYDVQQDEwdjNzk5ODc4MIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEA177RZ1A0Y6bicGyF7owW1qoXjfivAcx6I7POmUXIto2pUR2uNYYv
Q7e1W74BDD5jhR0LST7/VHage1HtfFGJsgbQC6VXTsWPbRwnsf5ifBlUleKeQXmL5C/3zHBoJJhT
oCkkpLG1VMaUcbzfQuCDLjvrAhAAjDwAAyy8y46Ukkn4KSmxThu/7ovVkWfD564+APLSRu1mOu7L
J7+zZniH/dAXGMuCnCJr2zqACc8vdPnmX3F5FDINe73xmqJXz3Y8v7H9dPgsuZaaa09bTLMGsOof
1BeKxJs4aCu2Dn+RLlon1Vnh10tV3j4yAH++9W6y/+i/ngv7qRNqLmoR30xHtwIDAQABo4IEMDCC
BCwwCwYDVR0PBAQDAgeAMB0GA1UdDgQWBBSIvXFbqQtgAqfVgd/2LucldVpzITA9BgkrBgEEAYI3
FQcEMDAuBiYrBgEEAYI3FQiE1I4igu3fU4X1gxiCxrxchYe7LX6HyKV0hceteQIBZAIBBDAfBgNV
HSMEGDAWgBSzErFXrmmp60LIrAigOp3IfvE23DCCATwGA1UdHwSCATMwggEvMIIBK6CCASegggEj
hoHWbGRhcDovLy9DTj1UZWxzdHJhJTIwVXNlciUyMElzc3VpbmclMjBDQTEsQ049V1NDQVMwMTAx
LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1
cmF0aW9uLERDPWNvcmUsREM9ZGlyLERDPXRlbHN0cmEsREM9Y29tP2NlcnRpZmljYXRlUmV2b2Nh
dGlvbkxpc3Q/YmFzZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludIZIaHR0cDovL3Rl
bHN0cmEtY3JsLnBraS50ZWxzdHJhLmNvbS5hdS9UZWxzdHJhJTIwVXNlciUyMElzc3VpbmclMjBD
QTEuY3JsMIIBcQYIKwYBBQUHAQEEggFjMIIBXzCBzAYIKwYBBQUHMAKGgb9sZGFwOi8vL0NOPVRl
bHN0cmElMjBVc2VyJTIwSXNzdWluZyUyMENBMSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2Vy
dmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1jb3JlLERDPWRpcixEQz10ZWxz
dHJhLERDPWNvbT9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1
dGhvcml0eTBUBggrBgEFBQcwAoZIaHR0cDovL3RlbHN0cmEtcGtpLnBraS50ZWxzdHJhLmNvbS5h
dS9UZWxzdHJhJTIwVXNlciUyMElzc3VpbmclMjBDQTEuY3J0MDgGCCsGAQUFBzABhixodHRwOi8v
dGVsc3RyYS1vY3NwLnBraS50ZWxzdHJhLmNvbS5hdS9vY3NwLzATBgNVHSUEDDAKBggrBgEFBQcD
BDBdBgNVHSAEVjBUMFIGDCsGAQQBiEAEGwEBATBCMEAGCCsGAQUFBwIBFjRodHRwOi8vdGVsc3Ry
YS1wa2kucGtpLnRlbHN0cmEuY29tLmF1L1RlbHN0cmFDUFMucGRmMBsGCSsGAQQBgjcVCgQOMAww
CgYIKwYBBQUHAwQwWAYDVR0RBFEwT6AsBgorBgEEAYI3FAIDoB4MHGM3OTk4NzhAY29yZS5kaXIu
dGVsc3RyYS5jb22BH0phbWVzLkguTWFuZ2VyQHRlYW0udGVsc3RyYS5jb20wDQYJKoZIhvcNAQEF
BQADggEBAJdlLwFD54TirlRG+9jSLXEkMPsEG0jf6Hcgak1fGpMs20biU+i83rFkNL+scmcUf90z
R7s1XFtb95rDvPbVPz7iYWoXimE3cv16Bnny2ZECh0+f7rY+ku05bXfBGLdSrCkXqOI57QEgC9ew
4yi303MOMGhxW/xGAv6CWaY4sGBRboTE71PkJCql4k635iThBP7YxJGe8/VDbiZNk8qspSBDswpv
0gQM0xDyUPkDT1Q5PEOLqugCxYXIKTKfXuGFj9nn8obzlhkyDvWxYYKH/mx8fe10ZVPGFgkSBa0o
gjG0GUg5UZxnS+apqtMoZOoPHRMcZgxpKycDj01BSNdO6FAwggf5MIIG4aADAgECAgoWWLv+AAAA
AAAFMA0GCSqGSIb3DQEBBQUAMEMxJDAiBgNVBAoTG1RlbHN0cmEgQ29ycG9yYXRpb24gTGltaXRl
ZDEbMBkGA1UEAxMSVGVsc3RyYSBQb2xpY3kgQ0ExMB4XDTA5MTEyOTA4MzI0NVoXDTE0MTEyOTA4
NDI0NVowfDETMBEGCgmSJomT8ixkARkWA2NvbTEXMBUGCgmSJomT8ixkARkWB3RlbHN0cmExEzAR
BgoJkiaJk/IsZAEZFgNkaXIxFDASBgoJkiaJk/IsZAEZFgRjb3JlMSEwHwYDVQQDExhUZWxzdHJh
IFVzZXIgSXNzdWluZyBDQTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCevv2YM8z1
batCiS4O8l8YKJZNgA6wCcNatQ0E3OK1ZKLijCumkWAbGkRGHvIsZGkvU9XV4SEVzaVmdC+w83S+
wDNwj+8RtR3yjTOZ/ttiXO1/zWbXq8pS+RYalOp2NS6bIs7J6bvN5nSzYJESNEkSwv57ZxDutL12
gw2tC411FYTWqaL10rAOA3Hn5wSyr51WdrkjxNZqmmhSGvOITi+8UAeIe6rzarh/YemYJp1sA2p0
ZIg1VhBg8vvY6dONG1h/atFDjECJtroqYbvtJpQWeXQK8hSR/JlLeAYqt/J8GKQv+8mkycQUn0Xt
D5gbjF60i81culOIsXttS4xIe1tzAgMBAAGjggS0MIIEsDASBgNVHRMBAf8ECDAGAQH/AgEAMB0G
A1UdDgQWBBSzErFXrmmp60LIrAigOp3IfvE23DALBgNVHQ8EBAMCAYYwEAYJKwYBBAGCNxUBBAMC
AQAwggGJBgNVHSAEggGAMIIBfDCCAXgGDCsGAQQBiEAEGwEBATCCAWYwggEgBggrBgEFBQcCAjCC
ARIeggEOAEYAbwByACAAYQAgAGMAbwBwAHkAIABvAGYAIAB0AGgAZQAgAFQAZQBsAHMAdAByAGEA
IABQAEsASQAgAEMAUABTACwAIABjAGwAaQBjAGsAIABNAG8AcgBlACAASQBuAGYAbwAuACAARgBv
AHIAIABDAFAAUwAgAHEAdQBlAHIAaQBlAHMAIABjAG8AbgB0AGEAYwB0ACAAdABoAGUAIABHAG8A
dgBlAHIAbgBhAG4AYwBlACAAQwBvAHUAbgBjAGkAbAAsACAARQBtAGEAaQBsADoAIABUAGUAbABz
AHQAcgBhAC4AUABHAEMAQAB0AGUAYQBtAC4AdABlAGwAcwB0AHIAYQAuAGMAbwBtMEAGCCsGAQUF
BwIBFjRodHRwOi8vdGVsc3RyYS1wa2kucGtpLnRlbHN0cmEuY29tLmF1L1RlbHN0cmFDUFMucGRm
MBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMB8GA1UdIwQYMBaAFJT5/udCeR3rxZ9HUpfHV7X4
nD4oMIIBLAYDVR0fBIIBIzCCAR8wggEboIIBF6CCAROGgc5sZGFwOi8vL0NOPVRlbHN0cmElMjBQ
b2xpY3klMjBDQTEsQ049d3NjYXAwMTAxLENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNl
cyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPWNvcmUsREM9ZGlyLERDPXRlbHN0cmEs
REM9Y29tP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFzZT9vYmplY3RDbGFzcz1jUkxEaXN0
cmlidXRpb25Qb2ludIZAaHR0cDovL3RlbHN0cmEtY3JsLnBraS50ZWxzdHJhLmNvbS5hdS9UZWxz
dHJhJTIwUG9saWN5JTIwQ0ExLmNybDCCAWEGCCsGAQUFBwEBBIIBUzCCAU8wgcQGCCsGAQUFBzAC
hoG3bGRhcDovLy9DTj1UZWxzdHJhJTIwUG9saWN5JTIwQ0ExLENOPUFJQSxDTj1QdWJsaWMlMjBL
ZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPWNvcmUsREM9ZGly
LERDPXRlbHN0cmEsREM9Y29tP2NBQ2VydGlmaWNhdGU/YmFzZT9vYmplY3RDbGFzcz1jZXJ0aWZp
Y2F0aW9uQXV0aG9yaXR5MEwGCCsGAQUFBzAChkBodHRwOi8vdGVsc3RyYS1wa2kucGtpLnRlbHN0
cmEuY29tLmF1L1RlbHN0cmElMjBQb2xpY3klMjBDQTEuY3J0MDgGCCsGAQUFBzABhixodHRwOi8v
dGVsc3RyYS1vY3NwLnBraS50ZWxzdHJhLmNvbS5hdS9vY3NwLzANBgkqhkiG9w0BAQUFAAOCAQEA
KLKdzu8ZWRTUOdOZJ02fEONNrwAHAUMMwFh5pD/2CPhY6e29qU+4zih5R30GUcj+2LVohlOHyWVq
vvQJyJTxH+YTf3xrldjV69lL3lLCMfsuGX2LteGfwLsN45hUOnm1RWlvf0Gaug4GdLZeXjVLyfgU
MF/BhesXEUGWB68Q5N8FxUVVgrmXRYYWyGQHGGHXWn/UCOreGjawPr7GC0HgndgkwHxjhTqgCmzo
Sl0TIwWxFu6gO0eleF+3S85IFb3dwmctj+ZZm0tm3i5+59RVytuycvvAArwZT4Dc3nLD78fnjpXs
c9oXwjRWF3x98fn2ycF56Ys+d3592133GLCMljGCAjgwggI0AgEBMIGKMHwxEzARBgoJkiaJk/Is
ZAEZFgNjb20xFzAVBgoJkiaJk/IsZAEZFgd0ZWxzdHJhMRMwEQYKCZImiZPyLGQBGRYDZGlyMRQw
EgYKCZImiZPyLGQBGRYEY29yZTEhMB8GA1UEAxMYVGVsc3RyYSBVc2VyIElzc3VpbmcgQ0ExAgo7
zYYLAAAAAABMMAkGBSsOAwIaBQCggYMwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG
9w0BCQUxDxcNMTAwNDE2MDQwODU5WjAjBgkqhkiG9w0BCQQxFgQUvxgwzBbi8lP9YEjUQt/IXjxO
s7kwJAYJKoZIhvcNAQkPMRcwFTAHBgUrDgMCGjAKBggqhkiG9w0CBTANBgkqhkiG9w0BAQEFAASC
AQDUiy/kFbvRBPvHhmGWF+4gUlHWJ9OVfOIPqM473G1AmRAKThBI2YuonMC+JcZ7ckBh5yFEb9xF
8RUTI6KbyTdIXTCh9s0+regEuPDpC42FLq4R8gFDpEbDnqqSkkkJCvqt9az845UuxYMzV4AChyFl
JlkRcvN2r63m67P/GDhid1INe9+SJHJxY1V7KlkrCSdni6ARgy55MYk9dBcsw+6N3eQzOLUXrxsJ
2gvMjweCNKiy4YpvAYd1E9kww9XwSnxPIY5ZNy6jABifKPX+Tg9pxCyqpP8G+xjsLDVMwitBOGtW
pJi09IBHi/4uajWgXZWKLNWAOehhJiRFdDUvBtgXAAAAAAAA

------=_NextPart_000_001A_01CADD6E.5BE31430--

From mscurtescu@google.com  Thu Apr 15 21:11:28 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 270B93A67B5 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 21:11:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.94
X-Spam-Level: 
X-Spam-Status: No, score=-105.94 tagged_above=-999 required=5 tests=[AWL=0.038, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mrToen1bamU3 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 21:11:26 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 010AD3A679C for <oauth@ietf.org>; Thu, 15 Apr 2010 21:11:25 -0700 (PDT)
Received: from wpaz1.hot.corp.google.com (wpaz1.hot.corp.google.com [172.24.198.65]) by smtp-out.google.com with ESMTP id o3G4BHmX019776 for <oauth@ietf.org>; Thu, 15 Apr 2010 21:11:18 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271391078; bh=5cDTeMviDnF/Isn2SbhCcKU8S7E=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=MDWxZEY3AChwIisqWN9HdYw6JVIlX+OFRjMyCWbrs6wXHbgT202ulFCtLkbN6s89w U0r1wCqv1EPx8DVyegYLQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=vfn3LTGYWPDaiJa2NQlecawJD2BeZB9DgN0zwRrqSTdxyJr4ma9vhW1GMrAE9uh7/ 0erw5PnP/YcwkS+ZeeapA==
Received: from pzk35 (pzk35.prod.google.com [10.243.19.163]) by wpaz1.hot.corp.google.com with ESMTP id o3G4BGLR008619 for <oauth@ietf.org>; Thu, 15 Apr 2010 21:11:16 -0700
Received: by pzk35 with SMTP id 35so216382pzk.3 for <oauth@ietf.org>; Thu, 15 Apr 2010 21:11:16 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Thu, 15 Apr 2010 21:10:56 -0700 (PDT)
In-Reply-To: <q2oc8689b661004151839uc165b35aqfe5d1fd48917dc8c@mail.gmail.com>
References: <m2t74caaad21004151236h6df241a2k6b18c788b300cca6@mail.gmail.com>  <C7ECBAA3.32376%eran@hueniverse.com> <u2u74caaad21004151831jaf0a29e2ga84c36d4456dc87f@mail.gmail.com> <q2oc8689b661004151839uc165b35aqfe5d1fd48917dc8c@mail.gmail.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 15 Apr 2010 21:10:56 -0700
Received: by 10.141.214.20 with SMTP id r20mr1268865rvq.268.1271391076264;  Thu, 15 Apr 2010 21:11:16 -0700 (PDT)
Message-ID: <u2r74caaad21004152110t6949b0dfuac76f1ae3162aeb7@mail.gmail.com>
To: Evan Gilbert <uidude@google.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 04:11:28 -0000

On Thu, Apr 15, 2010 at 6:39 PM, Evan Gilbert <uidude@google.com> wrote:
>
> On Thu, Apr 15, 2010 at 6:31 PM, Marius Scurtescu <mscurtescu@google.com>
> wrote:
>>
>> OK, here is a concrete example:
>>
>> A Drupal (popular PHP based CMS) based web site wants to become an
>> OAuth 2 client. Among other things it needs to implement a callback
>> endpoint.
>>
>> Ideally this endpoint would look something like:
>> http://example.com/oauth/back
>>
>> Depending on what web server is used and how it is configured, the
>> above URL may not be possible. Drupal is dispatching all requests
>> through the main script and the path of the endpoint is passed as a
>> query parameter. Normally the above URL is seen as:
>> http://example.com/index.php?q=oauth/back
>>
>> The cleaner http://example.com/oauth/back is achieved with Apache URl
>> rewriting, but if Apache is not available or configured to support
>> that, you are stuck with the ugly query parameters.
>>
>> In the unlucky case the registered callback, and the actual callback
>> used in messages, is "http://example.com/index.php?q=oauth/back". This
>> callback has a query parameter, it is not used for state, and it is
>> not an extension.
>>
>> It so happens that "q" will not conflict with any of the existing
>> OAuth 2 parameters, but you can see the potential issue.
>>
>> Now, even if Apache is available and URL rewrites work, so the nice
>> callback is used, a collision would still happen if "q" was used by
>> OAuth 2. Apache rewrites "/oauth/back", but the Drupal dispatcher
>> always sees "/index.php?q=oauth/back", so another q parameter would
>> break things.
>
> We should ask Drupal to change their query parameter to drupal_q.

And every single framework that does dispatching based on query parameters :-)


>> I do realize that a prefix will not solve ALL collisions and it is
>> also not solving the extension question, but I still think makes a big
>> difference.
>
> This use case makes sense, but do we know of any existing conflicts?
> Very few web servers have this restrictive a URL parameter policy - I think
> I'm OK losing compatibility with future web servers that reserve the
> "callback" parameter for other purposes.

My guess is that most PHP frameworks will have a similar problem, they
will require query parameters.  This is not a web server issue, but a
framework issue.

Not only "callback" can cause a collision, but every single OAuth 2 parameter.


Marius

From justinsm@microsoft.com  Thu Apr 15 21:33:29 2010
Return-Path: <justinsm@microsoft.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E9B463A6852 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 21:33:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.598
X-Spam-Level: 
X-Spam-Status: No, score=-10.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ntuqzXWMYQc0 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 21:33:28 -0700 (PDT)
Received: from smtp.microsoft.com (mail3.microsoft.com [131.107.115.214]) by core3.amsl.com (Postfix) with ESMTP id 2B4C13A6804 for <oauth@ietf.org>; Thu, 15 Apr 2010 21:33:28 -0700 (PDT)
Received: from TK5EX14MLTC104.redmond.corp.microsoft.com (157.54.79.159) by TK5-EXGWY-E803.partners.extranet.microsoft.com (10.251.56.169) with Microsoft SMTP Server (TLS) id 8.2.176.0; Thu, 15 Apr 2010 21:33:21 -0700
Received: from TK5EX14MBXC115.redmond.corp.microsoft.com ([169.254.4.239]) by TK5EX14MLTC104.redmond.corp.microsoft.com ([157.54.79.159]) with mapi; Thu, 15 Apr 2010 21:33:21 -0700
From: Justin Smith <justinsm@microsoft.com>
To: "Manger, James H" <James.H.Manger@team.telstra.com>, OAuth WG <oauth@ietf.org>
Thread-Topic: [OAUTH-WG] Issue: Scope parameter
Thread-Index: AQHK3NEWvq+1OOTFrkS1RWT2flQ40pIkXsgAgAADXwCAAAODAP//ySWwgAAfiRCAACcXIIAAAxeggAAHW5A=
Date: Fri, 16 Apr 2010 04:31:05 +0000
Deferred-Delivery: Fri, 16 Apr 2010 04:32:00 +0000
Message-ID: <191F411E00E19F4E943ECDB6D65C60851691F645@TK5EX14MBXC115.redmond.corp.microsoft.com>
References: <h2o74caaad21004151238w60c3afd3td8dccdd8a7127a4a@mail.gmail.com> <C7ECBC36.32379%eran@hueniverse.com> <191F411E00E19F4E943ECDB6D65C60851691F095@TK5EX14MBXC115.redmond.corp.microsoft.com> <255B9BB34FB7D647A506DC292726F6E1125748109A@WSMSG3153V.srv.dir.telstra.com> <191F411E00E19F4E943ECDB6D65C60851691F5A9@TK5EX14MBXC115.redmond.corp.microsoft.com> <255B9BB34FB7D647A506DC292726F6E11257591D3B@WSMSG3153V.srv.dir.telstra.com>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E11257591D3B@WSMSG3153V.srv.dir.telstra.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Content-Type: multipart/alternative; boundary="_000_191F411E00E19F4E943ECDB6D65C60851691F645TK5EX14MBXC115r_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 04:33:30 -0000

--_000_191F411E00E19F4E943ECDB6D65C60851691F645TK5EX14MBXC115r_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

R3JlYXQuDQoNClNvLCBsZXTigJlzIHNheSB0aGVyZSBpcyBhbiBBdXRob3JpemF0aW9uIFNlcnZl
ciBhdmFpbGFibGUgYXQgaHR0cDovL2FzLmNvbSBhbmQgaXQgcHJvdGVjdHMgdGhlIGh0dHA6Ly9m
b28uY29tIGFuZCBodHRwOi8vYmFyLmNvbSByZXNvdXJjZXMuDQoNCkEgY2xpZW50IHJlcXVlc3Rz
ICBodHRwOi8vZm9vLmNvbS4gVGhlIGZvby5jb20gc2VydmVyIHJlc3BvbmRzIHdpdGggYSBXV1ct
QXV0aCB0aGF0IGNvbnRhaW5zIHRoZSBodHRwOi8vYXMuY29tIFVSSS4gVGhlIGNsaWVudCB0aGVu
IHNlbmRzIGFuIGFjY2VzcyB0b2tlbiByZXF1ZXN0IHRvIGh0dHA6Ly9hcy5jb20uIElzIHRoYXQg
cmlnaHQ/DQoNCklmIHNvLCB0aGVuIGhvdyBkb2VzIGh0dHA6Ly9hcy5jb20ga25vdyB0aGF0IHRo
ZSBpbnRlbmRlZCByZXNvdXJjZSBpcyBodHRwOi8vZm9vLmNvbT8NCg0KRnJvbTogTWFuZ2VyLCBK
YW1lcyBIIFttYWlsdG86SmFtZXMuSC5NYW5nZXJAdGVhbS50ZWxzdHJhLmNvbV0NClNlbnQ6IFRo
dXJzZGF5LCBBcHJpbCAxNSwgMjAxMCA5OjA5IFBNDQpUbzogSnVzdGluIFNtaXRoOyBPQXV0aCBX
Rw0KU3ViamVjdDogUkU6IFtPQVVUSC1XR10gSXNzdWU6IFNjb3BlIHBhcmFtZXRlcg0KDQo+IElz
IGl0IGltcG9ydGFudCBmb3IgYW4gQXV0aG9yaXphdGlvbiBTZXJ2ZXIgdG8gYmUgYWJsZSB0byBw
cm90ZWN0IG11bHRpcGxlIHJlc291cmNlcz8NCg0KWUVTDQoNCj4gIElmIHNvLCBob3cgc2hvdWxk
IHRoZSBjbGllbnQgc3BlY2lmeSB3aGljaCByZXNvdXJjZSBpdCBpbnRlbmRzIHRvIGFjY2VzcyAo
aXQgc2VlbXMgbGlrZSB0aGF0IGlzIHJlcXVpcmVkKT8NCg0KQnkgcmVkaXJlY3RpbmcgdGhlIHVz
ZXIgdG8gYW4gYXV0aHogVVJJIHRoYXQgcmVwcmVzZW50cyB0aGUgaW50ZW5kZWQgcmVzb3VyY2Uu
DQoNCklmIHRoZSBjbGllbnQgaXMgaW50ZXJvcGVyYXRpbmcgd2l0aCBhIHJlc291cmNlIGl0IGhh
cyBubyBzcGVjaWFsIGtub3dsZWRnZSBhYm91dCwgdGhlbiBpdCBjYW4gbGVhcm4gdGhlIGF1dGh6
IFVSSSBmcm9tIHRoZSA0MDEgV1dXLUF1dGguOiBPQVVUSCBoZWFkZXIgaXQgcmVjZWl2ZWQgd2hl
biB0cnlpbmcgdG8gYWNjZXNzIHRoZSByZXNvdXJjZSBkaXJlY3RseS4gVGhlIHNlcnZlciByZXR1
cm5pbmcgdGhpcyBoZWFkZXIga25vd3Mgd2hhdCByZXNvdXJjZSB0aGUgY2xpZW50IGFza2VkIGZv
ciBzbyB0aGUgc2VydmVyIGNhbiBlbmNvZGUgdGhhdCBpbmZvcm1hdGlvbiBpbnRvIHRoZSByZXR1
cm5lZCBhdXRoeiBVUkkgaW4gd2hhdGV2ZXIgd2F5IGl0IGhhcyBwcmVhcnJhbmdlZCB3aXRoIGl0
cyBBUy4NCg0KDQotLQ0KSmFtZXMgTWFuZ2VyDQoNCg0KRnJvbTogb2F1dGgtYm91bmNlc0BpZXRm
Lm9yZyBbbWFpbHRvOm9hdXRoLWJvdW5jZXNAaWV0Zi5vcmddIE9uIEJlaGFsZiBPZiBNYW5nZXIs
IEphbWVzIEgNClNlbnQ6IFRodXJzZGF5LCBBcHJpbCAxNSwgMjAxMCA2OjQwIFBNDQpUbzogT0F1
dGggV0cNClN1YmplY3Q6IFJlOiBbT0FVVEgtV0ddIElzc3VlOiBTY29wZSBwYXJhbWV0ZXINCg0K
PiBJIGRvbuKAmXQgc2VlIGhvdyB0aGUgcHJlc2VuY2Ugb2YgYSBzY29wZSBwYXJhbWV0ZXIgaHVy
dHMgaW50ZXJvcGVyYWJpbGl0eS4NCg0KU2NvcGVzIHNvIGZhciBoYXZlIGFsbCBiZWVuIHNwZWNp
ZmljIHRvIGEgc3BlY2lmaWMgc2VydmljZS4gS25vd2luZyBob3cgR29vZ2xlIHVzZXMg4oCYc2Nv
cGXigJkgdGVsbHMgeW91IG5vdGhpbmcgYWJvdXQgaW50ZXJvcGVyYXRpbmcgd2l0aCBNaWNyb3Nv
ZnQuDQoNClJlcXVlc3RpbmcgYWNjZXNzIHRvIHNwZWNpZmljIHNldHMgb2YgcmVzb3VyY2VzIGlz
IGltcG9ydGFudC4gSG93ZXZlciwgeW91IGNhbiBkbyBpdCBieSBwcm92aWRpbmcgZGlmZmVyZW50
IHVzZXItYXV0aG9yaXphdGlvbiBVUklzIOKAlCBldmVuIGlmIHRoZSBVUklzIG9ubHkgZGlmZmVy
IGluIHRoZSB2YWx1ZSBvZiBhIOKAmHNjb3Bl4oCZIHF1ZXJ5IHBhcmFtZXRlci4NCg0KRm9yIGEg
bGlicmFyeSB0aGF0IGlzbuKAmXQgc2VydmljZS1zcGVjaWZpYywgYSBzY29wZSB2YWx1ZSBvZmZl
cnMgbm8gc2VtYW50aWMgdmFsdWUuIEFsbCB0aGUgbGlicmFyeSBjYW4gZG8gaXMgdGFjayBpdCBv
bnRvIGEgc3VwcGxpZWQgdXNlciBhdXRoeiBVUkkuIEluIHdoaWNoIGNhc2UgaXQgaXMgc2ltcGxl
ciBmb3IgdGhlIGxpYnJhcnkgdG8ganVzdCBhY2NlcHQgYSB1c2VyIGF1dGh6IFVSSSB0aGF0IGhh
cyBoYWQgdGhlIHNjb3BlIHRhY2tlZCBvbiBiZWZvcmUgYmVpbmcgcGFzc2VkIHRvIHRoZSBsaWJy
YXJ5Lg0KDQoNCi0tDQpKYW1lcyBNYW5nZXINCg0KRnJvbTogb2F1dGgtYm91bmNlc0BpZXRmLm9y
ZyBbbWFpbHRvOm9hdXRoLWJvdW5jZXNAaWV0Zi5vcmddIE9uIEJlaGFsZiBPZiBKdXN0aW4gU21p
dGgNClNlbnQ6IEZyaWRheSwgMTYgQXByaWwgMjAxMCA5OjM5IEFNDQpUbzogRXJhbiBIYW1tZXIt
TGFoYXY7IE1hcml1cyBTY3VydGVzY3U7IHJlY29yZG9uZEBnbWFpbC5jb20NCkNjOiBPQXV0aCBX
Rw0KU3ViamVjdDogUmU6IFtPQVVUSC1XR10gSXNzdWU6IFNjb3BlIHBhcmFtZXRlcg0KDQpJIGRv
buKAmXQgc2VlIGhvdyB0aGUgcHJlc2VuY2Ugb2YgYSBzY29wZSBwYXJhbWV0ZXIgaHVydHMgaW50
ZXJvcGVyYWJpbGl0eS4NCg0KSXQgdGhpbmsgc2NvcGUgbmVlZHMgdG8gYmUgYSAxc3QgY2xhc3Mg
Y2l0aXplbiBpbiB0aGUgc3BlYywgbm90IGFuIGV4dGVuc2lvbi4gV2l0aG91dCBpdCwgYSBjbGll
bnQgY2Fubm90IHJlcXVlc3QgYWNjZXNzIHRvIGEgc3BlY2lmaWMgc2V0IG9mIHJlc291cmNlcyAo
d2hldGhlciBpdHMgcmVwcmVzZW50ZWQgYXMgYSBzdHJpbmcsIFVSSSwgb3IgYW55dGhpbmcgZWxz
ZSkuIERvZXMgdGhlIGdyb3VwIHRoaW5rIGl0IElzIGltcG9ydGFudCBmb3IgYW4gQXV0aG9yaXph
dGlvbiBTZXJ2ZXIgdG8gYmUgYWJsZSB0byBtYWtlIGF1dGggZGVjaXNpb25zIGJhc2VkIG9uIHJl
cXVlc3RlZCByZXNvdXJjZXM/DQo=

--_000_191F411E00E19F4E943ECDB6D65C60851691F645TK5EX14MBXC115r_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6eD0idXJuOnNjaGVtYXMtbWljcm9z
b2Z0LWNvbTpvZmZpY2U6ZXhjZWwiIHhtbG5zOnA9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206
b2ZmaWNlOnBvd2VycG9pbnQiIHhtbG5zOmE9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2Zm
aWNlOmFjY2VzcyIgeG1sbnM6ZHQ9InV1aWQ6QzJGNDEwMTAtNjVCMy0xMWQxLUEyOUYtMDBBQTAw
QzE0ODgyIiB4bWxuczpzPSJ1dWlkOkJEQzZFM0YwLTZEQTMtMTFkMS1BMkEzLTAwQUEwMEMxNDg4
MiIgeG1sbnM6cnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206cm93c2V0IiB4bWxuczp6PSIj
Um93c2V0U2NoZW1hIiB4bWxuczpiPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpw
dWJsaXNoZXIiIHhtbG5zOnNzPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpzcHJl
YWRzaGVldCIgeG1sbnM6Yz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6Y29tcG9u
ZW50OnNwcmVhZHNoZWV0IiB4bWxuczpvZGM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2Zm
aWNlOm9kYyIgeG1sbnM6b2E9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOmFjdGl2
YXRpb24iIHhtbG5zOmh0bWw9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAiIHhtbG5z
OnE9Imh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3NvYXAvZW52ZWxvcGUvIiB4bWxuczpydGM9
Imh0dHA6Ly9taWNyb3NvZnQuY29tL29mZmljZW5ldC9jb25mZXJlbmNpbmciIHhtbG5zOkQ9IkRB
VjoiIHhtbG5zOlJlcGw9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vcmVwbC8iIHhtbG5z
Om10PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29hcC9tZWV0aW5n
cy8iIHhtbG5zOngyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9leGNlbC8y
MDAzL3htbCIgeG1sbnM6cHBkYT0iaHR0cDovL3d3dy5wYXNzcG9ydC5jb20vTmFtZVNwYWNlLnhz
ZCIgeG1sbnM6b2lzPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29h
cC9vaXMvIiB4bWxuczpkaXI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2lu
dC9zb2FwL2RpcmVjdG9yeS8iIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3ht
bGRzaWcjIiB4bWxuczpkc3A9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2lu
dC9kc3AiIHhtbG5zOnVkYz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kYXRhL3VkYyIg
eG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6c3ViPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29hcC8yMDAyLzEvYWxlcnRz
LyIgeG1sbnM6ZWM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jIyIgeG1sbnM6c3A9
Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2ludC8iIHhtbG5zOnNwcz0iaHR0
cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9zaGFyZXBvaW50L3NvYXAvIiB4bWxuczp4c2k9Imh0
dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp1ZGNzPSJodHRw
Oi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RhdGEvdWRjL3NvYXAiIHhtbG5zOnVkY3hmPSJodHRw
Oi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RhdGEvdWRjL3htbGZpbGUiIHhtbG5zOnVkY3AycD0i
aHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kYXRhL3VkYy9wYXJ0dG9wYXJ0IiB4bWxuczp3
Zj0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9zaGFyZXBvaW50L3NvYXAvd29ya2Zsb3cv
IiB4bWxuczpkc3NzPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA2L2Rp
Z3NpZy1zZXR1cCIgeG1sbnM6ZHNzaT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZp
Y2UvMjAwNi9kaWdzaWciIHhtbG5zOm1kc3NpPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0
cy5vcmcvcGFja2FnZS8yMDA2L2RpZ2l0YWwtc2lnbmF0dXJlIiB4bWxuczptdmVyPSJodHRwOi8v
c2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvbWFya3VwLWNvbXBhdGliaWxpdHkvMjAwNiIgeG1s
bnM6bT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4
bWxuczptcmVscz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAw
Ni9yZWxhdGlvbnNoaXBzIiB4bWxuczpzcHdwPSJodHRwOi8vbWljcm9zb2Z0LmNvbS9zaGFyZXBv
aW50L3dlYnBhcnRwYWdlcyIgeG1sbnM6ZXgxMnQ9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5j
b20vZXhjaGFuZ2Uvc2VydmljZXMvMjAwNi90eXBlcyIgeG1sbnM6ZXgxMm09Imh0dHA6Ly9zY2hl
bWFzLm1pY3Jvc29mdC5jb20vZXhjaGFuZ2Uvc2VydmljZXMvMjAwNi9tZXNzYWdlcyIgeG1sbnM6
cHB0c2w9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2ludC9zb2FwL1NsaWRl
TGlicmFyeS8iIHhtbG5zOnNwc2w9Imh0dHA6Ly9taWNyb3NvZnQuY29tL3dlYnNlcnZpY2VzL1No
YXJlUG9pbnRQb3J0YWxTZXJ2ZXIvUHVibGlzaGVkTGlua3NTZXJ2aWNlIiB4bWxuczpaPSJ1cm46
c2NoZW1hcy1taWNyb3NvZnQtY29tOiIgeG1sbnM6c3Q9IiYjMTsiIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PUNvbnRl
bnQtVHlwZSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1ldGEgbmFtZT1H
ZW5lcmF0b3IgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTIgKGZpbHRlcmVkIG1lZGl1bSkiPg0K
PHRpdGxlPlJlOiBbT0FVVEgtV0ddIElzc3VlOiBTY29wZSBwYXJhbWV0ZXI8L3RpdGxlPg0KPHN0
eWxlPg0KPCEtLQ0KIC8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCiBAZm9udC1mYWNlDQoJe2ZvbnQt
ZmFtaWx5OiJDYW1icmlhIE1hdGgiOw0KCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQ0K
QGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUgNSAyIDIg
MiA0IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6VGFob21hOw0KCXBhbm9zZS0x
OjIgMTEgNiA0IDMgNSA0IDQgMiA0O30NCiAvKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KIHAuTXNv
Tm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBpbjsNCgltYXJn
aW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToiVGlt
ZXMgTmV3IFJvbWFuIiwic2VyaWYiO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNv
LXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVy
bGluZTt9DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxl
LXByaW9yaXR5Ojk5Ow0KCWNvbG9yOnB1cnBsZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5l
O30NCnNwYW4uRW1haWxTdHlsZTE3DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsOw0KCWZvbnQt
ZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQoJY29sb3I6IzFGNDk3RDt9DQpzcGFuLkVt
YWlsU3R5bGUxOA0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbDsNCglmb250LWZhbWlseToiQ2Fs
aWJyaSIsInNhbnMtc2VyaWYiOw0KCWNvbG9yOiMxRjQ5N0Q7fQ0Kc3Bhbi5FbWFpbFN0eWxlMTkN
Cgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWw7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5z
LXNlcmlmIjsNCgljb2xvcjojMUY0OTdEO30NCnNwYW4uRW1haWxTdHlsZTIwDQoJe21zby1zdHls
ZS10eXBlOnBlcnNvbmFsOw0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQoJ
Y29sb3I6IzFGNDk3RDt9DQpzcGFuLkVtYWlsU3R5bGUyMQ0KCXttc28tc3R5bGUtdHlwZTpwZXJz
b25hbC1yZXBseTsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KCWNvbG9y
OiMxRjQ5N0Q7fQ0KLk1zb0NocERlZmF1bHQNCgl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7
DQoJZm9udC1zaXplOjEwLjBwdDt9DQpAcGFnZSBTZWN0aW9uMQ0KCXtzaXplOjguNWluIDExLjBp
bjsNCgltYXJnaW46MS4waW4gMS4waW4gMS4waW4gMS4waW47fQ0KZGl2LlNlY3Rpb24xDQoJe3Bh
Z2U6U2VjdGlvbjE7fQ0KLS0+DQo8L3N0eWxlPg0KPCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQog
PG86c2hhcGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0iMTAyNiIgLz4NCjwveG1sPjwh
W2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KIDxvOnNoYXBlbGF5b3V0IHY6ZXh0
PSJlZGl0Ij4NCiAgPG86aWRtYXAgdjpleHQ9ImVkaXQiIGRhdGE9IjEiIC8+DQogPC9vOnNoYXBl
bGF5b3V0PjwveG1sPjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0KDQo8Ym9keSBsYW5nPUVOLVVTIGxp
bms9Ymx1ZSB2bGluaz1wdXJwbGU+DQoNCjxkaXYgY2xhc3M9U2VjdGlvbjE+DQoNCjxwIGNsYXNz
PU1zb05vcm1hbD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2Fs
aWJyaSIsInNhbnMtc2VyaWYiOw0KY29sb3I6IzFGNDk3RCc+R3JlYXQuPG86cD48L286cD48L3Nw
YW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsNCmNvbG9yOiMxRjQ5N0QnPjxv
OnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0
eWxlPSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7
DQpjb2xvcjojMUY0OTdEJz5TbywgbGV04oCZcyBzYXkgdGhlcmUgaXMgYW4gQXV0aG9yaXphdGlv
biBTZXJ2ZXIgYXZhaWxhYmxlIGF0IDxhDQpocmVmPSJodHRwOi8vYXMuY29tIj5odHRwOi8vYXMu
Y29tPC9hPiBhbmQgaXQgcHJvdGVjdHMgdGhlIDxhDQpocmVmPSJodHRwOi8vZm9vLmNvbSI+aHR0
cDovL2Zvby5jb208L2E+IGFuZCA8YSBocmVmPSJodHRwOi8vYmFyLmNvbSI+aHR0cDovL2Jhci5j
b208L2E+DQpyZXNvdXJjZXMuPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29O
b3JtYWw+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmki
LCJzYW5zLXNlcmlmIjsNCmNvbG9yOiMxRjQ5N0QnPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwv
cD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQpjb2xvcjojMUY0OTdEJz5BIGNsaWVu
dCByZXF1ZXN0cyDCoDxhIGhyZWY9Imh0dHA6Ly9mb28uY29tIj5odHRwOi8vZm9vLmNvbTwvYT4u
DQpUaGUgZm9vLmNvbSBzZXJ2ZXIgcmVzcG9uZHMgd2l0aCBhIFdXVy1BdXRoIHRoYXQgY29udGFp
bnMgdGhlIDxhDQpocmVmPSJodHRwOi8vYXMuY29tIj5odHRwOi8vYXMuY29tPC9hPiBVUkkuIFRo
ZSBjbGllbnQgdGhlbiBzZW5kcyBhbiBhY2Nlc3MNCnRva2VuIHJlcXVlc3QgdG8gPGEgaHJlZj0i
aHR0cDovL2FzLmNvbSI+aHR0cDovL2FzLmNvbTwvYT4uIElzIHRoYXQgcmlnaHQ/PG86cD48L286
cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6
ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsNCmNvbG9yOiMxRjQ5
N0QnPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxz
cGFuIHN0eWxlPSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1z
ZXJpZiI7DQpjb2xvcjojMUY0OTdEJz5JZiBzbywgdGhlbiBob3cgZG9lcyA8YSBocmVmPSJodHRw
Oi8vYXMuY29tIj5odHRwOi8vYXMuY29tPC9hPg0Ka25vdyB0aGF0IHRoZSBpbnRlbmRlZCByZXNv
dXJjZSBpcyA8YSBocmVmPSJodHRwOi8vZm9vLmNvbSI+aHR0cDovL2Zvby5jb208L2E+Pw0KPG86
cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gc3R5bGU9J2Zv
bnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsNCmNvbG9y
OiMxRjQ5N0QnPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCg0KPGRpdj4NCg0KPGRpdiBz
dHlsZT0nYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjQjVDNERGIDEuMHB0O3BhZGRpbmc6
My4wcHQgMGluIDBpbiAwaW4nPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PGI+PHNwYW4gc3R5bGU9
J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRhaG9tYSIsInNhbnMtc2VyaWYiJz5Gcm9t
Ojwvc3Bhbj48L2I+PHNwYW4NCnN0eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJU
YWhvbWEiLCJzYW5zLXNlcmlmIic+IE1hbmdlciwgSmFtZXMgSA0KW21haWx0bzpKYW1lcy5ILk1h
bmdlckB0ZWFtLnRlbHN0cmEuY29tXSA8YnI+DQo8Yj5TZW50OjwvYj4gVGh1cnNkYXksIEFwcmls
IDE1LCAyMDEwIDk6MDkgUE08YnI+DQo8Yj5Ubzo8L2I+IEp1c3RpbiBTbWl0aDsgT0F1dGggV0c8
YnI+DQo8Yj5TdWJqZWN0OjwvYj4gUkU6IFtPQVVUSC1XR10gSXNzdWU6IFNjb3BlIHBhcmFtZXRl
cjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPC9kaXY+DQoNCjwvZGl2Pg0KDQo8cCBjbGFzcz1N
c29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHls
ZT0nbWFyZ2luLWxlZnQ6LjVpbic+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMS4wcHQ7DQpmb250
LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiO2NvbG9yOiMxRjQ5N0QnPiZndDsgSXMgaXQg
aW1wb3J0YW50IGZvciBhbg0KQXV0aG9yaXphdGlvbiBTZXJ2ZXIgdG8gYmUgYWJsZSB0byBwcm90
ZWN0IG11bHRpcGxlIHJlc291cmNlcz88bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNz
PU1zb05vcm1hbD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2Fs
aWJyaSIsInNhbnMtc2VyaWYiOw0KY29sb3I6IzFGNDk3RCc+PG86cD4mbmJzcDs8L286cD48L3Nw
YW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsNCmNvbG9yOiMxRjQ5N0QnPllF
UzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJn
aW4tbGVmdDouNWluJz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjExLjBwdDsNCmZvbnQtZmFtaWx5
OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7Y29sb3I6IzFGNDk3RCc+PG86cD4mbmJzcDs8L286cD48
L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4n
PjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTEuMHB0Ow0KZm9udC1mYW1pbHk6IkNhbGlicmkiLCJz
YW5zLXNlcmlmIjtjb2xvcjojMUY0OTdEJz4mZ3Q7ICZuYnNwO0lmIHNvLCBob3cgc2hvdWxkDQp0
aGUgY2xpZW50IHNwZWNpZnkgd2hpY2ggcmVzb3VyY2UgaXQgaW50ZW5kcyB0byBhY2Nlc3MgKGl0
IHNlZW1zIGxpa2UgdGhhdCBpcw0KcmVxdWlyZWQpPzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0K
PHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt
aWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQpjb2xvcjojMUY0OTdEJz48bzpwPiZuYnNwOzwv
bzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nZm9udC1z
aXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KY29sb3I6IzFG
NDk3RCc+QnkgcmVkaXJlY3RpbmcgdGhlIHVzZXIgdG8gYW4gYXV0aHogVVJJIHRoYXQgcmVwcmVz
ZW50cyB0aGUgaW50ZW5kZWQNCnJlc291cmNlLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAg
Y2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5
OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQpjb2xvcjojMUY0OTdEJz48bzpwPiZuYnNwOzwvbzpw
Pjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nZm9udC1zaXpl
OjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KY29sb3I6IzFGNDk3
RCc+SWYgdGhlIGNsaWVudCBpcyBpbnRlcm9wZXJhdGluZyB3aXRoIGEgcmVzb3VyY2UgaXQgaGFz
IG5vDQpzcGVjaWFsIGtub3dsZWRnZSBhYm91dCwgdGhlbiBpdCBjYW4gbGVhcm4gdGhlIGF1dGh6
IFVSSSBmcm9tIHRoZSA0MDENCldXVy1BdXRoLjogT0FVVEggaGVhZGVyIGl0IHJlY2VpdmVkIHdo
ZW4gdHJ5aW5nIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UNCmRpcmVjdGx5LiBUaGUgc2VydmVyIHJl
dHVybmluZyB0aGlzIGhlYWRlciBrbm93cyB3aGF0IHJlc291cmNlIHRoZSBjbGllbnQgYXNrZWQN
CmZvciBzbyB0aGUgc2VydmVyIGNhbiBlbmNvZGUgdGhhdCBpbmZvcm1hdGlvbiBpbnRvIHRoZSBy
ZXR1cm5lZCBhdXRoeiBVUkkgaW4NCndoYXRldmVyIHdheSBpdCBoYXMgcHJlYXJyYW5nZWQgd2l0
aCBpdHMgQVMuPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNw
YW4gc3R5bGU9J2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNl
cmlmIjsNCmNvbG9yOiMxRjQ5N0QnPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAg
Y2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5
OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQpjb2xvcjojMUY0OTdEJz48bzpwPiZuYnNwOzwvbzpw
Pjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nZm9udC1zaXpl
OjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KY29sb3I6IzFGNDk3
RCc+LS08bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBz
dHlsZT0nZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYi
Ow0KY29sb3I6IzFGNDk3RCc+SmFtZXMgTWFuZ2VyPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8
cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p
bHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsNCmNvbG9yOiMxRjQ5N0QnPjxvOnA+Jm5ic3A7PC9v
OnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDou
NWluJz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjExLjBwdDsNCmZvbnQtZmFtaWx5OiJDYWxpYnJp
Iiwic2Fucy1zZXJpZiI7Y29sb3I6IzFGNDk3RCc+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9w
Pg0KDQo8ZGl2Pg0KDQo8ZGl2IHN0eWxlPSdib3JkZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNC
NUM0REYgMS4wcHQ7cGFkZGluZzozLjBwdCAwaW4gMGluIDBpbic+DQoNCjxwIGNsYXNzPU1zb05v
cm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+PGI+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZTox
MC4wcHQ7DQpmb250LWZhbWlseToiVGFob21hIiwic2Fucy1zZXJpZiInPkZyb206PC9zcGFuPjwv
Yj48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDsNCmZvbnQtZmFtaWx5OiJUYWhvbWEiLCJz
YW5zLXNlcmlmIic+IG9hdXRoLWJvdW5jZXNAaWV0Zi5vcmcNClttYWlsdG86b2F1dGgtYm91bmNl
c0BpZXRmLm9yZ10gPGI+T24gQmVoYWxmIE9mIDwvYj5NYW5nZXIsIEphbWVzIEg8YnI+DQo8Yj5T
ZW50OjwvYj4gVGh1cnNkYXksIEFwcmlsIDE1LCAyMDEwIDY6NDAgUE08YnI+DQo8Yj5Ubzo8L2I+
IE9BdXRoIFdHPGJyPg0KPGI+U3ViamVjdDo8L2I+IFJlOiBbT0FVVEgtV0ddIElzc3VlOiBTY29w
ZSBwYXJhbWV0ZXI8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjwvZGl2Pg0KDQo8L2Rpdj4NCg0K
PHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz48bzpwPiZuYnNwOzwv
bzpwPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz48
c3BhbiBsYW5nPUVOLUFVIHN0eWxlPSdmb250LXNpemU6DQoxMS4wcHQ7Zm9udC1mYW1pbHk6IkNh
bGlicmkiLCJzYW5zLXNlcmlmIjtjb2xvcjojMUY0OTdEJz4mZ3Q7IDwvc3Bhbj48c3Bhbg0Kc3R5
bGU9J2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjtj
b2xvcjojMUY0OTdEJz5JDQpkb27igJl0IHNlZSBob3cgdGhlIHByZXNlbmNlIG9mIGEgc2NvcGUg
cGFyYW1ldGVyIGh1cnRzIGludGVyb3BlcmFiaWxpdHkuPG86cD48L286cD48L3NwYW4+PC9wPg0K
DQo8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFuIHN0eWxl
PSdmb250LXNpemU6MTEuMHB0Ow0KZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjtj
b2xvcjojMUY0OTdEJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1z
b05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZTox
MS4wcHQ7DQpmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiO2NvbG9yOiMxRjQ5N0Qn
PlNjb3BlcyBzbyBmYXIgaGF2ZSBhbGwgYmVlbg0Kc3BlY2lmaWMgdG8gYSBzcGVjaWZpYyBzZXJ2
aWNlLiBLbm93aW5nIGhvdyBHb29nbGUgdXNlcyDigJhzY29wZeKAmSB0ZWxscyB5b3UNCm5vdGhp
bmcgYWJvdXQgaW50ZXJvcGVyYXRpbmcgd2l0aCBNaWNyb3NvZnQuPG86cD48L286cD48L3NwYW4+
PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFu
IHN0eWxlPSdmb250LXNpemU6MTEuMHB0Ow0KZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNl
cmlmIjtjb2xvcjojMUY0OTdEJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNs
YXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+PHNwYW4gc3R5bGU9J2ZvbnQt
c2l6ZToxMS4wcHQ7DQpmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiO2NvbG9yOiMx
RjQ5N0QnPlJlcXVlc3RpbmcgYWNjZXNzIHRvIHNwZWNpZmljDQpzZXRzIG9mIHJlc291cmNlcyBp
cyBpbXBvcnRhbnQuIEhvd2V2ZXIsIHlvdSBjYW4gZG8gaXQgYnkgcHJvdmlkaW5nIGRpZmZlcmVu
dA0KdXNlci1hdXRob3JpemF0aW9uIFVSSXMg4oCUIGV2ZW4gaWYgdGhlIFVSSXMgb25seSBkaWZm
ZXIgaW4gdGhlIHZhbHVlIG9mIGENCuKAmHNjb3Bl4oCZIHF1ZXJ5IHBhcmFtZXRlci48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6
LjVpbic+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMS4wcHQ7DQpmb250LWZhbWlseToiQ2FsaWJy
aSIsInNhbnMtc2VyaWYiO2NvbG9yOiMxRjQ5N0QnPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwv
cD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz48c3BhbiBz
dHlsZT0nZm9udC1zaXplOjExLjBwdDsNCmZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJp
ZiI7Y29sb3I6IzFGNDk3RCc+Rm9yIGEgbGlicmFyeSB0aGF0IGlzbuKAmXQNCnNlcnZpY2Utc3Bl
Y2lmaWMsIGEgc2NvcGUgdmFsdWUgb2ZmZXJzIG5vIHNlbWFudGljIHZhbHVlLiBBbGwgdGhlIGxp
YnJhcnkgY2FuDQpkbyBpcyB0YWNrIGl0IG9udG8gYSBzdXBwbGllZCB1c2VyIGF1dGh6IFVSSS4g
SW4gd2hpY2ggY2FzZSBpdCBpcyBzaW1wbGVyIGZvcg0KdGhlIGxpYnJhcnkgdG8ganVzdCBhY2Nl
cHQgYSB1c2VyIGF1dGh6IFVSSSB0aGF0IGhhcyBoYWQgdGhlIHNjb3BlIHRhY2tlZCBvbg0KYmVm
b3JlIGJlaW5nIHBhc3NlZCB0byB0aGUgbGlicmFyeS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoN
CjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+PHNwYW4gbGFuZz1F
Ti1BVSBzdHlsZT0nZm9udC1zaXplOg0KMTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fu
cy1zZXJpZiI7Y29sb3I6IzFGNDk3RCc+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KDQo8
cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFuIGxhbmc9RU4t
QVUgc3R5bGU9J2ZvbnQtc2l6ZToNCjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMt
c2VyaWYiO2NvbG9yOiMxRjQ5N0QnPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCg0KPGRp
dj4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz48c3BhbiBs
YW5nPUVOLUFVIHN0eWxlPSdmb250LXNpemU6DQoxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmki
LCJzYW5zLXNlcmlmIjtjb2xvcjojMUY0OTdEJz4tLSA8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoN
CjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+PHNwYW4gbGFuZz1F
Ti1BVSBzdHlsZT0nZm9udC1zaXplOg0KMTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fu
cy1zZXJpZiI7Y29sb3I6IzFGNDk3RCc+SmFtZXMgTWFuZ2VyPG86cD48L286cD48L3NwYW4+PC9w
Pg0KDQo8L2Rpdj4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWlu
Jz48c3BhbiBsYW5nPUVOLUFVIHN0eWxlPSdmb250LXNpemU6DQoxMS4wcHQ7Zm9udC1mYW1pbHk6
IkNhbGlicmkiLCJzYW5zLXNlcmlmIjtjb2xvcjojMUY0OTdEJz48bzpwPiZuYnNwOzwvbzpwPjwv
c3Bhbj48L3A+DQoNCjxkaXY+DQoNCjxkaXYgc3R5bGU9J2JvcmRlcjpub25lO2JvcmRlci10b3A6
c29saWQgI0I1QzRERiAxLjBwdDtwYWRkaW5nOjMuMHB0IDBpbiAwaW4gMGluJz4NCg0KPHAgY2xh
c3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDoxLjBpbic+PGI+PHNwYW4gc3R5bGU9J2Zv
bnQtc2l6ZToxMC4wcHQ7DQpmb250LWZhbWlseToiVGFob21hIiwic2Fucy1zZXJpZiInPkZyb206
PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDsNCmZvbnQtZmFtaWx5OiJU
YWhvbWEiLCJzYW5zLXNlcmlmIic+IG9hdXRoLWJvdW5jZXNAaWV0Zi5vcmcNClttYWlsdG86b2F1
dGgtYm91bmNlc0BpZXRmLm9yZ10gPGI+T24gQmVoYWxmIE9mIDwvYj5KdXN0aW4gU21pdGg8YnI+
DQo8Yj5TZW50OjwvYj4gRnJpZGF5LCAxNiBBcHJpbCAyMDEwIDk6MzkgQU08YnI+DQo8Yj5Ubzo8
L2I+IEVyYW4gSGFtbWVyLUxhaGF2OyBNYXJpdXMgU2N1cnRlc2N1OyByZWNvcmRvbmRAZ21haWwu
Y29tPGJyPg0KPGI+Q2M6PC9iPiBPQXV0aCBXRzxicj4NCjxiPlN1YmplY3Q6PC9iPiBSZTogW09B
VVRILVdHXSBJc3N1ZTogU2NvcGUgcGFyYW1ldGVyPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8
L2Rpdj4NCg0KPC9kaXY+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6
MS4waW4nPjxzcGFuIGxhbmc9RU4tQVU+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KDQo8
cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0OjEuMGluJz48c3BhbiBzdHlsZT0n
Zm9udC1zaXplOjExLjBwdDsNCmZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7Y29s
b3I6IzFGNDk3RCc+SSBkb27igJl0IHNlZSBob3cgdGhlIHByZXNlbmNlDQpvZiBhIHNjb3BlIHBh
cmFtZXRlciBodXJ0cyBpbnRlcm9wZXJhYmlsaXR5LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0K
PHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDoxLjBpbic+PHNwYW4gc3R5bGU9
J2ZvbnQtc2l6ZToxMS4wcHQ7DQpmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiO2Nv
bG9yOiMxRjQ5N0QnPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNv
Tm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDoxLjBpbic+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZTox
MS4wcHQ7DQpmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiO2NvbG9yOiMxRjQ5N0Qn
Pkl0IHRoaW5rIHNjb3BlIG5lZWRzIHRvIGJlIGENCjE8c3VwPnN0PC9zdXA+IGNsYXNzIGNpdGl6
ZW4gaW4gdGhlIHNwZWMsIG5vdCBhbiBleHRlbnNpb24uIFdpdGhvdXQgaXQsIGENCmNsaWVudCBj
YW5ub3QgcmVxdWVzdCBhY2Nlc3MgdG8gYSBzcGVjaWZpYyBzZXQgb2YgcmVzb3VyY2VzICh3aGV0
aGVyIGl0cw0KcmVwcmVzZW50ZWQgYXMgYSBzdHJpbmcsIFVSSSwgb3IgYW55dGhpbmcgZWxzZSku
IERvZXMgdGhlIGdyb3VwIHRoaW5rIGl0IElzDQppbXBvcnRhbnQgZm9yIGFuIEF1dGhvcml6YXRp
b24gU2VydmVyIHRvIGJlIGFibGUgdG8gbWFrZSBhdXRoIGRlY2lzaW9ucyBiYXNlZA0Kb24gcmVx
dWVzdGVkIHJlc291cmNlcz88bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjwvZGl2Pg0KDQo8L2Jv
ZHk+DQoNCjwvaHRtbD4NCg==

--_000_191F411E00E19F4E943ECDB6D65C60851691F645TK5EX14MBXC115r_--

From mscurtescu@google.com  Thu Apr 15 21:42:13 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2F8AB3A6804 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 21:42:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.652
X-Spam-Level: 
X-Spam-Status: No, score=-101.652 tagged_above=-999 required=5 tests=[AWL=0.325, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Z+fSNefHckmW for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 21:42:11 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id DF2AB3A6952 for <oauth@ietf.org>; Thu, 15 Apr 2010 21:42:10 -0700 (PDT)
Received: from hpaq3.eem.corp.google.com (hpaq3.eem.corp.google.com [10.3.21.3]) by smtp-out.google.com with ESMTP id o3G4g0X4010456 for <oauth@ietf.org>; Fri, 16 Apr 2010 06:42:00 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271392921; bh=8Tc3dyWYRJInazWeH1Clyh5RnFs=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=ZxurOJ6UmoiaBrx0Q9bMaEnHLuc52RmWhnHC0pgzMDdxX0k0EBj2vn+XVFuo1TJpU 1URRlkGMXh7wD4X4J5x/w==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=cRQUZfnzXSACOxHQMVZxPeVvdvNuZ1h6dbS2/Yh45vSZsVR0mayVaEpUkLDV4jmeR TB/lahyCfLCUG35l51lsw==
Received: from pwj7 (pwj7.prod.google.com [10.241.219.71]) by hpaq3.eem.corp.google.com with ESMTP id o3G4fwes030106 for <oauth@ietf.org>; Fri, 16 Apr 2010 06:41:59 +0200
Received: by pwj7 with SMTP id 7so2555296pwj.2 for <oauth@ietf.org>; Thu, 15 Apr 2010 21:41:58 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Thu, 15 Apr 2010 21:41:38 -0700 (PDT)
In-Reply-To: <191F411E00E19F4E943ECDB6D65C60851691F645@TK5EX14MBXC115.redmond.corp.microsoft.com>
References: <h2o74caaad21004151238w60c3afd3td8dccdd8a7127a4a@mail.gmail.com>  <C7ECBC36.32379%eran@hueniverse.com> <191F411E00E19F4E943ECDB6D65C60851691F095@TK5EX14MBXC115.redmond.corp.microsoft.com> <255B9BB34FB7D647A506DC292726F6E1125748109A@WSMSG3153V.srv.dir.telstra.com> <191F411E00E19F4E943ECDB6D65C60851691F5A9@TK5EX14MBXC115.redmond.corp.microsoft.com> <255B9BB34FB7D647A506DC292726F6E11257591D3B@WSMSG3153V.srv.dir.telstra.com> <191F411E00E19F4E943ECDB6D65C60851691F645@TK5EX14MBXC115.redmond.corp.microsoft.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 15 Apr 2010 21:41:38 -0700
Received: by 10.140.248.13 with SMTP id v13mr1382635rvh.25.1271392918150; Thu,  15 Apr 2010 21:41:58 -0700 (PDT)
Message-ID: <t2u74caaad21004152141jd7b59fc9v60ea28d0dcaa7e4@mail.gmail.com>
To: Justin Smith <justinsm@microsoft.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 04:42:13 -0000

On Thu, Apr 15, 2010 at 9:31 PM, Justin Smith <justinsm@microsoft.com> wrot=
e:
> Great.
>
>
>
> So, let=92s say there is an Authorization Server available at http://as.c=
om
> and it protects the http://foo.com and http://bar.com resources.
>
>
>
> A client requests =A0http://foo.com. The foo.com server responds with a
> WWW-Auth that contains the http://as.com URI. The client then sends an
> access token request to http://as.com. Is that right?

I think James is suggesting that WWW-Auth will contain something like
http://as.com?scope=3Dfoo.com

If that's the case, the scope is basically a custom parameter.

Also, this assumes that protected resources are simple URLs that can
be fetched. In many cases the protected resource is some API and this
API will require specific scopes depending on the context (actual
user, operation, etc). So a 401 may not be able to specify exactly
what scope is needed. The client programmer will have to understand
the API and provide proper scopes.

Marius

From James.H.Manger@team.telstra.com  Thu Apr 15 21:44:04 2010
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8CD5F3A68D5 for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 21:44:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.409
X-Spam-Level: 
X-Spam-Status: No, score=-0.409 tagged_above=-999 required=5 tests=[AWL=0.491,  BAYES_00=-2.599, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, HTML_MESSAGE=0.001, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TdgfIyMbdkWI for <oauth@core3.amsl.com>; Thu, 15 Apr 2010 21:44:03 -0700 (PDT)
Received: from ipxbno.tcif.telstra.com.au (ipxbno.tcif.telstra.com.au [203.35.82.204]) by core3.amsl.com (Postfix) with ESMTP id 34B363A6804 for <oauth@ietf.org>; Thu, 15 Apr 2010 21:44:02 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.52,217,1270389600"; d="scan'208,217";a="1067743"
Received: from unknown (HELO ipcdni.tcif.telstra.com.au) ([10.97.216.212]) by ipobni.tcif.telstra.com.au with ESMTP; 16 Apr 2010 14:43:51 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,5952"; a="809543"
Received: from wsmsg3704.srv.dir.telstra.com ([172.49.40.197]) by ipcdni.tcif.telstra.com.au with ESMTP; 16 Apr 2010 14:43:51 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by WSMSG3704.srv.dir.telstra.com ([172.49.40.197]) with mapi; Fri, 16 Apr 2010 14:43:50 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: Justin Smith <justinsm@microsoft.com>, OAuth WG <oauth@ietf.org>
Date: Fri, 16 Apr 2010 14:43:48 +1000
Thread-Topic: [OAUTH-WG] Issue: Scope parameter
Thread-Index: AQHK3NEWvq+1OOTFrkS1RWT2flQ40pIkXsgAgAADXwCAAAODAP//ySWwgAAfiRCAACcXIIAAAxeggAAHW5CAAAKQEA==
Message-ID: <255B9BB34FB7D647A506DC292726F6E11257591E3F@WSMSG3153V.srv.dir.telstra.com>
References: <h2o74caaad21004151238w60c3afd3td8dccdd8a7127a4a@mail.gmail.com> <C7ECBC36.32379%eran@hueniverse.com> <191F411E00E19F4E943ECDB6D65C60851691F095@TK5EX14MBXC115.redmond.corp.microsoft.com> <255B9BB34FB7D647A506DC292726F6E1125748109A@WSMSG3153V.srv.dir.telstra.com> <191F411E00E19F4E943ECDB6D65C60851691F5A9@TK5EX14MBXC115.redmond.corp.microsoft.com> <255B9BB34FB7D647A506DC292726F6E11257591D3B@WSMSG3153V.srv.dir.telstra.com> <191F411E00E19F4E943ECDB6D65C60851691F645@TK5EX14MBXC115.redmond.corp.microsoft.com>
In-Reply-To: <191F411E00E19F4E943ECDB6D65C60851691F645@TK5EX14MBXC115.redmond.corp.microsoft.com>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-AU
Content-Type: multipart/alternative; boundary="_000_255B9BB34FB7D647A506DC292726F6E11257591E3FWSMSG3153Vsrv_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 04:44:04 -0000

--_000_255B9BB34FB7D647A506DC292726F6E11257591E3FWSMSG3153Vsrv_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

PiBTbywgbGV04oCZcyBzYXkgdGhlcmUgaXMgYW4gQXV0aG9yaXphdGlvbiBTZXJ2ZXIgYXZhaWxh
YmxlIGF0IGh0dHA6Ly9hcy5jb20gYW5kIGl0IHByb3RlY3RzIHRoZSBodHRwOi8vZm9vLmNvbSBh
bmQgaHR0cDovL2Jhci5jb20gcmVzb3VyY2VzLg0KDQoNCg0KPiBBIGNsaWVudCByZXF1ZXN0cyAg
aHR0cDovL2Zvby5jb20uIFRoZSBmb28uY29tIHNlcnZlciByZXNwb25kcyB3aXRoIGEgV1dXLUF1
dGggdGhhdCBjb250YWlucyB0aGUgaHR0cDovL2FzLmNvbSBVUkkuIFRoZSBjbGllbnQgdGhlbiBz
ZW5kcyBhbiBhY2Nlc3MgdG9rZW4gcmVxdWVzdCB0byBodHRwOi8vYXMuY29tLiBJcyB0aGF0IHJp
Z2h0Pw0KDQoNCg0KPiBJZiBzbywgdGhlbiBob3cgZG9lcyBodHRwOi8vYXMuY29tIGtub3cgdGhh
dCB0aGUgaW50ZW5kZWQgcmVzb3VyY2UgaXMgaHR0cDovL2Zvby5jb20/DQoNCg0KDQoNCg0KRm9v
LmNvbSBzaG91bGQgcG9pbnQgdGhlIGNsaWVudCBhdCwgc2F5LCBodHRwOi8vYXMuY29tL2Zvby8g
b3IgaHR0cDovL2Zvby5hcy5jb20vIG9yIGh0dHA6Ly9hcy5jb20vP3Njb3BlPWZvbyBvciBodHRw
Oi8vYXMuY29tLz9lbmNyeXB0ZWRfcmVzb3VyY2VfaWQ9MjczNjQ4MjY0Mjg3NjQyIG9yIHdoYXRl
dmVyIGl0IGhhcyBhZ3JlZWQgdG8gd2l0aCBpdHMgQVMuDQoNClRoZSBXV1ctQXV0aCByZXNwb25z
ZSBmcm9tIGZvby5jb20gc2hvdWxkIG5vdCBiZSBqdXN0IGh0dHA6Ly9hcy5jb20uDQoNCkZvbyBp
cyBtdWNoIGJldHRlciBwbGFjZWQgdG8ga25vdyBpdCBzaGFyZXMgYXMuY29tIHdpdGggQmFyIHRo
YW4gYSBjbGllbnQgaXMuDQoNCg0KDQotLQ0KDQpKYW1lcyBNYW5nZXINCg0K

--_000_255B9BB34FB7D647A506DC292726F6E11257591E3FWSMSG3153Vsrv_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6eD0idXJuOnNjaGVtYXMtbWljcm9z
b2Z0LWNvbTpvZmZpY2U6ZXhjZWwiIHhtbG5zOnA9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206
b2ZmaWNlOnBvd2VycG9pbnQiIHhtbG5zOmE9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2Zm
aWNlOmFjY2VzcyIgeG1sbnM6ZHQ9InV1aWQ6QzJGNDEwMTAtNjVCMy0xMWQxLUEyOUYtMDBBQTAw
QzE0ODgyIiB4bWxuczpzPSJ1dWlkOkJEQzZFM0YwLTZEQTMtMTFkMS1BMkEzLTAwQUEwMEMxNDg4
MiIgeG1sbnM6cnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206cm93c2V0IiB4bWxuczp6PSIj
Um93c2V0U2NoZW1hIiB4bWxuczpiPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpw
dWJsaXNoZXIiIHhtbG5zOnNzPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpzcHJl
YWRzaGVldCIgeG1sbnM6Yz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6Y29tcG9u
ZW50OnNwcmVhZHNoZWV0IiB4bWxuczpvZGM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2Zm
aWNlOm9kYyIgeG1sbnM6b2E9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOmFjdGl2
YXRpb24iIHhtbG5zOmh0bWw9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAiIHhtbG5z
OnE9Imh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3NvYXAvZW52ZWxvcGUvIiB4bWxuczpydGM9
Imh0dHA6Ly9taWNyb3NvZnQuY29tL29mZmljZW5ldC9jb25mZXJlbmNpbmciIHhtbG5zOkQ9IkRB
VjoiIHhtbG5zOlJlcGw9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vcmVwbC8iIHhtbG5z
Om10PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29hcC9tZWV0aW5n
cy8iIHhtbG5zOngyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9leGNlbC8y
MDAzL3htbCIgeG1sbnM6cHBkYT0iaHR0cDovL3d3dy5wYXNzcG9ydC5jb20vTmFtZVNwYWNlLnhz
ZCIgeG1sbnM6b2lzPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29h
cC9vaXMvIiB4bWxuczpkaXI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2lu
dC9zb2FwL2RpcmVjdG9yeS8iIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3ht
bGRzaWcjIiB4bWxuczpkc3A9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2lu
dC9kc3AiIHhtbG5zOnVkYz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kYXRhL3VkYyIg
eG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6c3ViPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29hcC8yMDAyLzEvYWxlcnRz
LyIgeG1sbnM6ZWM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jIyIgeG1sbnM6c3A9
Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2ludC8iIHhtbG5zOnNwcz0iaHR0
cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9zaGFyZXBvaW50L3NvYXAvIiB4bWxuczp4c2k9Imh0
dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp1ZGNzPSJodHRw
Oi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RhdGEvdWRjL3NvYXAiIHhtbG5zOnVkY3hmPSJodHRw
Oi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RhdGEvdWRjL3htbGZpbGUiIHhtbG5zOnVkY3AycD0i
aHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kYXRhL3VkYy9wYXJ0dG9wYXJ0IiB4bWxuczp3
Zj0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9zaGFyZXBvaW50L3NvYXAvd29ya2Zsb3cv
IiB4bWxuczpkc3NzPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA2L2Rp
Z3NpZy1zZXR1cCIgeG1sbnM6ZHNzaT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZp
Y2UvMjAwNi9kaWdzaWciIHhtbG5zOm1kc3NpPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0
cy5vcmcvcGFja2FnZS8yMDA2L2RpZ2l0YWwtc2lnbmF0dXJlIiB4bWxuczptdmVyPSJodHRwOi8v
c2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvbWFya3VwLWNvbXBhdGliaWxpdHkvMjAwNiIgeG1s
bnM6bT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4
bWxuczptcmVscz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAw
Ni9yZWxhdGlvbnNoaXBzIiB4bWxuczpzcHdwPSJodHRwOi8vbWljcm9zb2Z0LmNvbS9zaGFyZXBv
aW50L3dlYnBhcnRwYWdlcyIgeG1sbnM6ZXgxMnQ9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5j
b20vZXhjaGFuZ2Uvc2VydmljZXMvMjAwNi90eXBlcyIgeG1sbnM6ZXgxMm09Imh0dHA6Ly9zY2hl
bWFzLm1pY3Jvc29mdC5jb20vZXhjaGFuZ2Uvc2VydmljZXMvMjAwNi9tZXNzYWdlcyIgeG1sbnM6
cHB0c2w9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2ludC9zb2FwL1NsaWRl
TGlicmFyeS8iIHhtbG5zOnNwc2w9Imh0dHA6Ly9taWNyb3NvZnQuY29tL3dlYnNlcnZpY2VzL1No
YXJlUG9pbnRQb3J0YWxTZXJ2ZXIvUHVibGlzaGVkTGlua3NTZXJ2aWNlIiB4bWxuczpaPSJ1cm46
c2NoZW1hcy1taWNyb3NvZnQtY29tOiIgeG1sbnM6c3Q9IiYjMTsiIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVu
dC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1ldGEgbmFtZT0i
R2VuZXJhdG9yIiBjb250ZW50PSJNaWNyb3NvZnQgV29yZCAxMiAoZmlsdGVyZWQgbWVkaXVtKSI+
DQo8dGl0bGU+UmU6IFtPQVVUSC1XR10gSXNzdWU6IFNjb3BlIHBhcmFtZXRlcjwvdGl0bGU+DQo8
c3R5bGU+DQo8IS0tDQogLyogRm9udCBEZWZpbml0aW9ucyAqLw0KIEBmb250LWZhY2UNCgl7Zm9u
dC1mYW1pbHk6IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9
DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIg
MiAyIDQgMyAyIDQ7fQ0KIC8qIFN0eWxlIERlZmluaXRpb25zICovDQogcC5Nc29Ob3JtYWwsIGxp
Lk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGNtOw0KCW1hcmdpbi1ib3R0b206
LjAwMDFwdDsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9t
YW4iLCJzZXJpZiI7fQ0KYTpsaW5rLCBzcGFuLk1zb0h5cGVybGluaw0KCXttc28tc3R5bGUtcHJp
b3JpdHk6OTk7DQoJY29sb3I6Ymx1ZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCmE6
dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZA0KCXttc28tc3R5bGUtcHJpb3JpdHk6
OTk7DQoJY29sb3I6cHVycGxlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0Kc3Bhbi5F
bWFpbFN0eWxlMTcNCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWw7DQoJZm9udC1mYW1pbHk6IkNh
bGlicmkiLCJzYW5zLXNlcmlmIjsNCgljb2xvcjojMUY0OTdEO30NCnNwYW4uRW1haWxTdHlsZTE4
DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsOw0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fu
cy1zZXJpZiI7DQoJY29sb3I6IzFGNDk3RDt9DQpzcGFuLkVtYWlsU3R5bGUxOQ0KCXttc28tc3R5
bGUtdHlwZTpwZXJzb25hbDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0K
CWNvbG9yOiMxRjQ5N0Q7fQ0Kc3Bhbi5FbWFpbFN0eWxlMjANCgl7bXNvLXN0eWxlLXR5cGU6cGVy
c29uYWw7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsNCgljb2xvcjojMUY0
OTdEO30NCnNwYW4uRW1haWxTdHlsZTIxDQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsOw0KCWZv
bnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQoJY29sb3I6IzFGNDk3RDt9DQpzcGFu
LkVtYWlsU3R5bGUyMg0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1yZXBseTsNCglmb250LWZh
bWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KCWNvbG9yOiMxRjQ5N0Q7fQ0KLk1zb0NocERl
ZmF1bHQNCgl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1zaXplOjEwLjBwdDt9
DQpAcGFnZSBTZWN0aW9uMQ0KCXtzaXplOjYxMi4wcHQgNzkyLjBwdDsNCgltYXJnaW46NzIuMHB0
IDcyLjBwdCA3Mi4wcHQgNzIuMHB0O30NCmRpdi5TZWN0aW9uMQ0KCXtwYWdlOlNlY3Rpb24xO30N
Ci0tPg0KPC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCiA8bzpzaGFwZWRlZmF1bHRz
IHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtp
ZiBndGUgbXNvIDldPjx4bWw+DQogPG86c2hhcGVsYXlvdXQgdjpleHQ9ImVkaXQiPg0KICA8bzpp
ZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCiA8L286c2hhcGVsYXlvdXQ+PC94bWw+PCFb
ZW5kaWZdLS0+DQo8L2hlYWQ+DQo8Ym9keSBsYW5nPSJFTi1BVSIgbGluaz0iYmx1ZSIgdmxpbms9
InB1cnBsZSI+DQo8ZGl2IGNsYXNzPSJTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNl
cmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPiZndDsNCjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIg
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oywm
cXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ow0KY29sb3I6IzFGNDk3RCI+U28sIGxldOKAmXMgc2F5IHRo
ZXJlIGlzIGFuIEF1dGhvcml6YXRpb24gU2VydmVyIGF2YWlsYWJsZSBhdA0KPGEgaHJlZj0iaHR0
cDovL2FzLmNvbSI+aHR0cDovL2FzLmNvbTwvYT4gYW5kIGl0IHByb3RlY3RzIHRoZSA8YSBocmVm
PSJodHRwOi8vZm9vLmNvbSI+DQpodHRwOi8vZm9vLmNvbTwvYT4gYW5kIDxhIGhyZWY9Imh0dHA6
Ly9iYXIuY29tIj5odHRwOi8vYmFyLmNvbTwvYT4gcmVzb3VyY2VzLjxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPjxz
cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVv
dDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+PG86
cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1h
cmdpbi1sZWZ0OjM2LjBwdCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90
Oztjb2xvcjojMUY0OTdEIj4mZ3Q7DQo8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJm
b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fu
cy1zZXJpZiZxdW90OzsNCmNvbG9yOiMxRjQ5N0QiPkEgY2xpZW50IHJlcXVlc3RzICZuYnNwOzxh
IGhyZWY9Imh0dHA6Ly9mb28uY29tIj5odHRwOi8vZm9vLmNvbTwvYT4uIFRoZSBmb28uY29tIHNl
cnZlciByZXNwb25kcyB3aXRoIGEgV1dXLUF1dGggdGhhdCBjb250YWlucyB0aGUNCjxhIGhyZWY9
Imh0dHA6Ly9hcy5jb20iPmh0dHA6Ly9hcy5jb208L2E+IFVSSS4gVGhlIGNsaWVudCB0aGVuIHNl
bmRzIGFuIGFjY2VzcyB0b2tlbiByZXF1ZXN0IHRvDQo8YSBocmVmPSJodHRwOi8vYXMuY29tIj5o
dHRwOi8vYXMuY29tPC9hPi4gSXMgdGhhdCByaWdodD88bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij48c3BhbiBsYW5n
PSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy
aSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVm
dDozNi4wcHQiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6
IzFGNDk3RCI+Jmd0Ow0KPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYm
cXVvdDs7DQpjb2xvcjojMUY0OTdEIj5JZiBzbywgdGhlbiBob3cgZG9lcw0KPGEgaHJlZj0iaHR0
cDovL2FzLmNvbSI+aHR0cDovL2FzLmNvbTwvYT4ga25vdyB0aGF0IHRoZSBpbnRlbmRlZCByZXNv
dXJjZSBpcyA8YSBocmVmPSJodHRwOi8vZm9vLmNvbSI+DQpodHRwOi8vZm9vLmNvbTwvYT4/IDxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4t
bGVmdDozNi4wcHQiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29s
b3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMx
RjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTom
cXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xvcjojMUY0OTdE
Ij5Gb28uY29tIHNob3VsZCBwb2ludCB0aGUgY2xpZW50IGF0LCBzYXksDQo8YSBocmVmPSJodHRw
Oi8vYXMuY29tL2Zvby8iPmh0dHA6Ly9hcy5jb20vZm9vLzwvYT4gb3IgPGEgaHJlZj0iaHR0cDov
L2Zvby5hcy5jb20vIj4NCmh0dHA6Ly9mb28uYXMuY29tLzwvYT4gb3IgPGEgaHJlZj0iaHR0cDov
L2FzLmNvbS8/c2NvcGU9Zm9vIj5odHRwOi8vYXMuY29tLz9zY29wZT1mb288L2E+IG9yDQo8YSBo
cmVmPSJodHRwOi8vYXMuY29tLz9lbmNyeXB0ZWRfcmVzb3VyY2VfaWQ9MjczNjQ4MjY0Mjg3NjQy
Ij5odHRwOi8vYXMuY29tLz9lbmNyeXB0ZWRfcmVzb3VyY2VfaWQ9MjczNjQ4MjY0Mjg3NjQyPC9h
PiBvciB3aGF0ZXZlciBpdCBoYXMgYWdyZWVkIHRvIHdpdGggaXRzIEFTLjxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3Nh
bnMtc2VyaWYmcXVvdDs7DQpjb2xvcjojMUY0OTdEIj5UaGUgV1dXLUF1dGggcmVzcG9uc2UgZnJv
bSBmb28uY29tIHNob3VsZCBub3QgYmUganVzdA0KPGEgaHJlZj0iaHR0cDovL2FzLmNvbSI+aHR0
cDovL2FzLmNvbTwvYT4uPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5
OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMxRjQ5
N0QiPkZvbyBpcyBtdWNoIGJldHRlciBwbGFjZWQgdG8ga25vdyBpdCBzaGFyZXMgYXMuY29tIHdp
dGggQmFyIHRoYW4gYSBjbGllbnQgaXMuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNv
bG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xvcjoj
MUY0OTdEIj4tLTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz
cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVv
dDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xvcjojMUY0OTdEIj5K
YW1lcyBNYW5nZXI8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRt
bD4NCg==

--_000_255B9BB34FB7D647A506DC292726F6E11257591E3FWSMSG3153Vsrv_--

From mark.mcgloin@ie.ibm.com  Fri Apr 16 02:08:34 2010
Return-Path: <mark.mcgloin@ie.ibm.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C2AF23A6841 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 02:08:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.67
X-Spam-Level: 
X-Spam-Status: No, score=-3.67 tagged_above=-999 required=5 tests=[AWL=2.929,  BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1cmYANaTdP+n for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 02:08:34 -0700 (PDT)
Received: from mtagate2.uk.ibm.com (mtagate2.uk.ibm.com [194.196.100.162]) by core3.amsl.com (Postfix) with ESMTP id 61ADF3A684F for <oauth@ietf.org>; Fri, 16 Apr 2010 02:08:25 -0700 (PDT)
Received: from d06nrmr1307.portsmouth.uk.ibm.com (d06nrmr1307.portsmouth.uk.ibm.com [9.149.38.129]) by mtagate2.uk.ibm.com (8.13.1/8.13.1) with ESMTP id o3G98HmG027032 for <oauth@ietf.org>; Fri, 16 Apr 2010 09:08:17 GMT
Received: from d06av06.portsmouth.uk.ibm.com (d06av06.portsmouth.uk.ibm.com [9.149.37.217]) by d06nrmr1307.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id o3G98Hhg1523918 for <oauth@ietf.org>; Fri, 16 Apr 2010 10:08:17 +0100
Received: from d06av06.portsmouth.uk.ibm.com (loopback [127.0.0.1]) by d06av06.portsmouth.uk.ibm.com (8.14.3/8.13.1/NCO v10.0 AVout) with ESMTP id o3G98G6h028228 for <oauth@ietf.org>; Fri, 16 Apr 2010 03:08:16 -0600
Received: from d06ml901.portsmouth.uk.ibm.com (d06ml901.portsmouth.uk.ibm.com [9.149.39.138]) by d06av06.portsmouth.uk.ibm.com (8.14.3/8.13.1/NCO v10.0 AVin) with ESMTP id o3G98Gc3028225; Fri, 16 Apr 2010 03:08:16 -0600
In-Reply-To: <t2l74caaad21004151015u6df682d1u89ef34f2586119c8@mail.gmail.com>
To: Marius Scurtescu <mscurtescu@google.com>
X-Mailer: Lotus Notes Release 7.0 HF400 February 20, 2008
Message-ID: <OF8FB2E78C.D5A64814-ON80257707.003187CC-80257707.003230EB@ie.ibm.com>
From: Mark Mcgloin <mark.mcgloin@ie.ibm.com>
Date: Fri, 16 Apr 2010 10:08:14 +0100
X-MIMETrack: Serialize by Router on D06ML901/06/M/IBM(Release 8.0.2FP2|June 22, 2009) at 16/04/2010 10:08:15
MIME-Version: 1.0
Content-type: text/plain; charset=US-ASCII
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 09:08:34 -0000

My point though is why remove the Native app flow and then replace it with
something that relies on having to warn the user about possible phishing
attacks in your UI, like FlickR does. I would find it difficult to get that
approved here in IBM

I must look again at Luke Sheppard's suggestion for combining Native app
flow with UA flow as that seems a better solution

Mark

On 15/04/2010 18:15, Marius Scurtescu <mscurtescu@google.com> wrote:

>> What is the benefit in combining Native flow and Device flow and then
>> having to expend effort preventing any ingenious phishing attacks?

>The main issue with the Native flow is how is the client getting hold
>of the verification code. There are several solutions for that
>(embedded browser, custom scheme and handler app, launching browser
>process and checking window title), but all are hackish.

>The Device flow relies on the client polling the authz server and
>retrieving the tokens directly. This closes the loop nicely.





From mark.mcgloin@ie.ibm.com  Fri Apr 16 06:40:33 2010
Return-Path: <mark.mcgloin@ie.ibm.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 708AE3A6AD2; Fri, 16 Apr 2010 06:40:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.114
X-Spam-Level: 
X-Spam-Status: No, score=-3.114 tagged_above=-999 required=5 tests=[AWL=-0.556, BAYES_00=-2.599, MIME_BASE64_BLANKS=0.041]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2+Yv9nwRk6uT; Fri, 16 Apr 2010 06:40:31 -0700 (PDT)
Received: from mtagate4.uk.ibm.com (mtagate4.uk.ibm.com [194.196.100.164]) by core3.amsl.com (Postfix) with ESMTP id 7F9EA3A68EA; Fri, 16 Apr 2010 06:33:55 -0700 (PDT)
Received: from d06nrmr1806.portsmouth.uk.ibm.com (d06nrmr1806.portsmouth.uk.ibm.com [9.149.39.193]) by mtagate4.uk.ibm.com (8.13.1/8.13.1) with ESMTP id o3GDXkYE017409; Fri, 16 Apr 2010 13:33:46 GMT
Received: from d06av06.portsmouth.uk.ibm.com (d06av06.portsmouth.uk.ibm.com [9.149.37.217]) by d06nrmr1806.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id o3GDXcci1245424; Fri, 16 Apr 2010 14:33:46 +0100
Received: from d06av06.portsmouth.uk.ibm.com (loopback [127.0.0.1]) by d06av06.portsmouth.uk.ibm.com (8.14.3/8.13.1/NCO v10.0 AVout) with ESMTP id o3GDXcq5015797; Fri, 16 Apr 2010 07:33:38 -0600
Received: from d06ml901.portsmouth.uk.ibm.com (d06ml901.portsmouth.uk.ibm.com [9.149.39.138]) by d06av06.portsmouth.uk.ibm.com (8.14.3/8.13.1/NCO v10.0 AVin) with ESMTP id o3GDXcHI015786; Fri, 16 Apr 2010 07:33:38 -0600
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E11257591E3F@WSMSG3153V.srv.dir.telstra.com>
To: "Manger, James H" <James.H.Manger@team.telstra.com>
X-Mailer: Lotus Notes Release 7.0 HF400 February 20, 2008
Message-ID: <OF70542F9E.35EC96CC-ON80257707.003656F0-80257707.004A7B66@ie.ibm.com>
From: Mark Mcgloin <mark.mcgloin@ie.ibm.com>
Date: Fri, 16 Apr 2010 14:33:33 +0100
X-MIMETrack: Serialize by Router on D06ML901/06/M/IBM(Release 8.0.2FP2|June 22, 2009) at 16/04/2010 14:33:38
MIME-Version: 1.0
Content-type: text/plain; charset=UTF-8
Content-transfer-encoding: base64
Cc: OAuth WG <oauth@ietf.org>, oauth-bounces@ietf.org
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 13:40:33 -0000

SSBrbm93IHdlIHdpbGwgY29udHJvbCBzY29wZSBzZXJ2ZXIgc2lkZSBiYXNlZCBvbiB0aGUgY2Fs
bGluZyBjbGllbnQNCg0KIEkgY2FuIHNlZSB3aHkgb3RoZXJzIG1heSB3YW50IHRvIGhhdmUgYSBz
Y29wZSBwYXJhbWV0ZXIgdGhvdWdoIHRvIGFsbG93IGENCmNsaWVudCBhcHAgdG8gZGVjcmVhc2Ug
dGhlIHNjb3BlIHRoZXkgcmVxdWVzdCAoYXNzdW1pbmcgc2hvcnQgZHVyYXRpb24NCmFjY2Vzcyks
IGUuZy4gY2xpZW50IGFwcCBpcyBlbnRpdGxlZCB0byByZXF1ZXN0IGNvbnRhY3RzIGFuZCBmaWxl
cyBiYXNlZCBvbg0KdGhlaXIgY2xpZW50IGlkZW50aWZpZXIgYnV0IHRoZXkgb25seSByZXF1ZXN0
IGNvbnRhY3RzIGZvciBzb21lIG9wZXJhdGlvbiwNCmFuZCB0aGUgdXNlciBmZWVscyBtb3JlIHNl
Y3VyZS4gSXMgdGhpcyB0aGUgbWFpbiByZWFzb24gZm9yIHNjb3BlPw0KDQpKYW1lcywgaG93IGRv
ZXMgeW91ciBwcm9wb3NhbCB3b3JrIGlmIHRoZSBjbGllbnQgbmVlZHMgYWNjZXNzIHRvIG1vcmUg
dGhhbg0Kb25lIHNldCBvZiByZXNvdXJjZXM/DQoNCg0KTWFyayBNY0dsb2luDQoNCg0KDQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICANCiAgICAgICAgICAgICAiTWFuZ2VyLCBKYW1lcyBIIiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgIDxKYW1lcy5I
Lk1hbmdlckB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQog
ICAgICAgICAgICAgZWFtLnRlbHN0cmEuY29tPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICBTZW50IGJ5OiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgIG9hdXRo
LWJvdW5jZXNAaWV0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
DQogICAgICAgICAgICAgZi5vcmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgDQogICAgICAgICAgICAgMTYvMDQvMjAxMCAwNTo0MyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KDQoNCg0KDQogICAg
ICA+IFNvLCBsZXTigJlzIHNheSB0aGVyZSBpcyBhbiBBdXRob3JpemF0aW9uIFNlcnZlciBhdmFp
bGFibGUgYXQNCiAgICAgIGh0dHA6Ly9hcy5jb20gYW5kIGl0IHByb3RlY3RzIHRoZSBodHRwOi8v
Zm9vLmNvbSBhbmQgaHR0cDovL2Jhci5jb20NCiAgICAgIHJlc291cmNlcy4NCg0KICAgICAgPiBB
IGNsaWVudCByZXF1ZXN0cyAgaHR0cDovL2Zvby5jb20uIFRoZSBmb28uY29tIHNlcnZlciByZXNw
b25kcyB3aXRoDQogICAgICBhIFdXVy1BdXRoIHRoYXQgY29udGFpbnMgdGhlIGh0dHA6Ly9hcy5j
b20gVVJJLiBUaGUgY2xpZW50IHRoZW4gc2VuZHMNCiAgICAgIGFuIGFjY2VzcyB0b2tlbiByZXF1
ZXN0IHRvIGh0dHA6Ly9hcy5jb20uIElzIHRoYXQgcmlnaHQ/DQoNCiAgICAgID4gSWYgc28sIHRo
ZW4gaG93IGRvZXMgaHR0cDovL2FzLmNvbSBrbm93IHRoYXQgdGhlIGludGVuZGVkIHJlc291cmNl
DQogICAgICBpcyBodHRwOi8vZm9vLmNvbT8NCg0KDQpGb28uY29tIHNob3VsZCBwb2ludCB0aGUg
Y2xpZW50IGF0LCBzYXksIGh0dHA6Ly9hcy5jb20vZm9vLyBvcg0KaHR0cDovL2Zvby5hcy5jb20v
IG9yIGh0dHA6Ly9hcy5jb20vP3Njb3BlPWZvbyBvcg0KaHR0cDovL2FzLmNvbS8/ZW5jcnlwdGVk
X3Jlc291cmNlX2lkPTI3MzY0ODI2NDI4NzY0MiBvciB3aGF0ZXZlciBpdCBoYXMNCmFncmVlZCB0
byB3aXRoIGl0cyBBUy4NClRoZSBXV1ctQXV0aCByZXNwb25zZSBmcm9tIGZvby5jb20gc2hvdWxk
IG5vdCBiZSBqdXN0IGh0dHA6Ly9hcy5jb20uDQpGb28gaXMgbXVjaCBiZXR0ZXIgcGxhY2VkIHRv
IGtub3cgaXQgc2hhcmVzIGFzLmNvbSB3aXRoIEJhciB0aGFuIGEgY2xpZW50DQppcy4NCg0KLS0N
CkphbWVzIE1hbmdlcl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fDQpPQXV0aCBtYWlsaW5nIGxpc3QNCk9BdXRoQGlldGYub3JnDQpodHRwczovL3d3dy5pZXRm
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL29hdXRoDQo=



From James.H.Manger@team.telstra.com  Fri Apr 16 06:58:33 2010
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0A16828C151 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 06:58:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.736
X-Spam-Level: 
X-Spam-Status: No, score=0.736 tagged_above=-999 required=5 tests=[AWL=-0.777,  BAYES_40=-0.185, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4S8MqHg4cLPI for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 06:58:32 -0700 (PDT)
Received: from ipxcvo.tcif.telstra.com.au (ipxcvo.tcif.telstra.com.au [203.35.135.208]) by core3.amsl.com (Postfix) with ESMTP id D23A33A6C4F for <oauth@ietf.org>; Fri, 16 Apr 2010 06:54:39 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.52,219,1270389600";  d="scan'208";a="1243121"
Received: from unknown (HELO ipcdvi.tcif.telstra.com.au) ([10.97.217.212]) by ipocvi.tcif.telstra.com.au with ESMTP; 16 Apr 2010 23:54:31 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,5952"; a="800195"
Received: from wsmsg3701.srv.dir.telstra.com ([172.49.40.169]) by ipcdvi.tcif.telstra.com.au with ESMTP; 16 Apr 2010 23:54:32 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by WSMSG3701.srv.dir.telstra.com ([172.49.40.169]) with mapi; Fri, 16 Apr 2010 23:54:31 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: Mark Mcgloin <mark.mcgloin@ie.ibm.com>, OAuth WG <oauth@ietf.org>
Date: Fri, 16 Apr 2010 23:54:29 +1000
Thread-Topic: [OAUTH-WG] Issue: Scope parameter
Thread-Index: AcrdaXa9LgztGtXQSgCHbQtfbIzDcAAAGYeg
Message-ID: <255B9BB34FB7D647A506DC292726F6E112575922E6@WSMSG3153V.srv.dir.telstra.com>
References: <255B9BB34FB7D647A506DC292726F6E11257591E3F@WSMSG3153V.srv.dir.telstra.com> <OF70542F9E.35EC96CC-ON80257707.003656F0-80257707.004A7B66@ie.ibm.com>
In-Reply-To: <OF70542F9E.35EC96CC-ON80257707.003656F0-80257707.004A7B66@ie.ibm.com>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-AU
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 13:58:33 -0000

TWFyaywNCg0KPiBKYW1lcywgaG93IGRvZXMgeW91ciBwcm9wb3NhbCB3b3JrIGlmIHRoZSBjbGll
bnQgbmVlZHMgYWNjZXNzDQo+IHRvIG1vcmUgdGhhbiBvbmUgc2V0IG9mIHJlc291cmNlcz8NCg0K
SSB0aGluayBhIGNsaWVudCBhcHAgd2lsbCBuZWVkIHNlcnZpY2Utc3BlY2lmaWMga25vd2xlZGdl
IHRvIHJlYWxpc2UgaXQgbmVlZHMgYWNjZXNzIHRvIG1vcmUgdGhhbiBvbmUgc2V0IG9mIHJlc291
cmNlcyAoaWUgdGhlIGFwcCBuZWVkcyB0byBrbm93IGhvdyB0aGUgc2VydmljZSBkaXZpZGVzIHJl
c291cmNlcyBpbnRvIHNldHMpLiBUaGF0IHNlcnZpY2Utc3BlY2lmaWMga25vd2xlZGdlIG1heSBh
cyB3ZWxsIGluY2x1ZGUgdGhlIHNlcnZpY2Utc3BlY2lmaWMgYXV0aHogVVJJcyBmb3IgcmVxdWVz
dGluZyBhY2Nlc3MgdG8gbXVsdGlwbGUgc2V0cyBvZiByZXNvdXJjZXMuIGh0dHA6Ly9hcy5jb20v
Zm9vLGJhci8sIGZvciBpbnN0YW5jZS4NCg0KSWYgYSBjbGllbnQgd2l0aCBhIHRva2VuIGZvciBv
bmUgc2NvcGUgdHJpZXMgdG8gYWNjZXNzZXMgYSByZXNvdXJjZSBpbiBhIHNlY29uZCBzY29wZSwg
dGhlIDQwMSByZXNwb25zZSBjb3VsZCBpbmNsdWRlIGFuIGF1dGh6IFVSSSBpbmRpY2F0aW5nIGJv
dGggc2NvcGVzLg0KDQoNCi0tIA0KSmFtZXMgTWFuZ2VyDQoNCg==

From jricher@mitre.org  Fri Apr 16 07:05:01 2010
Return-Path: <jricher@mitre.org>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 035CB3A6954 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 07:05:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.999
X-Spam-Level: 
X-Spam-Status: No, score=-3.999 tagged_above=-999 required=5 tests=[BAYES_50=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XBqAHHLluZUQ for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 07:05:00 -0700 (PDT)
Received: from smtp-bedford.mitre.org (smtp-bedford.mitre.org [129.83.20.191]) by core3.amsl.com (Postfix) with ESMTP id CC3D83A6BA7 for <oauth@ietf.org>; Fri, 16 Apr 2010 07:01:49 -0700 (PDT)
Received: from smtp-bedford.mitre.org (localhost.localdomain [127.0.0.1]) by smtp-bedford.mitre.org (8.13.1/8.13.1) with ESMTP id o3GE1gRh016823 for <oauth@ietf.org>; Fri, 16 Apr 2010 10:01:42 -0400
Received: from imchub1.MITRE.ORG (imchub1.mitre.org [129.83.29.73]) by smtp-bedford.mitre.org (8.13.1/8.13.1) with ESMTP id o3GE1gfJ016816;  Fri, 16 Apr 2010 10:01:42 -0400
Received: from [129.83.50.65] (129.83.50.65) by imchub1.MITRE.ORG (129.83.29.73) with Microsoft SMTP Server id 8.2.213.0; Fri, 16 Apr 2010 10:01:41 -0400
From: Justin Richer <jricher@mitre.org>
To: "Manger, James H" <James.H.Manger@team.telstra.com>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E11257481003@WSMSG3153V.srv.dir.telstra.com>
References: <C7ECABE0.32344%eran@hueniverse.com> <255B9BB34FB7D647A506DC292726F6E11257481003@WSMSG3153V.srv.dir.telstra.com>
Content-Type: text/plain; charset="UTF-8"
Date: Fri, 16 Apr 2010 10:01:41 -0400
Message-ID: <1271426501.12417.1475.camel@localhost.localdomain>
MIME-Version: 1.0
X-Mailer: Evolution 2.28.1 
Content-Transfer-Encoding: 7bit
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Split the authorization endpoint into	two endpoints
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 14:05:01 -0000

I favor this approach as well. It feels cleaner to me to have a
separation of purposes here. The two endpoints could always be collapsed
in a particular implementation -- I've seen several OAuth 1.0
implementations that do just this, using a URL parameter to
differentiate between the request, access, and authorization endpoints. 

Having them available separately makes it easier to have different
authentication mechanisms to the endpoints themselves, as well. The
authorization endpoint is (generally) user-credential protected, but the
token endpoint will be authenticated differently depending on which
flows are supported. However, I will say that in most webapp systems,
you can always have the OAuth endpoint forward internally to another
endpoint if user authentication is necessary, so this argument may not
hold up in practical deployment.

Downside is that it does make discovery a little trickier, but discovery
is admittedly outside the scope of this protocol.

 -- justin

On Thu, 2010-04-15 at 21:22 -0400, Manger, James H wrote:
> I strongly favour specifying 2 separate endpoints: one for where to redirect a user, another for direct client calls.
> 
> I agree with Marius that these two endpoints are different enough to be separate.
> One is only used by users via browsers. The other is only used by client apps. These are different populations, using different authentication mechanisms, with different performance requirements, and different technologies.
> 
> The use of a type parameter is a poor tool to distinguishes these cases.
> 
> I guess 1 URI could default to the other if not defined.
> 1 URI could be allowed to be relative to the other to save some bytes.
> 



From James.H.Manger@team.telstra.com  Fri Apr 16 07:34:39 2010
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 363E53A683A for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 07:34:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.916
X-Spam-Level: 
X-Spam-Status: No, score=0.916 tagged_above=-999 required=5 tests=[AWL=-0.784,  BAYES_50=0.001, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, HTML_MESSAGE=0.001, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jYvABK08BjI3 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 07:34:37 -0700 (PDT)
Received: from ipxavo.tcif.telstra.com.au (ipxavo.tcif.telstra.com.au [203.35.135.200]) by core3.amsl.com (Postfix) with ESMTP id 2E2723A68FE for <oauth@ietf.org>; Fri, 16 Apr 2010 07:33:39 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.52,219,1270389600"; d="scan'208,217";a="1115648"
Received: from unknown (HELO ipcdvi.tcif.telstra.com.au) ([10.97.217.212]) by ipoavi.tcif.telstra.com.au with ESMTP; 17 Apr 2010 00:33:32 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,5953"; a="800584"
Received: from wsmsg3702.srv.dir.telstra.com ([172.49.40.170]) by ipcdvi.tcif.telstra.com.au with ESMTP; 17 Apr 2010 00:33:32 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by WSMSG3702.srv.dir.telstra.com ([172.49.40.170]) with mapi; Sat, 17 Apr 2010 00:33:31 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: OAuth WG <oauth@ietf.org>
Date: Sat, 17 Apr 2010 00:33:30 +1000
Thread-Topic: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy: {templates}
Thread-Index: AcrdBcVO3y17kyTgSVSlO2F1ttCCcgAYhTLA
Message-ID: <255B9BB34FB7D647A506DC292726F6E112575922E7@WSMSG3153V.srv.dir.telstra.com>
References: <m2t74caaad21004151236h6df241a2k6b18c788b300cca6@mail.gmail.com> <C7ECBAA3.32376%eran@hueniverse.com> <u2u74caaad21004151831jaf0a29e2ga84c36d4456dc87f@mail.gmail.com> <q2oc8689b661004151839uc165b35aqfe5d1fd48917dc8c@mail.gmail.com>
In-Reply-To: <q2oc8689b661004151839uc165b35aqfe5d1fd48917dc8c@mail.gmail.com>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-AU
Content-Type: multipart/alternative; boundary="_000_255B9BB34FB7D647A506DC292726F6E112575922E7WSMSG3153Vsrv_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy: {templates}
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 14:34:39 -0000

--_000_255B9BB34FB7D647A506DC292726F6E112575922E7WSMSG3153Vsrv_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

QSBwYXJ0aWFsIHNvbHV0aW9uIHRvIGNvbGxpZGluZyBwYXJhbWV0ZXIgbmFtZXMgYW5kIGxvbmcg
VVJJUyB3b3VsZCBiZSB0byB1c2UgVVJJIHRlbXBsYXRlcy4NCg0KDQoNCkZvciBpbnN0YW5jZSwg
aW4gYSA0MDEgcmVzcG9uc2Ugd2hlbiBhIGNsaWVudCBhcHAgdHJpZXMgdG8gYWNjZXNzIGEgcHJv
dGVjdGVkIHJlc291cmNlLCBpbnN0ZWFkIG9mIGFuIGF1dGh6IFVSSSwgcmV0dXJuIGEgdGVtcGxh
dGUgZm9yIGFuIGF1dGh6IFVSSS4gVGhlIHRlbXBsYXRlIHdvdWxkIGluY2x1ZGUgT0F1dGggZmll
bGQgbmFtZXMgaW4gc3F1aWdnbHkgYnJhY2tldHMsIHRvIGJlIHJlcGxhY2VkIGJ5IHRoZSBmaWVs
ZOKAmXMgdmFsdWUgd2hlbiBidWlsZGluZyBhbiBhY3R1YWwgYXV0aHogVVJJLiBUaGUgdGVtcGxh
dGUgY291bGQgYWxzbyBiZSBwcm92aWRlZCBpbiBkb2N1bWVudGF0aW9uLg0KDQoNCg0KRXhhbXBs
ZToNCg0KQzwtUyA0MDENCg0KICAgICAgICBXV1ctQXV0aGVudGljYXRlOiBPQXV0aCB1PeKAnWh0
dHA6Ly9hcy5jb20ve3R5cGV9L3tjbGllbnRfaWR9P2NiPXtjYWxsYmFja30mbm9fdWk9e2ltbWVk
aWF0ZX0mb2U9dXRmLTjigJ0NCg0KDQoNClRoZXJlIGFyZSBhIGNvdXBsZSBvZiBiZW5lZml0czoN
Cg0KDQoNCjEuIFRoZSBwYXJ0cyBvZiB0aGUgdGVtcGxhdGUgb3V0c2lkZSB0aGUge+KApn0gcGxh
Y2Vob2xkZXJzIGNhbiBiZSBjaG9zZW4gaG93ZXZlciB0aGUgc2VydmljZSB3YW50cy4gVGhlcmUg
aXMgbm8gd29ycnkgYWJvdXQgY2xhc2hlcyBiZXR3ZWVuIHByb3ByaWV0YXJ5IHF1ZXJ5IHBhcmFt
cyAobGlrZSDigJxvZT11dGY9OOKAnSBhYm92ZSkgYW5kIE9BdXRoIGZpZWxkcy4gVGhlcmUgaXMg
bm8gbmVlZCBmb3IgdGhlIHJlc3RyaWN0aW9ucyBvbiBVUkkgdGhhdCBhcmUgaW4gdGhlIGN1cnJl
bnQgZHJhZnQuDQoNCg0KDQoyLiBUaGUgY29uc3RydWN0ZWQgVVJJIHdpbGwgYmUgc2hvcnRlciBh
cyBpdCBkb2VzbuKAmXQgaGF2ZSB0byBpbmNsdWRlIHRoZSBPQXV0aCBmaWVsZCBuYW1lcywganVz
dCB0aGVpciB2YWx1ZXMuIFRoZSBmaWVsZCBuYW1lcyBjb3VsZCBpbmNsdWRlIGFuIG9hdXRoXyBw
cmVmaXggd2l0aG91dCBhZmZlY3RpbmcgVVJJIHNpemVzLiBUaGUgdGVtcGxhdGUgaXRzZWxmIHdp
bGwgYmUgbG9uZ2VyIHRoYW4gYSBiYXNlIGF1dGh6IFVSSSB0byB3aGljaCBxdWVyeSBwYXJhbXMg
YXJlIGFkZGVkLCBidXQgdGhhdCBpcyBhIGxlc3MgaW1wb3J0YW50IGlzc3VlLg0KDQoNCg0KMy4g
SXQgcHJvdmlkZXMgYSBsaXR0bGUgYml0IG9mIGRpc2NvdmVyeSBhdXRvbWF0aWNhbGx5LiBUaGUg
ZmllbGQgbmFtZXMgdGhhdCBhcHBlYXIgaW4gcGxhY2Vob2xkZXJzIChvciB0aGVpciBhYnNlbmNl
KSB0ZWxsIHRoZSBjbGllbnQgYXBwIHdoaWNoIGZlYXR1cmVzIGFyZSAob3IgYXJlIG5vdCkgc3Vw
cG9ydGVkLiBGb3IgaW5zdGFuY2UsIHRoZSBleGFtcGxlIGFib3ZlIHNob3dzIHRoYXQgdGhlIHNl
cnZpY2Ugc3VwcG9ydHMgdGhlIOKAnGltbWVkaWF0ZeKAnSBtb2RlLCBvdGhlcndpc2UgaXQgd291
bGRu4oCZdCBpbmNsdWRlIHRoZSB7aW1tZWRpYXRlfSBwbGFjZWhvbGRlci4gVGhpcyBtYXkgYmUg
ZW5vdWdoIGZvciBtb3N0IGZlYXR1cmUgbmVnb3RpYXRpb24gbmVlZHMuDQoNCg0KDQpUaGVyZSBh
cmUgZGlzYWR2YW50YWdlczoNCg0KDQoNCi0xLiBUZW1wbGF0ZXMgYXJlIGEgbW9yZSBjb21wbGlj
YXRlZCB0aGFuIGFsd2F5cyB1c2luZyBxdWVyeSBwYXJhbWV0ZXJzLiBKdXN0IHtuYW1lfSBhZGRz
IGEgbGl0dGxlIGNvbXBsZXhpdHkuIEEgbW9yZSBmbGV4aWJsZSBwbGFjZWhvbGRlciBzeW50YXgg
YmVpbmcgdmVyeSBzbG93bHkgc3BlY2VkIGJ5IHRoZSBXM0MgKGVnIHdpdGggZGVmYXVsdHMpIGFk
ZHMgbW9yZSBjb21wbGV4aXR5IC0tIGJ1dCBkb2VzbuKAmXQgaGF2ZSB0byBiZSBhZG9wdGVkIGhl
cmUuDQoNCg0KDQpXaXRoIHRoaXMgcHJvcG9zYWwgdGhlIHtjYWxsYmFja30gcGxhY2Vob2xkZXIg
aW4gdGhlIGF1dGh6IHRlbXBsYXRlIHdvdWxkIGJlIGZpbGxlZCBieSBhIGNsaWVudCB3aXRoIGl0
cyBvd24gdGVtcGxhdGUsIHdpdGggYSBwbGFjZWhvbGRlciBmb3IgdGhlIGF1dGggY29kZS4NCg0K
DQoNCkEgc2VydmljZSBjb3VsZCBzdGlsbCBpbnRyb2R1Y2UgaXRzIG93biBwbGFjZWhvbGRlciBm
aWVsZCB0aGF0IGNsYXNoZWQgd2l0aCBhIHN1YnNlcXVlbnQgT0F1dGggZGVmaW5pdGlvbi4gSSB0
aGluayB0aGF0IGlzIGxlc3Mgb2YgYSBjb25jZXJuLg0KDQoNCg0KLS0NCg0KSmFtZXMgTWFuZ2Vy
DQoNCg0KDQo=

--_000_255B9BB34FB7D647A506DC292726F6E112575922E7WSMSG3153Vsrv_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTIgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
Pg0KPCEtLQ0KIC8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCiBAZm9udC1mYWNlDQoJe2ZvbnQtZmFt
aWx5OiJDYW1icmlhIE1hdGgiOw0KCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQ0KQGZv
bnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0
IDMgMiA0O30NCiAvKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KIHAuTXNvTm9ybWFsLCBsaS5Nc29O
b3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4wMDAx
cHQ7DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIiwi
c2VyaWYiO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5
Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQphOnZpc2l0
ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0K
CWNvbG9yOnB1cnBsZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCnNwYW4uRW1haWxT
dHlsZTE3DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJD
YWxpYnJpIiwic2Fucy1zZXJpZiI7DQoJY29sb3I6IzFGNDk3RDt9DQouTXNvQ2hwRGVmYXVsdA0K
CXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTt9DQpAcGFnZSBTZWN0aW9uMQ0KCXtzaXplOjYx
Mi4wcHQgNzkyLjBwdDsNCgltYXJnaW46NzIuMHB0IDcyLjBwdCA3Mi4wcHQgNzIuMHB0O30NCmRp
di5TZWN0aW9uMQ0KCXtwYWdlOlNlY3Rpb24xO30NCi0tPg0KPC9zdHlsZT48IS0tW2lmIGd0ZSBt
c28gOV0+PHhtbD4NCiA8bzpzaGFwZWRlZmF1bHRzIHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2
IiAvPg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQogPG86c2hh
cGVsYXlvdXQgdjpleHQ9ImVkaXQiPg0KICA8bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIg
Lz4NCiA8L286c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5kaWZdLS0+DQo8L2hlYWQ+DQo8Ym9keSBs
YW5nPSJFTi1BVSIgbGluaz0iYmx1ZSIgdmxpbms9InB1cnBsZSI+DQo8ZGl2IGNsYXNzPSJTZWN0
aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7
DQpjb2xvcjojMUY0OTdEIj5BIHBhcnRpYWwgc29sdXRpb24gdG8gY29sbGlkaW5nIHBhcmFtZXRl
ciBuYW1lcyBhbmQgbG9uZyBVUklTIHdvdWxkIGJlIHRvIHVzZSBVUkkgdGVtcGxhdGVzLjxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1z
ZXJpZiZxdW90OzsNCmNvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9y
OiMxRjQ5N0QiPkZvciBpbnN0YW5jZSwgaW4gYSA0MDEgcmVzcG9uc2Ugd2hlbiBhIGNsaWVudCBh
cHAgdHJpZXMgdG8gYWNjZXNzIGEgcHJvdGVjdGVkIHJlc291cmNlLCBpbnN0ZWFkIG9mIGFuIGF1
dGh6IFVSSSwgcmV0dXJuIGEgdGVtcGxhdGUgZm9yIGFuIGF1dGh6IFVSSS4gVGhlIHRlbXBsYXRl
DQogd291bGQgaW5jbHVkZSBPQXV0aCBmaWVsZCBuYW1lcyBpbiBzcXVpZ2dseSBicmFja2V0cywg
dG8gYmUgcmVwbGFjZWQgYnkgdGhlIGZpZWxk4oCZcyB2YWx1ZSB3aGVuIGJ1aWxkaW5nIGFuIGFj
dHVhbCBhdXRoeiBVUkkuIFRoZSB0ZW1wbGF0ZSBjb3VsZCBhbHNvIGJlIHByb3ZpZGVkIGluIGRv
Y3VtZW50YXRpb24uPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ow0KY29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNl
cmlmJnF1b3Q7Ow0KY29sb3I6IzFGNDk3RCI+RXhhbXBsZTo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xv
cjojMUY0OTdEIj5DJmx0Oy1TIDQwMTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90
O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMxRjQ5N0QiPiZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBXV1ctQXV0aGVudGljYXRl
OiBPQXV0aCB1PeKAnWh0dHA6Ly9hcy5jb20ve3R5cGV9L3tjbGllbnRfaWR9P2NiPXtjYWxsYmFj
a30mYW1wO25vX3VpPXtpbW1lZGlhdGV9JmFtcDtvZT11dGYtOOKAnTxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsN
CmNvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90
O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMxRjQ5N0QiPlRo
ZXJlIGFyZSBhIGNvdXBsZSBvZiBiZW5lZml0czo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls
eTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xvcjojMUY0
OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1
b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xvcjojMUY0OTdEIj4xLiBUaGUgcGFydHMg
b2YgdGhlIHRlbXBsYXRlIG91dHNpZGUgdGhlIHvigKZ9IHBsYWNlaG9sZGVycyBjYW4gYmUgY2hv
c2VuIGhvd2V2ZXIgdGhlIHNlcnZpY2Ugd2FudHMuIFRoZXJlIGlzIG5vIHdvcnJ5IGFib3V0IGNs
YXNoZXMgYmV0d2VlbiBwcm9wcmlldGFyeSBxdWVyeQ0KIHBhcmFtcyAobGlrZSDigJxvZT11dGY9
OOKAnSBhYm92ZSkgYW5kIE9BdXRoIGZpZWxkcy4gVGhlcmUgaXMgbm8gbmVlZCBmb3IgdGhlIHJl
c3RyaWN0aW9ucyBvbiBVUkkgdGhhdCBhcmUgaW4gdGhlIGN1cnJlbnQgZHJhZnQuPG86cD48L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlm
JnF1b3Q7Ow0KY29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ow0KY29sb3I6IzFG
NDk3RCI+Mi4gVGhlIGNvbnN0cnVjdGVkIFVSSSB3aWxsIGJlIHNob3J0ZXIgYXMgaXQgZG9lc27i
gJl0IGhhdmUgdG8gaW5jbHVkZSB0aGUgT0F1dGggZmllbGQgbmFtZXMsIGp1c3QgdGhlaXIgdmFs
dWVzLiBUaGUgZmllbGQgbmFtZXMgY291bGQgaW5jbHVkZSBhbiBvYXV0aF8gcHJlZml4DQogd2l0
aG91dCBhZmZlY3RpbmcgVVJJIHNpemVzLiBUaGUgdGVtcGxhdGUgaXRzZWxmIHdpbGwgYmUgbG9u
Z2VyIHRoYW4gYSBiYXNlIGF1dGh6IFVSSSB0byB3aGljaCBxdWVyeSBwYXJhbXMgYXJlIGFkZGVk
LCBidXQgdGhhdCBpcyBhIGxlc3MgaW1wb3J0YW50IGlzc3VlLjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNv
bG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh
bGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMxRjQ5N0QiPjMuIEl0
IHByb3ZpZGVzIGEgbGl0dGxlIGJpdCBvZiBkaXNjb3ZlcnkgYXV0b21hdGljYWxseS4gVGhlIGZp
ZWxkIG5hbWVzIHRoYXQgYXBwZWFyIGluIHBsYWNlaG9sZGVycyAob3IgdGhlaXIgYWJzZW5jZSkg
dGVsbCB0aGUgY2xpZW50IGFwcCB3aGljaCBmZWF0dXJlcw0KIGFyZSAob3IgYXJlIG5vdCkgc3Vw
cG9ydGVkLiBGb3IgaW5zdGFuY2UsIHRoZSBleGFtcGxlIGFib3ZlIHNob3dzIHRoYXQgdGhlIHNl
cnZpY2Ugc3VwcG9ydHMgdGhlIOKAnGltbWVkaWF0ZeKAnSBtb2RlLCBvdGhlcndpc2UgaXQgd291
bGRu4oCZdCBpbmNsdWRlIHRoZSB7aW1tZWRpYXRlfSBwbGFjZWhvbGRlci4gVGhpcyBtYXkgYmUg
ZW5vdWdoIGZvciBtb3N0IGZlYXR1cmUgbmVnb3RpYXRpb24gbmVlZHMuPG86cD48L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7
Ow0KY29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ow0KY29sb3I6IzFGNDk3RCI+
VGhlcmUgYXJlIGRpc2FkdmFudGFnZXM6PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ow0KY29sb3I6IzFGNDk3RCI+
PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oywm
cXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ow0KY29sb3I6IzFGNDk3RCI+LTEuIFRlbXBsYXRlcyBhcmUg
YSBtb3JlIGNvbXBsaWNhdGVkIHRoYW4gYWx3YXlzIHVzaW5nIHF1ZXJ5IHBhcmFtZXRlcnMuIEp1
c3Qge25hbWV9IGFkZHMgYSBsaXR0bGUgY29tcGxleGl0eS4gQSBtb3JlIGZsZXhpYmxlIHBsYWNl
aG9sZGVyIHN5bnRheCBiZWluZyB2ZXJ5DQogc2xvd2x5IHNwZWNlZCBieSB0aGUgVzNDIChlZyB3
aXRoIGRlZmF1bHRzKSBhZGRzIG1vcmUgY29tcGxleGl0eSAtLSBidXQgZG9lc27igJl0IGhhdmUg
dG8gYmUgYWRvcHRlZCBoZXJlLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh
bGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMxRjQ5N0QiPjxvOnA+
Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7
c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMxRjQ5N0QiPldpdGggdGhpcyBwcm9wb3NhbCB0aGUg
e2NhbGxiYWNrfSBwbGFjZWhvbGRlciBpbiB0aGUgYXV0aHogdGVtcGxhdGUgd291bGQgYmUgZmls
bGVkIGJ5IGEgY2xpZW50IHdpdGggaXRzIG93biB0ZW1wbGF0ZSwgd2l0aCBhIHBsYWNlaG9sZGVy
IGZvciB0aGUgYXV0aCBjb2RlLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh
bGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMxRjQ5N0QiPjxvOnA+
Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7
c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMxRjQ5N0QiPkEgc2VydmljZSBjb3VsZCBzdGlsbCBp
bnRyb2R1Y2UgaXRzIG93biBwbGFjZWhvbGRlciBmaWVsZCB0aGF0IGNsYXNoZWQgd2l0aCBhIHN1
YnNlcXVlbnQgT0F1dGggZGVmaW5pdGlvbi4gSSB0aGluayB0aGF0IGlzIGxlc3Mgb2YgYSBjb25j
ZXJuLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1
b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90
OzsNCmNvbG9yOiMxRjQ5N0QiPi0tDQo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVv
dDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xvcjojMUY0OTdEIj5K
YW1lcyBNYW5nZXI8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_255B9BB34FB7D647A506DC292726F6E112575922E7WSMSG3153Vsrv_--

From eran@hueniverse.com  Fri Apr 16 07:35:35 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8B0483A68EA for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 07:35:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.457
X-Spam-Level: 
X-Spam-Status: No, score=-2.457 tagged_above=-999 required=5 tests=[AWL=0.141,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1DRmUyUp1tzg for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 07:35:31 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 337CE3A6B4B for <oauth@ietf.org>; Fri, 16 Apr 2010 07:34:57 -0700 (PDT)
Received: (qmail 29671 invoked from network); 16 Apr 2010 14:34:49 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 16 Apr 2010 14:34:48 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Fri, 16 Apr 2010 07:34:47 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>, Evan Gilbert <uidude@google.com>
Date: Fri, 16 Apr 2010 07:34:43 -0700
Thread-Topic: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
Thread-Index: AcrdGt/xuPW7OyV3Q0+qV182u0MZrgAVxQqE
Message-ID: <C7EDC393.323D8%eran@hueniverse.com>
In-Reply-To: <u2r74caaad21004152110t6949b0dfuac76f1ae3162aeb7@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7EDC393323D8eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 14:35:35 -0000

--_000_C7EDC393323D8eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

First, this argument only holds for callbacks, not for the authorization en=
dpoint. Since this problem is easily solved with a simple web server config=
uration, I don't think it is as bad as you make it sound. I'm sure that the=
 Drupal community will find a solution if there are valuable OAuth 2.0 reso=
urces they want to access.

However, I don't have an objection to a prefix for callback parameters sinc=
e those are not purely protocol endpoints but client endpoints with potenti=
al existing semantics. We already have oauth_token for accessing a protecte=
d resource using query parameters (for the same reason).

But this argument does not extent to the authorization endpoint.

EHL


On 4/15/10 9:10 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

On Thu, Apr 15, 2010 at 6:39 PM, Evan Gilbert <uidude@google.com> wrote:
>
> On Thu, Apr 15, 2010 at 6:31 PM, Marius Scurtescu <mscurtescu@google.com>
> wrote:
>>
>> OK, here is a concrete example:
>>
>> A Drupal (popular PHP based CMS) based web site wants to become an
>> OAuth 2 client. Among other things it needs to implement a callback
>> endpoint.
>>
>> Ideally this endpoint would look something like:
>> http://example.com/oauth/back
>>
>> Depending on what web server is used and how it is configured, the
>> above URL may not be possible. Drupal is dispatching all requests
>> through the main script and the path of the endpoint is passed as a
>> query parameter. Normally the above URL is seen as:
>> http://example.com/index.php?q=3Doauth/back
>>
>> The cleaner http://example.com/oauth/back is achieved with Apache URl
>> rewriting, but if Apache is not available or configured to support
>> that, you are stuck with the ugly query parameters.
>>
>> In the unlucky case the registered callback, and the actual callback
>> used in messages, is "http://example.com/index.php?q=3Doauth/back". This
>> callback has a query parameter, it is not used for state, and it is
>> not an extension.
>>
>> It so happens that "q" will not conflict with any of the existing
>> OAuth 2 parameters, but you can see the potential issue.
>>
>> Now, even if Apache is available and URL rewrites work, so the nice
>> callback is used, a collision would still happen if "q" was used by
>> OAuth 2. Apache rewrites "/oauth/back", but the Drupal dispatcher
>> always sees "/index.php?q=3Doauth/back", so another q parameter would
>> break things.
>
> We should ask Drupal to change their query parameter to drupal_q.

And every single framework that does dispatching based on query parameters =
:-)


>> I do realize that a prefix will not solve ALL collisions and it is
>> also not solving the extension question, but I still think makes a big
>> difference.
>
> This use case makes sense, but do we know of any existing conflicts?
> Very few web servers have this restrictive a URL parameter policy - I thi=
nk
> I'm OK losing compatibility with future web servers that reserve the
> "callback" parameter for other purposes.

My guess is that most PHP frameworks will have a similar problem, they
will require query parameters.  This is not a web server issue, but a
framework issue.

Not only "callback" can cause a collision, but every single OAuth 2 paramet=
er.


Marius


--_000_C7EDC393323D8eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension &nb=
sp;policy</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>First, this argument only holds for callbacks, not for the authorizat=
ion endpoint. Since this problem is easily solved with a simple web server =
configuration, I don&#8217;t think it is as bad as you make it sound. I&#82=
17;m sure that the Drupal community will find a solution if there are valua=
ble OAuth 2.0 resources they want to access.<BR>
<BR>
However, I don&#8217;t have an objection to a prefix for callback parameter=
s since those are not purely protocol endpoints but client endpoints with p=
otential existing semantics. We already have oauth_token for accessing a pr=
otected resource using query parameters (for the same reason).<BR>
<BR>
But this argument does not extent to the authorization endpoint.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/15/10 9:10 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurtescu@=
google.com">mscurtescu@google.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>On Thu, Apr 15, 2010 at 6:39 PM, Evan Gilbe=
rt &lt;<a href=3D"uidude@google.com">uidude@google.com</a>&gt; wrote:<BR>
&gt;<BR>
&gt; On Thu, Apr 15, 2010 at 6:31 PM, Marius Scurtescu &lt;<a href=3D"mscur=
tescu@google.com">mscurtescu@google.com</a>&gt;<BR>
&gt; wrote:<BR>
&gt;&gt;<BR>
&gt;&gt; OK, here is a concrete example:<BR>
&gt;&gt;<BR>
&gt;&gt; A Drupal (popular PHP based CMS) based web site wants to become an=
<BR>
&gt;&gt; OAuth 2 client. Among other things it needs to implement a callbac=
k<BR>
&gt;&gt; endpoint.<BR>
&gt;&gt;<BR>
&gt;&gt; Ideally this endpoint would look something like:<BR>
&gt;&gt; <a href=3D"http://example.com/oauth/back">http://example.com/oauth=
/back</a><BR>
&gt;&gt;<BR>
&gt;&gt; Depending on what web server is used and how it is configured, the=
<BR>
&gt;&gt; above URL may not be possible. Drupal is dispatching all requests<=
BR>
&gt;&gt; through the main script and the path of the endpoint is passed as =
a<BR>
&gt;&gt; query parameter. Normally the above URL is seen as:<BR>
&gt;&gt; <a href=3D"http://example.com/index.php?q=3Doauth/back">http://exa=
mple.com/index.php?q=3Doauth/back</a><BR>
&gt;&gt;<BR>
&gt;&gt; The cleaner <a href=3D"http://example.com/oauth/back">http://examp=
le.com/oauth/back</a> is achieved with Apache URl<BR>
&gt;&gt; rewriting, but if Apache is not available or configured to support=
<BR>
&gt;&gt; that, you are stuck with the ugly query parameters.<BR>
&gt;&gt;<BR>
&gt;&gt; In the unlucky case the registered callback, and the actual callba=
ck<BR>
&gt;&gt; used in messages, is &quot;<a href=3D"http://example.com/index.php=
?q=3Doauth/back">http://example.com/index.php?q=3Doauth/back</a>&quot;. Thi=
s<BR>
&gt;&gt; callback has a query parameter, it is not used for state, and it i=
s<BR>
&gt;&gt; not an extension.<BR>
&gt;&gt;<BR>
&gt;&gt; It so happens that &quot;q&quot; will not conflict with any of the=
 existing<BR>
&gt;&gt; OAuth 2 parameters, but you can see the potential issue.<BR>
&gt;&gt;<BR>
&gt;&gt; Now, even if Apache is available and URL rewrites work, so the nic=
e<BR>
&gt;&gt; callback is used, a collision would still happen if &quot;q&quot; =
was used by<BR>
&gt;&gt; OAuth 2. Apache rewrites &quot;/oauth/back&quot;, but the Drupal d=
ispatcher<BR>
&gt;&gt; always sees &quot;/index.php?q=3Doauth/back&quot;, so another q pa=
rameter would<BR>
&gt;&gt; break things.<BR>
&gt;<BR>
&gt; We should ask Drupal to change their query parameter to drupal_q.<BR>
<BR>
And every single framework that does dispatching based on query parameters =
:-)<BR>
<BR>
<BR>
&gt;&gt; I do realize that a prefix will not solve ALL collisions and it is=
<BR>
&gt;&gt; also not solving the extension question, but I still think makes a=
 big<BR>
&gt;&gt; difference.<BR>
&gt;<BR>
&gt; This use case makes sense, but do we know of any existing conflicts?<B=
R>
&gt; Very few web servers have this restrictive a URL parameter policy - I =
think<BR>
&gt; I'm OK losing compatibility with future web servers that reserve the<B=
R>
&gt; &quot;callback&quot; parameter for other purposes.<BR>
<BR>
My guess is that most PHP frameworks will have a similar problem, they<BR>
will require query parameters. &nbsp;This is not a web server issue, but a<=
BR>
framework issue.<BR>
<BR>
Not only &quot;callback&quot; can cause a collision, but every single OAuth=
 2 parameter.<BR>
<BR>
<BR>
Marius<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7EDC393323D8eranhueniversecom_--

From eran@hueniverse.com  Fri Apr 16 07:42:24 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 147F53A68C1 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 07:42:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.714
X-Spam-Level: 
X-Spam-Status: No, score=-1.714 tagged_above=-999 required=5 tests=[AWL=-0.605, BAYES_05=-1.11, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cFS+1mKXD5CZ for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 07:42:17 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id CE68E3A6826 for <oauth@ietf.org>; Fri, 16 Apr 2010 07:42:17 -0700 (PDT)
Received: (qmail 7053 invoked from network); 16 Apr 2010 14:42:11 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 16 Apr 2010 14:42:10 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Fri, 16 Apr 2010 07:42:10 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: James Manger <James.H.Manger@team.telstra.com>, OAuth WG <oauth@ietf.org>
Date: Fri, 16 Apr 2010 07:42:07 -0700
Thread-Topic: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy: {templates}
Thread-Index: AcrdBcVO3y17kyTgSVSlO2F1ttCCcgAYhTLAAALIqm4=
Message-ID: <C7EDC54F.323DD%eran@hueniverse.com>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E112575922E7@WSMSG3153V.srv.dir.telstra.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7EDC54F323DDeranhueniversecom_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy: {templates}
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 14:42:24 -0000

--_000_C7EDC54F323DDeranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I really like it, but it is too complicated and requires a standard templat=
e format (which will need to be profiled to be practical). This is going in=
 the wrong direction...

EHL


On 4/16/10 7:33 AM, "James Manger" <James.H.Manger@team.telstra.com> wrote:

A partial solution to colliding parameter names and long URIS would be to u=
se URI templates.

For instance, in a 401 response when a client app tries to access a protect=
ed resource, instead of an authz URI, return a template for an authz URI. T=
he template would include OAuth field names in squiggly brackets, to be rep=
laced by the field's value when building an actual authz URI. The template =
could also be provided in documentation.

Example:
C<-S 401
        WWW-Authenticate: OAuth u=3D"http://as.com/{type}/{client_id}?cb=3D=
{callback}&no_ui=3D{immediate}&oe=3Dutf-8"

There are a couple of benefits:

1. The parts of the template outside the {...} placeholders can be chosen h=
owever the service wants. There is no worry about clashes between proprieta=
ry query params (like "oe=3Dutf=3D8" above) and OAuth fields. There is no n=
eed for the restrictions on URI that are in the current draft.

2. The constructed URI will be shorter as it doesn't have to include the OA=
uth field names, just their values. The field names could include an oauth_=
 prefix without affecting URI sizes. The template itself will be longer tha=
n a base authz URI to which query params are added, but that is a less impo=
rtant issue.

3. It provides a little bit of discovery automatically. The field names tha=
t appear in placeholders (or their absence) tell the client app which featu=
res are (or are not) supported. For instance, the example above shows that =
the service supports the "immediate" mode, otherwise it wouldn't include th=
e {immediate} placeholder. This may be enough for most feature negotiation =
needs.

There are disadvantages:

-1. Templates are a more complicated than always using query parameters. Ju=
st {name} adds a little complexity. A more flexible placeholder syntax bein=
g very slowly speced by the W3C (eg with defaults) adds more complexity -- =
but doesn't have to be adopted here.

With this proposal the {callback} placeholder in the authz template would b=
e filled by a client with its own template, with a placeholder for the auth=
 code.

A service could still introduce its own placeholder field that clashed with=
 a subsequent OAuth definition. I think that is less of a concern.


--_000_C7EDC54F323DDeranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension pol=
icy: {templates}</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>I really like it, but it is too complicated and requires a standard t=
emplate format (which will need to be profiled to be practical). This is go=
ing in the wrong direction...<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/16/10 7:33 AM, &quot;James Manger&quot; &lt;<a href=3D"James.H.Manger@=
team.telstra.com">James.H.Manger@team.telstra.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>A partial solution to colliding parameter n=
ames and long URIS would be to use URI templates.<BR>
&nbsp;<BR>
For instance, in a 401 response when a client app tries to access a protect=
ed resource, instead of an authz URI, return a template for an authz URI. T=
he template would include OAuth field names in squiggly brackets, to be rep=
laced by the field&#8217;s value when building an actual authz URI. The tem=
plate could also be provided in documentation.<BR>
&nbsp;<BR>
Example:<BR>
C&lt;-S 401<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WWW-Authenticate: OAuth u=
=3D&#8221;<a href=3D"http://as.com/{type}/{client_id}?cb=3D{callback}&amp;n=
o_ui=3D{immediate}&amp;oe=3Dutf-8">http://as.com/{type}/{client_id}?cb=3D{c=
allback}&amp;no_ui=3D{immediate}&amp;oe=3Dutf-8</a>&#8221;<BR>
&nbsp;<BR>
There are a couple of benefits:<BR>
&nbsp;<BR>
1. The parts of the template outside the {&#8230;} placeholders can be chos=
en however the service wants. There is no worry about clashes between propr=
ietary query params (like &#8220;oe=3Dutf=3D8&#8221; above) and OAuth field=
s. There is no need for the restrictions on URI that are in the current dra=
ft.<BR>
&nbsp;<BR>
2. The constructed URI will be shorter as it doesn&#8217;t have to include =
the OAuth field names, just their values. The field names could include an =
oauth_ prefix without affecting URI sizes. The template itself will be long=
er than a base authz URI to which query params are added, but that is a les=
s important issue.<BR>
&nbsp;<BR>
3. It provides a little bit of discovery automatically. The field names tha=
t appear in placeholders (or their absence) tell the client app which featu=
res are (or are not) supported. For instance, the example above shows that =
the service supports the &#8220;immediate&#8221; mode, otherwise it wouldn&=
#8217;t include the {immediate} placeholder. This may be enough for most fe=
ature negotiation needs.<BR>
&nbsp;<BR>
There are disadvantages:<BR>
&nbsp;<BR>
-1. Templates are a more complicated than always using query parameters. Ju=
st {name} adds a little complexity. A more flexible placeholder syntax bein=
g very slowly speced by the W3C (eg with defaults) adds more complexity -- =
but doesn&#8217;t have to be adopted here.<BR>
&nbsp;<BR>
With this proposal the {callback} placeholder in the authz template would b=
e filled by a client with its own template, with a placeholder for the auth=
 code.<BR>
&nbsp;<BR>
A service could still introduce its own placeholder field that clashed with=
 a subsequent OAuth definition. I think that is less of a concern.<BR>
&nbsp;</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size=
:12pt'><BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7EDC54F323DDeranhueniversecom_--

From eran@hueniverse.com  Fri Apr 16 07:45:35 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6DE303A68D7 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 07:45:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.451
X-Spam-Level: 
X-Spam-Status: No, score=-2.451 tagged_above=-999 required=5 tests=[AWL=0.147,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KydUyM6GOKIM for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 07:45:28 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 61EF73A681A for <oauth@ietf.org>; Fri, 16 Apr 2010 07:45:28 -0700 (PDT)
Received: (qmail 7394 invoked from network); 16 Apr 2010 14:45:21 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 16 Apr 2010 14:45:21 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Fri, 16 Apr 2010 07:44:40 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, Marius Scurtescu <mscurtescu@google.com>, Evan Gilbert <uidude@google.com>
Date: Fri, 16 Apr 2010 07:44:36 -0700
Thread-Topic: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
Thread-Index: AcrdGt/xuPW7OyV3Q0+qV182u0MZrgAVxQqEAABYXXE=
Message-ID: <C7EDC5E4.323DF%eran@hueniverse.com>
In-Reply-To: <C7EDC393.323D8%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7EDC5E4323DFeranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 14:45:35 -0000

--_000_C7EDC5E4323DFeranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

BTW, making this change includes dropping the client state parameter and al=
lowing clients to add their own state parameter to the callback.

EHL


On 4/16/10 7:34 AM, "Eran Hammer-Lahav" <eran@hueniverse.com> wrote:

First, this argument only holds for callbacks, not for the authorization en=
dpoint. Since this problem is easily solved with a simple web server config=
uration, I don't think it is as bad as you make it sound. I'm sure that the=
 Drupal community will find a solution if there are valuable OAuth 2.0 reso=
urces they want to access.

However, I don't have an objection to a prefix for callback parameters sinc=
e those are not purely protocol endpoints but client endpoints with potenti=
al existing semantics. We already have oauth_token for accessing a protecte=
d resource using query parameters (for the same reason).

But this argument does not extent to the authorization endpoint.

EHL


On 4/15/10 9:10 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

On Thu, Apr 15, 2010 at 6:39 PM, Evan Gilbert <uidude@google.com> wrote:
>
> On Thu, Apr 15, 2010 at 6:31 PM, Marius Scurtescu <mscurtescu@google.com>
> wrote:
>>
>> OK, here is a concrete example:
>>
>> A Drupal (popular PHP based CMS) based web site wants to become an
>> OAuth 2 client. Among other things it needs to implement a callback
>> endpoint.
>>
>> Ideally this endpoint would look something like:
>> http://example.com/oauth/back
>>
>> Depending on what web server is used and how it is configured, the
>> above URL may not be possible. Drupal is dispatching all requests
>> through the main script and the path of the endpoint is passed as a
>> query parameter. Normally the above URL is seen as:
>> http://example.com/index.php?q=3Doauth/back
>>
>> The cleaner http://example.com/oauth/back is achieved with Apache URl
>> rewriting, but if Apache is not available or configured to support
>> that, you are stuck with the ugly query parameters.
>>
>> In the unlucky case the registered callback, and the actual callback
>> used in messages, is "http://example.com/index.php?q=3Doauth/back". This
>> callback has a query parameter, it is not used for state, and it is
>> not an extension.
>>
>> It so happens that "q" will not conflict with any of the existing
>> OAuth 2 parameters, but you can see the potential issue.
>>
>> Now, even if Apache is available and URL rewrites work, so the nice
>> callback is used, a collision would still happen if "q" was used by
>> OAuth 2. Apache rewrites "/oauth/back", but the Drupal dispatcher
>> always sees "/index.php?q=3Doauth/back", so another q parameter would
>> break things.
>
> We should ask Drupal to change their query parameter to drupal_q.

And every single framework that does dispatching based on query parameters =
:-)


>> I do realize that a prefix will not solve ALL collisions and it is
>> also not solving the extension question, but I still think makes a big
>> difference.
>
> This use case makes sense, but do we know of any existing conflicts?
> Very few web servers have this restrictive a URL parameter policy - I thi=
nk
> I'm OK losing compatibility with future web servers that reserve the
> "callback" parameter for other purposes.

My guess is that most PHP frameworks will have a similar problem, they
will require query parameters.  This is not a web server issue, but a
framework issue.

Not only "callback" can cause a collision, but every single OAuth 2 paramet=
er.


Marius



--_000_C7EDC5E4323DFeranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension pol=
icy</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>BTW, making this change includes dropping the client state parameter =
and allowing clients to add their own state parameter to the callback.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/16/10 7:34 AM, &quot;Eran Hammer-Lahav&quot; &lt;<a href=3D"eran@hueni=
verse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>First, this argument only holds for callbac=
ks, not for the authorization endpoint. Since this problem is easily solved=
 with a simple web server configuration, I don&#8217;t think it is as bad a=
s you make it sound. I&#8217;m sure that the Drupal community will find a s=
olution if there are valuable OAuth 2.0 resources they want to access.<BR>
<BR>
However, I don&#8217;t have an objection to a prefix for callback parameter=
s since those are not purely protocol endpoints but client endpoints with p=
otential existing semantics. We already have oauth_token for accessing a pr=
otected resource using query parameters (for the same reason).<BR>
<BR>
But this argument does not extent to the authorization endpoint.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/15/10 9:10 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurtescu@=
google.com">mscurtescu@google.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>On Thu, Apr 15, 2010 at 6:39 PM, Evan Gilbe=
rt &lt;<a href=3D"uidude@google.com">uidude@google.com</a>&gt; wrote:<BR>
&gt;<BR>
&gt; On Thu, Apr 15, 2010 at 6:31 PM, Marius Scurtescu &lt;<a href=3D"mscur=
tescu@google.com">mscurtescu@google.com</a>&gt;<BR>
&gt; wrote:<BR>
&gt;&gt;<BR>
&gt;&gt; OK, here is a concrete example:<BR>
&gt;&gt;<BR>
&gt;&gt; A Drupal (popular PHP based CMS) based web site wants to become an=
<BR>
&gt;&gt; OAuth 2 client. Among other things it needs to implement a callbac=
k<BR>
&gt;&gt; endpoint.<BR>
&gt;&gt;<BR>
&gt;&gt; Ideally this endpoint would look something like:<BR>
&gt;&gt; <a href=3D"http://example.com/oauth/back">http://example.com/oauth=
/back</a><BR>
&gt;&gt;<BR>
&gt;&gt; Depending on what web server is used and how it is configured, the=
<BR>
&gt;&gt; above URL may not be possible. Drupal is dispatching all requests<=
BR>
&gt;&gt; through the main script and the path of the endpoint is passed as =
a<BR>
&gt;&gt; query parameter. Normally the above URL is seen as:<BR>
&gt;&gt; <a href=3D"http://example.com/index.php?q=3Doauth/back">http://exa=
mple.com/index.php?q=3Doauth/back</a><BR>
&gt;&gt;<BR>
&gt;&gt; The cleaner <a href=3D"http://example.com/oauth/back">http://examp=
le.com/oauth/back</a> is achieved with Apache URl<BR>
&gt;&gt; rewriting, but if Apache is not available or configured to support=
<BR>
&gt;&gt; that, you are stuck with the ugly query parameters.<BR>
&gt;&gt;<BR>
&gt;&gt; In the unlucky case the registered callback, and the actual callba=
ck<BR>
&gt;&gt; used in messages, is &quot;<a href=3D"http://example.com/index.php=
?q=3Doauth/back">http://example.com/index.php?q=3Doauth/back</a>&quot;. Thi=
s<BR>
&gt;&gt; callback has a query parameter, it is not used for state, and it i=
s<BR>
&gt;&gt; not an extension.<BR>
&gt;&gt;<BR>
&gt;&gt; It so happens that &quot;q&quot; will not conflict with any of the=
 existing<BR>
&gt;&gt; OAuth 2 parameters, but you can see the potential issue.<BR>
&gt;&gt;<BR>
&gt;&gt; Now, even if Apache is available and URL rewrites work, so the nic=
e<BR>
&gt;&gt; callback is used, a collision would still happen if &quot;q&quot; =
was used by<BR>
&gt;&gt; OAuth 2. Apache rewrites &quot;/oauth/back&quot;, but the Drupal d=
ispatcher<BR>
&gt;&gt; always sees &quot;/index.php?q=3Doauth/back&quot;, so another q pa=
rameter would<BR>
&gt;&gt; break things.<BR>
&gt;<BR>
&gt; We should ask Drupal to change their query parameter to drupal_q.<BR>
<BR>
And every single framework that does dispatching based on query parameters =
:-)<BR>
<BR>
<BR>
&gt;&gt; I do realize that a prefix will not solve ALL collisions and it is=
<BR>
&gt;&gt; also not solving the extension question, but I still think makes a=
 big<BR>
&gt;&gt; difference.<BR>
&gt;<BR>
&gt; This use case makes sense, but do we know of any existing conflicts?<B=
R>
&gt; Very few web servers have this restrictive a URL parameter policy - I =
think<BR>
&gt; I'm OK losing compatibility with future web servers that reserve the<B=
R>
&gt; &quot;callback&quot; parameter for other purposes.<BR>
<BR>
My guess is that most PHP frameworks will have a similar problem, they<BR>
will require query parameters. &nbsp;This is not a web server issue, but a<=
BR>
framework issue.<BR>
<BR>
Not only &quot;callback&quot; can cause a collision, but every single OAuth=
 2 parameter.<BR>
<BR>
<BR>
Marius<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial=
"><SPAN STYLE=3D'font-size:11pt'><BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7EDC5E4323DFeranhueniversecom_--

From eran@hueniverse.com  Fri Apr 16 07:51:45 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 46D7D3A68AB for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 07:51:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.453
X-Spam-Level: 
X-Spam-Status: No, score=-2.453 tagged_above=-999 required=5 tests=[AWL=0.146,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wfWo+UpuQtCy for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 07:51:44 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 889B33A6956 for <oauth@ietf.org>; Fri, 16 Apr 2010 07:51:27 -0700 (PDT)
Received: (qmail 19254 invoked from network); 16 Apr 2010 14:51:20 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 16 Apr 2010 14:51:20 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Fri, 16 Apr 2010 07:51:04 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: James Manger <James.H.Manger@team.telstra.com>, OAuth WG <oauth@ietf.org>
Date: Fri, 16 Apr 2010 07:51:01 -0700
Thread-Topic: Issue: restriction on values characters
Thread-Index: AcrcxPvR9KQ1Tz6ZfU2Z51D+MRN4XgAOEEhAAB2/hqE=
Message-ID: <C7EDC765.323E3%eran@hueniverse.com>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E11257480F9B@WSMSG3153V.srv.dir.telstra.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: restriction on values characters
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 14:51:45 -0000

On 4/15/10 6:09 PM, "James Manger" <James.H.Manger@team.telstra.com> wrote:

>> I would like to proposal that the spec remains mute on the allowed param=
eter
>> values
>=20
> The spec isn't mute.

Yep, but we are not there yet. The ABNF was just copied over from another
draft and not updated yet. We will need to choose an encoding method for th=
e
header values and percent-encoding seems to make the most sense (though
unlike OAuth 1.0, we will not detail the encoding function). Base64-ed
values are hard to debug.

EHL

> Currently, the draft spec uses HTTP's 'token' production for the value of=
 an
> access token. Perhaps not surprising given the names.
> The ABNF for HTTP's 'token' allows only 89 characters. It excludes '=3D' =
for
> instance. It is designed NOT to need quoting in an HTTP header.
> Contradicting this, the draft spec requires double quotes around the acce=
ss
> token value when in an HTTP header. It also uses a base64-encoding as an
> example that ends with '=3D' -- a disallowed character.
>=20
> Something needs to change.
>=20
> Either use 'quoted-string' for access tokens. That allows another ~20 ASC=
II
> chars, and \c escaping for other ASCII chars. I don't think there is any
> defined escaping for Unicode of bytes. Seemingly ad hoc choices such as %=
xx
> appeared in earlier OAuth example values, but I don't think it was ever
> defined.
>=20
> Or stick with 'token'; remove the quoting as unnecessary and hence mislea=
ding;
> change the example not to have '=3D'; note that "normal" base64 cannot be=
 used
> (need to exclude '=3D' and '/').
>=20
> Or restrict access tokens to a restricted set that never needs escaping
> anywhere (HTTP headers, URIs, query params, XML...). Recommend base64-url=
-safe
> without terminators whenever a byte array, or (UTF-8 encoded) unicode nee=
ds to
> be represented.
> I favour this approach.
>=20
> The client app and user browser that are just passing these opaque values
> around don't have to do any escaping. They should just do input validatio=
n
> (reject values with any disallowed chars).
>=20
>=20
>=20
> P.S. 'token' may be changing in the revision of HTTP currently being writ=
ten.
>=20
>=20
>=20
> --
> James Manger
>=20
> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of=
 Eran
> Hammer-Lahav
> Sent: Friday, 16 April 2010 3:57 AM
> To: OAuth WG
> Subject: [OAUTH-WG] Issue: restriction on values characters
>=20
> Given the current proposal for signatures (no parsing of the request URI =
or
> body, or any encoding), I would like to proposal that the spec remains mu=
te
> on the allowed parameter values.
>=20
> While it is best to issue values that do not require any encoding (or
> decoding when receiving a token response), encoding and decoding
> form-encoded parameter is trivial and provided automatically by every
> platform.
>=20
> The only issues with encoding in 1.0a related to signatures and the
> production of the base string. This is no longer an issue.
>=20
> Proposal: close issue without further action.
>=20
> EHL
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>=20


From James.H.Manger@team.telstra.com  Fri Apr 16 08:15:43 2010
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 45C4C3A6956 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 08:15:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.994
X-Spam-Level: 
X-Spam-Status: No, score=0.994 tagged_above=-999 required=5 tests=[AWL=-0.705,  BAYES_50=0.001, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 876GiC5qM936 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 08:15:42 -0700 (PDT)
Received: from ipxavo.tcif.telstra.com.au (ipxavo.tcif.telstra.com.au [203.35.135.200]) by core3.amsl.com (Postfix) with ESMTP id 438733A6B52 for <oauth@ietf.org>; Fri, 16 Apr 2010 08:14:17 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.52,219,1270389600";  d="scan'208";a="1116221"
Received: from unknown (HELO ipcbvi.tcif.telstra.com.au) ([10.97.217.204]) by ipoavi.tcif.telstra.com.au with ESMTP; 17 Apr 2010 01:14:10 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,5953"; a="807229"
Received: from wsmsg3752.srv.dir.telstra.com ([172.49.40.173]) by ipcbvi.tcif.telstra.com.au with ESMTP; 17 Apr 2010 01:14:10 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by WSMSG3752.srv.dir.telstra.com ([172.49.40.173]) with mapi; Sat, 17 Apr 2010 01:14:10 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, OAuth WG <oauth@ietf.org>
Date: Sat, 17 Apr 2010 01:14:03 +1000
Thread-Topic: Issue: restriction on values characters
Thread-Index: AcrcxPvR9KQ1Tz6ZfU2Z51D+MRN4XgAOEEhAAB2/hqEAABv7UA==
Message-ID: <255B9BB34FB7D647A506DC292726F6E112575922E8@WSMSG3153V.srv.dir.telstra.com>
References: <255B9BB34FB7D647A506DC292726F6E11257480F9B@WSMSG3153V.srv.dir.telstra.com> <C7EDC765.323E3%eran@hueniverse.com>
In-Reply-To: <C7EDC765.323E3%eran@hueniverse.com>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-cr-puzzleid: {CA2C6571-851C-4F80-8A1D-EF7989CF2460}
x-cr-hashedpuzzle: BTIv F28O GLaj GkL7 IQp/ Kj2x L5SE MPmU Pnws QK0G RNA1 RsYZ TAlH Usv7 WpOm XCwv; 2; ZQByAGEAbgBAAGgAdQBlAG4AaQB2AGUAcgBzAGUALgBjAG8AbQA7AG8AYQB1AHQAaABAAGkAZQB0AGYALgBvAHIAZwA=; Sosha1_v1; 7; {CA2C6571-851C-4F80-8A1D-EF7989CF2460}; agBhAG0AZQBzAC4AaAAuAG0AYQBuAGcAZQByAEAAdABlAGEAbQAuAHQAZQBsAHMAdAByAGEALgBjAG8AbQA=; Fri, 16 Apr 2010 15:14:03 GMT; UgBFADoAIABJAHMAcwB1AGUAOgAgAHIAZQBzAHQAcgBpAGMAdABpAG8AbgAgAG8AbgAgAHYAYQBsAHUAZQBzACAAYwBoAGEAcgBhAGMAdABlAHIAcwA=
acceptlanguage: en-US, en-AU
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: restriction on values characters
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 15:15:43 -0000

PiBXZSB3aWxsIG5lZWQgdG8gY2hvb3NlIGFuIGVuY29kaW5nIG1ldGhvZCBmb3IgdGhlIGhlYWRl
ciB2YWx1ZXMNCg0KTm90IGlmIHdlIHJlc3RyaWN0IHRoZSBhbGxvd2VkIGNoYXJzIGluIHRva2Vu
cyB0byBhIHZlcnkgc2FmZSBzZXQgb2YgfjY0IGNoYXJzLg0KDQo+IGFuZCBwZXJjZW50LWVuY29k
aW5nIHNlZW1zIHRvIG1ha2UgdGhlIG1vc3Qgc2Vuc2UNCg0KSXQgbWFrZXMgc2Vuc2UgaW4gVVJJ
cy4gSW4gSFRUUCBoZWFkZXJzLCBob3dldmVyLCBJIHRoaW5rIGl0IGlzIG1vcmUgbm92ZWwuIFRo
ZXJlIGFyZSBxdW90ZWQgc3RyaW5ncywgXC1lc2NhcGVzIGZvciBhIGZldyBjaGFycywgYW5kIHNv
bWUgc3RyYW5nZSBiZWFzdCB0aGF0IGRvZXMgdXNlICUtZW5jb2RpbmcgYnV0IG5vdCBpbiBkb3Vi
bGUgcXVvdGVzIGFuZCB3aXRoIGEgY2hhcnNldCBsYWJlbC4NCg0KPiAodGhvdWdoIHVubGlrZSBP
QXV0aCAxLjAsIHdlIHdpbGwgbm90IGRldGFpbCB0aGUgZW5jb2RpbmcgZnVuY3Rpb24pLg0KDQo+
IEJhc2U2NC1lZCB2YWx1ZXMgYXJlIGhhcmQgdG8gZGVidWcuDQoNCkRlYnVnZ2luZyBwZXNreSAl
LWVzY2FwZXMgaW4gYmFzZTY0IGlzIGFubm95aW5nLg0KVGhhdCBjYW4gYmUgYXZvaWRlZCBieSBz
cGVjaWZ5aW5nIHRoZSBiYXNlNjQtdXJsIGVuY29kaW5nIHdpdGhvdXQgJz0nIHRlcm1pbmF0b3Jz
Lg0KDQoNCklmIGEgcGFydHkgd2FudHMgdG8gcmVwcmVzZW50IGFuIGFyYml0cmFyeSBieXRlIGFy
cmF5Li4uDQp0aGF0J3MgZWFzeTogYXBwbHkgdGhlIGJhc2U2NC11cmwgZW5jb2Rpbmcgd2l0aG91
dCAnPScgdGVybWluYXRvcnMgdG8gdGhlIGJ5dGVzDQoNCklmIGEgcGFydHkgd2FudHMgdG8gcmVw
cmVzZW50IGFuIGFyYml0cmFyeSBVbmljb2RlIHN0cmluZy4uLg0KdGhhdCdzIGVhc3k6IGFwcGx5
IHRoZSBiYXNlNjQtdXJsIGVuY29kaW5nIHdpdGhvdXQgJz0nIHRlcm1pbmF0b3JzIHRvIHRoZSBV
VEYtOCBlbmNvZGluZw0KDQotLQ0KSmFtZXMgTWFuZ2VyDQo=

From eran@hueniverse.com  Fri Apr 16 08:30:53 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D864D28C1CE for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 08:30:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.454
X-Spam-Level: 
X-Spam-Status: No, score=-2.454 tagged_above=-999 required=5 tests=[AWL=0.144,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Xj-K0slSgvMl for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 08:30:47 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 83FC63A6A11 for <oauth@ietf.org>; Fri, 16 Apr 2010 08:27:35 -0700 (PDT)
Received: (qmail 6842 invoked from network); 16 Apr 2010 15:27:28 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 16 Apr 2010 15:27:28 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Fri, 16 Apr 2010 08:27:27 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: James Manger <James.H.Manger@team.telstra.com>, OAuth WG <oauth@ietf.org>
Date: Fri, 16 Apr 2010 08:27:24 -0700
Thread-Topic: Issue: restriction on values characters
Thread-Index: AcrcxPvR9KQ1Tz6ZfU2Z51D+MRN4XgAOEEhAAB2/hqEAABv7UAABKVAr
Message-ID: <C7EDCFEC.323FB%eran@hueniverse.com>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E112575922E8@WSMSG3153V.srv.dir.telstra.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7EDCFEC323FBeranhueniversecom_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: restriction on values characters
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 15:30:54 -0000

--_000_C7EDCFEC323FBeranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

By definition the header ABNF is going to limit the allowed characters. The=
re is no way around that. As of right now, the only problem is with the tok=
en value because the other fit well with the 'token' ABNF. The signature is=
 already base64 encoded and included as a quoted string.

So the question is, do we define an encoding scheme for tokens containing o=
ther characters not allowed, or not, leaving each server to figure out how =
to encode their tokens to fit the allowed set?

EHL


On 4/16/10 8:14 AM, "James Manger" <James.H.Manger@team.telstra.com> wrote:

> We will need to choose an encoding method for the header values

Not if we restrict the allowed chars in tokens to a very safe set of ~64 ch=
ars.

> and percent-encoding seems to make the most sense

It makes sense in URIs. In HTTP headers, however, I think it is more novel.=
 There are quoted strings, \-escapes for a few chars, and some strange beas=
t that does use %-encoding but not in double quotes and with a charset labe=
l.

> (though unlike OAuth 1.0, we will not detail the encoding function).

> Base64-ed values are hard to debug.

Debugging pesky %-escapes in base64 is annoying.
That can be avoided by specifying the base64-url encoding without '=3D' ter=
minators.


If a party wants to represent an arbitrary byte array...
that's easy: apply the base64-url encoding without '=3D' terminators to the=
 bytes

If a party wants to represent an arbitrary Unicode string...
that's easy: apply the base64-url encoding without '=3D' terminators to the=
 UTF-8 encoding

--
James Manger


--_000_C7EDCFEC323FBeranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: Issue: restriction on values characters</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>By definition the header ABNF is going to limit the allowed character=
s. There is no way around that. As of right now, the only problem is with t=
he token value because the other fit well with the &#8216;token&#8217; ABNF=
. The signature is already base64 encoded and included as a quoted string.<=
BR>
<BR>
So the question is, do we define an encoding scheme for tokens containing o=
ther characters not allowed, or not, leaving each server to figure out how =
to encode their tokens to fit the allowed set?<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/16/10 8:14 AM, &quot;James Manger&quot; &lt;<a href=3D"James.H.Manger@=
team.telstra.com">James.H.Manger@team.telstra.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>&gt; We will need to choose an encoding met=
hod for the header values<BR>
<BR>
Not if we restrict the allowed chars in tokens to a very safe set of ~64 ch=
ars.<BR>
<BR>
&gt; and percent-encoding seems to make the most sense<BR>
<BR>
It makes sense in URIs. In HTTP headers, however, I think it is more novel.=
 There are quoted strings, \-escapes for a few chars, and some strange beas=
t that does use %-encoding but not in double quotes and with a charset labe=
l.<BR>
<BR>
&gt; (though unlike OAuth 1.0, we will not detail the encoding function).<B=
R>
<BR>
&gt; Base64-ed values are hard to debug.<BR>
<BR>
Debugging pesky %-escapes in base64 is annoying.<BR>
That can be avoided by specifying the base64-url encoding without '=3D' ter=
minators.<BR>
<BR>
<BR>
If a party wants to represent an arbitrary byte array...<BR>
that's easy: apply the base64-url encoding without '=3D' terminators to the=
 bytes<BR>
<BR>
If a party wants to represent an arbitrary Unicode string...<BR>
that's easy: apply the base64-url encoding without '=3D' terminators to the=
 UTF-8 encoding<BR>
<BR>
--<BR>
James Manger<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7EDCFEC323FBeranhueniversecom_--

From justinsm@microsoft.com  Fri Apr 16 08:31:03 2010
Return-Path: <justinsm@microsoft.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6CB5728C1E7 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 08:31:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.598
X-Spam-Level: 
X-Spam-Status: No, score=-10.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cG9xxKMhwQnW for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 08:31:02 -0700 (PDT)
Received: from smtp.microsoft.com (maila.microsoft.com [131.107.115.212]) by core3.amsl.com (Postfix) with ESMTP id D86CA3A6A9D for <oauth@ietf.org>; Fri, 16 Apr 2010 08:27:45 -0700 (PDT)
Received: from TK5EX14CASC129.redmond.corp.microsoft.com (157.54.52.7) by TK5-EXGWY-E801.partners.extranet.microsoft.com (10.251.56.50) with Microsoft SMTP Server (TLS) id 8.2.176.0; Fri, 16 Apr 2010 08:27:38 -0700
Received: from TK5EX14MBXC115.redmond.corp.microsoft.com ([169.254.4.239]) by TK5EX14CASC129.redmond.corp.microsoft.com ([157.54.52.7]) with mapi; Fri, 16 Apr 2010 08:27:38 -0700
From: Justin Smith <justinsm@microsoft.com>
To: OAuth WG <oauth@ietf.org>
Thread-Topic: [OAUTH-WG] Issue: Scope parameter
Thread-Index: AQHK3NEWvq+1OOTFrkS1RWT2flQ40pIkXsgAgAADXwCAAAODAP//ySWwgAAfiRCAACcXIIAAAxeggAAHW5CAAAKQEIAAsiuw
Date: Fri, 16 Apr 2010 15:25:10 +0000
Deferred-Delivery: Fri, 16 Apr 2010 15:26:00 +0000
Message-ID: <191F411E00E19F4E943ECDB6D65C60851691FCA9@TK5EX14MBXC115.redmond.corp.microsoft.com>
References: <h2o74caaad21004151238w60c3afd3td8dccdd8a7127a4a@mail.gmail.com> <C7ECBC36.32379%eran@hueniverse.com> <191F411E00E19F4E943ECDB6D65C60851691F095@TK5EX14MBXC115.redmond.corp.microsoft.com> <255B9BB34FB7D647A506DC292726F6E1125748109A@WSMSG3153V.srv.dir.telstra.com> <191F411E00E19F4E943ECDB6D65C60851691F5A9@TK5EX14MBXC115.redmond.corp.microsoft.com> <255B9BB34FB7D647A506DC292726F6E11257591D3B@WSMSG3153V.srv.dir.telstra.com> <191F411E00E19F4E943ECDB6D65C60851691F645@TK5EX14MBXC115.redmond.corp.microsoft.com> <255B9BB34FB7D647A506DC292726F6E11257591E3F@WSMSG3153V.srv.dir.telstra.com>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E11257591E3F@WSMSG3153V.srv.dir.telstra.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Content-Type: multipart/alternative; boundary="_000_191F411E00E19F4E943ECDB6D65C60851691FCA9TK5EX14MBXC115r_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 15:31:03 -0000

--_000_191F411E00E19F4E943ECDB6D65C60851691FCA9TK5EX14MBXC115r_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SXQgaXNu4oCZdCBjbGVhciB0byBtZSBob3cgdGhvc2Ugb3B0aW9ucyBhcmUgYmV0dGVyIGZvciBp
bnRlcm9wIHRoYW4gYSBzY29wZSBwYXJhbWV0ZXIgaW4gdGhlIHRva2VuIHJlcXVlc3QuDQoNCkFs
c28sIHRoZSBwcm9wb3NhbCBmb3JjZXMgdGhlIHByb3RlY3RlZCByZXNvdXJjZSB0byBrbm93IHRo
ZSBjb250ZXh0IG9mIHRoZSByZXF1ZXN0IGFuZCByZXNwb25kIHdpdGggdGhlIGFwcHJvcHJpYXRl
IFVSSS4gVGhpcyBzaW1wbHkgd29u4oCZdCB3b3JrIGluIG1hbnkgc2l0dWF0aW9ucy4gRm9yIGV4
YW1wbGUsIGxldOKAmXMgc2F5IGZvby5jb20gYW5kIGJhci5jb20gbWF5IGJlIGJ1bmRsZWQgYW5k
IGF2YWlsYWJsZSBpbmRpdmlkdWFseS4gQSBjbGllbnQgbWlnaHQgbmVlZCBvbmUgYWNjZXNzIHRv
a2VuIHRoYXQgZ3JhbnRzIHBlcm1pc3Npb24gdG8gYm90aCByZXNvdXJjZXMsIGFub3RoZXIgY2xp
ZW50IG1pZ2h0IG9ubHkgZ2V0IGFuIGFjY2VzcyB0b2tlbiB0aGF0IGdyYW50cyBwZXJtaXNzaW9u
IHRvIG9uZSByZXNvdXJjZS4gV2l0aCB0aGUgcHJvcG9zYWwgYmVsb3csIGZvby5jb20gY2Fu4oCZ
dCByZXNwb25kIHdpdGggdGhlIGNvcnJlY3QgdmFsdWUgaW4gdGhlIDQwMSAoc2hvdWxkIHRoZSBV
UkkgcmVmZXJlbmNlIHRoZSBpbmRpdmlkdWFsIHNlcnZpY2Ugb3IgdGhlIGJ1bmRsZSkuDQoNCg0K
RnJvbTogTWFuZ2VyLCBKYW1lcyBIIFttYWlsdG86SmFtZXMuSC5NYW5nZXJAdGVhbS50ZWxzdHJh
LmNvbV0NClNlbnQ6IFRodXJzZGF5LCBBcHJpbCAxNSwgMjAxMCA5OjQ0IFBNDQpUbzogSnVzdGlu
IFNtaXRoOyBPQXV0aCBXRw0KU3ViamVjdDogUkU6IFtPQVVUSC1XR10gSXNzdWU6IFNjb3BlIHBh
cmFtZXRlcg0KDQo+IFNvLCBsZXTigJlzIHNheSB0aGVyZSBpcyBhbiBBdXRob3JpemF0aW9uIFNl
cnZlciBhdmFpbGFibGUgYXQgaHR0cDovL2FzLmNvbSBhbmQgaXQgcHJvdGVjdHMgdGhlIGh0dHA6
Ly9mb28uY29tIGFuZCBodHRwOi8vYmFyLmNvbSByZXNvdXJjZXMuDQoNCj4gQSBjbGllbnQgcmVx
dWVzdHMgIGh0dHA6Ly9mb28uY29tLiBUaGUgZm9vLmNvbSBzZXJ2ZXIgcmVzcG9uZHMgd2l0aCBh
IFdXVy1BdXRoIHRoYXQgY29udGFpbnMgdGhlIGh0dHA6Ly9hcy5jb20gVVJJLiBUaGUgY2xpZW50
IHRoZW4gc2VuZHMgYW4gYWNjZXNzIHRva2VuIHJlcXVlc3QgdG8gaHR0cDovL2FzLmNvbS4gSXMg
dGhhdCByaWdodD8NCg0KPiBJZiBzbywgdGhlbiBob3cgZG9lcyBodHRwOi8vYXMuY29tIGtub3cg
dGhhdCB0aGUgaW50ZW5kZWQgcmVzb3VyY2UgaXMgaHR0cDovL2Zvby5jb20/DQoNCg0KRm9vLmNv
bSBzaG91bGQgcG9pbnQgdGhlIGNsaWVudCBhdCwgc2F5LCBodHRwOi8vYXMuY29tL2Zvby8gb3Ig
aHR0cDovL2Zvby5hcy5jb20vIG9yIGh0dHA6Ly9hcy5jb20vP3Njb3BlPWZvbyBvciBodHRwOi8v
YXMuY29tLz9lbmNyeXB0ZWRfcmVzb3VyY2VfaWQ9MjczNjQ4MjY0Mjg3NjQyIG9yIHdoYXRldmVy
IGl0IGhhcyBhZ3JlZWQgdG8gd2l0aCBpdHMgQVMuDQpUaGUgV1dXLUF1dGggcmVzcG9uc2UgZnJv
bSBmb28uY29tIHNob3VsZCBub3QgYmUganVzdCBodHRwOi8vYXMuY29tLg0KRm9vIGlzIG11Y2gg
YmV0dGVyIHBsYWNlZCB0byBrbm93IGl0IHNoYXJlcyBhcy5jb20gd2l0aCBCYXIgdGhhbiBhIGNs
aWVudCBpcy4NCg0KLS0NCkphbWVzIE1hbmdlcg0K

--_000_191F411E00E19F4E943ECDB6D65C60851691FCA9TK5EX14MBXC115r_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6eD0idXJuOnNjaGVtYXMtbWljcm9z
b2Z0LWNvbTpvZmZpY2U6ZXhjZWwiIHhtbG5zOnA9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206
b2ZmaWNlOnBvd2VycG9pbnQiIHhtbG5zOmE9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2Zm
aWNlOmFjY2VzcyIgeG1sbnM6ZHQ9InV1aWQ6QzJGNDEwMTAtNjVCMy0xMWQxLUEyOUYtMDBBQTAw
QzE0ODgyIiB4bWxuczpzPSJ1dWlkOkJEQzZFM0YwLTZEQTMtMTFkMS1BMkEzLTAwQUEwMEMxNDg4
MiIgeG1sbnM6cnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206cm93c2V0IiB4bWxuczp6PSIj
Um93c2V0U2NoZW1hIiB4bWxuczpiPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpw
dWJsaXNoZXIiIHhtbG5zOnNzPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpzcHJl
YWRzaGVldCIgeG1sbnM6Yz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6Y29tcG9u
ZW50OnNwcmVhZHNoZWV0IiB4bWxuczpvZGM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2Zm
aWNlOm9kYyIgeG1sbnM6b2E9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOmFjdGl2
YXRpb24iIHhtbG5zOmh0bWw9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAiIHhtbG5z
OnE9Imh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3NvYXAvZW52ZWxvcGUvIiB4bWxuczpydGM9
Imh0dHA6Ly9taWNyb3NvZnQuY29tL29mZmljZW5ldC9jb25mZXJlbmNpbmciIHhtbG5zOkQ9IkRB
VjoiIHhtbG5zOlJlcGw9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vcmVwbC8iIHhtbG5z
Om10PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29hcC9tZWV0aW5n
cy8iIHhtbG5zOngyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9leGNlbC8y
MDAzL3htbCIgeG1sbnM6cHBkYT0iaHR0cDovL3d3dy5wYXNzcG9ydC5jb20vTmFtZVNwYWNlLnhz
ZCIgeG1sbnM6b2lzPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29h
cC9vaXMvIiB4bWxuczpkaXI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2lu
dC9zb2FwL2RpcmVjdG9yeS8iIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3ht
bGRzaWcjIiB4bWxuczpkc3A9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2lu
dC9kc3AiIHhtbG5zOnVkYz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kYXRhL3VkYyIg
eG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6c3ViPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29hcC8yMDAyLzEvYWxlcnRz
LyIgeG1sbnM6ZWM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jIyIgeG1sbnM6c3A9
Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2ludC8iIHhtbG5zOnNwcz0iaHR0
cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9zaGFyZXBvaW50L3NvYXAvIiB4bWxuczp4c2k9Imh0
dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp1ZGNzPSJodHRw
Oi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RhdGEvdWRjL3NvYXAiIHhtbG5zOnVkY3hmPSJodHRw
Oi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RhdGEvdWRjL3htbGZpbGUiIHhtbG5zOnVkY3AycD0i
aHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kYXRhL3VkYy9wYXJ0dG9wYXJ0IiB4bWxuczp3
Zj0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9zaGFyZXBvaW50L3NvYXAvd29ya2Zsb3cv
IiB4bWxuczpkc3NzPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA2L2Rp
Z3NpZy1zZXR1cCIgeG1sbnM6ZHNzaT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZp
Y2UvMjAwNi9kaWdzaWciIHhtbG5zOm1kc3NpPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0
cy5vcmcvcGFja2FnZS8yMDA2L2RpZ2l0YWwtc2lnbmF0dXJlIiB4bWxuczptdmVyPSJodHRwOi8v
c2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvbWFya3VwLWNvbXBhdGliaWxpdHkvMjAwNiIgeG1s
bnM6bT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4
bWxuczptcmVscz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAw
Ni9yZWxhdGlvbnNoaXBzIiB4bWxuczpzcHdwPSJodHRwOi8vbWljcm9zb2Z0LmNvbS9zaGFyZXBv
aW50L3dlYnBhcnRwYWdlcyIgeG1sbnM6ZXgxMnQ9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5j
b20vZXhjaGFuZ2Uvc2VydmljZXMvMjAwNi90eXBlcyIgeG1sbnM6ZXgxMm09Imh0dHA6Ly9zY2hl
bWFzLm1pY3Jvc29mdC5jb20vZXhjaGFuZ2Uvc2VydmljZXMvMjAwNi9tZXNzYWdlcyIgeG1sbnM6
cHB0c2w9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2ludC9zb2FwL1NsaWRl
TGlicmFyeS8iIHhtbG5zOnNwc2w9Imh0dHA6Ly9taWNyb3NvZnQuY29tL3dlYnNlcnZpY2VzL1No
YXJlUG9pbnRQb3J0YWxTZXJ2ZXIvUHVibGlzaGVkTGlua3NTZXJ2aWNlIiB4bWxuczpaPSJ1cm46
c2NoZW1hcy1taWNyb3NvZnQtY29tOiIgeG1sbnM6c3Q9IiYjMTsiIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PUNvbnRl
bnQtVHlwZSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1ldGEgbmFtZT1H
ZW5lcmF0b3IgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTIgKGZpbHRlcmVkIG1lZGl1bSkiPg0K
PHRpdGxlPlJlOiBbT0FVVEgtV0ddIElzc3VlOiBTY29wZSBwYXJhbWV0ZXI8L3RpdGxlPg0KPHN0
eWxlPg0KPCEtLQ0KIC8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCiBAZm9udC1mYWNlDQoJe2ZvbnQt
ZmFtaWx5OiJDYW1icmlhIE1hdGgiOw0KCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQ0K
QGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUgNSAyIDIg
MiA0IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6VGFob21hOw0KCXBhbm9zZS0x
OjIgMTEgNiA0IDMgNSA0IDQgMiA0O30NCiAvKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KIHAuTXNv
Tm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBpbjsNCgltYXJn
aW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToiVGlt
ZXMgTmV3IFJvbWFuIiwic2VyaWYiO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNv
LXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVy
bGluZTt9DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxl
LXByaW9yaXR5Ojk5Ow0KCWNvbG9yOnB1cnBsZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5l
O30NCnNwYW4uRW1haWxTdHlsZTE3DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsOw0KCWZvbnQt
ZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQoJY29sb3I6IzFGNDk3RDt9DQpzcGFuLkVt
YWlsU3R5bGUxOA0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbDsNCglmb250LWZhbWlseToiQ2Fs
aWJyaSIsInNhbnMtc2VyaWYiOw0KCWNvbG9yOiMxRjQ5N0Q7fQ0Kc3Bhbi5FbWFpbFN0eWxlMTkN
Cgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWw7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5z
LXNlcmlmIjsNCgljb2xvcjojMUY0OTdEO30NCnNwYW4uRW1haWxTdHlsZTIwDQoJe21zby1zdHls
ZS10eXBlOnBlcnNvbmFsOw0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQoJ
Y29sb3I6IzFGNDk3RDt9DQpzcGFuLkVtYWlsU3R5bGUyMQ0KCXttc28tc3R5bGUtdHlwZTpwZXJz
b25hbDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KCWNvbG9yOiMxRjQ5
N0Q7fQ0Kc3Bhbi5FbWFpbFN0eWxlMjINCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWw7DQoJZm9u
dC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsNCgljb2xvcjojMUY0OTdEO30NCnNwYW4u
RW1haWxTdHlsZTIzDQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFt
aWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQoJY29sb3I6IzFGNDk3RDt9DQouTXNvQ2hwRGVm
YXVsdA0KCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsNCglmb250LXNpemU6MTAuMHB0O30N
CkBwYWdlIFNlY3Rpb24xDQoJe3NpemU6OC41aW4gMTEuMGluOw0KCW1hcmdpbjoxLjBpbiAxLjBp
biAxLjBpbiAxLjBpbjt9DQpkaXYuU2VjdGlvbjENCgl7cGFnZTpTZWN0aW9uMTt9DQotLT4NCjwv
c3R5bGU+DQo8IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCiA8bzpzaGFwZWRlZmF1bHRzIHY6ZXh0
PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUg
bXNvIDldPjx4bWw+DQogPG86c2hhcGVsYXlvdXQgdjpleHQ9ImVkaXQiPg0KICA8bzppZG1hcCB2
OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCiA8L286c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5kaWZd
LS0+DQo8L2hlYWQ+DQoNCjxib2R5IGxhbmc9RU4tVVMgbGluaz1ibHVlIHZsaW5rPXB1cnBsZT4N
Cg0KPGRpdiBjbGFzcz1TZWN0aW9uMT4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0eWxl
PSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQpj
b2xvcjojMUY0OTdEJz5JdCBpc27igJl0IGNsZWFyIHRvIG1lIGhvdyB0aG9zZSBvcHRpb25zIGFy
ZSBiZXR0ZXIgZm9yIGludGVyb3AgdGhhbg0KYSBzY29wZSBwYXJhbWV0ZXIgaW4gdGhlIHRva2Vu
IHJlcXVlc3QuIDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxz
cGFuIHN0eWxlPSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1z
ZXJpZiI7DQpjb2xvcjojMUY0OTdEJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQoNCjxw
IGNsYXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls
eToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KY29sb3I6IzFGNDk3RCc+QWxzbywgdGhlIHByb3Bv
c2FsIGZvcmNlcyB0aGUgcHJvdGVjdGVkIHJlc291cmNlIHRvIGtub3cgdGhlIGNvbnRleHQNCm9m
IHRoZSByZXF1ZXN0IGFuZCByZXNwb25kIHdpdGggdGhlIGFwcHJvcHJpYXRlIFVSSS4gVGhpcyBz
aW1wbHkgd29u4oCZdCB3b3JrIGluDQptYW55IHNpdHVhdGlvbnMuIEZvciBleGFtcGxlLCBsZXTi
gJlzIHNheSBmb28uY29tIGFuZCBiYXIuY29tIG1heSBiZSBidW5kbGVkIGFuZA0KYXZhaWxhYmxl
IGluZGl2aWR1YWx5LiBBIGNsaWVudCBtaWdodCBuZWVkIG9uZSBhY2Nlc3MgdG9rZW4gdGhhdCBn
cmFudHMNCnBlcm1pc3Npb24gdG8gYm90aCByZXNvdXJjZXMsIGFub3RoZXIgY2xpZW50IG1pZ2h0
IG9ubHkgZ2V0IGFuIGFjY2VzcyB0b2tlbg0KdGhhdCBncmFudHMgcGVybWlzc2lvbiB0byBvbmUg
cmVzb3VyY2UuIFdpdGggdGhlIHByb3Bvc2FsIGJlbG93LCBmb28uY29tIGNhbuKAmXQgcmVzcG9u
ZA0Kd2l0aCB0aGUgY29ycmVjdCB2YWx1ZSBpbiB0aGUgNDAxIChzaG91bGQgdGhlIFVSSSByZWZl
cmVuY2UgdGhlIGluZGl2aWR1YWwNCnNlcnZpY2Ugb3IgdGhlIGJ1bmRsZSkuPG86cD48L286cD48
L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZTox
MS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsNCmNvbG9yOiMxRjQ5N0Qn
PjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFu
IHN0eWxlPSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJp
ZiI7DQpjb2xvcjojMUY0OTdEJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQoNCjxkaXY+
DQoNCjxkaXYgc3R5bGU9J2JvcmRlcjpub25lO2JvcmRlci10b3A6c29saWQgI0I1QzRERiAxLjBw
dDtwYWRkaW5nOjMuMHB0IDBpbiAwaW4gMGluJz4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxiPjxz
cGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUYWhvbWEiLCJzYW5zLXNl
cmlmIic+RnJvbTo8L3NwYW4+PC9iPjxzcGFuDQpzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250
LWZhbWlseToiVGFob21hIiwic2Fucy1zZXJpZiInPiBNYW5nZXIsIEphbWVzIEgNClttYWlsdG86
SmFtZXMuSC5NYW5nZXJAdGVhbS50ZWxzdHJhLmNvbV0gPGJyPg0KPGI+U2VudDo8L2I+IFRodXJz
ZGF5LCBBcHJpbCAxNSwgMjAxMCA5OjQ0IFBNPGJyPg0KPGI+VG86PC9iPiBKdXN0aW4gU21pdGg7
IE9BdXRoIFdHPGJyPg0KPGI+U3ViamVjdDo8L2I+IFJFOiBbT0FVVEgtV0ddIElzc3VlOiBTY29w
ZSBwYXJhbWV0ZXI8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjwvZGl2Pg0KDQo8L2Rpdj4NCg0K
PHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFzcz1Nc29O
b3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTEu
MHB0Ow0KZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjtjb2xvcjojMUY0OTdEJz4m
Z3Q7IFNvLCBsZXTigJlzIHNheSB0aGVyZSBpcw0KYW4gQXV0aG9yaXphdGlvbiBTZXJ2ZXIgYXZh
aWxhYmxlIGF0IDxhIGhyZWY9Imh0dHA6Ly9hcy5jb20iPmh0dHA6Ly9hcy5jb208L2E+DQphbmQg
aXQgcHJvdGVjdHMgdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb28uY29tIj5odHRwOi8vZm9vLmNvbTwv
YT4gYW5kIDxhDQpocmVmPSJodHRwOi8vYmFyLmNvbSI+aHR0cDovL2Jhci5jb208L2E+IHJlc291
cmNlcy48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0n
bWFyZ2luLWxlZnQ6LjVpbic+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMS4wcHQ7DQpmb250LWZh
bWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiO2NvbG9yOiMxRjQ5N0QnPjxvOnA+Jm5ic3A7PC9v
OnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDou
NWluJz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjExLjBwdDsNCmZvbnQtZmFtaWx5OiJDYWxpYnJp
Iiwic2Fucy1zZXJpZiI7Y29sb3I6IzFGNDk3RCc+Jmd0OyBBIGNsaWVudCByZXF1ZXN0cyAmbmJz
cDs8YQ0KaHJlZj0iaHR0cDovL2Zvby5jb20iPmh0dHA6Ly9mb28uY29tPC9hPi4gVGhlIGZvby5j
b20gc2VydmVyIHJlc3BvbmRzIHdpdGggYQ0KV1dXLUF1dGggdGhhdCBjb250YWlucyB0aGUgPGEg
aHJlZj0iaHR0cDovL2FzLmNvbSI+aHR0cDovL2FzLmNvbTwvYT4gVVJJLiBUaGUNCmNsaWVudCB0
aGVuIHNlbmRzIGFuIGFjY2VzcyB0b2tlbiByZXF1ZXN0IHRvIDxhIGhyZWY9Imh0dHA6Ly9hcy5j
b20iPmh0dHA6Ly9hcy5jb208L2E+Lg0KSXMgdGhhdCByaWdodD88bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+PHNwYW4g
c3R5bGU9J2ZvbnQtc2l6ZToxMS4wcHQ7DQpmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2Vy
aWYiO2NvbG9yOiMxRjQ5N0QnPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xh
c3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz48c3BhbiBzdHlsZT0nZm9udC1z
aXplOjExLjBwdDsNCmZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7Y29sb3I6IzFG
NDk3RCc+Jmd0OyBJZiBzbywgdGhlbiBob3cgZG9lcyA8YQ0KaHJlZj0iaHR0cDovL2FzLmNvbSI+
aHR0cDovL2FzLmNvbTwvYT4ga25vdyB0aGF0IHRoZSBpbnRlbmRlZCByZXNvdXJjZSBpcyA8YQ0K
aHJlZj0iaHR0cDovL2Zvby5jb20iPmh0dHA6Ly9mb28uY29tPC9hPj8gPG86cD48L286cD48L3Nw
YW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxz
cGFuIHN0eWxlPSdmb250LXNpemU6MTEuMHB0Ow0KZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5z
LXNlcmlmIjtjb2xvcjojMUY0OTdEJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQoNCjxw
IGNsYXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls
eToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KY29sb3I6IzFGNDk3RCc+PG86cD4mbmJzcDs8L286
cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6
ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsNCmNvbG9yOiMxRjQ5
N0QnPkZvby5jb20gc2hvdWxkIHBvaW50IHRoZSBjbGllbnQgYXQsIHNheSwgPGENCmhyZWY9Imh0
dHA6Ly9hcy5jb20vZm9vLyI+aHR0cDovL2FzLmNvbS9mb28vPC9hPiBvciA8YSBocmVmPSJodHRw
Oi8vZm9vLmFzLmNvbS8iPmh0dHA6Ly9mb28uYXMuY29tLzwvYT4NCm9yIDxhIGhyZWY9Imh0dHA6
Ly9hcy5jb20vP3Njb3BlPWZvbyI+aHR0cDovL2FzLmNvbS8/c2NvcGU9Zm9vPC9hPiBvciA8YQ0K
aHJlZj0iaHR0cDovL2FzLmNvbS8/ZW5jcnlwdGVkX3Jlc291cmNlX2lkPTI3MzY0ODI2NDI4NzY0
MiI+aHR0cDovL2FzLmNvbS8/ZW5jcnlwdGVkX3Jlc291cmNlX2lkPTI3MzY0ODI2NDI4NzY0Mjwv
YT4NCm9yIHdoYXRldmVyIGl0IGhhcyBhZ3JlZWQgdG8gd2l0aCBpdHMgQVMuPG86cD48L286cD48
L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZTox
MS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsNCmNvbG9yOiMxRjQ5N0Qn
PlRoZSBXV1ctQXV0aCByZXNwb25zZSBmcm9tIGZvby5jb20gc2hvdWxkIG5vdCBiZSBqdXN0IDxh
DQpocmVmPSJodHRwOi8vYXMuY29tIj5odHRwOi8vYXMuY29tPC9hPi48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjExLjBw
dDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KY29sb3I6IzFGNDk3RCc+Rm9v
IGlzIG11Y2ggYmV0dGVyIHBsYWNlZCB0byBrbm93IGl0IHNoYXJlcyBhcy5jb20gd2l0aCBCYXIg
dGhhbg0KYSBjbGllbnQgaXMuPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29O
b3JtYWw+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmki
LCJzYW5zLXNlcmlmIjsNCmNvbG9yOiMxRjQ5N0QnPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwv
cD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQpjb2xvcjojMUY0OTdEJz4tLTxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0eWxlPSdmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQpjb2xvcjoj
MUY0OTdEJz5KYW1lcyBNYW5nZXI8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjwvZGl2Pg0KDQo8
L2JvZHk+DQoNCjwvaHRtbD4NCg==

--_000_191F411E00E19F4E943ECDB6D65C60851691FCA9TK5EX14MBXC115r_--

From James.H.Manger@team.telstra.com  Fri Apr 16 08:39:12 2010
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 111043A6B82 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 08:39:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.058
X-Spam-Level: *
X-Spam-Status: No, score=1.058 tagged_above=-999 required=5 tests=[AWL=-0.642,  BAYES_50=0.001, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, HTML_MESSAGE=0.001, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ru8B6LhOjOY1 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 08:39:11 -0700 (PDT)
Received: from ipxavo.tcif.telstra.com.au (ipxavo.tcif.telstra.com.au [203.35.135.200]) by core3.amsl.com (Postfix) with ESMTP id C225028C1B0 for <oauth@ietf.org>; Fri, 16 Apr 2010 08:38:23 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.52,220,1270389600"; d="scan'208,217";a="1116609"
Received: from unknown (HELO ipcavi.tcif.telstra.com.au) ([10.97.217.200]) by ipoavi.tcif.telstra.com.au with ESMTP; 17 Apr 2010 01:38:12 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,5953"; a="806652"
Received: from wsmsg3702.srv.dir.telstra.com ([172.49.40.170]) by ipcavi.tcif.telstra.com.au with ESMTP; 17 Apr 2010 01:38:12 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by WSMSG3702.srv.dir.telstra.com ([172.49.40.170]) with mapi; Sat, 17 Apr 2010 01:38:11 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: OAuth WG <oauth@ietf.org>
Date: Sat, 17 Apr 2010 01:38:10 +1000
Thread-Topic: [OAUTH-WG] application/credentials
Thread-Index: AcrdetFHNUJA8QVATJuo3/dcWZIMsQ==
Message-ID: <255B9BB34FB7D647A506DC292726F6E112575922E9@WSMSG3153V.srv.dir.telstra.com>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-AU
Content-Type: multipart/alternative; boundary="_000_255B9BB34FB7D647A506DC292726F6E112575922E9WSMSG3153Vsrv_"
MIME-Version: 1.0
Subject: [OAUTH-WG]  application/credentials
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 15:39:12 -0000

--_000_255B9BB34FB7D647A506DC292726F6E112575922E9WSMSG3153Vsrv_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

T25lIHRoaW5nIG1pc3NpbmcgZnJvbSB0aGUgY3VycmVudCBhY2Nlc3MgdG9rZW4gcmVzcG9uc2Vz
IGlzIGFueSBpbmRpY2F0aW9uIG9mIHdoZXJlIHRoZSB0b2tlbiBjYW4gYmUgdXNlZC4NCg0KDQoN
ClRoaXMgc2VlbXMgcG90ZW50aWFsbHkgZGFuZ2Vyb3VzIGFzIHRoZSB0b2tlbiBtaWdodCBiZSBp
bmNsdWRlZCB3aGVuLCBzYXksIGZvbGxvd2luZyBsaW5rcyBvciByZWRpcmVjdHMgZnJvbSBhIHBy
b3RlY3RlZCByZXNvdXJjZS4NCg0KDQoNClRoZSBzb2x1dGlvbiBpcyBwcm9iYWJseSBmYWlybHkg
ZWFzeTogc3BlY2lmeSB0aGUgbGlzdCBvZiBzZXJ2aWNlcyB3aGVyZSB0aGUgdG9rZW4gY2FuIGJl
IHVzZWQgd2hlbiB0aGUgdG9rZW4gaXMgaXNzdWVkLg0KDQoxLiBBIGxpc3Qgb2YgZG9tYWlucz8N
Cg0KMi4gQSBsaXN0IG9mIOKAnG9yaWdpbnPigJ0gKHNjaGVtZTovL2hvc3Q6cG9ydCk/DQoNCjMu
IEFsbG93IGEgd2lsZGNhcmQsIGVnICouZXhhbXBsZS5jb20/DQoNCknigJlsbCBwaWNrICMyLg0K
DQpFeGFtcGxlOiBzaXRlcz1odHRwczovL2FwaS5leGFtcGxlLmNvbSBodHRwOi8vcGhvdG8uZXhh
bXBsZS5jb20NCg0KDQoNCk90aGVycyBoYXZlIG5vdGVkIHRoZSBzaW1pbGFyaXRpZXMgYmV0d2Vl
biBhIGJlYXJlciB0b2tlbiBhbmQgYSBjb29raWUuIENvb2tpZXMgaW5kaWNhdGUgd2hlcmUgdGhl
eSBjYW4gYmUgdXNlZC4gVGhleSBhbHNvIGhhdmUgc29tZSBvdGhlciBtZXRhLWRhdGEgdGhhdCBt
aWdodCBoZWxwIHRva2Vucy4gRm9yIGluc3RhbmNlLCBhIOKAmHNlY3VyZeKAmSBmaWVsZCBpbmRp
Y2F0aW5nIHRoYXQgdGhlIHRva2VuIG11c3Qgbm90IGJlIHVzZWQgd2l0aG91dCBodHRwcy4NCg0K
DQoNCg0KDQpBbGwgdGhpcyBpbmZvcm1hdGlvbiBkZXNjcmliaW5nIHRoZSB0b2tlbiBkZXNlcnZl
cyBpdHMgb3duIG1lZGlhIHR5cGUuDQoNCk15IHN1Z2dlc3Rpb246IGFwcGxpY2F0aW9uL2NyZWRl
bnRpYWxzLg0KDQoNCg0KSXQgY291bGQga2VlcCB0aGUgZXhpc3Rpbmcgc3ludGF4LCBidXQgYSBs
aXR0bGUgbW9yZSBzdHJ1Y3R1cmUgZnJvbSBhIHN5bnRheCBzdWNoIGFzIEpTT04gbWlnaHQgYmUg
ZWFzaWVyLiBUaGF0IHdvdWxkIGFsc28gbWFrZSBpdCBlYXNpZXIgdG8gaW5jbHVkZSBtdWx0aXBs
ZSB0b2tlbnMgKGVnIGEgYmVhcmVyIHRva2VuLCBhbm90aGVyIHdpdGggYSBzZWNyZXQsIGFub3Ro
ZXIgZm9yIGEgc3BlY2lmaWMgc2VydmljZSkuDQoNCg0KDQpUaGUgcmVmcmVzaF90b2tlbiBmaWVs
ZCB3b3VsZCBiZSBiZXR0ZXIgdGhvdWdodCBvZiBhcyBhIFVSSSBmb3IgYSB0b2tlbiByZXNvdXJj
ZS4NCg0KDQoNCkV4YW1wbGU6DQoNCg0KDQpDLT5TOg0KDQogIFBPU1QgL3Rva2VuLyBIVFRQLzEu
MQ0KDQogIOKApg0KDQpDPC1TOg0KDQogIEhUVFAvMS4xIDIwMCBPSw0KDQogIENvbnRlbnQtdHlw
ZTogYXBwbGljYXRpb24vY3JlZGVudGlhbHMNCg0KDQoNCiAgew0KDQogICAg4oCcbG9jYXRpb27i
gJ064oCdaHR0cDovL2FzLmV4YW1wbGUuY29tL3Rva2VuLzc2ODc1NjM0NTc2Mzg3NjM0NzY1Mzc0
4oCdLA0KDQogICAg4oCcZXhwaXJlc19pbuKAnTozNjAwLA0KDQogICAg4oCcY3JlZGVudGlhbHPi
gJ06ew0KDQogICAgIHsg4oCcc2NoZW1l4oCdOuKAnVRPS0VO4oCdLCDigJxzaXRlc+KAnTpb4oCc
aHR0cHM6Ly9hcGkuZXhhbXBsZS5jb23igJ0sIOKAnGh0dHA6Ly9waG90by5leGFtcGxlLmNvbeKA
nV0sDQoNCiAgICAgICAgIOKAnHJlYWxt4oCdOuKAnUdlbmVyYWwgYXBwc+KAnSwg4oCcaWTigJ06
4oCdSEdGNjc2dDdmNmY3RjY3ZmZyNzZmZuKAnSB9LA0KDQogICAgIHsg4oCcc2NoZW1l4oCdOuKA
nUJBU0lD4oCdLCDigJxzaXRlc+KAnTpb4oCcaHR0cHM6Ly9ibG9nLmV4YW1wbGUuY29t4oCdXSwN
Cg0KICAgICAgICAg4oCccmVhbG3igJ064oCdR2VuZXJhbCBhcHBz4oCdLCDigJxpZOKAnTrigJ1k
R0ZEZGQ0NjQ0NjREZGZk4oCdLCDigJxzZWNyZXTigJ064oCddHV0dlQ2N3ZWNzZ0dlR0dlR2VHbi
gJ0gfQ0KDQogICAgfQ0KDQogIH0NCg0KDQoNCg0KDQpVc2UgdGhlIOKAnGxvY2F0aW9u4oCdIGZp
ZWxkIHRvIHJlZnJlc2ggKG9yIGRlbGV0ZSkgdGhlIHRva2VuLg0KDQoNCg0KLS0NCg0KSmFtZXMg
TWFuZ2VyDQoNCg0KDQo=

--_000_255B9BB34FB7D647A506DC292726F6E112575922E9WSMSG3153Vsrv_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTIgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
Pg0KPCEtLQ0KIC8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCiBAZm9udC1mYWNlDQoJe2ZvbnQtZmFt
aWx5OiJDYW1icmlhIE1hdGgiOw0KCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQ0KQGZv
bnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0
IDMgMiA0O30NCiAvKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KIHAuTXNvTm9ybWFsLCBsaS5Nc29O
b3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4wMDAx
cHQ7DQoJZm9udC1zaXplOjExLjBwdDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2Vy
aWYiO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5
Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQphOnZpc2l0ZWQs
IHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNv
bG9yOnB1cnBsZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCnNwYW4uRW1haWxTdHls
ZTE3DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLWNvbXBvc2U7DQoJZm9udC1mYW1pbHk6IkNh
bGlicmkiLCJzYW5zLXNlcmlmIjsNCgljb2xvcjp3aW5kb3d0ZXh0O30NCi5Nc29DaHBEZWZhdWx0
DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5O30NCkBwYWdlIFNlY3Rpb24xDQoJe3NpemU6
NjEyLjBwdCA3OTIuMHB0Ow0KCW1hcmdpbjo3Mi4wcHQgNzIuMHB0IDcyLjBwdCA3Mi4wcHQ7fQ0K
ZGl2LlNlY3Rpb24xDQoJe3BhZ2U6U2VjdGlvbjE7fQ0KLS0+DQo8L3N0eWxlPjwhLS1baWYgZ3Rl
IG1zbyA5XT48eG1sPg0KIDxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEw
MjYiIC8+DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCiA8bzpz
aGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQogIDxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIx
IiAvPg0KIDwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4NCjwvaGVhZD4NCjxib2R5
IGxhbmc9IkVOLUFVIiBsaW5rPSJibHVlIiB2bGluaz0icHVycGxlIj4NCjxkaXYgY2xhc3M9IlNl
Y3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPk9uZSB0aGluZyBtaXNzaW5nIGZyb20gdGhl
IGN1cnJlbnQgYWNjZXNzIHRva2VuIHJlc3BvbnNlcyBpcyBhbnkgaW5kaWNhdGlvbiBvZiB3aGVy
ZSB0aGUgdG9rZW4gY2FuIGJlIHVzZWQuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRoaXMgc2Vl
bXMgcG90ZW50aWFsbHkgZGFuZ2Vyb3VzIGFzIHRoZSB0b2tlbiBtaWdodCBiZSBpbmNsdWRlZCB3
aGVuLCBzYXksIGZvbGxvd2luZyBsaW5rcyBvciByZWRpcmVjdHMgZnJvbSBhIHByb3RlY3RlZCBy
ZXNvdXJjZS48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7
PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VGhlIHNvbHV0aW9uIGlzIHByb2JhYmx5
IGZhaXJseSBlYXN5OiBzcGVjaWZ5IHRoZSBsaXN0IG9mIHNlcnZpY2VzIHdoZXJlIHRoZSB0b2tl
biBjYW4gYmUgdXNlZCB3aGVuIHRoZSB0b2tlbiBpcyBpc3N1ZWQuPG86cD48L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj4xLiBBIGxpc3Qgb2YgZG9tYWlucz88bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjIuIEEgbGlzdCBvZiDigJxvcmlnaW5z4oCdIChzY2hlbWU6
Ly9ob3N0OnBvcnQpPzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+My4gQWxs
b3cgYSB3aWxkY2FyZCwgZWcgKi5leGFtcGxlLmNvbT88bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPknigJlsbCBwaWNrICMyLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+RXhhbXBsZTogc2l0ZXM9aHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20gaHR0cDovL3Bo
b3RvLmV4YW1wbGUuY29tPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpw
PiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPk90aGVycyBoYXZlIG5vdGVk
IHRoZSBzaW1pbGFyaXRpZXMgYmV0d2VlbiBhIGJlYXJlciB0b2tlbiBhbmQgYSBjb29raWUuIENv
b2tpZXMgaW5kaWNhdGUgd2hlcmUgdGhleSBjYW4gYmUgdXNlZC4gVGhleSBhbHNvIGhhdmUgc29t
ZSBvdGhlciBtZXRhLWRhdGEgdGhhdCBtaWdodCBoZWxwIHRva2Vucy4gRm9yIGluc3RhbmNlLCBh
IOKAmHNlY3VyZeKAmSBmaWVsZCBpbmRpY2F0aW5nIHRoYXQgdGhlIHRva2VuIG11c3Qgbm90DQog
YmUgdXNlZCB3aXRob3V0IGh0dHBzLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNw
OzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkFsbCB0aGlzIGluZm9ybWF0aW9uIGRl
c2NyaWJpbmcgdGhlIHRva2VuIGRlc2VydmVzIGl0cyBvd24gbWVkaWEgdHlwZS48bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPk15IHN1Z2dlc3Rpb246IGFwcGxpY2F0aW9uL2Ny
ZWRlbnRpYWxzLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJz
cDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5JdCBjb3VsZCBrZWVwIHRoZSBleGlz
dGluZyBzeW50YXgsIGJ1dCBhIGxpdHRsZSBtb3JlIHN0cnVjdHVyZSBmcm9tIGEgc3ludGF4IHN1
Y2ggYXMgSlNPTiBtaWdodCBiZSBlYXNpZXIuIFRoYXQgd291bGQgYWxzbyBtYWtlIGl0IGVhc2ll
ciB0byBpbmNsdWRlIG11bHRpcGxlIHRva2VucyAoZWcgYSBiZWFyZXIgdG9rZW4sIGFub3RoZXIg
d2l0aCBhIHNlY3JldCwgYW5vdGhlciBmb3IgYSBzcGVjaWZpYyBzZXJ2aWNlKS48bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+VGhlIHJlZnJlc2hfdG9rZW4gZmllbGQgd291bGQgYmUgYmV0dGVyIHRo
b3VnaHQgb2YgYXMgYSBVUkkgZm9yIGEgdG9rZW4gcmVzb3VyY2UuPG86cD48L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPkV4YW1wbGU6PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpw
PiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkMtJmd0O1M6PG86cD48L286
cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDsgUE9TVCAvdG9rZW4vIEhUVFAvMS4x
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDsg4oCmPG86cD48L286
cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5DJmx0Oy1TOjxvOnA+PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7Jm5ic3A7SFRUUC8xLjEgMjAwIE9LPG86cD48L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDsgQ29udGVudC10eXBlOiBhcHBsaWNhdGlv
bi9jcmVkZW50aWFscyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA8bzpwPjwvbzpwPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+Jm5ic3A7IHs8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNw
OyZuYnNwOyZuYnNwOyDigJxsb2NhdGlvbuKAnTrigJ1odHRwOi8vYXMuZXhhbXBsZS5jb20vdG9r
ZW4vNzY4NzU2MzQ1NzYzODc2MzQ3NjUzNzTigJ0sPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj4mbmJzcDsmbmJzcDsmbmJzcDsg4oCcZXhwaXJlc19pbuKAnTozNjAwLDxvOnA+
PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7IOKAnGNy
ZWRlbnRpYWxz4oCdOns8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyB7IOKAnHNjaGVtZeKAnTrigJ1UT0tFTuKAnSwg4oCcc2l0ZXPi
gJ06W+KAnGh0dHBzOi8vYXBpLmV4YW1wbGUuY29t4oCdLCDigJxodHRwOi8vcGhvdG8uZXhhbXBs
ZS5jb23igJ1dLDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IOKAnHJlYWxt4oCdOuKAnUdl
bmVyYWwgYXBwc+KAnSwg4oCcaWTigJ064oCdSEdGNjc2dDdmNmY3RjY3ZmZyNzZmZuKAnSB9LDxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7IHsg4oCcc2NoZW1l4oCdOuKAnUJBU0lD4oCdLCDigJxzaXRlc+KAnTpb4oCcaHR0cHM6Ly9i
bG9nLmV4YW1wbGUuY29t4oCdXSw8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyDigJxyZWFs
beKAnTrigJ1HZW5lcmFsIGFwcHPigJ0sIOKAnGlk4oCdOuKAnWRHRkRkZDQ2NDQ2NERkZmTigJ0s
IOKAnHNlY3JldOKAnTrigJ10dXR2VDY3dlY3NnR2VHR2VHZUduKAnSB9PG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDsgJm5ic3A7Jm5ic3A7fTxvOnA+PC9vOnA+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7IH08bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5Vc2UgdGhlIOKAnGxv
Y2F0aW9u4oCdIGZpZWxkIHRvIHJlZnJlc2ggKG9yIGRlbGV0ZSkgdGhlIHRva2VuLjxvOnA+PC9v
OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj4tLSA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PkphbWVzIE1hbmdlcjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4m
bmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==

--_000_255B9BB34FB7D647A506DC292726F6E112575922E9WSMSG3153Vsrv_--

From eran@hueniverse.com  Fri Apr 16 08:51:30 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6A81F28C0F9 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 08:51:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.456
X-Spam-Level: 
X-Spam-Status: No, score=-2.456 tagged_above=-999 required=5 tests=[AWL=0.142,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uq2vJ0S+rHZC for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 08:51:25 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id EA8E43A67C2 for <oauth@ietf.org>; Fri, 16 Apr 2010 08:51:24 -0700 (PDT)
Received: (qmail 22729 invoked from network); 16 Apr 2010 15:51:18 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 16 Apr 2010 15:51:16 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Fri, 16 Apr 2010 08:51:16 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Justin Smith <justinsm@microsoft.com>, OAuth WG <oauth@ietf.org>
Date: Fri, 16 Apr 2010 08:51:12 -0700
Thread-Topic: [OAUTH-WG] Issue: Scope parameter
Thread-Index: AQHK3NEWvq+1OOTFrkS1RWT2flQ40pIkXsgAgAADXwCAAAODAP//ySWwgAAfiRCAACcXIIAAAxeggAAHW5CAAAKQEIAAsiuwgAALCA0=
Message-ID: <C7EDD580.32401%eran@hueniverse.com>
In-Reply-To: <191F411E00E19F4E943ECDB6D65C60851691FCA9@TK5EX14MBXC115.redmond.corp.microsoft.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7EDD58032401eranhueniversecom_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 15:51:30 -0000

--_000_C7EDD58032401eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

You are make my point. A scope parameter is useless without another vendor-=
specific spec in which case the vendor spec can define its own scope parame=
ter. The argument of library support doesn't hold because libraries must pa=
ss any extension parameter anyway.

If people still want a scope parameter, they must define it in a way that i=
t doesn't require vendor-specific knowledge. I am not sure this is possible=
 or that useful.

EHL


On 4/16/10 8:25 AM, "Justin Smith" <justinsm@microsoft.com> wrote:

It isn't clear to me how those options are better for interop than a scope =
parameter in the token request.

Also, the proposal forces the protected resource to know the context of the=
 request and respond with the appropriate URI. This simply won't work in ma=
ny situations. For example, let's say foo.com and bar.com may be bundled an=
d available individualy. A client might need one access token that grants p=
ermission to both resources, another client might only get an access token =
that grants permission to one resource. With the proposal below, foo.com ca=
n't respond with the correct value in the 401 (should the URI reference the=
 individual service or the bundle).



From: Manger, James H [mailto:James.H.Manger@team.telstra.com]
Sent: Thursday, April 15, 2010 9:44 PM
To: Justin Smith; OAuth WG
Subject: RE: [OAUTH-WG] Issue: Scope parameter

> So, let's say there is an Authorization Server available at http://as.com=
 and it protects the http://foo.com and http://bar.com resources.

> A client requests  http://foo.com. The foo.com server responds with a WWW=
-Auth that contains the http://as.com URI. The client then sends an access =
token request to http://as.com. Is that right?

> If so, then how does http://as.com know that the intended resource is htt=
p://foo.com?


Foo.com should point the client at, say, http://as.com/foo/ or http://foo.a=
s.com/ or http://as.com/?scope=3Dfoo or http://as.com/?encrypted_resource_i=
d=3D273648264287642 or whatever it has agreed to with its AS.
The WWW-Auth response from foo.com should not be just http://as.com.
Foo is much better placed to know it shares as.com with Bar than a client i=
s.

--
James Manger


--_000_C7EDD58032401eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Issue: Scope parameter</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>You are make my point. A scope parameter is useless without another v=
endor-specific spec in which case the vendor spec can define its own scope =
parameter. The argument of library support doesn&#8217;t hold because libra=
ries must pass any extension parameter anyway.<BR>
<BR>
If people still want a scope parameter, they must define it in a way that i=
t doesn&#8217;t require vendor-specific knowledge. I am not sure this is po=
ssible or that useful.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/16/10 8:25 AM, &quot;Justin Smith&quot; &lt;<a href=3D"justinsm@micros=
oft.com">justinsm@microsoft.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'><FONT COLOR=3D"#1F497D">It isn&#8217;t clea=
r to me how those options are better for interop than a scope parameter in =
the token request. <BR>
&nbsp;<BR>
Also, the proposal forces the protected resource to know the context of the=
 request and respond with the appropriate URI. This simply won&#8217;t work=
 in many situations. For example, let&#8217;s say foo.com and bar.com may b=
e bundled and available individualy. A client might need one access token t=
hat grants permission to both resources, another client might only get an a=
ccess token that grants permission to one resource. With the proposal below=
, foo.com can&#8217;t respond with the correct value in the 401 (should the=
 URI reference the individual service or the bundle).<BR>
&nbsp;<BR>
&nbsp;<BR>
</FONT><BR>
</SPAN></FONT><FONT SIZE=3D"2"><FONT FACE=3D"Tahoma, Verdana, Helvetica, Ar=
ial"><SPAN STYLE=3D'font-size:10pt'><B>From:</B> Manger, James H [<a href=
=3D"mailto:James.H.Manger@team.telstra.com">mailto:James.H.Manger@team.tels=
tra.com</a>] <BR>
<B>Sent:</B> Thursday, April 15, 2010 9:44 PM<BR>
<B>To:</B> Justin Smith; OAuth WG<BR>
<B>Subject:</B> RE: [OAUTH-WG] Issue: Scope parameter<BR>
</SPAN></FONT></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-siz=
e:12pt'> <BR>
</SPAN></FONT><FONT COLOR=3D"#1F497D"><FONT FACE=3D"Calibri, Verdana, Helve=
tica, Arial"><SPAN STYLE=3D'font-size:11pt'>&gt; So, let&#8217;s say there =
is an Authorization Server available at <a href=3D"http://as.com">http://as=
.com</a> and it protects the <a href=3D"http://foo.com">http://foo.com</a> =
and <a href=3D"http://bar.com">http://bar.com</a> resources.<BR>
&nbsp;<BR>
&gt; A client requests &nbsp;<a href=3D"http://foo.com">http://foo.com</a>.=
 The foo.com server responds with a WWW-Auth that contains the <a href=3D"h=
ttp://as.com">http://as.com</a> URI. The client then sends an access token =
request to <a href=3D"http://as.com">http://as.com</a>. Is that right?<BR>
&nbsp;<BR>
&gt; If so, then how does <a href=3D"http://as.com">http://as.com</a> know =
that the intended resource is <a href=3D"http://foo.com">http://foo.com</a>=
? <BR>
&nbsp;<BR>
&nbsp;<BR>
Foo.com should point the client at, say, <a href=3D"http://as.com/foo/">htt=
p://as.com/foo/</a> or <a href=3D"http://foo.as.com/">http://foo.as.com/</a=
> or <a href=3D"http://as.com/?scope=3Dfoo">http://as.com/?scope=3Dfoo</a> =
or <a href=3D"http://as.com/?encrypted_resource_id=3D273648264287642">http:=
//as.com/?encrypted_resource_id=3D273648264287642</a> or whatever it has ag=
reed to with its AS.<BR>
The WWW-Auth response from foo.com should not be just <a href=3D"http://as.=
com">http://as.com</a>.<BR>
Foo is much better placed to know it shares as.com with Bar than a client i=
s.<BR>
&nbsp;<BR>
--<BR>
James Manger<BR>
</SPAN></FONT></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPA=
N STYLE=3D'font-size:11pt'><BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7EDD58032401eranhueniversecom_--

From rbarnes@bbn.com  Fri Apr 16 09:07:13 2010
Return-Path: <rbarnes@bbn.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9F3553A6955 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 09:07:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.537
X-Spam-Level: 
X-Spam-Status: No, score=-2.537 tagged_above=-999 required=5 tests=[AWL=0.062,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4oFynD8oRgYH for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 09:07:12 -0700 (PDT)
Received: from smtp.bbn.com (smtp.bbn.com [128.33.0.80]) by core3.amsl.com (Postfix) with ESMTP id 2B77B28C1A0 for <oauth@ietf.org>; Fri, 16 Apr 2010 09:07:12 -0700 (PDT)
Received: from [192.1.255.202] (port=52287 helo=col-dhcp-192-1-255-202.bbn.com) by smtp.bbn.com with esmtp (Exim 4.71 (FreeBSD)) (envelope-from <rbarnes@bbn.com>) id 1O2o4O-0001Ti-NT; Fri, 16 Apr 2010 12:07:04 -0400
Message-Id: <8A26702A-61B6-42F5-ADA2-71B086F9C8B6@bbn.com>
From: Richard Barnes <rbarnes@bbn.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
In-Reply-To: <C7EC9B65.32320%eran@hueniverse.com>
Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (Apple Message framework v936)
Date: Fri, 16 Apr 2010 12:07:03 -0400
References: <C7EC9B65.32320%eran@hueniverse.com>
X-Mailer: Apple Mail (2.936)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Shorter authorization endpoint type names
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 16:07:13 -0000

Why do we need to label the requests according to which flow they  
belong to?

Apologies if this is a dumb question; haven't read the latest draft.


On Apr 15, 2010, at 1:31 PM, Eran Hammer-Lahav wrote:

> I renamed the values of the 'type' parameter as follows:
>
> WC-A: web_callback_access_request
> WC-T: web_callback_token_request
> NA-A: native_app_access_request
> NA-T: native_app_token_request
> UA-A: user_agent_request
> DV-A: device_access_request
> DV-T: device_token_request
> UP-T: username_password_request
> CC-T: client_cred_request
> AS-T: assertion_request
>
> R-T: refresh_token
>
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From rbarnes@bbn.com  Fri Apr 16 09:08:10 2010
Return-Path: <rbarnes@bbn.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0A89C3A68ED for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 09:08:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.542
X-Spam-Level: 
X-Spam-Status: No, score=-2.542 tagged_above=-999 required=5 tests=[AWL=0.057,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5tGkKzfFFrpg for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 09:08:09 -0700 (PDT)
Received: from smtp.bbn.com (smtp.bbn.com [128.33.0.80]) by core3.amsl.com (Postfix) with ESMTP id BDA5228C1CE for <oauth@ietf.org>; Fri, 16 Apr 2010 09:08:07 -0700 (PDT)
Received: from [192.1.255.202] (port=52287 helo=col-dhcp-192-1-255-202.bbn.com) by smtp.bbn.com with esmtp (Exim 4.71 (FreeBSD)) (envelope-from <rbarnes@bbn.com>) id 1O2o5I-0001Ti-9A; Fri, 16 Apr 2010 12:08:00 -0400
Message-Id: <F74CD1E6-8B47-4F42-8E08-6F31CB6174B5@bbn.com>
From: Richard Barnes <rbarnes@bbn.com>
To: David Recordon <recordond@gmail.com>
In-Reply-To: <h2sfd6741651004151222of48b86c7pedd36f9d653d607e@mail.gmail.com>
Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (Apple Message framework v936)
Date: Fri, 16 Apr 2010 12:08:00 -0400
References: <C7ECB32C.3235C%eran@hueniverse.com> <h2sfd6741651004151222of48b86c7pedd36f9d653d607e@mail.gmail.com>
X-Mailer: Apple Mail (2.936)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: add refresh token as optional in all access token requests
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 16:08:10 -0000

Sure, this seems sensible, especially with the *optional* part.



On Apr 15, 2010, at 3:22 PM, David Recordon wrote:

> +1, remember discussing this a week or so ago on the list
>
> On Thu, Apr 15, 2010 at 12:12 PM, Eran Hammer-Lahav <eran@hueniverse.com 
> > wrote:
>> Not all the flows return a refresh token for security or practicality
>> reasons. Adding refresh token as optional in all access token  
>> requests is
>> required to enable upgrading a token to a token with secret. It  
>> also can
>> make the spec slightly shorter by not having to repeat all the  
>> parameters.
>>
>> We need to either add it to every token response or allow the  
>> client to
>> request a secret directly without having to refresh the token.
>>
>> Proposal: Keep bearer tokens as the default first-issued credential  
>> and add
>> an optional refresh token everywhere.
>>
>> EHL
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From rbarnes@bbn.com  Fri Apr 16 09:10:15 2010
Return-Path: <rbarnes@bbn.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9DC7B28C1D6 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 09:10:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.546
X-Spam-Level: 
X-Spam-Status: No, score=-2.546 tagged_above=-999 required=5 tests=[AWL=0.053,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fuGK31Iolk+W for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 09:10:14 -0700 (PDT)
Received: from smtp.bbn.com (smtp.bbn.com [128.33.0.80]) by core3.amsl.com (Postfix) with ESMTP id 8D93028C1D2 for <oauth@ietf.org>; Fri, 16 Apr 2010 09:10:14 -0700 (PDT)
Received: from [192.1.255.202] (port=52293 helo=col-dhcp-192-1-255-202.bbn.com) by smtp.bbn.com with esmtp (Exim 4.71 (FreeBSD)) (envelope-from <rbarnes@bbn.com>) id 1O2o7J-0001XG-8L; Fri, 16 Apr 2010 12:10:05 -0400
Message-Id: <CA16E5C8-7987-4D5B-9038-E705E6630A07@bbn.com>
From: Richard Barnes <rbarnes@bbn.com>
To: Luke Shepard <lshepard@facebook.com>
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DCA7@SC-MBXC1.TheFacebook.com>
Content-Type: text/plain; charset=WINDOWS-1252; format=flowed; delsp=yes
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Apple Message framework v936)
Date: Fri, 16 Apr 2010 12:10:04 -0400
References: <9C30AE64-7DB8-4B6B-879B-61CB71BF74BB@facebook.com> <C7EC567E.322EE%eran@hueniverse.com> <2513A610118CC14C8E622C376C8DEC93D54D66DCA7@SC-MBXC1.TheFacebook.com>
X-Mailer: Apple Mail (2.936)
Cc: Naitik Shah <naitik@facebook.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Rename callback => callback_uri
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 16:10:15 -0000

Could you clarify a little more the environment in which this =20
confusion arose?  What do you mean when you say "The protected =20
resource typically accepts 'callback' as a parameter to support =20
JSONP."?  What sort of software are you including in this?

--Richard


On Apr 15, 2010, at 5:41 PM, Luke Shepard wrote:

> We already had one developer try it out and get confused because the =20=

> server tried to treat the callback URL as a JSONP callback.
>
> The protected resource typically accepts =93callback=94 as a parameter =
=20
> to support JSONP. If a developer accidentally passes in callback =20
> there (maybe they got confused) then the server can=92t give a normal =20=

> error message =96 instead it needs to either detect that it looks like =
=20
> a URL or otherwise reject it.
>
> On a related note, I think it=92s more confusing calling it something =20=

> different in the user-agent flow (redirector) when it=92s essentially =20=

> doing the same thing.
>
>
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On =20
> Behalf Of Eran Hammer-Lahav
> Sent: Thursday, April 15, 2010 5:37 AM
> To: Naitik Shah; OAuth WG
> Subject: Re: [OAUTH-WG] Rename callback =3D> callback_uri
>
> I don=92t think it is that confusing. Its a completely different =20
> context from where JSON-P is used (note that in the User-Agent flow =20=

> it is called something else).
>
> EHL
>
>
> On 4/10/10 12:35 PM, "Naitik Shah" <naitik@facebook.com> wrote:
>
> With the simplified params, the callback url parameter is now just =20
> "callback". Since most major API providers already use "callback" to =20=

> signify JSON-P callback, can we rename this to "callback_uri"? This =20=

> will help avoid collisions and confusion.
>
>
> -Naitik
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From mark.mcgloin@ie.ibm.com  Fri Apr 16 09:27:34 2010
Return-Path: <mark.mcgloin@ie.ibm.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 50D5828C149; Fri, 16 Apr 2010 09:27:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.949
X-Spam-Level: 
X-Spam-Status: No, score=-2.949 tagged_above=-999 required=5 tests=[AWL=-0.350, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id obtW0CJT7VJv; Fri, 16 Apr 2010 09:27:33 -0700 (PDT)
Received: from mtagate7.uk.ibm.com (mtagate7.uk.ibm.com [194.196.100.167]) by core3.amsl.com (Postfix) with ESMTP id D643F28C187; Fri, 16 Apr 2010 09:25:15 -0700 (PDT)
Received: from d06nrmr1806.portsmouth.uk.ibm.com (d06nrmr1806.portsmouth.uk.ibm.com [9.149.39.193]) by mtagate7.uk.ibm.com (8.13.1/8.13.1) with ESMTP id o3GGP7ch009483; Fri, 16 Apr 2010 16:25:07 GMT
Received: from d06av02.portsmouth.uk.ibm.com (d06av02.portsmouth.uk.ibm.com [9.149.37.228]) by d06nrmr1806.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id o3GGOxZP1302684; Fri, 16 Apr 2010 17:25:07 +0100
Received: from d06av02.portsmouth.uk.ibm.com (loopback [127.0.0.1]) by d06av02.portsmouth.uk.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id o3GGOwaW016734; Fri, 16 Apr 2010 17:24:58 +0100
Received: from d06ml901.portsmouth.uk.ibm.com (d06ml901.portsmouth.uk.ibm.com [9.149.39.138]) by d06av02.portsmouth.uk.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id o3GGOw8u016727; Fri, 16 Apr 2010 17:24:58 +0100
In-Reply-To: <F74CD1E6-8B47-4F42-8E08-6F31CB6174B5@bbn.com>
To: OAuth WG <oauth@ietf.org>, oauth-bounces@ietf.org
X-Mailer: Lotus Notes Release 7.0 HF400 February 20, 2008
Message-ID: <OFD5F73A7B.828EC618-ON80257707.0059D87C-80257707.005A2B00@ie.ibm.com>
From: Mark Mcgloin <mark.mcgloin@ie.ibm.com>
Date: Fri, 16 Apr 2010 17:24:53 +0100
X-MIMETrack: Serialize by Router on D06ML901/06/M/IBM(Release 8.0.2FP2|June 22, 2009) at 16/04/2010 17:24:57
MIME-Version: 1.0
Content-type: text/plain; charset=US-ASCII
Subject: Re: [OAUTH-WG] Issue: add refresh token as optional in all access	token requests
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 16:27:34 -0000

+1 to this

Mark McGloin

>On 16/04/2010 17:08, Richard Barnes <rbarnes@bbn.com>  wrote:

>Sure, this seems sensible, especially with the *optional* part.



>On Apr 15, 2010, at 3:22 PM, David Recordon wrote:

>> +1, remember discussing this a week or so ago on the list
>>
>>> On Thu, Apr 15, 2010 at 12:12 PM, Eran Hammer-Lahav
<eran@hueniverse.com
>> > wrote:
>> Proposal: Keep bearer tokens as the default first-issued credential
>> and add
>> an optional refresh token everywhere.
>>
>> EHL


From lshepard@facebook.com  Fri Apr 16 09:54:55 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8335B3A6946 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 09:54:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.988
X-Spam-Level: 
X-Spam-Status: No, score=-2.988 tagged_above=-999 required=5 tests=[AWL=0.277,  BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CcYb0AFGeR-A for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 09:54:54 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 5F2333A6939 for <oauth@ietf.org>; Fri, 16 Apr 2010 09:54:54 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.198]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3GGq3Fw013721 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Fri, 16 Apr 2010 09:52:07 -0700
Received: from sc-hub01.TheFacebook.com (192.168.18.104) by sc-hub03.TheFacebook.com (192.168.18.198) with Microsoft SMTP Server (TLS) id 14.0.689.0; Fri, 16 Apr 2010 09:52:18 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub01.TheFacebook.com ([192.168.18.104]) with mapi; Fri, 16 Apr 2010 09:51:00 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Richard Barnes <rbarnes@bbn.com>
Date: Fri, 16 Apr 2010 09:50:59 -0700
Thread-Topic: [OAUTH-WG] Rename callback => callback_uri
Thread-Index: Acrdf0jU+VDZtjjWQyW7MPjs0m3IZAAAw5XQ
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66DCF5@SC-MBXC1.TheFacebook.com>
References: <9C30AE64-7DB8-4B6B-879B-61CB71BF74BB@facebook.com> <C7EC567E.322EE%eran@hueniverse.com> <2513A610118CC14C8E622C376C8DEC93D54D66DCA7@SC-MBXC1.TheFacebook.com> <CA16E5C8-7987-4D5B-9038-E705E6630A07@bbn.com>
In-Reply-To: <CA16E5C8-7987-4D5B-9038-E705E6630A07@bbn.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-16_07:2010-02-06, 2010-04-16, 2010-04-16 signatures=0
Cc: Naitik Shah <naitik@facebook.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Rename callback => callback_uri
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 16:54:55 -0000

Facebook API requests are protected resources. They can be called either in=
 a browser or in a server-to-server environment.

For example, a JSONP call for my name looks like this:

	https://api.facebook.com/restserver.php?api_key=3D361900759629&call_id=3D1=
271436355034&callback=3DFB.RestServer._callback&format=3Djson&method=3Dfql.=
query&query=3DSELECT%20name%20FROM%20user%20WHERE%20uid%3D2901279&v=3D1.0

The output (you can play with it here: http://fbrell.com/fb.api/everyone-da=
ta ):

	FB.RestServer._callback([{"name":"Luke Shepard"}]);

If we want that protected resource to take an access token as well, then it=
 would look like:

	https://api.facebook.com/restserver.php?....&callback=3DFB.RestServer._cal=
lback&access_token=3DACCESS_TOKEN

The "callback" parameter is used pretty universally for JSONP requests. For=
 instance, see the Jquery docs: http://api.jquery.com/jQuery.getJSON/

-----Original Message-----
From: Richard Barnes [mailto:rbarnes@bbn.com]=20
Sent: Friday, April 16, 2010 9:10 AM
To: Luke Shepard
Cc: Eran Hammer-Lahav; Naitik Shah; OAuth WG
Subject: Re: [OAUTH-WG] Rename callback =3D> callback_uri

Could you clarify a little more the environment in which this =20
confusion arose?  What do you mean when you say "The protected =20
resource typically accepts 'callback' as a parameter to support =20
JSONP."?  What sort of software are you including in this?

--Richard


On Apr 15, 2010, at 5:41 PM, Luke Shepard wrote:

> We already had one developer try it out and get confused because the =20
> server tried to treat the callback URL as a JSONP callback.
>
> The protected resource typically accepts "callback" as a parameter =20
> to support JSONP. If a developer accidentally passes in callback =20
> there (maybe they got confused) then the server can't give a normal =20
> error message - instead it needs to either detect that it looks like =20
> a URL or otherwise reject it.
>
> On a related note, I think it's more confusing calling it something =20
> different in the user-agent flow (redirector) when it's essentially =20
> doing the same thing.
>
>
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On =20
> Behalf Of Eran Hammer-Lahav
> Sent: Thursday, April 15, 2010 5:37 AM
> To: Naitik Shah; OAuth WG
> Subject: Re: [OAUTH-WG] Rename callback =3D> callback_uri
>
> I don't think it is that confusing. Its a completely different =20
> context from where JSON-P is used (note that in the User-Agent flow =20
> it is called something else).
>
> EHL
>
>
> On 4/10/10 12:35 PM, "Naitik Shah" <naitik@facebook.com> wrote:
>
> With the simplified params, the callback url parameter is now just =20
> "callback". Since most major API providers already use "callback" to =20
> signify JSON-P callback, can we rename this to "callback_uri"? This =20
> will help avoid collisions and confusion.
>
>
> -Naitik
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From lshepard@facebook.com  Fri Apr 16 10:00:23 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4502C28C0EF for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 10:00:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.003
X-Spam-Level: 
X-Spam-Status: No, score=-3.003 tagged_above=-999 required=5 tests=[AWL=0.262,  BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gNlNaNWHslet for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 10:00:22 -0700 (PDT)
Received: from mailout-snc1.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 9E27628C0EB for <oauth@ietf.org>; Fri, 16 Apr 2010 10:00:21 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.198]) by pp01.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3GGxp1D012035 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Fri, 16 Apr 2010 09:59:57 -0700
Received: from sc-hub05.TheFacebook.com (192.168.18.82) by sc-hub03.TheFacebook.com (192.168.18.198) with Microsoft SMTP Server (TLS) id 14.0.689.0; Fri, 16 Apr 2010 09:59:16 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub05.TheFacebook.com ([192.168.18.82]) with mapi; Fri, 16 Apr 2010 09:58:04 -0700
From: Luke Shepard <lshepard@facebook.com>
To: John Kemp <john@jkemp.net>, "Manger, James H" <James.H.Manger@team.telstra.com>
Date: Fri, 16 Apr 2010 09:58:02 -0700
Thread-Topic: [OAUTH-WG] Issue: Split the authorization endpoint into	two endpoints
Thread-Index: AcrdCitsLp+WWglvQMKPMWBhihZtKQAezmZQ
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66DCF7@SC-MBXC1.TheFacebook.com>
References: <C7ECABE0.32344%eran@hueniverse.com> <255B9BB34FB7D647A506DC292726F6E11257481003@WSMSG3153V.srv.dir.telstra.com> <9E18821D-E128-468A-9778-9D9D049B716F@jkemp.net>
In-Reply-To: <9E18821D-E128-468A-9778-9D9D049B716F@jkemp.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-16_07:2010-02-06, 2010-04-16, 2010-04-16 signatures=0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Split the authorization endpoint into	two	endpoints
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 17:00:23 -0000

I guess I would prefer two URLs as well, but I see the simplicity argument =
as well:

>> Constraints for endpoints:
>> access token URL: HTTPS and POST only, no user
>> user authentication URL: HTTP or HTTPS, GET or POST, authenticated user

In either case, we should not restrict the access token URL to POST-only. A=
 GET request is just as secure and can be much easier to write code for (ju=
st construct the URL and ping, no need to figure out CURLOPT_POSTFIELDS).


-----Original Message-----
From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of J=
ohn Kemp
Sent: Thursday, April 15, 2010 7:11 PM
To: Manger, James H
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Issue: Split the authorization endpoint into two en=
dpoints

On Apr 15, 2010, at 9:22 PM, Manger, James H wrote:

> I strongly favour specifying 2 separate endpoints: one for where to redir=
ect a user, another for direct client calls.

I agree.

>=20
> I agree with Marius that these two endpoints are different enough to be s=
eparate.
> One is only used by users via browsers. The other is only used by client =
apps. These are different populations, using different authentication mecha=
nisms, with different performance requirements, and different technologies.
>=20
> The use of a type parameter is a poor tool to distinguishes these cases.
>=20
> I guess 1 URI could default to the other if not defined.
> 1 URI could be allowed to be relative to the other to save some bytes.

I agree with this reasoning too.=20

- johnk

>=20
> --=20
> James Manger
>=20
>=20
> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of=
 Eran Hammer-Lahav
> Sent: Friday, 16 April 2010 4:41 AM
> To: OAuth WG
> Subject: [OAUTH-WG] Issue: Split the authorization endpoint into two endp=
oints
>=20
> OAuth 2.0 defines a single authorization endpoint with a 'type' parameter
> for the various flows and flow steps. There are two types of calls made t=
o
> the authorization endpoint:
>=20
> - Requests for Access - requests in which an end user interacts with the
> authorization server, granting client access.
>=20
> - Requests for Token - requests in which the client uses a verification c=
ode
> or other credentials to obtain an access token. These requests require
> SSL/TLS because they always result in the transmission of plaintext
> credentials in the response and sometimes in the request.
>=20
> A proposal has been made to define two separate endpoints due to the
> different nature of these endpoints:
>=20
> On 4/6/10 4:06 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>=20
>> Constraints for endpoints:
>> access token URL: HTTPS and POST only, no user
>> user authentication URL: HTTP or HTTPS, GET or POST, authenticated user
>>=20
>> In many cases the above constraints can be enforced with configuration
>> that sits in front of the controllers implementing these endpoints.
>> For example, Apache config can enforce SSL and POST. Same can be done
>> in a Java filter. Also a Java filter can enforce that only
>> authenticated users hit the endpoint, it can redirect to a login page
>> if needed.
>>=20
>> By keeping two different endpoints all of the above is much simpler.
>> Nothing prevents an authz server to collapse these two into one
>> endpoint.
>=20
> While requests for access do not require HTTPS, they should because they
> involve authenticating the end user. As for enforcing HTTP methods (GET,
> POST), this is simple to do both at the server configuration level or
> application level.
>=20
> On the other hand, having a single endpoint makes the specification simpl=
er,
> and more importantly, makes discovery trivial as a 401 response needs to
> include a single endpoint for obtaining a token regardless of the flow (s=
ome
> flows use one, others two steps).
>=20
> A richer discovery later can use LRDD on the single authorization endpoin=
t
> to obtain an XRD describing the flows and UI options provided by the serv=
er.
> But this is outside our scope.
>=20
> Proposal: No change. Keep the single authorization endpoint and require
> HTTPS for all requests.
>=20
> EHL
>=20
>=20
>=20
>=20
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

From mscurtescu@google.com  Fri Apr 16 11:33:41 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 3FB243A6A05 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 11:33:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.944
X-Spam-Level: 
X-Spam-Status: No, score=-105.944 tagged_above=-999 required=5 tests=[AWL=0.033, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EsIt9Nvc5fU2 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 11:33:40 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id A4AC83A69A6 for <oauth@ietf.org>; Fri, 16 Apr 2010 11:33:39 -0700 (PDT)
Received: from hpaq3.eem.corp.google.com (hpaq3.eem.corp.google.com [10.3.21.3]) by smtp-out.google.com with ESMTP id o3GIXUj4012978 for <oauth@ietf.org>; Fri, 16 Apr 2010 11:33:31 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271442812; bh=gxW92iH12uwnBDllp9DRVtBGVpc=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=GdHeMgmjdLxYlyM6CiO0XH9bvU2ELDLy3i/tTRSvVi8TF3m0+47E+cVIfkzUd488X EM6IoxLLw90z66KuLOv1Q==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=JyS+FMAk0TZeZsH66ahJtpXV56XrwObGRoJX3xmY0zE9biQ3tamnhiyS8E3bVnUMk 7FiwVd562PKsgTnz2NGSg==
Received: from pwj9 (pwj9.prod.google.com [10.241.219.73]) by hpaq3.eem.corp.google.com with ESMTP id o3GIXGed022723 for <oauth@ietf.org>; Fri, 16 Apr 2010 20:33:29 +0200
Received: by pwj9 with SMTP id 9so2142520pwj.5 for <oauth@ietf.org>; Fri, 16 Apr 2010 11:33:29 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Fri, 16 Apr 2010 11:33:09 -0700 (PDT)
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E112575922E7@WSMSG3153V.srv.dir.telstra.com>
References: <m2t74caaad21004151236h6df241a2k6b18c788b300cca6@mail.gmail.com>  <C7ECBAA3.32376%eran@hueniverse.com> <u2u74caaad21004151831jaf0a29e2ga84c36d4456dc87f@mail.gmail.com> <q2oc8689b661004151839uc165b35aqfe5d1fd48917dc8c@mail.gmail.com>  <255B9BB34FB7D647A506DC292726F6E112575922E7@WSMSG3153V.srv.dir.telstra.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Fri, 16 Apr 2010 11:33:09 -0700
Received: by 10.141.107.19 with SMTP id j19mr2317527rvm.90.1271442809132; Fri,  16 Apr 2010 11:33:29 -0700 (PDT)
Message-ID: <n2h74caaad21004161133j40f16e64zb07d13b216e51aa8@mail.gmail.com>
To: "Manger, James H" <James.H.Manger@team.telstra.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy: {templates}
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 18:33:41 -0000

When replacing the placeholders with actual values, how do you know
what encoding should be used? Does URL encoding work in all cases?

Marius



On Fri, Apr 16, 2010 at 7:33 AM, Manger, James H
<James.H.Manger@team.telstra.com> wrote:
> A partial solution to colliding parameter names and long URIS would be to
> use URI templates.
>
>
>
> For instance, in a 401 response when a client app tries to access a
> protected resource, instead of an authz URI, return a template for an aut=
hz
> URI. The template would include OAuth field names in squiggly brackets, t=
o
> be replaced by the field=92s value when building an actual authz URI. The
> template could also be provided in documentation.
>
>
>
> Example:
>
> C<-S 401
>
> =A0=A0=A0=A0=A0=A0=A0 WWW-Authenticate: OAuth
> u=3D=94http://as.com/{type}/{client_id}?cb=3D{callback}&no_ui=3D{immediat=
e}&oe=3Dutf-8=94
>
>
>
> There are a couple of benefits:
>
>
>
> 1. The parts of the template outside the {=85} placeholders can be chosen
> however the service wants. There is no worry about clashes between
> proprietary query params (like =93oe=3Dutf=3D8=94 above) and OAuth fields=
. There is
> no need for the restrictions on URI that are in the current draft.
>
>
>
> 2. The constructed URI will be shorter as it doesn=92t have to include th=
e
> OAuth field names, just their values. The field names could include an
> oauth_ prefix without affecting URI sizes. The template itself will be
> longer than a base authz URI to which query params are added, but that is=
 a
> less important issue.
>
>
>
> 3. It provides a little bit of discovery automatically. The field names t=
hat
> appear in placeholders (or their absence) tell the client app which featu=
res
> are (or are not) supported. For instance, the example above shows that th=
e
> service supports the =93immediate=94 mode, otherwise it wouldn=92t includ=
e the
> {immediate} placeholder. This may be enough for most feature negotiation
> needs.
>
>
>
> There are disadvantages:
>
>
>
> -1. Templates are a more complicated than always using query parameters.
> Just {name} adds a little complexity. A more flexible placeholder syntax
> being very slowly speced by the W3C (eg with defaults) adds more complexi=
ty
> -- but doesn=92t have to be adopted here.
>
>
>
> With this proposal the {callback} placeholder in the authz template would=
 be
> filled by a client with its own template, with a placeholder for the auth
> code.
>
>
>
> A service could still introduce its own placeholder field that clashed wi=
th
> a subsequent OAuth definition. I think that is less of a concern.
>
>
>
> --
>
> James Manger
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

From uidude@google.com  Fri Apr 16 11:57:58 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8DEE128C150 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 11:57:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.579
X-Spam-Level: 
X-Spam-Status: No, score=-105.579 tagged_above=-999 required=5 tests=[AWL=0.397, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6H8gGz7MafCs for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 11:57:57 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 0260128C142 for <oauth@ietf.org>; Fri, 16 Apr 2010 11:57:55 -0700 (PDT)
Received: from wpaz21.hot.corp.google.com (wpaz21.hot.corp.google.com [172.24.198.85]) by smtp-out.google.com with ESMTP id o3GIvmLS019825 for <oauth@ietf.org>; Fri, 16 Apr 2010 11:57:48 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271444268; bh=n/cUZB/pC7UuOHgRECFIknIFxyw=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=V7iCKlG/Atb3ekStZjkF6FCElDDQtQ4Wq/KvKRTZRy+DgEn5bJk3GIVnFHT5ezW3r S8xMcdcmGoJpfpG0gW5mQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=wGIagsNSdgTz5HHpesOwpq6GkDVG+3GJB7X3DRKe3CrQ0dP6dVJkYF5pyO61SYse6 8S7Zupnrk+oOfTbA6CYQQ==
Received: from qyk17 (qyk17.prod.google.com [10.241.83.145]) by wpaz21.hot.corp.google.com with ESMTP id o3GIvkKB004174 for <oauth@ietf.org>; Fri, 16 Apr 2010 11:57:47 -0700
Received: by qyk17 with SMTP id 17so1428487qyk.9 for <oauth@ietf.org>; Fri, 16 Apr 2010 11:57:46 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.131 with HTTP; Fri, 16 Apr 2010 11:57:23 -0700 (PDT)
In-Reply-To: <1271426501.12417.1475.camel@localhost.localdomain>
References: <C7ECABE0.32344%eran@hueniverse.com> <255B9BB34FB7D647A506DC292726F6E11257481003@WSMSG3153V.srv.dir.telstra.com> <1271426501.12417.1475.camel@localhost.localdomain>
From: Evan Gilbert <uidude@google.com>
Date: Fri, 16 Apr 2010 11:57:23 -0700
Received: by 10.229.86.16 with SMTP id q16mr1459862qcl.39.1271444265846; Fri,  16 Apr 2010 11:57:45 -0700 (PDT)
Message-ID: <j2sc8689b661004161157u853130d0oc087593d0a6d1ae3@mail.gmail.com>
To: Justin Richer <jricher@mitre.org>
Content-Type: multipart/alternative; boundary=0016364ee308d147af04845f2fac
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 18:57:58 -0000

--0016364ee308d147af04845f2fac
Content-Type: text/plain; charset=ISO-8859-1

On Fri, Apr 16, 2010 at 7:01 AM, Justin Richer <jricher@mitre.org> wrote:

> I favor this approach as well. It feels cleaner to me to have a
> separation of purposes here. The two endpoints could always be collapsed
> in a particular implementation -- I've seen several OAuth 1.0
> implementations that do just this, using a URL parameter to
> differentiate between the request, access, and authorization endpoints.
>
> Having them available separately makes it easier to have different
> authentication mechanisms to the endpoints themselves, as well. The
> authorization endpoint is (generally) user-credential protected, but the
> token endpoint will be authenticated differently depending on which
> flows are supported.


Any flow where the user interacts on a domain that will have the user
credentials (cookies, etc). This is often a different URL path or even
domain from endpoints where a user credential isn't required.

Think I'd lean towards two URLs - the downside is that it makes discovery /
configuration a little bit harder.


> However, I will say that in most webapp systems,
> you can always have the OAuth endpoint forward internally to another
> endpoint if user authentication is necessary, so this argument may not
> hold up in practical deployment.
>
> Downside is that it does make discovery a little trickier, but discovery
> is admittedly outside the scope of this protocol.
>
>  -- justin
>
> On Thu, 2010-04-15 at 21:22 -0400, Manger, James H wrote:
> > I strongly favour specifying 2 separate endpoints: one for where to
> redirect a user, another for direct client calls.
> >
> > I agree with Marius that these two endpoints are different enough to be
> separate.
> > One is only used by users via browsers. The other is only used by client
> apps. These are different populations, using different authentication
> mechanisms, with different performance requirements, and different
> technologies.
> >
> > The use of a type parameter is a poor tool to distinguishes these cases.
> >
> > I guess 1 URI could default to the other if not defined.
> > 1 URI could be allowed to be relative to the other to save some bytes.
> >
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--0016364ee308d147af04845f2fac
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><div class=3D"gmail_quote">On Fri, Apr 16, 2010 at 7:01 AM, Justin Rich=
er <span dir=3D"ltr">&lt;<a href=3D"mailto:jricher@mitre.org" target=3D"_bl=
ank">jricher@mitre.org</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_=
quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1=
ex">


I favor this approach as well. It feels cleaner to me to have a<br>
separation of purposes here. The two endpoints could always be collapsed<br=
>
in a particular implementation -- I&#39;ve seen several OAuth 1.0<br>
implementations that do just this, using a URL parameter to<br>
differentiate between the request, access, and authorization endpoints.<br>
<br>
Having them available separately makes it easier to have different<br>
authentication mechanisms to the endpoints themselves, as well. The<br>
authorization endpoint is (generally) user-credential protected, but the<br=
>
token endpoint will be authenticated differently depending on which<br>
flows are supported.</blockquote><div><br>Any flow where the user interacts=
 on a domain that will have the user credentials (cookies, etc). This is of=
ten a different URL path or even domain from endpoints where a user credent=
ial isn&#39;t required.=A0</div>

<div><br></div><div>Think I&#39;d lean towards two URLs - the downside is t=
hat it makes discovery / configuration a little bit harder.</div>
<div>=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;=
border-left:1px #ccc solid;padding-left:1ex"> However, I will say that in m=
ost webapp systems,<br>
you can always have the OAuth endpoint forward internally to another<br>
endpoint if user authentication is necessary, so this argument may not<br>
hold up in practical deployment.<br>
<br>
Downside is that it does make discovery a little trickier, but discovery<br=
>
is admittedly outside the scope of this protocol.<br>
<font color=3D"#888888"><br>
=A0-- justin<br>
</font><div><br>
On Thu, 2010-04-15 at 21:22 -0400, Manger, James H wrote:<br>
&gt; I strongly favour specifying 2 separate endpoints: one for where to re=
direct a user, another for direct client calls.<br>
&gt;<br>
&gt; I agree with Marius that these two endpoints are different enough to b=
e separate.<br>
&gt; One is only used by users via browsers. The other is only used by clie=
nt apps. These are different populations, using different authentication me=
chanisms, with different performance requirements, and different technologi=
es.<br>



&gt;<br>
&gt; The use of a type parameter is a poor tool to distinguishes these case=
s.<br>
&gt;<br>
&gt; I guess 1 URI could default to the other if not defined.<br>
&gt; 1 URI could be allowed to be relative to the other to save some bytes.=
<br>
&gt;<br>
<br>
<br>
</div><div><div></div><div>_______________________________________________<=
br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br>

--0016364ee308d147af04845f2fac--

From uidude@google.com  Fri Apr 16 12:06:19 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AFA263A698F for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 12:06:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.612
X-Spam-Level: 
X-Spam-Status: No, score=-105.612 tagged_above=-999 required=5 tests=[AWL=0.364, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JRpydSmK+m4t for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 12:06:18 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 0CEC03A69A6 for <oauth@ietf.org>; Fri, 16 Apr 2010 12:06:14 -0700 (PDT)
Received: from wpaz29.hot.corp.google.com (wpaz29.hot.corp.google.com [172.24.198.93]) by smtp-out.google.com with ESMTP id o3GJ65Ii026344 for <oauth@ietf.org>; Fri, 16 Apr 2010 12:06:05 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271444765; bh=p8BBte58NG2mkARCyozGQdMW7+0=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=XeqUAVqLF1uf/kHpfOU3WhiFQi8RMD9JvYSAokNRohVhTPt52gptxMBSDSZjqsAct WhwFwDthzpk+0OTYtem7Q==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=YOV7CVZHbVbqEKcPDcAN4Q/PIh++Qcmz1RinMP9hdwJW+Es92MXNVn7J1GMRtwy7i lvDEeYG1txvBniFkm7GJA==
Received: from qw-out-1920.google.com (qwc5.prod.google.com [10.241.193.133]) by wpaz29.hot.corp.google.com with ESMTP id o3GJ644N030196 for <oauth@ietf.org>; Fri, 16 Apr 2010 12:06:05 -0700
Received: by qw-out-1920.google.com with SMTP id 5so806335qwc.16 for <oauth@ietf.org>; Fri, 16 Apr 2010 12:06:04 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.131 with HTTP; Fri, 16 Apr 2010 12:05:43 -0700 (PDT)
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DCF5@SC-MBXC1.TheFacebook.com>
References: <9C30AE64-7DB8-4B6B-879B-61CB71BF74BB@facebook.com>  <C7EC567E.322EE%eran@hueniverse.com> <2513A610118CC14C8E622C376C8DEC93D54D66DCA7@SC-MBXC1.TheFacebook.com> <CA16E5C8-7987-4D5B-9038-E705E6630A07@bbn.com> <2513A610118CC14C8E622C376C8DEC93D54D66DCF5@SC-MBXC1.TheFacebook.com>
From: Evan Gilbert <uidude@google.com>
Date: Fri, 16 Apr 2010 12:05:43 -0700
Received: by 10.229.211.140 with SMTP id go12mr2799416qcb.32.1271444763260;  Fri, 16 Apr 2010 12:06:03 -0700 (PDT)
Message-ID: <i2pc8689b661004161205g949c17a1z245fd80199140ea4@mail.gmail.com>
To: Luke Shepard <lshepard@facebook.com>
Content-Type: multipart/alternative; boundary=0016363b806c773c6104845f4d8e
X-System-Of-Record: true
Cc: Naitik Shah <naitik@facebook.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Rename callback => callback_uri
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 19:06:20 -0000

--0016363b806c773c6104845f4d8e
Content-Type: text/plain; charset=ISO-8859-1

We should use the same name in the User-Agent and Web Callback flows. Also,
although the authorization server won't be allowing JSONP requests,
"callback" has become a bit of a defacto standard for JSONP and it would be
nice to use a term that isn't overloaded?

Can we make them both "redirection"? Even better, maybe "redirect_uri"?

On Fri, Apr 16, 2010 at 9:50 AM, Luke Shepard <lshepard@facebook.com> wrote:

> Facebook API requests are protected resources. They can be called either in
> a browser or in a server-to-server environment.
>
> For example, a JSONP call for my name looks like this:
>
>
> https://api.facebook.com/restserver.php?api_key=361900759629&call_id=1271436355034&callback=FB.RestServer._callback&format=json&method=fql.query&query=SELECT%20name%20FROM%20user%20WHERE%20uid%3D2901279&v=1.0
>
> The output (you can play with it here:
> http://fbrell.com/fb.api/everyone-data ):
>
>        FB.RestServer._callback([{"name":"Luke Shepard"}]);
>
> If we want that protected resource to take an access token as well, then it
> would look like:
>
>
> https://api.facebook.com/restserver.php?....&callback=FB.RestServer._callback&access_token=ACCESS_TOKEN
>
> The "callback" parameter is used pretty universally for JSONP requests. For
> instance, see the Jquery docs: http://api.jquery.com/jQuery.getJSON/
>
> -----Original Message-----
> From: Richard Barnes [mailto:rbarnes@bbn.com]
> Sent: Friday, April 16, 2010 9:10 AM
> To: Luke Shepard
> Cc: Eran Hammer-Lahav; Naitik Shah; OAuth WG
> Subject: Re: [OAUTH-WG] Rename callback => callback_uri
>
> Could you clarify a little more the environment in which this
> confusion arose?  What do you mean when you say "The protected
> resource typically accepts 'callback' as a parameter to support
> JSONP."?  What sort of software are you including in this?
>
> --Richard
>
>
> On Apr 15, 2010, at 5:41 PM, Luke Shepard wrote:
>
> > We already had one developer try it out and get confused because the
> > server tried to treat the callback URL as a JSONP callback.
> >
> > The protected resource typically accepts "callback" as a parameter
> > to support JSONP. If a developer accidentally passes in callback
> > there (maybe they got confused) then the server can't give a normal
> > error message - instead it needs to either detect that it looks like
> > a URL or otherwise reject it.
> >
> > On a related note, I think it's more confusing calling it something
> > different in the user-agent flow (redirector) when it's essentially
> > doing the same thing.
> >
> >
> > From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
> > Behalf Of Eran Hammer-Lahav
> > Sent: Thursday, April 15, 2010 5:37 AM
> > To: Naitik Shah; OAuth WG
> > Subject: Re: [OAUTH-WG] Rename callback => callback_uri
> >
> > I don't think it is that confusing. Its a completely different
> > context from where JSON-P is used (note that in the User-Agent flow
> > it is called something else).
> >
> > EHL
> >
> >
> > On 4/10/10 12:35 PM, "Naitik Shah" <naitik@facebook.com> wrote:
> >
> > With the simplified params, the callback url parameter is now just
> > "callback". Since most major API providers already use "callback" to
> > signify JSON-P callback, can we rename this to "callback_uri"? This
> > will help avoid collisions and confusion.
> >
> >
> > -Naitik
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--0016363b806c773c6104845f4d8e
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

We should use the same name in the User-Agent and Web Callback flows. Also,=
 although the authorization server won&#39;t be allowing JSONP requests, &q=
uot;callback&quot; has become a bit of a defacto standard for JSONP and it =
would be nice to use a term that isn&#39;t overloaded?<div>

<br></div><div>Can we make them both &quot;redirection&quot;? Even better, =
maybe &quot;redirect_uri&quot;?</div><div><br><div class=3D"gmail_quote">On=
 Fri, Apr 16, 2010 at 9:50 AM, Luke Shepard <span dir=3D"ltr">&lt;<a href=
=3D"mailto:lshepard@facebook.com">lshepard@facebook.com</a>&gt;</span> wrot=
e:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">Facebook API requests are protected resourc=
es. They can be called either in a browser or in a server-to-server environ=
ment.<br>


<br>
For example, a JSONP call for my name looks like this:<br>
<br>
 =A0 =A0 =A0 =A0<a href=3D"https://api.facebook.com/restserver.php?api_key=
=3D361900759629&amp;call_id=3D1271436355034&amp;callback=3DFB.RestServer._c=
allback&amp;format=3Djson&amp;method=3Dfql.query&amp;query=3DSELECT%20name%=
20FROM%20user%20WHERE%20uid%3D2901279&amp;v=3D1.0" target=3D"_blank">https:=
//api.facebook.com/restserver.php?api_key=3D361900759629&amp;call_id=3D1271=
436355034&amp;callback=3DFB.RestServer._callback&amp;format=3Djson&amp;meth=
od=3Dfql.query&amp;query=3DSELECT%20name%20FROM%20user%20WHERE%20uid%3D2901=
279&amp;v=3D1.0</a><br>


<br>
The output (you can play with it here: <a href=3D"http://fbrell.com/fb.api/=
everyone-data" target=3D"_blank">http://fbrell.com/fb.api/everyone-data</a>=
 ):<br>
<br>
 =A0 =A0 =A0 =A0FB.RestServer._callback([{&quot;name&quot;:&quot;Luke Shepa=
rd&quot;}]);<br>
<br>
If we want that protected resource to take an access token as well, then it=
 would look like:<br>
<br>
 =A0 =A0 =A0 =A0<a href=3D"https://api.facebook.com/restserver.php?....&amp=
;callback=3DFB.RestServer._callback&amp;access_token=3DACCESS_TOKEN" target=
=3D"_blank">https://api.facebook.com/restserver.php?....&amp;callback=3DFB.=
RestServer._callback&amp;access_token=3DACCESS_TOKEN</a><br>


<br>
The &quot;callback&quot; parameter is used pretty universally for JSONP req=
uests. For instance, see the Jquery docs: <a href=3D"http://api.jquery.com/=
jQuery.getJSON/" target=3D"_blank">http://api.jquery.com/jQuery.getJSON/</a=
><br>


<div><div></div><div class=3D"h5"><br>
-----Original Message-----<br>
From: Richard Barnes [mailto:<a href=3D"mailto:rbarnes@bbn.com">rbarnes@bbn=
.com</a>]<br>
Sent: Friday, April 16, 2010 9:10 AM<br>
To: Luke Shepard<br>
Cc: Eran Hammer-Lahav; Naitik Shah; OAuth WG<br>
Subject: Re: [OAUTH-WG] Rename callback =3D&gt; callback_uri<br>
<br>
Could you clarify a little more the environment in which this<br>
confusion arose? =A0What do you mean when you say &quot;The protected<br>
resource typically accepts &#39;callback&#39; as a parameter to support<br>
JSONP.&quot;? =A0What sort of software are you including in this?<br>
<br>
--Richard<br>
<br>
<br>
On Apr 15, 2010, at 5:41 PM, Luke Shepard wrote:<br>
<br>
&gt; We already had one developer try it out and get confused because the<b=
r>
&gt; server tried to treat the callback URL as a JSONP callback.<br>
&gt;<br>
&gt; The protected resource typically accepts &quot;callback&quot; as a par=
ameter<br>
&gt; to support JSONP. If a developer accidentally passes in callback<br>
&gt; there (maybe they got confused) then the server can&#39;t give a norma=
l<br>
&gt; error message - instead it needs to either detect that it looks like<b=
r>
&gt; a URL or otherwise reject it.<br>
&gt;<br>
&gt; On a related note, I think it&#39;s more confusing calling it somethin=
g<br>
&gt; different in the user-agent flow (redirector) when it&#39;s essentiall=
y<br>
&gt; doing the same thing.<br>
&gt;<br>
&gt;<br>
&gt; From: <a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.org=
</a> [mailto:<a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.o=
rg</a>] On<br>
&gt; Behalf Of Eran Hammer-Lahav<br>
&gt; Sent: Thursday, April 15, 2010 5:37 AM<br>
&gt; To: Naitik Shah; OAuth WG<br>
&gt; Subject: Re: [OAUTH-WG] Rename callback =3D&gt; callback_uri<br>
&gt;<br>
&gt; I don&#39;t think it is that confusing. Its a completely different<br>
&gt; context from where JSON-P is used (note that in the User-Agent flow<br=
>
&gt; it is called something else).<br>
&gt;<br>
&gt; EHL<br>
&gt;<br>
&gt;<br>
&gt; On 4/10/10 12:35 PM, &quot;Naitik Shah&quot; &lt;<a href=3D"mailto:nai=
tik@facebook.com">naitik@facebook.com</a>&gt; wrote:<br>
&gt;<br>
&gt; With the simplified params, the callback url parameter is now just<br>
&gt; &quot;callback&quot;. Since most major API providers already use &quot=
;callback&quot; to<br>
&gt; signify JSON-P callback, can we rename this to &quot;callback_uri&quot=
;? This<br>
&gt; will help avoid collisions and confusion.<br>
&gt;<br>
&gt;<br>
&gt; -Naitik<br>
&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_bla=
nk">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_bla=
nk">https://www.ietf.org/mailman/listinfo/oauth</a><br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br></div>

--0016363b806c773c6104845f4d8e--

From recordond@gmail.com  Fri Apr 16 12:14:51 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7996028C1A2 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 12:14:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nedOZdEv5iTE for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 12:14:38 -0700 (PDT)
Received: from mail-pv0-f172.google.com (mail-pv0-f172.google.com [74.125.83.172]) by core3.amsl.com (Postfix) with ESMTP id 9C0B428C192 for <oauth@ietf.org>; Fri, 16 Apr 2010 12:14:14 -0700 (PDT)
Received: by pvf33 with SMTP id 33so1963397pvf.31 for <oauth@ietf.org>; Fri, 16 Apr 2010 12:14:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=PtfNaqdH1Xa9Q4S6AKEEgc+3v3YgdMHbMfIAro/+5pk=; b=pphlr/xGXn119vyhIk854d95oUoWW4r2GXLbE8NG1Mxpv/iQF9VoDGNR5qEfKl7VeA YJMpCOw2UOekkoX+AtVDYkffFu0EOVn38I2zphv9kq9Rnl8ObeBWhqaXCRPKXn0tTzoP ro1fBoxchqPWe3uXYLDX3tryBp262VREjXwYY=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=sPwP8dfcZFZxDpNfdcPMNcrAb+GuL4t7eJJqFxa8J+utM0q9dLRU422qgK+LzQnMu2 KftkWePQ0cISv09GaR8M0I+kCiBHdScNcuvBC/RJ1xmh3tA3CyOjN7WCe8rWoNYiVLel xXq2jfyABseBSn48HtOD6eb6OJWMXsH+oPQdw=
MIME-Version: 1.0
Received: by 10.231.182.196 with HTTP; Fri, 16 Apr 2010 12:14:04 -0700 (PDT)
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DCF7@SC-MBXC1.TheFacebook.com>
References: <C7ECABE0.32344%eran@hueniverse.com> <255B9BB34FB7D647A506DC292726F6E11257481003@WSMSG3153V.srv.dir.telstra.com> <9E18821D-E128-468A-9778-9D9D049B716F@jkemp.net> <2513A610118CC14C8E622C376C8DEC93D54D66DCF7@SC-MBXC1.TheFacebook.com>
Date: Fri, 16 Apr 2010 12:14:04 -0700
Received: by 10.114.186.14 with SMTP id j14mr2189458waf.60.1271445244460; Fri,  16 Apr 2010 12:14:04 -0700 (PDT)
Message-ID: <r2tfd6741651004161214l8090caf8udc1f564b88af69e4@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Luke Shepard <lshepard@facebook.com>
Content-Type: text/plain; charset=ISO-8859-1
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 19:14:52 -0000

Talked with Luke and now remember earlier conversations about two
URLs. We'll likely do www.facebook.com for user interactions and
api.facebook.com for server stuff.


On Fri, Apr 16, 2010 at 9:58 AM, Luke Shepard <lshepard@facebook.com> wrote:
> I guess I would prefer two URLs as well, but I see the simplicity argument as well:
>
>>> Constraints for endpoints:
>>> access token URL: HTTPS and POST only, no user
>>> user authentication URL: HTTP or HTTPS, GET or POST, authenticated user
>
> In either case, we should not restrict the access token URL to POST-only. A GET request is just as secure and can be much easier to write code for (just construct the URL and ping, no need to figure out CURLOPT_POSTFIELDS).
>
>
> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of John Kemp
> Sent: Thursday, April 15, 2010 7:11 PM
> To: Manger, James H
> Cc: OAuth WG
> Subject: Re: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
>
> On Apr 15, 2010, at 9:22 PM, Manger, James H wrote:
>
>> I strongly favour specifying 2 separate endpoints: one for where to redirect a user, another for direct client calls.
>
> I agree.
>
>>
>> I agree with Marius that these two endpoints are different enough to be separate.
>> One is only used by users via browsers. The other is only used by client apps. These are different populations, using different authentication mechanisms, with different performance requirements, and different technologies.
>>
>> The use of a type parameter is a poor tool to distinguishes these cases.
>>
>> I guess 1 URI could default to the other if not defined.
>> 1 URI could be allowed to be relative to the other to save some bytes.
>
> I agree with this reasoning too.
>
> - johnk
>
>>
>> --
>> James Manger
>>
>>
>> -----Original Message-----
>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of Eran Hammer-Lahav
>> Sent: Friday, 16 April 2010 4:41 AM
>> To: OAuth WG
>> Subject: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
>>
>> OAuth 2.0 defines a single authorization endpoint with a 'type' parameter
>> for the various flows and flow steps. There are two types of calls made to
>> the authorization endpoint:
>>
>> - Requests for Access - requests in which an end user interacts with the
>> authorization server, granting client access.
>>
>> - Requests for Token - requests in which the client uses a verification code
>> or other credentials to obtain an access token. These requests require
>> SSL/TLS because they always result in the transmission of plaintext
>> credentials in the response and sometimes in the request.
>>
>> A proposal has been made to define two separate endpoints due to the
>> different nature of these endpoints:
>>
>> On 4/6/10 4:06 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>>
>>> Constraints for endpoints:
>>> access token URL: HTTPS and POST only, no user
>>> user authentication URL: HTTP or HTTPS, GET or POST, authenticated user
>>>
>>> In many cases the above constraints can be enforced with configuration
>>> that sits in front of the controllers implementing these endpoints.
>>> For example, Apache config can enforce SSL and POST. Same can be done
>>> in a Java filter. Also a Java filter can enforce that only
>>> authenticated users hit the endpoint, it can redirect to a login page
>>> if needed.
>>>
>>> By keeping two different endpoints all of the above is much simpler.
>>> Nothing prevents an authz server to collapse these two into one
>>> endpoint.
>>
>> While requests for access do not require HTTPS, they should because they
>> involve authenticating the end user. As for enforcing HTTP methods (GET,
>> POST), this is simple to do both at the server configuration level or
>> application level.
>>
>> On the other hand, having a single endpoint makes the specification simpler,
>> and more importantly, makes discovery trivial as a 401 response needs to
>> include a single endpoint for obtaining a token regardless of the flow (some
>> flows use one, others two steps).
>>
>> A richer discovery later can use LRDD on the single authorization endpoint
>> to obtain an XRD describing the flows and UI options provided by the server.
>> But this is outside our scope.
>>
>> Proposal: No change. Keep the single authorization endpoint and require
>> HTTPS for all requests.
>>
>> EHL
>>
>>
>>
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From rbarnes@bbn.com  Fri Apr 16 12:27:53 2010
Return-Path: <rbarnes@bbn.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id ECF633A67A3 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 12:27:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.471
X-Spam-Level: 
X-Spam-Status: No, score=-2.471 tagged_above=-999 required=5 tests=[AWL=0.128,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RurDCn4KhGNa for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 12:27:52 -0700 (PDT)
Received: from smtp.bbn.com (smtp.bbn.com [128.33.1.81]) by core3.amsl.com (Postfix) with ESMTP id 1AD3928C18A for <oauth@ietf.org>; Fri, 16 Apr 2010 12:27:05 -0700 (PDT)
Received: from [192.1.255.202] (port=53337 helo=col-dhcp-192-1-255-202.bbn.com) by smtp.bbn.com with esmtp (Exim 4.71 (FreeBSD)) (envelope-from <rbarnes@bbn.com>) id 1O2rBq-000L3h-2J; Fri, 16 Apr 2010 15:26:58 -0400
Message-Id: <E81D4800-784B-45B4-87A4-0C3960EB20C8@bbn.com>
From: Richard Barnes <rbarnes@bbn.com>
To: Evan Gilbert <uidude@google.com>
In-Reply-To: <i2pc8689b661004161205g949c17a1z245fd80199140ea4@mail.gmail.com>
Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (Apple Message framework v936)
Date: Fri, 16 Apr 2010 15:26:57 -0400
References: <9C30AE64-7DB8-4B6B-879B-61CB71BF74BB@facebook.com> <C7EC567E.322EE%eran@hueniverse.com> <2513A610118CC14C8E622C376C8DEC93D54D66DCA7@SC-MBXC1.TheFacebook.com> <CA16E5C8-7987-4D5B-9038-E705E6630A07@bbn.com> <2513A610118CC14C8E622C376C8DEC93D54D66DCF5@SC-MBXC1.TheFacebook.com> <i2pc8689b661004161205g949c17a1z245fd80199140ea4@mail.gmail.com>
X-Mailer: Apple Mail (2.936)
Cc: Naitik Shah <naitik@facebook.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Rename callback => callback_uri
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 19:27:54 -0000

Ok, I think I get it.  Thanks for the explanation.

It seems we have a collision of layers here!  When OAuth parameters  
are being passed as request parameters (GET or POST), they can collide  
with parameters being used by an application (e.g., for JSONP).  In  
effect, encoding OAuth in this way creates a set of "reserved words"  
that applications can't use.

In the short run, it's probably an OK hack to rename parameters to  
something unlikely to collide, e.g., "oauth_*".  (Note: This applies  
to all OAuth parameters, not just "callback").

In the long run, though, doesn't this problem kind of argue that we  
shouldn't be passed as application-layer things (request parameters),  
but rather as HTTP-layer things, e.g., in an Authorization header?

--Richard



On Apr 16, 2010, at 3:05 PM, Evan Gilbert wrote:

> We should use the same name in the User-Agent and Web Callback  
> flows. Also, although the authorization server won't be allowing  
> JSONP requests, "callback" has become a bit of a defacto standard  
> for JSONP and it would be nice to use a term that isn't overloaded?
>
> Can we make them both "redirection"? Even better, maybe  
> "redirect_uri"?
>
> On Fri, Apr 16, 2010 at 9:50 AM, Luke Shepard  
> <lshepard@facebook.com> wrote:
> Facebook API requests are protected resources. They can be called  
> either in a browser or in a server-to-server environment.
>
> For example, a JSONP call for my name looks like this:
>
>        https://api.facebook.com/restserver.php?api_key=361900759629&call_id=1271436355034&callback=FB.RestServer._callback&format=json&method=fql.query&query=SELECT%20name%20FROM%20user%20WHERE%20uid%3D2901279&v=1.0
>
> The output (you can play with it here: http://fbrell.com/fb.api/everyone-data 
>  ):
>
>        FB.RestServer._callback([{"name":"Luke Shepard"}]);
>
> If we want that protected resource to take an access token as well,  
> then it would look like:
>
>        https://api.facebook.com/restserver.php?....&callback=FB.RestServer._callback&access_token=ACCESS_TOKEN
>
> The "callback" parameter is used pretty universally for JSONP  
> requests. For instance, see the Jquery docs: http://api.jquery.com/jQuery.getJSON/
>
> -----Original Message-----
> From: Richard Barnes [mailto:rbarnes@bbn.com]
> Sent: Friday, April 16, 2010 9:10 AM
> To: Luke Shepard
> Cc: Eran Hammer-Lahav; Naitik Shah; OAuth WG
> Subject: Re: [OAUTH-WG] Rename callback => callback_uri
>
> Could you clarify a little more the environment in which this
> confusion arose?  What do you mean when you say "The protected
> resource typically accepts 'callback' as a parameter to support
> JSONP."?  What sort of software are you including in this?
>
> --Richard
>
>
> On Apr 15, 2010, at 5:41 PM, Luke Shepard wrote:
>
> > We already had one developer try it out and get confused because the
> > server tried to treat the callback URL as a JSONP callback.
> >
> > The protected resource typically accepts "callback" as a parameter
> > to support JSONP. If a developer accidentally passes in callback
> > there (maybe they got confused) then the server can't give a normal
> > error message - instead it needs to either detect that it looks like
> > a URL or otherwise reject it.
> >
> > On a related note, I think it's more confusing calling it something
> > different in the user-agent flow (redirector) when it's essentially
> > doing the same thing.
> >
> >
> > From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
> > Behalf Of Eran Hammer-Lahav
> > Sent: Thursday, April 15, 2010 5:37 AM
> > To: Naitik Shah; OAuth WG
> > Subject: Re: [OAUTH-WG] Rename callback => callback_uri
> >
> > I don't think it is that confusing. Its a completely different
> > context from where JSON-P is used (note that in the User-Agent flow
> > it is called something else).
> >
> > EHL
> >
> >
> > On 4/10/10 12:35 PM, "Naitik Shah" <naitik@facebook.com> wrote:
> >
> > With the simplified params, the callback url parameter is now just
> > "callback". Since most major API providers already use "callback" to
> > signify JSON-P callback, can we rename this to "callback_uri"? This
> > will help avoid collisions and confusion.
> >
> >
> > -Naitik
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>


From uidude@google.com  Fri Apr 16 12:32:03 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E9C773A691E for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 12:32:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.64
X-Spam-Level: 
X-Spam-Status: No, score=-105.64 tagged_above=-999 required=5 tests=[AWL=0.336, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qPtX8fedZNZK for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 12:32:02 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 5ADDB3A681F for <oauth@ietf.org>; Fri, 16 Apr 2010 12:32:00 -0700 (PDT)
Received: from kpbe12.cbf.corp.google.com (kpbe12.cbf.corp.google.com [172.25.105.76]) by smtp-out.google.com with ESMTP id o3GJVqU9002640 for <oauth@ietf.org>; Fri, 16 Apr 2010 12:31:52 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271446312; bh=uGF6fHUtt9coQeQB7UI22oEVAr8=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=wID9+7ns/YrA8yZNcKdxH9xY8K5idvRxYg2h2F4kUQurYA15xuXRm9PNxGmL7mlNV 3di1olRulkVCiOKhidnFA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=IM4gaSQM2Q9q2hzIjeoTYmxmdFPC1bwJ4yKueMTmSh01i18cj6wCHz6st32/qzHBu 8J/Zr03otkffno2dPPhug==
Received: from qw-out-1920.google.com (qwa14.prod.google.com [10.241.193.14]) by kpbe12.cbf.corp.google.com with ESMTP id o3GJVpWE001115 for <oauth@ietf.org>; Fri, 16 Apr 2010 12:31:51 -0700
Received: by qw-out-1920.google.com with SMTP id 14so389951qwa.8 for <oauth@ietf.org>; Fri, 16 Apr 2010 12:31:51 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.131 with HTTP; Fri, 16 Apr 2010 12:31:22 -0700 (PDT)
In-Reply-To: <E81D4800-784B-45B4-87A4-0C3960EB20C8@bbn.com>
References: <9C30AE64-7DB8-4B6B-879B-61CB71BF74BB@facebook.com>  <C7EC567E.322EE%eran@hueniverse.com> <2513A610118CC14C8E622C376C8DEC93D54D66DCA7@SC-MBXC1.TheFacebook.com> <CA16E5C8-7987-4D5B-9038-E705E6630A07@bbn.com> <2513A610118CC14C8E622C376C8DEC93D54D66DCF5@SC-MBXC1.TheFacebook.com> <i2pc8689b661004161205g949c17a1z245fd80199140ea4@mail.gmail.com>  <E81D4800-784B-45B4-87A4-0C3960EB20C8@bbn.com>
From: Evan Gilbert <uidude@google.com>
Date: Fri, 16 Apr 2010 12:31:22 -0700
Received: by 10.229.213.77 with SMTP id gv13mr1902147qcb.63.1271446304638;  Fri, 16 Apr 2010 12:31:44 -0700 (PDT)
Message-ID: <h2hc8689b661004161231j7aeb103bzb3ceb76e2bf929@mail.gmail.com>
To: Richard Barnes <rbarnes@bbn.com>
Content-Type: multipart/alternative; boundary=0016362843aa57a24e04845fa97c
X-System-Of-Record: true
Cc: Naitik Shah <naitik@facebook.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Rename callback => callback_uri
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 19:32:04 -0000

--0016362843aa57a24e04845fa97c
Content-Type: text/plain; charset=ISO-8859-1

On Fri, Apr 16, 2010 at 12:26 PM, Richard Barnes <rbarnes@bbn.com> wrote:

> Ok, I think I get it.  Thanks for the explanation.
>
> It seems we have a collision of layers here!  When OAuth parameters are
> being passed as request parameters (GET or POST), they can collide with
> parameters being used by an application (e.g., for JSONP).  In effect,
> encoding OAuth in this way creates a set of "reserved words" that
> applications can't use.


> In the short run, it's probably an OK hack to rename parameters to
> something unlikely to collide, e.g., "oauth_*".  (Note: This applies to all
> OAuth parameters, not just "callback").
>

(this discussion is going on in a separate thread)


>
> In the long run, though, doesn't this problem kind of argue that we
> shouldn't be passed as application-layer things (request parameters), but
> rather as HTTP-layer things, e.g., in an Authorization header?
>

These all have to work as a browser GET request


>
> --Richard
>
>
>
>
> On Apr 16, 2010, at 3:05 PM, Evan Gilbert wrote:
>
>  We should use the same name in the User-Agent and Web Callback flows.
>> Also, although the authorization server won't be allowing JSONP requests,
>> "callback" has become a bit of a defacto standard for JSONP and it would be
>> nice to use a term that isn't overloaded?
>>
>> Can we make them both "redirection"? Even better, maybe "redirect_uri"?
>>
>> On Fri, Apr 16, 2010 at 9:50 AM, Luke Shepard <lshepard@facebook.com>
>> wrote:
>> Facebook API requests are protected resources. They can be called either
>> in a browser or in a server-to-server environment.
>>
>> For example, a JSONP call for my name looks like this:
>>
>>
>> https://api.facebook.com/restserver.php?api_key=361900759629&call_id=1271436355034&callback=FB.RestServer._callback&format=json&method=fql.query&query=SELECT%20name%20FROM%20user%20WHERE%20uid%3D2901279&v=1.0
>>
>> The output (you can play with it here:
>> http://fbrell.com/fb.api/everyone-data ):
>>
>>       FB.RestServer._callback([{"name":"Luke Shepard"}]);
>>
>> If we want that protected resource to take an access token as well, then
>> it would look like:
>>
>>
>> https://api.facebook.com/restserver.php?....&callback=FB.RestServer._callback&access_token=ACCESS_TOKEN
>>
>> The "callback" parameter is used pretty universally for JSONP requests.
>> For instance, see the Jquery docs: http://api.jquery.com/jQuery.getJSON/
>>
>> -----Original Message-----
>> From: Richard Barnes [mailto:rbarnes@bbn.com]
>> Sent: Friday, April 16, 2010 9:10 AM
>> To: Luke Shepard
>> Cc: Eran Hammer-Lahav; Naitik Shah; OAuth WG
>> Subject: Re: [OAUTH-WG] Rename callback => callback_uri
>>
>> Could you clarify a little more the environment in which this
>> confusion arose?  What do you mean when you say "The protected
>> resource typically accepts 'callback' as a parameter to support
>> JSONP."?  What sort of software are you including in this?
>>
>> --Richard
>>
>>
>> On Apr 15, 2010, at 5:41 PM, Luke Shepard wrote:
>>
>> > We already had one developer try it out and get confused because the
>> > server tried to treat the callback URL as a JSONP callback.
>> >
>> > The protected resource typically accepts "callback" as a parameter
>> > to support JSONP. If a developer accidentally passes in callback
>> > there (maybe they got confused) then the server can't give a normal
>> > error message - instead it needs to either detect that it looks like
>> > a URL or otherwise reject it.
>> >
>> > On a related note, I think it's more confusing calling it something
>> > different in the user-agent flow (redirector) when it's essentially
>> > doing the same thing.
>> >
>> >
>> > From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
>> > Behalf Of Eran Hammer-Lahav
>> > Sent: Thursday, April 15, 2010 5:37 AM
>> > To: Naitik Shah; OAuth WG
>> > Subject: Re: [OAUTH-WG] Rename callback => callback_uri
>> >
>> > I don't think it is that confusing. Its a completely different
>> > context from where JSON-P is used (note that in the User-Agent flow
>> > it is called something else).
>> >
>> > EHL
>> >
>> >
>> > On 4/10/10 12:35 PM, "Naitik Shah" <naitik@facebook.com> wrote:
>> >
>> > With the simplified params, the callback url parameter is now just
>> > "callback". Since most major API providers already use "callback" to
>> > signify JSON-P callback, can we rename this to "callback_uri"? This
>> > will help avoid collisions and confusion.
>> >
>> >
>> > -Naitik
>> > _______________________________________________
>> > OAuth mailing list
>> > OAuth@ietf.org
>> > https://www.ietf.org/mailman/listinfo/oauth
>> >
>> > _______________________________________________
>> > OAuth mailing list
>> > OAuth@ietf.org
>> > https://www.ietf.org/mailman/listinfo/oauth
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>

--0016362843aa57a24e04845fa97c
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Fri, Apr 16, 2010 at 12:26 PM, Richar=
d Barnes <span dir=3D"ltr">&lt;<a href=3D"mailto:rbarnes@bbn.com">rbarnes@b=
bn.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"=
margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Ok, I think I get it. =A0Thanks for the explanation.<br>
<br>
It seems we have a collision of layers here! =A0When OAuth parameters are b=
eing passed as request parameters (GET or POST), they can collide with para=
meters being used by an application (e.g., for JSONP). =A0In effect, encodi=
ng OAuth in this way creates a set of &quot;reserved words&quot; that appli=
cations can&#39;t use.=A0</blockquote>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">
<br>
In the short run, it&#39;s probably an OK hack to rename parameters to some=
thing unlikely to collide, e.g., &quot;oauth_*&quot;. =A0(Note: This applie=
s to all OAuth parameters, not just &quot;callback&quot;).<br></blockquote>

<div><br></div><div>(this discussion is going on in a separate thread)</div=
><div>=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex=
;border-left:1px #ccc solid;padding-left:1ex;">
<br>
In the long run, though, doesn&#39;t this problem kind of argue that we sho=
uldn&#39;t be passed as application-layer things (request parameters), but =
rather as HTTP-layer things, e.g., in an Authorization header?<br></blockqu=
ote>

<div><br></div><div>These all have to work as a browser GET request</div><d=
iv>=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo=
rder-left:1px #ccc solid;padding-left:1ex;"><font color=3D"#888888">
<br>
--Richard</font><div><div></div><div class=3D"h5"><br>
<br>
<br>
<br>
On Apr 16, 2010, at 3:05 PM, Evan Gilbert wrote:<br>
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
We should use the same name in the User-Agent and Web Callback flows. Also,=
 although the authorization server won&#39;t be allowing JSONP requests, &q=
uot;callback&quot; has become a bit of a defacto standard for JSONP and it =
would be nice to use a term that isn&#39;t overloaded?<br>


<br>
Can we make them both &quot;redirection&quot;? Even better, maybe &quot;red=
irect_uri&quot;?<br>
<br>
On Fri, Apr 16, 2010 at 9:50 AM, Luke Shepard &lt;<a href=3D"mailto:lshepar=
d@facebook.com" target=3D"_blank">lshepard@facebook.com</a>&gt; wrote:<br>
Facebook API requests are protected resources. They can be called either in=
 a browser or in a server-to-server environment.<br>
<br>
For example, a JSONP call for my name looks like this:<br>
<br>
 =A0 =A0 =A0 <a href=3D"https://api.facebook.com/restserver.php?api_key=3D3=
61900759629&amp;call_id=3D1271436355034&amp;callback=3DFB.RestServer._callb=
ack&amp;format=3Djson&amp;method=3Dfql.query&amp;query=3DSELECT%20name%20FR=
OM%20user%20WHERE%20uid%3D2901279&amp;v=3D1.0" target=3D"_blank">https://ap=
i.facebook.com/restserver.php?api_key=3D361900759629&amp;call_id=3D12714363=
55034&amp;callback=3DFB.RestServer._callback&amp;format=3Djson&amp;method=
=3Dfql.query&amp;query=3DSELECT%20name%20FROM%20user%20WHERE%20uid%3D290127=
9&amp;v=3D1.0</a><br>


<br>
The output (you can play with it here: <a href=3D"http://fbrell.com/fb.api/=
everyone-data" target=3D"_blank">http://fbrell.com/fb.api/everyone-data</a>=
 ):<br>
<br>
 =A0 =A0 =A0 FB.RestServer._callback([{&quot;name&quot;:&quot;Luke Shepard&=
quot;}]);<br>
<br>
If we want that protected resource to take an access token as well, then it=
 would look like:<br>
<br>
 =A0 =A0 =A0 <a href=3D"https://api.facebook.com/restserver.php?....&amp;ca=
llback=3DFB.RestServer._callback&amp;access_token=3DACCESS_TOKEN" target=3D=
"_blank">https://api.facebook.com/restserver.php?....&amp;callback=3DFB.Res=
tServer._callback&amp;access_token=3DACCESS_TOKEN</a><br>


<br>
The &quot;callback&quot; parameter is used pretty universally for JSONP req=
uests. For instance, see the Jquery docs: <a href=3D"http://api.jquery.com/=
jQuery.getJSON/" target=3D"_blank">http://api.jquery.com/jQuery.getJSON/</a=
><br>


<br>
-----Original Message-----<br>
From: Richard Barnes [mailto:<a href=3D"mailto:rbarnes@bbn.com" target=3D"_=
blank">rbarnes@bbn.com</a>]<br>
Sent: Friday, April 16, 2010 9:10 AM<br>
To: Luke Shepard<br>
Cc: Eran Hammer-Lahav; Naitik Shah; OAuth WG<br>
Subject: Re: [OAUTH-WG] Rename callback =3D&gt; callback_uri<br>
<br>
Could you clarify a little more the environment in which this<br>
confusion arose? =A0What do you mean when you say &quot;The protected<br>
resource typically accepts &#39;callback&#39; as a parameter to support<br>
JSONP.&quot;? =A0What sort of software are you including in this?<br>
<br>
--Richard<br>
<br>
<br>
On Apr 15, 2010, at 5:41 PM, Luke Shepard wrote:<br>
<br>
&gt; We already had one developer try it out and get confused because the<b=
r>
&gt; server tried to treat the callback URL as a JSONP callback.<br>
&gt;<br>
&gt; The protected resource typically accepts &quot;callback&quot; as a par=
ameter<br>
&gt; to support JSONP. If a developer accidentally passes in callback<br>
&gt; there (maybe they got confused) then the server can&#39;t give a norma=
l<br>
&gt; error message - instead it needs to either detect that it looks like<b=
r>
&gt; a URL or otherwise reject it.<br>
&gt;<br>
&gt; On a related note, I think it&#39;s more confusing calling it somethin=
g<br>
&gt; different in the user-agent flow (redirector) when it&#39;s essentiall=
y<br>
&gt; doing the same thing.<br>
&gt;<br>
&gt;<br>
&gt; From: <a href=3D"mailto:oauth-bounces@ietf.org" target=3D"_blank">oaut=
h-bounces@ietf.org</a> [mailto:<a href=3D"mailto:oauth-bounces@ietf.org" ta=
rget=3D"_blank">oauth-bounces@ietf.org</a>] On<br>
&gt; Behalf Of Eran Hammer-Lahav<br>
&gt; Sent: Thursday, April 15, 2010 5:37 AM<br>
&gt; To: Naitik Shah; OAuth WG<br>
&gt; Subject: Re: [OAUTH-WG] Rename callback =3D&gt; callback_uri<br>
&gt;<br>
&gt; I don&#39;t think it is that confusing. Its a completely different<br>
&gt; context from where JSON-P is used (note that in the User-Agent flow<br=
>
&gt; it is called something else).<br>
&gt;<br>
&gt; EHL<br>
&gt;<br>
&gt;<br>
&gt; On 4/10/10 12:35 PM, &quot;Naitik Shah&quot; &lt;<a href=3D"mailto:nai=
tik@facebook.com" target=3D"_blank">naitik@facebook.com</a>&gt; wrote:<br>
&gt;<br>
&gt; With the simplified params, the callback url parameter is now just<br>
&gt; &quot;callback&quot;. Since most major API providers already use &quot=
;callback&quot; to<br>
&gt; signify JSON-P callback, can we rename this to &quot;callback_uri&quot=
;? This<br>
&gt; will help avoid collisions and confusion.<br>
&gt;<br>
&gt;<br>
&gt; -Naitik<br>
&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a>=
<br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_bla=
nk">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a>=
<br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_bla=
nk">https://www.ietf.org/mailman/listinfo/oauth</a><br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br>
</blockquote>
<br>
</div></div></blockquote></div><br>

--0016362843aa57a24e04845fa97c--

From lshepard@facebook.com  Fri Apr 16 12:37:45 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 07A6A3A6BAC for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 12:37:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.017
X-Spam-Level: 
X-Spam-Status: No, score=-3.017 tagged_above=-999 required=5 tests=[AWL=0.248,  BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BvSeTu7a-Z-q for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 12:37:43 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id D62303A6B83 for <oauth@ietf.org>; Fri, 16 Apr 2010 12:36:56 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.198]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3GJZ3Jl015640 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Fri, 16 Apr 2010 12:35:08 -0700
Received: from sc-hub01.TheFacebook.com (192.168.18.104) by sc-hub03.TheFacebook.com (192.168.18.198) with Microsoft SMTP Server (TLS) id 14.0.689.0; Fri, 16 Apr 2010 12:35:33 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub01.TheFacebook.com ([192.168.18.104]) with mapi; Fri, 16 Apr 2010 12:35:04 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Richard Barnes <rbarnes@bbn.com>, Evan Gilbert <uidude@google.com>
Date: Fri, 16 Apr 2010 12:35:02 -0700
Thread-Topic: [OAUTH-WG] Rename callback => callback_uri
Thread-Index: AcrdmsrXIafTB8XVSSmIN6UmDTmsBwAAMbaA
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66DD35@SC-MBXC1.TheFacebook.com>
References: <9C30AE64-7DB8-4B6B-879B-61CB71BF74BB@facebook.com> <C7EC567E.322EE%eran@hueniverse.com> <2513A610118CC14C8E622C376C8DEC93D54D66DCA7@SC-MBXC1.TheFacebook.com> <CA16E5C8-7987-4D5B-9038-E705E6630A07@bbn.com> <2513A610118CC14C8E622C376C8DEC93D54D66DCF5@SC-MBXC1.TheFacebook.com> <i2pc8689b661004161205g949c17a1z245fd80199140ea4@mail.gmail.com> <E81D4800-784B-45B4-87A4-0C3960EB20C8@bbn.com>
In-Reply-To: <E81D4800-784B-45B4-87A4-0C3960EB20C8@bbn.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-16_07:2010-02-06, 2010-04-16, 2010-04-16 signatures=0
Cc: Naitik Shah <naitik@facebook.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Rename callback => callback_uri
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 19:37:45 -0000

The spec officially protects against collisions: All OAuth-specific endpoin=
ts shouldn't accept extra parameters, and the protected resources need only=
 worry about "access_token".=20

The issue is softer - in this case, we are anticipating and preventing what=
 would otherwise be a common source of developer confusion.
=20
redirect_url (or redirect_uri, but we use _url elsewhere so whatever) seems=
 the best to me too.

-----Original Message-----
From: Richard Barnes [mailto:rbarnes@bbn.com]=20
Sent: Friday, April 16, 2010 12:27 PM
To: Evan Gilbert
Cc: Luke Shepard; Naitik Shah; OAuth WG
Subject: Re: [OAUTH-WG] Rename callback =3D> callback_uri

Ok, I think I get it.  Thanks for the explanation.

It seems we have a collision of layers here!  When OAuth parameters =20
are being passed as request parameters (GET or POST), they can collide =20
with parameters being used by an application (e.g., for JSONP).  In =20
effect, encoding OAuth in this way creates a set of "reserved words" =20
that applications can't use.

In the short run, it's probably an OK hack to rename parameters to =20
something unlikely to collide, e.g., "oauth_*".  (Note: This applies =20
to all OAuth parameters, not just "callback").

In the long run, though, doesn't this problem kind of argue that we =20
shouldn't be passed as application-layer things (request parameters), =20
but rather as HTTP-layer things, e.g., in an Authorization header?

--Richard



On Apr 16, 2010, at 3:05 PM, Evan Gilbert wrote:

> We should use the same name in the User-Agent and Web Callback =20
> flows. Also, although the authorization server won't be allowing =20
> JSONP requests, "callback" has become a bit of a defacto standard =20
> for JSONP and it would be nice to use a term that isn't overloaded?
>
> Can we make them both "redirection"? Even better, maybe =20
> "redirect_uri"?
>
> On Fri, Apr 16, 2010 at 9:50 AM, Luke Shepard =20
> <lshepard@facebook.com> wrote:
> Facebook API requests are protected resources. They can be called =20
> either in a browser or in a server-to-server environment.
>
> For example, a JSONP call for my name looks like this:
>
>        https://api.facebook.com/restserver.php?api_key=3D361900759629&cal=
l_id=3D1271436355034&callback=3DFB.RestServer._callback&format=3Djson&metho=
d=3Dfql.query&query=3DSELECT%20name%20FROM%20user%20WHERE%20uid%3D2901279&v=
=3D1.0
>
> The output (you can play with it here: http://fbrell.com/fb.api/everyone-=
data=20
>  ):
>
>        FB.RestServer._callback([{"name":"Luke Shepard"}]);
>
> If we want that protected resource to take an access token as well, =20
> then it would look like:
>
>        https://api.facebook.com/restserver.php?....&callback=3DFB.RestSer=
ver._callback&access_token=3DACCESS_TOKEN
>
> The "callback" parameter is used pretty universally for JSONP =20
> requests. For instance, see the Jquery docs: http://api.jquery.com/jQuery=
.getJSON/
>
> -----Original Message-----
> From: Richard Barnes [mailto:rbarnes@bbn.com]
> Sent: Friday, April 16, 2010 9:10 AM
> To: Luke Shepard
> Cc: Eran Hammer-Lahav; Naitik Shah; OAuth WG
> Subject: Re: [OAUTH-WG] Rename callback =3D> callback_uri
>
> Could you clarify a little more the environment in which this
> confusion arose?  What do you mean when you say "The protected
> resource typically accepts 'callback' as a parameter to support
> JSONP."?  What sort of software are you including in this?
>
> --Richard
>
>
> On Apr 15, 2010, at 5:41 PM, Luke Shepard wrote:
>
> > We already had one developer try it out and get confused because the
> > server tried to treat the callback URL as a JSONP callback.
> >
> > The protected resource typically accepts "callback" as a parameter
> > to support JSONP. If a developer accidentally passes in callback
> > there (maybe they got confused) then the server can't give a normal
> > error message - instead it needs to either detect that it looks like
> > a URL or otherwise reject it.
> >
> > On a related note, I think it's more confusing calling it something
> > different in the user-agent flow (redirector) when it's essentially
> > doing the same thing.
> >
> >
> > From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
> > Behalf Of Eran Hammer-Lahav
> > Sent: Thursday, April 15, 2010 5:37 AM
> > To: Naitik Shah; OAuth WG
> > Subject: Re: [OAUTH-WG] Rename callback =3D> callback_uri
> >
> > I don't think it is that confusing. Its a completely different
> > context from where JSON-P is used (note that in the User-Agent flow
> > it is called something else).
> >
> > EHL
> >
> >
> > On 4/10/10 12:35 PM, "Naitik Shah" <naitik@facebook.com> wrote:
> >
> > With the simplified params, the callback url parameter is now just
> > "callback". Since most major API providers already use "callback" to
> > signify JSON-P callback, can we rename this to "callback_uri"? This
> > will help avoid collisions and confusion.
> >
> >
> > -Naitik
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>


From uidude@google.com  Fri Apr 16 12:42:46 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A020E3A6961 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 12:42:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.837
X-Spam-Level: 
X-Spam-Status: No, score=-101.837 tagged_above=-999 required=5 tests=[AWL=0.139, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 035JQWsvYZkh for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 12:42:45 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id C17493A6B78 for <oauth@ietf.org>; Fri, 16 Apr 2010 12:42:37 -0700 (PDT)
Received: from kpbe11.cbf.corp.google.com (kpbe11.cbf.corp.google.com [172.25.105.75]) by smtp-out.google.com with ESMTP id o3GJgQVc004028 for <oauth@ietf.org>; Fri, 16 Apr 2010 21:42:27 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271446947; bh=4fHPh0N6JlHk1Bmd/C7GPgHhw/Q=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=HqswRMtYVJxcszq8+hrBEKLIgyWHk8auwnKmx+yp4Bkd00B6+3fKKUAMoxKvqDdqT O7QwLf7R5epJU+31atrAw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=C15txPLLhnC60zoT4E6p++i1cKi0ks9QEHxmkMi27Q5Jsj5ko0GdzNyx8NMIpvjy/ D6HdROArvIFYPkyDdMU+Q==
Received: from qw-out-1920.google.com (qwc5.prod.google.com [10.241.193.133]) by kpbe11.cbf.corp.google.com with ESMTP id o3GJgPnW031729 for <oauth@ietf.org>; Fri, 16 Apr 2010 14:42:25 -0500
Received: by qw-out-1920.google.com with SMTP id 5so928938qwc.34 for <oauth@ietf.org>; Fri, 16 Apr 2010 12:42:25 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.131 with HTTP; Fri, 16 Apr 2010 12:42:04 -0700 (PDT)
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DD35@SC-MBXC1.TheFacebook.com>
References: <9C30AE64-7DB8-4B6B-879B-61CB71BF74BB@facebook.com>  <C7EC567E.322EE%eran@hueniverse.com> <2513A610118CC14C8E622C376C8DEC93D54D66DCA7@SC-MBXC1.TheFacebook.com> <CA16E5C8-7987-4D5B-9038-E705E6630A07@bbn.com> <2513A610118CC14C8E622C376C8DEC93D54D66DCF5@SC-MBXC1.TheFacebook.com> <i2pc8689b661004161205g949c17a1z245fd80199140ea4@mail.gmail.com>  <E81D4800-784B-45B4-87A4-0C3960EB20C8@bbn.com> <2513A610118CC14C8E622C376C8DEC93D54D66DD35@SC-MBXC1.TheFacebook.com>
From: Evan Gilbert <uidude@google.com>
Date: Fri, 16 Apr 2010 12:42:04 -0700
Received: by 10.229.224.79 with SMTP id in15mr2834238qcb.76.1271446944378;  Fri, 16 Apr 2010 12:42:24 -0700 (PDT)
Message-ID: <r2hc8689b661004161242w646cdf5br3c26ab64fdd96c04@mail.gmail.com>
To: Luke Shepard <lshepard@facebook.com>
Content-Type: multipart/alternative; boundary=0016363b8edc786e0d04845fcf84
X-System-Of-Record: true
Cc: Naitik Shah <naitik@facebook.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Rename callback => callback_uri
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 19:42:46 -0000

--0016363b8edc786e0d04845fcf84
Content-Type: text/plain; charset=ISO-8859-1

On Fri, Apr 16, 2010 at 12:35 PM, Luke Shepard <lshepard@facebook.com>wrote:

> The spec officially protects against collisions: All OAuth-specific
> endpoints shouldn't accept extra parameters, and the protected resources
> need only worry about "access_token".
>

Callback URIs may have their own parameters (not in the live spec yet, but
think we agreed to on a separate thread)


>
> The issue is softer - in this case, we are anticipating and preventing what
> would otherwise be a common source of developer confusion.
>
> redirect_url (or redirect_uri, but we use _url elsewhere so whatever) seems
> the best to me too.
>

I'm fine with either.


>
> -----Original Message-----
> From: Richard Barnes [mailto:rbarnes@bbn.com]
> Sent: Friday, April 16, 2010 12:27 PM
> To: Evan Gilbert
> Cc: Luke Shepard; Naitik Shah; OAuth WG
> Subject: Re: [OAUTH-WG] Rename callback => callback_uri
>
> Ok, I think I get it.  Thanks for the explanation.
>
> It seems we have a collision of layers here!  When OAuth parameters
> are being passed as request parameters (GET or POST), they can collide
> with parameters being used by an application (e.g., for JSONP).  In
> effect, encoding OAuth in this way creates a set of "reserved words"
> that applications can't use.
>
> In the short run, it's probably an OK hack to rename parameters to
> something unlikely to collide, e.g., "oauth_*".  (Note: This applies
> to all OAuth parameters, not just "callback").
>
> In the long run, though, doesn't this problem kind of argue that we
> shouldn't be passed as application-layer things (request parameters),
> but rather as HTTP-layer things, e.g., in an Authorization header?
>
> --Richard
>
>
>
> On Apr 16, 2010, at 3:05 PM, Evan Gilbert wrote:
>
> > We should use the same name in the User-Agent and Web Callback
> > flows. Also, although the authorization server won't be allowing
> > JSONP requests, "callback" has become a bit of a defacto standard
> > for JSONP and it would be nice to use a term that isn't overloaded?
> >
> > Can we make them both "redirection"? Even better, maybe
> > "redirect_uri"?
> >
> > On Fri, Apr 16, 2010 at 9:50 AM, Luke Shepard
> > <lshepard@facebook.com> wrote:
> > Facebook API requests are protected resources. They can be called
> > either in a browser or in a server-to-server environment.
> >
> > For example, a JSONP call for my name looks like this:
> >
> >
> https://api.facebook.com/restserver.php?api_key=361900759629&call_id=1271436355034&callback=FB.RestServer._callback&format=json&method=fql.query&query=SELECT%20name%20FROM%20user%20WHERE%20uid%3D2901279&v=1.0
> >
> > The output (you can play with it here:
> http://fbrell.com/fb.api/everyone-data
> >  ):
> >
> >        FB.RestServer._callback([{"name":"Luke Shepard"}]);
> >
> > If we want that protected resource to take an access token as well,
> > then it would look like:
> >
> >
> https://api.facebook.com/restserver.php?....&callback=FB.RestServer._callback&access_token=ACCESS_TOKEN
> >
> > The "callback" parameter is used pretty universally for JSONP
> > requests. For instance, see the Jquery docs:
> http://api.jquery.com/jQuery.getJSON/
> >
> > -----Original Message-----
> > From: Richard Barnes [mailto:rbarnes@bbn.com]
> > Sent: Friday, April 16, 2010 9:10 AM
> > To: Luke Shepard
> > Cc: Eran Hammer-Lahav; Naitik Shah; OAuth WG
> > Subject: Re: [OAUTH-WG] Rename callback => callback_uri
> >
> > Could you clarify a little more the environment in which this
> > confusion arose?  What do you mean when you say "The protected
> > resource typically accepts 'callback' as a parameter to support
> > JSONP."?  What sort of software are you including in this?
> >
> > --Richard
> >
> >
> > On Apr 15, 2010, at 5:41 PM, Luke Shepard wrote:
> >
> > > We already had one developer try it out and get confused because the
> > > server tried to treat the callback URL as a JSONP callback.
> > >
> > > The protected resource typically accepts "callback" as a parameter
> > > to support JSONP. If a developer accidentally passes in callback
> > > there (maybe they got confused) then the server can't give a normal
> > > error message - instead it needs to either detect that it looks like
> > > a URL or otherwise reject it.
> > >
> > > On a related note, I think it's more confusing calling it something
> > > different in the user-agent flow (redirector) when it's essentially
> > > doing the same thing.
> > >
> > >
> > > From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
> > > Behalf Of Eran Hammer-Lahav
> > > Sent: Thursday, April 15, 2010 5:37 AM
> > > To: Naitik Shah; OAuth WG
> > > Subject: Re: [OAUTH-WG] Rename callback => callback_uri
> > >
> > > I don't think it is that confusing. Its a completely different
> > > context from where JSON-P is used (note that in the User-Agent flow
> > > it is called something else).
> > >
> > > EHL
> > >
> > >
> > > On 4/10/10 12:35 PM, "Naitik Shah" <naitik@facebook.com> wrote:
> > >
> > > With the simplified params, the callback url parameter is now just
> > > "callback". Since most major API providers already use "callback" to
> > > signify JSON-P callback, can we rename this to "callback_uri"? This
> > > will help avoid collisions and confusion.
> > >
> > >
> > > -Naitik
> > > _______________________________________________
> > > OAuth mailing list
> > > OAuth@ietf.org
> > > https://www.ietf.org/mailman/listinfo/oauth
> > >
> > > _______________________________________________
> > > OAuth mailing list
> > > OAuth@ietf.org
> > > https://www.ietf.org/mailman/listinfo/oauth
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> >
>
>

--0016363b8edc786e0d04845fcf84
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Fri, Apr 16, 2010 at 12:35 PM, Luke S=
hepard <span dir=3D"ltr">&lt;<a href=3D"mailto:lshepard@facebook.com">lshep=
ard@facebook.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote"=
 style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

The spec officially protects against collisions: All OAuth-specific endpoin=
ts shouldn&#39;t accept extra parameters, and the protected resources need =
only worry about &quot;access_token&quot;.<br></blockquote><div>=A0</div>

<div>Callback URIs may have their own parameters (not in the live spec yet,=
 but think we agreed to on a separate thread)</div><div>=A0</div><blockquot=
e class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc sol=
id;padding-left:1ex;">


<br>
The issue is softer - in this case, we are anticipating and preventing what=
 would otherwise be a common source of developer confusion.<br>
<br>
redirect_url (or redirect_uri, but we use _url elsewhere so whatever) seems=
 the best to me too.<br></blockquote><div><br></div><div>I&#39;m fine with =
either.</div><div>=A0</div><blockquote class=3D"gmail_quote" style=3D"margi=
n:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


<div class=3D"im"><br>
-----Original Message-----<br>
From: Richard Barnes [mailto:<a href=3D"mailto:rbarnes@bbn.com">rbarnes@bbn=
.com</a>]<br>
</div><div><div></div><div class=3D"h5">Sent: Friday, April 16, 2010 12:27 =
PM<br>
To: Evan Gilbert<br>
Cc: Luke Shepard; Naitik Shah; OAuth WG<br>
Subject: Re: [OAUTH-WG] Rename callback =3D&gt; callback_uri<br>
<br>
Ok, I think I get it. =A0Thanks for the explanation.<br>
<br>
It seems we have a collision of layers here! =A0When OAuth parameters<br>
are being passed as request parameters (GET or POST), they can collide<br>
with parameters being used by an application (e.g., for JSONP). =A0In<br>
effect, encoding OAuth in this way creates a set of &quot;reserved words&qu=
ot;<br>
that applications can&#39;t use.<br>
<br>
In the short run, it&#39;s probably an OK hack to rename parameters to<br>
something unlikely to collide, e.g., &quot;oauth_*&quot;. =A0(Note: This ap=
plies<br>
to all OAuth parameters, not just &quot;callback&quot;).<br>
<br>
In the long run, though, doesn&#39;t this problem kind of argue that we<br>
shouldn&#39;t be passed as application-layer things (request parameters),<b=
r>
but rather as HTTP-layer things, e.g., in an Authorization header?<br>
<br>
--Richard<br>
<br>
<br>
<br>
On Apr 16, 2010, at 3:05 PM, Evan Gilbert wrote:<br>
<br>
&gt; We should use the same name in the User-Agent and Web Callback<br>
&gt; flows. Also, although the authorization server won&#39;t be allowing<b=
r>
&gt; JSONP requests, &quot;callback&quot; has become a bit of a defacto sta=
ndard<br>
&gt; for JSONP and it would be nice to use a term that isn&#39;t overloaded=
?<br>
&gt;<br>
&gt; Can we make them both &quot;redirection&quot;? Even better, maybe<br>
&gt; &quot;redirect_uri&quot;?<br>
&gt;<br>
&gt; On Fri, Apr 16, 2010 at 9:50 AM, Luke Shepard<br>
&gt; &lt;<a href=3D"mailto:lshepard@facebook.com">lshepard@facebook.com</a>=
&gt; wrote:<br>
&gt; Facebook API requests are protected resources. They can be called<br>
&gt; either in a browser or in a server-to-server environment.<br>
&gt;<br>
&gt; For example, a JSONP call for my name looks like this:<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0<a href=3D"https://api.facebook.com/restserver.php?api_=
key=3D361900759629&amp;call_id=3D1271436355034&amp;callback=3DFB.RestServer=
._callback&amp;format=3Djson&amp;method=3Dfql.query&amp;query=3DSELECT%20na=
me%20FROM%20user%20WHERE%20uid%3D2901279&amp;v=3D1.0" target=3D"_blank">htt=
ps://api.facebook.com/restserver.php?api_key=3D361900759629&amp;call_id=3D1=
271436355034&amp;callback=3DFB.RestServer._callback&amp;format=3Djson&amp;m=
ethod=3Dfql.query&amp;query=3DSELECT%20name%20FROM%20user%20WHERE%20uid%3D2=
901279&amp;v=3D1.0</a><br>


&gt;<br>
&gt; The output (you can play with it here: <a href=3D"http://fbrell.com/fb=
.api/everyone-data" target=3D"_blank">http://fbrell.com/fb.api/everyone-dat=
a</a><br>
&gt; =A0):<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0FB.RestServer._callback([{&quot;name&quot;:&quot;Luke S=
hepard&quot;}]);<br>
&gt;<br>
&gt; If we want that protected resource to take an access token as well,<br=
>
&gt; then it would look like:<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0<a href=3D"https://api.facebook.com/restserver.php?....=
&amp;callback=3DFB.RestServer._callback&amp;access_token=3DACCESS_TOKEN" ta=
rget=3D"_blank">https://api.facebook.com/restserver.php?....&amp;callback=
=3DFB.RestServer._callback&amp;access_token=3DACCESS_TOKEN</a><br>


&gt;<br>
&gt; The &quot;callback&quot; parameter is used pretty universally for JSON=
P<br>
&gt; requests. For instance, see the Jquery docs: <a href=3D"http://api.jqu=
ery.com/jQuery.getJSON/" target=3D"_blank">http://api.jquery.com/jQuery.get=
JSON/</a><br>
&gt;<br>
&gt; -----Original Message-----<br>
&gt; From: Richard Barnes [mailto:<a href=3D"mailto:rbarnes@bbn.com">rbarne=
s@bbn.com</a>]<br>
&gt; Sent: Friday, April 16, 2010 9:10 AM<br>
&gt; To: Luke Shepard<br>
&gt; Cc: Eran Hammer-Lahav; Naitik Shah; OAuth WG<br>
&gt; Subject: Re: [OAUTH-WG] Rename callback =3D&gt; callback_uri<br>
&gt;<br>
&gt; Could you clarify a little more the environment in which this<br>
&gt; confusion arose? =A0What do you mean when you say &quot;The protected<=
br>
&gt; resource typically accepts &#39;callback&#39; as a parameter to suppor=
t<br>
&gt; JSONP.&quot;? =A0What sort of software are you including in this?<br>
&gt;<br>
&gt; --Richard<br>
&gt;<br>
&gt;<br>
&gt; On Apr 15, 2010, at 5:41 PM, Luke Shepard wrote:<br>
&gt;<br>
&gt; &gt; We already had one developer try it out and get confused because =
the<br>
&gt; &gt; server tried to treat the callback URL as a JSONP callback.<br>
&gt; &gt;<br>
&gt; &gt; The protected resource typically accepts &quot;callback&quot; as =
a parameter<br>
&gt; &gt; to support JSONP. If a developer accidentally passes in callback<=
br>
&gt; &gt; there (maybe they got confused) then the server can&#39;t give a =
normal<br>
&gt; &gt; error message - instead it needs to either detect that it looks l=
ike<br>
&gt; &gt; a URL or otherwise reject it.<br>
&gt; &gt;<br>
&gt; &gt; On a related note, I think it&#39;s more confusing calling it som=
ething<br>
&gt; &gt; different in the user-agent flow (redirector) when it&#39;s essen=
tially<br>
&gt; &gt; doing the same thing.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; From: <a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@iet=
f.org</a> [mailto:<a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@i=
etf.org</a>] On<br>
&gt; &gt; Behalf Of Eran Hammer-Lahav<br>
&gt; &gt; Sent: Thursday, April 15, 2010 5:37 AM<br>
&gt; &gt; To: Naitik Shah; OAuth WG<br>
&gt; &gt; Subject: Re: [OAUTH-WG] Rename callback =3D&gt; callback_uri<br>
&gt; &gt;<br>
&gt; &gt; I don&#39;t think it is that confusing. Its a completely differen=
t<br>
&gt; &gt; context from where JSON-P is used (note that in the User-Agent fl=
ow<br>
&gt; &gt; it is called something else).<br>
&gt; &gt;<br>
&gt; &gt; EHL<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; On 4/10/10 12:35 PM, &quot;Naitik Shah&quot; &lt;<a href=3D"mailt=
o:naitik@facebook.com">naitik@facebook.com</a>&gt; wrote:<br>
&gt; &gt;<br>
&gt; &gt; With the simplified params, the callback url parameter is now jus=
t<br>
&gt; &gt; &quot;callback&quot;. Since most major API providers already use =
&quot;callback&quot; to<br>
&gt; &gt; signify JSON-P callback, can we rename this to &quot;callback_uri=
&quot;? This<br>
&gt; &gt; will help avoid collisions and confusion.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; -Naitik<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; OAuth mailing list<br>
&gt; &gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt; &gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D=
"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt; &gt;<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; OAuth mailing list<br>
&gt; &gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt; &gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D=
"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_bla=
nk">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;<br>
<br>
</div></div></blockquote></div><br>

--0016363b8edc786e0d04845fcf84--

From naitik@facebook.com  Fri Apr 16 12:12:02 2010
Return-Path: <naitik@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8C40628C16A for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 12:12:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.71
X-Spam-Level: 
X-Spam-Status: No, score=-2.71 tagged_above=-999 required=5 tests=[AWL=0.555,  BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BcgsTKAcVIkw for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 12:12:00 -0700 (PDT)
Received: from mailout-snc1.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 1ED6B28C116 for <oauth@ietf.org>; Fri, 16 Apr 2010 12:12:00 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.212]) by pp01.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3GJBHMw021451 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Fri, 16 Apr 2010 12:11:17 -0700
Received: from sc-hub01.TheFacebook.com (192.168.18.104) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.689.0; Fri, 16 Apr 2010 12:11:34 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub01.TheFacebook.com ([192.168.18.104]) with mapi; Fri, 16 Apr 2010 12:11:34 -0700
From: Naitik Shah <naitik@facebook.com>
To: Evan Gilbert <uidude@google.com>
Date: Fri, 16 Apr 2010 12:11:33 -0700
Thread-Topic: [OAUTH-WG] Rename callback => callback_uri
Thread-Index: AcrdmKDVnUh0mMoFR2eiJdpzhyxTiw==
Message-ID: <5A37E56E-3F6B-437E-89DF-D2FD8F2EF8E7@facebook.com>
References: <9C30AE64-7DB8-4B6B-879B-61CB71BF74BB@facebook.com> <C7EC567E.322EE%eran@hueniverse.com> <2513A610118CC14C8E622C376C8DEC93D54D66DCA7@SC-MBXC1.TheFacebook.com> <CA16E5C8-7987-4D5B-9038-E705E6630A07@bbn.com> <2513A610118CC14C8E622C376C8DEC93D54D66DCF5@SC-MBXC1.TheFacebook.com> <i2pc8689b661004161205g949c17a1z245fd80199140ea4@mail.gmail.com>
In-Reply-To: <i2pc8689b661004161205g949c17a1z245fd80199140ea4@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-16_07:2010-02-06, 2010-04-16, 2010-04-16 signatures=0
X-Mailman-Approved-At: Fri, 16 Apr 2010 13:12:04 -0700
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Rename callback => callback_uri
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 19:12:02 -0000

+1 for redirect_uri -- highest semantic value imho.


-Naitik



On Apr 16, 2010, at 12:05 PM, Evan Gilbert wrote:

> We should use the same name in the User-Agent and Web Callback flows. Als=
o, although the authorization server won't be allowing JSONP requests, "cal=
lback" has become a bit of a defacto standard for JSONP and it would be nic=
e to use a term that isn't overloaded?
>=20
> Can we make them both "redirection"? Even better, maybe "redirect_uri"?
>=20
> On Fri, Apr 16, 2010 at 9:50 AM, Luke Shepard <lshepard@facebook.com> wro=
te:
> Facebook API requests are protected resources. They can be called either =
in a browser or in a server-to-server environment.
>=20
> For example, a JSONP call for my name looks like this:
>=20
>        https://api.facebook.com/restserver.php?api_key=3D361900759629&cal=
l_id=3D1271436355034&callback=3DFB.RestServer._callback&format=3Djson&metho=
d=3Dfql.query&query=3DSELECT%20name%20FROM%20user%20WHERE%20uid%3D2901279&v=
=3D1.0
>=20
> The output (you can play with it here: http://fbrell.com/fb.api/everyone-=
data ):
>=20
>        FB.RestServer._callback([{"name":"Luke Shepard"}]);
>=20
> If we want that protected resource to take an access token as well, then =
it would look like:
>=20
>        https://api.facebook.com/restserver.php?....&callback=3DFB.RestSer=
ver._callback&access_token=3DACCESS_TOKEN
>=20
> The "callback" parameter is used pretty universally for JSONP requests. F=
or instance, see the Jquery docs: http://api.jquery.com/jQuery.getJSON/
>=20
> -----Original Message-----
> From: Richard Barnes [mailto:rbarnes@bbn.com]
> Sent: Friday, April 16, 2010 9:10 AM
> To: Luke Shepard
> Cc: Eran Hammer-Lahav; Naitik Shah; OAuth WG
> Subject: Re: [OAUTH-WG] Rename callback =3D> callback_uri
>=20
> Could you clarify a little more the environment in which this
> confusion arose?  What do you mean when you say "The protected
> resource typically accepts 'callback' as a parameter to support
> JSONP."?  What sort of software are you including in this?
>=20
> --Richard
>=20
>=20
> On Apr 15, 2010, at 5:41 PM, Luke Shepard wrote:
>=20
> > We already had one developer try it out and get confused because the
> > server tried to treat the callback URL as a JSONP callback.
> >
> > The protected resource typically accepts "callback" as a parameter
> > to support JSONP. If a developer accidentally passes in callback
> > there (maybe they got confused) then the server can't give a normal
> > error message - instead it needs to either detect that it looks like
> > a URL or otherwise reject it.
> >
> > On a related note, I think it's more confusing calling it something
> > different in the user-agent flow (redirector) when it's essentially
> > doing the same thing.
> >
> >
> > From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
> > Behalf Of Eran Hammer-Lahav
> > Sent: Thursday, April 15, 2010 5:37 AM
> > To: Naitik Shah; OAuth WG
> > Subject: Re: [OAUTH-WG] Rename callback =3D> callback_uri
> >
> > I don't think it is that confusing. Its a completely different
> > context from where JSON-P is used (note that in the User-Agent flow
> > it is called something else).
> >
> > EHL
> >
> >
> > On 4/10/10 12:35 PM, "Naitik Shah" <naitik@facebook.com> wrote:
> >
> > With the simplified params, the callback url parameter is now just
> > "callback". Since most major API providers already use "callback" to
> > signify JSON-P callback, can we rename this to "callback_uri"? This
> > will help avoid collisions and confusion.
> >
> >
> > -Naitik
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>=20


From eran@hueniverse.com  Fri Apr 16 13:33:20 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 77AB33A6A1C for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 13:33:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.458
X-Spam-Level: 
X-Spam-Status: No, score=-2.458 tagged_above=-999 required=5 tests=[AWL=0.140,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id M5qVon9lfFMs for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 13:33:18 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 258B928C0DB for <oauth@ietf.org>; Fri, 16 Apr 2010 13:33:11 -0700 (PDT)
Received: (qmail 26962 invoked from network); 16 Apr 2010 20:33:03 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 16 Apr 2010 20:33:03 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Fri, 16 Apr 2010 13:32:54 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Richard Barnes <rbarnes@bbn.com>
Date: Fri, 16 Apr 2010 13:32:51 -0700
Thread-Topic: [OAUTH-WG] Shorter authorization endpoint type names
Thread-Index: Acrdft2Makyp8ZeNRZCgog8Mx5xUzQAJR5oA
Message-ID: <C7EE1783.32429%eran@hueniverse.com>
In-Reply-To: <8A26702A-61B6-42F5-ADA2-71B086F9C8B6@bbn.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7EE178332429eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Shorter authorization endpoint type names
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 20:33:20 -0000

--_000_C7EE178332429eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Because we use a single (or two) endpoints for different flows.

EHL


On 4/16/10 9:07 AM, "Richard Barnes" <rbarnes@bbn.com> wrote:

Why do we need to label the requests according to which flow they
belong to?

Apologies if this is a dumb question; haven't read the latest draft.


On Apr 15, 2010, at 1:31 PM, Eran Hammer-Lahav wrote:

> I renamed the values of the 'type' parameter as follows:
>
> WC-A: web_callback_access_request
> WC-T: web_callback_token_request
> NA-A: native_app_access_request
> NA-T: native_app_token_request
> UA-A: user_agent_request
> DV-A: device_access_request
> DV-T: device_token_request
> UP-T: username_password_request
> CC-T: client_cred_request
> AS-T: assertion_request
>
> R-T: refresh_token
>
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth



--_000_C7EE178332429eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Shorter authorization endpoint type names</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>Because we use a single (or two) endpoints for different flows.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/16/10 9:07 AM, &quot;Richard Barnes&quot; &lt;<a href=3D"rbarnes@bbn.c=
om">rbarnes@bbn.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>Why do we need to label the requests accord=
ing to which flow they <BR>
belong to?<BR>
<BR>
Apologies if this is a dumb question; haven't read the latest draft.<BR>
<BR>
<BR>
On Apr 15, 2010, at 1:31 PM, Eran Hammer-Lahav wrote:<BR>
<BR>
&gt; I renamed the values of the 'type' parameter as follows:<BR>
&gt;<BR>
&gt; WC-A: web_callback_access_request<BR>
&gt; WC-T: web_callback_token_request<BR>
&gt; NA-A: native_app_access_request<BR>
&gt; NA-T: native_app_token_request<BR>
&gt; UA-A: user_agent_request<BR>
&gt; DV-A: device_access_request<BR>
&gt; DV-T: device_token_request<BR>
&gt; UP-T: username_password_request<BR>
&gt; CC-T: client_cred_request<BR>
&gt; AS-T: assertion_request<BR>
&gt;<BR>
&gt; R-T: refresh_token<BR>
&gt;<BR>
&gt;<BR>
&gt; EHL<BR>
&gt;<BR>
&gt; _______________________________________________<BR>
&gt; OAuth mailing list<BR>
&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ie=
tf.org/mailman/listinfo/oauth</a><BR>
<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7EE178332429eranhueniversecom_--

From eran@hueniverse.com  Fri Apr 16 13:46:06 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8D91928C1E2 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 13:46:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.459
X-Spam-Level: 
X-Spam-Status: No, score=-2.459 tagged_above=-999 required=5 tests=[AWL=0.139,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5u-9zDbQMIut for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 13:46:00 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 4898528C11E for <oauth@ietf.org>; Fri, 16 Apr 2010 13:45:53 -0700 (PDT)
Received: (qmail 29020 invoked from network); 16 Apr 2010 20:45:46 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 16 Apr 2010 20:45:45 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Fri, 16 Apr 2010 13:45:38 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Naitik Shah <naitik@facebook.com>, Evan Gilbert <uidude@google.com>
Date: Fri, 16 Apr 2010 13:45:34 -0700
Thread-Topic: [OAUTH-WG] Rename callback => callback_uri
Thread-Index: AcrdmKDVnUh0mMoFR2eiJdpzhyxTiwADSHqY
Message-ID: <C7EE1A7E.3242C%eran@hueniverse.com>
In-Reply-To: <5A37E56E-3F6B-437E-89DF-D2FD8F2EF8E7@facebook.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7EE1A7E3242Ceranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Rename callback => callback_uri
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 20:46:06 -0000

--_000_C7EE1A7E3242Ceranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

We should use the right term, not just the less conflicting term.

The Web Callback flow uses a callback from the server to the client - this =
is not a redirection. The User-Agent flow uses a redirection which is funda=
mentally different from a callback.

If you don't want to use callback and want to use the same name for both, i=
t needs to be something more generic like client_uri.

EHL

On 4/16/10 12:11 PM, "Naitik Shah" <naitik@facebook.com> wrote:

+1 for redirect_uri -- highest semantic value imho.


-Naitik



On Apr 16, 2010, at 12:05 PM, Evan Gilbert wrote:

> We should use the same name in the User-Agent and Web Callback flows. Als=
o, although the authorization server won't be allowing JSONP requests, "cal=
lback" has become a bit of a defacto standard for JSONP and it would be nic=
e to use a term that isn't overloaded?
>
> Can we make them both "redirection"? Even better, maybe "redirect_uri"?
>
> On Fri, Apr 16, 2010 at 9:50 AM, Luke Shepard <lshepard@facebook.com> wro=
te:
> Facebook API requests are protected resources. They can be called either =
in a browser or in a server-to-server environment.
>
> For example, a JSONP call for my name looks like this:
>
>        https://api.facebook.com/restserver.php?api_key=3D361900759629&cal=
l_id=3D1271436355034&callback=3DFB.RestServer._callback&format=3Djson&metho=
d=3Dfql.query&query=3DSELECT%20name%20FROM%20user%20WHERE%20uid%3D2901279&v=
=3D1.0
>
> The output (you can play with it here: http://fbrell.com/fb.api/everyone-=
data ):
>
>        FB.RestServer._callback([{"name":"Luke Shepard"}]);
>
> If we want that protected resource to take an access token as well, then =
it would look like:
>
>        https://api.facebook.com/restserver.php?....&callback=3DFB.RestSer=
ver._callback&access_token=3DACCESS_TOKEN
>
> The "callback" parameter is used pretty universally for JSONP requests. F=
or instance, see the Jquery docs: http://api.jquery.com/jQuery.getJSON/
>
> -----Original Message-----
> From: Richard Barnes [mailto:rbarnes@bbn.com]
> Sent: Friday, April 16, 2010 9:10 AM
> To: Luke Shepard
> Cc: Eran Hammer-Lahav; Naitik Shah; OAuth WG
> Subject: Re: [OAUTH-WG] Rename callback =3D> callback_uri
>
> Could you clarify a little more the environment in which this
> confusion arose?  What do you mean when you say "The protected
> resource typically accepts 'callback' as a parameter to support
> JSONP."?  What sort of software are you including in this?
>
> --Richard
>
>
> On Apr 15, 2010, at 5:41 PM, Luke Shepard wrote:
>
> > We already had one developer try it out and get confused because the
> > server tried to treat the callback URL as a JSONP callback.
> >
> > The protected resource typically accepts "callback" as a parameter
> > to support JSONP. If a developer accidentally passes in callback
> > there (maybe they got confused) then the server can't give a normal
> > error message - instead it needs to either detect that it looks like
> > a URL or otherwise reject it.
> >
> > On a related note, I think it's more confusing calling it something
> > different in the user-agent flow (redirector) when it's essentially
> > doing the same thing.
> >
> >
> > From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
> > Behalf Of Eran Hammer-Lahav
> > Sent: Thursday, April 15, 2010 5:37 AM
> > To: Naitik Shah; OAuth WG
> > Subject: Re: [OAUTH-WG] Rename callback =3D> callback_uri
> >
> > I don't think it is that confusing. Its a completely different
> > context from where JSON-P is used (note that in the User-Agent flow
> > it is called something else).
> >
> > EHL
> >
> >
> > On 4/10/10 12:35 PM, "Naitik Shah" <naitik@facebook.com> wrote:
> >
> > With the simplified params, the callback url parameter is now just
> > "callback". Since most major API providers already use "callback" to
> > signify JSON-P callback, can we rename this to "callback_uri"? This
> > will help avoid collisions and confusion.
> >
> >
> > -Naitik
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


--_000_C7EE1A7E3242Ceranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Rename callback =3D&gt; callback_uri</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>We should use the right term, not just the less conflicting term.<BR>
<BR>
The Web Callback flow uses a callback from the server to the client &#8211;=
 this is not a redirection. The User-Agent flow uses a redirection which is=
 fundamentally different from a callback.<BR>
<BR>
If you don&#8217;t want to use callback and want to use the same name for b=
oth, it needs to be something more generic like client_uri.<BR>
<BR>
EHL<BR>
<BR>
On 4/16/10 12:11 PM, &quot;Naitik Shah&quot; &lt;<a href=3D"naitik@facebook=
.com">naitik@facebook.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>+1 for redirect_uri -- highest semantic val=
ue imho.<BR>
<BR>
<BR>
-Naitik<BR>
<BR>
<BR>
<BR>
On Apr 16, 2010, at 12:05 PM, Evan Gilbert wrote:<BR>
<BR>
&gt; We should use the same name in the User-Agent and Web Callback flows. =
Also, although the authorization server won't be allowing JSONP requests, &=
quot;callback&quot; has become a bit of a defacto standard for JSONP and it=
 would be nice to use a term that isn't overloaded?<BR>
&gt;<BR>
&gt; Can we make them both &quot;redirection&quot;? Even better, maybe &quo=
t;redirect_uri&quot;?<BR>
&gt;<BR>
&gt; On Fri, Apr 16, 2010 at 9:50 AM, Luke Shepard &lt;<a href=3D"lshepard@=
facebook.com">lshepard@facebook.com</a>&gt; wrote:<BR>
&gt; Facebook API requests are protected resources. They can be called eith=
er in a browser or in a server-to-server environment.<BR>
&gt;<BR>
&gt; For example, a JSONP call for my name looks like this:<BR>
&gt;<BR>
&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=3D"https://api.faceb=
ook.com/restserver.php?api_key=3D361900759629&amp;call_id=3D1271436355034&a=
mp;callback=3DFB.RestServer._callback&amp;format=3Djson&amp;method=3Dfql.qu=
ery&amp;query=3DSELECT%20name%20FROM%20user%20WHERE%20uid%3D2901279&amp;v=
=3D1.0">https://api.facebook.com/restserver.php?api_key=3D361900759629&amp;=
call_id=3D1271436355034&amp;callback=3DFB.RestServer._callback&amp;format=
=3Djson&amp;method=3Dfql.query&amp;query=3DSELECT%20name%20FROM%20user%20WH=
ERE%20uid%3D2901279&amp;v=3D1.0</a><BR>
&gt;<BR>
&gt; The output (you can play with it here: <a href=3D"http://fbrell.com/fb=
.api/everyone-data">http://fbrell.com/fb.api/everyone-data</a> ):<BR>
&gt;<BR>
&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FB.RestServer._callback([{&q=
uot;name&quot;:&quot;Luke Shepard&quot;}]);<BR>
&gt;<BR>
&gt; If we want that protected resource to take an access token as well, th=
en it would look like:<BR>
&gt;<BR>
&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=3D"https://api.faceb=
ook.com/restserver.php?....&amp;callback=3DFB.RestServer._callback&amp;acce=
ss_token=3DACCESS_TOKEN">https://api.facebook.com/restserver.php?....&amp;c=
allback=3DFB.RestServer._callback&amp;access_token=3DACCESS_TOKEN</a><BR>
&gt;<BR>
&gt; The &quot;callback&quot; parameter is used pretty universally for JSON=
P requests. For instance, see the Jquery docs: <a href=3D"http://api.jquery=
.com/jQuery.getJSON/">http://api.jquery.com/jQuery.getJSON/</a><BR>
&gt;<BR>
&gt; -----Original Message-----<BR>
&gt; From: Richard Barnes [<a href=3D"mailto:rbarnes@bbn.com">mailto:rbarne=
s@bbn.com</a>]<BR>
&gt; Sent: Friday, April 16, 2010 9:10 AM<BR>
&gt; To: Luke Shepard<BR>
&gt; Cc: Eran Hammer-Lahav; Naitik Shah; OAuth WG<BR>
&gt; Subject: Re: [OAUTH-WG] Rename callback =3D&gt; callback_uri<BR>
&gt;<BR>
&gt; Could you clarify a little more the environment in which this<BR>
&gt; confusion arose? &nbsp;What do you mean when you say &quot;The protect=
ed<BR>
&gt; resource typically accepts 'callback' as a parameter to support<BR>
&gt; JSONP.&quot;? &nbsp;What sort of software are you including in this?<B=
R>
&gt;<BR>
&gt; --Richard<BR>
&gt;<BR>
&gt;<BR>
&gt; On Apr 15, 2010, at 5:41 PM, Luke Shepard wrote:<BR>
&gt;<BR>
&gt; &gt; We already had one developer try it out and get confused because =
the<BR>
&gt; &gt; server tried to treat the callback URL as a JSONP callback.<BR>
&gt; &gt;<BR>
&gt; &gt; The protected resource typically accepts &quot;callback&quot; as =
a parameter<BR>
&gt; &gt; to support JSONP. If a developer accidentally passes in callback<=
BR>
&gt; &gt; there (maybe they got confused) then the server can't give a norm=
al<BR>
&gt; &gt; error message - instead it needs to either detect that it looks l=
ike<BR>
&gt; &gt; a URL or otherwise reject it.<BR>
&gt; &gt;<BR>
&gt; &gt; On a related note, I think it's more confusing calling it somethi=
ng<BR>
&gt; &gt; different in the user-agent flow (redirector) when it's essential=
ly<BR>
&gt; &gt; doing the same thing.<BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt; From: <a href=3D"oauth-bounces@ietf.org">oauth-bounces@ietf.org</=
a> [<a href=3D"mailto:oauth-bounces@ietf.org">mailto:oauth-bounces@ietf.org=
</a>] On<BR>
&gt; &gt; Behalf Of Eran Hammer-Lahav<BR>
&gt; &gt; Sent: Thursday, April 15, 2010 5:37 AM<BR>
&gt; &gt; To: Naitik Shah; OAuth WG<BR>
&gt; &gt; Subject: Re: [OAUTH-WG] Rename callback =3D&gt; callback_uri<BR>
&gt; &gt;<BR>
&gt; &gt; I don't think it is that confusing. Its a completely different<BR=
>
&gt; &gt; context from where JSON-P is used (note that in the User-Agent fl=
ow<BR>
&gt; &gt; it is called something else).<BR>
&gt; &gt;<BR>
&gt; &gt; EHL<BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt; On 4/10/10 12:35 PM, &quot;Naitik Shah&quot; &lt;<a href=3D"naiti=
k@facebook.com">naitik@facebook.com</a>&gt; wrote:<BR>
&gt; &gt;<BR>
&gt; &gt; With the simplified params, the callback url parameter is now jus=
t<BR>
&gt; &gt; &quot;callback&quot;. Since most major API providers already use =
&quot;callback&quot; to<BR>
&gt; &gt; signify JSON-P callback, can we rename this to &quot;callback_uri=
&quot;? This<BR>
&gt; &gt; will help avoid collisions and confusion.<BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt; -Naitik<BR>
&gt; &gt; _______________________________________________<BR>
&gt; &gt; OAuth mailing list<BR>
&gt; &gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt; &gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://w=
ww.ietf.org/mailman/listinfo/oauth</a><BR>
&gt; &gt;<BR>
&gt; &gt; _______________________________________________<BR>
&gt; &gt; OAuth mailing list<BR>
&gt; &gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt; &gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://w=
ww.ietf.org/mailman/listinfo/oauth</a><BR>
&gt;<BR>
&gt; _______________________________________________<BR>
&gt; OAuth mailing list<BR>
&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ie=
tf.org/mailman/listinfo/oauth</a><BR>
&gt;<BR>
<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7EE1A7E3242Ceranhueniversecom_--

From eran@hueniverse.com  Fri Apr 16 13:51:24 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C81BB3A6B86 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 13:51:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.461
X-Spam-Level: 
X-Spam-Status: No, score=-2.461 tagged_above=-999 required=5 tests=[AWL=0.137,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bM01Mkg1xWtk for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 13:51:17 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id C4DFC3A676A for <oauth@ietf.org>; Fri, 16 Apr 2010 13:51:17 -0700 (PDT)
Received: (qmail 3793 invoked from network); 16 Apr 2010 20:51:11 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 16 Apr 2010 20:51:10 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Fri, 16 Apr 2010 13:51:04 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: James Manger <James.H.Manger@team.telstra.com>, OAuth WG <oauth@ietf.org>
Date: Fri, 16 Apr 2010 13:51:00 -0700
Thread-Topic: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
Thread-Index: Acrcyz1lDoVqvOFmQEa2c5Oxsc3UxAANrWpwACkkf/s=
Message-ID: <C7EE1BC4.32432%eran@hueniverse.com>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E11257481003@WSMSG3153V.srv.dir.telstra.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7EE1BC432432eranhueniversecom_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 20:51:24 -0000

--_000_C7EE1BC432432eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I'll split them to: Authorization endpoint and Toke endpoint. In the WWW-Au=
thenticate header I'll add a parameter for each (instead of one) for lightw=
eight discovery (which we can keep, change, or drop later).

EHL


On 4/15/10 6:22 PM, "James Manger" <James.H.Manger@team.telstra.com> wrote:

I strongly favour specifying 2 separate endpoints: one for where to redirec=
t a user, another for direct client calls.

I agree with Marius that these two endpoints are different enough to be sep=
arate.
One is only used by users via browsers. The other is only used by client ap=
ps. These are different populations, using different authentication mechani=
sms, with different performance requirements, and different technologies.

The use of a type parameter is a poor tool to distinguishes these cases.

I guess 1 URI could default to the other if not defined.
1 URI could be allowed to be relative to the other to save some bytes.

--
James Manger


-----Original Message-----
From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
ran Hammer-Lahav
Sent: Friday, 16 April 2010 4:41 AM
To: OAuth WG
Subject: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoi=
nts

OAuth 2.0 defines a single authorization endpoint with a 'type' parameter
for the various flows and flow steps. There are two types of calls made to
the authorization endpoint:

- Requests for Access - requests in which an end user interacts with the
authorization server, granting client access.

- Requests for Token - requests in which the client uses a verification cod=
e
or other credentials to obtain an access token. These requests require
SSL/TLS because they always result in the transmission of plaintext
credentials in the response and sometimes in the request.

A proposal has been made to define two separate endpoints due to the
different nature of these endpoints:

On 4/6/10 4:06 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

> Constraints for endpoints:
> access token URL: HTTPS and POST only, no user
> user authentication URL: HTTP or HTTPS, GET or POST, authenticated user
>
> In many cases the above constraints can be enforced with configuration
> that sits in front of the controllers implementing these endpoints.
> For example, Apache config can enforce SSL and POST. Same can be done
> in a Java filter. Also a Java filter can enforce that only
> authenticated users hit the endpoint, it can redirect to a login page
> if needed.
>
> By keeping two different endpoints all of the above is much simpler.
> Nothing prevents an authz server to collapse these two into one
> endpoint.

While requests for access do not require HTTPS, they should because they
involve authenticating the end user. As for enforcing HTTP methods (GET,
POST), this is simple to do both at the server configuration level or
application level.

On the other hand, having a single endpoint makes the specification simpler=
,
and more importantly, makes discovery trivial as a 401 response needs to
include a single endpoint for obtaining a token regardless of the flow (som=
e
flows use one, others two steps).

A richer discovery later can use LRDD on the single authorization endpoint
to obtain an XRD describing the flows and UI options provided by the server=
.
But this is outside our scope.

Proposal: No change. Keep the single authorization endpoint and require
HTTPS for all requests.

EHL





_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


--_000_C7EE1BC432432eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Issue: Split the authorization endpoint into two endp=
oints</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>I&#8217;ll split them to: Authorization endpoint and Toke endpoint. I=
n the WWW-Authenticate header I&#8217;ll add a parameter for each (instead =
of one) for lightweight discovery (which we can keep, change, or drop later=
).<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/15/10 6:22 PM, &quot;James Manger&quot; &lt;<a href=3D"James.H.Manger@=
team.telstra.com">James.H.Manger@team.telstra.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>I strongly favour specifying 2 separate end=
points: one for where to redirect a user, another for direct client calls.<=
BR>
<BR>
I agree with Marius that these two endpoints are different enough to be sep=
arate.<BR>
One is only used by users via browsers. The other is only used by client ap=
ps. These are different populations, using different authentication mechani=
sms, with different performance requirements, and different technologies.<B=
R>
<BR>
The use of a type parameter is a poor tool to distinguishes these cases.<BR=
>
<BR>
I guess 1 URI could default to the other if not defined.<BR>
1 URI could be allowed to be relative to the other to save some bytes.<BR>
<BR>
--<BR>
James Manger<BR>
<BR>
<BR>
-----Original Message-----<BR>
From: <a href=3D"oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> [<a hre=
f=3D"mailto:oauth-bounces@ietf.org">mailto:oauth-bounces@ietf.org</a>] On B=
ehalf Of Eran Hammer-Lahav<BR>
Sent: Friday, 16 April 2010 4:41 AM<BR>
To: OAuth WG<BR>
Subject: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoi=
nts<BR>
<BR>
OAuth 2.0 defines a single authorization endpoint with a 'type' parameter<B=
R>
for the various flows and flow steps. There are two types of calls made to<=
BR>
the authorization endpoint:<BR>
<BR>
- Requests for Access - requests in which an end user interacts with the<BR=
>
authorization server, granting client access.<BR>
<BR>
- Requests for Token - requests in which the client uses a verification cod=
e<BR>
or other credentials to obtain an access token. These requests require<BR>
SSL/TLS because they always result in the transmission of plaintext<BR>
credentials in the response and sometimes in the request.<BR>
<BR>
A proposal has been made to define two separate endpoints due to the<BR>
different nature of these endpoints:<BR>
<BR>
On 4/6/10 4:06 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurtescu@g=
oogle.com">mscurtescu@google.com</a>&gt; wrote:<BR>
<BR>
&gt; Constraints for endpoints:<BR>
&gt; access token URL: HTTPS and POST only, no user<BR>
&gt; user authentication URL: HTTP or HTTPS, GET or POST, authenticated use=
r<BR>
&gt;<BR>
&gt; In many cases the above constraints can be enforced with configuration=
<BR>
&gt; that sits in front of the controllers implementing these endpoints.<BR=
>
&gt; For example, Apache config can enforce SSL and POST. Same can be done<=
BR>
&gt; in a Java filter. Also a Java filter can enforce that only<BR>
&gt; authenticated users hit the endpoint, it can redirect to a login page<=
BR>
&gt; if needed.<BR>
&gt;<BR>
&gt; By keeping two different endpoints all of the above is much simpler.<B=
R>
&gt; Nothing prevents an authz server to collapse these two into one<BR>
&gt; endpoint.<BR>
<BR>
While requests for access do not require HTTPS, they should because they<BR=
>
involve authenticating the end user. As for enforcing HTTP methods (GET,<BR=
>
POST), this is simple to do both at the server configuration level or<BR>
application level.<BR>
<BR>
On the other hand, having a single endpoint makes the specification simpler=
,<BR>
and more importantly, makes discovery trivial as a 401 response needs to<BR=
>
include a single endpoint for obtaining a token regardless of the flow (som=
e<BR>
flows use one, others two steps).<BR>
<BR>
A richer discovery later can use LRDD on the single authorization endpoint<=
BR>
to obtain an XRD describing the flows and UI options provided by the server=
.<BR>
But this is outside our scope.<BR>
<BR>
Proposal: No change. Keep the single authorization endpoint and require<BR>
HTTPS for all requests.<BR>
<BR>
EHL<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7EE1BC432432eranhueniversecom_--

From uidude@google.com  Fri Apr 16 13:57:44 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 74C063A6AD5 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 13:57:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.848
X-Spam-Level: 
X-Spam-Status: No, score=-101.848 tagged_above=-999 required=5 tests=[AWL=0.128, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qjjju8ILaRM9 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 13:57:42 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 240AC3A6774 for <oauth@ietf.org>; Fri, 16 Apr 2010 13:57:39 -0700 (PDT)
Received: from kpbe20.cbf.corp.google.com (kpbe20.cbf.corp.google.com [172.25.105.84]) by smtp-out.google.com with ESMTP id o3GKvUbf021491 for <oauth@ietf.org>; Fri, 16 Apr 2010 22:57:30 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271451451; bh=qsc776rr6bqlXceuybcJDnLp5dU=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=Cggz6Kivoi8z8Gl8g7eqyah2PjY2jykjo4tqSZDJv+rGaaaGFiSVn0HRKZESdcFMO S+S0W6Me2GCVNSCmj3GHQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=tIarK+Ezjzps0+m2lLVegpV9Ngp8CI/M5hZpOjoYYg2RIy/hnNLTD9tYtTnHzq7os xxbbfquA4PvlZvKf40eGw==
Received: from qw-out-2122.google.com (qwb9.prod.google.com [10.241.193.73]) by kpbe20.cbf.corp.google.com with ESMTP id o3GKv282005405 for <oauth@ietf.org>; Fri, 16 Apr 2010 13:57:29 -0700
Received: by qw-out-2122.google.com with SMTP id 9so933394qwb.49 for <oauth@ietf.org>; Fri, 16 Apr 2010 13:57:29 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.131 with HTTP; Fri, 16 Apr 2010 13:57:08 -0700 (PDT)
In-Reply-To: <C7EE1A7E.3242C%eran@hueniverse.com>
References: <5A37E56E-3F6B-437E-89DF-D2FD8F2EF8E7@facebook.com>  <C7EE1A7E.3242C%eran@hueniverse.com>
From: Evan Gilbert <uidude@google.com>
Date: Fri, 16 Apr 2010 13:57:08 -0700
Received: by 10.229.186.211 with SMTP id ct19mr3039268qcb.16.1271451448353;  Fri, 16 Apr 2010 13:57:28 -0700 (PDT)
Message-ID: <y2sc8689b661004161357v88c08c80oee6c33339f2493a1@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=0016364edb1cedaed9048460db6f
X-System-Of-Record: true
Cc: Naitik Shah <naitik@facebook.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Rename callback => callback_uri
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 20:57:44 -0000

--0016364edb1cedaed9048460db6f
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

On Fri, Apr 16, 2010 at 1:45 PM, Eran Hammer-Lahav <eran@hueniverse.com>wro=
te:

>  We should use the right term, not just the less conflicting term.
>
> The Web Callback flow uses a callback from the server to the client =96 t=
his
> is not a redirection. The User-Agent flow uses a redirection which is
> fundamentally different from a callback.
>


   callback
         An absolute URI to which the authorization server will redirect
         the end user back when the end user authorization step is
         completed.  The authorization server MAY require the client to
         pre-register their callback URI.


   redirection
         An absolute URI to which the authorization server will redirect
         the user-agent to when the end user authorization step is
         completed.  The authorization server SHOULD require the client
         to pre-register their redirection URI.

These look the same to me, and "redirect_uri/url" works. Open to other
terms.



> If you don=92t want to use callback and want to use the same name for bot=
h,
> it needs to be something more generic like client_uri.
>
> EHL
>
>
> On 4/16/10 12:11 PM, "Naitik Shah" <naitik@facebook.com> wrote:
>
> +1 for redirect_uri -- highest semantic value imho.
>
>
> -Naitik
>
>
>
> On Apr 16, 2010, at 12:05 PM, Evan Gilbert wrote:
>
> > We should use the same name in the User-Agent and Web Callback flows.
> Also, although the authorization server won't be allowing JSONP requests,
> "callback" has become a bit of a defacto standard for JSONP and it would =
be
> nice to use a term that isn't overloaded?
> >
> > Can we make them both "redirection"? Even better, maybe "redirect_uri"?
> >
> > On Fri, Apr 16, 2010 at 9:50 AM, Luke Shepard <lshepard@facebook.com>
> wrote:
> > Facebook API requests are protected resources. They can be called eithe=
r
> in a browser or in a server-to-server environment.
> >
> > For example, a JSONP call for my name looks like this:
> >
> >
> https://api.facebook.com/restserver.php?api_key=3D361900759629&call_id=3D=
1271436355034&callback=3DFB.RestServer._callback&format=3Djson&method=3Dfql=
.query&query=3DSELECT%20name%20FROM%20user%20WHERE%20uid%3D2901279&v=3D1.0
> >
> > The output (you can play with it here:
> http://fbrell.com/fb.api/everyone-data ):
> >
> >        FB.RestServer._callback([{"name":"Luke Shepard"}]);
> >
> > If we want that protected resource to take an access token as well, the=
n
> it would look like:
> >
> >
> https://api.facebook.com/restserver.php?....&callback=3DFB.RestServer._ca=
llback&access_token=3DACCESS_TOKEN
> >
> > The "callback" parameter is used pretty universally for JSONP requests.
> For instance, see the Jquery docs: http://api.jquery.com/jQuery.getJSON/
> >
> > -----Original Message-----
> > From: Richard Barnes [mailto:rbarnes@bbn.com <rbarnes@bbn.com>]
> > Sent: Friday, April 16, 2010 9:10 AM
> > To: Luke Shepard
> > Cc: Eran Hammer-Lahav; Naitik Shah; OAuth WG
> > Subject: Re: [OAUTH-WG] Rename callback =3D> callback_uri
> >
> > Could you clarify a little more the environment in which this
> > confusion arose?  What do you mean when you say "The protected
> > resource typically accepts 'callback' as a parameter to support
> > JSONP."?  What sort of software are you including in this?
> >
> > --Richard
> >
> >
> > On Apr 15, 2010, at 5:41 PM, Luke Shepard wrote:
> >
> > > We already had one developer try it out and get confused because the
> > > server tried to treat the callback URL as a JSONP callback.
> > >
> > > The protected resource typically accepts "callback" as a parameter
> > > to support JSONP. If a developer accidentally passes in callback
> > > there (maybe they got confused) then the server can't give a normal
> > > error message - instead it needs to either detect that it looks like
> > > a URL or otherwise reject it.
> > >
> > > On a related note, I think it's more confusing calling it something
> > > different in the user-agent flow (redirector) when it's essentially
> > > doing the same thing.
> > >
> > >
> > > From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org<oauth-bou=
nces@ietf.org>]
> On
> > > Behalf Of Eran Hammer-Lahav
> > > Sent: Thursday, April 15, 2010 5:37 AM
> > > To: Naitik Shah; OAuth WG
> > > Subject: Re: [OAUTH-WG] Rename callback =3D> callback_uri
> > >
> > > I don't think it is that confusing. Its a completely different
> > > context from where JSON-P is used (note that in the User-Agent flow
> > > it is called something else).
> > >
> > > EHL
> > >
> > >
> > > On 4/10/10 12:35 PM, "Naitik Shah" <naitik@facebook.com> wrote:
> > >
> > > With the simplified params, the callback url parameter is now just
> > > "callback". Since most major API providers already use "callback" to
> > > signify JSON-P callback, can we rename this to "callback_uri"? This
> > > will help avoid collisions and confusion.
> > >
> > >
> > > -Naitik
> > > _______________________________________________
> > > OAuth mailing list
> > > OAuth@ietf.org
> > > https://www.ietf.org/mailman/listinfo/oauth
> > >
> > > _______________________________________________
> > > OAuth mailing list
> > > OAuth@ietf.org
> > > https://www.ietf.org/mailman/listinfo/oauth
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> >
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

--0016364edb1cedaed9048460db6f
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Fri, Apr 16, 2010 at 1:45 PM, Eran Ha=
mmer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com">era=
n@hueniverse.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote"=
 style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">





<div>
<font face=3D"Calibri, Verdana, Helvetica, Arial"><span style=3D"font-size:=
11pt">We should use the right term, not just the less conflicting term.<br>
<br>
The Web Callback flow uses a callback from the server to the client =96 thi=
s is not a redirection. The User-Agent flow uses a redirection which is fun=
damentally different from a callback.<br></span></font></div></blockquote>

<div><br></div><div><br></div><div>=A0=A0 callback</div><div>=A0=A0 =A0 =A0=
 =A0 An absolute URI to which the authorization server will redirect</div><=
div>=A0=A0 =A0 =A0 =A0 the end user back when the end user authorization st=
ep is</div><div>=A0=A0 =A0 =A0 =A0 completed. =A0The authorization server M=
AY require the client to</div>

<div>=A0=A0 =A0 =A0 =A0 pre-register their callback URI.=A0</div><div><br><=
/div><div><br></div><div>=A0=A0 redirection</div><div>=A0=A0 =A0 =A0 =A0 An=
 absolute URI to which the authorization server will redirect</div><div>=A0=
=A0 =A0 =A0 =A0 the user-agent to when the end user authorization step is</=
div>

<div>=A0=A0 =A0 =A0 =A0 completed. =A0The authorization server SHOULD requi=
re the client</div><div>=A0=A0 =A0 =A0 =A0 to pre-register their redirectio=
n URI.=A0</div><div>=A0</div><div>These look the same to me, and &quot;redi=
rect_uri/url&quot; works. Open to other terms.</div>

<div><br></div><div><br></div><blockquote class=3D"gmail_quote" style=3D"ma=
rgin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><font fa=
ce=3D"Calibri, Verdana, Helvetica, Arial"><span style=3D"font-size:11pt">
<br>
If you don=92t want to use callback and want to use the same name for both,=
 it needs to be something more generic like client_uri.<br><font color=3D"#=
888888">
<br>
EHL</font><div><div></div><div class=3D"h5"><br>
<br>
On 4/16/10 12:11 PM, &quot;Naitik Shah&quot; &lt;<a href=3D"http://naitik@f=
acebook.com" target=3D"_blank">naitik@facebook.com</a>&gt; wrote:<br>
<br>
</div></div></span></font><div><div></div><div class=3D"h5"><blockquote><fo=
nt face=3D"Calibri, Verdana, Helvetica, Arial"><span style=3D"font-size:11p=
t">+1 for redirect_uri -- highest semantic value imho.<br>
<br>
<br>
-Naitik<br>
<br>
<br>
<br>
On Apr 16, 2010, at 12:05 PM, Evan Gilbert wrote:<br>
<br>
&gt; We should use the same name in the User-Agent and Web Callback flows. =
Also, although the authorization server won&#39;t be allowing JSONP request=
s, &quot;callback&quot; has become a bit of a defacto standard for JSONP an=
d it would be nice to use a term that isn&#39;t overloaded?<br>


&gt;<br>
&gt; Can we make them both &quot;redirection&quot;? Even better, maybe &quo=
t;redirect_uri&quot;?<br>
&gt;<br>
&gt; On Fri, Apr 16, 2010 at 9:50 AM, Luke Shepard &lt;<a href=3D"http://ls=
hepard@facebook.com" target=3D"_blank">lshepard@facebook.com</a>&gt; wrote:=
<br>
&gt; Facebook API requests are protected resources. They can be called eith=
er in a browser or in a server-to-server environment.<br>
&gt;<br>
&gt; For example, a JSONP call for my name looks like this:<br>
&gt;<br>
&gt; =A0=A0=A0=A0=A0=A0=A0<a href=3D"https://api.facebook.com/restserver.ph=
p?api_key=3D361900759629&amp;call_id=3D1271436355034&amp;callback=3DFB.Rest=
Server._callback&amp;format=3Djson&amp;method=3Dfql.query&amp;query=3DSELEC=
T%20name%20FROM%20user%20WHERE%20uid%3D2901279&amp;v=3D1.0" target=3D"_blan=
k">https://api.facebook.com/restserver.php?api_key=3D361900759629&amp;call_=
id=3D1271436355034&amp;callback=3DFB.RestServer._callback&amp;format=3Djson=
&amp;method=3Dfql.query&amp;query=3DSELECT%20name%20FROM%20user%20WHERE%20u=
id%3D2901279&amp;v=3D1.0</a><br>


&gt;<br>
&gt; The output (you can play with it here: <a href=3D"http://fbrell.com/fb=
.api/everyone-data" target=3D"_blank">http://fbrell.com/fb.api/everyone-dat=
a</a> ):<br>
&gt;<br>
&gt; =A0=A0=A0=A0=A0=A0=A0FB.RestServer._callback([{&quot;name&quot;:&quot;=
Luke Shepard&quot;}]);<br>
&gt;<br>
&gt; If we want that protected resource to take an access token as well, th=
en it would look like:<br>
&gt;<br>
&gt; =A0=A0=A0=A0=A0=A0=A0<a href=3D"https://api.facebook.com/restserver.ph=
p?....&amp;callback=3DFB.RestServer._callback&amp;access_token=3DACCESS_TOK=
EN" target=3D"_blank">https://api.facebook.com/restserver.php?....&amp;call=
back=3DFB.RestServer._callback&amp;access_token=3DACCESS_TOKEN</a><br>


&gt;<br>
&gt; The &quot;callback&quot; parameter is used pretty universally for JSON=
P requests. For instance, see the Jquery docs: <a href=3D"http://api.jquery=
.com/jQuery.getJSON/" target=3D"_blank">http://api.jquery.com/jQuery.getJSO=
N/</a><br>


&gt;<br>
&gt; -----Original Message-----<br>
&gt; From: Richard Barnes [<a href=3D"mailto:rbarnes@bbn.com" target=3D"_bl=
ank">mailto:rbarnes@bbn.com</a>]<br>
&gt; Sent: Friday, April 16, 2010 9:10 AM<br>
&gt; To: Luke Shepard<br>
&gt; Cc: Eran Hammer-Lahav; Naitik Shah; OAuth WG<br>
&gt; Subject: Re: [OAUTH-WG] Rename callback =3D&gt; callback_uri<br>
&gt;<br>
&gt; Could you clarify a little more the environment in which this<br>
&gt; confusion arose? =A0What do you mean when you say &quot;The protected<=
br>
&gt; resource typically accepts &#39;callback&#39; as a parameter to suppor=
t<br>
&gt; JSONP.&quot;? =A0What sort of software are you including in this?<br>
&gt;<br>
&gt; --Richard<br>
&gt;<br>
&gt;<br>
&gt; On Apr 15, 2010, at 5:41 PM, Luke Shepard wrote:<br>
&gt;<br>
&gt; &gt; We already had one developer try it out and get confused because =
the<br>
&gt; &gt; server tried to treat the callback URL as a JSONP callback.<br>
&gt; &gt;<br>
&gt; &gt; The protected resource typically accepts &quot;callback&quot; as =
a parameter<br>
&gt; &gt; to support JSONP. If a developer accidentally passes in callback<=
br>
&gt; &gt; there (maybe they got confused) then the server can&#39;t give a =
normal<br>
&gt; &gt; error message - instead it needs to either detect that it looks l=
ike<br>
&gt; &gt; a URL or otherwise reject it.<br>
&gt; &gt;<br>
&gt; &gt; On a related note, I think it&#39;s more confusing calling it som=
ething<br>
&gt; &gt; different in the user-agent flow (redirector) when it&#39;s essen=
tially<br>
&gt; &gt; doing the same thing.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; From: <a href=3D"http://oauth-bounces@ietf.org" target=3D"_blank"=
>oauth-bounces@ietf.org</a> [<a href=3D"mailto:oauth-bounces@ietf.org" targ=
et=3D"_blank">mailto:oauth-bounces@ietf.org</a>] On<br>
&gt; &gt; Behalf Of Eran Hammer-Lahav<br>
&gt; &gt; Sent: Thursday, April 15, 2010 5:37 AM<br>
&gt; &gt; To: Naitik Shah; OAuth WG<br>
&gt; &gt; Subject: Re: [OAUTH-WG] Rename callback =3D&gt; callback_uri<br>
&gt; &gt;<br>
&gt; &gt; I don&#39;t think it is that confusing. Its a completely differen=
t<br>
&gt; &gt; context from where JSON-P is used (note that in the User-Agent fl=
ow<br>
&gt; &gt; it is called something else).<br>
&gt; &gt;<br>
&gt; &gt; EHL<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; On 4/10/10 12:35 PM, &quot;Naitik Shah&quot; &lt;<a href=3D"http:=
//naitik@facebook.com" target=3D"_blank">naitik@facebook.com</a>&gt; wrote:=
<br>
&gt; &gt;<br>
&gt; &gt; With the simplified params, the callback url parameter is now jus=
t<br>
&gt; &gt; &quot;callback&quot;. Since most major API providers already use =
&quot;callback&quot; to<br>
&gt; &gt; signify JSON-P callback, can we rename this to &quot;callback_uri=
&quot;? This<br>
&gt; &gt; will help avoid collisions and confusion.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; -Naitik<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; OAuth mailing list<br>
&gt; &gt; <a href=3D"http://OAuth@ietf.org" target=3D"_blank">OAuth@ietf.or=
g</a><br>
&gt; &gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D=
"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt; &gt;<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; OAuth mailing list<br>
&gt; &gt; <a href=3D"http://OAuth@ietf.org" target=3D"_blank">OAuth@ietf.or=
g</a><br>
&gt; &gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D=
"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a href=3D"http://OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a>=
<br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_bla=
nk">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;<br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"http://OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br>
</span></font></blockquote>
</div></div></div>


</blockquote></div><br>

--0016364edb1cedaed9048460db6f--

From Jeff.Hodges@KingsMountain.com  Fri Apr 16 13:58:25 2010
Return-Path: <Jeff.Hodges@KingsMountain.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C04603A69DB for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 13:58:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.707
X-Spam-Level: 
X-Spam-Status: No, score=-1.707 tagged_above=-999 required=5 tests=[AWL=0.558,  BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ck9lOwv6L8Ew for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 13:58:24 -0700 (PDT)
Received: from outbound-mail-01.bluehost.com (cpoproxy1-pub.bluehost.com [69.89.21.11]) by core3.amsl.com (Postfix) with SMTP id C10F43A686D for <oauth@ietf.org>; Fri, 16 Apr 2010 13:58:24 -0700 (PDT)
Received: (qmail 2298 invoked by uid 0); 16 Apr 2010 20:58:17 -0000
Received: from unknown (HELO box514.bluehost.com) (74.220.219.114) by cpoproxy1.bluehost.com with SMTP; 16 Apr 2010 20:58:17 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=kingsmountain.com; h=Received:Message-ID:Date:From:User-Agent:MIME-Version:To:Subject:Content-Type:Content-Transfer-Encoding:X-Identified-User; b=mmaqWf+VKaMCD7qMLCrK2UNKTiLqcN+mu+27JL8TDC4oIj/62JFv7OJjbeQ/BMQ9LywjmDnRqQEp2nMSGlef7qkhpnwRwr6nn6QWX4YfP9pja7HWevmwqrAkp6Y/LSwq;
Received: from outbound4.ebay.com ([216.113.168.128] helo=[10.244.49.159]) by box514.bluehost.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.69) (envelope-from <Jeff.Hodges@KingsMountain.com>) id 1O2scD-0005MA-96 for oauth@ietf.org; Fri, 16 Apr 2010 14:58:17 -0600
Message-ID: <4BC8CF67.7000106@KingsMountain.com>
Date: Fri, 16 Apr 2010 13:58:15 -0700
From: =JeffH <Jeff.Hodges@KingsMountain.com>
User-Agent: Thunderbird 2.0.0.24 (X11/20100317)
MIME-Version: 1.0
To: IETF oauth WG <oauth@ietf.org>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Identified-User: {11025:box514.bluehost.com:kingsmou:kingsmountain.com} {sentby:smtp auth 216.113.168.128 authed with jeff.hodges+kingsmountain.com}
Subject: Re: [OAUTH-WG] Issue: specificity of the assertion flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 20:58:25 -0000

 > In terms of format, it suggests:
 >
 > format
 >    REQUIRED. The format of the assertion as defined by the authorization
 >    server.  The format MUST be a URI which designates a profile of the
 >    assertion flow.
 >
 > I personally think this is all that is required.   It would be nice if these
 > were addressable URIs, but in practice that doesn't happen often, and it
 > does leave behind some specs which are using urn's.

wrt the latter, URNs are a subset of URIs so they could be used.


it would be good to have "format"s registered with IANA, this involves setting 
up an IANA registry for such, which is relatively easy to accomplish, and is 
the sort of thing that is placed in the IANA Considerations section of this 
spec (OAuth 2.0).

Then, the spec for the OAuth SAML assertion profile would specify it's "format" 
value, and duly register that with the OAuth Assertion Format Registry.

=JeffH





From zachary.zeltsan@alcatel-lucent.com  Fri Apr 16 14:05:34 2010
Return-Path: <zachary.zeltsan@alcatel-lucent.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B38E23A676A for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 14:05:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SrZR2pbpSOY7 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 14:05:32 -0700 (PDT)
Received: from ihemail3.lucent.com (ihemail3.lucent.com [135.245.0.37]) by core3.amsl.com (Postfix) with ESMTP id D12653A62C1 for <oauth@ietf.org>; Fri, 16 Apr 2010 14:05:32 -0700 (PDT)
Received: from ihrh1.emsr.lucent.com (h135-1-218-53.lucent.com [135.1.218.53]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id o3GL5OCA002085;  Fri, 16 Apr 2010 16:05:24 -0500 (CDT)
Received: from USNAVSXCHHUB02.ndc.alcatel-lucent.com (usnavsxchhub02.ndc.alcatel-lucent.com [135.3.39.111]) by ihrh1.emsr.lucent.com (8.13.8/emsr) with ESMTP id o3GL5NwQ026106; Fri, 16 Apr 2010 16:05:23 -0500 (CDT)
Received: from USNAVSXCHMBSA3.ndc.alcatel-lucent.com ([135.3.39.126]) by USNAVSXCHHUB02.ndc.alcatel-lucent.com ([135.3.39.111]) with mapi; Fri, 16 Apr 2010 16:05:23 -0500
From: "Zeltsan, Zachary (Zachary)" <zachary.zeltsan@alcatel-lucent.com>
To: "'Tschofenig, Hannes (NSN - FI/Espoo)'" <hannes.tschofenig@nsn.com>, OAuth WG <oauth@ietf.org>
Date: Fri, 16 Apr 2010 16:05:23 -0500
Thread-Topic: OAuth Interim Meeting
Thread-Index: AcrbI49Faj9bL9NpQkO18kR+f9SKywCgadBQ
Message-ID: <5710F82C0E73B04FA559560098BF95B124F7A92C20@USNAVSXCHMBSA3.ndc.alcatel-lucent.com>
References: <3D3C75174CB95F42AD6BCC56E5555B4502712203@FIESEXC015.nsn-intra.net>
In-Reply-To: <3D3C75174CB95F42AD6BCC56E5555B4502712203@FIESEXC015.nsn-intra.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.37
Subject: Re: [OAUTH-WG] OAuth Interim Meeting
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 21:05:34 -0000

Blaine,=20
Hannes,

The interim meeting was a good idea.=20

Is it certain that the meeting will be held?
Those who have to fly to Mountain View would need to buy the tickets in adv=
ance. Do you know when the meeting-related details will be available?

With thanks,

Zachary

-----Original Message-----
From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of T=
schofenig, Hannes (NSN - FI/Espoo)
Sent: Tuesday, April 13, 2010 12:09 PM
To: OAuth WG
Subject: [OAUTH-WG] OAuth Interim Meeting

Hi all,=20

This is an early warning!=20

As mentioned at the last IETF meeting we are thinking about organizing a
face-to-face interim meeting attached to the Internet Identity Workshop
(see http://www.internetidentityworkshop.com/) on the 20th of May (in
Mountain View). As a host we have tentatively identified Yahoo and this
would be a one day workshop to discuss open issues of the OAuth 2.0.=20

Ciao
Hannes & Blaine=20


_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

From eran@hueniverse.com  Fri Apr 16 14:12:08 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 5424E3A6978 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 14:12:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.462
X-Spam-Level: 
X-Spam-Status: No, score=-2.462 tagged_above=-999 required=5 tests=[AWL=0.136,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Syhvk-MHFtQU for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 14:11:59 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 8A8A13A6807 for <oauth@ietf.org>; Fri, 16 Apr 2010 14:11:59 -0700 (PDT)
Received: (qmail 29834 invoked from network); 16 Apr 2010 21:11:52 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 16 Apr 2010 21:11:51 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Fri, 16 Apr 2010 14:11:51 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Evan Gilbert <uidude@google.com>
Date: Fri, 16 Apr 2010 14:11:48 -0700
Thread-Topic: [OAUTH-WG] Rename callback => callback_uri
Thread-Index: Acrdp3ASPx8PS91vR0GrzXmHb56TcwAAfzZf
Message-ID: <C7EE20A4.32439%eran@hueniverse.com>
In-Reply-To: <y2sc8689b661004161357v88c08c80oee6c33339f2493a1@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7EE20A432439eranhueniversecom_"
MIME-Version: 1.0
Cc: Naitik Shah <naitik@facebook.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Rename callback => callback_uri
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 21:12:08 -0000

--_000_C7EE20A432439eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I'll just go with redirect_uri.

EHL


On 4/16/10 1:57 PM, "Evan Gilbert" <uidude@google.com> wrote:



On Fri, Apr 16, 2010 at 1:45 PM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:
We should use the right term, not just the less conflicting term.

The Web Callback flow uses a callback from the server to the client - this =
is not a redirection. The User-Agent flow uses a redirection which is funda=
mentally different from a callback.


   callback
         An absolute URI to which the authorization server will redirect
         the end user back when the end user authorization step is
         completed.  The authorization server MAY require the client to
         pre-register their callback URI.


   redirection
         An absolute URI to which the authorization server will redirect
         the user-agent to when the end user authorization step is
         completed.  The authorization server SHOULD require the client
         to pre-register their redirection URI.

These look the same to me, and "redirect_uri/url" works. Open to other term=
s.



If you don't want to use callback and want to use the same name for both, i=
t needs to be something more generic like client_uri.

EHL


On 4/16/10 12:11 PM, "Naitik Shah" <naitik@facebook.com <http://naitik@face=
book.com> > wrote:

+1 for redirect_uri -- highest semantic value imho.


-Naitik



On Apr 16, 2010, at 12:05 PM, Evan Gilbert wrote:

> We should use the same name in the User-Agent and Web Callback flows. Als=
o, although the authorization server won't be allowing JSONP requests, "cal=
lback" has become a bit of a defacto standard for JSONP and it would be nic=
e to use a term that isn't overloaded?
>
> Can we make them both "redirection"? Even better, maybe "redirect_uri"?
>
> On Fri, Apr 16, 2010 at 9:50 AM, Luke Shepard <lshepard@facebook.com <htt=
p://lshepard@facebook.com> > wrote:
> Facebook API requests are protected resources. They can be called either =
in a browser or in a server-to-server environment.
>
> For example, a JSONP call for my name looks like this:
>
>        https://api.facebook.com/restserver.php?api_key=3D361900759629&cal=
l_id=3D1271436355034&callback=3DFB.RestServer._callback&format=3Djson&metho=
d=3Dfql.query&query=3DSELECT%20name%20FROM%20user%20WHERE%20uid%3D2901279&v=
=3D1.0
>
> The output (you can play with it here: http://fbrell.com/fb.api/everyone-=
data ):
>
>        FB.RestServer._callback([{"name":"Luke Shepard"}]);
>
> If we want that protected resource to take an access token as well, then =
it would look like:
>
>        https://api.facebook.com/restserver.php?....&callback=3DFB.RestSer=
ver._callback&access_token=3DACCESS_TOKEN
>
> The "callback" parameter is used pretty universally for JSONP requests. F=
or instance, see the Jquery docs: http://api.jquery.com/jQuery.getJSON/
>
> -----Original Message-----
> From: Richard Barnes [mailto:rbarnes@bbn.com]
> Sent: Friday, April 16, 2010 9:10 AM
> To: Luke Shepard
> Cc: Eran Hammer-Lahav; Naitik Shah; OAuth WG
> Subject: Re: [OAUTH-WG] Rename callback =3D> callback_uri
>
> Could you clarify a little more the environment in which this
> confusion arose?  What do you mean when you say "The protected
> resource typically accepts 'callback' as a parameter to support
> JSONP."?  What sort of software are you including in this?
>
> --Richard
>
>
> On Apr 15, 2010, at 5:41 PM, Luke Shepard wrote:
>
> > We already had one developer try it out and get confused because the
> > server tried to treat the callback URL as a JSONP callback.
> >
> > The protected resource typically accepts "callback" as a parameter
> > to support JSONP. If a developer accidentally passes in callback
> > there (maybe they got confused) then the server can't give a normal
> > error message - instead it needs to either detect that it looks like
> > a URL or otherwise reject it.
> >
> > On a related note, I think it's more confusing calling it something
> > different in the user-agent flow (redirector) when it's essentially
> > doing the same thing.
> >
> >
> > From: oauth-bounces@ietf.org <http://oauth-bounces@ietf.org>  [mailto:o=
auth-bounces@ietf.org] On
> > Behalf Of Eran Hammer-Lahav
> > Sent: Thursday, April 15, 2010 5:37 AM
> > To: Naitik Shah; OAuth WG
> > Subject: Re: [OAUTH-WG] Rename callback =3D> callback_uri
> >
> > I don't think it is that confusing. Its a completely different
> > context from where JSON-P is used (note that in the User-Agent flow
> > it is called something else).
> >
> > EHL
> >
> >
> > On 4/10/10 12:35 PM, "Naitik Shah" <naitik@facebook.com <http://naitik@=
facebook.com> > wrote:
> >
> > With the simplified params, the callback url parameter is now just
> > "callback". Since most major API providers already use "callback" to
> > signify JSON-P callback, can we rename this to "callback_uri"? This
> > will help avoid collisions and confusion.
> >
> >
> > -Naitik
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org <http://OAuth@ietf.org>
> > https://www.ietf.org/mailman/listinfo/oauth
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org <http://OAuth@ietf.org>
> > https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org <http://OAuth@ietf.org>
> https://www.ietf.org/mailman/listinfo/oauth
>

_______________________________________________
OAuth mailing list
OAuth@ietf.org <http://OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth




--_000_C7EE20A432439eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Rename callback =3D&gt; callback_uri</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>I&#8217;ll just go with redirect_uri.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/16/10 1:57 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"uidude@google.c=
om">uidude@google.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'><BR>
<BR>
On Fri, Apr 16, 2010 at 1:45 PM, Eran Hammer-Lahav &lt;<a href=3D"eran@huen=
iverse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>We should use the right term, not just the =
less conflicting term.<BR>
<BR>
The Web Callback flow uses a callback from the server to the client &#8211;=
 this is not a redirection. The User-Agent flow uses a redirection which is=
 fundamentally different from a callback.<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial=
"><SPAN STYLE=3D'font-size:11pt'><BR>
<BR>
=A0=A0 callback<BR>
=A0=A0 =A0 =A0 =A0 An absolute URI to which the authorization server will r=
edirect<BR>
=A0=A0 =A0 =A0 =A0 the end user back when the end user authorization step i=
s<BR>
=A0=A0 =A0 =A0 =A0 completed. =A0The authorization server MAY require the c=
lient to<BR>
=A0=A0 =A0 =A0 =A0 pre-register their callback URI.=A0<BR>
<BR>
<BR>
=A0=A0 redirection<BR>
=A0=A0 =A0 =A0 =A0 An absolute URI to which the authorization server will r=
edirect<BR>
=A0=A0 =A0 =A0 =A0 the user-agent to when the end user authorization step i=
s<BR>
=A0=A0 =A0 =A0 =A0 completed. =A0The authorization server SHOULD require th=
e client<BR>
=A0=A0 =A0 =A0 =A0 to pre-register their redirection URI.=A0<BR>
=A0<BR>
These look the same to me, and &quot;redirect_uri/url&quot; works. Open to =
other terms.<BR>
<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'><BR>
If you don&#8217;t want to use callback and want to use the same name for b=
oth, it needs to be something more generic like client_uri.<BR>
<FONT COLOR=3D"#888888"><BR>
EHL<BR>
</FONT><BR>
<BR>
On 4/16/10 12:11 PM, &quot;Naitik Shah&quot; &lt;<a href=3D"naitik@facebook=
.com">naitik@facebook.com</a> &lt;<a href=3D"http://naitik@facebook.com">ht=
tp://naitik@facebook.com</a>&gt; &gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>+1 for redirect_uri -- highest semantic val=
ue imho.<BR>
<BR>
<BR>
-Naitik<BR>
<BR>
<BR>
<BR>
On Apr 16, 2010, at 12:05 PM, Evan Gilbert wrote:<BR>
<BR>
&gt; We should use the same name in the User-Agent and Web Callback flows. =
Also, although the authorization server won't be allowing JSONP requests, &=
quot;callback&quot; has become a bit of a defacto standard for JSONP and it=
 would be nice to use a term that isn't overloaded?<BR>
&gt;<BR>
&gt; Can we make them both &quot;redirection&quot;? Even better, maybe &quo=
t;redirect_uri&quot;?<BR>
&gt;<BR>
&gt; On Fri, Apr 16, 2010 at 9:50 AM, Luke Shepard &lt;<a href=3D"lshepard@=
facebook.com">lshepard@facebook.com</a> &lt;<a href=3D"http://lshepard@face=
book.com">http://lshepard@facebook.com</a>&gt; &gt; wrote:<BR>
&gt; Facebook API requests are protected resources. They can be called eith=
er in a browser or in a server-to-server environment.<BR>
&gt;<BR>
&gt; For example, a JSONP call for my name looks like this:<BR>
&gt;<BR>
&gt; =A0=A0=A0=A0=A0=A0=A0<a href=3D"https://api.facebook.com/restserver.ph=
p?api_key=3D361900759629&amp;call_id=3D1271436355034&amp;callback=3DFB.Rest=
Server._callback&amp;format=3Djson&amp;method=3Dfql.query&amp;query=3DSELEC=
T%20name%20FROM%20user%20WHERE%20uid%3D2901279&amp;v=3D1.0">https://api.fac=
ebook.com/restserver.php?api_key=3D361900759629&amp;call_id=3D1271436355034=
&amp;callback=3DFB.RestServer._callback&amp;format=3Djson&amp;method=3Dfql.=
query&amp;query=3DSELECT%20name%20FROM%20user%20WHERE%20uid%3D2901279&amp;v=
=3D1.0</a><BR>
&gt;<BR>
&gt; The output (you can play with it here: <a href=3D"http://fbrell.com/fb=
.api/everyone-data">http://fbrell.com/fb.api/everyone-data</a> ):<BR>
&gt;<BR>
&gt; =A0=A0=A0=A0=A0=A0=A0FB.RestServer._callback([{&quot;name&quot;:&quot;=
Luke Shepard&quot;}]);<BR>
&gt;<BR>
&gt; If we want that protected resource to take an access token as well, th=
en it would look like:<BR>
&gt;<BR>
&gt; =A0=A0=A0=A0=A0=A0=A0<a href=3D"https://api.facebook.com/restserver.ph=
p?....&amp;callback=3DFB.RestServer._callback&amp;access_token=3DACCESS_TOK=
EN">https://api.facebook.com/restserver.php?....&amp;callback=3DFB.RestServ=
er._callback&amp;access_token=3DACCESS_TOKEN</a><BR>
&gt;<BR>
&gt; The &quot;callback&quot; parameter is used pretty universally for JSON=
P requests. For instance, see the Jquery docs: <a href=3D"http://api.jquery=
.com/jQuery.getJSON/">http://api.jquery.com/jQuery.getJSON/</a><BR>
&gt;<BR>
&gt; -----Original Message-----<BR>
&gt; From: Richard Barnes [<a href=3D"mailto:rbarnes@bbn.com">mailto:rbarne=
s@bbn.com</a>]<BR>
&gt; Sent: Friday, April 16, 2010 9:10 AM<BR>
&gt; To: Luke Shepard<BR>
&gt; Cc: Eran Hammer-Lahav; Naitik Shah; OAuth WG<BR>
&gt; Subject: Re: [OAUTH-WG] Rename callback =3D&gt; callback_uri<BR>
&gt;<BR>
&gt; Could you clarify a little more the environment in which this<BR>
&gt; confusion arose? =A0What do you mean when you say &quot;The protected<=
BR>
&gt; resource typically accepts 'callback' as a parameter to support<BR>
&gt; JSONP.&quot;? =A0What sort of software are you including in this?<BR>
&gt;<BR>
&gt; --Richard<BR>
&gt;<BR>
&gt;<BR>
&gt; On Apr 15, 2010, at 5:41 PM, Luke Shepard wrote:<BR>
&gt;<BR>
&gt; &gt; We already had one developer try it out and get confused because =
the<BR>
&gt; &gt; server tried to treat the callback URL as a JSONP callback.<BR>
&gt; &gt;<BR>
&gt; &gt; The protected resource typically accepts &quot;callback&quot; as =
a parameter<BR>
&gt; &gt; to support JSONP. If a developer accidentally passes in callback<=
BR>
&gt; &gt; there (maybe they got confused) then the server can't give a norm=
al<BR>
&gt; &gt; error message - instead it needs to either detect that it looks l=
ike<BR>
&gt; &gt; a URL or otherwise reject it.<BR>
&gt; &gt;<BR>
&gt; &gt; On a related note, I think it's more confusing calling it somethi=
ng<BR>
&gt; &gt; different in the user-agent flow (redirector) when it's essential=
ly<BR>
&gt; &gt; doing the same thing.<BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt; From: <a href=3D"oauth-bounces@ietf.org">oauth-bounces@ietf.org</=
a> &lt;<a href=3D"http://oauth-bounces@ietf.org">http://oauth-bounces@ietf.=
org</a>&gt; &nbsp;[<a href=3D"mailto:oauth-bounces@ietf.org">mailto:oauth-b=
ounces@ietf.org</a>] On<BR>
&gt; &gt; Behalf Of Eran Hammer-Lahav<BR>
&gt; &gt; Sent: Thursday, April 15, 2010 5:37 AM<BR>
&gt; &gt; To: Naitik Shah; OAuth WG<BR>
&gt; &gt; Subject: Re: [OAUTH-WG] Rename callback =3D&gt; callback_uri<BR>
&gt; &gt;<BR>
&gt; &gt; I don't think it is that confusing. Its a completely different<BR=
>
&gt; &gt; context from where JSON-P is used (note that in the User-Agent fl=
ow<BR>
&gt; &gt; it is called something else).<BR>
&gt; &gt;<BR>
&gt; &gt; EHL<BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt; On 4/10/10 12:35 PM, &quot;Naitik Shah&quot; &lt;<a href=3D"naiti=
k@facebook.com">naitik@facebook.com</a> &lt;<a href=3D"http://naitik@facebo=
ok.com">http://naitik@facebook.com</a>&gt; &gt; wrote:<BR>
&gt; &gt;<BR>
&gt; &gt; With the simplified params, the callback url parameter is now jus=
t<BR>
&gt; &gt; &quot;callback&quot;. Since most major API providers already use =
&quot;callback&quot; to<BR>
&gt; &gt; signify JSON-P callback, can we rename this to &quot;callback_uri=
&quot;? This<BR>
&gt; &gt; will help avoid collisions and confusion.<BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt; -Naitik<BR>
&gt; &gt; _______________________________________________<BR>
&gt; &gt; OAuth mailing list<BR>
&gt; &gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a> &lt;<a href=3D"http=
://OAuth@ietf.org">http://OAuth@ietf.org</a>&gt; <BR>
&gt; &gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://w=
ww.ietf.org/mailman/listinfo/oauth</a><BR>
&gt; &gt;<BR>
&gt; &gt; _______________________________________________<BR>
&gt; &gt; OAuth mailing list<BR>
&gt; &gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a> &lt;<a href=3D"http=
://OAuth@ietf.org">http://OAuth@ietf.org</a>&gt; <BR>
&gt; &gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://w=
ww.ietf.org/mailman/listinfo/oauth</a><BR>
&gt;<BR>
&gt; _______________________________________________<BR>
&gt; OAuth mailing list<BR>
&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a> &lt;<a href=3D"http://OA=
uth@ietf.org">http://OAuth@ietf.org</a>&gt; <BR>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ie=
tf.org/mailman/listinfo/oauth</a><BR>
&gt;<BR>
<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a> &lt;<a href=3D"http://OAuth@i=
etf.org">http://OAuth@ietf.org</a>&gt; <BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Hel=
vetica, Arial"><SPAN STYLE=3D'font-size:11pt'><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7EE20A432439eranhueniversecom_--

From mscurtescu@google.com  Fri Apr 16 14:15:02 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D6D6D3A69FD for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 14:15:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.947
X-Spam-Level: 
X-Spam-Status: No, score=-105.947 tagged_above=-999 required=5 tests=[AWL=0.030, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7GReCiQX5l4J for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 14:15:01 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id D02433A6898 for <oauth@ietf.org>; Fri, 16 Apr 2010 14:14:43 -0700 (PDT)
Received: from wpaz37.hot.corp.google.com (wpaz37.hot.corp.google.com [172.24.198.101]) by smtp-out.google.com with ESMTP id o3GLEZn0007650 for <oauth@ietf.org>; Fri, 16 Apr 2010 14:14:35 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271452476; bh=PuJKLF2MXlAt2jwdBHZrs3B62IM=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=IgTZ0KD6qpPErA4R7nEaDTufalweOV3HUU8GBcKkzPc0KKjBCWjeOghtlGmTkAI9q evFkm26MEPdxktFsoIYdw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=Vv1coNjpO3bmJGnSeF0XcRADstm7K6rcr2mM4kOXYpi14c5UXe70zhu+oAkVG2e9R 3GALox/128a6lFgyWDRuQ==
Received: from pzk16 (pzk16.prod.google.com [10.243.19.144]) by wpaz37.hot.corp.google.com with ESMTP id o3GLEXZQ004174 for <oauth@ietf.org>; Fri, 16 Apr 2010 14:14:34 -0700
Received: by pzk16 with SMTP id 16so704925pzk.22 for <oauth@ietf.org>; Fri, 16 Apr 2010 14:14:33 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Fri, 16 Apr 2010 14:14:13 -0700 (PDT)
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DCF7@SC-MBXC1.TheFacebook.com>
References: <C7ECABE0.32344%eran@hueniverse.com> <255B9BB34FB7D647A506DC292726F6E11257481003@WSMSG3153V.srv.dir.telstra.com> <9E18821D-E128-468A-9778-9D9D049B716F@jkemp.net> <2513A610118CC14C8E622C376C8DEC93D54D66DCF7@SC-MBXC1.TheFacebook.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Fri, 16 Apr 2010 14:14:13 -0700
Received: by 10.140.251.9 with SMTP id y9mr2505662rvh.276.1271452473281; Fri,  16 Apr 2010 14:14:33 -0700 (PDT)
Message-ID: <s2z74caaad21004161414vcc6f3305odb606fff1a94a53a@mail.gmail.com>
To: Luke Shepard <lshepard@facebook.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 21:15:02 -0000

On Fri, Apr 16, 2010 at 9:58 AM, Luke Shepard <lshepard@facebook.com> wrote:
> I guess I would prefer two URLs as well, but I see the simplicity argument as well:
>
>>> Constraints for endpoints:
>>> access token URL: HTTPS and POST only, no user
>>> user authentication URL: HTTP or HTTPS, GET or POST, authenticated user
>
> In either case, we should not restrict the access token URL to POST-only. A GET request is just as secure and can be much easier to write code for (just construct the URL and ping, no need to figure out CURLOPT_POSTFIELDS).

If you are using GET, then refresh tokens and client secrets will end
up side by side in web server log files.

Marius

From beaton@google.com  Fri Apr 16 17:03:51 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B02293A6835 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 17:03:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level: 
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5M-jBdJyPz-C for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 17:03:50 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id A741A3A6803 for <oauth@ietf.org>; Fri, 16 Apr 2010 17:03:50 -0700 (PDT)
Received: from kpbe18.cbf.corp.google.com (kpbe18.cbf.corp.google.com [172.25.105.82]) by smtp-out.google.com with ESMTP id o3H03em5008030 for <oauth@ietf.org>; Fri, 16 Apr 2010 17:03:40 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271462620; bh=SvyuWHxiYAPr6Ee3k434rTUszgM=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type:Content-Transfer-Encoding; b=ObkbH/6wUHbgGG4+n7nbcjCHxEs/YKmOmwHIqX/93oPvSFyr6l1oOIt9Aqa8mnVIE f2lDd8IvGwNiLZfRmTdjQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:content-transfer-encoding:x-system-of-record; b=TBpyS/kccrbJVcM+Sv3qKvddc2J9hvdLFbzPmN8ODhYngDB8O6JiOPiuLrsprY/U7 olX7DZPHr01kdHwu8EEyA==
Received: from vws19 (vws19.prod.google.com [10.241.21.147]) by kpbe18.cbf.corp.google.com with ESMTP id o3H03cM0002873 for <oauth@ietf.org>; Fri, 16 Apr 2010 17:03:39 -0700
Received: by vws19 with SMTP id 19so1240954vws.32 for <oauth@ietf.org>; Fri, 16 Apr 2010 17:03:38 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.109.99 with HTTP; Fri, 16 Apr 2010 17:03:38 -0700 (PDT)
In-Reply-To: <C7ECB94C.3A0E%cmortimore@salesforce.com>
References: <C7ECB053.32354%eran@hueniverse.com> <C7ECB94C.3A0E%cmortimore@salesforce.com>
Date: Fri, 16 Apr 2010 17:03:38 -0700
Received: by 10.220.48.22 with SMTP id p22mr1450905vcf.213.1271462618651; Fri,  16 Apr 2010 17:03:38 -0700 (PDT)
Message-ID: <k2idaf5b9571004161703sb3f3af1cq369f8624355de129@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Chuck Mortimore <cmortimore@salesforce.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: specificity of the assertion flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 00:03:51 -0000

On Thu, Apr 15, 2010 at 12:38 PM, Chuck Mortimore
<cmortimore@salesforce.com> wrote:
> Could you please take another glance at what I posted? =A0=A0There are a =
number
> of changes to the general assertion flow that are required for it to refl=
ect
> how this will be used in a lot of scenarios.

>  (A)  The client sends an access token request to the authorization serve=
r and includes a self-issued assertion.

Why self issued?

> The value of the assertion parameter MUST be a valid SAML <Response> mess=
age

Why saml Response instead of saml Assertion?

Scope would be useful in this profile.

Adding form-encoded content-type header to the examples would be useful.

Cheers,
Brian

From cmortimore@salesforce.com  Fri Apr 16 17:20:01 2010
Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8CC9728B56A for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 17:20:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.449
X-Spam-Level: 
X-Spam-Status: No, score=-6.449 tagged_above=-999 required=5 tests=[AWL=0.149,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LArcu-Mxo7Lt for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 17:19:56 -0700 (PDT)
Received: from exprod8og108.obsmtp.com (exprod8og108.obsmtp.com [64.18.3.96]) by core3.amsl.com (Postfix) with SMTP id EB7D43A6358 for <oauth@ietf.org>; Fri, 16 Apr 2010 17:19:53 -0700 (PDT)
Received: from source ([204.14.239.239]) by exprod8ob108.postini.com ([64.18.7.12]) with SMTP ID DSNKS8j+orLG0tRtOVrBbg3Jo95mZifQ+6nt@postini.com; Fri, 16 Apr 2010 17:19:47 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub4.internal.salesforce.com ([10.1.127.8]) with mapi; Fri, 16 Apr 2010 17:19:46 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: Brian Eaton <beaton@google.com>
Date: Fri, 16 Apr 2010 17:19:45 -0700
Thread-Topic: [OAUTH-WG] Issue: specificity of the assertion flow
Thread-Index: AcrdwXGJAOBnb8VwTC6SO9U4eyib4AAAjz8x
Message-ID: <C7EE4CB1.3B52%cmortimore@salesforce.com>
In-Reply-To: <k2idaf5b9571004161703sb3f3af1cq369f8624355de129@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7EE4CB13B52cmortimoresalesforcecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: specificity of the assertion flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 00:20:02 -0000

--_000_C7EE4CB13B52cmortimoresalesforcecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

On 4/16/10 5:03 PM, "Brian Eaton" <beaton@google.com> wrote:

On Thu, Apr 15, 2010 at 12:38 PM, Chuck Mortimore
<cmortimore@salesforce.com> wrote:
> Could you please take another glance at what I posted?   There are a numb=
er
> of changes to the general assertion flow that are required for it to refl=
ect
> how this will be used in a lot of scenarios.

>  (A)  The client sends an access token request to the authorization serve=
r and includes a self-issued assertion.

Why self issued?

> It really can be either, and I see now that's not really clear here.   Th=
e client may have the ability to directly issue the SAML assertion, rather =
than having to fetch it from a server.     In short, the profile doesn't ca=
re about where the assertion came from, as long as it validates, and I was =
attempting to convey that.  This is likely confusing and probably needs re-=
wording.

> The value of the assertion parameter MUST be a valid SAML <Response> mess=
age

Why saml Response instead of saml Assertion?

> I was really back and forth on this one.   I scoped it down to Response f=
or simplicity, but I've spoken to enough people offline that I think I prob=
ably made the wrong choice.  A new suggestion would be:  "The value of the =
assertion parameter MUST contain a valid SAML Assertion.   The SAML Asserti=
on MAY be enclosed in a valid SAML Response.  If enclosed in a SAML Respons=
e, the Assertion MAY inherit it's signature from the Response per SAML Core=
 5.3"

Scope would be useful in this profile.

Adding form-encoded content-type header to the examples would be useful.

Cheers,
Brian

> Thanks for reviewing this.

-cmort

--_000_C7EE4CB13B52cmortimoresalesforcecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Issue: specificity of the assertion flow</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'>On 4/16/10 5:03=
 PM, &quot;Brian Eaton&quot; &lt;<a href=3D"beaton@google.com">beaton@googl=
e.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-=
size:11pt'>On Thu, Apr 15, 2010 at 12:38 PM, Chuck Mortimore<BR>
&lt;<a href=3D"cmortimore@salesforce.com">cmortimore@salesforce.com</a>&gt;=
 wrote:<BR>
&gt; Could you please take another glance at what I posted? =A0=A0There are=
 a number<BR>
&gt; of changes to the general assertion flow that are required for it to r=
eflect<BR>
&gt; how this will be used in a lot of scenarios.<BR>
<BR>
&gt; &nbsp;(A) &nbsp;The client sends an access token request to the author=
ization server and includes a self-issued assertion.<BR>
<BR>
Why self issued?<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font=
-size:11pt'>&gt; It really can be either, and I see now that&#8217;s not re=
ally clear here. &nbsp;&nbsp;The client may have the ability to directly is=
sue the SAML assertion, rather than having to fetch it from a server. &nbsp=
;&nbsp;&nbsp;&nbsp;In short, the profile doesn&#8217;t care about where the=
 assertion came from, as long as it validates, and I was attempting to conv=
ey that. &nbsp;This is likely confusing and probably needs re-wording. &nbs=
p;<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-=
size:11pt'><BR>
&gt; The value of the assertion parameter MUST be a valid SAML &lt;Response=
&gt; message<BR>
<BR>
Why saml Response instead of saml Assertion?<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font=
-size:11pt'>&gt; I was really back and forth on this one. &nbsp;&nbsp;I sco=
ped it down to Response for simplicity, but I&#8217;ve spoken to enough peo=
ple offline that I think I probably made the wrong choice. &nbsp;A new sugg=
estion would be: &nbsp;&#8220;The value of the assertion parameter MUST con=
tain a valid SAML Assertion. &nbsp;&nbsp;The SAML Assertion MAY be enclosed=
 in a valid SAML Response. &nbsp;If enclosed in a SAML Response, the Assert=
ion MAY inherit it&#8217;s signature from the Response per SAML Core 5.3&#8=
221;<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-=
size:11pt'><BR>
Scope would be useful in this profile.<BR>
<BR>
Adding form-encoded content-type header to the examples would be useful.<BR=
>
<BR>
Cheers,<BR>
Brian<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font=
-size:11pt'>&gt; Thanks for reviewing this.<BR>
<BR>
-cmort</SPAN></FONT>
</BODY>
</HTML>


--_000_C7EE4CB13B52cmortimoresalesforcecom_--

From mscurtescu@google.com  Fri Apr 16 17:59:14 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B57C13A690C for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 17:59:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.95
X-Spam-Level: 
X-Spam-Status: No, score=-105.95 tagged_above=-999 required=5 tests=[AWL=0.027, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9kxYAqzOC5If for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 17:59:13 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 947203A69F4 for <oauth@ietf.org>; Fri, 16 Apr 2010 17:59:13 -0700 (PDT)
Received: from hpaq11.eem.corp.google.com (hpaq11.eem.corp.google.com [10.3.21.11]) by smtp-out.google.com with ESMTP id o3H0x1JR001632 for <oauth@ietf.org>; Fri, 16 Apr 2010 17:59:02 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271465942; bh=m72RDFuZRGXZ7hMDOBryOjh+zqM=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=AFZEug0zwC9OkY1ohlaelpzILLlDGcSZRSVYN6U7dYCOWk8JEWKmr/kWBvI2rA7R5 AyGMo2/Q4ql7DLIie7fpw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=pgxmYkD8RpZL0cCCylBTAtfALaBn2ctIBgDMPFo7mt/g1sJm8IRt9pTA5l1gJZoKG ztLvLU30Q3RWYDT4piPDw==
Received: from pzk4 (pzk4.prod.google.com [10.243.19.132]) by hpaq11.eem.corp.google.com with ESMTP id o3H0wx55015716 for <oauth@ietf.org>; Sat, 17 Apr 2010 02:59:00 +0200
Received: by pzk4 with SMTP id 4so2491488pzk.9 for <oauth@ietf.org>; Fri, 16 Apr 2010 17:58:59 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Fri, 16 Apr 2010 17:58:39 -0700 (PDT)
In-Reply-To: <C7EDC393.323D8%eran@hueniverse.com>
References: <u2r74caaad21004152110t6949b0dfuac76f1ae3162aeb7@mail.gmail.com>  <C7EDC393.323D8%eran@hueniverse.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Fri, 16 Apr 2010 17:58:39 -0700
Received: by 10.141.101.17 with SMTP id d17mr1333138rvm.265.1271465939097;  Fri, 16 Apr 2010 17:58:59 -0700 (PDT)
Message-ID: <s2m74caaad21004161758scdd1ab27t486ef22b8f12911d@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 00:59:14 -0000

On Fri, Apr 16, 2010 at 7:34 AM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:
> First, this argument only holds for callbacks, not for the authorization
> endpoint.

And why is that? This argument applies exactly the same way to the
authorization endpoint. The same Drupal site can also be an OAuth 2.0
Authorization Server.

Basically any framework which does dispatching of requests based on
query parameters will require that endpoints (or callbacks) have query
parameters.


> Since this problem is easily solved with a simple web server
> configuration, I don=92t think it is as bad as you make it sound.

Please read my example again. This *cannot* be solved with any kind of
web server configuration. Ideal server configuration will make it
appear that no query parameters are used, but behind the scene they
are. Query parameters are needed on all endpoints, visible or not.


> I=92m sure
> that the Drupal community will find a solution if there are valuable OAut=
h
> 2.0 resources they want to access.

That's close to impossible. Do you really expect them to change the
fundamental architecture of Drupal just to support OAuth? And the main
reason for that architecture is how PHP works and what is available
with shared hosting, so I guess many other similar frameworks will
work like this.


> However, I don=92t have an objection to a prefix for callback parameters =
since
> those are not purely protocol endpoints but client endpoints with potenti=
al
> existing semantics. We already have oauth_token for accessing a protected
> resource using query parameters (for the same reason).
>
> But this argument does not extent to the authorization endpoint.

Please read above, it does.


Marius

>
> EHL
>
>
> On 4/15/10 9:10 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
> On Thu, Apr 15, 2010 at 6:39 PM, Evan Gilbert <uidude@google.com> wrote:
>>
>> On Thu, Apr 15, 2010 at 6:31 PM, Marius Scurtescu <mscurtescu@google.com=
>
>> wrote:
>>>
>>> OK, here is a concrete example:
>>>
>>> A Drupal (popular PHP based CMS) based web site wants to become an
>>> OAuth 2 client. Among other things it needs to implement a callback
>>> endpoint.
>>>
>>> Ideally this endpoint would look something like:
>>> http://example.com/oauth/back
>>>
>>> Depending on what web server is used and how it is configured, the
>>> above URL may not be possible. Drupal is dispatching all requests
>>> through the main script and the path of the endpoint is passed as a
>>> query parameter. Normally the above URL is seen as:
>>> http://example.com/index.php?q=3Doauth/back
>>>
>>> The cleaner http://example.com/oauth/back is achieved with Apache URl
>>> rewriting, but if Apache is not available or configured to support
>>> that, you are stuck with the ugly query parameters.
>>>
>>> In the unlucky case the registered callback, and the actual callback
>>> used in messages, is "http://example.com/index.php?q=3Doauth/back". Thi=
s
>>> callback has a query parameter, it is not used for state, and it is
>>> not an extension.
>>>
>>> It so happens that "q" will not conflict with any of the existing
>>> OAuth 2 parameters, but you can see the potential issue.
>>>
>>> Now, even if Apache is available and URL rewrites work, so the nice
>>> callback is used, a collision would still happen if "q" was used by
>>> OAuth 2. Apache rewrites "/oauth/back", but the Drupal dispatcher
>>> always sees "/index.php?q=3Doauth/back", so another q parameter would
>>> break things.
>>
>> We should ask Drupal to change their query parameter to drupal_q.
>
> And every single framework that does dispatching based on query parameter=
s
> :-)
>
>
>>> I do realize that a prefix will not solve ALL collisions and it is
>>> also not solving the extension question, but I still think makes a big
>>> difference.
>>
>> This use case makes sense, but do we know of any existing conflicts?
>> Very few web servers have this restrictive a URL parameter policy - I
>> think
>> I'm OK losing compatibility with future web servers that reserve the
>> "callback" parameter for other purposes.
>
> My guess is that most PHP frameworks will have a similar problem, they
> will require query parameters. =A0This is not a web server issue, but a
> framework issue.
>
> Not only "callback" can cause a collision, but every single OAuth 2
> parameter.
>
>
> Marius
>
>

From uidude@google.com  Fri Apr 16 18:01:17 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B4B103A688E for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 18:01:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.664
X-Spam-Level: 
X-Spam-Status: No, score=-105.664 tagged_above=-999 required=5 tests=[AWL=0.312, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id iENEvApFN77E for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 18:01:16 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id F3AF13A69F4 for <oauth@ietf.org>; Fri, 16 Apr 2010 18:01:13 -0700 (PDT)
Received: from wpaz1.hot.corp.google.com (wpaz1.hot.corp.google.com [172.24.198.65]) by smtp-out.google.com with ESMTP id o3H112tK006791 for <oauth@ietf.org>; Fri, 16 Apr 2010 18:01:04 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271466064; bh=eBnIlQETcEEEfwZfQwRSnVXv8L8=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=mRrcAs4WptaEToL3O/Pf86hdPD4P+A0BZ5+tHK78GOJ1smKFsppoh6bT40H9jhSy9 cUs+WFt9SaOWUrXO2eAeQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=ItETpEA7SBMpbL+7fCOsds/bSizxD+Bp8AGaGF3r8buuh/SneggvkFL5s0oB8CPe3 cFEdHeKQIogHHq2jENrlw==
Received: from qw-out-1920.google.com (qwc5.prod.google.com [10.241.193.133]) by wpaz1.hot.corp.google.com with ESMTP id o3H1115n018985 for <oauth@ietf.org>; Fri, 16 Apr 2010 18:01:01 -0700
Received: by qw-out-1920.google.com with SMTP id 5so990022qwc.28 for <oauth@ietf.org>; Fri, 16 Apr 2010 18:01:01 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.78.131 with HTTP; Fri, 16 Apr 2010 18:00:41 -0700 (PDT)
In-Reply-To: <OF8FB2E78C.D5A64814-ON80257707.003187CC-80257707.003230EB@ie.ibm.com>
References: <t2l74caaad21004151015u6df682d1u89ef34f2586119c8@mail.gmail.com>  <OF8FB2E78C.D5A64814-ON80257707.003187CC-80257707.003230EB@ie.ibm.com>
From: Evan Gilbert <uidude@google.com>
Date: Fri, 16 Apr 2010 18:00:41 -0700
Received: by 10.229.241.82 with SMTP id ld18mr3250088qcb.60.1271466061402;  Fri, 16 Apr 2010 18:01:01 -0700 (PDT)
Message-ID: <z2ic8689b661004161800t7881fe6cq6848b1c5e8f1f4b5@mail.gmail.com>
To: Mark Mcgloin <mark.mcgloin@ie.ibm.com>
Content-Type: multipart/alternative; boundary=00163630eda9ef120c0484644242
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 01:01:17 -0000

--00163630eda9ef120c0484644242
Content-Type: text/plain; charset=ISO-8859-1

A few of us from Google & Facebook had a face-to-face discussion today to
talk through the differences / similarities between Native App, Web
Callback, and User-Agent.

>From the discussion it seemed that the current Native Application flow is
equivalent to Web Callback flow, with:
1. A redirect to a endpoint that shows the verification code in the title of
the page (http://www.yoursite.com/showtitle.html), content takes
verification code and inserts into title of HTML page) and
2. No client secret

It also seemed there were reasons why native app developers might prefer
using User-Agent flow over Web Callback, and vice versa. The Device flow is
also an option.

This seemed to be an opportunity to simplify the spec by removing Native App
flow. A proposal:
- Remove Native App flow
- Make client secret optional in Web Callback flow
- Add text to the spec to give overview of options for native app developers
- Document the "show verification code in titile" technique in best
practices doc

Evan

On Fri, Apr 16, 2010 at 2:08 AM, Mark Mcgloin <mark.mcgloin@ie.ibm.com>wrote:

> My point though is why remove the Native app flow and then replace it with
> something that relies on having to warn the user about possible phishing
> attacks in your UI, like FlickR does. I would find it difficult to get that
> approved here in IBM
>
> I must look again at Luke Sheppard's suggestion for combining Native app
> flow with UA flow as that seems a better solution
>
> Mark
>
> On 15/04/2010 18:15, Marius Scurtescu <mscurtescu@google.com> wrote:
>
> >> What is the benefit in combining Native flow and Device flow and then
> >> having to expend effort preventing any ingenious phishing attacks?
>
> >The main issue with the Native flow is how is the client getting hold
> >of the verification code. There are several solutions for that
> >(embedded browser, custom scheme and handler app, launching browser
> >process and checking window title), but all are hackish.
>
> >The Device flow relies on the client polling the authz server and
> >retrieving the tokens directly. This closes the loop nicely.
>
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--00163630eda9ef120c0484644242
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<span style=3D"font-family:arial, sans-serif;font-size:13px;border-collapse=
:collapse"><div>A few of us from Google &amp; Facebook had a face-to-face d=
iscussion today to talk through the differences / similarities between Nati=
ve App, Web Callback, and User-Agent.</div>

<div><br>From the discussion it seemed that the current Native Application =
flow is equivalent to Web Callback flow, with:</div><div><div>1. A=A0redire=
ct to a endpoint that shows the verification code in the title of the page =
(<a href=3D"http://www.yoursite.com/showtitle.html">http://www.yoursite.com=
/showtitle.html</a>), content takes verification code and inserts into titl=
e of HTML page) and=A0</div>

<div>2. No client secret</div></div><div><br></div><div>It also seemed ther=
e were reasons why native app developers might prefer using User-Agent flow=
 over Web Callback, and vice versa. The Device flow is also an option.</div=
>

<div><br></div><div>This seemed to be an opportunity to simplify the spec b=
y removing Native App flow. A proposal:</div><div><div>- Remove Native App =
flow</div><div>- Make client secret optional in Web Callback flow</div>

<div>- Add text to the spec to give overview of options for native app deve=
lopers</div><div>- Document the &quot;show verification code in titile&quot=
; technique in best practices doc</div></div><div><br>Evan</div></span><br>

<div class=3D"gmail_quote">On Fri, Apr 16, 2010 at 2:08 AM, Mark Mcgloin <s=
pan dir=3D"ltr">&lt;<a href=3D"mailto:mark.mcgloin@ie.ibm.com" target=3D"_b=
lank">mark.mcgloin@ie.ibm.com</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">My point though is why remove the Native app=
 flow and then replace it with<br>
something that relies on having to warn the user about possible phishing<br=
>
attacks in your UI, like FlickR does. I would find it difficult to get that=
<br>
approved here in IBM<br>
<br>
I must look again at Luke Sheppard&#39;s suggestion for combining Native ap=
p<br>
flow with UA flow as that seems a better solution<br>
<font color=3D"#888888"><br>
Mark<br>
</font><div><br>
On 15/04/2010 18:15, Marius Scurtescu &lt;<a href=3D"mailto:mscurtescu@goog=
le.com" target=3D"_blank">mscurtescu@google.com</a>&gt; wrote:<br>
<br>
&gt;&gt; What is the benefit in combining Native flow and Device flow and t=
hen<br>
&gt;&gt; having to expend effort preventing any ingenious phishing attacks?=
<br>
<br>
&gt;The main issue with the Native flow is how is the client getting hold<b=
r>
&gt;of the verification code. There are several solutions for that<br>
&gt;(embedded browser, custom scheme and handler app, launching browser<br>
&gt;process and checking window title), but all are hackish.<br>
<br>
&gt;The Device flow relies on the client polling the authz server and<br>
&gt;retrieving the tokens directly. This closes the loop nicely.<br>
<br>
<br>
<br>
<br>
</div><div><div></div><div>_______________________________________________<=
br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br>

--00163630eda9ef120c0484644242--

From eran@hueniverse.com  Fri Apr 16 18:08:23 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BDC7D3A6A3F for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 18:08:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.464
X-Spam-Level: 
X-Spam-Status: No, score=-2.464 tagged_above=-999 required=5 tests=[AWL=0.134,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hupepyLpjB0Z for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 18:08:17 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 33E2C3A697A for <oauth@ietf.org>; Fri, 16 Apr 2010 18:08:17 -0700 (PDT)
Received: (qmail 4926 invoked from network); 17 Apr 2010 01:08:09 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 17 Apr 2010 01:08:09 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Fri, 16 Apr 2010 18:08:09 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Fri, 16 Apr 2010 18:08:05 -0700
Thread-Topic: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
Thread-Index: AcrdyS+3hKTRgrRWQkeLVi68gaujQAAAT9bU
Message-ID: <C7EE5805.3244E%eran@hueniverse.com>
In-Reply-To: <s2m74caaad21004161758scdd1ab27t486ef22b8f12911d@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7EE58053244Eeranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 01:08:24 -0000

--_000_C7EE58053244Eeranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

We are going in circles. We are just not going to agree on this.

I don't think we should have a parameter prefix for OAuth-specific calls, y=
ou think we should. Time to let other people express their view on this. I'=
m sure both of us can live with both options.

EHL


On 4/16/10 5:58 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

On Fri, Apr 16, 2010 at 7:34 AM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:
> First, this argument only holds for callbacks, not for the authorization
> endpoint.

And why is that? This argument applies exactly the same way to the
authorization endpoint. The same Drupal site can also be an OAuth 2.0
Authorization Server.

Basically any framework which does dispatching of requests based on
query parameters will require that endpoints (or callbacks) have query
parameters.


> Since this problem is easily solved with a simple web server
> configuration, I don't think it is as bad as you make it sound.

Please read my example again. This *cannot* be solved with any kind of
web server configuration. Ideal server configuration will make it
appear that no query parameters are used, but behind the scene they
are. Query parameters are needed on all endpoints, visible or not.


> I'm sure
> that the Drupal community will find a solution if there are valuable OAut=
h
> 2.0 resources they want to access.

That's close to impossible. Do you really expect them to change the
fundamental architecture of Drupal just to support OAuth? And the main
reason for that architecture is how PHP works and what is available
with shared hosting, so I guess many other similar frameworks will
work like this.


> However, I don't have an objection to a prefix for callback parameters si=
nce
> those are not purely protocol endpoints but client endpoints with potenti=
al
> existing semantics. We already have oauth_token for accessing a protected
> resource using query parameters (for the same reason).
>
> But this argument does not extent to the authorization endpoint.

Please read above, it does.


Marius

>
> EHL
>
>
> On 4/15/10 9:10 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
> On Thu, Apr 15, 2010 at 6:39 PM, Evan Gilbert <uidude@google.com> wrote:
>>
>> On Thu, Apr 15, 2010 at 6:31 PM, Marius Scurtescu <mscurtescu@google.com=
>
>> wrote:
>>>
>>> OK, here is a concrete example:
>>>
>>> A Drupal (popular PHP based CMS) based web site wants to become an
>>> OAuth 2 client. Among other things it needs to implement a callback
>>> endpoint.
>>>
>>> Ideally this endpoint would look something like:
>>> http://example.com/oauth/back
>>>
>>> Depending on what web server is used and how it is configured, the
>>> above URL may not be possible. Drupal is dispatching all requests
>>> through the main script and the path of the endpoint is passed as a
>>> query parameter. Normally the above URL is seen as:
>>> http://example.com/index.php?q=3Doauth/back
>>>
>>> The cleaner http://example.com/oauth/back is achieved with Apache URl
>>> rewriting, but if Apache is not available or configured to support
>>> that, you are stuck with the ugly query parameters.
>>>
>>> In the unlucky case the registered callback, and the actual callback
>>> used in messages, is "http://example.com/index.php?q=3Doauth/back". Thi=
s
>>> callback has a query parameter, it is not used for state, and it is
>>> not an extension.
>>>
>>> It so happens that "q" will not conflict with any of the existing
>>> OAuth 2 parameters, but you can see the potential issue.
>>>
>>> Now, even if Apache is available and URL rewrites work, so the nice
>>> callback is used, a collision would still happen if "q" was used by
>>> OAuth 2. Apache rewrites "/oauth/back", but the Drupal dispatcher
>>> always sees "/index.php?q=3Doauth/back", so another q parameter would
>>> break things.
>>
>> We should ask Drupal to change their query parameter to drupal_q.
>
> And every single framework that does dispatching based on query parameter=
s
> :-)
>
>
>>> I do realize that a prefix will not solve ALL collisions and it is
>>> also not solving the extension question, but I still think makes a big
>>> difference.
>>
>> This use case makes sense, but do we know of any existing conflicts?
>> Very few web servers have this restrictive a URL parameter policy - I
>> think
>> I'm OK losing compatibility with future web servers that reserve the
>> "callback" parameter for other purposes.
>
> My guess is that most PHP frameworks will have a similar problem, they
> will require query parameters.  This is not a web server issue, but a
> framework issue.
>
> Not only "callback" can cause a collision, but every single OAuth 2
> parameter.
>
>
> Marius
>
>


--_000_C7EE58053244Eeranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension &nb=
sp;policy</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>We are going in circles. We are just not going to agree on this.<BR>
<BR>
I don&#8217;t think we should have a parameter prefix for OAuth-specific ca=
lls, you think we should. Time to let other people express their view on th=
is. I&#8217;m sure both of us can live with both options.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/16/10 5:58 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurtescu@=
google.com">mscurtescu@google.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>On Fri, Apr 16, 2010 at 7:34 AM, Eran Hamme=
r-Lahav &lt;<a href=3D"eran@hueniverse.com">eran@hueniverse.com</a>&gt; wro=
te:<BR>
&gt; First, this argument only holds for callbacks, not for the authorizati=
on<BR>
&gt; endpoint.<BR>
<BR>
And why is that? This argument applies exactly the same way to the<BR>
authorization endpoint. The same Drupal site can also be an OAuth 2.0<BR>
Authorization Server.<BR>
<BR>
Basically any framework which does dispatching of requests based on<BR>
query parameters will require that endpoints (or callbacks) have query<BR>
parameters.<BR>
<BR>
<BR>
&gt; Since this problem is easily solved with a simple web server<BR>
&gt; configuration, I don&#8217;t think it is as bad as you make it sound.<=
BR>
<BR>
Please read my example again. This *cannot* be solved with any kind of<BR>
web server configuration. Ideal server configuration will make it<BR>
appear that no query parameters are used, but behind the scene they<BR>
are. Query parameters are needed on all endpoints, visible or not.<BR>
<BR>
<BR>
&gt; I&#8217;m sure<BR>
&gt; that the Drupal community will find a solution if there are valuable O=
Auth<BR>
&gt; 2.0 resources they want to access.<BR>
<BR>
That's close to impossible. Do you really expect them to change the<BR>
fundamental architecture of Drupal just to support OAuth? And the main<BR>
reason for that architecture is how PHP works and what is available<BR>
with shared hosting, so I guess many other similar frameworks will<BR>
work like this.<BR>
<BR>
<BR>
&gt; However, I don&#8217;t have an objection to a prefix for callback para=
meters since<BR>
&gt; those are not purely protocol endpoints but client endpoints with pote=
ntial<BR>
&gt; existing semantics. We already have oauth_token for accessing a protec=
ted<BR>
&gt; resource using query parameters (for the same reason).<BR>
&gt;<BR>
&gt; But this argument does not extent to the authorization endpoint.<BR>
<BR>
Please read above, it does.<BR>
<BR>
<BR>
Marius<BR>
<BR>
&gt;<BR>
&gt; EHL<BR>
&gt;<BR>
&gt;<BR>
&gt; On 4/15/10 9:10 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurt=
escu@google.com">mscurtescu@google.com</a>&gt; wrote:<BR>
&gt;<BR>
&gt; On Thu, Apr 15, 2010 at 6:39 PM, Evan Gilbert &lt;<a href=3D"uidude@go=
ogle.com">uidude@google.com</a>&gt; wrote:<BR>
&gt;&gt;<BR>
&gt;&gt; On Thu, Apr 15, 2010 at 6:31 PM, Marius Scurtescu &lt;<a href=3D"m=
scurtescu@google.com">mscurtescu@google.com</a>&gt;<BR>
&gt;&gt; wrote:<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; OK, here is a concrete example:<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; A Drupal (popular PHP based CMS) based web site wants to becom=
e an<BR>
&gt;&gt;&gt; OAuth 2 client. Among other things it needs to implement a cal=
lback<BR>
&gt;&gt;&gt; endpoint.<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; Ideally this endpoint would look something like:<BR>
&gt;&gt;&gt; <a href=3D"http://example.com/oauth/back">http://example.com/o=
auth/back</a><BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; Depending on what web server is used and how it is configured,=
 the<BR>
&gt;&gt;&gt; above URL may not be possible. Drupal is dispatching all reque=
sts<BR>
&gt;&gt;&gt; through the main script and the path of the endpoint is passed=
 as a<BR>
&gt;&gt;&gt; query parameter. Normally the above URL is seen as:<BR>
&gt;&gt;&gt; <a href=3D"http://example.com/index.php?q=3Doauth/back">http:/=
/example.com/index.php?q=3Doauth/back</a><BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; The cleaner <a href=3D"http://example.com/oauth/back">http://e=
xample.com/oauth/back</a> is achieved with Apache URl<BR>
&gt;&gt;&gt; rewriting, but if Apache is not available or configured to sup=
port<BR>
&gt;&gt;&gt; that, you are stuck with the ugly query parameters.<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; In the unlucky case the registered callback, and the actual ca=
llback<BR>
&gt;&gt;&gt; used in messages, is &quot;<a href=3D"http://example.com/index=
.php?q=3Doauth/back">http://example.com/index.php?q=3Doauth/back</a>&quot;.=
 This<BR>
&gt;&gt;&gt; callback has a query parameter, it is not used for state, and =
it is<BR>
&gt;&gt;&gt; not an extension.<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; It so happens that &quot;q&quot; will not conflict with any of=
 the existing<BR>
&gt;&gt;&gt; OAuth 2 parameters, but you can see the potential issue.<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; Now, even if Apache is available and URL rewrites work, so the=
 nice<BR>
&gt;&gt;&gt; callback is used, a collision would still happen if &quot;q&qu=
ot; was used by<BR>
&gt;&gt;&gt; OAuth 2. Apache rewrites &quot;/oauth/back&quot;, but the Drup=
al dispatcher<BR>
&gt;&gt;&gt; always sees &quot;/index.php?q=3Doauth/back&quot;, so another =
q parameter would<BR>
&gt;&gt;&gt; break things.<BR>
&gt;&gt;<BR>
&gt;&gt; We should ask Drupal to change their query parameter to drupal_q.<=
BR>
&gt;<BR>
&gt; And every single framework that does dispatching based on query parame=
ters<BR>
&gt; :-)<BR>
&gt;<BR>
&gt;<BR>
&gt;&gt;&gt; I do realize that a prefix will not solve ALL collisions and i=
t is<BR>
&gt;&gt;&gt; also not solving the extension question, but I still think mak=
es a big<BR>
&gt;&gt;&gt; difference.<BR>
&gt;&gt;<BR>
&gt;&gt; This use case makes sense, but do we know of any existing conflict=
s?<BR>
&gt;&gt; Very few web servers have this restrictive a URL parameter policy =
- I<BR>
&gt;&gt; think<BR>
&gt;&gt; I'm OK losing compatibility with future web servers that reserve t=
he<BR>
&gt;&gt; &quot;callback&quot; parameter for other purposes.<BR>
&gt;<BR>
&gt; My guess is that most PHP frameworks will have a similar problem, they=
<BR>
&gt; will require query parameters. =A0This is not a web server issue, but =
a<BR>
&gt; framework issue.<BR>
&gt;<BR>
&gt; Not only &quot;callback&quot; can cause a collision, but every single =
OAuth 2<BR>
&gt; parameter.<BR>
&gt;<BR>
&gt;<BR>
&gt; Marius<BR>
&gt;<BR>
&gt;<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7EE58053244Eeranhueniversecom_--

From lshepard@facebook.com  Fri Apr 16 18:24:50 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1A2603A6AB4 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 18:24:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.029
X-Spam-Level: 
X-Spam-Status: No, score=-3.029 tagged_above=-999 required=5 tests=[AWL=0.235,  BAYES_00=-2.599, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OLZ247X-kmgm for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 18:24:43 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id ED7433A679F for <oauth@ietf.org>; Fri, 16 Apr 2010 18:24:42 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.198]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3H1NmMV002396 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Fri, 16 Apr 2010 18:23:50 -0700
Received: from sc-hub01.TheFacebook.com (192.168.18.104) by sc-hub03.TheFacebook.com (192.168.18.198) with Microsoft SMTP Server (TLS) id 14.0.689.0; Fri, 16 Apr 2010 18:23:46 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub01.TheFacebook.com ([192.168.18.104]) with mapi; Fri, 16 Apr 2010 18:23:39 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, Marius Scurtescu <mscurtescu@google.com>
Date: Fri, 16 Apr 2010 18:23:24 -0700
Thread-Topic: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
Thread-Index: AcrdyS+3hKTRgrRWQkeLVi68gaujQAAAT9bUAAB63/A=
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66DD94@SC-MBXC1.TheFacebook.com>
References: <s2m74caaad21004161758scdd1ab27t486ef22b8f12911d@mail.gmail.com> <C7EE5805.3244E%eran@hueniverse.com>
In-Reply-To: <C7EE5805.3244E%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_2513A610118CC14C8E622C376C8DEC93D54D66DD94SCMBXC1TheFac_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-16_07:2010-02-06, 2010-04-16, 2010-04-16 signatures=0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 01:24:50 -0000

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DD94SCMBXC1TheFac_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

So, I originally favored the prefix, as I couldn't see how you would not do=
 it.

But I've recently implemented OAuth prototype and written some apps against=
 it, and I have to say, I like not having the prefix. Most developers don't=
 care that they are using OAuth - they just want to talk to a service. The =
prefix sort of beats them over the head with it, without much benefit. It's=
 one less thing to scare new developers.

So, I'm in favor of no prefix.

From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
ran Hammer-Lahav
Sent: Friday, April 16, 2010 6:08 PM
To: Marius Scurtescu
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension p=
olicy

We are going in circles. We are just not going to agree on this.

I don't think we should have a parameter prefix for OAuth-specific calls, y=
ou think we should. Time to let other people express their view on this. I'=
m sure both of us can live with both options.

EHL


On 4/16/10 5:58 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
On Fri, Apr 16, 2010 at 7:34 AM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:
> First, this argument only holds for callbacks, not for the authorization
> endpoint.

And why is that? This argument applies exactly the same way to the
authorization endpoint. The same Drupal site can also be an OAuth 2.0
Authorization Server.

Basically any framework which does dispatching of requests based on
query parameters will require that endpoints (or callbacks) have query
parameters.


> Since this problem is easily solved with a simple web server
> configuration, I don't think it is as bad as you make it sound.

Please read my example again. This *cannot* be solved with any kind of
web server configuration. Ideal server configuration will make it
appear that no query parameters are used, but behind the scene they
are. Query parameters are needed on all endpoints, visible or not.


> I'm sure
> that the Drupal community will find a solution if there are valuable OAut=
h
> 2.0 resources they want to access.

That's close to impossible. Do you really expect them to change the
fundamental architecture of Drupal just to support OAuth? And the main
reason for that architecture is how PHP works and what is available
with shared hosting, so I guess many other similar frameworks will
work like this.


> However, I don't have an objection to a prefix for callback parameters si=
nce
> those are not purely protocol endpoints but client endpoints with potenti=
al
> existing semantics. We already have oauth_token for accessing a protected
> resource using query parameters (for the same reason).
>
> But this argument does not extent to the authorization endpoint.

Please read above, it does.


Marius

>
> EHL
>
>
> On 4/15/10 9:10 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
> On Thu, Apr 15, 2010 at 6:39 PM, Evan Gilbert <uidude@google.com> wrote:
>>
>> On Thu, Apr 15, 2010 at 6:31 PM, Marius Scurtescu <mscurtescu@google.com=
>
>> wrote:
>>>
>>> OK, here is a concrete example:
>>>
>>> A Drupal (popular PHP based CMS) based web site wants to become an
>>> OAuth 2 client. Among other things it needs to implement a callback
>>> endpoint.
>>>
>>> Ideally this endpoint would look something like:
>>> http://example.com/oauth/back
>>>
>>> Depending on what web server is used and how it is configured, the
>>> above URL may not be possible. Drupal is dispatching all requests
>>> through the main script and the path of the endpoint is passed as a
>>> query parameter. Normally the above URL is seen as:
>>> http://example.com/index.php?q=3Doauth/back
>>>
>>> The cleaner http://example.com/oauth/back is achieved with Apache URl
>>> rewriting, but if Apache is not available or configured to support
>>> that, you are stuck with the ugly query parameters.
>>>
>>> In the unlucky case the registered callback, and the actual callback
>>> used in messages, is "http://example.com/index.php?q=3Doauth/back". Thi=
s
>>> callback has a query parameter, it is not used for state, and it is
>>> not an extension.
>>>
>>> It so happens that "q" will not conflict with any of the existing
>>> OAuth 2 parameters, but you can see the potential issue.
>>>
>>> Now, even if Apache is available and URL rewrites work, so the nice
>>> callback is used, a collision would still happen if "q" was used by
>>> OAuth 2. Apache rewrites "/oauth/back", but the Drupal dispatcher
>>> always sees "/index.php?q=3Doauth/back", so another q parameter would
>>> break things.
>>
>> We should ask Drupal to change their query parameter to drupal_q.
>
> And every single framework that does dispatching based on query parameter=
s
> :-)
>
>
>>> I do realize that a prefix will not solve ALL collisions and it is
>>> also not solving the extension question, but I still think makes a big
>>> difference.
>>
>> This use case makes sense, but do we know of any existing conflicts?
>> Very few web servers have this restrictive a URL parameter policy - I
>> think
>> I'm OK losing compatibility with future web servers that reserve the
>> "callback" parameter for other purposes.
>
> My guess is that most PHP frameworks will have a similar problem, they
> will require query parameters.  This is not a web server issue, but a
> framework issue.
>
> Not only "callback" can cause a collision, but every single OAuth 2
> parameter.
>
>
> Marius
>
>

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DD94SCMBXC1TheFac_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<title>Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension
&nbsp;policy</title>
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>So, I originally favored the prefix, as I couldn&#8217;t see=
 how you
would not do it.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>But I&#8217;ve recently implemented OAuth prototype and writ=
ten some
apps against it, and I have to say, I like not having the prefix. Most
developers don&#8217;t care that they are using OAuth &#8211; they just wan=
t to talk to a
service. The prefix sort of beats them over the head with it, without much
benefit. It&#8217;s one less thing to scare new developers.<o:p></o:p></spa=
n></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>So, I&#8217;m in favor of no prefix. <o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div>

<div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in'>

<p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma=
","sans-serif"'>From:</span></b><span
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] <b>On Behalf Of </b>=
Eran
Hammer-Lahav<br>
<b>Sent:</b> Friday, April 16, 2010 6:08 PM<br>
<b>To:</b> Marius Scurtescu<br>
<b>Cc:</b> OAuth WG<br>
<b>Subject:</b> Re: [OAUTH-WG] Issue: Authorization endpoint parameter exte=
nsion
policy<o:p></o:p></span></p>

</div>

</div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><span style=3D'font-siz=
e:11.0pt;
font-family:"Calibri","sans-serif"'>We are going in circles. We are just no=
t
going to agree on this.<br>
<br>
I don&#8217;t think we should have a parameter prefix for OAuth-specific ca=
lls, you
think we should. Time to let other people express their view on this. I&#82=
17;m sure
both of us can live with both options.<br>
<br>
EHL<br>
<br>
<br>
On 4/16/10 5:58 PM, &quot;Marius Scurtescu&quot; &lt;<a
href=3D"mscurtescu@google.com">mscurtescu@google.com</a>&gt; wrote:</span><=
o:p></o:p></p>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><span style=3D'font-siz=
e:11.0pt;
font-family:"Calibri","sans-serif"'>On Fri, Apr 16, 2010 at 7:34 AM, Eran
Hammer-Lahav &lt;<a href=3D"eran@hueniverse.com">eran@hueniverse.com</a>&gt=
;
wrote:<br>
&gt; First, this argument only holds for callbacks, not for the authorizati=
on<br>
&gt; endpoint.<br>
<br>
And why is that? This argument applies exactly the same way to the<br>
authorization endpoint. The same Drupal site can also be an OAuth 2.0<br>
Authorization Server.<br>
<br>
Basically any framework which does dispatching of requests based on<br>
query parameters will require that endpoints (or callbacks) have query<br>
parameters.<br>
<br>
<br>
&gt; Since this problem is easily solved with a simple web server<br>
&gt; configuration, I don&#8217;t think it is as bad as you make it sound.<=
br>
<br>
Please read my example again. This *cannot* be solved with any kind of<br>
web server configuration. Ideal server configuration will make it<br>
appear that no query parameters are used, but behind the scene they<br>
are. Query parameters are needed on all endpoints, visible or not.<br>
<br>
<br>
&gt; I&#8217;m sure<br>
&gt; that the Drupal community will find a solution if there are valuable O=
Auth<br>
&gt; 2.0 resources they want to access.<br>
<br>
That's close to impossible. Do you really expect them to change the<br>
fundamental architecture of Drupal just to support OAuth? And the main<br>
reason for that architecture is how PHP works and what is available<br>
with shared hosting, so I guess many other similar frameworks will<br>
work like this.<br>
<br>
<br>
&gt; However, I don&#8217;t have an objection to a prefix for callback para=
meters
since<br>
&gt; those are not purely protocol endpoints but client endpoints with
potential<br>
&gt; existing semantics. We already have oauth_token for accessing a protec=
ted<br>
&gt; resource using query parameters (for the same reason).<br>
&gt;<br>
&gt; But this argument does not extent to the authorization endpoint.<br>
<br>
Please read above, it does.<br>
<br>
<br>
Marius<br>
<br>
&gt;<br>
&gt; EHL<br>
&gt;<br>
&gt;<br>
&gt; On 4/15/10 9:10 PM, &quot;Marius Scurtescu&quot; &lt;<a
href=3D"mscurtescu@google.com">mscurtescu@google.com</a>&gt; wrote:<br>
&gt;<br>
&gt; On Thu, Apr 15, 2010 at 6:39 PM, Evan Gilbert &lt;<a
href=3D"uidude@google.com">uidude@google.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; On Thu, Apr 15, 2010 at 6:31 PM, Marius Scurtescu &lt;<a
href=3D"mscurtescu@google.com">mscurtescu@google.com</a>&gt;<br>
&gt;&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; OK, here is a concrete example:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; A Drupal (popular PHP based CMS) based web site wants to becom=
e an<br>
&gt;&gt;&gt; OAuth 2 client. Among other things it needs to implement a
callback<br>
&gt;&gt;&gt; endpoint.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Ideally this endpoint would look something like:<br>
&gt;&gt;&gt; <a href=3D"http://example.com/oauth/back">http://example.com/o=
auth/back</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Depending on what web server is used and how it is configured,=
 the<br>
&gt;&gt;&gt; above URL may not be possible. Drupal is dispatching all reque=
sts<br>
&gt;&gt;&gt; through the main script and the path of the endpoint is passed=
 as
a<br>
&gt;&gt;&gt; query parameter. Normally the above URL is seen as:<br>
&gt;&gt;&gt; <a href=3D"http://example.com/index.php?q=3Doauth/back">http:/=
/example.com/index.php?q=3Doauth/back</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The cleaner <a href=3D"http://example.com/oauth/back">http://e=
xample.com/oauth/back</a>
is achieved with Apache URl<br>
&gt;&gt;&gt; rewriting, but if Apache is not available or configured to sup=
port<br>
&gt;&gt;&gt; that, you are stuck with the ugly query parameters.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; In the unlucky case the registered callback, and the actual
callback<br>
&gt;&gt;&gt; used in messages, is &quot;<a
href=3D"http://example.com/index.php?q=3Doauth/back">http://example.com/ind=
ex.php?q=3Doauth/back</a>&quot;.
This<br>
&gt;&gt;&gt; callback has a query parameter, it is not used for state, and =
it
is<br>
&gt;&gt;&gt; not an extension.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; It so happens that &quot;q&quot; will not conflict with any of=
 the
existing<br>
&gt;&gt;&gt; OAuth 2 parameters, but you can see the potential issue.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Now, even if Apache is available and URL rewrites work, so the
nice<br>
&gt;&gt;&gt; callback is used, a collision would still happen if &quot;q&qu=
ot;
was used by<br>
&gt;&gt;&gt; OAuth 2. Apache rewrites &quot;/oauth/back&quot;, but the Drup=
al
dispatcher<br>
&gt;&gt;&gt; always sees &quot;/index.php?q=3Doauth/back&quot;, so another =
q
parameter would<br>
&gt;&gt;&gt; break things.<br>
&gt;&gt;<br>
&gt;&gt; We should ask Drupal to change their query parameter to drupal_q.<=
br>
&gt;<br>
&gt; And every single framework that does dispatching based on query parame=
ters<br>
&gt; :-)<br>
&gt;<br>
&gt;<br>
&gt;&gt;&gt; I do realize that a prefix will not solve ALL collisions and i=
t is<br>
&gt;&gt;&gt; also not solving the extension question, but I still think mak=
es a
big<br>
&gt;&gt;&gt; difference.<br>
&gt;&gt;<br>
&gt;&gt; This use case makes sense, but do we know of any existing conflict=
s?<br>
&gt;&gt; Very few web servers have this restrictive a URL parameter policy =
- I<br>
&gt;&gt; think<br>
&gt;&gt; I'm OK losing compatibility with future web servers that reserve t=
he<br>
&gt;&gt; &quot;callback&quot; parameter for other purposes.<br>
&gt;<br>
&gt; My guess is that most PHP frameworks will have a similar problem, they=
<br>
&gt; will require query parameters. &nbsp;This is not a web server issue, b=
ut a<br>
&gt; framework issue.<br>
&gt;<br>
&gt; Not only &quot;callback&quot; can cause a collision, but every single
OAuth 2<br>
&gt; parameter.<br>
&gt;<br>
&gt;<br>
&gt; Marius<br>
&gt;<br>
&gt;</span><o:p></o:p></p>

</div>

</body>

</html>

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DD94SCMBXC1TheFac_--

From lshepard@facebook.com  Fri Apr 16 18:26:28 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8641B3A6800 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 18:26:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.04
X-Spam-Level: 
X-Spam-Status: No, score=-3.04 tagged_above=-999 required=5 tests=[AWL=0.224,  BAYES_00=-2.599, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id S81aNLDPZnT7 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 18:26:21 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id DFB063A6A3F for <oauth@ietf.org>; Fri, 16 Apr 2010 18:26:20 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.198]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3H1PXYC004476 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Fri, 16 Apr 2010 18:25:35 -0700
Received: from sc-hub02.TheFacebook.com (192.168.18.105) by sc-hub03.TheFacebook.com (192.168.18.198) with Microsoft SMTP Server (TLS) id 14.0.689.0; Fri, 16 Apr 2010 18:24:28 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub02.TheFacebook.com ([192.168.18.105]) with mapi; Fri, 16 Apr 2010 18:24:27 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Luke Shepard <lshepard@facebook.com>, Eran Hammer-Lahav <eran@hueniverse.com>, Marius Scurtescu <mscurtescu@google.com>
Date: Fri, 16 Apr 2010 18:24:19 -0700
Thread-Topic: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
Thread-Index: AcrdyS+3hKTRgrRWQkeLVi68gaujQAAAT9bUAAB63/AAABKM4A==
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66DD95@SC-MBXC1.TheFacebook.com>
References: <s2m74caaad21004161758scdd1ab27t486ef22b8f12911d@mail.gmail.com> <C7EE5805.3244E%eran@hueniverse.com> 
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_2513A610118CC14C8E622C376C8DEC93D54D66DD95SCMBXC1TheFac_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-16_07:2010-02-06, 2010-04-16, 2010-04-16 signatures=0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 01:26:28 -0000

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DD95SCMBXC1TheFac_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Oh, and fwiw, we dropped the prefix EVERYWHERE. So even the protected resou=
rce just takes "access_token", not "oauth_access_token", for consistency.

From: Luke Shepard
Sent: Friday, April 16, 2010 6:23 PM
To: 'Eran Hammer-Lahav'; Marius Scurtescu
Cc: OAuth WG
Subject: RE: [OAUTH-WG] Issue: Authorization endpoint parameter extension p=
olicy

So, I originally favored the prefix, as I couldn't see how you would not do=
 it.

But I've recently implemented OAuth prototype and written some apps against=
 it, and I have to say, I like not having the prefix. Most developers don't=
 care that they are using OAuth - they just want to talk to a service. The =
prefix sort of beats them over the head with it, without much benefit. It's=
 one less thing to scare new developers.

So, I'm in favor of no prefix.

From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
ran Hammer-Lahav
Sent: Friday, April 16, 2010 6:08 PM
To: Marius Scurtescu
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension p=
olicy

We are going in circles. We are just not going to agree on this.

I don't think we should have a parameter prefix for OAuth-specific calls, y=
ou think we should. Time to let other people express their view on this. I'=
m sure both of us can live with both options.

EHL


On 4/16/10 5:58 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
On Fri, Apr 16, 2010 at 7:34 AM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:
> First, this argument only holds for callbacks, not for the authorization
> endpoint.

And why is that? This argument applies exactly the same way to the
authorization endpoint. The same Drupal site can also be an OAuth 2.0
Authorization Server.

Basically any framework which does dispatching of requests based on
query parameters will require that endpoints (or callbacks) have query
parameters.


> Since this problem is easily solved with a simple web server
> configuration, I don't think it is as bad as you make it sound.

Please read my example again. This *cannot* be solved with any kind of
web server configuration. Ideal server configuration will make it
appear that no query parameters are used, but behind the scene they
are. Query parameters are needed on all endpoints, visible or not.


> I'm sure
> that the Drupal community will find a solution if there are valuable OAut=
h
> 2.0 resources they want to access.

That's close to impossible. Do you really expect them to change the
fundamental architecture of Drupal just to support OAuth? And the main
reason for that architecture is how PHP works and what is available
with shared hosting, so I guess many other similar frameworks will
work like this.


> However, I don't have an objection to a prefix for callback parameters si=
nce
> those are not purely protocol endpoints but client endpoints with potenti=
al
> existing semantics. We already have oauth_token for accessing a protected
> resource using query parameters (for the same reason).
>
> But this argument does not extent to the authorization endpoint.

Please read above, it does.


Marius

>
> EHL
>
>
> On 4/15/10 9:10 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
> On Thu, Apr 15, 2010 at 6:39 PM, Evan Gilbert <uidude@google.com> wrote:
>>
>> On Thu, Apr 15, 2010 at 6:31 PM, Marius Scurtescu <mscurtescu@google.com=
>
>> wrote:
>>>
>>> OK, here is a concrete example:
>>>
>>> A Drupal (popular PHP based CMS) based web site wants to become an
>>> OAuth 2 client. Among other things it needs to implement a callback
>>> endpoint.
>>>
>>> Ideally this endpoint would look something like:
>>> http://example.com/oauth/back
>>>
>>> Depending on what web server is used and how it is configured, the
>>> above URL may not be possible. Drupal is dispatching all requests
>>> through the main script and the path of the endpoint is passed as a
>>> query parameter. Normally the above URL is seen as:
>>> http://example.com/index.php?q=3Doauth/back
>>>
>>> The cleaner http://example.com/oauth/back is achieved with Apache URl
>>> rewriting, but if Apache is not available or configured to support
>>> that, you are stuck with the ugly query parameters.
>>>
>>> In the unlucky case the registered callback, and the actual callback
>>> used in messages, is "http://example.com/index.php?q=3Doauth/back". Thi=
s
>>> callback has a query parameter, it is not used for state, and it is
>>> not an extension.
>>>
>>> It so happens that "q" will not conflict with any of the existing
>>> OAuth 2 parameters, but you can see the potential issue.
>>>
>>> Now, even if Apache is available and URL rewrites work, so the nice
>>> callback is used, a collision would still happen if "q" was used by
>>> OAuth 2. Apache rewrites "/oauth/back", but the Drupal dispatcher
>>> always sees "/index.php?q=3Doauth/back", so another q parameter would
>>> break things.
>>
>> We should ask Drupal to change their query parameter to drupal_q.
>
> And every single framework that does dispatching based on query parameter=
s
> :-)
>
>
>>> I do realize that a prefix will not solve ALL collisions and it is
>>> also not solving the extension question, but I still think makes a big
>>> difference.
>>
>> This use case makes sense, but do we know of any existing conflicts?
>> Very few web servers have this restrictive a URL parameter policy - I
>> think
>> I'm OK losing compatibility with future web servers that reserve the
>> "callback" parameter for other purposes.
>
> My guess is that most PHP frameworks will have a similar problem, they
> will require query parameters.  This is not a web server issue, but a
> framework issue.
>
> Not only "callback" can cause a collision, but every single OAuth 2
> parameter.
>
>
> Marius
>
>

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DD95SCMBXC1TheFac_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<title>Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension
&nbsp;policy</title>
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle18
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>Oh, and fwiw, we dropped the prefix EVERYWHERE. So even the
protected resource just takes &#8220;access_token&#8221;, not &#8220;oauth_=
access_token&#8221;, for
consistency.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div>

<div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in'>

<p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma=
","sans-serif"'>From:</span></b><span
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Luke Shepard =
<br>
<b>Sent:</b> Friday, April 16, 2010 6:23 PM<br>
<b>To:</b> 'Eran Hammer-Lahav'; Marius Scurtescu<br>
<b>Cc:</b> OAuth WG<br>
<b>Subject:</b> RE: [OAUTH-WG] Issue: Authorization endpoint parameter
extension policy<o:p></o:p></span></p>

</div>

</div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>So, I originally favored the prefix, as I couldn&#8217;t see=
 how you
would not do it.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>But I&#8217;ve recently implemented OAuth prototype and writ=
ten some
apps against it, and I have to say, I like not having the prefix. Most
developers don&#8217;t care that they are using OAuth &#8211; they just wan=
t to talk to a
service. The prefix sort of beats them over the head with it, without much
benefit. It&#8217;s one less thing to scare new developers.<o:p></o:p></spa=
n></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>So, I&#8217;m in favor of no prefix. <o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div>

<div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in'>

<p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma=
","sans-serif"'>From:</span></b><span
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] <b>On Behalf Of </b>=
Eran
Hammer-Lahav<br>
<b>Sent:</b> Friday, April 16, 2010 6:08 PM<br>
<b>To:</b> Marius Scurtescu<br>
<b>Cc:</b> OAuth WG<br>
<b>Subject:</b> Re: [OAUTH-WG] Issue: Authorization endpoint parameter
extension policy<o:p></o:p></span></p>

</div>

</div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><span style=3D'font-siz=
e:11.0pt;
font-family:"Calibri","sans-serif"'>We are going in circles. We are just no=
t
going to agree on this.<br>
<br>
I don&#8217;t think we should have a parameter prefix for OAuth-specific ca=
lls, you
think we should. Time to let other people express their view on this. I&#82=
17;m sure
both of us can live with both options.<br>
<br>
EHL<br>
<br>
<br>
On 4/16/10 5:58 PM, &quot;Marius Scurtescu&quot; &lt;<a
href=3D"mscurtescu@google.com">mscurtescu@google.com</a>&gt; wrote:</span><=
o:p></o:p></p>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><span style=3D'font-siz=
e:11.0pt;
font-family:"Calibri","sans-serif"'>On Fri, Apr 16, 2010 at 7:34 AM, Eran
Hammer-Lahav &lt;<a href=3D"eran@hueniverse.com">eran@hueniverse.com</a>&gt=
;
wrote:<br>
&gt; First, this argument only holds for callbacks, not for the authorizati=
on<br>
&gt; endpoint.<br>
<br>
And why is that? This argument applies exactly the same way to the<br>
authorization endpoint. The same Drupal site can also be an OAuth 2.0<br>
Authorization Server.<br>
<br>
Basically any framework which does dispatching of requests based on<br>
query parameters will require that endpoints (or callbacks) have query<br>
parameters.<br>
<br>
<br>
&gt; Since this problem is easily solved with a simple web server<br>
&gt; configuration, I don&#8217;t think it is as bad as you make it sound.<=
br>
<br>
Please read my example again. This *cannot* be solved with any kind of<br>
web server configuration. Ideal server configuration will make it<br>
appear that no query parameters are used, but behind the scene they<br>
are. Query parameters are needed on all endpoints, visible or not.<br>
<br>
<br>
&gt; I&#8217;m sure<br>
&gt; that the Drupal community will find a solution if there are valuable O=
Auth<br>
&gt; 2.0 resources they want to access.<br>
<br>
That's close to impossible. Do you really expect them to change the<br>
fundamental architecture of Drupal just to support OAuth? And the main<br>
reason for that architecture is how PHP works and what is available<br>
with shared hosting, so I guess many other similar frameworks will<br>
work like this.<br>
<br>
<br>
&gt; However, I don&#8217;t have an objection to a prefix for callback para=
meters
since<br>
&gt; those are not purely protocol endpoints but client endpoints with
potential<br>
&gt; existing semantics. We already have oauth_token for accessing a protec=
ted<br>
&gt; resource using query parameters (for the same reason).<br>
&gt;<br>
&gt; But this argument does not extent to the authorization endpoint.<br>
<br>
Please read above, it does.<br>
<br>
<br>
Marius<br>
<br>
&gt;<br>
&gt; EHL<br>
&gt;<br>
&gt;<br>
&gt; On 4/15/10 9:10 PM, &quot;Marius Scurtescu&quot; &lt;<a
href=3D"mscurtescu@google.com">mscurtescu@google.com</a>&gt; wrote:<br>
&gt;<br>
&gt; On Thu, Apr 15, 2010 at 6:39 PM, Evan Gilbert &lt;<a
href=3D"uidude@google.com">uidude@google.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; On Thu, Apr 15, 2010 at 6:31 PM, Marius Scurtescu &lt;<a
href=3D"mscurtescu@google.com">mscurtescu@google.com</a>&gt;<br>
&gt;&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; OK, here is a concrete example:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; A Drupal (popular PHP based CMS) based web site wants to becom=
e an<br>
&gt;&gt;&gt; OAuth 2 client. Among other things it needs to implement a
callback<br>
&gt;&gt;&gt; endpoint.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Ideally this endpoint would look something like:<br>
&gt;&gt;&gt; <a href=3D"http://example.com/oauth/back">http://example.com/o=
auth/back</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Depending on what web server is used and how it is configured,=
 the<br>
&gt;&gt;&gt; above URL may not be possible. Drupal is dispatching all reque=
sts<br>
&gt;&gt;&gt; through the main script and the path of the endpoint is passed=
 as
a<br>
&gt;&gt;&gt; query parameter. Normally the above URL is seen as:<br>
&gt;&gt;&gt; <a href=3D"http://example.com/index.php?q=3Doauth/back">http:/=
/example.com/index.php?q=3Doauth/back</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The cleaner <a href=3D"http://example.com/oauth/back">http://e=
xample.com/oauth/back</a>
is achieved with Apache URl<br>
&gt;&gt;&gt; rewriting, but if Apache is not available or configured to sup=
port<br>
&gt;&gt;&gt; that, you are stuck with the ugly query parameters.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; In the unlucky case the registered callback, and the actual ca=
llback<br>
&gt;&gt;&gt; used in messages, is &quot;<a
href=3D"http://example.com/index.php?q=3Doauth/back">http://example.com/ind=
ex.php?q=3Doauth/back</a>&quot;.
This<br>
&gt;&gt;&gt; callback has a query parameter, it is not used for state, and =
it
is<br>
&gt;&gt;&gt; not an extension.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; It so happens that &quot;q&quot; will not conflict with any of=
 the
existing<br>
&gt;&gt;&gt; OAuth 2 parameters, but you can see the potential issue.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Now, even if Apache is available and URL rewrites work, so the
nice<br>
&gt;&gt;&gt; callback is used, a collision would still happen if &quot;q&qu=
ot;
was used by<br>
&gt;&gt;&gt; OAuth 2. Apache rewrites &quot;/oauth/back&quot;, but the Drup=
al
dispatcher<br>
&gt;&gt;&gt; always sees &quot;/index.php?q=3Doauth/back&quot;, so another =
q
parameter would<br>
&gt;&gt;&gt; break things.<br>
&gt;&gt;<br>
&gt;&gt; We should ask Drupal to change their query parameter to drupal_q.<=
br>
&gt;<br>
&gt; And every single framework that does dispatching based on query parame=
ters<br>
&gt; :-)<br>
&gt;<br>
&gt;<br>
&gt;&gt;&gt; I do realize that a prefix will not solve ALL collisions and i=
t is<br>
&gt;&gt;&gt; also not solving the extension question, but I still think mak=
es a
big<br>
&gt;&gt;&gt; difference.<br>
&gt;&gt;<br>
&gt;&gt; This use case makes sense, but do we know of any existing conflict=
s?<br>
&gt;&gt; Very few web servers have this restrictive a URL parameter policy =
- I<br>
&gt;&gt; think<br>
&gt;&gt; I'm OK losing compatibility with future web servers that reserve t=
he<br>
&gt;&gt; &quot;callback&quot; parameter for other purposes.<br>
&gt;<br>
&gt; My guess is that most PHP frameworks will have a similar problem, they=
<br>
&gt; will require query parameters. &nbsp;This is not a web server issue, b=
ut a<br>
&gt; framework issue.<br>
&gt;<br>
&gt; Not only &quot;callback&quot; can cause a collision, but every single
OAuth 2<br>
&gt; parameter.<br>
&gt;<br>
&gt;<br>
&gt; Marius<br>
&gt;<br>
&gt;</span><o:p></o:p></p>

</div>

</body>

</html>

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DD95SCMBXC1TheFac_--

From James.H.Manger@team.telstra.com  Fri Apr 16 19:03:02 2010
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id F24803A6A2D for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 19:03:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.189
X-Spam-Level: 
X-Spam-Status: No, score=-0.189 tagged_above=-999 required=5 tests=[AWL=0.712,  BAYES_00=-2.599, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tIoD7TFycSXZ for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 19:03:01 -0700 (PDT)
Received: from ipxcno.tcif.telstra.com.au (ipxcno.tcif.telstra.com.au [203.35.82.208]) by core3.amsl.com (Postfix) with ESMTP id EFBEA3A6986 for <oauth@ietf.org>; Fri, 16 Apr 2010 19:02:59 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.52,223,1270389600";  d="scan'208";a="1095115"
Received: from unknown (HELO ipcani.tcif.telstra.com.au) ([10.97.216.200]) by ipocni.tcif.telstra.com.au with ESMTP; 17 Apr 2010 12:02:50 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,5953"; a="1124594"
Received: from wsmsg3705.srv.dir.telstra.com ([172.49.40.203]) by ipcani.tcif.telstra.com.au with ESMTP; 17 Apr 2010 12:02:50 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by WSMSG3705.srv.dir.telstra.com ([172.49.40.203]) with mapi; Sat, 17 Apr 2010 12:02:50 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: Luke Shepard <lshepard@facebook.com>, John Kemp <john@jkemp.net>
Date: Sat, 17 Apr 2010 12:02:45 +1000
Thread-Topic: [OAUTH-WG] Issue: Split the authorization endpoint into	two endpoints
Thread-Index: AcrdCitsLp+WWglvQMKPMWBhihZtKQAezmZQABLw0xA=
Message-ID: <255B9BB34FB7D647A506DC292726F6E11257592315@WSMSG3153V.srv.dir.telstra.com>
References: <C7ECABE0.32344%eran@hueniverse.com> <255B9BB34FB7D647A506DC292726F6E11257481003@WSMSG3153V.srv.dir.telstra.com> <9E18821D-E128-468A-9778-9D9D049B716F@jkemp.net> <2513A610118CC14C8E622C376C8DEC93D54D66DCF7@SC-MBXC1.TheFacebook.com>
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DCF7@SC-MBXC1.TheFacebook.com>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-AU
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Split the authorization endpoint into	two	endpoints
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 02:03:02 -0000

Pj4gSW4gZWl0aGVyIGNhc2UsIHdlIHNob3VsZCBub3QgcmVzdHJpY3QgdGhlIGFjY2VzcyB0b2tl
biBVUkwgdG8gUE9TVC1vbmx5Lg0KPj4gQSBHRVQgcmVxdWVzdCBpcyBqdXN0IGFzIHNlY3VyZSBh
bmQgY2FuIGJlIG11Y2ggZWFzaWVyIHRvIHdyaXRlIGNvZGUgZm9yDQoNCj4gSWYgeW91IGFyZSB1
c2luZyBHRVQsIHRoZW4gcmVmcmVzaCB0b2tlbnMgYW5kIGNsaWVudCBzZWNyZXRzIHdpbGwgZW5k
DQo+IHVwIHNpZGUgYnkgc2lkZSBpbiB3ZWIgc2VydmVyIGxvZyBmaWxlcy4NCg0KVGhlc2UgYXJl
IGV4YWN0bHkgdGhlIHNvcnQgb2YgcmVhc29ucyB3aHkgY2xpZW50IGF1dGhlbnRpY2F0aW9uIHNo
b3VsZCBiZSBhbnkgIm5vcm1hbCIgYXV0aCBzY2hlbWUsIGFuZCBub3QgYW4gT0F1dGgtc3BlY2lh
bCBjbGllbnRfc2VjcmV0IFBPU1QgcGFyYW1ldGVyLiBUaGF0IGZhaWxzIGZvciBQVVQsIERFTEVU
RSwgYW5kIFBPU1Qgd2l0aCBhIG5vbi1mb3JtIGJvZHk7IGFuZCB0aGUgc2VjdXJpdHkgY2hhbmdl
cyB3aXRoIEdFVC4NCg0KLS0NCkphbWVzIE1hbmdlcg0KDQo=

From James.H.Manger@team.telstra.com  Fri Apr 16 19:10:13 2010
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 501383A69B3 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 19:10:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.056
X-Spam-Level: *
X-Spam-Status: No, score=1.056 tagged_above=-999 required=5 tests=[AWL=-0.643,  BAYES_50=0.001, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 22ro8eOQfFvo for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 19:10:12 -0700 (PDT)
Received: from ipxcno.tcif.telstra.com.au (ipxcno.tcif.telstra.com.au [203.35.82.208]) by core3.amsl.com (Postfix) with ESMTP id 55AC23A6982 for <oauth@ietf.org>; Fri, 16 Apr 2010 19:09:57 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.52,223,1270389600";  d="scan'208";a="1095186"
Received: from unknown (HELO ipcbni.tcif.telstra.com.au) ([10.97.216.204]) by ipocni.tcif.telstra.com.au with ESMTP; 17 Apr 2010 12:09:49 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,5953"; a="835136"
Received: from wsmsg3706.srv.dir.telstra.com ([172.49.40.80]) by ipcbni.tcif.telstra.com.au with ESMTP; 17 Apr 2010 12:09:49 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by wsmsg3706.srv.dir.telstra.com ([172.49.40.80]) with mapi; Sat, 17 Apr 2010 12:09:49 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: Marius Scurtescu <mscurtescu@google.com>, OAuth WG <oauth@ietf.org>
Date: Sat, 17 Apr 2010 12:09:44 +1000
Thread-Topic: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy: {templates}
Thread-Index: Acrdk1X9ZJzrADUCSWej5LHt64ypMQAPwYFA
Message-ID: <255B9BB34FB7D647A506DC292726F6E11257592316@WSMSG3153V.srv.dir.telstra.com>
References: <m2t74caaad21004151236h6df241a2k6b18c788b300cca6@mail.gmail.com> <C7ECBAA3.32376%eran@hueniverse.com> <u2u74caaad21004151831jaf0a29e2ga84c36d4456dc87f@mail.gmail.com> <q2oc8689b661004151839uc165b35aqfe5d1fd48917dc8c@mail.gmail.com> <255B9BB34FB7D647A506DC292726F6E112575922E7@WSMSG3153V.srv.dir.telstra.com> <n2h74caaad21004161133j40f16e64zb07d13b216e51aa8@mail.gmail.com>
In-Reply-To: <n2h74caaad21004161133j40f16e64zb07d13b216e51aa8@mail.gmail.com>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-AU
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy: {templates}
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 02:10:13 -0000

TWFyaXVzDQoNCj4gV2hlbiByZXBsYWNpbmcgdGhlIHBsYWNlaG9sZGVycyB3aXRoIGFjdHVhbCB2
YWx1ZXMsIGhvdyBkbyB5b3Uga25vdw0KPiB3aGF0IGVuY29kaW5nIHNob3VsZCBiZSB1c2VkPyBE
b2VzIFVSTCBlbmNvZGluZyB3b3JrIGluIGFsbCBjYXNlcz8NCg0KJS1lc2NhcGluZyBhbnkgY2hh
cnMgb3V0c2lkZSB0aGUgNjYgPHVucmVzZXJ2ZWQ+IGNoYXJzIHdvcmtzIGluIChhbG1vc3QpIGFs
bCBjYXNlcy4NCg0KVGhlIG9ubHkgZXhjZXB0aW9uIGlzIGlmIHlvdSB3YW50IGEgbm9uLUFTQ0lJ
IHZhbHVlIHN1YnN0aXR1dGVkIGludG8gYSBkb21haW4gbmFtZS4gVGhhdCBuZWVkcyB0byB1c2Ug
cHVueWNvZGUuIE9BdXRoIGNvdWxkIGlnbm9yZSB0aGlzIGNhc2UuIE9yIHNheSBpdCBpcyBhIElS
SSB0ZW1wbGF0ZSwgdGhlbiB1c2Ugc3RhbmRhcmQgSVJJLXRvLVVSSSB0cmFuc2xhdGlvbi4NCg0K
LS0NCkphbWVzIE1hbmdlcg0KDQo=

From eran@hueniverse.com  Fri Apr 16 19:55:41 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DEE873A6919 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 19:55:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.465
X-Spam-Level: 
X-Spam-Status: No, score=-2.465 tagged_above=-999 required=5 tests=[AWL=0.133,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KDk1OcvaKu2d for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 19:55:34 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 9C5D43A688C for <oauth@ietf.org>; Fri, 16 Apr 2010 19:55:33 -0700 (PDT)
Received: (qmail 24002 invoked from network); 17 Apr 2010 02:55:25 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 17 Apr 2010 02:55:25 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Fri, 16 Apr 2010 19:55:25 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Luke Shepard <lshepard@facebook.com>, Marius Scurtescu <mscurtescu@google.com>
Date: Fri, 16 Apr 2010 19:55:22 -0700
Thread-Topic: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
Thread-Index: AcrdyS+3hKTRgrRWQkeLVi68gaujQAAAT9bUAAB63/AAABKM4AADMcV6
Message-ID: <C7EE712A.32457%eran@hueniverse.com>
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DD95@SC-MBXC1.TheFacebook.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7EE712A32457eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 02:55:42 -0000

--_000_C7EE712A32457eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

You should also accept 'oauth_token'. That's one place a prefix makes sense=
 because there is no telling what a protected resource URI might look like.

EHL


On 4/16/10 6:24 PM, "Luke Shepard" <lshepard@facebook.com> wrote:

Oh, and fwiw, we dropped the prefix EVERYWHERE. So even the protected resou=
rce just takes "access_token", not "oauth_access_token", for consistency.


From: Luke Shepard
Sent: Friday, April 16, 2010 6:23 PM
To: 'Eran Hammer-Lahav'; Marius Scurtescu
Cc: OAuth WG
Subject: RE: [OAUTH-WG] Issue: Authorization endpoint parameter extension p=
olicy

So, I originally favored the prefix, as I couldn't see how you would not do=
 it.

But I've recently implemented OAuth prototype and written some apps against=
 it, and I have to say, I like not having the prefix. Most developers don't=
 care that they are using OAuth - they just want to talk to a service. The =
prefix sort of beats them over the head with it, without much benefit. It's=
 one less thing to scare new developers.

So, I'm in favor of no prefix.


From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
ran Hammer-Lahav
Sent: Friday, April 16, 2010 6:08 PM
To: Marius Scurtescu
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension p=
olicy

We are going in circles. We are just not going to agree on this.

I don't think we should have a parameter prefix for OAuth-specific calls, y=
ou think we should. Time to let other people express their view on this. I'=
m sure both of us can live with both options.

EHL


On 4/16/10 5:58 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
On Fri, Apr 16, 2010 at 7:34 AM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:
> First, this argument only holds for callbacks, not for the authorization
> endpoint.

And why is that? This argument applies exactly the same way to the
authorization endpoint. The same Drupal site can also be an OAuth 2.0
Authorization Server.

Basically any framework which does dispatching of requests based on
query parameters will require that endpoints (or callbacks) have query
parameters.


> Since this problem is easily solved with a simple web server
> configuration, I don't think it is as bad as you make it sound.

Please read my example again. This *cannot* be solved with any kind of
web server configuration. Ideal server configuration will make it
appear that no query parameters are used, but behind the scene they
are. Query parameters are needed on all endpoints, visible or not.


> I'm sure
> that the Drupal community will find a solution if there are valuable OAut=
h
> 2.0 resources they want to access.

That's close to impossible. Do you really expect them to change the
fundamental architecture of Drupal just to support OAuth? And the main
reason for that architecture is how PHP works and what is available
with shared hosting, so I guess many other similar frameworks will
work like this.


> However, I don't have an objection to a prefix for callback parameters si=
nce
> those are not purely protocol endpoints but client endpoints with potenti=
al
> existing semantics. We already have oauth_token for accessing a protected
> resource using query parameters (for the same reason).
>
> But this argument does not extent to the authorization endpoint.

Please read above, it does.


Marius

>
> EHL
>
>
> On 4/15/10 9:10 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
> On Thu, Apr 15, 2010 at 6:39 PM, Evan Gilbert <uidude@google.com> wrote:
>>
>> On Thu, Apr 15, 2010 at 6:31 PM, Marius Scurtescu <mscurtescu@google.com=
>
>> wrote:
>>>
>>> OK, here is a concrete example:
>>>
>>> A Drupal (popular PHP based CMS) based web site wants to become an
>>> OAuth 2 client. Among other things it needs to implement a callback
>>> endpoint.
>>>
>>> Ideally this endpoint would look something like:
>>> http://example.com/oauth/back
>>>
>>> Depending on what web server is used and how it is configured, the
>>> above URL may not be possible. Drupal is dispatching all requests
>>> through the main script and the path of the endpoint is passed as a
>>> query parameter. Normally the above URL is seen as:
>>> http://example.com/index.php?q=3Doauth/back
>>>
>>> The cleaner http://example.com/oauth/back is achieved with Apache URl
>>> rewriting, but if Apache is not available or configured to support
>>> that, you are stuck with the ugly query parameters.
>>>
>>> In the unlucky case the registered callback, and the actual callback
>>> used in messages, is "http://example.com/index.php?q=3Doauth/back". Thi=
s
>>> callback has a query parameter, it is not used for state, and it is
>>> not an extension.
>>>
>>> It so happens that "q" will not conflict with any of the existing
>>> OAuth 2 parameters, but you can see the potential issue.
>>>
>>> Now, even if Apache is available and URL rewrites work, so the nice
>>> callback is used, a collision would still happen if "q" was used by
>>> OAuth 2. Apache rewrites "/oauth/back", but the Drupal dispatcher
>>> always sees "/index.php?q=3Doauth/back", so another q parameter would
>>> break things.
>>
>> We should ask Drupal to change their query parameter to drupal_q.
>
> And every single framework that does dispatching based on query parameter=
s
> :-)
>
>
>>> I do realize that a prefix will not solve ALL collisions and it is
>>> also not solving the extension question, but I still think makes a big
>>> difference.
>>
>> This use case makes sense, but do we know of any existing conflicts?
>> Very few web servers have this restrictive a URL parameter policy - I
>> think
>> I'm OK losing compatibility with future web servers that reserve the
>> "callback" parameter for other purposes.
>
> My guess is that most PHP frameworks will have a similar problem, they
> will require query parameters.  This is not a web server issue, but a
> framework issue.
>
> Not only "callback" can cause a collision, but every single OAuth 2
> parameter.
>
>
> Marius
>
>


--_000_C7EE712A32457eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension pol=
icy</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>You should also accept &#8216;oauth_token&#8217;. That&#8217;s one pl=
ace a prefix makes sense because there is no telling what a protected resou=
rce URI might look like.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/16/10 6:24 PM, &quot;Luke Shepard&quot; &lt;<a href=3D"lshepard@facebo=
ok.com">lshepard@facebook.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>Oh, and fwiw, we dropped the prefix EVERYWH=
ERE. So even the protected resource just takes &#8220;access_token&#8221;, =
not &#8220;oauth_access_token&#8221;, for consistency.<BR>
&nbsp;<BR>
<BR>
</SPAN><FONT SIZE=3D"2"><SPAN STYLE=3D'font-size:10pt'><B>From:</B> Luke Sh=
epard <BR>
<B>Sent:</B> Friday, April 16, 2010 6:23 PM<BR>
<B>To:</B> 'Eran Hammer-Lahav'; Marius Scurtescu<BR>
<B>Cc:</B> OAuth WG<BR>
<B>Subject:</B> RE: [OAUTH-WG] Issue: Authorization endpoint parameter exte=
nsion policy<BR>
</SPAN></FONT></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-siz=
e:12pt'> <BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=
=3D'font-size:11pt'>So, I originally favored the prefix, as I couldn&#8217;=
t see how you would not do it.<BR>
&nbsp;<BR>
But I&#8217;ve recently implemented OAuth prototype and written some apps a=
gainst it, and I have to say, I like not having the prefix. Most developers=
 don&#8217;t care that they are using OAuth &#8211; they just want to talk =
to a service. The prefix sort of beats them over the head with it, without =
much benefit. It&#8217;s one less thing to scare new developers.<BR>
&nbsp;<BR>
So, I&#8217;m in favor of no prefix. <BR>
&nbsp;<BR>
<BR>
</SPAN><FONT SIZE=3D"2"><SPAN STYLE=3D'font-size:10pt'><B>From:</B> <a href=
=3D"oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> [<a href=3D"mailto:o=
auth-bounces@ietf.org">mailto:oauth-bounces@ietf.org</a>] <B>On Behalf Of <=
/B>Eran Hammer-Lahav<BR>
<B>Sent:</B> Friday, April 16, 2010 6:08 PM<BR>
<B>To:</B> Marius Scurtescu<BR>
<B>Cc:</B> OAuth WG<BR>
<B>Subject:</B> Re: [OAUTH-WG] Issue: Authorization endpoint parameter exte=
nsion policy<BR>
</SPAN></FONT></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-siz=
e:12pt'> <BR>
</SPAN></FONT><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=
=3D'font-size:11pt'>We are going in circles. We are just not going to agree=
 on this.<BR>
<BR>
I don&#8217;t think we should have a parameter prefix for OAuth-specific ca=
lls, you think we should. Time to let other people express their view on th=
is. I&#8217;m sure both of us can live with both options.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/16/10 5:58 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurtescu@=
google.com">mscurtescu@google.com</a>&gt; wrote:<BR>
On Fri, Apr 16, 2010 at 7:34 AM, Eran Hammer-Lahav &lt;<a href=3D"eran@huen=
iverse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
&gt; First, this argument only holds for callbacks, not for the authorizati=
on<BR>
&gt; endpoint.<BR>
<BR>
And why is that? This argument applies exactly the same way to the<BR>
authorization endpoint. The same Drupal site can also be an OAuth 2.0<BR>
Authorization Server.<BR>
<BR>
Basically any framework which does dispatching of requests based on<BR>
query parameters will require that endpoints (or callbacks) have query<BR>
parameters.<BR>
<BR>
<BR>
&gt; Since this problem is easily solved with a simple web server<BR>
&gt; configuration, I don&#8217;t think it is as bad as you make it sound.<=
BR>
<BR>
Please read my example again. This *cannot* be solved with any kind of<BR>
web server configuration. Ideal server configuration will make it<BR>
appear that no query parameters are used, but behind the scene they<BR>
are. Query parameters are needed on all endpoints, visible or not.<BR>
<BR>
<BR>
&gt; I&#8217;m sure<BR>
&gt; that the Drupal community will find a solution if there are valuable O=
Auth<BR>
&gt; 2.0 resources they want to access.<BR>
<BR>
That's close to impossible. Do you really expect them to change the<BR>
fundamental architecture of Drupal just to support OAuth? And the main<BR>
reason for that architecture is how PHP works and what is available<BR>
with shared hosting, so I guess many other similar frameworks will<BR>
work like this.<BR>
<BR>
<BR>
&gt; However, I don&#8217;t have an objection to a prefix for callback para=
meters since<BR>
&gt; those are not purely protocol endpoints but client endpoints with pote=
ntial<BR>
&gt; existing semantics. We already have oauth_token for accessing a protec=
ted<BR>
&gt; resource using query parameters (for the same reason).<BR>
&gt;<BR>
&gt; But this argument does not extent to the authorization endpoint.<BR>
<BR>
Please read above, it does.<BR>
<BR>
<BR>
Marius<BR>
<BR>
&gt;<BR>
&gt; EHL<BR>
&gt;<BR>
&gt;<BR>
&gt; On 4/15/10 9:10 PM, &quot;Marius Scurtescu&quot; &lt;<a href=3D"mscurt=
escu@google.com">mscurtescu@google.com</a>&gt; wrote:<BR>
&gt;<BR>
&gt; On Thu, Apr 15, 2010 at 6:39 PM, Evan Gilbert &lt;<a href=3D"uidude@go=
ogle.com">uidude@google.com</a>&gt; wrote:<BR>
&gt;&gt;<BR>
&gt;&gt; On Thu, Apr 15, 2010 at 6:31 PM, Marius Scurtescu &lt;<a href=3D"m=
scurtescu@google.com">mscurtescu@google.com</a>&gt;<BR>
&gt;&gt; wrote:<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; OK, here is a concrete example:<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; A Drupal (popular PHP based CMS) based web site wants to becom=
e an<BR>
&gt;&gt;&gt; OAuth 2 client. Among other things it needs to implement a cal=
lback<BR>
&gt;&gt;&gt; endpoint.<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; Ideally this endpoint would look something like:<BR>
&gt;&gt;&gt; <a href=3D"http://example.com/oauth/back">http://example.com/o=
auth/back</a><BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; Depending on what web server is used and how it is configured,=
 the<BR>
&gt;&gt;&gt; above URL may not be possible. Drupal is dispatching all reque=
sts<BR>
&gt;&gt;&gt; through the main script and the path of the endpoint is passed=
 as a<BR>
&gt;&gt;&gt; query parameter. Normally the above URL is seen as:<BR>
&gt;&gt;&gt; <a href=3D"http://example.com/index.php?q=3Doauth/back">http:/=
/example.com/index.php?q=3Doauth/back</a><BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; The cleaner <a href=3D"http://example.com/oauth/back">http://e=
xample.com/oauth/back</a> is achieved with Apache URl<BR>
&gt;&gt;&gt; rewriting, but if Apache is not available or configured to sup=
port<BR>
&gt;&gt;&gt; that, you are stuck with the ugly query parameters.<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; In the unlucky case the registered callback, and the actual ca=
llback<BR>
&gt;&gt;&gt; used in messages, is &quot;<a href=3D"http://example.com/index=
.php?q=3Doauth/back">http://example.com/index.php?q=3Doauth/back</a>&quot;.=
 This<BR>
&gt;&gt;&gt; callback has a query parameter, it is not used for state, and =
it is<BR>
&gt;&gt;&gt; not an extension.<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; It so happens that &quot;q&quot; will not conflict with any of=
 the existing<BR>
&gt;&gt;&gt; OAuth 2 parameters, but you can see the potential issue.<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; Now, even if Apache is available and URL rewrites work, so the=
 nice<BR>
&gt;&gt;&gt; callback is used, a collision would still happen if &quot;q&qu=
ot; was used by<BR>
&gt;&gt;&gt; OAuth 2. Apache rewrites &quot;/oauth/back&quot;, but the Drup=
al dispatcher<BR>
&gt;&gt;&gt; always sees &quot;/index.php?q=3Doauth/back&quot;, so another =
q parameter would<BR>
&gt;&gt;&gt; break things.<BR>
&gt;&gt;<BR>
&gt;&gt; We should ask Drupal to change their query parameter to drupal_q.<=
BR>
&gt;<BR>
&gt; And every single framework that does dispatching based on query parame=
ters<BR>
&gt; :-)<BR>
&gt;<BR>
&gt;<BR>
&gt;&gt;&gt; I do realize that a prefix will not solve ALL collisions and i=
t is<BR>
&gt;&gt;&gt; also not solving the extension question, but I still think mak=
es a big<BR>
&gt;&gt;&gt; difference.<BR>
&gt;&gt;<BR>
&gt;&gt; This use case makes sense, but do we know of any existing conflict=
s?<BR>
&gt;&gt; Very few web servers have this restrictive a URL parameter policy =
- I<BR>
&gt;&gt; think<BR>
&gt;&gt; I'm OK losing compatibility with future web servers that reserve t=
he<BR>
&gt;&gt; &quot;callback&quot; parameter for other purposes.<BR>
&gt;<BR>
&gt; My guess is that most PHP frameworks will have a similar problem, they=
<BR>
&gt; will require query parameters. &nbsp;This is not a web server issue, b=
ut a<BR>
&gt; framework issue.<BR>
&gt;<BR>
&gt; Not only &quot;callback&quot; can cause a collision, but every single =
OAuth 2<BR>
&gt; parameter.<BR>
&gt;<BR>
&gt;<BR>
&gt; Marius<BR>
&gt;<BR>
&gt;<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7EE712A32457eranhueniversecom_--

From eran@hueniverse.com  Fri Apr 16 19:57:58 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 08DCA3A69EF for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 19:57:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.467
X-Spam-Level: 
X-Spam-Status: No, score=-2.467 tagged_above=-999 required=5 tests=[AWL=0.131,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sIwpCU2JUG-B for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 19:57:57 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id BDDF93A6919 for <oauth@ietf.org>; Fri, 16 Apr 2010 19:57:55 -0700 (PDT)
Received: (qmail 24399 invoked from network); 17 Apr 2010 02:57:48 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 17 Apr 2010 02:57:48 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Fri, 16 Apr 2010 19:57:48 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: James Manger <James.H.Manger@team.telstra.com>, Luke Shepard <lshepard@facebook.com>, John Kemp <john@jkemp.net>
Date: Fri, 16 Apr 2010 19:57:44 -0700
Thread-Topic: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
Thread-Index: AcrdCitsLp+WWglvQMKPMWBhihZtKQAezmZQABLw0xAAAiYJ4A==
Message-ID: <C7EE71B8.32459%eran@hueniverse.com>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E11257592315@WSMSG3153V.srv.dir.telstra.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7EE71B832459eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 02:57:58 -0000

--_000_C7EE71B832459eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

This has nothing to do with it. There is no PUT and DELETE or POST with non=
-form body when *requesting a token*.

We need to do a better job not to confuse accessing protected resources wit=
h the flow calls. They are completely different.

EHL


On 4/16/10 7:02 PM, "James Manger" <James.H.Manger@team.telstra.com> wrote:

>> In either case, we should not restrict the access token URL to POST-only=
.
>> A GET request is just as secure and can be much easier to write code for

> If you are using GET, then refresh tokens and client secrets will end
> up side by side in web server log files.

These are exactly the sort of reasons why client authentication should be a=
ny "normal" auth scheme, and not an OAuth-special client_secret POST parame=
ter. That fails for PUT, DELETE, and POST with a non-form body; and the sec=
urity changes with GET.

--
James Manger

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


--_000_C7EE71B832459eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Issue: Split the authorization endpoint into two endp=
oints</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>This has nothing to do with it. There is no PUT and DELETE or POST wi=
th non-form body when *requesting a token*<B>.<BR>
<BR>
</B>We need to do a better job not to confuse accessing protected resources=
 with the flow calls. They are completely different.<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/16/10 7:02 PM, &quot;James Manger&quot; &lt;<a href=3D"James.H.Manger@=
team.telstra.com">James.H.Manger@team.telstra.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>&gt;&gt; In either case, we should not rest=
rict the access token URL to POST-only.<BR>
&gt;&gt; A GET request is just as secure and can be much easier to write co=
de for<BR>
<BR>
&gt; If you are using GET, then refresh tokens and client secrets will end<=
BR>
&gt; up side by side in web server log files.<BR>
<BR>
These are exactly the sort of reasons why client authentication should be a=
ny &quot;normal&quot; auth scheme, and not an OAuth-special client_secret P=
OST parameter. That fails for PUT, DELETE, and POST with a non-form body; a=
nd the security changes with GET.<BR>
<BR>
--<BR>
James Manger<BR>
<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7EE71B832459eranhueniversecom_--

From eran@hueniverse.com  Fri Apr 16 20:09:19 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C3F123A68D6 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 20:09:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.469
X-Spam-Level: 
X-Spam-Status: No, score=-2.469 tagged_above=-999 required=5 tests=[AWL=0.130,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ck4M81FBxXWz for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 20:09:19 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 5F1423A6A70 for <oauth@ietf.org>; Fri, 16 Apr 2010 20:09:17 -0700 (PDT)
Received: (qmail 26198 invoked from network); 17 Apr 2010 03:09:10 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 17 Apr 2010 03:09:10 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Fri, 16 Apr 2010 20:09:10 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Evan Gilbert <uidude@google.com>, Mark Mcgloin <mark.mcgloin@ie.ibm.com>
Date: Fri, 16 Apr 2010 20:09:07 -0700
Thread-Topic: [OAUTH-WG] Combining the Native application and User-agent flows
Thread-Index: AcrdyXqVAUzwZwYOT6CRbnZWnfOaxwAEdz7h
Message-ID: <C7EE7463.3245B%eran@hueniverse.com>
In-Reply-To: <z2ic8689b661004161800t7881fe6cq6848b1c5e8f1f4b5@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 03:09:19 -0000

On 4/16/10 6:00 PM, "Evan Gilbert" <uidude@google.com> wrote:

> - Add text to the spec to give overview of options for native app develop=
ers

I need a proposal.

EHL


From eran@hueniverse.com  Fri Apr 16 20:28:41 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 38DEC3A6A70 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 20:28:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.47
X-Spam-Level: 
X-Spam-Status: No, score=-2.47 tagged_above=-999 required=5 tests=[AWL=0.129,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sIOBVqu8V61v for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 20:28:39 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id CB3913A69DE for <oauth@ietf.org>; Fri, 16 Apr 2010 20:28:39 -0700 (PDT)
Received: (qmail 15996 invoked from network); 17 Apr 2010 03:28:31 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 17 Apr 2010 03:28:31 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Fri, 16 Apr 2010 20:28:31 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: OAuth WG <oauth@ietf.org>
Date: Fri, 16 Apr 2010 20:28:28 -0700
Thread-Topic: [OAUTH-WG] Another draft update (4/19 deadline)
Thread-Index: AcrWqbIjUlaC4+BgjEOhw966lZewiQDkm5HAAOh6ytw=
Message-ID: <C7EE78EC.3245E%eran@hueniverse.com>
In-Reply-To: <C7E860C7.32129%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Another draft update (4/19 deadline)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 03:28:41 -0000

Latest is always at:

http://github.com/theRazorBlade/draft-ietf-oauth

(xml is always up to date. txt and html when I can. Atom feed available)

---

Latest changes:

- Split authorization endpoint to authorization and token endpoints.
- Shortened type parameter values to just the flow name.
- Removed the Native Application flow.
- Renamed Web Callback flow (back) to Web Server flow.
- Made client secret optional in  Web Server flow.
- Moved User-Agent flow to top of list.
- Renamed 'redirection' and 'callback' to 'redirect_uri'.
- A few other small things I can't recall...

Please review sections 1-5 and submit any changes needed for a -00 draft.
This means focus on critical changes that should be made before the documen=
t
is considered a starting point for the working group.

I have asked the chairs for a consensus call about promoting this to a
working group draft on 4/19 so please submit feedback as soon as possible
(you had a few weeks already).

Open issues:

* restriction on token string characters
* specificity of the assertion flow
* parameter name prefix
* username parameter proposal
* scope parameter
* limiting signed requests to use the auth header (no query / form body)
* separation of client authentication from flows

Closed issues:

* requiring HTTPS for bearer token protected resource requests
* token size limit
* single authorization endpoint
* inclusion of both user-agent flow and native application flow
* adding refresh token as optional in all access token requests

Please (PLEASE) don't reply to this message with feedback but instead send =
a
separate post for each major issue. Feel free to bunch small comments into
one post. This will help facilitate our discussion.

Thanks!

EHL


From James.H.Manger@team.telstra.com  Fri Apr 16 21:52:43 2010
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 695DB3A6AE8 for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 21:52:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.197
X-Spam-Level: 
X-Spam-Status: No, score=-0.197 tagged_above=-999 required=5 tests=[AWL=0.703,  BAYES_00=-2.599, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, HTML_MESSAGE=0.001, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9ehF0LN1aQzc for <oauth@core3.amsl.com>; Fri, 16 Apr 2010 21:52:42 -0700 (PDT)
Received: from ipxano.tcif.telstra.com.au (ipxano.tcif.telstra.com.au [203.35.82.200]) by core3.amsl.com (Postfix) with ESMTP id A71EA3A6AEA for <oauth@ietf.org>; Fri, 16 Apr 2010 21:52:38 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.52,225,1270389600"; d="scan'208,217";a="1413030"
Received: from unknown (HELO ipcani.tcif.telstra.com.au) ([10.97.216.200]) by ipoani.tcif.telstra.com.au with ESMTP; 17 Apr 2010 14:52:30 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,5953"; a="1125907"
Received: from wsmsg3755.srv.dir.telstra.com ([172.49.40.196]) by ipcani.tcif.telstra.com.au with ESMTP; 17 Apr 2010 14:52:30 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by WSMSG3755.srv.dir.telstra.com ([172.49.40.196]) with mapi; Sat, 17 Apr 2010 14:52:29 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, OAuth WG <oauth@ietf.org>
Date: Sat, 17 Apr 2010 14:52:28 +1000
Thread-Topic: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
Thread-Index: AcrdCitsLp+WWglvQMKPMWBhihZtKQAezmZQABLw0xAAAiYJ4AAC9C3Q
Message-ID: <255B9BB34FB7D647A506DC292726F6E11257592327@WSMSG3153V.srv.dir.telstra.com>
References: <255B9BB34FB7D647A506DC292726F6E11257592315@WSMSG3153V.srv.dir.telstra.com> <C7EE71B8.32459%eran@hueniverse.com>
In-Reply-To: <C7EE71B8.32459%eran@hueniverse.com>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-AU
Content-Type: multipart/alternative; boundary="_000_255B9BB34FB7D647A506DC292726F6E11257592327WSMSG3153Vsrv_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 04:52:43 -0000

--_000_255B9BB34FB7D647A506DC292726F6E11257592327WSMSG3153Vsrv_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

PiBUaGlzIGhhcyBub3RoaW5nIHRvIGRvIHdpdGggaXQuIFRoZXJlIGlzIG5vIFBVVCBhbmQgREVM
RVRFIG9yIFBPU1Qgd2l0aCBub24tZm9ybSBib2R5IHdoZW4gKnJlcXVlc3RpbmcgYSB0b2tlbiou
DQoNCg0KDQpJdCBpcyByZWxldmFudC4NCg0KSSBkb27igJl0IHdhbnQgdG8gYXV0aGVudGljYXRl
IGRpcmVjdCBjbGllbnQgcmVxdWVzdHMgKm9ubHkqIHdoZW4gdGhleSAqcmVxdWVzdCBhIHRva2Vu
Ki4NCg0KQ2xpZW50cyBtaWdodCBtYWtlIGFueSB2YXJpZXR5IG9mIGRpcmVjdCByZXF1ZXN0cyB1
bnJlbGF0ZWQgdG8gT0F1dGguDQoNClRoZXJlIG1pZ2h0IGV2ZW4gYmUgb3RoZXIgT0F1dGgtcmVs
YXRlZCByZXF1ZXN0cyBmcm9tIGNsaWVudHMgdG8gYW4gYXV0aG9yaXphdGlvbiBzZXJ2ZXIgaW4g
ZnV0dXJlIChlZyBnZXQgbWV0YSBkYXRhLCBvciBkZWxldGUgYSB0b2tlbjsgZXZlbiByZWZyZXNo
aW5nIGEgdG9rZW4gbWlnaHQgYmUgYmV0dGVyIGFzIGEgR0VUKS4NCg0KSSB3YW50IHRvIGJlIGFi
bGUgdG8gdXNlIHRoZSBzYW1lIGNsaWVudCBhdXRoIG1lY2hhbmlzbSwgYW5kIHNhbWUgY2xpZW50
IGNyZWRlbnRpYWxzLCBmb3IgYWxsIHRoZXNlIGNhbGxzLg0KDQpTb21lIG9mIHRoZXNlIGNhbGxz
IG1pZ2h0IGJlIFBVVHMsIERFTEVURXMsIG5vbi1mb3JtIFBPU1RzLCBHRVRzIGV0Yy4gZXZlbiBp
ZiByZXF1ZXN0aW5nICgmIHJlZnJlc2hpbmcpIGEgdG9rZW4gaXMgYWx3YXlzIGEgZm9ybSBQT1NU
Lg0KDQpIZW5jZSBjbGllbnRfc2VjcmV0IGFzIGEgUE9TVCBwYXJhbWV0ZXIgd2hlbiByZXF1ZXN0
aW5nIGEgdG9rZW4gaXMgYSBwb29yIGRlc2lnbi4NCg0KDQoNCg0KDQpJdCBzaG91bGQgYmUgcGVy
ZmVjdGx5IHZhbGlkIChhbmQgbm90IHVuY29tbW9uIEkgZXhwZWN0KSBmb3IgYSBzZXJ2aWNlIHRv
IHN1cHBvcnQgT0F1dGggZm9yIHVzZXIgZGVsZWdhdGlvbiwgYnV0IG5vdCB1c2UgT0F1dGggZm9y
IG1ha2luZyBhbGwgZGlyZWN0IGNsaWVudCBjYWxscyB0b2tlbi1iYXNlZCDigJQgdGhlc2UgYWRk
cmVzcyBxdWl0ZSBkaWZmZXJlbnQgaXNzdWVzLg0KDQpPdGhlciBzZXJ2aWNlcyBtaWdodCB1c2Ug
c2hvcnQtdGVybSByZWZyZXNoYWJsZSB0b2tlbnMgd2hlbiBjbGllbnRzIChvbiB0aGVpciBvd24g
YmVoYWxmKSBhY2Nlc3MgbGVzcyB0cnVzdGVkIOKAnGNvbnRlbnTigJ0gc2VydmljZSwgYnV0IHdp
bGwgdXNlIOKAnG5vcm1hbOKAnSBhdXRoIHdoZW4gY2xpZW50cyB0YWxrIHRvIHRoZSB0cnVzdGVk
IGFjY291bnQvYXV0aG9yaXphdGlvbiBzeXN0ZW0uDQoNCg0KDQotLQ0KDQpKYW1lcyBNYW5nZXIN
Cg0KDQoNCkZyb206IEVyYW4gSGFtbWVyLUxhaGF2IFttYWlsdG86ZXJhbkBodWVuaXZlcnNlLmNv
bV0NClNlbnQ6IFNhdHVyZGF5LCAxNyBBcHJpbCAyMDEwIDEyOjU4IFBNDQpUbzogTWFuZ2VyLCBK
YW1lcyBIOyBMdWtlIFNoZXBhcmQ7IEpvaG4gS2VtcA0KQ2M6IE9BdXRoIFdHDQpTdWJqZWN0OiBS
ZTogW09BVVRILVdHXSBJc3N1ZTogU3BsaXQgdGhlIGF1dGhvcml6YXRpb24gZW5kcG9pbnQgaW50
byB0d28gZW5kcG9pbnRzDQoNCg0KDQpUaGlzIGhhcyBub3RoaW5nIHRvIGRvIHdpdGggaXQuIFRo
ZXJlIGlzIG5vIFBVVCBhbmQgREVMRVRFIG9yIFBPU1Qgd2l0aCBub24tZm9ybSBib2R5IHdoZW4g
KnJlcXVlc3RpbmcgYSB0b2tlbiouDQoNCldlIG5lZWQgdG8gZG8gYSBiZXR0ZXIgam9iIG5vdCB0
byBjb25mdXNlIGFjY2Vzc2luZyBwcm90ZWN0ZWQgcmVzb3VyY2VzIHdpdGggdGhlIGZsb3cgY2Fs
bHMuIFRoZXkgYXJlIGNvbXBsZXRlbHkgZGlmZmVyZW50Lg0KDQpFSEwNCg0KDQpPbiA0LzE2LzEw
IDc6MDIgUE0sICJKYW1lcyBNYW5nZXIiIDxKYW1lcy5ILk1hbmdlckB0ZWFtLnRlbHN0cmEuY29t
PiB3cm90ZToNCg0KPj4gSW4gZWl0aGVyIGNhc2UsIHdlIHNob3VsZCBub3QgcmVzdHJpY3QgdGhl
IGFjY2VzcyB0b2tlbiBVUkwgdG8gUE9TVC1vbmx5Lg0KPj4gQSBHRVQgcmVxdWVzdCBpcyBqdXN0
IGFzIHNlY3VyZSBhbmQgY2FuIGJlIG11Y2ggZWFzaWVyIHRvIHdyaXRlIGNvZGUgZm9yDQoNCj4g
SWYgeW91IGFyZSB1c2luZyBHRVQsIHRoZW4gcmVmcmVzaCB0b2tlbnMgYW5kIGNsaWVudCBzZWNy
ZXRzIHdpbGwgZW5kDQo+IHVwIHNpZGUgYnkgc2lkZSBpbiB3ZWIgc2VydmVyIGxvZyBmaWxlcy4N
Cg0KVGhlc2UgYXJlIGV4YWN0bHkgdGhlIHNvcnQgb2YgcmVhc29ucyB3aHkgY2xpZW50IGF1dGhl
bnRpY2F0aW9uIHNob3VsZCBiZSBhbnkgIm5vcm1hbCIgYXV0aCBzY2hlbWUsIGFuZCBub3QgYW4g
T0F1dGgtc3BlY2lhbCBjbGllbnRfc2VjcmV0IFBPU1QgcGFyYW1ldGVyLiBUaGF0IGZhaWxzIGZv
ciBQVVQsIERFTEVURSwgYW5kIFBPU1Qgd2l0aCBhIG5vbi1mb3JtIGJvZHk7IGFuZCB0aGUgc2Vj
dXJpdHkgY2hhbmdlcyB3aXRoIEdFVC4NCg0KLS0NCkphbWVzIE1hbmdlcg0KDQpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KT0F1dGggbWFpbGluZyBsaXN0
DQpPQXV0aEBpZXRmLm9yZw0KaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9v
YXV0aA0KDQo=

--_000_255B9BB34FB7D647A506DC292726F6E11257592327WSMSG3153Vsrv_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTIgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHRpdGxl
PlJlOiBbT0FVVEgtV0ddIElzc3VlOiBTcGxpdCB0aGUgYXV0aG9yaXphdGlvbiBlbmRwb2ludCBp
bnRvIHR3byBlbmRwb2ludHM8L3RpdGxlPg0KPHN0eWxlPg0KPCEtLQ0KIC8qIEZvbnQgRGVmaW5p
dGlvbnMgKi8NCiBAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJDYW1icmlhIE1hdGgiOw0KCXBh
bm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpD
YWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0IDMgMiA0O30NCkBmb250LWZhY2UNCgl7
Zm9udC1mYW1pbHk6VGFob21hOw0KCXBhbm9zZS0xOjIgMTEgNiA0IDMgNSA0IDQgMiA0O30NCiAv
KiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KIHAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5N
c29Ob3JtYWwNCgl7bWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1z
aXplOjEyLjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIiwic2VyaWYiO30NCmE6
bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9y
OmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQphOnZpc2l0ZWQsIHNwYW4uTXNv
SHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOnB1cnBs
ZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCnNwYW4uRW1haWxTdHlsZTE3DQoJe21z
by1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fu
cy1zZXJpZiI7DQoJY29sb3I6IzFGNDk3RDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUt
dHlwZTpleHBvcnQtb25seTsNCglmb250LXNpemU6MTAuMHB0O30NCkBwYWdlIFNlY3Rpb24xDQoJ
e3NpemU6NjEyLjBwdCA3OTIuMHB0Ow0KCW1hcmdpbjo3Mi4wcHQgNzIuMHB0IDcyLjBwdCA3Mi4w
cHQ7fQ0KZGl2LlNlY3Rpb24xDQoJe3BhZ2U6U2VjdGlvbjE7fQ0KLS0+DQo8L3N0eWxlPjwhLS1b
aWYgZ3RlIG1zbyA5XT48eG1sPg0KIDxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRt
YXg9IjEwMjYiIC8+DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4N
CiA8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQogIDxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBk
YXRhPSIxIiAvPg0KIDwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4NCjwvaGVhZD4N
Cjxib2R5IGxhbmc9IkVOLUFVIiBsaW5rPSJibHVlIiB2bGluaz0icHVycGxlIj4NCjxkaXYgY2xh
c3M9IlNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJp
ZiZxdW90OyI+Jmd0OyBUaGlzIGhhcyBub3RoaW5nIHRvIGRvIHdpdGggaXQuIFRoZXJlIGlzIG5v
IFBVVCBhbmQgREVMRVRFIG9yIFBPU1Qgd2l0aCBub24tZm9ybSBib2R5IHdoZW4gKnJlcXVlc3Rp
bmcgYSB0b2tlbio8Yj4uPGJyPg0KPGJyPg0KPG86cD48L286cD48L2I+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMx
RjQ5N0QiPkl0IGlzIHJlbGV2YW50LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90
O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMxRjQ5N0QiPkkg
ZG9u4oCZdCB3YW50IHRvIGF1dGhlbnRpY2F0ZSBkaXJlY3QgY2xpZW50IHJlcXVlc3RzICo8Yj5v
bmx5PC9iPiogd2hlbiB0aGV5ICo8Yj5yZXF1ZXN0IGEgdG9rZW48L2I+Ki48bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx
LjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVv
dDs7DQpjb2xvcjojMUY0OTdEIj5DbGllbnRzIG1pZ2h0IG1ha2UgYW55IHZhcmlldHkgb2YgZGly
ZWN0IHJlcXVlc3RzIHVucmVsYXRlZCB0byBPQXV0aC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xvcjoj
MUY0OTdEIj5UaGVyZSBtaWdodCBldmVuIGJlIG90aGVyIE9BdXRoLXJlbGF0ZWQgcmVxdWVzdHMg
ZnJvbSBjbGllbnRzIHRvIGFuIGF1dGhvcml6YXRpb24gc2VydmVyIGluIGZ1dHVyZSAoZWcgZ2V0
IG1ldGEgZGF0YSwgb3IgZGVsZXRlIGEgdG9rZW47IGV2ZW4gcmVmcmVzaGluZyBhDQogdG9rZW4g
bWlnaHQgYmUgYmV0dGVyIGFzIGEgR0VUKS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTom
cXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xvcjojMUY0OTdE
Ij5JIHdhbnQgdG8gYmUgYWJsZSB0byB1c2UgdGhlIHNhbWUgY2xpZW50IGF1dGggbWVjaGFuaXNt
LCBhbmQgc2FtZSBjbGllbnQgY3JlZGVudGlhbHMsIGZvciBhbGwgdGhlc2UgY2FsbHMuPG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNl
cmlmJnF1b3Q7Ow0KY29sb3I6IzFGNDk3RCI+U29tZSBvZiB0aGVzZSBjYWxscyBtaWdodCBiZSBQ
VVRzLCBERUxFVEVzLCBub24tZm9ybSBQT1NUcywgR0VUcyBldGMuIGV2ZW4gaWYgcmVxdWVzdGlu
ZyAoJmFtcDsgcmVmcmVzaGluZykgYSB0b2tlbiBpcyBhbHdheXMgYSBmb3JtIFBPU1QuPG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNl
cmlmJnF1b3Q7Ow0KY29sb3I6IzFGNDk3RCI+SGVuY2UgY2xpZW50X3NlY3JldCBhcyBhIFBPU1Qg
cGFyYW1ldGVyIHdoZW4gcmVxdWVzdGluZyBhIHRva2VuIGlzIGEgcG9vciBkZXNpZ24uPG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNl
cmlmJnF1b3Q7Ow0KY29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m
YW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ow0KY29sb3I6
IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy
aSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ow0KY29sb3I6IzFGNDk3RCI+SXQgc2hvdWxk
IGJlIHBlcmZlY3RseSB2YWxpZCAoYW5kIG5vdCB1bmNvbW1vbiBJIGV4cGVjdCkgZm9yIGEgc2Vy
dmljZSB0byBzdXBwb3J0IE9BdXRoIGZvciB1c2VyIGRlbGVnYXRpb24sIGJ1dCBub3QgdXNlIE9B
dXRoIGZvciBtYWtpbmcgYWxsIGRpcmVjdCBjbGllbnQNCiBjYWxscyB0b2tlbi1iYXNlZCDigJQg
dGhlc2UgYWRkcmVzcyBxdWl0ZSBkaWZmZXJlbnQgaXNzdWVzLjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNv
bG9yOiMxRjQ5N0QiPk90aGVyIHNlcnZpY2VzIG1pZ2h0IHVzZSBzaG9ydC10ZXJtIHJlZnJlc2hh
YmxlIHRva2VucyB3aGVuIGNsaWVudHMgKG9uIHRoZWlyIG93biBiZWhhbGYpIGFjY2VzcyBsZXNz
IHRydXN0ZWQg4oCcY29udGVudOKAnSBzZXJ2aWNlLCBidXQgd2lsbCB1c2Ug4oCcbm9ybWFs4oCd
IGF1dGgNCiB3aGVuIGNsaWVudHMgdGFsayB0byB0aGUgdHJ1c3RlZCBhY2NvdW50L2F1dGhvcml6
YXRpb24gc3lzdGVtLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7
PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90
O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xvcjojMUY0OTdEIj4tLQ0KPG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ow0K
Y29sb3I6IzFGNDk3RCI+SmFtZXMgTWFuZ2VyPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xv
cjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2Pg0KPGRpdiBzdHls
ZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjQjVDNERGIDEuMHB0O3BhZGRpbmc6My4w
cHQgMGNtIDBjbSAwY20iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0
OjM2LjBwdCI+PGI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O1RhaG9tYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ij5Gcm9t
Ojwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O1RhaG9tYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ij4gRXJh
biBIYW1tZXItTGFoYXYgW21haWx0bzplcmFuQGh1ZW5pdmVyc2UuY29tXQ0KPGJyPg0KPGI+U2Vu
dDo8L2I+IFNhdHVyZGF5LCAxNyBBcHJpbCAyMDEwIDEyOjU4IFBNPGJyPg0KPGI+VG86PC9iPiBN
YW5nZXIsIEphbWVzIEg7IEx1a2UgU2hlcGFyZDsgSm9obiBLZW1wPGJyPg0KPGI+Q2M6PC9iPiBP
QXV0aCBXRzxicj4NCjxiPlN1YmplY3Q6PC9iPiBSZTogW09BVVRILVdHXSBJc3N1ZTogU3BsaXQg
dGhlIGF1dGhvcml6YXRpb24gZW5kcG9pbnQgaW50byB0d28gZW5kcG9pbnRzPG86cD48L286cD48
L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
YXJnaW4tbGVmdDozNi4wcHQiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDowY207bWFyZ2luLXJpZ2h0OjBjbTttYXJn
aW4tYm90dG9tOg0KMTIuMHB0O21hcmdpbi1sZWZ0OjM2LjBwdCI+DQo8c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMt
c2VyaWYmcXVvdDsiPlRoaXMgaGFzIG5vdGhpbmcgdG8gZG8gd2l0aCBpdC4gVGhlcmUgaXMgbm8g
UFVUIGFuZCBERUxFVEUgb3IgUE9TVCB3aXRoIG5vbi1mb3JtIGJvZHkgd2hlbiAqcmVxdWVzdGlu
ZyBhIHRva2VuKjxiPi48YnI+DQo8YnI+DQo8L2I+V2UgbmVlZCB0byBkbyBhIGJldHRlciBqb2Ig
bm90IHRvIGNvbmZ1c2UgYWNjZXNzaW5nIHByb3RlY3RlZCByZXNvdXJjZXMgd2l0aCB0aGUgZmxv
dyBjYWxscy4gVGhleSBhcmUgY29tcGxldGVseSBkaWZmZXJlbnQuPGJyPg0KPGJyPg0KRUhMPGJy
Pg0KPGJyPg0KPGJyPg0KT24gNC8xNi8xMCA3OjAyIFBNLCAmcXVvdDtKYW1lcyBNYW5nZXImcXVv
dDsgJmx0OzxhIGhyZWY9IkphbWVzLkguTWFuZ2VyQHRlYW0udGVsc3RyYS5jb20iPkphbWVzLkgu
TWFuZ2VyQHRlYW0udGVsc3RyYS5jb208L2E+Jmd0OyB3cm90ZTo8L3NwYW4+PG86cD48L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OjBjbTtt
YXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206DQoxMi4wcHQ7bWFyZ2luLWxlZnQ6MzYuMHB0
Ij4NCjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli
cmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OyI+Jmd0OyZndDsgSW4gZWl0aGVyIGNhc2Us
IHdlIHNob3VsZCBub3QgcmVzdHJpY3QgdGhlIGFjY2VzcyB0b2tlbiBVUkwgdG8gUE9TVC1vbmx5
Ljxicj4NCiZndDsmZ3Q7IEEgR0VUIHJlcXVlc3QgaXMganVzdCBhcyBzZWN1cmUgYW5kIGNhbiBi
ZSBtdWNoIGVhc2llciB0byB3cml0ZSBjb2RlIGZvcjxicj4NCjxicj4NCiZndDsgSWYgeW91IGFy
ZSB1c2luZyBHRVQsIHRoZW4gcmVmcmVzaCB0b2tlbnMgYW5kIGNsaWVudCBzZWNyZXRzIHdpbGwg
ZW5kPGJyPg0KJmd0OyB1cCBzaWRlIGJ5IHNpZGUgaW4gd2ViIHNlcnZlciBsb2cgZmlsZXMuPGJy
Pg0KPGJyPg0KVGhlc2UgYXJlIGV4YWN0bHkgdGhlIHNvcnQgb2YgcmVhc29ucyB3aHkgY2xpZW50
IGF1dGhlbnRpY2F0aW9uIHNob3VsZCBiZSBhbnkgJnF1b3Q7bm9ybWFsJnF1b3Q7IGF1dGggc2No
ZW1lLCBhbmQgbm90IGFuIE9BdXRoLXNwZWNpYWwgY2xpZW50X3NlY3JldCBQT1NUIHBhcmFtZXRl
ci4gVGhhdCBmYWlscyBmb3IgUFVULCBERUxFVEUsIGFuZCBQT1NUIHdpdGggYSBub24tZm9ybSBi
b2R5OyBhbmQgdGhlIHNlY3VyaXR5IGNoYW5nZXMgd2l0aCBHRVQuPGJyPg0KPGJyPg0KLS08YnI+
DQpKYW1lcyBNYW5nZXI8YnI+DQo8YnI+DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXzxicj4NCk9BdXRoIG1haWxpbmcgbGlzdDxicj4NCjxhIGhyZWY9Ik9B
dXRoQGlldGYub3JnIj5PQXV0aEBpZXRmLm9yZzwvYT48YnI+DQo8YSBocmVmPSJodHRwczovL3d3
dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29hdXRoIj5odHRwczovL3d3dy5pZXRmLm9yZy9t
YWlsbWFuL2xpc3RpbmZvL29hdXRoPC9hPjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0K
PC9ib2R5Pg0KPC9odG1sPg0K

--_000_255B9BB34FB7D647A506DC292726F6E11257592327WSMSG3153Vsrv_--

From torsten@lodderstedt.net  Sat Apr 17 01:10:59 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 098533A6B12 for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 01:10:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.943
X-Spam-Level: 
X-Spam-Status: No, score=-1.943 tagged_above=-999 required=5 tests=[AWL=0.305,  BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RN3ubuH1fMqC for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 01:10:56 -0700 (PDT)
Received: from smtprelay01.ispgateway.de (smtprelay01.ispgateway.de [80.67.31.24]) by core3.amsl.com (Postfix) with ESMTP id 329D43A6B17 for <oauth@ietf.org>; Sat, 17 Apr 2010 01:10:51 -0700 (PDT)
Received: from p4fff3dd0.dip.t-dialin.net ([79.255.61.208] helo=[127.0.0.1]) by smtprelay01.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O336n-0005oO-5s; Sat, 17 Apr 2010 10:10:33 +0200
Message-ID: <4BC96CF4.7050009@lodderstedt.net>
Date: Sat, 17 Apr 2010 10:10:28 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: "Manger, James H" <James.H.Manger@team.telstra.com>
References: <255B9BB34FB7D647A506DC292726F6E11257592315@WSMSG3153V.srv.dir.telstra.com>	<C7EE71B8.32459%eran@hueniverse.com> <255B9BB34FB7D647A506DC292726F6E11257592327@WSMSG3153V.srv.dir.telstra.com>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E11257592327@WSMSG3153V.srv.dir.telstra.com>
Content-Type: multipart/alternative; boundary="------------050908050308040103060003"
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 08:10:59 -0000

This is a multi-part message in MIME format.
--------------050908050308040103060003
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

I support the idea to use standard HTTP auth mechanisms for 
authentication on the authorization server endpoint. From a design 
standpoint this is just an API - which we cannot to protect via OAuth 
tokens because it issues these tokens. But we can use HTTP standard 
authorization mechanisms (and headers) as BASIC or DIGEST to 
authenticate the callers. This gives implementations the option to use 
other mechanisms (like SPNEGO or CERT). And as James pointed out, there 
might (will in our case) other requests on this endpoint used to provide 
additional services via other HTTP methods, e.g. DELETE. Moreover, 
standard authn modules (as in HTTPClient) can directly be used to 
implement access to OAuth authorization servers.

I would recommend to separate functional API parameters, like callback 
url, and authorization data.

regards,
Torsten.

Am 17.04.2010 06:52, schrieb Manger, James H:
>
> > This has nothing to do with it. There is no PUT and DELETE or POST 
> with non-form body when *requesting a token**.
>
> *
>
> It is relevant.
>
> I donâ€™t want to authenticate direct client requests **only** when they 
> **request a token**.
>
> Clients might make any variety of direct requests unrelated to OAuth.
>
> There might even be other OAuth-related requests from clients to an 
> authorization server in future (eg get meta data, or delete a token; 
> even refreshing a token might be better as a GET).
>
> I want to be able to use the same client auth mechanism, and same 
> client credentials, for all these calls.
>
> Some of these calls might be PUTs, DELETEs, non-form POSTs, GETs etc. 
> even if requesting (& refreshing) a token is always a form POST.
>
> Hence client_secret as a POST parameter when requesting a token is a 
> poor design.
>
> It should be perfectly valid (and not uncommon I expect) for a service 
> to support OAuth for user delegation, but not use OAuth for making all 
> direct client calls token-based â€” these address quite different issues.
>
> Other services might use short-term refreshable tokens when clients 
> (on their own behalf) access less trusted â€œcontentâ€ service, but will 
> use â€œnormalâ€ auth when clients talk to the trusted 
> account/authorization system.
>
> -- 
>
> James Manger
>
> *From:* Eran Hammer-Lahav [mailto:eran@hueniverse.com]
> *Sent:* Saturday, 17 April 2010 12:58 PM
> *To:* Manger, James H; Luke Shepard; John Kemp
> *Cc:* OAuth WG
> *Subject:* Re: [OAUTH-WG] Issue: Split the authorization endpoint into 
> two endpoints
>
> This has nothing to do with it. There is no PUT and DELETE or POST 
> with non-form body when *requesting a token**.
>
> *We need to do a better job not to confuse accessing protected 
> resources with the flow calls. They are completely different.
>
> EHL
>
>
> On 4/16/10 7:02 PM, "James Manger" <James.H.Manger@team.telstra.com> 
> wrote:
>
> >> In either case, we should not restrict the access token URL to 
> POST-only.
> >> A GET request is just as secure and can be much easier to write code for
>
> > If you are using GET, then refresh tokens and client secrets will end
> > up side by side in web server log files.
>
> These are exactly the sort of reasons why client authentication should 
> be any "normal" auth scheme, and not an OAuth-special client_secret 
> POST parameter. That fails for PUT, DELETE, and POST with a non-form 
> body; and the security changes with GET.
>
> --
> James Manger
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    


--------------050908050308040103060003
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
I support the idea to use standard HTTP auth mechanisms for
authentication on the authorization server endpoint. From a design
standpoint this is just an API - which we cannot to protect via OAuth
tokens because it issues these tokens. But we can use HTTP standard
authorization mechanisms (and headers) as BASIC or DIGEST to
authenticate the callers. This gives implementations the option to use
other mechanisms (like SPNEGO or CERT). And as James pointed out, there
might (will in our case) other requests on this endpoint used to
provide additional services via other HTTP methods, e.g. DELETE.
Moreover, standard authn modules (as in HTTPClient) can directly be
used to implement access to OAuth authorization servers. <br>
<br>
I would recommend to separate functional API parameters, like callback
url, and authorization data. <br>
<br>
regards,<br>
Torsten.<br>
<br>
Am 17.04.2010 06:52, schrieb Manger, James H:
<blockquote
 cite="mid:255B9BB34FB7D647A506DC292726F6E11257592327@WSMSG3153V.srv.dir.telstra.com"
 type="cite">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta name="Generator" content="Microsoft Word 12 (filtered medium)">
  <title>Re: [OAUTH-WG] Issue: Split the authorization endpoint into
two endpoints</title>
  <style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page Section1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
	{page:Section1;}
-->
  </style><!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
  <div class="Section1">
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">&gt;
This has nothing to do with it. There is no PUT and DELETE or POST with
non-form body when *requesting a token*<b>.<br>
  <br>
  <o:p></o:p></b></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">It
is relevant.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">I
donâ€™t want to authenticate direct client requests *<b>only</b>* when
they *<b>request a token</b>*.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">Clients
might make any variety of direct requests unrelated to OAuth.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">There
might even be other OAuth-related requests from clients to an
authorization server in future (eg get meta data, or delete a token;
even refreshing a token might be better as a GET).<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">I
want to be able to use the same client auth mechanism, and same client
credentials, for all these calls.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">Some
of these calls might be PUTs, DELETEs, non-form POSTs, GETs etc. even
if requesting (&amp; refreshing) a token is always a form POST.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">Hence
client_secret as a POST parameter when requesting a token is a poor
design.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>Â </o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>Â </o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">It
should be perfectly valid (and not uncommon I expect) for a service to
support OAuth for user delegation, but not use OAuth for making all
direct client calls token-based â€” these address quite different issues.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">Other
services might use short-term refreshable tokens when clients (on their
own behalf) access less trusted â€œcontentâ€ service, but will use
â€œnormalâ€ auth when clients talk to the trusted account/authorization
system.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>Â </o:p></span></p>
  <div>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">--
  <o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">James
Manger<o:p></o:p></span></p>
  </div>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>Â </o:p></span></p>
  <div>
  <div
 style="border-style: solid none none; border-color: rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0cm 0cm;">
  <p class="MsoNormal" style="margin-left: 36pt;"><b><span
 style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;"
 lang="EN-US">From:</span></b><span
 style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;"
 lang="EN-US"> Eran Hammer-Lahav [<a class="moz-txt-link-freetext" href="mailto:eran@hueniverse.com">mailto:eran@hueniverse.com</a>]
  <br>
  <b>Sent:</b> Saturday, 17 April 2010 12:58 PM<br>
  <b>To:</b> Manger, James H; Luke Shepard; John Kemp<br>
  <b>Cc:</b> OAuth WG<br>
  <b>Subject:</b> Re: [OAUTH-WG] Issue: Split the authorization
endpoint into two endpoints<o:p></o:p></span></p>
  </div>
  </div>
  <p class="MsoNormal" style="margin-left: 36pt;"><o:p>Â </o:p></p>
  <p class="MsoNormal"
 style="margin-right: 0cm; margin-bottom: 12pt; margin-left: 36pt;">
  <span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">This
has nothing to do with it. There is no PUT and DELETE or POST with
non-form body when *requesting a token*<b>.<br>
  <br>
  </b>We need to do a better job not to confuse accessing protected
resources with the flow calls. They are completely different.<br>
  <br>
EHL<br>
  <br>
  <br>
On 4/16/10 7:02 PM, "James Manger" &lt;<a moz-do-not-send="true"
 href="James.H.Manger@team.telstra.com">James.H.Manger@team.telstra.com</a>&gt;
wrote:</span><o:p></o:p></p>
  <p class="MsoNormal"
 style="margin-right: 0cm; margin-bottom: 12pt; margin-left: 36pt;">
  <span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">&gt;&gt;
In either case, we should not restrict the access token URL to
POST-only.<br>
&gt;&gt; A GET request is just as secure and can be much easier to
write code for<br>
  <br>
&gt; If you are using GET, then refresh tokens and client secrets will
end<br>
&gt; up side by side in web server log files.<br>
  <br>
These are exactly the sort of reasons why client authentication should
be any "normal" auth scheme, and not an OAuth-special client_secret
POST parameter. That fails for PUT, DELETE, and POST with a non-form
body; and the security changes with GET.<br>
  <br>
--<br>
James Manger<br>
  <br>
_______________________________________________<br>
OAuth mailing list<br>
  <a moz-do-not-send="true" href="OAuth@ietf.org">OAuth@ietf.org</a><br>
  <a moz-do-not-send="true"
 href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a></span><o:p></o:p></p>
  </div>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>
  </pre>
</blockquote>
<br>
</body>
</html>

--------------050908050308040103060003--


From torsten@lodderstedt.net  Sat Apr 17 01:22:27 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B31153A6B04 for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 01:22:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.661
X-Spam-Level: 
X-Spam-Status: No, score=-1.661 tagged_above=-999 required=5 tests=[AWL=-0.013, BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001, J_CHICKENPOX_64=0.6]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id F9xr2XmoN94A for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 01:22:19 -0700 (PDT)
Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.31.36]) by core3.amsl.com (Postfix) with ESMTP id CBD683A67FE for <oauth@ietf.org>; Sat, 17 Apr 2010 01:22:10 -0700 (PDT)
Received: from p4fff3dd0.dip.t-dialin.net ([79.255.61.208] helo=[127.0.0.1]) by smtprelay02.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O33Hk-0008IW-Vp; Sat, 17 Apr 2010 10:21:53 +0200
Message-ID: <4BC96F9E.3050208@lodderstedt.net>
Date: Sat, 17 Apr 2010 10:21:50 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <C7EE1BC4.32432%eran@hueniverse.com>
In-Reply-To: <C7EE1BC4.32432%eran@hueniverse.com>
Content-Type: multipart/alternative; boundary="------------070800010303040201000008"
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints (OpenId comparison)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 08:22:27 -0000

This is a multi-part message in MIME format.
--------------070800010303040201000008
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

sounds good.

One question arose: OpenId has the same design challenge. There are 
direct calls, like "associate", as well as indirect calls, like 
"checkid_setup". OpenId uses a single endpoint on the OP and 
differentiate the request types via the openid.mode parameter.

Does anyone know why OpenId want that way?

Am 16.04.2010 22:51, schrieb Eran Hammer-Lahav:
> I'll split them to: Authorization endpoint and Toke endpoint. In the 
> WWW-Authenticate header I'll add a parameter for each (instead of one) 
> for lightweight discovery (which we can keep, change, or drop later).
>
> EHL
>
>
> On 4/15/10 6:22 PM, "James Manger" <James.H.Manger@team.telstra.com> 
> wrote:
>
>     I strongly favour specifying 2 separate endpoints: one for where
>     to redirect a user, another for direct client calls.
>
>     I agree with Marius that these two endpoints are different enough
>     to be separate.
>     One is only used by users via browsers. The other is only used by
>     client apps. These are different populations, using different
>     authentication mechanisms, with different performance
>     requirements, and different technologies.
>
>     The use of a type parameter is a poor tool to distinguishes these
>     cases.
>
>     I guess 1 URI could default to the other if not defined.
>     1 URI could be allowed to be relative to the other to save some bytes.
>
>     --
>     James Manger
>
>
>     -----Original Message-----
>     From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
>     Behalf Of Eran Hammer-Lahav
>     Sent: Friday, 16 April 2010 4:41 AM
>     To: OAuth WG
>     Subject: [OAUTH-WG] Issue: Split the authorization endpoint into
>     two endpoints
>
>     OAuth 2.0 defines a single authorization endpoint with a 'type'
>     parameter
>     for the various flows and flow steps. There are two types of calls
>     made to
>     the authorization endpoint:
>
>     - Requests for Access - requests in which an end user interacts
>     with the
>     authorization server, granting client access.
>
>     - Requests for Token - requests in which the client uses a
>     verification code
>     or other credentials to obtain an access token. These requests require
>     SSL/TLS because they always result in the transmission of plaintext
>     credentials in the response and sometimes in the request.
>
>     A proposal has been made to define two separate endpoints due to the
>     different nature of these endpoints:
>
>     On 4/6/10 4:06 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
>     > Constraints for endpoints:
>     > access token URL: HTTPS and POST only, no user
>     > user authentication URL: HTTP or HTTPS, GET or POST,
>     authenticated user
>     >
>     > In many cases the above constraints can be enforced with
>     configuration
>     > that sits in front of the controllers implementing these endpoints.
>     > For example, Apache config can enforce SSL and POST. Same can be done
>     > in a Java filter. Also a Java filter can enforce that only
>     > authenticated users hit the endpoint, it can redirect to a login page
>     > if needed.
>     >
>     > By keeping two different endpoints all of the above is much simpler.
>     > Nothing prevents an authz server to collapse these two into one
>     > endpoint.
>
>     While requests for access do not require HTTPS, they should
>     because they
>     involve authenticating the end user. As for enforcing HTTP methods
>     (GET,
>     POST), this is simple to do both at the server configuration level or
>     application level.
>
>     On the other hand, having a single endpoint makes the
>     specification simpler,
>     and more importantly, makes discovery trivial as a 401 response
>     needs to
>     include a single endpoint for obtaining a token regardless of the
>     flow (some
>     flows use one, others two steps).
>
>     A richer discovery later can use LRDD on the single authorization
>     endpoint
>     to obtain an XRD describing the flows and UI options provided by
>     the server.
>     But this is outside our scope.
>
>     Proposal: No change. Keep the single authorization endpoint and
>     require
>     HTTPS for all requests.
>
>     EHL
>
>
>
>
>
>     _______________________________________________
>     OAuth mailing list
>     OAuth@ietf.org
>     https://www.ietf.org/mailman/listinfo/oauth
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    


--------------070800010303040201000008
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
sounds good.<br>
<br>
One question arose: OpenId has the same design challenge. There are
direct calls, like "associate", as well as indirect calls, like
"checkid_setup". OpenId uses a single endpoint on the OP and
differentiate the request types via the openid.mode
parameter. <br>
<br>
Does anyone know why OpenId want that way?<br>
<br>
Am 16.04.2010 22:51, schrieb Eran Hammer-Lahav:
<blockquote cite="mid:C7EE1BC4.32432%25eran@hueniverse.com" type="cite">
  <title>Re: [OAUTH-WG] Issue: Split the authorization endpoint into
two endpoints</title>
  <font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;">I&#8217;ll split them to: Authorization endpoint
and Toke endpoint. In the WWW-Authenticate header I&#8217;ll add a parameter
for each (instead of one) for lightweight discovery (which we can keep,
change, or drop later).<br>
  <br>
EHL<br>
  <br>
  <br>
On 4/15/10 6:22 PM, "James Manger" &lt;<a moz-do-not-send="true"
 href="James.H.Manger@team.telstra.com">James.H.Manger@team.telstra.com</a>&gt;
wrote:<br>
  <br>
  </span></font>
  <blockquote><font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;">I strongly favour specifying 2 separate
endpoints: one for where to redirect a user, another for direct client
calls.<br>
    <br>
I agree with Marius that these two endpoints are different enough to be
separate.<br>
One is only used by users via browsers. The other is only used by
client apps. These are different populations, using different
authentication mechanisms, with different performance requirements, and
different technologies.<br>
    <br>
The use of a type parameter is a poor tool to distinguishes these cases.<br>
    <br>
I guess 1 URI could default to the other if not defined.<br>
1 URI could be allowed to be relative to the other to save some bytes.<br>
    <br>
--<br>
James Manger<br>
    <br>
    <br>
-----Original Message-----<br>
From: <a moz-do-not-send="true" href="oauth-bounces@ietf.org">oauth-bounces@ietf.org</a>
[<a moz-do-not-send="true" href="mailto:oauth-bounces@ietf.org">mailto:oauth-bounces@ietf.org</a>]
On Behalf Of Eran Hammer-Lahav<br>
Sent: Friday, 16 April 2010 4:41 AM<br>
To: OAuth WG<br>
Subject: [OAUTH-WG] Issue: Split the authorization endpoint into two
endpoints<br>
    <br>
OAuth 2.0 defines a single authorization endpoint with a 'type'
parameter<br>
for the various flows and flow steps. There are two types of calls made
to<br>
the authorization endpoint:<br>
    <br>
- Requests for Access - requests in which an end user interacts with the<br>
authorization server, granting client access.<br>
    <br>
- Requests for Token - requests in which the client uses a verification
code<br>
or other credentials to obtain an access token. These requests require<br>
SSL/TLS because they always result in the transmission of plaintext<br>
credentials in the response and sometimes in the request.<br>
    <br>
A proposal has been made to define two separate endpoints due to the<br>
different nature of these endpoints:<br>
    <br>
On 4/6/10 4:06 PM, "Marius Scurtescu" &lt;<a moz-do-not-send="true"
 href="mscurtescu@google.com">mscurtescu@google.com</a>&gt; wrote:<br>
    <br>
&gt; Constraints for endpoints:<br>
&gt; access token URL: HTTPS and POST only, no user<br>
&gt; user authentication URL: HTTP or HTTPS, GET or POST, authenticated
user<br>
&gt;<br>
&gt; In many cases the above constraints can be enforced with
configuration<br>
&gt; that sits in front of the controllers implementing these endpoints.<br>
&gt; For example, Apache config can enforce SSL and POST. Same can be
done<br>
&gt; in a Java filter. Also a Java filter can enforce that only<br>
&gt; authenticated users hit the endpoint, it can redirect to a login
page<br>
&gt; if needed.<br>
&gt;<br>
&gt; By keeping two different endpoints all of the above is much
simpler.<br>
&gt; Nothing prevents an authz server to collapse these two into one<br>
&gt; endpoint.<br>
    <br>
While requests for access do not require HTTPS, they should because they<br>
involve authenticating the end user. As for enforcing HTTP methods (GET,<br>
POST), this is simple to do both at the server configuration level or<br>
application level.<br>
    <br>
On the other hand, having a single endpoint makes the specification
simpler,<br>
and more importantly, makes discovery trivial as a 401 response needs to<br>
include a single endpoint for obtaining a token regardless of the flow
(some<br>
flows use one, others two steps).<br>
    <br>
A richer discovery later can use LRDD on the single authorization
endpoint<br>
to obtain an XRD describing the flows and UI options provided by the
server.<br>
But this is outside our scope.<br>
    <br>
Proposal: No change. Keep the single authorization endpoint and require<br>
HTTPS for all requests.<br>
    <br>
EHL<br>
    <br>
    <br>
    <br>
    <br>
    <br>
_______________________________________________<br>
OAuth mailing list<br>
    <a moz-do-not-send="true" href="OAuth@ietf.org">OAuth@ietf.org</a><br>
    <a moz-do-not-send="true"
 href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a><br>
    <br>
    </span></font></blockquote>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>
  </pre>
</blockquote>
<br>
</body>
</html>

--------------070800010303040201000008--


From torsten@lodderstedt.net  Sat Apr 17 01:33:24 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 30E5A3A6B17; Sat, 17 Apr 2010 01:33:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.961
X-Spam-Level: 
X-Spam-Status: No, score=-1.961 tagged_above=-999 required=5 tests=[AWL=0.288,  BAYES_00=-2.599, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2Ache47q2rGZ; Sat, 17 Apr 2010 01:33:23 -0700 (PDT)
Received: from smtprelay04.ispgateway.de (smtprelay04.ispgateway.de [80.67.18.16]) by core3.amsl.com (Postfix) with ESMTP id D12473A67FE; Sat, 17 Apr 2010 01:33:21 -0700 (PDT)
Received: from p4fff3dd0.dip.t-dialin.net ([79.255.61.208] helo=[127.0.0.1]) by smtprelay04.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O33Si-0001IB-Ep; Sat, 17 Apr 2010 10:33:12 +0200
Message-ID: <4BC97245.2030706@lodderstedt.net>
Date: Sat, 17 Apr 2010 10:33:09 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Mark Mcgloin <mark.mcgloin@ie.ibm.com>
References: <OFD5F73A7B.828EC618-ON80257707.0059D87C-80257707.005A2B00@ie.ibm.com>
In-Reply-To: <OFD5F73A7B.828EC618-ON80257707.0059D87C-80257707.005A2B00@ie.ibm.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>, oauth-bounces@ietf.org
Subject: Re: [OAUTH-WG] Issue: add refresh token as optional in all access token requests
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 08:33:24 -0000

-1 to this

If a refresh token is the only way to obtain an access token with 
corresponding secret than making refresh tokens an optional result 
parameter will not suffice.

How shall the client indicate that it requires a request token? From my 
point of view, either refresh tokens become a mandatory parameter or the 
client is given an input parameter to indicate its desire with every flow.

My suggestion is to add "secret_type" to all flows and to issue request 
tokens where they are really needed. In all flows, where user 
interaction takes place or user credentials are processed.

My impression is, the API design is slowly getting weird because we want 
to circumvent this single parameter.

regards,
Torsten.

Am 16.04.2010 18:24, schrieb Mark Mcgloin:
> +1 to this
>
> Mark McGloin
>
>    
>> On 16/04/2010 17:08, Richard Barnes<rbarnes@bbn.com>   wrote:
>>      
>    
>> Sure, this seems sensible, especially with the *optional* part.
>>      
>
>
>    
>> On Apr 15, 2010, at 3:22 PM, David Recordon wrote:
>>      
>    
>>> +1, remember discussing this a week or so ago on the list
>>>
>>>        
>>>> On Thu, Apr 15, 2010 at 12:12 PM, Eran Hammer-Lahav
>>>>          
> <eran@hueniverse.com
>    
>>>> wrote:
>>>>          
>>> Proposal: Keep bearer tokens as the default first-issued credential
>>> and add
>>> an optional refresh token everywhere.
>>>
>>> EHL
>>>        
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    



From torsten@lodderstedt.net  Sat Apr 17 01:41:01 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8A9E63A6965 for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 01:41:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.675
X-Spam-Level: 
X-Spam-Status: No, score=-0.675 tagged_above=-999 required=5 tests=[AWL=-1.027, BAYES_50=0.001, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DcdMgckdbwCK for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 01:41:00 -0700 (PDT)
Received: from smtprelay03.ispgateway.de (smtprelay03.ispgateway.de [80.67.31.30]) by core3.amsl.com (Postfix) with ESMTP id 132913A6802 for <oauth@ietf.org>; Sat, 17 Apr 2010 01:40:59 -0700 (PDT)
Received: from p4fff3dd0.dip.t-dialin.net ([79.255.61.208] helo=[127.0.0.1]) by smtprelay03.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O33Zy-0001dL-9K; Sat, 17 Apr 2010 10:40:42 +0200
Message-ID: <4BC97407.2010605@lodderstedt.net>
Date: Sat, 17 Apr 2010 10:40:39 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: "Manger, James H" <James.H.Manger@team.telstra.com>
References: <255B9BB34FB7D647A506DC292726F6E112575922E9@WSMSG3153V.srv.dir.telstra.com>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E112575922E9@WSMSG3153V.srv.dir.telstra.com>
Content-Type: multipart/alternative; boundary="------------050806000803030404020004"
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/credentials
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 08:41:01 -0000

This is a multi-part message in MIME format.
--------------050806000803030404020004
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

elegant design :-) which raises an important question to me:

If we would design any API for the web we would probably use mime types 
and JSON/XML for transporting data.

Why don't we use similar techniques for the OAuth authorization API?

regards,
Torsten.

BTW: Our security token service at Deutsche Telekom does it that way. 
Developers like the easy way they can authenticate, access identity data 
and integrate these functions into their applications.

Am 16.04.2010 17:38, schrieb Manger, James H:
>
> One thing missing from the current access token responses is any 
> indication of where the token can be used.
>
> This seems potentially dangerous as the token might be included when, 
> say, following links or redirects from a protected resource.
>
> The solution is probably fairly easy: specify the list of services 
> where the token can be used when the token is issued.
>
> 1. A list of domains?
>
> 2. A list of â€œoriginsâ€ (scheme://host:port)?
>
> 3. Allow a wildcard, eg *.example.com?
>
> Iâ€™ll pick #2.
>
> Example: sites=https://api.example.com http://photo.example.com
>
> Others have noted the similarities between a bearer token and a 
> cookie. Cookies indicate where they can be used. They also have some 
> other meta-data that might help tokens. For instance, a â€˜secureâ€™ field 
> indicating that the token must not be used without https.
>
> All this information describing the token deserves its own media type.
>
> My suggestion: application/credentials.
>
> It could keep the existing syntax, but a little more structure from a 
> syntax such as JSON might be easier. That would also make it easier to 
> include multiple tokens (eg a bearer token, another with a secret, 
> another for a specific service).
>
> The refresh_token field would be better thought of as a URI for a 
> token resource.
>
> Example:
>
> C->S:
>
>   POST /token/ HTTP/1.1
>
>   â€¦
>
> C<-S:
>
>   HTTP/1.1 200 OK
>
>   Content-type: application/credentials
>
>   {
>
>     â€œlocationâ€:â€http://as.example.com/token/76875634576387634765374â€,
>
>     â€œexpires_inâ€:3600,
>
>     â€œcredentialsâ€:{
>
>      { â€œschemeâ€:â€TOKENâ€, â€œsitesâ€:[â€œhttps://api.example.comâ€, 
> â€œhttp://photo.example.comâ€],
>
>          â€œrealmâ€:â€General appsâ€, â€œidâ€:â€HGF676t7f6f7F67ffr76ffâ€ },
>
>      { â€œschemeâ€:â€BASICâ€, â€œsitesâ€:[â€œhttps://blog.example.comâ€],
>
>          â€œrealmâ€:â€General appsâ€, â€œidâ€:â€dGFDdd464464Ddfdâ€, 
> â€œsecretâ€:â€tutvT67vV76tvTtvTvTvâ€ }
>
>     }
>
>   }
>
> Use the â€œlocationâ€ field to refresh (or delete) the token.
>
> -- 
>
> James Manger
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    


--------------050806000803030404020004
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
elegant design :-) which raises an important question to me:<br>
<br>
If we would design any API for the web we would probably use mime types
and JSON/XML for transporting data. <br>
<br>
Why don't we use similar techniques for the OAuth authorization API?<br>
<br>
regards,<br>
Torsten.<br>
<br>
BTW: Our security token service at Deutsche Telekom does it that way.
Developers like the easy way they can authenticate, access identity
data and integrate these
functions into their applications. <br>
<br>
Am 16.04.2010 17:38, schrieb Manger, James H:
<blockquote
 cite="mid:255B9BB34FB7D647A506DC292726F6E112575922E9@WSMSG3153V.srv.dir.telstra.com"
 type="cite">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta name="Generator" content="Microsoft Word 12 (filtered medium)">
  <style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page Section1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
	{page:Section1;}
-->
  </style><!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
  <div class="Section1">
  <p class="MsoNormal">One thing missing from the current access token
responses is any indication of where the token can be used.<o:p></o:p></p>
  <p class="MsoNormal"><o:p>Â </o:p></p>
  <p class="MsoNormal">This seems potentially dangerous as the token
might be included when, say, following links or redirects from a
protected resource.<o:p></o:p></p>
  <p class="MsoNormal"><o:p>Â </o:p></p>
  <p class="MsoNormal">The solution is probably fairly easy: specify
the list of services where the token can be used when the token is
issued.<o:p></o:p></p>
  <p class="MsoNormal">1. A list of domains?<o:p></o:p></p>
  <p class="MsoNormal">2. A list of â€œoriginsâ€ (scheme://host:port)?<o:p></o:p></p>
  <p class="MsoNormal">3. Allow a wildcard, eg *.example.com?<o:p></o:p></p>
  <p class="MsoNormal">Iâ€™ll pick #2.<o:p></o:p></p>
  <p class="MsoNormal">Example: sites=<a class="moz-txt-link-freetext" href="https://api.example.com">https://api.example.com</a>
<a class="moz-txt-link-freetext" href="http://photo.example.com">http://photo.example.com</a><o:p></o:p></p>
  <p class="MsoNormal"><o:p>Â </o:p></p>
  <p class="MsoNormal">Others have noted the similarities between a
bearer token and a cookie. Cookies indicate where they can be used.
They also have some other meta-data that might help tokens. For
instance, a â€˜secureâ€™ field indicating that the token must not be used
without https.<o:p></o:p></p>
  <p class="MsoNormal"><o:p>Â </o:p></p>
  <p class="MsoNormal"><o:p>Â </o:p></p>
  <p class="MsoNormal">All this information describing the token
deserves its own media type.<o:p></o:p></p>
  <p class="MsoNormal">My suggestion: application/credentials.<o:p></o:p></p>
  <p class="MsoNormal"><o:p>Â </o:p></p>
  <p class="MsoNormal">It could keep the existing syntax, but a little
more structure from a syntax such as JSON might be easier. That would
also make it easier to include multiple tokens (eg a bearer token,
another with a secret, another for a specific service).<o:p></o:p></p>
  <p class="MsoNormal"><o:p>Â </o:p></p>
  <p class="MsoNormal">The refresh_token field would be better thought
of as a URI for a token resource.<o:p></o:p></p>
  <p class="MsoNormal"><o:p>Â </o:p></p>
  <p class="MsoNormal">Example:<o:p></o:p></p>
  <p class="MsoNormal"><o:p>Â </o:p></p>
  <p class="MsoNormal">C-&gt;S:<o:p></o:p></p>
  <p class="MsoNormal">Â  POST /token/ HTTP/1.1<o:p></o:p></p>
  <p class="MsoNormal">Â  â€¦<o:p></o:p></p>
  <p class="MsoNormal">C&lt;-S:<o:p></o:p></p>
  <p class="MsoNormal">Â Â HTTP/1.1 200 OK<o:p></o:p></p>
  <p class="MsoNormal">Â  Content-type: application/credentialsÂ Â Â Â  <o:p></o:p></p>
  <p class="MsoNormal"><o:p>Â </o:p></p>
  <p class="MsoNormal">Â  {<o:p></o:p></p>
  <p class="MsoNormal">Â Â Â 
â€œlocationâ€:â€<a class="moz-txt-link-freetext" href="http://as.example.com/token/76875634576387634765374â€">http://as.example.com/token/76875634576387634765374â€</a>,<o:p></o:p></p>
  <p class="MsoNormal">Â Â Â  â€œexpires_inâ€:3600,<o:p></o:p></p>
  <p class="MsoNormal">Â Â Â  â€œcredentialsâ€:{<o:p></o:p></p>
  <p class="MsoNormal">Â Â Â Â  { â€œschemeâ€:â€TOKENâ€,
â€œsitesâ€:[â€œ<a class="moz-txt-link-freetext" href="https://api.example.comâ€">https://api.example.comâ€</a>, â€œ<a class="moz-txt-link-freetext" href="http://photo.example.comâ€">http://photo.example.comâ€</a>],<o:p></o:p></p>
  <p class="MsoNormal">Â Â Â Â Â Â Â Â  â€œrealmâ€:â€General appsâ€,
â€œidâ€:â€HGF676t7f6f7F67ffr76ffâ€ },<o:p></o:p></p>
  <p class="MsoNormal">Â Â Â Â  { â€œschemeâ€:â€BASICâ€,
â€œsitesâ€:[â€œ<a class="moz-txt-link-freetext" href="https://blog.example.comâ€">https://blog.example.comâ€</a>],<o:p></o:p></p>
  <p class="MsoNormal">Â Â Â Â Â Â Â Â  â€œrealmâ€:â€General appsâ€,
â€œidâ€:â€dGFDdd464464Ddfdâ€, â€œsecretâ€:â€tutvT67vV76tvTtvTvTvâ€ }<o:p></o:p></p>
  <p class="MsoNormal">Â  Â Â }<o:p></o:p></p>
  <p class="MsoNormal">Â  }<o:p></o:p></p>
  <p class="MsoNormal"><o:p>Â </o:p></p>
  <p class="MsoNormal"><o:p>Â </o:p></p>
  <p class="MsoNormal">Use the â€œlocationâ€ field to refresh (or delete)
the token.<o:p></o:p></p>
  <p class="MsoNormal"><o:p>Â </o:p></p>
  <p class="MsoNormal">-- <o:p></o:p></p>
  <p class="MsoNormal">James Manger<o:p></o:p></p>
  <p class="MsoNormal"><o:p>Â </o:p></p>
  </div>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>
  </pre>
</blockquote>
<br>
</body>
</html>

--------------050806000803030404020004--


From torsten@lodderstedt.net  Sat Apr 17 01:48:25 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id F20E63A6AE1 for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 01:48:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.624
X-Spam-Level: 
X-Spam-Status: No, score=-1.624 tagged_above=-999 required=5 tests=[AWL=0.024,  BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001, J_CHICKENPOX_53=0.6]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5z-KTphVao8R for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 01:48:24 -0700 (PDT)
Received: from smtprelay04.ispgateway.de (smtprelay04.ispgateway.de [80.67.31.42]) by core3.amsl.com (Postfix) with ESMTP id 7009B3A6844 for <oauth@ietf.org>; Sat, 17 Apr 2010 01:48:23 -0700 (PDT)
Received: from p4fff3dd0.dip.t-dialin.net ([79.255.61.208] helo=[127.0.0.1]) by smtprelay04.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O33h8-0002D4-S5; Sat, 17 Apr 2010 10:48:06 +0200
Message-ID: <4BC975C4.9040003@lodderstedt.net>
Date: Sat, 17 Apr 2010 10:48:04 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: "Manger, James H" <James.H.Manger@team.telstra.com>
References: <h2o74caaad21004151238w60c3afd3td8dccdd8a7127a4a@mail.gmail.com>	<C7ECBC36.32379%eran@hueniverse.com>	<191F411E00E19F4E943ECDB6D65C60851691F095@TK5EX14MBXC115.redmond.corp.microsoft.com>	<255B9BB34FB7D647A506DC292726F6E1125748109A@WSMSG3153V.srv.dir.telstra.com>	<191F411E00E19F4E943ECDB6D65C60851691F5A9@TK5EX14MBXC115.redmond.corp.microsoft.com>	<255B9BB34FB7D647A506DC292726F6E11257591D3B@WSMSG3153V.srv.dir.telstra.com>	<191F411E00E19F4E943ECDB6D65C60851691F645@TK5EX14MBXC115.redmond.corp.microsoft.com> <255B9BB34FB7D647A506DC292726F6E11257591E3F@WSMSG3153V.srv.dir.telstra.com>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E11257591E3F@WSMSG3153V.srv.dir.telstra.com>
Content-Type: multipart/alternative; boundary="------------050106040703060802070403"
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 08:48:26 -0000

This is a multi-part message in MIME format.
--------------050106040703060802070403
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

in a recent discussion, another proposal was to use the realm attribute 
of the WWW-Authenticate header to indicate the scope

So in your example the header would include two attributes
authz-uri=http://as.com
realm=foo

What do you think?

regards,
Torsten.

Am 16.04.2010 06:43, schrieb Manger, James H:
>
> > So, letâ€™s say there is an Authorization Server available at 
> http://as.com and it protects the http://foo.com and http://bar.com 
> resources.
>
> > A client requests http://foo.com. The foo.com server responds with a 
> WWW-Auth that contains the http://as.com URI. The client then sends an 
> access token request to http://as.com. Is that right?
>
> > If so, then how does http://as.com know that the intended resource is 
> http://foo.com?
>
> Foo.com should point the client at, say, http://as.com/foo/ or 
> http://foo.as.com/ or http://as.com/?scope=foo or 
> http://as.com/?encrypted_resource_id=273648264287642 or whatever it 
> has agreed to with its AS.
>
> The WWW-Auth response from foo.com should not be just http://as.com.
>
> Foo is much better placed to know it shares as.com with Bar than a 
> client is.
>
> --
>
> James Manger
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    


--------------050106040703060802070403
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
in a recent discussion, another proposal was to use the realm attribute
of the WWW-Authenticate header to indicate the scope<br>
<br>
So in your example the header would include two attributes<br>
authz-uri=<a class="moz-txt-link-freetext" href="http://as.com">http://as.com</a><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US"></span><br>
realm=foo<span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US"></span><br>
<br>
What do you think?<br>
<br>
regards,<br>
Torsten.<br>
<br>
Am 16.04.2010 06:43, schrieb Manger, James H:
<blockquote
 cite="mid:255B9BB34FB7D647A506DC292726F6E11257591E3F@WSMSG3153V.srv.dir.telstra.com"
 type="cite">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta name="Generator" content="Microsoft Word 12 (filtered medium)">
  <title>Re: [OAUTH-WG] Issue: Scope parameter</title>
  <style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle18
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle19
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle20
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle21
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle22
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page Section1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
	{page:Section1;}
-->
  </style><!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
  <div class="Section1">
  <p class="MsoNormal" style="margin-left: 36pt;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">&gt;
  </span><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">So, letâ€™s say there is an Authorization Server available
at
  <a moz-do-not-send="true" href="http://as.com">http://as.com</a> and
it protects the <a moz-do-not-send="true" href="http://foo.com">
http://foo.com</a> and <a moz-do-not-send="true" href="http://bar.com">http://bar.com</a>
resources.<o:p></o:p></span></p>
  <p class="MsoNormal" style="margin-left: 36pt;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US"><o:p>Â </o:p></span></p>
  <p class="MsoNormal" style="margin-left: 36pt;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">&gt;
  </span><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">A client requests Â <a moz-do-not-send="true"
 href="http://foo.com">http://foo.com</a>. The foo.com server responds
with a WWW-Auth that contains the
  <a moz-do-not-send="true" href="http://as.com">http://as.com</a> URI.
The client then sends an access token request to
  <a moz-do-not-send="true" href="http://as.com">http://as.com</a>. Is
that right?<o:p></o:p></span></p>
  <p class="MsoNormal" style="margin-left: 36pt;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US"><o:p>Â </o:p></span></p>
  <p class="MsoNormal" style="margin-left: 36pt;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">&gt;
  </span><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">If so, then how does
  <a moz-do-not-send="true" href="http://as.com">http://as.com</a> know
that the intended resource is <a moz-do-not-send="true"
 href="http://foo.com">
http://foo.com</a>? <o:p></o:p></span></p>
  <p class="MsoNormal" style="margin-left: 36pt;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US"><o:p>Â </o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US"><o:p>Â </o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">Foo.com should point the client at, say,
  <a moz-do-not-send="true" href="http://as.com/foo/">http://as.com/foo/</a>
or <a moz-do-not-send="true" href="http://foo.as.com/">
http://foo.as.com/</a> or <a moz-do-not-send="true"
 href="http://as.com/?scope=foo">http://as.com/?scope=foo</a> or
  <a moz-do-not-send="true"
 href="http://as.com/?encrypted_resource_id=273648264287642">http://as.com/?encrypted_resource_id=273648264287642</a>
or whatever it has agreed to with its AS.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">The WWW-Auth response from foo.com should not be just
  <a moz-do-not-send="true" href="http://as.com">http://as.com</a>.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">Foo is much better placed to know it shares as.com with
Bar than a client is.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US"><o:p>Â </o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">--<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">James Manger<o:p></o:p></span></p>
  </div>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>
  </pre>
</blockquote>
<br>
</body>
</html>

--------------050106040703060802070403--


From eran@hueniverse.com  Sat Apr 17 04:43:14 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C8D113A68F6 for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 04:43:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.471
X-Spam-Level: 
X-Spam-Status: No, score=-2.471 tagged_above=-999 required=5 tests=[AWL=0.127,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Bk6hPshfpF1l for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 04:43:09 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id E5ABE3A6863 for <oauth@ietf.org>; Sat, 17 Apr 2010 04:43:08 -0700 (PDT)
Received: (qmail 25822 invoked from network); 17 Apr 2010 11:43:00 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 17 Apr 2010 11:43:00 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Sat, 17 Apr 2010 04:43:01 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>, James Manger <James.H.Manger@team.telstra.com>
Date: Sat, 17 Apr 2010 04:42:57 -0700
Thread-Topic: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
Thread-Index: AcreBXyhwMO7BvK2S/y39OthXsgISQAHaMLj
Message-ID: <C7EEECD1.32476%eran@hueniverse.com>
In-Reply-To: <4BC96CF4.7050009@lodderstedt.net>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7EEECD132476eranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 11:43:14 -0000

--_000_C7EEECD132476eranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

How would use differentiate between the username and password profile and t=
he client credentials profile, if you are using Basic or Digest?

EHL


On 4/17/10 1:10 AM, "Torsten Lodderstedt" <torsten@lodderstedt.net> wrote:

I support the idea to use standard HTTP auth mechanisms for authentication =
on the authorization server endpoint. From a design standpoint this is just=
 an API - which we cannot to protect via OAuth tokens because it issues the=
se tokens. But we can use HTTP standard authorization mechanisms (and heade=
rs) as BASIC or DIGEST to authenticate the callers. This gives implementati=
ons the option to use other mechanisms (like SPNEGO or CERT). And as James =
pointed out, there might (will in our case) other requests on this endpoint=
 used to provide additional services via other HTTP methods, e.g. DELETE. M=
oreover, standard authn modules (as in HTTPClient) can directly be used to =
implement access to OAuth authorization servers.

I would recommend to separate functional API parameters, like callback url,=
 and authorization data.

regards,
Torsten.

Am 17.04.2010 06:52, schrieb Manger, James H:
  Re: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints


> This has nothing to do with it. There is no PUT and DELETE or POST with n=
on-form body when *requesting a token*.



It is relevant.

I don't want to authenticate direct client requests *only* when they *reque=
st a token*.

Clients might make any variety of direct requests unrelated to OAuth.

There might even be other OAuth-related requests from clients to an authori=
zation server in future (eg get meta data, or delete a token; even refreshi=
ng a token might be better as a GET).

I want to be able to use the same client auth mechanism, and same client cr=
edentials, for all these calls.

Some of these calls might be PUTs, DELETEs, non-form POSTs, GETs etc. even =
if requesting (& refreshing) a token is always a form POST.

Hence client_secret as a POST parameter when requesting a token is a poor d=
esign.





It should be perfectly valid (and not uncommon I expect) for a service to s=
upport OAuth for user delegation, but not use OAuth for making all direct c=
lient calls token-based - these address quite different issues.

Other services might use short-term refreshable tokens when clients (on the=
ir own behalf) access less trusted "content" service, but will use "normal"=
 auth when clients talk to the trusted account/authorization system.





--_000_C7EEECD132476eranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Issue: Split the authorization endpoint into two endp=
oints</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>How would use differentiate between the username and password profile=
 and the client credentials profile, if you are using Basic or Digest?<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/17/10 1:10 AM, &quot;Torsten Lodderstedt&quot; &lt;<a href=3D"torsten@=
lodderstedt.net">torsten@lodderstedt.net</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>I support the idea to use standard HTTP aut=
h mechanisms for authentication on the authorization server endpoint. From =
a design standpoint this is just an API - which we cannot to protect via OA=
uth tokens because it issues these tokens. But we can use HTTP standard aut=
horization mechanisms (and headers) as BASIC or DIGEST to authenticate the =
callers. This gives implementations the option to use other mechanisms (lik=
e SPNEGO or CERT). And as James pointed out, there might (will in our case)=
 other requests on this endpoint used to provide additional services via ot=
her HTTP methods, e.g. DELETE. Moreover, standard authn modules (as in HTTP=
Client) can directly be used to implement access to OAuth authorization ser=
vers. <BR>
<BR>
I would recommend to separate functional API parameters, like callback url,=
 and authorization data. <BR>
<BR>
regards,<BR>
Torsten.<BR>
<BR>
Am 17.04.2010 06:52, schrieb Manger, James H: <BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'> &nbsp;&nbsp;Re: [OAUTH-WG] Issue: Split th=
e authorization endpoint into two endpoints &nbsp;<BR>
&nbsp;<BR>
<BR>
&gt; This has nothing to do with it. There is no PUT and DELETE or POST wit=
h non-form body when *requesting a token*<B>.<BR>
&nbsp;<BR>
&nbsp;<BR>
</B> <BR>
It is relevant.<BR>
&nbsp;<BR>
I don&#8217;t want to authenticate direct client requests *<B>only</B>* whe=
n they *<B>request a token</B>*.<BR>
&nbsp;<BR>
Clients might make any variety of direct requests unrelated to OAuth.<BR>
&nbsp;<BR>
There might even be other OAuth-related requests from clients to an authori=
zation server in future (eg get meta data, or delete a token; even refreshi=
ng a token might be better as a GET).<BR>
&nbsp;<BR>
I want to be able to use the same client auth mechanism, and same client cr=
edentials, for all these calls.<BR>
&nbsp;<BR>
Some of these calls might be PUTs, DELETEs, non-form POSTs, GETs etc. even =
if requesting (&amp; refreshing) a token is always a form POST.<BR>
&nbsp;<BR>
Hence client_secret as a POST parameter when requesting a token is a poor d=
esign.<BR>
&nbsp;<BR>
=A0<BR>
&nbsp;<BR>
=A0<BR>
&nbsp;<BR>
It should be perfectly valid (and not uncommon I expect) for a service to s=
upport OAuth for user delegation, but not use OAuth for making all direct c=
lient calls token-based &#8212; these address quite different issues.<BR>
&nbsp;<BR>
Other services might use short-term refreshable tokens when clients (on the=
ir own behalf) access less trusted &#8220;content&#8221; service, but will =
use &#8220;normal&#8221; auth when clients talk to the trusted account/auth=
orization system.<BR>
&nbsp;<BR>
=A0<BR>
&nbsp;<BR>
&nbsp;<BR>
</SPAN></FONT></BLOCKQUOTE></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7EEECD132476eranhueniversecom_--

From James.H.Manger@team.telstra.com  Sat Apr 17 05:05:11 2010
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 905453A6A13 for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 05:05:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.501
X-Spam-Level: 
X-Spam-Status: No, score=0.501 tagged_above=-999 required=5 tests=[AWL=-0.088,  BAYES_05=-1.11, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, HTML_MESSAGE=0.001, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1yS9z9f4eBwP for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 05:05:10 -0700 (PDT)
Received: from ipxbno.tcif.telstra.com.au (ipxbno.tcif.telstra.com.au [203.35.82.204]) by core3.amsl.com (Postfix) with ESMTP id 4A1783A6944 for <oauth@ietf.org>; Sat, 17 Apr 2010 05:05:09 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.52,226,1270389600"; d="scan'208,217";a="1104377"
Received: from unknown (HELO ipcani.tcif.telstra.com.au) ([10.97.216.200]) by ipobni.tcif.telstra.com.au with ESMTP; 17 Apr 2010 22:05:00 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,5953"; a="1128890"
Received: from wsmsg3703.srv.dir.telstra.com ([172.49.40.171]) by ipcani.tcif.telstra.com.au with ESMTP; 17 Apr 2010 22:05:00 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by WSMSG3703.srv.dir.telstra.com ([172.49.40.171]) with mapi; Sat, 17 Apr 2010 22:04:59 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, Torsten Lodderstedt <torsten@lodderstedt.net>, OAuth WG <oauth@ietf.org>
Date: Sat, 17 Apr 2010 22:04:57 +1000
Thread-Topic: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
Thread-Index: AcreBXyhwMO7BvK2S/y39OthXsgISQAHaMLjAABYyYA=
Message-ID: <255B9BB34FB7D647A506DC292726F6E1125759234A@WSMSG3153V.srv.dir.telstra.com>
References: <4BC96CF4.7050009@lodderstedt.net> <C7EEECD1.32476%eran@hueniverse.com>
In-Reply-To: <C7EEECD1.32476%eran@hueniverse.com>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-AU
Content-Type: multipart/alternative; boundary="_000_255B9BB34FB7D647A506DC292726F6E1125759234AWSMSG3153Vsrv_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 12:05:11 -0000

--_000_255B9BB34FB7D647A506DC292726F6E1125759234AWSMSG3153Vsrv_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

PiBIb3cgd291bGQgdXNlIGRpZmZlcmVudGlhdGUgYmV0d2VlbiB0aGUgdXNlcm5hbWUgYW5kIHBh
c3N3b3JkIHByb2ZpbGUgYW5kIHRoZSBjbGllbnQgY3JlZGVudGlhbHMgcHJvZmlsZSwgaWYgeW91
IGFyZSB1c2luZyBCYXNpYyBvciBEaWdlc3Q/DQoNCg0KDQpSZW1vdmluZyB0aGUgY2xpZW50X3Nl
Y3JldCBmcm9tIGJvdGggZmxvd3Mgc3RpbGwgbGVhdmVzIG9uZSBmbG93IHdpdGgg4oCYdXNlcm5h
bWXigJkgYW5kIOKAmHBhc3N3b3Jk4oCZIFBPU1QgcGFyYW1ldGVycyAob2YgdGhlIHVzZXIsIG5v
dCBjbGllbnQpLCB3aGljaCBpbmRpY2F0ZXMgd2hldGhlciBhIHRva2VuIGFjdGluZyBmb3IgdGhl
IHVzZXIgb3IgY2xpZW50IGlzIGRlc2lyZWQuDQoNCg0KDQo=

--_000_255B9BB34FB7D647A506DC292726F6E1125759234AWSMSG3153Vsrv_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTIgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHRpdGxl
PlJlOiBbT0FVVEgtV0ddIElzc3VlOiBTcGxpdCB0aGUgYXV0aG9yaXphdGlvbiBlbmRwb2ludCBp
bnRvIHR3byBlbmRwb2ludHM8L3RpdGxlPg0KPHN0eWxlPg0KPCEtLQ0KIC8qIEZvbnQgRGVmaW5p
dGlvbnMgKi8NCiBAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJDYW1icmlhIE1hdGgiOw0KCXBh
bm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpD
YWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0IDMgMiA0O30NCiAvKiBTdHlsZSBEZWZp
bml0aW9ucyAqLw0KIHAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7
bWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEyLjBwdDsN
Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIiwic2VyaWYiO30NCmE6bGluaywgc3Bhbi5N
c29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4
dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9s
bG93ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOnB1cnBsZTsNCgl0ZXh0LWRl
Y29yYXRpb246dW5kZXJsaW5lO30NCnNwYW4uRW1haWxTdHlsZTE3DQoJe21zby1zdHlsZS10eXBl
OnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQoJ
Y29sb3I6IzFGNDk3RDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlwZTpleHBvcnQt
b25seTsNCglmb250LXNpemU6MTAuMHB0O30NCkBwYWdlIFNlY3Rpb24xDQoJe3NpemU6NjEyLjBw
dCA3OTIuMHB0Ow0KCW1hcmdpbjo3Mi4wcHQgNzIuMHB0IDcyLjBwdCA3Mi4wcHQ7fQ0KZGl2LlNl
Y3Rpb24xDQoJe3BhZ2U6U2VjdGlvbjE7fQ0KLS0+DQo8L3N0eWxlPjwhLS1baWYgZ3RlIG1zbyA5
XT48eG1sPg0KIDxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+
DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCiA8bzpzaGFwZWxh
eW91dCB2OmV4dD0iZWRpdCI+DQogIDxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0K
IDwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9
IkVOLUFVIiBsaW5rPSJibHVlIiB2bGluaz0icHVycGxlIj4NCjxkaXYgY2xhc3M9IlNlY3Rpb24x
Ij4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6MGNtO21h
cmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbToNCjEyLjBwdDttYXJnaW4tbGVmdDozNi4wcHQi
Pg0KPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LCZxdW90O3NhbnMt
c2VyaWYmcXVvdDs7DQpjb2xvcjojMUY0OTdEIj4mZ3Q7IDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMt
c2VyaWYmcXVvdDsiPkhvdyB3b3VsZCB1c2UgZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHRoZSB1c2Vy
bmFtZSBhbmQgcGFzc3dvcmQgcHJvZmlsZSBhbmQgdGhlIGNsaWVudCBjcmVkZW50aWFscyBwcm9m
aWxlLCBpZiB5b3UgYXJlIHVzaW5nDQogQmFzaWMgb3IgRGlnZXN0Pzxicj4NCjxicj4NCjxzcGFu
IHN0eWxlPSJjb2xvcjojMUY0OTdEIj48bzpwPjwvbzpwPjwvc3Bhbj48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDsNCmZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1
b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj5SZW1vdmluZyB0aGUgY2xpZW50X3Nl
Y3JldCBmcm9tIGJvdGggZmxvd3Mgc3RpbGwgbGVhdmVzIG9uZSBmbG93IHdpdGgg4oCYdXNlcm5h
bWXigJkgYW5kIOKAmHBhc3N3b3Jk4oCZIFBPU1QgcGFyYW1ldGVycyAob2YgdGhlIHVzZXIsDQog
bm90IGNsaWVudCksIHdoaWNoIGluZGljYXRlcyB3aGV0aGVyIGEgdG9rZW4gYWN0aW5nIGZvciB0
aGUgdXNlciBvciBjbGllbnQgaXMgZGVzaXJlZC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9ib2R5Pg0K
PC9odG1sPg0K

--_000_255B9BB34FB7D647A506DC292726F6E1125759234AWSMSG3153Vsrv_--

From James.H.Manger@team.telstra.com  Sat Apr 17 05:30:45 2010
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D76293A6945 for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 05:30:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.062
X-Spam-Level: 
X-Spam-Status: No, score=0.062 tagged_above=-999 required=5 tests=[AWL=0.362,  BAYES_00=-2.599, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, HTML_MESSAGE=0.001, J_CHICKENPOX_53=0.6, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aZWdF6jBF5ug for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 05:30:43 -0700 (PDT)
Received: from ipxano.tcif.telstra.com.au (ipxano.tcif.telstra.com.au [203.35.82.200]) by core3.amsl.com (Postfix) with ESMTP id CE3ED3A68F9 for <oauth@ietf.org>; Sat, 17 Apr 2010 05:30:37 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.52,226,1270389600"; d="scan'208,217";a="1419249"
Received: from unknown (HELO ipcani.tcif.telstra.com.au) ([10.97.216.200]) by ipoani.tcif.telstra.com.au with ESMTP; 17 Apr 2010 22:30:29 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,5953"; a="1129044"
Received: from wsmsg3706.srv.dir.telstra.com ([172.49.40.80]) by ipcani.tcif.telstra.com.au with ESMTP; 17 Apr 2010 22:30:29 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by wsmsg3706.srv.dir.telstra.com ([172.49.40.80]) with mapi; Sat, 17 Apr 2010 22:30:28 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: OAuth WG <oauth@ietf.org>
Date: Sat, 17 Apr 2010 22:30:26 +1000
Thread-Topic: [OAUTH-WG] Issue: Scope parameter
Thread-Index: AcreCrwzy/VTT5RFTXKXKySFcyc7IQAG320Q
Message-ID: <255B9BB34FB7D647A506DC292726F6E1125759234D@WSMSG3153V.srv.dir.telstra.com>
References: <h2o74caaad21004151238w60c3afd3td8dccdd8a7127a4a@mail.gmail.com> <C7ECBC36.32379%eran@hueniverse.com> <191F411E00E19F4E943ECDB6D65C60851691F095@TK5EX14MBXC115.redmond.corp.microsoft.com> <255B9BB34FB7D647A506DC292726F6E1125748109A@WSMSG3153V.srv.dir.telstra.com> <191F411E00E19F4E943ECDB6D65C60851691F5A9@TK5EX14MBXC115.redmond.corp.microsoft.com> <255B9BB34FB7D647A506DC292726F6E11257591D3B@WSMSG3153V.srv.dir.telstra.com> <191F411E00E19F4E943ECDB6D65C60851691F645@TK5EX14MBXC115.redmond.corp.microsoft.com> <255B9BB34FB7D647A506DC292726F6E11257591E3F@WSMSG3153V.srv.dir.telstra.com> <4BC975C4.9040003@lodderstedt.net>
In-Reply-To: <4BC975C4.9040003@lodderstedt.net>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-AU
Content-Type: multipart/alternative; boundary="_000_255B9BB34FB7D647A506DC292726F6E1125759234DWSMSG3153Vsrv_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 12:30:45 -0000

--_000_255B9BB34FB7D647A506DC292726F6E1125759234DWSMSG3153Vsrv_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

PiBhdXRoei11cmk9aHR0cDovL2FzLmNvbQ0KPiByZWFsbT1mb28NCj4NCj4gV2hhdCBkbyB5b3Ug
dGhpbms/DQoNCg0KDQpJIGNhbuKAmXQgc2VlIGFueSBiZW5lZml0IGluIG1ha2luZyB0aGUgY2xp
ZW50IGFwcCBjb21iaW5lIHRoZSByZWFsbSBhbmQgYXV0aHotdXJpLCBvdmVyIHRoZSBzZXJ2ZXIg
anVzdCByZXR1cm5pbmcgYW4gYXV0aHotdXJpIHdpdGggdGhhdCBpbmZvcm1hdGlvbiBhbHJlYWR5
IGluY2x1ZGVkIChpbiB3aGF0ZXZlciBjb25jaXNlIGZvcm0gaXQgd2FudHMpLg0KDQoNCg0KDQoN
Ck1hdGNoaW5nIHJlYWxtIHZhbHVlcyBhbGxvd3MgYSBjbGllbnQgdG8gcmVjb2duaXplIHdoZW4g
dGhlIHNhbWUgY3JlZGVudGlhbCAoZWcgdG9rZW4pIGNhbiBiZSB1c2VkLiBUaGlzIG1pZ2h0IHBy
ZWNsdWRlIHJlYWxtIHZhbHVlcyBkaWZmZXJpbmcgYmV0d2VlbiBGb28gYW5kIEJhciBzZXJ2aWNl
cyB0aGF0IGNhbiBhY2NlcHQgdGhlIHNhbWUgdG9rZW5zLg0KDQoNCg0KDQoNCi0tDQoNCkphbWVz
IE1hbmdlcg0KDQoNCg0KRnJvbTogVG9yc3RlbiBMb2RkZXJzdGVkdCBbbWFpbHRvOnRvcnN0ZW5A
bG9kZGVyc3RlZHQubmV0XQ0KU2VudDogU2F0dXJkYXksIDE3IEFwcmlsIDIwMTAgNjo0OCBQTQ0K
VG86IE1hbmdlciwgSmFtZXMgSA0KQ2M6IEp1c3RpbiBTbWl0aDsgT0F1dGggV0cNClN1YmplY3Q6
IFJlOiBbT0FVVEgtV0ddIElzc3VlOiBTY29wZSBwYXJhbWV0ZXINCg0KDQoNCmluIGEgcmVjZW50
IGRpc2N1c3Npb24sIGFub3RoZXIgcHJvcG9zYWwgd2FzIHRvIHVzZSB0aGUgcmVhbG0gYXR0cmli
dXRlIG9mIHRoZSBXV1ctQXV0aGVudGljYXRlIGhlYWRlciB0byBpbmRpY2F0ZSB0aGUgc2NvcGUN
Cg0KU28gaW4geW91ciBleGFtcGxlIHRoZSBoZWFkZXIgd291bGQgaW5jbHVkZSB0d28gYXR0cmli
dXRlcw0KYXV0aHotdXJpPWh0dHA6Ly9hcy5jb20NCnJlYWxtPWZvbw0KDQpXaGF0IGRvIHlvdSB0
aGluaz8NCg0KcmVnYXJkcywNClRvcnN0ZW4uDQoNCkFtIDE2LjA0LjIwMTAgMDY6NDMsIHNjaHJp
ZWIgTWFuZ2VyLCBKYW1lcyBIOg0KDQo+IFNvLCBsZXTigJlzIHNheSB0aGVyZSBpcyBhbiBBdXRo
b3JpemF0aW9uIFNlcnZlciBhdmFpbGFibGUgYXQgaHR0cDovL2FzLmNvbSBhbmQgaXQgcHJvdGVj
dHMgdGhlIGh0dHA6Ly9mb28uY29tIGFuZCBodHRwOi8vYmFyLmNvbSByZXNvdXJjZXMuDQoNCg0K
DQo+IEEgY2xpZW50IHJlcXVlc3RzICBodHRwOi8vZm9vLmNvbS4gVGhlIGZvby5jb20gc2VydmVy
IHJlc3BvbmRzIHdpdGggYSBXV1ctQXV0aCB0aGF0IGNvbnRhaW5zIHRoZSBodHRwOi8vYXMuY29t
IFVSSS4gVGhlIGNsaWVudCB0aGVuIHNlbmRzIGFuIGFjY2VzcyB0b2tlbiByZXF1ZXN0IHRvIGh0
dHA6Ly9hcy5jb20uIElzIHRoYXQgcmlnaHQ/DQoNCg0KDQo+IElmIHNvLCB0aGVuIGhvdyBkb2Vz
IGh0dHA6Ly9hcy5jb20ga25vdyB0aGF0IHRoZSBpbnRlbmRlZCByZXNvdXJjZSBpcyBodHRwOi8v
Zm9vLmNvbT8NCg0KDQoNCg0KDQpGb28uY29tIHNob3VsZCBwb2ludCB0aGUgY2xpZW50IGF0LCBz
YXksIGh0dHA6Ly9hcy5jb20vZm9vLyBvciBodHRwOi8vZm9vLmFzLmNvbS8gb3IgaHR0cDovL2Fz
LmNvbS8/c2NvcGU9Zm9vIG9yIGh0dHA6Ly9hcy5jb20vP2VuY3J5cHRlZF9yZXNvdXJjZV9pZD0y
NzM2NDgyNjQyODc2NDIgb3Igd2hhdGV2ZXIgaXQgaGFzIGFncmVlZCB0byB3aXRoIGl0cyBBUy4N
Cg0KVGhlIFdXVy1BdXRoIHJlc3BvbnNlIGZyb20gZm9vLmNvbSBzaG91bGQgbm90IGJlIGp1c3Qg
aHR0cDovL2FzLmNvbS4NCg0KRm9vIGlzIG11Y2ggYmV0dGVyIHBsYWNlZCB0byBrbm93IGl0IHNo
YXJlcyBhcy5jb20gd2l0aCBCYXIgdGhhbiBhIGNsaWVudCBpcy4NCg0KDQoNCi0tDQoNCkphbWVz
IE1hbmdlcg0KDQoNCg0K

--_000_255B9BB34FB7D647A506DC292726F6E1125759234DWSMSG3153Vsrv_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTIgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHRpdGxl
PlJlOiBbT0FVVEgtV0ddIElzc3VlOiBTY29wZSBwYXJhbWV0ZXI8L3RpdGxlPg0KPHN0eWxlPg0K
PCEtLQ0KIC8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCiBAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5
OiJDYW1icmlhIE1hdGgiOw0KCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQ0KQGZvbnQt
ZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0IDMg
MiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6VGFob21hOw0KCXBhbm9zZS0xOjIgMTEg
NiA0IDMgNSA0IDQgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q29uc29sYXM7DQoJ
cGFub3NlLTE6MiAxMSA2IDkgMiAyIDQgMyAyIDQ7fQ0KIC8qIFN0eWxlIERlZmluaXRpb25zICov
DQogcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGNt
Ow0KCW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFt
aWx5OiJUaW1lcyBOZXcgUm9tYW4iLCJzZXJpZiI7DQoJY29sb3I6YmxhY2s7fQ0KYTpsaW5rLCBz
cGFuLk1zb0h5cGVybGluaw0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6Ymx1ZTsN
Cgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCmE6dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxp
bmtGb2xsb3dlZA0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6cHVycGxlOw0KCXRl
eHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KcHJlDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsN
Cgltc28tc3R5bGUtbGluazoiSFRNTCBQcmVmb3JtYXR0ZWQgQ2hhciI7DQoJbWFyZ2luOjBjbTsN
CgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWls
eToiQ291cmllciBOZXciOw0KCWNvbG9yOmJsYWNrO30NCnNwYW4uRW1haWxTdHlsZTE3DQoJe21z
by1zdHlsZS10eXBlOnBlcnNvbmFsOw0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJp
ZiI7DQoJY29sb3I6IzFGNDk3RDt9DQpzcGFuLkVtYWlsU3R5bGUxOA0KCXttc28tc3R5bGUtdHlw
ZTpwZXJzb25hbDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KCWNvbG9y
OiMxRjQ5N0Q7fQ0Kc3Bhbi5FbWFpbFN0eWxlMTkNCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWw7
DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsNCgljb2xvcjojMUY0OTdEO30N
CnNwYW4uRW1haWxTdHlsZTIwDQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsOw0KCWZvbnQtZmFt
aWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQoJY29sb3I6IzFGNDk3RDt9DQpzcGFuLkVtYWls
U3R5bGUyMQ0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbDsNCglmb250LWZhbWlseToiQ2FsaWJy
aSIsInNhbnMtc2VyaWYiOw0KCWNvbG9yOiMxRjQ5N0Q7fQ0Kc3Bhbi5FbWFpbFN0eWxlMjINCgl7
bXNvLXN0eWxlLXR5cGU6cGVyc29uYWw7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNl
cmlmIjsNCgljb2xvcjojMUY0OTdEO30NCnNwYW4uSFRNTFByZWZvcm1hdHRlZENoYXINCgl7bXNv
LXN0eWxlLW5hbWU6IkhUTUwgUHJlZm9ybWF0dGVkIENoYXIiOw0KCW1zby1zdHlsZS1wcmlvcml0
eTo5OTsNCgltc28tc3R5bGUtbGluazoiSFRNTCBQcmVmb3JtYXR0ZWQiOw0KCWZvbnQtZmFtaWx5
OkNvbnNvbGFzOw0KCWNvbG9yOmJsYWNrO30NCnNwYW4uRW1haWxTdHlsZTI1DQoJe21zby1zdHls
ZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJp
ZiI7DQoJY29sb3I6IzFGNDk3RDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlwZTpl
eHBvcnQtb25seTsNCglmb250LXNpemU6MTAuMHB0O30NCkBwYWdlIFNlY3Rpb24xDQoJe3NpemU6
NjEyLjBwdCA3OTIuMHB0Ow0KCW1hcmdpbjo3Mi4wcHQgNzIuMHB0IDcyLjBwdCA3Mi4wcHQ7fQ0K
ZGl2LlNlY3Rpb24xDQoJe3BhZ2U6U2VjdGlvbjE7fQ0KLS0+DQo8L3N0eWxlPjwhLS1baWYgZ3Rl
IG1zbyA5XT48eG1sPg0KIDxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEw
MjYiIC8+DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCiA8bzpz
aGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQogIDxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIx
IiAvPg0KIDwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4NCjwvaGVhZD4NCjxib2R5
IGJnY29sb3I9IndoaXRlIiBsYW5nPSJFTi1BVSIgbGluaz0iYmx1ZSIgdmxpbms9InB1cnBsZSI+
DQo8ZGl2IGNsYXNzPSJTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IGF1dGh6
LXVyaT08YSBocmVmPSJodHRwOi8vYXMuY29tIj5odHRwOi8vYXMuY29tPC9hPjxicj4NCiZndDsg
cmVhbG09Zm9vPGJyPg0KJmd0Ozxicj4NCiZndDsgV2hhdCBkbyB5b3UgdGhpbms/PGJyPg0KPGJy
Pg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy
aSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZx
dW90OzsNCmNvbG9yOiMxRjQ5N0QiPkkgY2Fu4oCZdCBzZWUgYW55IGJlbmVmaXQgaW4gbWFraW5n
IHRoZSBjbGllbnQgYXBwIGNvbWJpbmUgdGhlIHJlYWxtIGFuZCBhdXRoei11cmksIG92ZXIgdGhl
IHNlcnZlciBqdXN0IHJldHVybmluZyBhbiBhdXRoei11cmkgd2l0aCB0aGF0IGluZm9ybWF0aW9u
IGFscmVhZHkNCiBpbmNsdWRlZCAoaW4gd2hhdGV2ZXIgY29uY2lzZSBmb3JtIGl0IHdhbnRzKS48
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3Nh
bnMtc2VyaWYmcXVvdDs7DQpjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7DQpj
b2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtD
YWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xvcjojMUY0OTdEIj5NYXRj
aGluZyByZWFsbSB2YWx1ZXMgYWxsb3dzIGEgY2xpZW50IHRvIHJlY29nbml6ZSB3aGVuIHRoZSBz
YW1lIGNyZWRlbnRpYWwgKGVnIHRva2VuKSBjYW4gYmUgdXNlZC4gVGhpcyBtaWdodCBwcmVjbHVk
ZSByZWFsbSB2YWx1ZXMgZGlmZmVyaW5nIGJldHdlZW4gRm9vDQogYW5kIEJhciBzZXJ2aWNlcyB0
aGF0IGNhbiBhY2NlcHQgdGhlIHNhbWUgdG9rZW5zLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMx
RjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7
PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90
O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xvcjojMUY0OTdEIj4tLQ0KPG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ow0K
Y29sb3I6IzFGNDk3RCI+SmFtZXMgTWFuZ2VyPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xv
cjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2Pg0KPGRpdiBzdHls
ZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjQjVDNERGIDEuMHB0O3BhZGRpbmc6My4w
cHQgMGNtIDBjbSAwY20iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0
OjM2LjBwdCI+PGI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O1RhaG9tYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9y
OndpbmRvd3RleHQiPkZyb206PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZv
bnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VGFob21hJnF1b3Q7LCZxdW90O3NhbnMt
c2VyaWYmcXVvdDs7DQpjb2xvcjp3aW5kb3d0ZXh0Ij4NCiBUb3JzdGVuIExvZGRlcnN0ZWR0IFtt
YWlsdG86dG9yc3RlbkBsb2RkZXJzdGVkdC5uZXRdIDxicj4NCjxiPlNlbnQ6PC9iPiBTYXR1cmRh
eSwgMTcgQXByaWwgMjAxMCA2OjQ4IFBNPGJyPg0KPGI+VG86PC9iPiBNYW5nZXIsIEphbWVzIEg8
YnI+DQo8Yj5DYzo8L2I+IEp1c3RpbiBTbWl0aDsgT0F1dGggV0c8YnI+DQo8Yj5TdWJqZWN0Ojwv
Yj4gUmU6IFtPQVVUSC1XR10gSXNzdWU6IFNjb3BlIHBhcmFtZXRlcjxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2lu
LWxlZnQ6MzYuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPmluIGEgcmVjZW50IGRpc2N1c3Npb24sIGFub3Ro
ZXIgcHJvcG9zYWwgd2FzIHRvIHVzZSB0aGUgcmVhbG0gYXR0cmlidXRlIG9mIHRoZSBXV1ctQXV0
aGVudGljYXRlIGhlYWRlciB0byBpbmRpY2F0ZSB0aGUgc2NvcGU8YnI+DQo8YnI+DQpTbyBpbiB5
b3VyIGV4YW1wbGUgdGhlIGhlYWRlciB3b3VsZCBpbmNsdWRlIHR3byBhdHRyaWJ1dGVzPGJyPg0K
YXV0aHotdXJpPTxhIGhyZWY9Imh0dHA6Ly9hcy5jb20iPmh0dHA6Ly9hcy5jb208L2E+PGJyPg0K
cmVhbG09Zm9vPGJyPg0KPGJyPg0KV2hhdCBkbyB5b3UgdGhpbms/PGJyPg0KPGJyPg0KcmVnYXJk
cyw8YnI+DQpUb3JzdGVuLjxicj4NCjxicj4NCkFtIDE2LjA0LjIwMTAgMDY6NDMsIHNjaHJpZWIg
TWFuZ2VyLCBKYW1lcyBIOiA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtYXJnaW4tbGVmdDo3Mi4wcHQiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2Vy
aWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+Jmd0OyBTbywgbGV04oCZcyBzYXkgdGhlcmUgaXMgYW4g
QXV0aG9yaXphdGlvbiBTZXJ2ZXIgYXZhaWxhYmxlIGF0DQo8YSBocmVmPSJodHRwOi8vYXMuY29t
Ij5odHRwOi8vYXMuY29tPC9hPiBhbmQgaXQgcHJvdGVjdHMgdGhlIDxhIGhyZWY9Imh0dHA6Ly9m
b28uY29tIj4NCmh0dHA6Ly9mb28uY29tPC9hPiBhbmQgPGEgaHJlZj0iaHR0cDovL2Jhci5jb20i
Pmh0dHA6Ly9iYXIuY29tPC9hPiByZXNvdXJjZXMuPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjcyLjBwdCI+PHNwYW4gbGFuZz0i
RU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj4mbmJzcDs8L3NwYW4+
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6
NzIuMHB0Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m
YW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMx
RjQ5N0QiPiZndDsgQSBjbGllbnQgcmVxdWVzdHMgJm5ic3A7PGEgaHJlZj0iaHR0cDovL2Zvby5j
b20iPmh0dHA6Ly9mb28uY29tPC9hPi4gVGhlIGZvby5jb20gc2VydmVyIHJlc3BvbmRzIHdpdGgg
YSBXV1ctQXV0aCB0aGF0IGNvbnRhaW5zDQogdGhlIDxhIGhyZWY9Imh0dHA6Ly9hcy5jb20iPmh0
dHA6Ly9hcy5jb208L2E+IFVSSS4gVGhlIGNsaWVudCB0aGVuIHNlbmRzIGFuIGFjY2VzcyB0b2tl
biByZXF1ZXN0IHRvDQo8YSBocmVmPSJodHRwOi8vYXMuY29tIj5odHRwOi8vYXMuY29tPC9hPi4g
SXMgdGhhdCByaWdodD88L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibWFyZ2luLWxlZnQ6NzIuMHB0Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZv
bnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5z
LXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPiZuYnNwOzwvc3Bhbj48bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDo3Mi4wcHQiPjxzcGFuIGxh
bmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxp
YnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+Jmd0OyBJZiBz
bywgdGhlbiBob3cgZG9lcw0KPGEgaHJlZj0iaHR0cDovL2FzLmNvbSI+aHR0cDovL2FzLmNvbTwv
YT4ga25vdyB0aGF0IHRoZSBpbnRlbmRlZCByZXNvdXJjZSBpcyA8YSBocmVmPSJodHRwOi8vZm9v
LmNvbSI+DQpodHRwOi8vZm9vLmNvbTwvYT4/IDwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDo3Mi4wcHQiPjxzcGFuIGxhbmc9IkVO
LVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1
b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+Jm5ic3A7PC9zcGFuPjxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2
LjBwdCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0
OTdEIj4mbmJzcDs8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibWFyZ2luLWxlZnQ6MzYuMHB0Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNl
cmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPkZvby5jb20gc2hvdWxkIHBvaW50IHRoZSBjbGllbnQg
YXQsIHNheSwNCjxhIGhyZWY9Imh0dHA6Ly9hcy5jb20vZm9vLyI+aHR0cDovL2FzLmNvbS9mb28v
PC9hPiBvciA8YSBocmVmPSJodHRwOi8vZm9vLmFzLmNvbS8iPg0KaHR0cDovL2Zvby5hcy5jb20v
PC9hPiBvciA8YSBocmVmPSJodHRwOi8vYXMuY29tLz9zY29wZT1mb28iPmh0dHA6Ly9hcy5jb20v
P3Njb3BlPWZvbzwvYT4gb3INCjxhIGhyZWY9Imh0dHA6Ly9hcy5jb20vP2VuY3J5cHRlZF9yZXNv
dXJjZV9pZD0yNzM2NDgyNjQyODc2NDIiPmh0dHA6Ly9hcy5jb20vP2VuY3J5cHRlZF9yZXNvdXJj
ZV9pZD0yNzM2NDgyNjQyODc2NDI8L2E+IG9yIHdoYXRldmVyIGl0IGhhcyBhZ3JlZWQgdG8gd2l0
aCBpdHMgQVMuPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1hcmdpbi1sZWZ0OjM2LjBwdCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJp
ZiZxdW90Oztjb2xvcjojMUY0OTdEIj5UaGUgV1dXLUF1dGggcmVzcG9uc2UgZnJvbSBmb28uY29t
IHNob3VsZCBub3QgYmUganVzdA0KPGEgaHJlZj0iaHR0cDovL2FzLmNvbSI+aHR0cDovL2FzLmNv
bTwvYT4uPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1hcmdpbi1sZWZ0OjM2LjBwdCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZx
dW90Oztjb2xvcjojMUY0OTdEIj5Gb28gaXMgbXVjaCBiZXR0ZXIgcGxhY2VkIHRvIGtub3cgaXQg
c2hhcmVzIGFzLmNvbSB3aXRoIEJhciB0aGFuIGEgY2xpZW50IGlzLjwvc3Bhbj48bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPjxz
cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVv
dDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+Jm5i
c3A7PC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1h
cmdpbi1sZWZ0OjM2LjBwdCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90
Oztjb2xvcjojMUY0OTdEIj4tLTwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDozNi4wcHQiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90
O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+SmFtZXMgTWFuZ2VyPC9zcGFuPjxvOnA+
PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjM2LjBw
dCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==

--_000_255B9BB34FB7D647A506DC292726F6E1125759234DWSMSG3153Vsrv_--

From torsten@lodderstedt.net  Sat Apr 17 05:39:19 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 731C53A69F6 for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 05:39:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.625
X-Spam-Level: 
X-Spam-Status: No, score=-1.625 tagged_above=-999 required=5 tests=[AWL=0.023,  BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001, J_CHICKENPOX_53=0.6]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PHXT5yj5+jZk for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 05:39:18 -0700 (PDT)
Received: from smtprelay01.ispgateway.de (smtprelay01.ispgateway.de [80.67.18.43]) by core3.amsl.com (Postfix) with ESMTP id 9B9603A69DD for <oauth@ietf.org>; Sat, 17 Apr 2010 05:39:17 -0700 (PDT)
Received: from p4fff3dd0.dip.t-dialin.net ([79.255.61.208] helo=[127.0.0.1]) by smtprelay01.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O37Ia-0005dI-AD; Sat, 17 Apr 2010 14:39:00 +0200
Message-ID: <4BC9ABD8.6070206@lodderstedt.net>
Date: Sat, 17 Apr 2010 14:38:48 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: "Manger, James H" <James.H.Manger@team.telstra.com>
References: <h2o74caaad21004151238w60c3afd3td8dccdd8a7127a4a@mail.gmail.com>	<C7ECBC36.32379%eran@hueniverse.com>	<191F411E00E19F4E943ECDB6D65C60851691F095@TK5EX14MBXC115.redmond.corp.microsoft.com>	<255B9BB34FB7D647A506DC292726F6E1125748109A@WSMSG3153V.srv.dir.telstra.com>	<191F411E00E19F4E943ECDB6D65C60851691F5A9@TK5EX14MBXC115.redmond.corp.microsoft.com>	<255B9BB34FB7D647A506DC292726F6E11257591D3B@WSMSG3153V.srv.dir.telstra.com>	<191F411E00E19F4E943ECDB6D65C60851691F645@TK5EX14MBXC115.redmond.corp.microsoft.com>	<255B9BB34FB7D647A506DC292726F6E11257591E3F@WSMSG3153V.srv.dir.telstra.com>	<4BC975C4.9040003@lodderstedt.net> <255B9BB34FB7D647A506DC292726F6E1125759234D@WSMSG3153V.srv.dir.telstra.com>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E1125759234D@WSMSG3153V.srv.dir.telstra.com>
Content-Type: multipart/alternative; boundary="------------020408070700050507050803"
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 12:39:19 -0000

This is a multi-part message in MIME format.
--------------020408070700050507050803
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Am 17.04.2010 14:30, schrieb Manger, James H:
>
> > authz-uri=http://as.com
> > realm=foo
> >
> > What do you think?
>
> I canâ€™t see any benefit in making the client app combine the realm and 
> authz-uri, over the server just returning an authz-uri with that 
> information already included (in whatever concise form it wants).
>
> Matching realm values allows a client to recognize when the same 
> credential (eg token) can be used. This might preclude realm values 
> differing between Foo and Bar services that can accept the same tokens.
>

How shall the client recognize if the same token can be used for Foo and 
Bar? Realm would be an option-

regards,
Torsten.
>
> -- 
>
> James Manger
>
> *From:* Torsten Lodderstedt [mailto:torsten@lodderstedt.net]
> *Sent:* Saturday, 17 April 2010 6:48 PM
> *To:* Manger, James H
> *Cc:* Justin Smith; OAuth WG
> *Subject:* Re: [OAUTH-WG] Issue: Scope parameter
>
> in a recent discussion, another proposal was to use the realm 
> attribute of the WWW-Authenticate header to indicate the scope
>
> So in your example the header would include two attributes
> authz-uri=http://as.com
> realm=foo
>
> What do you think?
>
> regards,
> Torsten.
>
> Am 16.04.2010 06:43, schrieb Manger, James H:
>
> > So, letâ€™s say there is an Authorization Server available at 
> http://as.com and it protects the http://foo.com and http://bar.com 
> resources.
>
> > A client requests http://foo.com. The foo.com server responds with a 
> WWW-Auth that contains the http://as.com URI. The client then sends an 
> access token request to http://as.com. Is that right?
>
> > If so, then how does http://as.com know that the intended resource is 
> http://foo.com?
>
> Foo.com should point the client at, say, http://as.com/foo/ or 
> http://foo.as.com/ or http://as.com/?scope=foo or 
> http://as.com/?encrypted_resource_id=273648264287642 or whatever it 
> has agreed to with its AS.
>
> The WWW-Auth response from foo.com should not be just http://as.com.
>
> Foo is much better placed to know it shares as.com with Bar than a 
> client is.
>
> --
>
> James Manger
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    


--------------020408070700050507050803
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Am 17.04.2010 14:30, schrieb Manger, James H:
<blockquote
 cite="mid:255B9BB34FB7D647A506DC292726F6E1125759234D@WSMSG3153V.srv.dir.telstra.com"
 type="cite">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta name="Generator" content="Microsoft Word 12 (filtered medium)">
  <title>Re: [OAUTH-WG] Issue: Scope parameter</title>
  <style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	color:black;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";
	color:black;}
span.EmailStyle17
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle18
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle19
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle20
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle21
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle22
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:Consolas;
	color:black;}
span.EmailStyle25
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page Section1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
	{page:Section1;}
-->
  </style><!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
  <div class="Section1">
  <p class="MsoNormal">&gt; authz-uri=<a moz-do-not-send="true"
 href="http://as.com">http://as.com</a><br>
&gt; realm=foo<br>
&gt;<br>
&gt; What do you think?<br>
  <br>
  <span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">I
canâ€™t see any benefit in making the client app combine the realm and
authz-uri, over the server just returning an authz-uri with that
information already included (in whatever concise form it wants).<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>Â </o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>Â </o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">Matching
realm values allows a client to recognize when the same credential (eg
token) can be used. This might preclude realm values differing between
Foo and Bar services that can accept the same tokens.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>Â </o:p></span></p>
  </div>
</blockquote>
<br>
How shall the client recognize if the same token can be used for Foo
and Bar? Realm would be an option-<br>
<br>
regards,<br>
Torsten.<br>
<blockquote
 cite="mid:255B9BB34FB7D647A506DC292726F6E1125759234D@WSMSG3153V.srv.dir.telstra.com"
 type="cite">
  <div class="Section1">
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>Â </o:p></span></p>
  <div>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">--
  <o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">James
Manger<o:p></o:p></span></p>
  </div>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>Â </o:p></span></p>
  <div>
  <div
 style="border-style: solid none none; border-color: rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0cm 0cm;">
  <p class="MsoNormal" style="margin-left: 36pt;"><b><span
 style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;; color: windowtext;"
 lang="EN-US">From:</span></b><span
 style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;; color: windowtext;"
 lang="EN-US"> Torsten Lodderstedt [<a class="moz-txt-link-freetext" href="mailto:torsten@lodderstedt.net">mailto:torsten@lodderstedt.net</a>] <br>
  <b>Sent:</b> Saturday, 17 April 2010 6:48 PM<br>
  <b>To:</b> Manger, James H<br>
  <b>Cc:</b> Justin Smith; OAuth WG<br>
  <b>Subject:</b> Re: [OAUTH-WG] Issue: Scope parameter<o:p></o:p></span></p>
  </div>
  </div>
  <p class="MsoNormal" style="margin-left: 36pt;"><o:p>Â </o:p></p>
  <p class="MsoNormal" style="margin-left: 36pt;">in a recent
discussion, another proposal was to use the realm attribute of the
WWW-Authenticate header to indicate the scope<br>
  <br>
So in your example the header would include two attributes<br>
authz-uri=<a moz-do-not-send="true" href="http://as.com">http://as.com</a><br>
realm=foo<br>
  <br>
What do you think?<br>
  <br>
regards,<br>
Torsten.<br>
  <br>
Am 16.04.2010 06:43, schrieb Manger, James H: <o:p></o:p></p>
  <p class="MsoNormal" style="margin-left: 72pt;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">&gt; So, letâ€™s say there is an Authorization Server
available at
  <a moz-do-not-send="true" href="http://as.com">http://as.com</a> and
it protects the <a moz-do-not-send="true" href="http://foo.com">
http://foo.com</a> and <a moz-do-not-send="true" href="http://bar.com">http://bar.com</a>
resources.</span><o:p></o:p></p>
  <p class="MsoNormal" style="margin-left: 72pt;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">Â </span><o:p></o:p></p>
  <p class="MsoNormal" style="margin-left: 72pt;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">&gt; A client requests Â <a moz-do-not-send="true"
 href="http://foo.com">http://foo.com</a>. The foo.com server responds
with a WWW-Auth that contains the <a moz-do-not-send="true"
 href="http://as.com">http://as.com</a> URI. The client then sends an
access token request to
  <a moz-do-not-send="true" href="http://as.com">http://as.com</a>. Is
that right?</span><o:p></o:p></p>
  <p class="MsoNormal" style="margin-left: 72pt;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">Â </span><o:p></o:p></p>
  <p class="MsoNormal" style="margin-left: 72pt;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">&gt; If so, then how does
  <a moz-do-not-send="true" href="http://as.com">http://as.com</a> know
that the intended resource is <a moz-do-not-send="true"
 href="http://foo.com">
http://foo.com</a>? </span><o:p></o:p></p>
  <p class="MsoNormal" style="margin-left: 72pt;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">Â </span><o:p></o:p></p>
  <p class="MsoNormal" style="margin-left: 36pt;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">Â </span><o:p></o:p></p>
  <p class="MsoNormal" style="margin-left: 36pt;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">Foo.com should point the client at, say,
  <a moz-do-not-send="true" href="http://as.com/foo/">http://as.com/foo/</a>
or <a moz-do-not-send="true" href="http://foo.as.com/">
http://foo.as.com/</a> or <a moz-do-not-send="true"
 href="http://as.com/?scope=foo">http://as.com/?scope=foo</a> or
  <a moz-do-not-send="true"
 href="http://as.com/?encrypted_resource_id=273648264287642">http://as.com/?encrypted_resource_id=273648264287642</a>
or whatever it has agreed to with its AS.</span><o:p></o:p></p>
  <p class="MsoNormal" style="margin-left: 36pt;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">The WWW-Auth response from foo.com should not be just
  <a moz-do-not-send="true" href="http://as.com">http://as.com</a>.</span><o:p></o:p></p>
  <p class="MsoNormal" style="margin-left: 36pt;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">Foo is much better placed to know it shares as.com with
Bar than a client is.</span><o:p></o:p></p>
  <p class="MsoNormal" style="margin-left: 36pt;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">Â </span><o:p></o:p></p>
  <p class="MsoNormal" style="margin-left: 36pt;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">--</span><o:p></o:p></p>
  <p class="MsoNormal" style="margin-left: 36pt;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-US">James Manger</span><o:p></o:p></p>
  <p class="MsoNormal" style="margin-left: 36pt;"><o:p>Â </o:p></p>
  </div>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>
  </pre>
</blockquote>
<br>
</body>
</html>

--------------020408070700050507050803--


From torsten@lodderstedt.net  Sat Apr 17 05:47:37 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1ED383A6B4D for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 05:47:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.926
X-Spam-Level: 
X-Spam-Status: No, score=-1.926 tagged_above=-999 required=5 tests=[AWL=0.322,  BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uLvQrJEjl0qn for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 05:47:31 -0700 (PDT)
Received: from smtprelay03.ispgateway.de (smtprelay03.ispgateway.de [80.67.29.7]) by core3.amsl.com (Postfix) with ESMTP id E13E23A69F2 for <oauth@ietf.org>; Sat, 17 Apr 2010 05:47:30 -0700 (PDT)
Received: from p4fff3dd0.dip.t-dialin.net ([79.255.61.208] helo=[127.0.0.1]) by smtprelay03.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O37QX-0007jc-W0; Sat, 17 Apr 2010 14:47:14 +0200
Message-ID: <4BC9ADCD.4040502@lodderstedt.net>
Date: Sat, 17 Apr 2010 14:47:09 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <C7EEECD1.32476%eran@hueniverse.com>
In-Reply-To: <C7EEECD1.32476%eran@hueniverse.com>
Content-Type: multipart/alternative; boundary="------------070804030705050004090601"
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 12:47:37 -0000

This is a multi-part message in MIME format.
--------------070804030705050004090601
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

good question!

I see two strategies:

a) HTTP Authn Schemes are used for client authn only, this would require 
to pass user credentials as API parameters in  "Username and Password Flow"
b) like (a) except user credentials for "Username and Password Flow" are 
passed in as Authorization Header. The Benefit: applications currently 
using BASIC/DIGEST authentication can easily migrate since authn does 
not have to be changed. I see the "Username and Password Flow" primarily 
as a migration flow (as stated in 3.6.1). So an exception would be 
legitimated from my point of view. Moreover the spec could explictly 
recommend to move implementation to other flows, like web or device.

regards,
Torsten.

Am 17.04.2010 13:42, schrieb Eran Hammer-Lahav:
> How would use differentiate between the username and password profile 
> and the client credentials profile, if you are using Basic or Digest?
>
> EHL
>
>
> On 4/17/10 1:10 AM, "Torsten Lodderstedt" <torsten@lodderstedt.net> wrote:
>
>     I support the idea to use standard HTTP auth mechanisms for
>     authentication on the authorization server endpoint. From a design
>     standpoint this is just an API - which we cannot to protect via
>     OAuth tokens because it issues these tokens. But we can use HTTP
>     standard authorization mechanisms (and headers) as BASIC or DIGEST
>     to authenticate the callers. This gives implementations the option
>     to use other mechanisms (like SPNEGO or CERT). And as James
>     pointed out, there might (will in our case) other requests on this
>     endpoint used to provide additional services via other HTTP
>     methods, e.g. DELETE. Moreover, standard authn modules (as in
>     HTTPClient) can directly be used to implement access to OAuth
>     authorization servers.
>
>     I would recommend to separate functional API parameters, like
>     callback url, and authorization data.
>
>     regards,
>     Torsten.
>
>     Am 17.04.2010 06:52, schrieb Manger, James H:
>
>           Re: [OAUTH-WG] Issue: Split the authorization endpoint into
>         two endpoints
>
>
>         > This has nothing to do with it. There is no PUT and DELETE or
>         POST with non-form body when *requesting a token**.
>
>
>         *
>         It is relevant.
>
>         I don't want to authenticate direct client requests **only**
>         when they **request a token**.
>
>         Clients might make any variety of direct requests unrelated to
>         OAuth.
>
>         There might even be other OAuth-related requests from clients
>         to an authorization server in future (eg get meta data, or
>         delete a token; even refreshing a token might be better as a GET).
>
>         I want to be able to use the same client auth mechanism, and
>         same client credentials, for all these calls.
>
>         Some of these calls might be PUTs, DELETEs, non-form POSTs,
>         GETs etc. even if requesting (& refreshing) a token is always
>         a form POST.
>
>         Hence client_secret as a POST parameter when requesting a
>         token is a poor design.
>
>
>
>
>
>         It should be perfectly valid (and not uncommon I expect) for a
>         service to support OAuth for user delegation, but not use
>         OAuth for making all direct client calls token-based --- these
>         address quite different issues.
>
>         Other services might use short-term refreshable tokens when
>         clients (on their own behalf) access less trusted "content"
>         service, but will use "normal" auth when clients talk to the
>         trusted account/authorization system.
>
>
>
>


--------------070804030705050004090601
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
good question!<br>
<br>
I see two strategies:<br>
<br>
a) HTTP Authn Schemes are used for client authn only, this would
require to pass user credentials as API parameters in&nbsp; "Username and
Password Flow"<br>
b) like (a) except user credentials for "Username and Password Flow"
are passed in as Authorization Header. The Benefit: applications
currently using BASIC/DIGEST authentication can easily migrate since
authn does not have to be changed. I see the "Username and Password
Flow" primarily as a migration flow (as stated in 3.6.1). So an
exception would be legitimated from my point of view. Moreover the spec
could explictly recommend to move implementation to other flows, like
web or device.&nbsp; &nbsp; <br>
<br>
regards,<br>
Torsten.<br>
<br>
Am 17.04.2010 13:42, schrieb Eran Hammer-Lahav:
<blockquote cite="mid:C7EEECD1.32476%25eran@hueniverse.com" type="cite">
  <title>Re: [OAUTH-WG] Issue: Split the authorization endpoint into
two endpoints</title>
  <font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;">How would use differentiate between the
username and password profile and the client credentials profile, if
you are using Basic or Digest?<br>
  <br>
EHL<br>
  <br>
  <br>
On 4/17/10 1:10 AM, "Torsten Lodderstedt" &lt;<a moz-do-not-send="true"
 href="torsten@lodderstedt.net">torsten@lodderstedt.net</a>&gt; wrote:<br>
  <br>
  </span></font>
  <blockquote><font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;">I support the idea to use standard HTTP auth
mechanisms for authentication on the authorization server endpoint.
>From a design standpoint this is just an API - which we cannot to
protect via OAuth tokens because it issues these tokens. But we can use
HTTP standard authorization mechanisms (and headers) as BASIC or DIGEST
to authenticate the callers. This gives implementations the option to
use other mechanisms (like SPNEGO or CERT). And as James pointed out,
there might (will in our case) other requests on this endpoint used to
provide additional services via other HTTP methods, e.g. DELETE.
Moreover, standard authn modules (as in HTTPClient) can directly be
used to implement access to OAuth authorization servers. <br>
    <br>
I would recommend to separate functional API parameters, like callback
url, and authorization data. <br>
    <br>
regards,<br>
Torsten.<br>
    <br>
Am 17.04.2010 06:52, schrieb Manger, James H: <br>
    </span></font>
    <blockquote><font face="Calibri, Verdana, Helvetica, Arial"><span
 style="font-size: 11pt;"> &nbsp;&nbsp;Re: [OAUTH-WG] Issue: Split the
authorization endpoint into two endpoints &nbsp;<br>
&nbsp;<br>
      <br>
&gt; This has nothing to do with it. There is no PUT and DELETE or POST
with non-form body when *requesting a token*<b>.<br>
&nbsp;<br>
&nbsp;<br>
      </b> <br>
It is relevant.<br>
&nbsp;<br>
I don&#8217;t want to authenticate direct client requests *<b>only</b>* when
they *<b>request a token</b>*.<br>
&nbsp;<br>
Clients might make any variety of direct requests unrelated to OAuth.<br>
&nbsp;<br>
There might even be other OAuth-related requests from clients to an
authorization server in future (eg get meta data, or delete a token;
even refreshing a token might be better as a GET).<br>
&nbsp;<br>
I want to be able to use the same client auth mechanism, and same
client credentials, for all these calls.<br>
&nbsp;<br>
Some of these calls might be PUTs, DELETEs, non-form POSTs, GETs etc.
even if requesting (&amp; refreshing) a token is always a form POST.<br>
&nbsp;<br>
Hence client_secret as a POST parameter when requesting a token is a
poor design.<br>
&nbsp;<br>
&nbsp;<br>
&nbsp;<br>
&nbsp;<br>
&nbsp;<br>
It should be perfectly valid (and not uncommon I expect) for a service
to support OAuth for user delegation, but not use OAuth for making all
direct client calls token-based &#8212; these address quite different issues.<br>
&nbsp;<br>
Other services might use short-term refreshable tokens when clients (on
their own behalf) access less trusted &#8220;content&#8221; service, but will use
&#8220;normal&#8221; auth when clients talk to the trusted account/authorization
system.<br>
&nbsp;<br>
&nbsp;<br>
&nbsp;<br>
&nbsp;<br>
      </span></font></blockquote>
  </blockquote>
</blockquote>
<br>
</body>
</html>

--------------070804030705050004090601--


From lshepard@facebook.com  Sat Apr 17 07:34:01 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A26CD3A6A1E for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 07:34:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.05
X-Spam-Level: 
X-Spam-Status: No, score=-3.05 tagged_above=-999 required=5 tests=[AWL=0.214,  BAYES_00=-2.599, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dqE8R04TugzT for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 07:34:00 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id B40093A6B1D for <oauth@ietf.org>; Sat, 17 Apr 2010 07:33:39 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.198]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3HEWoaW002187 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Sat, 17 Apr 2010 07:32:53 -0700
Received: from sc-hub02.TheFacebook.com (192.168.18.105) by sc-hub03.TheFacebook.com (192.168.18.198) with Microsoft SMTP Server (TLS) id 14.0.689.0; Sat, 17 Apr 2010 07:32:11 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub02.TheFacebook.com ([192.168.18.105]) with mapi; Sat, 17 Apr 2010 07:32:11 -0700
From: Luke Shepard <lshepard@facebook.com>
To: "Manger, James H" <James.H.Manger@team.telstra.com>, Eran Hammer-Lahav <eran@hueniverse.com>, OAuth WG <oauth@ietf.org>
Date: Sat, 17 Apr 2010 07:32:05 -0700
Thread-Topic: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
Thread-Index: AcrdCitsLp+WWglvQMKPMWBhihZtKQAezmZQABLw0xAAAiYJ4AAC9C3QABU3F+A=
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66DDB9@SC-MBXC1.TheFacebook.com>
References: <255B9BB34FB7D647A506DC292726F6E11257592315@WSMSG3153V.srv.dir.telstra.com> <C7EE71B8.32459%eran@hueniverse.com> <255B9BB34FB7D647A506DC292726F6E11257592327@WSMSG3153V.srv.dir.telstra.com>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E11257592327@WSMSG3153V.srv.dir.telstra.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_2513A610118CC14C8E622C376C8DEC93D54D66DDB9SCMBXC1TheFac_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-16_07:2010-02-06, 2010-04-16, 2010-04-16 signatures=0
Subject: Re: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 14:34:01 -0000

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DDB9SCMBXC1TheFac_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SWYsIGZvciB5b3VyIHNlcnZpY2UsIHlvdSB3YW50IHRvIHVzZSBkaWZmZXJlbnQgbWVhbnMgb2Yg
YXV0aGVudGljYXRpbmcgY2xpZW50cywgSSBzZWUgbm8gcmVhc29uIHdoeSB5b3UgY2Fu4oCZdC4g
SnVzdCBpZ25vcmUgY2xpZW50X3NlY3JldCBhbmQgZG8gaXQgeW91ciBvd24gd2F5IChpdOKAmXMg
b3B0aW9uYWwpLg0KDQpGcm9tOiBvYXV0aC1ib3VuY2VzQGlldGYub3JnIFttYWlsdG86b2F1dGgt
Ym91bmNlc0BpZXRmLm9yZ10gT24gQmVoYWxmIE9mIE1hbmdlciwgSmFtZXMgSA0KU2VudDogRnJp
ZGF5LCBBcHJpbCAxNiwgMjAxMCA5OjUyIFBNDQpUbzogRXJhbiBIYW1tZXItTGFoYXY7IE9BdXRo
IFdHDQpTdWJqZWN0OiBSZTogW09BVVRILVdHXSBJc3N1ZTogU3BsaXQgdGhlIGF1dGhvcml6YXRp
b24gZW5kcG9pbnQgaW50byB0d28gZW5kcG9pbnRzDQoNCj4gVGhpcyBoYXMgbm90aGluZyB0byBk
byB3aXRoIGl0LiBUaGVyZSBpcyBubyBQVVQgYW5kIERFTEVURSBvciBQT1NUIHdpdGggbm9uLWZv
cm0gYm9keSB3aGVuICpyZXF1ZXN0aW5nIGEgdG9rZW4qLg0KSXQgaXMgcmVsZXZhbnQuDQpJIGRv
buKAmXQgd2FudCB0byBhdXRoZW50aWNhdGUgZGlyZWN0IGNsaWVudCByZXF1ZXN0cyAqb25seSog
d2hlbiB0aGV5ICpyZXF1ZXN0IGEgdG9rZW4qLg0KQ2xpZW50cyBtaWdodCBtYWtlIGFueSB2YXJp
ZXR5IG9mIGRpcmVjdCByZXF1ZXN0cyB1bnJlbGF0ZWQgdG8gT0F1dGguDQpUaGVyZSBtaWdodCBl
dmVuIGJlIG90aGVyIE9BdXRoLXJlbGF0ZWQgcmVxdWVzdHMgZnJvbSBjbGllbnRzIHRvIGFuIGF1
dGhvcml6YXRpb24gc2VydmVyIGluIGZ1dHVyZSAoZWcgZ2V0IG1ldGEgZGF0YSwgb3IgZGVsZXRl
IGEgdG9rZW47IGV2ZW4gcmVmcmVzaGluZyBhIHRva2VuIG1pZ2h0IGJlIGJldHRlciBhcyBhIEdF
VCkuDQpJIHdhbnQgdG8gYmUgYWJsZSB0byB1c2UgdGhlIHNhbWUgY2xpZW50IGF1dGggbWVjaGFu
aXNtLCBhbmQgc2FtZSBjbGllbnQgY3JlZGVudGlhbHMsIGZvciBhbGwgdGhlc2UgY2FsbHMuDQpT
b21lIG9mIHRoZXNlIGNhbGxzIG1pZ2h0IGJlIFBVVHMsIERFTEVURXMsIG5vbi1mb3JtIFBPU1Rz
LCBHRVRzIGV0Yy4gZXZlbiBpZiByZXF1ZXN0aW5nICgmIHJlZnJlc2hpbmcpIGEgdG9rZW4gaXMg
YWx3YXlzIGEgZm9ybSBQT1NULg0KSGVuY2UgY2xpZW50X3NlY3JldCBhcyBhIFBPU1QgcGFyYW1l
dGVyIHdoZW4gcmVxdWVzdGluZyBhIHRva2VuIGlzIGEgcG9vciBkZXNpZ24uDQoNCg0KSXQgc2hv
dWxkIGJlIHBlcmZlY3RseSB2YWxpZCAoYW5kIG5vdCB1bmNvbW1vbiBJIGV4cGVjdCkgZm9yIGEg
c2VydmljZSB0byBzdXBwb3J0IE9BdXRoIGZvciB1c2VyIGRlbGVnYXRpb24sIGJ1dCBub3QgdXNl
IE9BdXRoIGZvciBtYWtpbmcgYWxsIGRpcmVjdCBjbGllbnQgY2FsbHMgdG9rZW4tYmFzZWQg4oCU
IHRoZXNlIGFkZHJlc3MgcXVpdGUgZGlmZmVyZW50IGlzc3Vlcy4NCk90aGVyIHNlcnZpY2VzIG1p
Z2h0IHVzZSBzaG9ydC10ZXJtIHJlZnJlc2hhYmxlIHRva2VucyB3aGVuIGNsaWVudHMgKG9uIHRo
ZWlyIG93biBiZWhhbGYpIGFjY2VzcyBsZXNzIHRydXN0ZWQg4oCcY29udGVudOKAnSBzZXJ2aWNl
LCBidXQgd2lsbCB1c2Ug4oCcbm9ybWFs4oCdIGF1dGggd2hlbiBjbGllbnRzIHRhbGsgdG8gdGhl
IHRydXN0ZWQgYWNjb3VudC9hdXRob3JpemF0aW9uIHN5c3RlbS4NCg0KLS0NCkphbWVzIE1hbmdl
cg0KDQpGcm9tOiBFcmFuIEhhbW1lci1MYWhhdiBbbWFpbHRvOmVyYW5AaHVlbml2ZXJzZS5jb21d
DQpTZW50OiBTYXR1cmRheSwgMTcgQXByaWwgMjAxMCAxMjo1OCBQTQ0KVG86IE1hbmdlciwgSmFt
ZXMgSDsgTHVrZSBTaGVwYXJkOyBKb2huIEtlbXANCkNjOiBPQXV0aCBXRw0KU3ViamVjdDogUmU6
IFtPQVVUSC1XR10gSXNzdWU6IFNwbGl0IHRoZSBhdXRob3JpemF0aW9uIGVuZHBvaW50IGludG8g
dHdvIGVuZHBvaW50cw0KDQpUaGlzIGhhcyBub3RoaW5nIHRvIGRvIHdpdGggaXQuIFRoZXJlIGlz
IG5vIFBVVCBhbmQgREVMRVRFIG9yIFBPU1Qgd2l0aCBub24tZm9ybSBib2R5IHdoZW4gKnJlcXVl
c3RpbmcgYSB0b2tlbiouDQoNCldlIG5lZWQgdG8gZG8gYSBiZXR0ZXIgam9iIG5vdCB0byBjb25m
dXNlIGFjY2Vzc2luZyBwcm90ZWN0ZWQgcmVzb3VyY2VzIHdpdGggdGhlIGZsb3cgY2FsbHMuIFRo
ZXkgYXJlIGNvbXBsZXRlbHkgZGlmZmVyZW50Lg0KDQpFSEwNCg0KDQpPbiA0LzE2LzEwIDc6MDIg
UE0sICJKYW1lcyBNYW5nZXIiIDxKYW1lcy5ILk1hbmdlckB0ZWFtLnRlbHN0cmEuY29tPiB3cm90
ZToNCj4+IEluIGVpdGhlciBjYXNlLCB3ZSBzaG91bGQgbm90IHJlc3RyaWN0IHRoZSBhY2Nlc3Mg
dG9rZW4gVVJMIHRvIFBPU1Qtb25seS4NCj4+IEEgR0VUIHJlcXVlc3QgaXMganVzdCBhcyBzZWN1
cmUgYW5kIGNhbiBiZSBtdWNoIGVhc2llciB0byB3cml0ZSBjb2RlIGZvcg0KDQo+IElmIHlvdSBh
cmUgdXNpbmcgR0VULCB0aGVuIHJlZnJlc2ggdG9rZW5zIGFuZCBjbGllbnQgc2VjcmV0cyB3aWxs
IGVuZA0KPiB1cCBzaWRlIGJ5IHNpZGUgaW4gd2ViIHNlcnZlciBsb2cgZmlsZXMuDQoNClRoZXNl
IGFyZSBleGFjdGx5IHRoZSBzb3J0IG9mIHJlYXNvbnMgd2h5IGNsaWVudCBhdXRoZW50aWNhdGlv
biBzaG91bGQgYmUgYW55ICJub3JtYWwiIGF1dGggc2NoZW1lLCBhbmQgbm90IGFuIE9BdXRoLXNw
ZWNpYWwgY2xpZW50X3NlY3JldCBQT1NUIHBhcmFtZXRlci4gVGhhdCBmYWlscyBmb3IgUFVULCBE
RUxFVEUsIGFuZCBQT1NUIHdpdGggYSBub24tZm9ybSBib2R5OyBhbmQgdGhlIHNlY3VyaXR5IGNo
YW5nZXMgd2l0aCBHRVQuDQoNCi0tDQpKYW1lcyBNYW5nZXINCg0KX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCk9BdXRoIG1haWxpbmcgbGlzdA0KT0F1dGhA
aWV0Zi5vcmcNCmh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vb2F1dGgNCg==

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DDB9SCMBXC1TheFac_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQoNCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj1Db250ZW50LVR5cGUg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9R2VuZXJhdG9y
IGNvbnRlbnQ9Ik1pY3Jvc29mdCBXb3JkIDEyIChmaWx0ZXJlZCBtZWRpdW0pIj4NCjx0aXRsZT5S
ZTogW09BVVRILVdHXSBJc3N1ZTogU3BsaXQgdGhlIGF1dGhvcml6YXRpb24gZW5kcG9pbnQgaW50
byB0d28NCmVuZHBvaW50czwvdGl0bGU+DQo8c3R5bGU+DQo8IS0tDQogLyogRm9udCBEZWZpbml0
aW9ucyAqLw0KIEBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0aCI7DQoJcGFu
b3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OkNh
bGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtm
b250LWZhbWlseTpUYWhvbWE7DQoJcGFub3NlLTE6MiAxMSA2IDQgMyA1IDQgNCAyIDQ7fQ0KIC8q
IFN0eWxlIERlZmluaXRpb25zICovDQogcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1z
b05vcm1hbA0KCXttYXJnaW46MGluOw0KCW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCglmb250LXNp
emU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iLCJzZXJpZiI7fQ0KYTps
aW5rLCBzcGFuLk1zb0h5cGVybGluaw0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6
Ymx1ZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCmE6dmlzaXRlZCwgc3Bhbi5Nc29I
eXBlcmxpbmtGb2xsb3dlZA0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6cHVycGxl
Ow0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0Kc3Bhbi5FbWFpbFN0eWxlMTcNCgl7bXNv
LXN0eWxlLXR5cGU6cGVyc29uYWw7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlm
IjsNCgljb2xvcjojMUY0OTdEO30NCnNwYW4uRW1haWxTdHlsZTE4DQoJe21zby1zdHlsZS10eXBl
OnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQoJ
Y29sb3I6IzFGNDk3RDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlwZTpleHBvcnQt
b25seTsNCglmb250LXNpemU6MTAuMHB0O30NCkBwYWdlIFNlY3Rpb24xDQoJe3NpemU6OC41aW4g
MTEuMGluOw0KCW1hcmdpbjoxLjBpbiAxLjBpbiAxLjBpbiAxLjBpbjt9DQpkaXYuU2VjdGlvbjEN
Cgl7cGFnZTpTZWN0aW9uMTt9DQotLT4NCjwvc3R5bGU+DQo8IS0tW2lmIGd0ZSBtc28gOV0+PHht
bD4NCiA8bzpzaGFwZWRlZmF1bHRzIHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94
bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQogPG86c2hhcGVsYXlvdXQg
djpleHQ9ImVkaXQiPg0KICA8bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCiA8L286
c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5kaWZdLS0+DQo8L2hlYWQ+DQoNCjxib2R5IGxhbmc9RU4t
VVMgbGluaz1ibHVlIHZsaW5rPXB1cnBsZT4NCg0KPGRpdiBjbGFzcz1TZWN0aW9uMT4NCg0KPHAg
Y2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5
OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQpjb2xvcjojMUY0OTdEJz5JZiwgZm9yIHlvdXIgc2Vy
dmljZSwgeW91IHdhbnQgdG8gdXNlIGRpZmZlcmVudCBtZWFucyBvZg0KYXV0aGVudGljYXRpbmcg
Y2xpZW50cywgSSBzZWUgbm8gcmVhc29uIHdoeSB5b3UgY2Fu4oCZdC4gSnVzdCBpZ25vcmUNCmNs
aWVudF9zZWNyZXQgYW5kIGRvIGl0IHlvdXIgb3duIHdheSAoaXTigJlzIG9wdGlvbmFsKS48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KY29sb3I6
IzFGNDk3RCc+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KDQo8ZGl2Pg0KDQo8ZGl2IHN0
eWxlPSdib3JkZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNCNUM0REYgMS4wcHQ7cGFkZGluZzoz
LjBwdCAwaW4gMGluIDBpbic+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48Yj48c3BhbiBzdHlsZT0n
Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGFob21hIiwic2Fucy1zZXJpZiInPkZyb206
PC9zcGFuPjwvYj48c3Bhbg0Kc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRh
aG9tYSIsInNhbnMtc2VyaWYiJz4NCm9hdXRoLWJvdW5jZXNAaWV0Zi5vcmcgW21haWx0bzpvYXV0
aC1ib3VuY2VzQGlldGYub3JnXSA8Yj5PbiBCZWhhbGYgT2YgPC9iPk1hbmdlciwNCkphbWVzIEg8
YnI+DQo8Yj5TZW50OjwvYj4gRnJpZGF5LCBBcHJpbCAxNiwgMjAxMCA5OjUyIFBNPGJyPg0KPGI+
VG86PC9iPiBFcmFuIEhhbW1lci1MYWhhdjsgT0F1dGggV0c8YnI+DQo8Yj5TdWJqZWN0OjwvYj4g
UmU6IFtPQVVUSC1XR10gSXNzdWU6IFNwbGl0IHRoZSBhdXRob3JpemF0aW9uIGVuZHBvaW50IGlu
dG8gdHdvDQplbmRwb2ludHM8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjwvZGl2Pg0KDQo8L2Rp
dj4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8cCBjbGFz
cz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1ib3R0b206MTIuMHB0Jz48c3BhbiBsYW5nPUVOLUFV
DQpzdHlsZT0nZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2Vy
aWYiJz4mZ3Q7IFRoaXMgaGFzDQpub3RoaW5nIHRvIGRvIHdpdGggaXQuIFRoZXJlIGlzIG5vIFBV
VCBhbmQgREVMRVRFIG9yIFBPU1Qgd2l0aCBub24tZm9ybSBib2R5DQp3aGVuICpyZXF1ZXN0aW5n
IGEgdG9rZW4qPGI+LjxvOnA+PC9vOnA+PC9iPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05v
cm1hbD48c3BhbiBsYW5nPUVOLUFVIHN0eWxlPSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5
OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQpjb2xvcjojMUY0OTdEJz5JdCBpcyByZWxldmFudC48
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBsYW5nPUVO
LUFVIHN0eWxlPSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1z
ZXJpZiI7DQpjb2xvcjojMUY0OTdEJz5JIGRvbuKAmXQgd2FudCB0byBhdXRoZW50aWNhdGUgZGly
ZWN0IGNsaWVudCByZXF1ZXN0cyAqPGI+b25seTwvYj4qDQp3aGVuIHRoZXkgKjxiPnJlcXVlc3Qg
YSB0b2tlbjwvYj4qLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFs
PjxzcGFuIGxhbmc9RU4tQVUgc3R5bGU9J2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNh
bGlicmkiLCJzYW5zLXNlcmlmIjsNCmNvbG9yOiMxRjQ5N0QnPkNsaWVudHMgbWlnaHQgbWFrZSBh
bnkgdmFyaWV0eSBvZiBkaXJlY3QgcmVxdWVzdHMgdW5yZWxhdGVkIHRvDQpPQXV0aC48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBsYW5nPUVOLUFVIHN0
eWxlPSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7
DQpjb2xvcjojMUY0OTdEJz5UaGVyZSBtaWdodCBldmVuIGJlIG90aGVyIE9BdXRoLXJlbGF0ZWQg
cmVxdWVzdHMgZnJvbSBjbGllbnRzIHRvDQphbiBhdXRob3JpemF0aW9uIHNlcnZlciBpbiBmdXR1
cmUgKGVnIGdldCBtZXRhIGRhdGEsIG9yIGRlbGV0ZSBhIHRva2VuOyBldmVuDQpyZWZyZXNoaW5n
IGEgdG9rZW4gbWlnaHQgYmUgYmV0dGVyIGFzIGEgR0VUKS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBsYW5nPUVOLUFVIHN0eWxlPSdmb250LXNpemU6
MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQpjb2xvcjojMUY0OTdE
Jz5JIHdhbnQgdG8gYmUgYWJsZSB0byB1c2UgdGhlIHNhbWUgY2xpZW50IGF1dGggbWVjaGFuaXNt
LCBhbmQNCnNhbWUgY2xpZW50IGNyZWRlbnRpYWxzLCBmb3IgYWxsIHRoZXNlIGNhbGxzLjxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIGxhbmc9RU4tQVUg
c3R5bGU9J2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlm
IjsNCmNvbG9yOiMxRjQ5N0QnPlNvbWUgb2YgdGhlc2UgY2FsbHMgbWlnaHQgYmUgUFVUcywgREVM
RVRFcywgbm9uLWZvcm0gUE9TVHMsIEdFVHMNCmV0Yy4gZXZlbiBpZiByZXF1ZXN0aW5nICgmYW1w
OyByZWZyZXNoaW5nKSBhIHRva2VuIGlzIGFsd2F5cyBhIGZvcm0gUE9TVC48bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBsYW5nPUVOLUFVIHN0eWxlPSdm
b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQpjb2xv
cjojMUY0OTdEJz5IZW5jZSBjbGllbnRfc2VjcmV0IGFzIGEgUE9TVCBwYXJhbWV0ZXIgd2hlbiBy
ZXF1ZXN0aW5nIGEgdG9rZW4NCmlzIGEgcG9vciBkZXNpZ24uPG86cD48L286cD48L3NwYW4+PC9w
Pg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gbGFuZz1FTi1BVSBzdHlsZT0nZm9udC1zaXpl
OjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KY29sb3I6IzFGNDk3
RCc+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNw
YW4gbGFuZz1FTi1BVSBzdHlsZT0nZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJy
aSIsInNhbnMtc2VyaWYiOw0KY29sb3I6IzFGNDk3RCc+PG86cD4mbmJzcDs8L286cD48L3NwYW4+
PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gbGFuZz1FTi1BVSBzdHlsZT0nZm9udC1z
aXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KY29sb3I6IzFG
NDk3RCc+SXQgc2hvdWxkIGJlIHBlcmZlY3RseSB2YWxpZCAoYW5kIG5vdCB1bmNvbW1vbiBJIGV4
cGVjdCkgZm9yIGENCnNlcnZpY2UgdG8gc3VwcG9ydCBPQXV0aCBmb3IgdXNlciBkZWxlZ2F0aW9u
LCBidXQgbm90IHVzZSBPQXV0aCBmb3IgbWFraW5nIGFsbA0KZGlyZWN0IGNsaWVudCBjYWxscyB0
b2tlbi1iYXNlZCDigJQgdGhlc2UgYWRkcmVzcyBxdWl0ZSBkaWZmZXJlbnQgaXNzdWVzLjxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIGxhbmc9RU4tQVUg
c3R5bGU9J2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlm
IjsNCmNvbG9yOiMxRjQ5N0QnPk90aGVyIHNlcnZpY2VzIG1pZ2h0IHVzZSBzaG9ydC10ZXJtIHJl
ZnJlc2hhYmxlIHRva2VucyB3aGVuDQpjbGllbnRzIChvbiB0aGVpciBvd24gYmVoYWxmKSBhY2Nl
c3MgbGVzcyB0cnVzdGVkIOKAnGNvbnRlbnTigJ0gc2VydmljZSwgYnV0IHdpbGwNCnVzZSDigJxu
b3JtYWzigJ0gYXV0aCB3aGVuIGNsaWVudHMgdGFsayB0byB0aGUgdHJ1c3RlZCBhY2NvdW50L2F1
dGhvcml6YXRpb24NCnN5c3RlbS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1z
b05vcm1hbD48c3BhbiBsYW5nPUVOLUFVIHN0eWxlPSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt
aWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQpjb2xvcjojMUY0OTdEJz48bzpwPiZuYnNwOzwv
bzpwPjwvc3Bhbj48L3A+DQoNCjxkaXY+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBsYW5n
PUVOLUFVIHN0eWxlPSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fu
cy1zZXJpZiI7DQpjb2xvcjojMUY0OTdEJz4tLSA8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxw
IGNsYXNzPU1zb05vcm1hbD48c3BhbiBsYW5nPUVOLUFVIHN0eWxlPSdmb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQpjb2xvcjojMUY0OTdEJz5KYW1l
cyBNYW5nZXI8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjwvZGl2Pg0KDQo8cCBjbGFzcz1Nc29O
b3JtYWw+PHNwYW4gbGFuZz1FTi1BVSBzdHlsZT0nZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls
eToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KY29sb3I6IzFGNDk3RCc+PG86cD4mbmJzcDs8L286
cD48L3NwYW4+PC9wPg0KDQo8ZGl2Pg0KDQo8ZGl2IHN0eWxlPSdib3JkZXI6bm9uZTtib3JkZXIt
dG9wOnNvbGlkICNCNUM0REYgMS4wcHQ7cGFkZGluZzozLjBwdCAwaW4gMGluIDBpbic+DQoNCjxw
IGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+PGI+PHNwYW4gc3R5bGU9
J2ZvbnQtc2l6ZToxMC4wcHQ7DQpmb250LWZhbWlseToiVGFob21hIiwic2Fucy1zZXJpZiInPkZy
b206PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDsNCmZvbnQtZmFtaWx5
OiJUYWhvbWEiLCJzYW5zLXNlcmlmIic+IEVyYW4gSGFtbWVyLUxhaGF2DQpbbWFpbHRvOmVyYW5A
aHVlbml2ZXJzZS5jb21dIDxicj4NCjxiPlNlbnQ6PC9iPiBTYXR1cmRheSwgMTcgQXByaWwgMjAx
MCAxMjo1OCBQTTxicj4NCjxiPlRvOjwvYj4gTWFuZ2VyLCBKYW1lcyBIOyBMdWtlIFNoZXBhcmQ7
IEpvaG4gS2VtcDxicj4NCjxiPkNjOjwvYj4gT0F1dGggV0c8YnI+DQo8Yj5TdWJqZWN0OjwvYj4g
UmU6IFtPQVVUSC1XR10gSXNzdWU6IFNwbGl0IHRoZSBhdXRob3JpemF0aW9uIGVuZHBvaW50IGlu
dG8gdHdvDQplbmRwb2ludHM8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjwvZGl2Pg0KDQo8L2Rp
dj4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz48c3BhbiBs
YW5nPUVOLUFVPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9y
bWFsIHN0eWxlPSdtc28tbWFyZ2luLXRvcC1hbHQ6MGluO21hcmdpbi1yaWdodDowaW47bWFyZ2lu
LWJvdHRvbToNCjEyLjBwdDttYXJnaW4tbGVmdDouNWluJz48c3BhbiBsYW5nPUVOLUFVIHN0eWxl
PSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5Og0KIkNhbGlicmkiLCJzYW5zLXNlcmlmIic+
VGhpcyBoYXMgbm90aGluZyB0byBkbyB3aXRoIGl0LiBUaGVyZSBpcyBubyBQVVQgYW5kDQpERUxF
VEUgb3IgUE9TVCB3aXRoIG5vbi1mb3JtIGJvZHkgd2hlbiAqcmVxdWVzdGluZyBhIHRva2VuKjxi
Pi48YnI+DQo8YnI+DQo8L2I+V2UgbmVlZCB0byBkbyBhIGJldHRlciBqb2Igbm90IHRvIGNvbmZ1
c2UgYWNjZXNzaW5nIHByb3RlY3RlZCByZXNvdXJjZXMNCndpdGggdGhlIGZsb3cgY2FsbHMuIFRo
ZXkgYXJlIGNvbXBsZXRlbHkgZGlmZmVyZW50Ljxicj4NCjxicj4NCkVITDxicj4NCjxicj4NCjxi
cj4NCk9uIDQvMTYvMTAgNzowMiBQTSwgJnF1b3Q7SmFtZXMgTWFuZ2VyJnF1b3Q7ICZsdDs8YQ0K
aHJlZj0iSmFtZXMuSC5NYW5nZXJAdGVhbS50ZWxzdHJhLmNvbSI+SmFtZXMuSC5NYW5nZXJAdGVh
bS50ZWxzdHJhLmNvbTwvYT4mZ3Q7DQp3cm90ZTo8L3NwYW4+PHNwYW4gbGFuZz1FTi1BVT48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbXNvLW1hcmdp
bi10b3AtYWx0OjBpbjttYXJnaW4tcmlnaHQ6MGluO21hcmdpbi1ib3R0b206DQoxMi4wcHQ7bWFy
Z2luLWxlZnQ6LjVpbic+PHNwYW4gbGFuZz1FTi1BVSBzdHlsZT0nZm9udC1zaXplOjExLjBwdDtm
b250LWZhbWlseToNCiJDYWxpYnJpIiwic2Fucy1zZXJpZiInPiZndDsmZ3Q7IEluIGVpdGhlciBj
YXNlLCB3ZSBzaG91bGQgbm90IHJlc3RyaWN0IHRoZQ0KYWNjZXNzIHRva2VuIFVSTCB0byBQT1NU
LW9ubHkuPGJyPg0KJmd0OyZndDsgQSBHRVQgcmVxdWVzdCBpcyBqdXN0IGFzIHNlY3VyZSBhbmQg
Y2FuIGJlIG11Y2ggZWFzaWVyIHRvIHdyaXRlIGNvZGUNCmZvcjxicj4NCjxicj4NCiZndDsgSWYg
eW91IGFyZSB1c2luZyBHRVQsIHRoZW4gcmVmcmVzaCB0b2tlbnMgYW5kIGNsaWVudCBzZWNyZXRz
IHdpbGwgZW5kPGJyPg0KJmd0OyB1cCBzaWRlIGJ5IHNpZGUgaW4gd2ViIHNlcnZlciBsb2cgZmls
ZXMuPGJyPg0KPGJyPg0KVGhlc2UgYXJlIGV4YWN0bHkgdGhlIHNvcnQgb2YgcmVhc29ucyB3aHkg
Y2xpZW50IGF1dGhlbnRpY2F0aW9uIHNob3VsZCBiZSBhbnkNCiZxdW90O25vcm1hbCZxdW90OyBh
dXRoIHNjaGVtZSwgYW5kIG5vdCBhbiBPQXV0aC1zcGVjaWFsIGNsaWVudF9zZWNyZXQgUE9TVA0K
cGFyYW1ldGVyLiBUaGF0IGZhaWxzIGZvciBQVVQsIERFTEVURSwgYW5kIFBPU1Qgd2l0aCBhIG5v
bi1mb3JtIGJvZHk7IGFuZCB0aGUNCnNlY3VyaXR5IGNoYW5nZXMgd2l0aCBHRVQuPGJyPg0KPGJy
Pg0KLS08YnI+DQpKYW1lcyBNYW5nZXI8YnI+DQo8YnI+DQpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXzxicj4NCk9BdXRoIG1haWxpbmcgbGlzdDxicj4NCjxh
IGhyZWY9Ik9BdXRoQGlldGYub3JnIj5PQXV0aEBpZXRmLm9yZzwvYT48YnI+DQo8YSBocmVmPSJo
dHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29hdXRoIj5odHRwczovL3d3dy5p
ZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29hdXRoPC9hPjwvc3Bhbj48c3Bhbg0KbGFuZz1FTi1B
VT48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjwvZGl2Pg0KDQo8L2JvZHk+DQoNCjwvaHRtbD4N
Cg==

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DDB9SCMBXC1TheFac_--

From lshepard@facebook.com  Sat Apr 17 09:50:55 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 10F003A69F5 for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 09:50:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.06
X-Spam-Level: 
X-Spam-Status: No, score=-3.06 tagged_above=-999 required=5 tests=[AWL=0.204,  BAYES_00=-2.599, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5u+UNffXQz4J for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 09:50:52 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 5EDDD28C0F3 for <oauth@ietf.org>; Sat, 17 Apr 2010 09:48:55 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.198]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3HGm4fP011916 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Sat, 17 Apr 2010 09:48:10 -0700
Received: from sc-hub02.TheFacebook.com (192.168.18.105) by sc-hub03.TheFacebook.com (192.168.18.198) with Microsoft SMTP Server (TLS) id 14.0.689.0; Sat, 17 Apr 2010 09:48:33 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub02.TheFacebook.com ([192.168.18.105]) with mapi; Sat, 17 Apr 2010 09:48:33 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Date: Sat, 17 Apr 2010 09:48:27 -0700
Thread-Topic: Immediate mode needed for both web flows
Thread-Index: AcreTc1WlLvcs4m2QiGGRiCTX+dgtw==
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66DDBD@SC-MBXC1.TheFacebook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-cr-puzzleid: {412AD254-A4C1-4349-B965-9897493FF6B6}
x-cr-hashedpuzzle: CNIP FTWa HWQK HmNY H5Md IWrB Ig+R JBTm Jq3q LKIh NRGa OHyR PdXe RpcK ULy+ UOZo; 2; ZQByAGEAbgBAAGgAdQBlAG4AaQB2AGUAcgBzAGUALgBjAG8AbQA7AG8AYQB1AHQAaABAAGkAZQB0AGYALgBvAHIAZwA=; Sosha1_v1; 7; {412AD254-A4C1-4349-B965-9897493FF6B6}; bABzAGgAZQBwAGEAcgBkAEAAZgBhAGMAZQBiAG8AbwBrAC4AYwBvAG0A; Sat, 17 Apr 2010 16:48:27 GMT; SQBtAG0AZQBkAGkAYQB0AGUAIABtAG8AZABlACAAbgBlAGUAZABlAGQAIABmAG8AcgAgAGIAbwB0AGgAIAB3AGUAYgAgAGYAbABvAHcAcwA=
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_2513A610118CC14C8E622C376C8DEC93D54D66DDBDSCMBXC1TheFac_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-16_07:2010-02-06, 2010-04-16, 2010-04-16 signatures=0
Cc: OAuth WG <oauth@ietf.org>
Subject: [OAUTH-WG] Immediate mode needed for both web flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 16:50:55 -0000

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DDBDSCMBXC1TheFac_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Thanks for making these changes - the new spec looks really good.

In my reading, one thing stuck out - if we do immediate mode, it will need =
to apply to both web_server and user_agent flows. Our primary use case is f=
or the user_agent flow (loading in an iframe on page load).

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DDBDSCMBXC1TheFac_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:1810706316;
	mso-list-type:hybrid;
	mso-list-template-ids:1771368696 109325852 67698691 67698693 67698689 6769=
8691 67698693 67698689 67698691 67698693;}
@list l0:level1
	{mso-level-number-format:bullet;
	mso-level-text:-;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:"Calibri","sans-serif";
	mso-fareast-font-family:Calibri;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal>Thanks for making these changes &#8211; the new spec l=
ooks
really good.<o:p></o:p></p>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

<p class=3DMsoNormal>In my reading, one thing stuck out &#8211; if we do
immediate mode, it will need to apply to both web_server and user_agent flo=
ws.
Our primary use case is for the user_agent flow (loading in an iframe on pa=
ge
load).<o:p></o:p></p>

</div>

</body>

</html>

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DDBDSCMBXC1TheFac_--

From recordond@gmail.com  Sat Apr 17 09:57:37 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6B8393A6827; Sat, 17 Apr 2010 09:57:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sn-wHOS+Ep6Z; Sat, 17 Apr 2010 09:57:36 -0700 (PDT)
Received: from mail-yw0-f200.google.com (mail-yw0-f200.google.com [209.85.211.200]) by core3.amsl.com (Postfix) with ESMTP id 6432D3A68DF; Sat, 17 Apr 2010 09:57:36 -0700 (PDT)
Received: by ywh38 with SMTP id 38so1869324ywh.29 for <multiple recipients>; Sat, 17 Apr 2010 09:57:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=v1oc3ghGVJz7ZKXZ/0pZ3FIhjAY8UGCIy9YW2Vanjjo=; b=sNeNjmMZg1bfd8l7p538wlnsniOlu5nEdWko9R8RAWXxkfCEG/ETLOPGU/3uZlMxMD gflbfcNVlyZ6dtQR09/3AAXOnlLcqEySAkdHYuudWNghw5daWCpYQfzDjmR4QoC99E2W O9jVVvSS+hZkDxoImxS0getDo+JcvOs25r3s8=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=cO9lPEjTDBjeVut+BGXPynLHfMNr39oAMfqWJMjC6UUP/boV9FO31FhS3LNcQGQbpC rOC7cso2j25wXWR/3/pDNU3Jv6BUlL6RhG+3mYMtbI4qtDzk6LQQ1j7axLxhzTp/JlFR OOCQELk2EKYfN6G+r9H0npQcEW3kuGSswmbWM=
MIME-Version: 1.0
Received: by 10.231.182.196 with HTTP; Sat, 17 Apr 2010 09:57:26 -0700 (PDT)
In-Reply-To: <4BC97245.2030706@lodderstedt.net>
References: <OFD5F73A7B.828EC618-ON80257707.0059D87C-80257707.005A2B00@ie.ibm.com> <4BC97245.2030706@lodderstedt.net>
Date: Sat, 17 Apr 2010 09:57:26 -0700
Received: by 10.91.97.7 with SMTP id z7mr1734508agl.89.1271523446079; Sat, 17  Apr 2010 09:57:26 -0700 (PDT)
Message-ID: <r2rfd6741651004170957w70645bd8h51aa6b1ab8a5adbf@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: OAuth WG <oauth@ietf.org>, oauth-bounces@ietf.org
Subject: Re: [OAUTH-WG] Issue: add refresh token as optional in all access token requests
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 16:57:37 -0000

On Sat, Apr 17, 2010 at 1:33 AM, Torsten Lodderstedt
<torsten@lodderstedt.net> wrote:
> -1 to this
>
> If a refresh token is the only way to obtain an access token with
> corresponding secret than making refresh tokens an optional result parame=
ter
> will not suffice.

I think Eran is going to change that IIRC.


> How shall the client indicate that it requires a request token? From my
> point of view, either refresh tokens become a mandatory parameter or the
> client is given an input parameter to indicate its desire with every flow=
.
>
> My suggestion is to add "secret_type" to all flows and to issue request
> tokens where they are really needed. In all flows, where user interaction
> takes place or user credentials are processed.
>
> My impression is, the API design is slowly getting weird because we want =
to
> circumvent this single parameter.
>
> regards,
> Torsten.
>
> Am 16.04.2010 18:24, schrieb Mark Mcgloin:
>>
>> +1 to this
>>
>> Mark McGloin
>>
>>
>>>
>>> On 16/04/2010 17:08, Richard Barnes<rbarnes@bbn.com> =A0 wrote:
>>>
>>
>>
>>>
>>> Sure, this seems sensible, especially with the *optional* part.
>>>
>>
>>
>>
>>>
>>> On Apr 15, 2010, at 3:22 PM, David Recordon wrote:
>>>
>>
>>
>>>>
>>>> +1, remember discussing this a week or so ago on the list
>>>>
>>>>
>>>>>
>>>>> On Thu, Apr 15, 2010 at 12:12 PM, Eran Hammer-Lahav
>>>>>
>>
>> <eran@hueniverse.com
>>
>>>>>
>>>>> wrote:
>>>>>
>>>>
>>>> Proposal: Keep bearer tokens as the default first-issued credential
>>>> and add
>>>> an optional refresh token everywhere.
>>>>
>>>> EHL
>>>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From romeda@gmail.com  Sat Apr 17 13:09:10 2010
Return-Path: <romeda@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1FA083A693E for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 13:09:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bhDsr-VOnzGx for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 13:09:09 -0700 (PDT)
Received: from mail-iw0-f189.google.com (mail-iw0-f189.google.com [209.85.223.189]) by core3.amsl.com (Postfix) with ESMTP id 592563A6939 for <oauth@ietf.org>; Sat, 17 Apr 2010 13:09:09 -0700 (PDT)
Received: by iwn27 with SMTP id 27so2373686iwn.5 for <oauth@ietf.org>; Sat, 17 Apr 2010 13:08:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:from:date:received :message-id:subject:to:content-type; bh=SHxo8Ci8oUHOnFG0p4LNm9nY5Be20nLJ5zNnx2UTv3s=; b=lZ8hlOin673AkuofEKVcU0kFrXR9KlSYnoI+ydiiknELt0DCJuLrExL9993wUlotVD BQ17wKEczLgAgRk5IaUuUyuSeAJaB8TLUHVLQsjaNh1FqQrrojoi5ThLenGSraTQg83O 8coFjPh0ttHmbkx5vLy/pHyaFq0RwQx6C8B+A=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; b=iVEncsIg6mcyg4dneE+EgojHXPXXjNeCTMtqMMAAJuhhq7MrCk7gn9+bDgfwFeWRZQ JVx8STx+uRD99zQGjorXt93Qxq2m1OXMuVEYGVuTJPin5ErZKkPS3v4tpcIexzSPjzag 7+O/9YIayRTfrfx5Ej1wNYXb0zn1SCdBoUYqY=
MIME-Version: 1.0
Received: by 10.231.182.211 with HTTP; Sat, 17 Apr 2010 13:08:39 -0700 (PDT)
From: Blaine Cook <romeda@gmail.com>
Date: Sat, 17 Apr 2010 16:08:39 -0400
Received: by 10.231.190.137 with SMTP id di9mr1139599ibb.76.1271534939183;  Sat, 17 Apr 2010 13:08:59 -0700 (PDT)
Message-ID: <i2od37b4b431004171308ya34f5c7es5a415350c1a70f43@mail.gmail.com>
To: oauth@ietf.org
Content-Type: text/plain; charset=UTF-8
Subject: [OAUTH-WG] Reminder, 4/19 deadline for -00 WG draft feedback
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 20:09:10 -0000

This is a reminder that feedback that you'd like to see incorporated
into the -00 working group draft is due by 4/19 (Monday).

Please submit comments as a separate message to this list. Thanks!

b.

(see recent posts to the list and
http://www.ietf.org/mail-archive/web/oauth/current/msg01957.html in
particular for current status)

From eran@hueniverse.com  Sat Apr 17 14:30:03 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id EF9523A682D for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 14:30:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.473
X-Spam-Level: 
X-Spam-Status: No, score=-2.473 tagged_above=-999 required=5 tests=[AWL=0.126,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QUtm8xqwDRmv for <oauth@core3.amsl.com>; Sat, 17 Apr 2010 14:30:03 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 331823A6A21 for <oauth@ietf.org>; Sat, 17 Apr 2010 14:30:03 -0700 (PDT)
Received: (qmail 4069 invoked from network); 17 Apr 2010 21:29:55 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 17 Apr 2010 21:29:55 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Sat, 17 Apr 2010 14:29:55 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Luke Shepard <lshepard@facebook.com>
Date: Sat, 17 Apr 2010 14:29:44 -0700
Thread-Topic: Immediate mode needed for both web flows
Thread-Index: AcredR8wn82bjmjQSnmDHZ8CJ2n8BQ==
Message-ID: <99287991-C8D2-4A49-97AB-8A808F3D8810@hueniverse.com>
References: <2513A610118CC14C8E622C376C8DEC93D54D66DDBD@SC-MBXC1.TheFacebook.com>
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DDBD@SC-MBXC1.TheFacebook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Immediate mode needed for both web flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Apr 2010 21:30:04 -0000

WWVwLiBJIHdhcyBqdXN0IHdhaXRpbmcgZm9yIHNvbWUgc2VjdXJpdHkgcmV2aWV3LiBCdXQgSSds
bCBhZGQgaXQgIA0KbGF0ZXIgdG9kYXkuDQoNCkVITA0KDQpPbiBBcHIgMTcsIDIwMTAsIGF0IDk6
NDgsICJMdWtlIFNoZXBhcmQiIDxsc2hlcGFyZEBmYWNlYm9vay5jb20+IHdyb3RlOg0KDQo+IFRo
YW5rcyBmb3IgbWFraW5nIHRoZXNlIGNoYW5nZXMg4oCTIHRoZSBuZXcgc3BlYyBsb29rcyByZWFs
bHkgZ29vZC4NCj4NCj4NCj4NCj4gSW4gbXkgcmVhZGluZywgb25lIHRoaW5nIHN0dWNrIG91dCDi
gJMgaWYgd2UgZG8gaW1tZWRpYXRlIG1vZGUsIGl0IHdpbCANCj4gbCBuZWVkIHRvIGFwcGx5IHRv
IGJvdGggd2ViX3NlcnZlciBhbmQgdXNlcl9hZ2VudCBmbG93cy4gT3VyIHByaW1hcnkgDQo+ICB1
c2UgY2FzZSBpcyBmb3IgdGhlIHVzZXJfYWdlbnQgZmxvdyAobG9hZGluZyBpbiBhbiBpZnJhbWUg
b24gcGFnZSBsIA0KPiBvYWQpLg0K

From torsten@lodderstedt.net  Sun Apr 18 06:25:37 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id CEF873A69EE for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 06:25:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.94
X-Spam-Level: 
X-Spam-Status: No, score=-1.94 tagged_above=-999 required=5 tests=[AWL=0.308,  BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Urp8JdPL6bzY for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 06:25:35 -0700 (PDT)
Received: from smtprelay03.ispgateway.de (smtprelay03.ispgateway.de [80.67.31.41]) by core3.amsl.com (Postfix) with ESMTP id BDB2A3A693C for <oauth@ietf.org>; Sun, 18 Apr 2010 06:25:34 -0700 (PDT)
Received: from p4fff1e7d.dip.t-dialin.net ([79.255.30.125] helo=[127.0.0.1]) by smtprelay03.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O3UUt-0001TC-Ds; Sun, 18 Apr 2010 15:25:15 +0200
Message-ID: <4BCB0837.1050506@lodderstedt.net>
Date: Sun, 18 Apr 2010 15:25:11 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Luke Shepard <lshepard@facebook.com>
References: <255B9BB34FB7D647A506DC292726F6E11257592315@WSMSG3153V.srv.dir.telstra.com>	<C7EE71B8.32459%eran@hueniverse.com>	<255B9BB34FB7D647A506DC292726F6E11257592327@WSMSG3153V.srv.dir.telstra.com> <2513A610118CC14C8E622C376C8DEC93D54D66DDB9@SC-MBXC1.TheFacebook.com>
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DDB9@SC-MBXC1.TheFacebook.com>
Content-Type: multipart/alternative; boundary="------------050901000702000805020906"
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Split the authorization endpoint into two endpoints
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 18 Apr 2010 13:25:37 -0000

This is a multi-part message in MIME format.
--------------050901000702000805020906
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

from my point of view, the discussion is not necessarily about other 
means (== authn mechn). Shared secrets are acceptable for most cases. 
The discussion is about how client credentials are passed to the 
authorization server API (direct calls only). The proposal is to do it 
the HTTP authentication way. The spec recommends to use Oauth 
Authorization headers for securing service/API access via HTTP instead 
of API parameters. From my point of view, it is a matter of consistency 
to apply the same pattern (credentials in Authorization headers) to the 
OAuth authorization server API as well.

 From my point of view, the value of having the client_secret parameter 
is an interoperability baseline. Every library knowns how to perform 
client authn for OAuth. That's important!. You can achieve the same goal 
using a BASIC Authorization header + a lot of other advantages, which 
have already been pointed out in this thread.

Additionally, WWW-Authentication headers could be used by the 
authorization server to signal the need for client authentication. In 
the current spec, I don't see a way to find out when client authn is 
required and when not.

regards,
Torsten.

Am 17.04.2010 16:32, schrieb Luke Shepard:
>
> If, for your service, you want to use different means of 
> authenticating clients, I see no reason why you canâ€™t. Just ignore 
> client_secret and do it your own way (itâ€™s optional).
>
> *From:* oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] *On 
> Behalf Of *Manger, James H
> *Sent:* Friday, April 16, 2010 9:52 PM
> *To:* Eran Hammer-Lahav; OAuth WG
> *Subject:* Re: [OAUTH-WG] Issue: Split the authorization endpoint into 
> two endpoints
>
> > This has nothing to do with it. There is no PUT and DELETE or POST 
> with non-form body when *requesting a token**.*
>
> It is relevant.
>
> I donâ€™t want to authenticate direct client requests **only** when they 
> **request a token**.
>
> Clients might make any variety of direct requests unrelated to OAuth.
>
> There might even be other OAuth-related requests from clients to an 
> authorization server in future (eg get meta data, or delete a token; 
> even refreshing a token might be better as a GET).
>
> I want to be able to use the same client auth mechanism, and same 
> client credentials, for all these calls.
>
> Some of these calls might be PUTs, DELETEs, non-form POSTs, GETs etc. 
> even if requesting (& refreshing) a token is always a form POST.
>
> Hence client_secret as a POST parameter when requesting a token is a 
> poor design.
>
> It should be perfectly valid (and not uncommon I expect) for a service 
> to support OAuth for user delegation, but not use OAuth for making all 
> direct client calls token-based â€” these address quite different issues.
>
> Other services might use short-term refreshable tokens when clients 
> (on their own behalf) access less trusted â€œcontentâ€ service, but will 
> use â€œnormalâ€ auth when clients talk to the trusted 
> account/authorization system.
>
> -- 
>
> James Manger
>
> *From:* Eran Hammer-Lahav [mailto:eran@hueniverse.com]
> *Sent:* Saturday, 17 April 2010 12:58 PM
> *To:* Manger, James H; Luke Shepard; John Kemp
> *Cc:* OAuth WG
> *Subject:* Re: [OAUTH-WG] Issue: Split the authorization endpoint into 
> two endpoints
>
> This has nothing to do with it. There is no PUT and DELETE or POST 
> with non-form body when *requesting a token**.
>
> *We need to do a better job not to confuse accessing protected 
> resources with the flow calls. They are completely different.
>
> EHL
>
>
> On 4/16/10 7:02 PM, "James Manger" <James.H.Manger@team.telstra.com> 
> wrote:
>
> >> In either case, we should not restrict the access token URL to 
> POST-only.
> >> A GET request is just as secure and can be much easier to write code for
>
> > If you are using GET, then refresh tokens and client secrets will end
> > up side by side in web server log files.
>
> These are exactly the sort of reasons why client authentication should 
> be any "normal" auth scheme, and not an OAuth-special client_secret 
> POST parameter. That fails for PUT, DELETE, and POST with a non-form 
> body; and the security changes with GET.
>
> --
> James Manger
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    


--------------050901000702000805020906
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
from my point of view, the discussion is not necessarily about other
means (== authn mechn). Shared secrets are acceptable for most cases.
The discussion is about how client credentials are passed to the
authorization server API (direct calls only). The proposal is to do it
the HTTP authentication way. The spec recommends to use Oauth
Authorization headers for securing service/API access via HTTP instead
of API parameters. From my point of view, it is a matter of consistency
to apply the same pattern (credentials in Authorization headers) to the
OAuth authorization server API as well.<br>
Â <br>
>From my point of view, the value of having the client_secret parameter
is an interoperability baseline. Every library knowns how to perform
client authn for OAuth. That's important!. You can achieve the same
goal using a BASIC Authorization header + a lot of other advantages,
which have already been pointed out in this thread. <br>
<br>
Additionally, WWW-Authentication headers could be used by the
authorization server to signal the need for client authentication. In
the current spec, I don't see a way to find out when client authn is
required and when not. <br>
<br>
regards,<br>
Torsten.<br>
<br>
Am 17.04.2010 16:32, schrieb Luke Shepard:
<blockquote
 cite="mid:2513A610118CC14C8E622C376C8DEC93D54D66DDB9@SC-MBXC1.TheFacebook.com"
 type="cite">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta name="Generator" content="Microsoft Word 12 (filtered medium)">
  <title>Re: [OAUTH-WG] Issue: Split the authorization endpoint into
two
endpoints</title>
  <style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle18
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
-->
  </style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
  <div class="Section1">
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">If,
for your service, you want to use different means of
authenticating clients, I see no reason why you canâ€™t. Just ignore
client_secret and do it your own way (itâ€™s optional).<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>Â </o:p></span></p>
  <div>
  <div
 style="border-style: solid none none; border-color: rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">
  <p class="MsoNormal"><b><span
 style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;">From:</span></b><span
 style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;">
<a class="moz-txt-link-abbreviated" href="mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> [<a class="moz-txt-link-freetext" href="mailto:oauth-bounces@ietf.org">mailto:oauth-bounces@ietf.org</a>] <b>On Behalf Of
  </b>Manger,
James H<br>
  <b>Sent:</b> Friday, April 16, 2010 9:52 PM<br>
  <b>To:</b> Eran Hammer-Lahav; OAuth WG<br>
  <b>Subject:</b> Re: [OAUTH-WG] Issue: Split the authorization
endpoint into two
endpoints<o:p></o:p></span></p>
  </div>
  </div>
  <p class="MsoNormal"><o:p>Â </o:p></p>
  <p class="MsoNormal" style="margin-bottom: 12pt;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;"
 lang="EN-AU">&gt; This has
nothing to do with it. There is no PUT and DELETE or POST with non-form
body
when *requesting a token*<b>.<o:p></o:p></b></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-AU">It is relevant.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-AU">I donâ€™t want to authenticate direct client requests *<b>only</b>*
when
they *<b>request a token</b>*.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-AU">Clients might make any variety of direct requests
unrelated to
OAuth.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-AU">There might even be other OAuth-related requests from
clients to
an authorization server in future (eg get meta data, or delete a token;
even
refreshing a token might be better as a GET).<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-AU">I want to be able to use the same client auth mechanism,
and
same client credentials, for all these calls.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-AU">Some of these calls might be PUTs, DELETEs, non-form
POSTs, GETs
etc. even if requesting (&amp; refreshing) a token is always a form
POST.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-AU">Hence client_secret as a POST parameter when requesting a
token
is a poor design.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-AU"><o:p>Â </o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-AU"><o:p>Â </o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-AU">It should be perfectly valid (and not uncommon I expect)
for a
service to support OAuth for user delegation, but not use OAuth for
making all
direct client calls token-based â€” these address quite different issues.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-AU">Other services might use short-term refreshable tokens
when
clients (on their own behalf) access less trusted â€œcontentâ€ service,
but will
use â€œnormalâ€ auth when clients talk to the trusted
account/authorization
system.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-AU"><o:p>Â </o:p></span></p>
  <div>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-AU">-- <o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-AU">James Manger<o:p></o:p></span></p>
  </div>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"
 lang="EN-AU"><o:p>Â </o:p></span></p>
  <div>
  <div
 style="border-style: solid none none; border-color: rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">
  <p class="MsoNormal" style="margin-left: 0.5in;"><b><span
 style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;">From:</span></b><span
 style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;"> Eran
Hammer-Lahav
[<a class="moz-txt-link-freetext" href="mailto:eran@hueniverse.com">mailto:eran@hueniverse.com</a>] <br>
  <b>Sent:</b> Saturday, 17 April 2010 12:58 PM<br>
  <b>To:</b> Manger, James H; Luke Shepard; John Kemp<br>
  <b>Cc:</b> OAuth WG<br>
  <b>Subject:</b> Re: [OAUTH-WG] Issue: Split the authorization
endpoint into two
endpoints<o:p></o:p></span></p>
  </div>
  </div>
  <p class="MsoNormal" style="margin-left: 0.5in;"><span lang="EN-AU"><o:p>Â </o:p></span></p>
  <p class="MsoNormal"
 style="margin-right: 0in; margin-bottom: 12pt; margin-left: 0.5in;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;"
 lang="EN-AU">This has nothing to do with it. There is no PUT and
DELETE or POST with non-form body when *requesting a token*<b>.<br>
  <br>
  </b>We need to do a better job not to confuse accessing protected
resources
with the flow calls. They are completely different.<br>
  <br>
EHL<br>
  <br>
  <br>
On 4/16/10 7:02 PM, "James Manger" &lt;<a moz-do-not-send="true"
 href="James.H.Manger@team.telstra.com">James.H.Manger@team.telstra.com</a>&gt;
wrote:</span><span lang="EN-AU"><o:p></o:p></span></p>
  <p class="MsoNormal"
 style="margin-right: 0in; margin-bottom: 12pt; margin-left: 0.5in;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;"
 lang="EN-AU">&gt;&gt; In either case, we should not restrict the
access token URL to POST-only.<br>
&gt;&gt; A GET request is just as secure and can be much easier to
write code
for<br>
  <br>
&gt; If you are using GET, then refresh tokens and client secrets will
end<br>
&gt; up side by side in web server log files.<br>
  <br>
These are exactly the sort of reasons why client authentication should
be any
"normal" auth scheme, and not an OAuth-special client_secret POST
parameter. That fails for PUT, DELETE, and POST with a non-form body;
and the
security changes with GET.<br>
  <br>
--<br>
James Manger<br>
  <br>
_______________________________________________<br>
OAuth mailing list<br>
  <a moz-do-not-send="true" href="OAuth@ietf.org">OAuth@ietf.org</a><br>
  <a moz-do-not-send="true"
 href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a></span><span
 lang="EN-AU"><o:p></o:p></span></p>
  </div>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>
  </pre>
</blockquote>
<br>
</body>
</html>

--------------050901000702000805020906--


From mscurtescu@google.com  Sun Apr 18 13:31:02 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 5AE133A6767 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 13:31:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.652
X-Spam-Level: 
X-Spam-Status: No, score=-104.652 tagged_above=-999 required=5 tests=[AWL=-1.275, BAYES_50=0.001, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Z3S6Sr0RT1vq for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 13:31:01 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 914703A6407 for <oauth@ietf.org>; Sun, 18 Apr 2010 13:31:00 -0700 (PDT)
Received: from kpbe16.cbf.corp.google.com (kpbe16.cbf.corp.google.com [172.25.105.80]) by smtp-out.google.com with ESMTP id o3IKUm2h012860 for <oauth@ietf.org>; Sun, 18 Apr 2010 13:30:51 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271622652; bh=JzloU1oXI3KVwQVJNM6IhYOwO/s=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=my9AxIwJwv+ph9FhCeYlLjbnZA8kEGnp43nI9lq3YK4x7Kjq7yPFPJ8NqdcuoiuqK 12bxHLTK8rvDP/L9hAyQw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=vxg2Fei5tuu3tv8Pr3dXj5xULvhI42CUV0xr90yy4vuRNJpeZyJTRjO7vXVypllYk urY4s+JSjVnkjq7lmdbSQ==
Received: from pwi7 (pwi7.prod.google.com [10.241.219.7]) by kpbe16.cbf.corp.google.com with ESMTP id o3IKUlWj025437 for <oauth@ietf.org>; Sun, 18 Apr 2010 13:30:47 -0700
Received: by pwi7 with SMTP id 7so2816707pwi.35 for <oauth@ietf.org>; Sun, 18 Apr 2010 13:30:47 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Sun, 18 Apr 2010 13:30:27 -0700 (PDT)
In-Reply-To: <C7EE5805.3244E%eran@hueniverse.com>
References: <s2m74caaad21004161758scdd1ab27t486ef22b8f12911d@mail.gmail.com>  <C7EE5805.3244E%eran@hueniverse.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Sun, 18 Apr 2010 13:30:27 -0700
Received: by 10.140.251.19 with SMTP id y19mr3318522rvh.161.1271622647211;  Sun, 18 Apr 2010 13:30:47 -0700 (PDT)
Message-ID: <o2h74caaad21004181330s5db47089q1547fde9f3b6c623@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 18 Apr 2010 20:31:02 -0000

On Fri, Apr 16, 2010 at 6:08 PM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:
> We are going in circles. We are just not going to agree on this.
>
> I don=92t think we should have a parameter prefix for OAuth-specific call=
s,
> you think we should. Time to let other people express their view on this.
> I=92m sure both of us can live with both options.

Sure, but I think we are dealing with two different issues here. One
is allowing query parameters on callbacks and authz server endpoints,
and the other is parameter prefixes.

Do we agree on query parameters being allowed on all URLs?

Marius

>
> EHL
>
>
> On 4/16/10 5:58 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
> On Fri, Apr 16, 2010 at 7:34 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>> First, this argument only holds for callbacks, not for the authorization
>> endpoint.
>
> And why is that? This argument applies exactly the same way to the
> authorization endpoint. The same Drupal site can also be an OAuth 2.0
> Authorization Server.
>
> Basically any framework which does dispatching of requests based on
> query parameters will require that endpoints (or callbacks) have query
> parameters.
>
>
>> Since this problem is easily solved with a simple web server
>> configuration, I don=92t think it is as bad as you make it sound.
>
> Please read my example again. This *cannot* be solved with any kind of
> web server configuration. Ideal server configuration will make it
> appear that no query parameters are used, but behind the scene they
> are. Query parameters are needed on all endpoints, visible or not.
>
>
>> I=92m sure
>> that the Drupal community will find a solution if there are valuable OAu=
th
>> 2.0 resources they want to access.
>
> That's close to impossible. Do you really expect them to change the
> fundamental architecture of Drupal just to support OAuth? And the main
> reason for that architecture is how PHP works and what is available
> with shared hosting, so I guess many other similar frameworks will
> work like this.
>
>
>> However, I don=92t have an objection to a prefix for callback parameters
>> since
>> those are not purely protocol endpoints but client endpoints with
>> potential
>> existing semantics. We already have oauth_token for accessing a protecte=
d
>> resource using query parameters (for the same reason).
>>
>> But this argument does not extent to the authorization endpoint.
>
> Please read above, it does.
>
>
> Marius
>
>>
>> EHL
>>
>>
>> On 4/15/10 9:10 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>>
>> On Thu, Apr 15, 2010 at 6:39 PM, Evan Gilbert <uidude@google.com> wrote:
>>>
>>> On Thu, Apr 15, 2010 at 6:31 PM, Marius Scurtescu <mscurtescu@google.co=
m>
>>> wrote:
>>>>
>>>> OK, here is a concrete example:
>>>>
>>>> A Drupal (popular PHP based CMS) based web site wants to become an
>>>> OAuth 2 client. Among other things it needs to implement a callback
>>>> endpoint.
>>>>
>>>> Ideally this endpoint would look something like:
>>>> http://example.com/oauth/back
>>>>
>>>> Depending on what web server is used and how it is configured, the
>>>> above URL may not be possible. Drupal is dispatching all requests
>>>> through the main script and the path of the endpoint is passed as a
>>>> query parameter. Normally the above URL is seen as:
>>>> http://example.com/index.php?q=3Doauth/back
>>>>
>>>> The cleaner http://example.com/oauth/back is achieved with Apache URl
>>>> rewriting, but if Apache is not available or configured to support
>>>> that, you are stuck with the ugly query parameters.
>>>>
>>>> In the unlucky case the registered callback, and the actual callback
>>>> used in messages, is "http://example.com/index.php?q=3Doauth/back". Th=
is
>>>> callback has a query parameter, it is not used for state, and it is
>>>> not an extension.
>>>>
>>>> It so happens that "q" will not conflict with any of the existing
>>>> OAuth 2 parameters, but you can see the potential issue.
>>>>
>>>> Now, even if Apache is available and URL rewrites work, so the nice
>>>> callback is used, a collision would still happen if "q" was used by
>>>> OAuth 2. Apache rewrites "/oauth/back", but the Drupal dispatcher
>>>> always sees "/index.php?q=3Doauth/back", so another q parameter would
>>>> break things.
>>>
>>> We should ask Drupal to change their query parameter to drupal_q.
>>
>> And every single framework that does dispatching based on query paramete=
rs
>> :-)
>>
>>
>>>> I do realize that a prefix will not solve ALL collisions and it is
>>>> also not solving the extension question, but I still think makes a big
>>>> difference.
>>>
>>> This use case makes sense, but do we know of any existing conflicts?
>>> Very few web servers have this restrictive a URL parameter policy - I
>>> think
>>> I'm OK losing compatibility with future web servers that reserve the
>>> "callback" parameter for other purposes.
>>
>> My guess is that most PHP frameworks will have a similar problem, they
>> will require query parameters. =A0This is not a web server issue, but a
>> framework issue.
>>
>> Not only "callback" can cause a collision, but every single OAuth 2
>> parameter.
>>
>>
>> Marius
>>
>>
>
>

From mscurtescu@google.com  Sun Apr 18 13:38:34 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B8D513A693E for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 13:38:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.854
X-Spam-Level: 
X-Spam-Status: No, score=-105.854 tagged_above=-999 required=5 tests=[AWL=0.123, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Tf9azjQ9odrJ for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 13:38:33 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 54A843A6937 for <oauth@ietf.org>; Sun, 18 Apr 2010 13:38:33 -0700 (PDT)
Received: from kpbe20.cbf.corp.google.com (kpbe20.cbf.corp.google.com [172.25.105.84]) by smtp-out.google.com with ESMTP id o3IKcO3B021998 for <oauth@ietf.org>; Sun, 18 Apr 2010 13:38:24 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271623104; bh=5Gq/SP+gOh6qBCoq5syEvU8z0bQ=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=kPTnEZ+NNBJqQ/c6BVP2BECtXLPe93tKg0GP6vR4K6xN8ZbaOYR3TaK7bOwtK8qta pSLDh/iUUjKcQxWIrSxyg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=Ti9SQpd41zYcVsthDKA+EwnjRBTuRf8ASNGq2gnos8IH4oOvqfcIVjqxS3efJQxOR V61iHdNuTkDxM9Enkk2ZQ==
Received: from pwj1 (pwj1.prod.google.com [10.241.219.65]) by kpbe20.cbf.corp.google.com with ESMTP id o3IKcNEL015473 for <oauth@ietf.org>; Sun, 18 Apr 2010 13:38:23 -0700
Received: by pwj1 with SMTP id 1so3258459pwj.37 for <oauth@ietf.org>; Sun, 18 Apr 2010 13:38:23 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Sun, 18 Apr 2010 13:38:02 -0700 (PDT)
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DD94@SC-MBXC1.TheFacebook.com>
References: <s2m74caaad21004161758scdd1ab27t486ef22b8f12911d@mail.gmail.com>  <C7EE5805.3244E%eran@hueniverse.com> <2513A610118CC14C8E622C376C8DEC93D54D66DD94@SC-MBXC1.TheFacebook.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Sun, 18 Apr 2010 13:38:02 -0700
Received: by 10.141.101.17 with SMTP id d17mr2186758rvm.265.1271623102957;  Sun, 18 Apr 2010 13:38:22 -0700 (PDT)
Message-ID: <o2s74caaad21004181338kbc3e0f29m5c77fb3ddfa55d56@mail.gmail.com>
To: Luke Shepard <lshepard@facebook.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 18 Apr 2010 20:38:34 -0000

On Fri, Apr 16, 2010 at 6:23 PM, Luke Shepard <lshepard@facebook.com> wrote=
:
> So, I originally favored the prefix, as I couldn=92t see how you would no=
t do
> it.
>
>
>
> But I=92ve recently implemented OAuth prototype and written some apps aga=
inst
> it, and I have to say, I like not having the prefix. Most developers don=
=92t
> care that they are using OAuth =96 they just want to talk to a service. T=
he
> prefix sort of beats them over the head with it, without much benefit. It=
=92s
> one less thing to scare new developers.

I am not saying that I like prefixes, I am just worried that by not
having them some deployments will have conflicts.

I am sure that most implementations will work perfectly fine with out
the prefix, but that does not mean it will work in all cases.

Also, when implementing OAuth 2.0 people will take into account
existing parameters and will avoid them, they will chose other
parameter names (if possible). If the next version of OAuth, let's
call it 2.1, adds a few new parameters, how can we chose them so they
don't collide with extra parameters used by 2.0 implementations?

A prefix avoids all this.

But then again, I seem to be the only one worrying about this. I'll
let it be for now.

Marius

>
>
>
> So, I=92m in favor of no prefix.
>
>
>
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of
> Eran Hammer-Lahav
> Sent: Friday, April 16, 2010 6:08 PM
> To: Marius Scurtescu
> Cc: OAuth WG
> Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension
> policy
>
>
>
> We are going in circles. We are just not going to agree on this.
>
> I don=92t think we should have a parameter prefix for OAuth-specific call=
s,
> you think we should. Time to let other people express their view on this.
> I=92m sure both of us can live with both options.
>
> EHL
>
>
> On 4/16/10 5:58 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>
> On Fri, Apr 16, 2010 at 7:34 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>> First, this argument only holds for callbacks, not for the authorization
>> endpoint.
>
> And why is that? This argument applies exactly the same way to the
> authorization endpoint. The same Drupal site can also be an OAuth 2.0
> Authorization Server.
>
> Basically any framework which does dispatching of requests based on
> query parameters will require that endpoints (or callbacks) have query
> parameters.
>
>
>> Since this problem is easily solved with a simple web server
>> configuration, I don=92t think it is as bad as you make it sound.
>
> Please read my example again. This *cannot* be solved with any kind of
> web server configuration. Ideal server configuration will make it
> appear that no query parameters are used, but behind the scene they
> are. Query parameters are needed on all endpoints, visible or not.
>
>
>> I=92m sure
>> that the Drupal community will find a solution if there are valuable OAu=
th
>> 2.0 resources they want to access.
>
> That's close to impossible. Do you really expect them to change the
> fundamental architecture of Drupal just to support OAuth? And the main
> reason for that architecture is how PHP works and what is available
> with shared hosting, so I guess many other similar frameworks will
> work like this.
>
>
>> However, I don=92t have an objection to a prefix for callback parameters
>> since
>> those are not purely protocol endpoints but client endpoints with
>> potential
>> existing semantics. We already have oauth_token for accessing a protecte=
d
>> resource using query parameters (for the same reason).
>>
>> But this argument does not extent to the authorization endpoint.
>
> Please read above, it does.
>
>
> Marius
>
>>
>> EHL
>>
>>
>> On 4/15/10 9:10 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:
>>
>> On Thu, Apr 15, 2010 at 6:39 PM, Evan Gilbert <uidude@google.com> wrote:
>>>
>>> On Thu, Apr 15, 2010 at 6:31 PM, Marius Scurtescu <mscurtescu@google.co=
m>
>>> wrote:
>>>>
>>>> OK, here is a concrete example:
>>>>
>>>> A Drupal (popular PHP based CMS) based web site wants to become an
>>>> OAuth 2 client. Among other things it needs to implement a callback
>>>> endpoint.
>>>>
>>>> Ideally this endpoint would look something like:
>>>> http://example.com/oauth/back
>>>>
>>>> Depending on what web server is used and how it is configured, the
>>>> above URL may not be possible. Drupal is dispatching all requests
>>>> through the main script and the path of the endpoint is passed as a
>>>> query parameter. Normally the above URL is seen as:
>>>> http://example.com/index.php?q=3Doauth/back
>>>>
>>>> The cleaner http://example.com/oauth/back is achieved with Apache URl
>>>> rewriting, but if Apache is not available or configured to support
>>>> that, you are stuck with the ugly query parameters.
>>>>
>>>> In the unlucky case the registered callback, and the actual callback
>>>> used in messages, is "http://example.com/index.php?q=3Doauth/back". Th=
is
>>>> callback has a query parameter, it is not used for state, and it is
>>>> not an extension.
>>>>
>>>> It so happens that "q" will not conflict with any of the existing
>>>> OAuth 2 parameters, but you can see the potential issue.
>>>>
>>>> Now, even if Apache is available and URL rewrites work, so the nice
>>>> callback is used, a collision would still happen if "q" was used by
>>>> OAuth 2. Apache rewrites "/oauth/back", but the Drupal dispatcher
>>>> always sees "/index.php?q=3Doauth/back", so another q parameter would
>>>> break things.
>>>
>>> We should ask Drupal to change their query parameter to drupal_q.
>>
>> And every single framework that does dispatching based on query paramete=
rs
>> :-)
>>
>>
>>>> I do realize that a prefix will not solve ALL collisions and it is
>>>> also not solving the extension question, but I still think makes a big
>>>> difference.
>>>
>>> This use case makes sense, but do we know of any existing conflicts?
>>> Very few web servers have this restrictive a URL parameter policy - I
>>> think
>>> I'm OK losing compatibility with future web servers that reserve the
>>> "callback" parameter for other purposes.
>>
>> My guess is that most PHP frameworks will have a similar problem, they
>> will require query parameters. =A0This is not a web server issue, but a
>> framework issue.
>>
>> Not only "callback" can cause a collision, but every single OAuth 2
>> parameter.
>>
>>
>> Marius
>>
>>

From jbemmel@zonnet.nl  Sun Apr 18 14:34:02 2010
Return-Path: <jbemmel@zonnet.nl>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 999DB3A67AF for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 14:34:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.241
X-Spam-Level: 
X-Spam-Status: No, score=0.241 tagged_above=-999 required=5 tests=[AWL=-0.744,  BAYES_05=-1.11, HELO_EQ_NL=0.55, HOST_EQ_NL=1.545]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6D5z+PwEGuMC for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 14:34:02 -0700 (PDT)
Received: from smtp3.versatel.nl (smtp4.versatel.nl [62.58.50.91]) by core3.amsl.com (Postfix) with ESMTP id 87A863A67D2 for <oauth@ietf.org>; Sun, 18 Apr 2010 14:33:59 -0700 (PDT)
Received: (qmail 8206 invoked by uid 0); 18 Apr 2010 21:33:48 -0000
Received: from ip160-34-212-87.adsl2.static.versatel.nl (HELO [192.168.1.5]) ([87.212.34.160]) (envelope-sender <jbemmel@zonnet.nl>) by smtp4.versatel.nl (qmail-ldap-1.03) with SMTP for < >; 18 Apr 2010 21:33:48 -0000
Message-ID: <4BCB7ABC.5080906@zonnet.nl>
Date: Sun, 18 Apr 2010 23:33:48 +0200
From: Jeroen van Bemmel <jbemmel@zonnet.nl>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: OAuth WG <oauth@ietf.org>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Subject: [OAUTH-WG] Token authorization for HTTP proxies
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 18 Apr 2010 21:34:02 -0000

All,

Can the 'Token' Authorization scheme also be used by HTTP proxies? i.e. 
similar to the WWW-Authenticate header, a proxy might use the 
Proxy-Authenticate header to require a token. This might be useful in 
enterprise scenario's, for example

Regards,
Jeroen

From dick.hardt@gmail.com  Sun Apr 18 17:46:45 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6CAFC3A6A2F for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 17:46:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.298
X-Spam-Level: 
X-Spam-Status: No, score=-1.298 tagged_above=-999 required=5 tests=[AWL=-1.300, BAYES_50=0.001, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oD5x-50wm4T4 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 17:46:44 -0700 (PDT)
Received: from mail-gw0-f44.google.com (mail-gw0-f44.google.com [74.125.83.44]) by core3.amsl.com (Postfix) with ESMTP id 5066A3A6A34 for <oauth@ietf.org>; Sun, 18 Apr 2010 17:46:44 -0700 (PDT)
Received: by gwj20 with SMTP id 20so105855gwj.31 for <oauth@ietf.org>; Sun, 18 Apr 2010 17:46:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:content-type:subject :date:message-id:cc:to:mime-version:x-mailer; bh=1mLlHauCuVmr1SzUpk40Qo3IPbQo9apK0LMM2S/l1X8=; b=MGxXFHPLVlNkuVf7xRZAz9oAUWsF4CaTIjozguDsBxE9v2BJGDmHa45IqiH4bDVs0E CzY/TVAd61scDR+WHW1Yu/njXNITHDWSWOoUwMiJuye7H5d2ijZgM6qugGewBSquiym3 PI9q/cxT21cvk2oo6Hj20H9/QmB/ohKp3KC4g=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:content-type:subject:date:message-id:cc:to:mime-version :x-mailer; b=jZ1jp3510GXCAYMkpcrXTTi5TB10iHOCPh+GceHnDowjs7HyDrr/lGx7Uxd9LtgBAC EmbvHvXyx5QDayJImp20ZuUJscEo0fn+vx17rdXisYJQox5WLC9iFNnwXOXxJmPtTi1E L2c6xMJa18TWCtk1/AyD5e9cTSKazyudl2UmY=
Received: by 10.101.179.22 with SMTP id g22mr11331150anp.192.1271637990370; Sun, 18 Apr 2010 17:46:30 -0700 (PDT)
Received: from [10.0.1.8] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id 9sm1393140yxf.47.2010.04.18.17.46.28 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 18 Apr 2010 17:46:29 -0700 (PDT)
From: Dick Hardt <dick.hardt@gmail.com>
Content-Type: multipart/alternative; boundary=Apple-Mail-8--874472485
Date: Sun, 18 Apr 2010 17:46:27 -0700
Message-Id: <14411661-A227-4DCA-86B3-A9C5FB8055D7@gmail.com>
To: OAuth WG <oauth@ietf.org>
Mime-Version: 1.0 (Apple Message framework v1078)
X-Mailer: Apple Mail (2.1078)
Cc: Marius Scurtescu <marius.scurtescu@gmail.com>
Subject: [OAUTH-WG] Issue: prefixing parameters with oauth_
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 00:46:45 -0000

--Apple-Mail-8--874472485
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

(restarting discussion from
	=
http://groups.google.com/group/oauth-ietf-wg/browse_thread/thread/8aeb3181=
7ead4c2a/f19773643e0a8ba3?pli=3D1
 with matching subject)

Given the practice that the authorization endpoint and the redirect_uri =
can contain URI query parameters, then differentiating between =
application specific query parameters and OAuth protocol parameters by =
prefixing the OAuth parameters with oauth_ would seem a useful way to =
minimize conflicts.

Since calls to the token endpoint use POST, there can not be any =
confusion between the parameters in the body of the message and URI =
query parameters

Note this has nothing to do with differentiating between protocol =
extension parameters and core OAuth parameters.

-- Dick=

--Apple-Mail-8--874472485
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; =
">(restarting discussion from<div><span class=3D"Apple-tab-span" =
style=3D"white-space:pre">	</span><a =
href=3D"http://groups.google.com/group/oauth-ietf-wg/browse_thread/thread/=
8aeb31817ead4c2a/f19773643e0a8ba3?pli=3D1">http://groups.google.com/group/=
oauth-ietf-wg/browse_thread/thread/8aeb31817ead4c2a/f19773643e0a8ba3?pli=3D=
1</a></div><meta charset=3D"utf-8"><div>&nbsp;with matching =
subject)</div><div><br></div><div>Given the practice that the =
authorization endpoint and the redirect_uri can contain URI query =
parameters, then differentiating between application specific query =
parameters and OAuth protocol parameters by prefixing the OAuth =
parameters with oauth_ would seem a useful way to minimize =
conflicts.</div><div><br></div><div>Since calls to the token endpoint =
use POST, there can not be any confusion between the parameters in the =
body of the message and URI query =
parameters</div><div><br></div><div>Note this has nothing to do with =
differentiating between protocol extension parameters and core OAuth =
parameters.</div><div><br></div><div>-- Dick</div></body></html>=

--Apple-Mail-8--874472485--

From dick.hardt@gmail.com  Sun Apr 18 18:12:42 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1211C3A6A4A for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 18:12:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GUjPFCm7nECU for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 18:12:40 -0700 (PDT)
Received: from mail-pv0-f172.google.com (mail-pv0-f172.google.com [74.125.83.172]) by core3.amsl.com (Postfix) with ESMTP id 9DBEE3A6A2F for <oauth@ietf.org>; Sun, 18 Apr 2010 18:12:40 -0700 (PDT)
Received: by pvf33 with SMTP id 33so2731421pvf.31 for <oauth@ietf.org>; Sun, 18 Apr 2010 18:12:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=6fxt7KLeIiMrET12XLNjxdeiT1hY03u0skKKeVNJsoA=; b=ZhvxjG5MxqUNET95qcRFkcpMV2TP316kyWyRx/z0AMCJPihtuqit4xL0v7z+qEDvP1 GqWvR9thm+Kd4BZ8PfJ2jq6ZoGz3XT/mnBybLwjjCukabMkg2dUHRZHMeBwBA9JtayW3 Knx0u+jQqm5K4tki2Q9I6CuwMvb4QIHS6fVtY=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=Uil7pxeyEtQULZosUFLYv9ESEjeiZuU1FDEp1PYVTmlTqIP1dRHoqHL/HZDj3demM3 pD9UWLDAUXpzH7R3NE/CluN7QcrAT3s4iphrEwkx8bId/pJM8ekUSyPUAyHWVNDHb+hy P1H7c08JBagvxdKXpwi2cmd/4YR+186omich8=
MIME-Version: 1.0
Received: by 10.142.58.3 with HTTP; Sun, 18 Apr 2010 18:12:29 -0700 (PDT)
In-Reply-To: <C7ECB1F7.32357%eran@hueniverse.com>
References: <C7ECB1F7.32357%eran@hueniverse.com>
Date: Sun, 18 Apr 2010 18:12:29 -0700
Received: by 10.142.249.2 with SMTP id w2mr1699326wfh.25.1271639549816; Sun,  18 Apr 2010 18:12:29 -0700 (PDT)
Message-ID: <h2l987bab591004181812ve43197f9la55f59b753bd2959@mail.gmail.com>
From: Dick Hardt <dick.hardt@gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=00504502ce95a62fa404848ca7b6
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 01:12:42 -0000

--00504502ce95a62fa404848ca7b6
Content-Type: text/plain; charset=ISO-8859-1

The scope parameter was included in WRAP at the request of library and AS
implementors to standardize a commonly included parameters.

The client_id parameter seems similar to the scope parameter. The meaning of
client_id is not defined in the spec and is AS specific. A client_id that a
developer uses with one AS may be different at a different AS.

The argument that defining the scope parameter will cause more confusion is
confusing itself. Why would a developer think they can use the same scope at
two different AS? The developer has to manage different client_ids,
different endpoint URIs and different PRs: not to mention different APIs.
Having a different scope between AS seems natural. Having a vendor defined
parameter name for different AS that all mean scope seems suboptimal.

A related example. Email has a subject parameter, we all have a similar idea
what it means, and it can be used differently in different situations, but
it was useful to create the placeholder for the optional subject of an email
message.

Proposal: put optional scope parameter back into all calls to obtain an
access token. Put optional scope parameter into calls to refresh an access
token.

-- Dick

On Thu, Apr 15, 2010 at 12:07 PM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

> WRAP includes a loosely defined scope parameter which allows for
> vendor-specific (and non-interoperable) use cases. This was requested by
> many working group members to be included in OAuth 2.0 with the argument
> that while it doesn't help interop, it makes using clients easier.
>
> The problem with a general purpose scope parameter that is completely
> undefined in structure is that it hurts interop more than it helps. It
> creates an expectation that values can be used across services, and it
> cannot be used without another spec defining its content and structure.
> Such
> as spec can simply define its own parameter.
>
> In addition, it is not clear what belongs in scope (list of resources,
> access type, duration of access, right to share data, rights to
> re-delegate).
>
> The rules should be that if a parameter cannot be used without another
> documentation, it should be defined in that other document.
>
> Proposal: Request proposals for a scope parameter definition that improve
> interop. Otherwise, keep the parameter out of the core spec.
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--00504502ce95a62fa404848ca7b6
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

The scope parameter was included in WRAP at the request of library and AS i=
mplementors to standardize a commonly included parameters.<div><br></div><d=
iv>The client_id parameter seems similar to the scope parameter. The meanin=
g of client_id is not defined in the spec and is AS specific. A client_id t=
hat a developer uses with one AS may be different at a different AS.=A0</di=
v>
<div><br></div><div>The argument that defining the scope parameter will cau=
se more confusion is confusing itself. Why would a developer think they can=
 use the same scope at two different AS? The developer has to manage differ=
ent client_ids, different endpoint URIs and different PRs: not to mention d=
ifferent APIs. Having a different scope between AS seems natural. Having a =
vendor defined parameter name for different AS that all mean scope seems su=
boptimal.=A0</div>
<div><br></div><div>A related example. Email has a subject parameter, we al=
l have a=A0similar=A0idea what it means, and it can be used differently in =
different situations, but it was useful to create the placeholder for the=
=A0optional=A0subject of an email message.</div>
<div><br></div><div>Proposal: put optional scope parameter back into all ca=
lls to obtain an access token. Put optional scope parameter into calls to r=
efresh an access token.</div><div><br></div><div>-- Dick<br><br><div class=
=3D"gmail_quote">
On Thu, Apr 15, 2010 at 12:07 PM, Eran Hammer-Lahav <span dir=3D"ltr">&lt;<=
a href=3D"mailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt;</span> wr=
ote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border=
-left:1px #ccc solid;padding-left:1ex;">
WRAP includes a loosely defined scope parameter which allows for<br>
vendor-specific (and non-interoperable) use cases. This was requested by<br=
>
many working group members to be included in OAuth 2.0 with the argument<br=
>
that while it doesn&#39;t help interop, it makes using clients easier.<br>
<br>
The problem with a general purpose scope parameter that is completely<br>
undefined in structure is that it hurts interop more than it helps. It<br>
creates an expectation that values can be used across services, and it<br>
cannot be used without another spec defining its content and structure. Suc=
h<br>
as spec can simply define its own parameter.<br>
<br>
In addition, it is not clear what belongs in scope (list of resources,<br>
access type, duration of access, right to share data, rights to<br>
re-delegate).<br>
<br>
The rules should be that if a parameter cannot be used without another<br>
documentation, it should be defined in that other document.<br>
<br>
Proposal: Request proposals for a scope parameter definition that improve<b=
r>
interop. Otherwise, keep the parameter out of the core spec.<br>
<div><div></div><div class=3D"h5"><br>
EHL<br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br></div>

--00504502ce95a62fa404848ca7b6--

From recordond@gmail.com  Sun Apr 18 18:38:33 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8A0343A6A5E for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 18:38:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZlkW9Yjrv6OS for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 18:38:32 -0700 (PDT)
Received: from mail-iw0-f191.google.com (mail-iw0-f191.google.com [209.85.223.191]) by core3.amsl.com (Postfix) with ESMTP id 835913A68DC for <oauth@ietf.org>; Sun, 18 Apr 2010 18:38:32 -0700 (PDT)
Received: by iwn29 with SMTP id 29so2913152iwn.17 for <oauth@ietf.org>; Sun, 18 Apr 2010 18:38:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=I5kRYfO7NVl6Ux3D71ntQQYZn/gqdbYM9VdvCKCgq7c=; b=X1i5bVuJlIip5h7rIYduh9RS62T03cV7eGbdJ1h8qB6m+GyPohmhpOvx9L82Be/Ayc PRcBSBiiLuoaiZw564x7p3jD3SKaoih4DT8hNGRHV7YWA3FQspMoH5KN1Vr5l/f/nzsD DI9vk8DFGZ38ipMBY88CAv2o9bcxcV+Nh3ZIU=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=trNIUzHlnqtAJS/Pl/ZSKbfKOiZ5tzG7AA5l0n/sB9mh5QI/oWPoEe34ZQoftdmuEm 6e2XoBsnS2kxI+GOvNnMufoui7TqaD4ArtEqQ16iP1NB+sHoOeOi98vXzQpQ87w63Pzj zqmEtZbkS+pzAPIooyPQG2Vki97XJ3qIOXFF4=
MIME-Version: 1.0
Received: by 10.231.182.196 with HTTP; Sun, 18 Apr 2010 18:38:21 -0700 (PDT)
In-Reply-To: <h2l987bab591004181812ve43197f9la55f59b753bd2959@mail.gmail.com>
References: <C7ECB1F7.32357%eran@hueniverse.com> <h2l987bab591004181812ve43197f9la55f59b753bd2959@mail.gmail.com>
Date: Sun, 18 Apr 2010 18:38:21 -0700
Received: by 10.231.168.78 with SMTP id t14mr1691522iby.34.1271641101762; Sun,  18 Apr 2010 18:38:21 -0700 (PDT)
Message-ID: <o2wfd6741651004181838ob1dda59bpf7cb88d3b1892c1d@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Dick Hardt <dick.hardt@gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 01:38:33 -0000

I think we need to add a bit more definition to the scope parameter.
Maybe as simple as a comma-separated list of strings.


On Sun, Apr 18, 2010 at 6:12 PM, Dick Hardt <dick.hardt@gmail.com> wrote:
> The scope parameter was included in WRAP at the request of library and AS
> implementors to standardize a commonly included parameters.
> The client_id parameter seems similar to the scope parameter. The meaning=
 of
> client_id is not defined in the spec and is AS specific. A client_id that=
 a
> developer uses with one AS may be different at a different AS.
> The argument that defining the scope parameter will cause more confusion =
is
> confusing itself. Why would a developer think they can use the same scope=
 at
> two different AS? The developer has to manage different client_ids,
> different endpoint URIs and different PRs: not to mention different APIs.
> Having a different scope between AS seems natural. Having a vendor define=
d
> parameter name for different AS that all mean scope seems suboptimal.
> A related example. Email has a subject parameter, we all have a=A0similar=
=A0idea
> what it means, and it can be used differently in different situations, bu=
t
> it was useful to create the placeholder for the=A0optional=A0subject of a=
n email
> message.
> Proposal: put optional scope parameter back into all calls to obtain an
> access token. Put optional scope parameter into calls to refresh an acces=
s
> token.
> -- Dick
>
> On Thu, Apr 15, 2010 at 12:07 PM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>>
>> WRAP includes a loosely defined scope parameter which allows for
>> vendor-specific (and non-interoperable) use cases. This was requested by
>> many working group members to be included in OAuth 2.0 with the argument
>> that while it doesn't help interop, it makes using clients easier.
>>
>> The problem with a general purpose scope parameter that is completely
>> undefined in structure is that it hurts interop more than it helps. It
>> creates an expectation that values can be used across services, and it
>> cannot be used without another spec defining its content and structure.
>> Such
>> as spec can simply define its own parameter.
>>
>> In addition, it is not clear what belongs in scope (list of resources,
>> access type, duration of access, right to share data, rights to
>> re-delegate).
>>
>> The rules should be that if a parameter cannot be used without another
>> documentation, it should be defined in that other document.
>>
>> Proposal: Request proposals for a scope parameter definition that improv=
e
>> interop. Otherwise, keep the parameter out of the core spec.
>>
>> EHL
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

From recordond@gmail.com  Sun Apr 18 18:42:26 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B2BBE3A6927 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 18:42:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qNBQhraKF9Md for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 18:42:26 -0700 (PDT)
Received: from mail-iw0-f191.google.com (mail-iw0-f191.google.com [209.85.223.191]) by core3.amsl.com (Postfix) with ESMTP id E9CED3A68AF for <oauth@ietf.org>; Sun, 18 Apr 2010 18:42:25 -0700 (PDT)
Received: by iwn29 with SMTP id 29so2915585iwn.17 for <oauth@ietf.org>; Sun, 18 Apr 2010 18:42:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=Pa1U8385rWCYebzKaqkTJzefYEEcv2PSBEiXeNDPLHI=; b=Vt7z1xW76KCHd9nTSUW1V416KGbRUxTkKnv6oTz90YX6bklsKdStui5FyNvPKIl7Z6 wqNNETthZuL9IVEwE1LeX+CYVYXKRtNJjHI5ePmh/4FR4kQ51eHXfgUkm2CUGNsOJfYU AviYKTq6uRNbG/4Yr1FC2Y4u8Q+sTJuJ+lKJk=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=R3PeM8HCV4xcXU4UWEdLsD8FeYHV4p6ZTGLJb3TtmMpiHu1XG0MEgVZH7km4hpDN9K 9t5YKvRzKfb/T3ssKnzTY1mGlxqB+6YmicLZv0aMEtqwXXFG4mKFHuduZjNrqjDbBZEj rj+Q0BB5VWJHVXb33Lb1Ij8yR9XCrGrfmDGCI=
MIME-Version: 1.0
Received: by 10.231.182.196 with HTTP; Sun, 18 Apr 2010 18:42:01 -0700 (PDT)
In-Reply-To: <14411661-A227-4DCA-86B3-A9C5FB8055D7@gmail.com>
References: <14411661-A227-4DCA-86B3-A9C5FB8055D7@gmail.com>
Date: Sun, 18 Apr 2010 18:42:01 -0700
Received: by 10.231.152.75 with SMTP id f11mr1683046ibw.50.1271641321801; Sun,  18 Apr 2010 18:42:01 -0700 (PDT)
Message-ID: <z2xfd6741651004181842pd8caf853rf12e8a4d28b7cb02@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Dick Hardt <dick.hardt@gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: Marius Scurtescu <marius.scurtescu@gmail.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 01:42:26 -0000

While Facebook platform engineers were quite dubios of no oauth_
prefix after hacking on a draft implementation their opinion has
changed. They're now really enjoying shorter and cleaner paramater
names and found them to be easier to document and no more difficult to
implement.


On Sun, Apr 18, 2010 at 5:46 PM, Dick Hardt <dick.hardt@gmail.com> wrote:
> (restarting discussion from
> http://groups.google.com/group/oauth-ietf-wg/browse_thread/thread/8aeb318=
17ead4c2a/f19773643e0a8ba3?pli=3D1
> =A0with matching subject)
> Given the practice that the authorization endpoint and the redirect_uri c=
an
> contain URI query parameters, then differentiating between application
> specific query parameters and OAuth protocol parameters by prefixing the
> OAuth parameters with oauth_ would seem a useful way to minimize conflict=
s.
> Since calls to the token endpoint use POST, there can not be any confusio=
n
> between the parameters in the body of the message and URI query parameter=
s
> Note this has nothing to do with differentiating between protocol extensi=
on
> parameters and core OAuth parameters.
> -- Dick
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

From dick.hardt@gmail.com  Sun Apr 18 18:47:31 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2F5403A6900 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 18:47:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.274
X-Spam-Level: 
X-Spam-Status: No, score=-2.274 tagged_above=-999 required=5 tests=[AWL=0.325,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qmpuSu+4hC3a for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 18:47:30 -0700 (PDT)
Received: from mail-yw0-f200.google.com (mail-yw0-f200.google.com [209.85.211.200]) by core3.amsl.com (Postfix) with ESMTP id 1FC713A6890 for <oauth@ietf.org>; Sun, 18 Apr 2010 18:47:30 -0700 (PDT)
Received: by ywh38 with SMTP id 38so2346065ywh.29 for <oauth@ietf.org>; Sun, 18 Apr 2010 18:47:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=wJpvp3lCmXbqSFxIwfJKrvpDIUTRwIYa0ObPJFl6OwM=; b=B4FiK44kd/kF6rzbAvv5JJ1LEYZR0ukCbSTprAMwOM1zigTF1WvX7dHnLUdYRTAwoj SaE3Ds59LeziEtXncn/TT+Q3voEdpdML93OU+I1ya6/yfKWc7PvgVuc6LuT/Q/sxSl5C sSKPiGqwqZYfOhPkJj64b9YmNLp9V84IMvaws=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=wY4OqlCz6L2IV7vL1IMXNAKoITFx/kNIoAj15D5SEjDShF0dwuUgJTv6wgIIk1xp9a +Jc56vlh9J90Cdiyw4LF2GeZLBLBgeg+ANbMPqtUD62Zx0wkYigS2sLtgJrwi7jni09q ug+mdnl8fCrjUmb6vkIafQGYzSmq/gCvYpscw=
Received: by 10.150.250.42 with SMTP id x42mr5370694ybh.193.1271641638503; Sun, 18 Apr 2010 18:47:18 -0700 (PDT)
Received: from [10.0.1.8] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id 35sm1400756yxh.33.2010.04.18.18.47.16 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 18 Apr 2010 18:47:17 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: Dick Hardt <dick.hardt@gmail.com>
In-Reply-To: <o2wfd6741651004181838ob1dda59bpf7cb88d3b1892c1d@mail.gmail.com>
Date: Sun, 18 Apr 2010 18:47:15 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <1676FB17-48B2-4125-991C-CE996C4DE66B@gmail.com>
References: <C7ECB1F7.32357%eran@hueniverse.com> <h2l987bab591004181812ve43197f9la55f59b753bd2959@mail.gmail.com> <o2wfd6741651004181838ob1dda59bpf7cb88d3b1892c1d@mail.gmail.com>
To: David Recordon <recordond@gmail.com>
X-Mailer: Apple Mail (2.1078)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 01:47:31 -0000

I would leave that to be AS defined -- different delimiters make sense =
in different environments -- it could be an expression -- just make it a =
string -- it will need to be URL encoded which will deal with any magic =
characters.

-- Diok


On 2010-04-18, at 6:38 PM, David Recordon wrote:

> I think we need to add a bit more definition to the scope parameter.
> Maybe as simple as a comma-separated list of strings.
>=20
>=20
> On Sun, Apr 18, 2010 at 6:12 PM, Dick Hardt <dick.hardt@gmail.com> =
wrote:
>> The scope parameter was included in WRAP at the request of library =
and AS
>> implementors to standardize a commonly included parameters.
>> The client_id parameter seems similar to the scope parameter. The =
meaning of
>> client_id is not defined in the spec and is AS specific. A client_id =
that a
>> developer uses with one AS may be different at a different AS.
>> The argument that defining the scope parameter will cause more =
confusion is
>> confusing itself. Why would a developer think they can use the same =
scope at
>> two different AS? The developer has to manage different client_ids,
>> different endpoint URIs and different PRs: not to mention different =
APIs.
>> Having a different scope between AS seems natural. Having a vendor =
defined
>> parameter name for different AS that all mean scope seems suboptimal.
>> A related example. Email has a subject parameter, we all have a =
similar idea
>> what it means, and it can be used differently in different =
situations, but
>> it was useful to create the placeholder for the optional subject of =
an email
>> message.
>> Proposal: put optional scope parameter back into all calls to obtain =
an
>> access token. Put optional scope parameter into calls to refresh an =
access
>> token.
>> -- Dick
>>=20
>> On Thu, Apr 15, 2010 at 12:07 PM, Eran Hammer-Lahav =
<eran@hueniverse.com>
>> wrote:
>>>=20
>>> WRAP includes a loosely defined scope parameter which allows for
>>> vendor-specific (and non-interoperable) use cases. This was =
requested by
>>> many working group members to be included in OAuth 2.0 with the =
argument
>>> that while it doesn't help interop, it makes using clients easier.
>>>=20
>>> The problem with a general purpose scope parameter that is =
completely
>>> undefined in structure is that it hurts interop more than it helps. =
It
>>> creates an expectation that values can be used across services, and =
it
>>> cannot be used without another spec defining its content and =
structure.
>>> Such
>>> as spec can simply define its own parameter.
>>>=20
>>> In addition, it is not clear what belongs in scope (list of =
resources,
>>> access type, duration of access, right to share data, rights to
>>> re-delegate).
>>>=20
>>> The rules should be that if a parameter cannot be used without =
another
>>> documentation, it should be defined in that other document.
>>>=20
>>> Proposal: Request proposals for a scope parameter definition that =
improve
>>> interop. Otherwise, keep the parameter out of the core spec.
>>>=20
>>> EHL
>>>=20
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>=20
>>=20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>=20
>>=20


From dick.hardt@gmail.com  Sun Apr 18 18:50:01 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4ECBD3A6927 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 18:50:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.339
X-Spam-Level: 
X-Spam-Status: No, score=-2.339 tagged_above=-999 required=5 tests=[AWL=0.260,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jwyn4xll7BwI for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 18:50:00 -0700 (PDT)
Received: from mail-gw0-f44.google.com (mail-gw0-f44.google.com [74.125.83.44]) by core3.amsl.com (Postfix) with ESMTP id 6BB283A6890 for <oauth@ietf.org>; Sun, 18 Apr 2010 18:50:00 -0700 (PDT)
Received: by gwj20 with SMTP id 20so132328gwj.31 for <oauth@ietf.org>; Sun, 18 Apr 2010 18:49:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=wVNUETituUv3Ktf93qPi8RZDSzwQ7QEPXSa/FcVQo3c=; b=Tpf9vwfGSPHA7y6A8tb9ZNtlRKFsOO+/M2mVkTakRPEvgrzs79bdVyTiQ3Ay7LOMlU YJHMXYR8+rPCFC/z6w5vNiIenurlOS418Y/jVKlkd20oRGjDTJG4i40crv3/o06uBlfm qankY7SzwK9ror0xsHRLLBYKhtVLnQ+cGedhk=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=nu8dtRmzINysAow1fdlH4NBJOVsGuJlw/k5IUqy+hZiTS1DadTDbCRZiqj74sxAYuj 2/L412TEupAUCqklegRdFwoNLVBwPczbwwi0VCUddzmCuLoVn/oiY6flK9PfxC8CWVPF vaFSRZZu2lo1GizOM4OtF0UvtNzSkY6MVbmss=
Received: by 10.101.59.16 with SMTP id m16mr11849784ank.84.1271641786594; Sun, 18 Apr 2010 18:49:46 -0700 (PDT)
Received: from [10.0.1.8] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id 4sm1403736yxd.70.2010.04.18.18.49.43 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 18 Apr 2010 18:49:44 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: Dick Hardt <dick.hardt@gmail.com>
In-Reply-To: <z2xfd6741651004181842pd8caf853rf12e8a4d28b7cb02@mail.gmail.com>
Date: Sun, 18 Apr 2010 18:49:42 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <2E9606A0-9175-4E21-A98C-DBB18C83280F@gmail.com>
References: <14411661-A227-4DCA-86B3-A9C5FB8055D7@gmail.com> <z2xfd6741651004181842pd8caf853rf12e8a4d28b7cb02@mail.gmail.com>
To: David Recordon <recordond@gmail.com>
X-Mailer: Apple Mail (2.1078)
Cc: Marius Scurtescu <marius.scurtescu@gmail.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 01:50:01 -0000

I'm happy to hear that Facebook engineers are enjoying their job.

In choosing between long and ambiguous, I think we need to choose long. =
We could shorten the prefix to oa_. Would that help? :)=20

On 2010-04-18, at 6:42 PM, David Recordon wrote:

> While Facebook platform engineers were quite dubios of no oauth_
> prefix after hacking on a draft implementation their opinion has
> changed. They're now really enjoying shorter and cleaner paramater
> names and found them to be easier to document and no more difficult to
> implement.
>=20
>=20
> On Sun, Apr 18, 2010 at 5:46 PM, Dick Hardt <dick.hardt@gmail.com> =
wrote:
>> (restarting discussion from
>> =
http://groups.google.com/group/oauth-ietf-wg/browse_thread/thread/8aeb3181=
7ead4c2a/f19773643e0a8ba3?pli=3D1
>>  with matching subject)
>> Given the practice that the authorization endpoint and the =
redirect_uri can
>> contain URI query parameters, then differentiating between =
application
>> specific query parameters and OAuth protocol parameters by prefixing =
the
>> OAuth parameters with oauth_ would seem a useful way to minimize =
conflicts.
>> Since calls to the token endpoint use POST, there can not be any =
confusion
>> between the parameters in the body of the message and URI query =
parameters
>> Note this has nothing to do with differentiating between protocol =
extension
>> parameters and core OAuth parameters.
>> -- Dick
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>=20
>>=20


From recordond@gmail.com  Sun Apr 18 19:04:52 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0BB3F3A6803 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 19:04:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fkx0lE7xb3tP for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 19:04:51 -0700 (PDT)
Received: from mail-yw0-f200.google.com (mail-yw0-f200.google.com [209.85.211.200]) by core3.amsl.com (Postfix) with ESMTP id E922028C0E1 for <oauth@ietf.org>; Sun, 18 Apr 2010 19:04:50 -0700 (PDT)
Received: by ywh38 with SMTP id 38so2353022ywh.29 for <oauth@ietf.org>; Sun, 18 Apr 2010 19:04:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:content-type; bh=iV6kLzBYH1Farrh1DBsUuwV77AW6bAJ7+rjU4YkSq+4=; b=ioMx+lbPC9z+822SX1RpOZRpy8YePdInxQyEq88bbeX4ThmRY8lkfEVImq3k0eYjqk 8vAhhaH/CrjOYSXKDI6isOdk5leRfYQ2YvEKOaa2PCkfTvr3WD987Uwb3pjImjWxmvDh VZSRi9kMhd+uaLHk/KDyNfGV7gZVycJDZrLIk=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=ESo1A8aQe9SPyRLwbbIfpk8ZLAW9hzbPxbxeic4fs3mtDmKN9pbJGtM5GJ8Lo06MpK vChlw7IaHBhzG2XiGdhCP7VviuUwcVM4AYGLhWIWtDitr0cjSXjoNeNDZzFx0QU4Qygq Ypvz2PLv5UUNquoSaov+etPwhvMfV89iR3wKU=
MIME-Version: 1.0
Received: by 10.231.182.196 with HTTP; Sun, 18 Apr 2010 19:04:39 -0700 (PDT)
In-Reply-To: <1676FB17-48B2-4125-991C-CE996C4DE66B@gmail.com>
References: <C7ECB1F7.32357%eran@hueniverse.com> <h2l987bab591004181812ve43197f9la55f59b753bd2959@mail.gmail.com> <o2wfd6741651004181838ob1dda59bpf7cb88d3b1892c1d@mail.gmail.com> <1676FB17-48B2-4125-991C-CE996C4DE66B@gmail.com>
Date: Sun, 18 Apr 2010 19:04:39 -0700
Received: by 10.150.170.11 with SMTP id s11mr5383689ybe.241.1271642679443;  Sun, 18 Apr 2010 19:04:39 -0700 (PDT)
Message-ID: <g2sfd6741651004181904q2f242fcexf2f7892c9b512068@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: OAuth WG <oauth@ietf.org>
Content-Type: text/plain; charset=ISO-8859-1
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 02:04:52 -0000

Does anyone have an implementation example where comma separated
strings wouldn't work for the scope parameter?


On Sun, Apr 18, 2010 at 6:47 PM, Dick Hardt <dick.hardt@gmail.com> wrote:
> I would leave that to be AS defined -- different delimiters make sense in different environments -- it could be an expression -- just make it a string -- it will need to be URL encoded which will deal with any magic characters.
>
> -- Diok
>
>
> On 2010-04-18, at 6:38 PM, David Recordon wrote:
>
>> I think we need to add a bit more definition to the scope parameter.
>> Maybe as simple as a comma-separated list of strings.
>>
>>
>> On Sun, Apr 18, 2010 at 6:12 PM, Dick Hardt <dick.hardt@gmail.com> wrote:
>>> The scope parameter was included in WRAP at the request of library and AS
>>> implementors to standardize a commonly included parameters.
>>> The client_id parameter seems similar to the scope parameter. The meaning of
>>> client_id is not defined in the spec and is AS specific. A client_id that a
>>> developer uses with one AS may be different at a different AS.
>>> The argument that defining the scope parameter will cause more confusion is
>>> confusing itself. Why would a developer think they can use the same scope at
>>> two different AS? The developer has to manage different client_ids,
>>> different endpoint URIs and different PRs: not to mention different APIs.
>>> Having a different scope between AS seems natural. Having a vendor defined
>>> parameter name for different AS that all mean scope seems suboptimal.
>>> A related example. Email has a subject parameter, we all have a similar idea
>>> what it means, and it can be used differently in different situations, but
>>> it was useful to create the placeholder for the optional subject of an email
>>> message.
>>> Proposal: put optional scope parameter back into all calls to obtain an
>>> access token. Put optional scope parameter into calls to refresh an access
>>> token.
>>> -- Dick
>>>
>>> On Thu, Apr 15, 2010 at 12:07 PM, Eran Hammer-Lahav <eran@hueniverse.com>
>>> wrote:
>>>>
>>>> WRAP includes a loosely defined scope parameter which allows for
>>>> vendor-specific (and non-interoperable) use cases. This was requested by
>>>> many working group members to be included in OAuth 2.0 with the argument
>>>> that while it doesn't help interop, it makes using clients easier.
>>>>
>>>> The problem with a general purpose scope parameter that is completely
>>>> undefined in structure is that it hurts interop more than it helps. It
>>>> creates an expectation that values can be used across services, and it
>>>> cannot be used without another spec defining its content and structure.
>>>> Such
>>>> as spec can simply define its own parameter.
>>>>
>>>> In addition, it is not clear what belongs in scope (list of resources,
>>>> access type, duration of access, right to share data, rights to
>>>> re-delegate).
>>>>
>>>> The rules should be that if a parameter cannot be used without another
>>>> documentation, it should be defined in that other document.
>>>>
>>>> Proposal: Request proposals for a scope parameter definition that improve
>>>> interop. Otherwise, keep the parameter out of the core spec.
>>>>
>>>> EHL
>>>>
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>>
>
>

From dick.hardt@gmail.com  Sun Apr 18 19:12:36 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AEDF13A6A65 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 19:12:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.382
X-Spam-Level: 
X-Spam-Status: No, score=-2.382 tagged_above=-999 required=5 tests=[AWL=0.216,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wIWIRj93W-Aw for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 19:12:35 -0700 (PDT)
Received: from mail-yw0-f200.google.com (mail-yw0-f200.google.com [209.85.211.200]) by core3.amsl.com (Postfix) with ESMTP id C9CA43A6A4F for <oauth@ietf.org>; Sun, 18 Apr 2010 19:12:35 -0700 (PDT)
Received: by ywh38 with SMTP id 38so2356155ywh.29 for <oauth@ietf.org>; Sun, 18 Apr 2010 19:12:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:content-type:subject :date:message-id:to:mime-version:x-mailer; bh=kO8RynwjY05lFNeSeTsdc5t4zDOwhf0GJ4Yo2wclWag=; b=szAH7P2t+hzq+UqzqrfE5XjEb6qelbHWiwD8de+KCHnL319QeAMI3DYhTmCZVg+0qT WerozXFh29mA17WLVgW9/wkhR7DnUdhycfXO2zVsJCH8cbN5Z89tv+qm2pPWpTzDlDRg M9hjp3VxQ5mlwWhv6mCtUYk2x4EEd9iYhZS7A=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:content-type:subject:date:message-id:to:mime-version:x-mailer; b=Mn45Z4G88vtSOOBW80/fCJRareS182Exoc5abgjLLVE7j1kHrcU/RPv5lcdGmIYO71 N6If7p4sYVfvYMyDpr9RszqRzjnnUZLNYp/QW7lNozsKLseh0mv12G7w4t8Qo1VPQY4F 3YuCmumcubeJsw/qvrmYiCrtv3U6WNzCBdrCg=
Received: by 10.150.165.3 with SMTP id n3mr5443140ybe.47.1271643145186; Sun, 18 Apr 2010 19:12:25 -0700 (PDT)
Received: from [10.0.1.8] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id 39sm1400066yxd.24.2010.04.18.19.12.23 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 18 Apr 2010 19:12:24 -0700 (PDT)
From: Dick Hardt <dick.hardt@gmail.com>
Content-Type: multipart/alternative; boundary=Apple-Mail-9--869317729
Date: Sun, 18 Apr 2010 19:12:21 -0700
Message-Id: <01F2E4CF-6B73-4FB7-9B36-9DB289B715E5@gmail.com>
To: OAuth WG <oauth@ietf.org>
Mime-Version: 1.0 (Apple Message framework v1078)
X-Mailer: Apple Mail (2.1078)
Subject: [OAUTH-WG] 4/17 draft feedback: token != identifier
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 02:12:36 -0000

--Apple-Mail-9--869317729
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

The spec describes the access token as an identifier. One of the key =
capabilities of WRAP was that the token could be self contained. The PR =
could make an access control decision by examining the access token and =
not calling the AS.=20

The token is referred to as an identifier in the Abstract, Introduction, =
and in 2.1 access token.

Similarly, the Refresh Token can be a self contained token and not an =
identifier contrary to the definition in 2.1

This also comes up in S 3. Obtaining an Access Token
>    When issuing an access token, the authorization server MUST retain =
the scope, duration, and
>         other access attributes granted by the resource owner, and =
enforce these restrictions when
>         receiving a protected resource request made with the access =
token issued.
This paragraph is not true if the AS embeds the scope, duration etc. =
into the token itself. This paragraph implies that the PR calls the AS =
with the access token. This is not needed if the access token is self =
contained.

-- Dick


--Apple-Mail-9--869317729
Content-Transfer-Encoding: 7bit
Content-Type: text/html;
	charset=us-ascii

<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>The spec describes the access token as an identifier.&nbsp;One of the key capabilities of WRAP was that the token could be self contained. The PR could make an access control decision by examining the access token and not calling the AS.&nbsp;</div><div><br></div>The token is referred to as an identifier in the Abstract, Introduction, and in 2.1 access token.<div><br></div><div>Similarly, the Refresh Token can be a self contained token and not an identifier contrary to the definition in 2.1<br><div><br></div><div>This also comes up in S&nbsp;3. Obtaining an Access Token</div><div><blockquote type="cite"><meta charset="utf-8"><span class="Apple-style-span" style="font-family: Times; "><pre style="word-wrap: break-word; white-space: pre-wrap; ">   When issuing an access token, the authorization server MUST retain the scope, duration, and
        other access attributes granted by the resource owner, and enforce these restrictions when
        receiving a protected resource request made with the access token issued.</pre></span></blockquote><div>This paragraph is not true if the AS embeds the scope, duration etc. into the token itself. This paragraph implies that the PR calls the AS with the access token. This is not needed if the access token is self contained.</div><div><br></div><div>-- Dick</div><div><br></div></div></div></body></html>
--Apple-Mail-9--869317729--

From dick.hardt@gmail.com  Sun Apr 18 20:56:27 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id CF1E23A6994 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 20:56:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.671
X-Spam-Level: 
X-Spam-Status: No, score=-0.671 tagged_above=-999 required=5 tests=[AWL=-1.557, BAYES_50=0.001, HTML_FONT_FACE_BAD=0.884, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 07lsJyR7qTcB for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 20:56:26 -0700 (PDT)
Received: from mail-vw0-f44.google.com (mail-vw0-f44.google.com [209.85.212.44]) by core3.amsl.com (Postfix) with ESMTP id 231BD3A6919 for <oauth@ietf.org>; Sun, 18 Apr 2010 20:56:26 -0700 (PDT)
Received: by vws11 with SMTP id 11so2241738vws.31 for <oauth@ietf.org>; Sun, 18 Apr 2010 20:56:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:content-type:subject :date:message-id:cc:to:mime-version:x-mailer; bh=ZZD2M0IvQ60lL6t+MceH5iFRsBpcyv+JFX3RmYpl/l0=; b=Ksy1jTSbJBHL40TaajS4mLh4KSsWDR3wdk8jUUCfl7r2G8OMp6ZuzHVVHk+a43Lk9F lJnq2IXbD8l8g+q/bKx55uZMW4RHovSzoKPLKk7DBhohmw3nHugl7vANJsACPtK6L0fE OWfA5TY23qqQap7mGBH7bafipnImqndqlRc84=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:content-type:subject:date:message-id:cc:to:mime-version :x-mailer; b=gLkvf0fDHDvushdtGNpqI76ao8ushWpPd4cek9QRAX4xJQvatjOmZp7QeVY3Gtu4bs +jD3+GkYELAOe7juWt8KTgLSR1ns8bf4WQOtGm7/rsIaWb9eqs3YGGd6qD9U2dQyw6p9 5JoBsTHzdCmboXdJFrLWF9OseanrGZLic4tKQ=
Received: by 10.220.108.106 with SMTP id e42mr3151496vcp.199.1271649373513; Sun, 18 Apr 2010 20:56:13 -0700 (PDT)
Received: from [10.0.1.8] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id s9sm8998389vcr.3.2010.04.18.20.56.11 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 18 Apr 2010 20:56:12 -0700 (PDT)
From: Dick Hardt <dick.hardt@gmail.com>
Content-Type: multipart/alternative; boundary=Apple-Mail-10--863090586
Date: Sun, 18 Apr 2010 20:56:09 -0700
Message-Id: <B22B2652-4873-407C-A6B0-E229C334DFBF@gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Mime-Version: 1.0 (Apple Message framework v1078)
X-Mailer: Apple Mail (2.1078)
Cc: OAuth WG <oauth@ietf.org>
Subject: [OAUTH-WG] Editorial feedback on 4/17 draft
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 03:56:27 -0000

--Apple-Mail-10--863090586
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

General comments:

Putting the flow description, diagram and steps in the section with the =
spec work well.

Use of "server" term. In numerous places, the term server is used =
instead of authorization server or resource server (maybe even web =
server). To avoid ambiguity, I would suggest the term server is never =
used, and the spec is explicit on which server is being referred to.

User authentication at AS: Suggest putting this in one section and then =
referring to it in 3.5.2.1 and 3.5.3.1 (and adding into 3.5.1)

Having 5 levels of sections seems overly deep with the bulk of the =
document being in 3.5 and 3.6.

Sections 4 and 5 seem weaker than the other sections. Would you like me =
to take a stab at rewriting those?

2. Introduction

These resources are usually private ...

Why the use of the word "private" instead of "protected"?

Description of autonomous flow is missing.

2.1=20

authorization endpoint
         The authorization server's HTTP endpoint capable of
         authenticating the resource owner and obtaining authorization,
         issuing tokens, and refreshing expired tokens.


Does the authorization endpoint issue tokens and refresh tokens? I =
thought that was only the token endpoint.

   client identifier
         An unique identifier issued by the client to identify itself to
         the authorization server.  Client identifiers may have a
         matching secret.


Why does the client identifier have to be issues by the client? Could it =
not be issued by the AS?

Why are verification code, user code, device code not defined?

2.2

 access token (or under revoked), the authorization server should

Typo

 access token (or until revoked), the authorization server should

3

   In many cases it is desirable to issue access tokens with a shorter
   lifetime than the duration of the authorization grant.  However, it
   is undesirable to require the resource owner to authorize the request
   again.  Instead, the authorization server issues a refresh token in

suggested change:

   In many cases it is desirable to issue access tokens with a shorter
   lifetime than the duration of the authorization grant.  However, it
   may be undesirable to require the resource owner to authorize the =
request
   again.  Instead, the authorization server issues a refresh token in

3.3

In WRAP we had a section entitled Parameter Considerations where many =
errata about parameters was contained.

3.5

User delegation flows are used to grant client access to protected
   resources by the end user without sharing the end user credentials
   (typically a username and password) with the client.  Instead, the
   end user authenticates directly with the authorization server, and
   grants client access to its protected resources.

suggested change:

User delegation flows are used to grant client access to protected
   resources by the end user without sharing the end user credentials
   (such as a username and password) with the client.  Instead, the
   end user authenticates directly with the authorization server, and
   grants client access to its protected resources.


3.5.1

Why does the user not have to authenticate to the AS in this flow?

3.5.1.2

It is unclear to me how to make the user-agent NOT include the fragment.=20=


3.5.3

The terms for the different codes is not consistent. client code, client =
verification code, device code, device verification code


3.5.3.5.1

   If the end user authorized the request, the authorization server
   issues and access token and delivers is to the client by including it

typo:

 If the end user authorized the request, the authorization server
 issues an access token and delivers is to the client by including it

3.5.3.2.3

Great to have all the different error conditions. Spec should discuss =
what the client should do for each error code.

3.7.1 and 3.7.2 (diagrams 7 & 8)

Need to add

(w/ Optional Refresh Token)=20

to be consistent with other diagrams and that refresh is optional in all =
calls

3.7.2.1

format parameter. Not sure why this undefined parameter is ok, but scope =
is not! :)
The example needs a little fleshing out. :)

4.

While the section introduction describes how it can be used to obtain =
tokens with different security parameters and getting a secret, how and =
when the developer would make different calls is unspecified.

The following statement is not always possible:

   The authorization server MUST invalidate the old access token being
   replaced.

If the access token is self contained, then the authorization server =
cannot invalidate it.



5.1

   The "Authorization" request header field is used by clients to make
   both bearer token and cryptographic token requests.=20

This statement implies that this is the only way to make requests. =
Perhaps introduce section 5 by clearly stating there are different =
mechanisms for transporting the access token?




--Apple-Mail-10--863090586
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; =
"><div><b>General comments:</b></div><div><b><br></b></div><div>Putting =
the flow description, diagram and steps in the section with the spec =
work well.</div><div><br></div><div>Use of "server" term. In numerous =
places, the term server is used instead of authorization server or =
resource server (maybe even web server). To avoid ambiguity, I would =
suggest the term server is never used, and the spec is explicit on which =
server is being referred to.</div><div><br></div><div>User =
authentication at AS: Suggest putting this in one section and then =
referring to it in 3.5.2.1 and 3.5.3.1 (and adding into =
3.5.1)</div><div><br></div><div>Having 5 levels of sections seems overly =
deep with the bulk of the document being in 3.5 and =
3.6.</div><div><br></div><div>Sections 4 and 5 seem weaker than the =
other sections. Would you like me to take a stab at rewriting =
those?</div><div><br></div><b>2. =
Introduction</b><div><br></div><div><meta charset=3D"utf-8"><span =
class=3D"Apple-style-span" style=3D"font-family: 'Bitstream Vera Sans =
Mono', Courier, monospace; font-size: 12px; line-height: 17px; =
white-space: pre; ">These resources are usually private =
...</span><br><div><br></div><div>Why the use of the word "private" =
instead of "protected"?</div><div><br></div><div>Description of =
autonomous flow is =
missing.</div><div><b><br></b></div><div><b>2.1&nbsp;</b></div><div><br></=
div><div><meta charset=3D"utf-8"><span class=3D"Apple-style-span" =
style=3D"font-family: helvetica, arial, freesans, clean, sans-serif; =
font-size: 11px; line-height: 14px; "><pre style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: =
0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font: =
normal normal normal 12px/normal Monaco, 'Courier New', 'DejaVu Sans =
Mono', 'Bitstream Vera Sans Mono', monospace; line-height: 1.4em; =
font-family: 'Bitstream Vera Sans Mono', Courier, monospace; font-size: =
12px; "><div class=3D"line" id=3D"LC256" style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: =
0px; padding-right: 0px; padding-bottom: 0px; padding-left: 1em; =
line-height: 1.4em; ">authorization endpoint</div><div class=3D"line" =
id=3D"LC257" style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: =
0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; =
padding-bottom: 0px; padding-left: 1em; line-height: 1.4em; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The =
authorization server's HTTP endpoint capable of</div><div class=3D"line" =
id=3D"LC258" style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: =
0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; =
padding-bottom: 0px; padding-left: 1em; line-height: 1.4em; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;authenticating =
the resource owner and obtaining authorization,</div><div class=3D"line" =
id=3D"LC259" style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: =
0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; =
padding-bottom: 0px; padding-left: 1em; line-height: 1.4em; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;issuing tokens, =
and refreshing expired tokens.</div></pre></span><div><span =
class=3D"Apple-style-span" style=3D"font-family: helvetica, arial, =
freesans, clean, sans-serif; font-size: 11px; line-height: 14px; "><pre =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: =
0px; padding-left: 0px; font: normal normal normal 12px/normal Monaco, =
'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', =
monospace; line-height: 1.4em; font-family: 'Bitstream Vera Sans Mono', =
Courier, monospace; font-size: 12px; "><div class=3D"line" id=3D"LC256" =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: =
0px; padding-left: 1em; line-height: 1.4em; "><font =
class=3D"Apple-style-span" face=3D"Helvetica, Courier, monospace"><span =
class=3D"Apple-style-span" style=3D"font-size: medium; line-height: =
normal; white-space: normal;"><br></span></font></div><div class=3D"line" =
id=3D"LC256" style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: =
0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; =
padding-bottom: 0px; padding-left: 1em; line-height: 1.4em; "><font =
class=3D"Apple-style-span" face=3D"Helvetica, Courier, monospace"><span =
class=3D"Apple-style-span" style=3D"font-size: medium; line-height: =
normal; white-space: =
normal;"><br></span></font></div></pre></span><div>Does the =
authorization endpoint issue tokens and refresh tokens? I thought that =
was only the token endpoint.</div><div><br></div><div><meta =
charset=3D"utf-8"><span class=3D"Apple-style-span" style=3D"font-family: =
helvetica, arial, freesans, clean, sans-serif; font-size: 11px; =
line-height: 14px; "><pre style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: =
0px; padding-bottom: 0px; padding-left: 0px; font: normal normal normal =
12px/normal Monaco, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera =
Sans Mono', monospace; line-height: 1.4em; font-family: 'Bitstream Vera =
Sans Mono', Courier, monospace; font-size: 12px; "><div class=3D"line" =
id=3D"LC265" style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: =
0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; =
padding-bottom: 0px; padding-left: 1em; line-height: 1.4em; =
">&nbsp;&nbsp;&nbsp;client identifier</div><div class=3D"line" =
id=3D"LC266" style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: =
0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; =
padding-bottom: 0px; padding-left: 1em; line-height: 1.4em; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An unique =
identifier issued by the client to identify itself to</div><div =
class=3D"line" id=3D"LC267" style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: =
0px; padding-bottom: 0px; padding-left: 1em; line-height: 1.4em; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the =
authorization server.  Client identifiers may have a</div><div =
class=3D"line" id=3D"LC268" style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: =
0px; padding-bottom: 0px; padding-left: 1em; line-height: 1.4em; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;matching =
secret.</div></pre></span><div><br></div><div><br></div><div>Why does =
the client identifier have to be issues by the client? Could it not be =
issued by the AS?</div><div><br></div><div>Why are verification code, =
user code, device code not =
defined?</div><div><br></div><div><b>2.2</b></div><div><br></div><div><met=
a charset=3D"utf-8"><span class=3D"Apple-style-span" style=3D"font-family:=
 'Bitstream Vera Sans Mono', Courier, monospace; font-size: 12px; =
line-height: 17px; white-space: pre; ">&nbsp;access token (or under =
revoked), the authorization server should</span></div><div><font =
class=3D"Apple-style-span" face=3D"'Bitstream Vera Sans Mono', Courier, =
monospace"><span class=3D"Apple-style-span" style=3D"line-height: 17px; =
white-space: pre;"><br></span></font></div><div><font =
class=3D"Apple-style-span" face=3D"Helvetica, Courier, monospace"><span =
class=3D"Apple-style-span" style=3D"font-family: Helvetica; =
">Typo</span></font></div><div><font class=3D"Apple-style-span" =
face=3D"Helvetica, Courier, monospace"><br></font></div><div><font =
class=3D"Apple-style-span" face=3D"'Bitstream Vera Sans Mono', Courier, =
monospace"><span class=3D"Apple-style-span" style=3D"line-height: 17px; =
white-space: pre;"><span class=3D"Apple-style-span" style=3D"font-family: =
Helvetica; line-height: normal; white-space: normal; "><div><span =
class=3D"Apple-style-span" style=3D"font-family: 'Bitstream Vera Sans =
Mono', Courier, monospace; font-size: 12px; line-height: 17px; =
white-space: pre; ">&nbsp;access token (or until revoked), the =
authorization server should</span></div><div><font =
class=3D"Apple-style-span" face=3D"'Bitstream Vera Sans Mono', Courier, =
monospace"><span class=3D"Apple-style-span" style=3D"line-height: 17px; =
white-space: =
pre;"><br></span></font></div><div><b>3</b></div><div><br></div><div><meta=
 charset=3D"utf-8"><span class=3D"Apple-style-span" style=3D"font-family: =
helvetica, arial, freesans, clean, sans-serif; font-size: 11px; =
line-height: 14px; "><pre style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: =
0px; padding-bottom: 0px; padding-left: 0px; font: normal normal normal =
12px/normal Monaco, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera =
Sans Mono', monospace; line-height: 1.4em; font-family: 'Bitstream Vera =
Sans Mono', Courier, monospace; font-size: 12px; "><div class=3D"line" =
id=3D"LC452" style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: =
0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; =
padding-bottom: 0px; padding-left: 1em; line-height: 1.4em; =
">&nbsp;&nbsp;&nbsp;In many cases it is desirable to issue access tokens =
with a shorter</div><div class=3D"line" id=3D"LC453" style=3D"margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; =
padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: =
1em; line-height: 1.4em; ">&nbsp;&nbsp;&nbsp;lifetime than the duration =
of the authorization grant.  However, it</div><div class=3D"line" =
id=3D"LC454" style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: =
0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; =
padding-bottom: 0px; padding-left: 1em; line-height: 1.4em; =
">&nbsp;&nbsp;&nbsp;is undesirable to require the resource owner to =
authorize the request</div><div class=3D"line" id=3D"LC455" =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: =
0px; padding-left: 1em; line-height: 1.4em; ">&nbsp;&nbsp;&nbsp;again.  =
Instead, the authorization server issues a refresh token in</div><div =
class=3D"line" id=3D"LC455" style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: =
0px; padding-bottom: 0px; padding-left: 1em; line-height: 1.4em; =
"><br></div><div class=3D"line" id=3D"LC455" style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: =
0px; padding-right: 0px; padding-bottom: 0px; padding-left: 1em; =
line-height: 1.4em; ">suggested =
change:</div></pre></span><div><br></div><div><meta =
charset=3D"utf-8"><span class=3D"Apple-style-span" style=3D"font-family: =
helvetica, arial, freesans, clean, sans-serif; font-size: 11px; =
line-height: 14px; "><pre style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: =
0px; padding-bottom: 0px; padding-left: 0px; font: normal normal normal =
12px/normal Monaco, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera =
Sans Mono', monospace; line-height: 1.4em; font-family: 'Bitstream Vera =
Sans Mono', Courier, monospace; font-size: 12px; "><div class=3D"line" =
id=3D"LC452" style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: =
0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; =
padding-bottom: 0px; padding-left: 1em; line-height: 1.4em; =
">&nbsp;&nbsp;&nbsp;In many cases it is desirable to issue access tokens =
with a shorter</div><div class=3D"line" id=3D"LC453" style=3D"margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; =
padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: =
1em; line-height: 1.4em; ">&nbsp;&nbsp;&nbsp;lifetime than the duration =
of the authorization grant.  However, it</div><div class=3D"line" =
id=3D"LC454" style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: =
0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; =
padding-bottom: 0px; padding-left: 1em; line-height: 1.4em; =
">&nbsp;&nbsp;&nbsp;may be undesirable to require the resource owner to =
authorize the request</div><div class=3D"line" id=3D"LC455" =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: =
0px; padding-left: 1em; line-height: 1.4em; ">&nbsp;&nbsp;&nbsp;again.  =
Instead, the authorization server issues a refresh token =
in</div></pre></span><div><br></div></div></div><div><b>3.3</b></div><div>=
<br></div><div>In WRAP we had a section entitled Parameter =
Considerations where many errata about parameters was =
contained.</div><div><br></div><div><b>3.5</b></div><div><b><br></b></div>=
<div><b><meta charset=3D"utf-8"><span class=3D"Apple-style-span" =
style=3D"font-family: helvetica, arial, freesans, clean, sans-serif; =
font-weight: normal; font-size: 11px; line-height: 14px; "><pre =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: =
0px; padding-left: 0px; font: normal normal normal 12px/normal Monaco, =
'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', =
monospace; line-height: 1.4em; font-family: 'Bitstream Vera Sans Mono', =
Courier, monospace; font-size: 12px; "><div class=3D"line" id=3D"LC546" =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: =
0px; padding-left: 1em; line-height: 1.4em; ">User delegation flows are =
used to grant client access to protected</div><div class=3D"line" =
id=3D"LC547" style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: =
0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; =
padding-bottom: 0px; padding-left: 1em; line-height: 1.4em; =
">&nbsp;&nbsp;&nbsp;resources by the end user without sharing the end =
user credentials</div><div class=3D"line" id=3D"LC548" =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: =
0px; padding-left: 1em; line-height: 1.4em; =
">&nbsp;&nbsp;&nbsp;(typically a username and password) with the client. =
 Instead, the</div><div class=3D"line" id=3D"LC549" style=3D"margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; =
padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: =
1em; line-height: 1.4em; ">&nbsp;&nbsp;&nbsp;end user authenticates =
directly with the authorization server, and</div><div class=3D"line" =
id=3D"LC550" style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: =
0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; =
padding-bottom: 0px; padding-left: 1em; line-height: 1.4em; =
">&nbsp;&nbsp;&nbsp;grants client access to its protected =
resources.</div><div class=3D"line" id=3D"LC550" style=3D"margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; =
padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: =
1em; line-height: 1.4em; "><br></div><div class=3D"line" id=3D"LC550" =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: =
0px; padding-left: 1em; line-height: 1.4em; ">suggested =
change:</div></pre></span><div><br></div><div><meta =
charset=3D"utf-8"><span class=3D"Apple-style-span" style=3D"font-family: =
helvetica, arial, freesans, clean, sans-serif; font-weight: normal; =
font-size: 11px; line-height: 14px; "><pre style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: =
0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font: =
normal normal normal 12px/normal Monaco, 'Courier New', 'DejaVu Sans =
Mono', 'Bitstream Vera Sans Mono', monospace; line-height: 1.4em; =
font-family: 'Bitstream Vera Sans Mono', Courier, monospace; font-size: =
12px; "><div class=3D"line" id=3D"LC546" style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: =
0px; padding-right: 0px; padding-bottom: 0px; padding-left: 1em; =
line-height: 1.4em; ">User delegation flows are used to grant client =
access to protected</div><div class=3D"line" id=3D"LC547" =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: =
0px; padding-left: 1em; line-height: 1.4em; =
">&nbsp;&nbsp;&nbsp;resources by the end user without sharing the end =
user credentials</div><div class=3D"line" id=3D"LC548" =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: =
0px; padding-left: 1em; line-height: 1.4em; ">&nbsp;&nbsp;&nbsp;(such as =
a username and password) with the client.  Instead, the</div><div =
class=3D"line" id=3D"LC549" style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: =
0px; padding-bottom: 0px; padding-left: 1em; line-height: 1.4em; =
">&nbsp;&nbsp;&nbsp;end user authenticates directly with the =
authorization server, and</div><div class=3D"line" id=3D"LC550" =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: =
0px; padding-left: 1em; line-height: 1.4em; ">&nbsp;&nbsp;&nbsp;grants =
client access to its protected =
resources.</div></pre></span><div><br></div></div></b></div><div><br></div=
><div><b>3.5.1</b></div><div><b><br></b></div><div>Why does the user not =
have to authenticate to the AS in this =
flow?</div><div><br></div><div><b>3.5.1.2</b></div><div><br></div><div>It =
is unclear to me how to make the user-agent NOT include the =
fragment.&nbsp;</div><div><br></div><div><b>3.5.3</b></div><div><br></div>=
<div>The terms for the different codes is not consistent. client code, =
client verification code, device code, device verification =
code</div><div><br></div><div><br></div><div><span =
class=3D"Apple-style-span" style=3D"font-weight: bold; =
">3.5.3.5.1</span></div><div><span class=3D"Apple-style-span" =
style=3D"font-family: helvetica, arial, freesans, clean, sans-serif; =
font-size: 11px; line-height: 14px; "><pre style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: =
0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font: =
normal normal normal 12px/normal Monaco, 'Courier New', 'DejaVu Sans =
Mono', 'Bitstream Vera Sans Mono', monospace; line-height: 1.4em; =
font-family: 'Bitstream Vera Sans Mono', Courier, monospace; font-size: =
12px; "><div class=3D"line" id=3D"LC1314" style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: =
0px; padding-right: 0px; padding-bottom: 0px; padding-left: 1em; =
line-height: 1.4em; "><br style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: =
0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; =
"></div><div class=3D"line" id=3D"LC1315" style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: =
0px; padding-right: 0px; padding-bottom: 0px; padding-left: 1em; =
line-height: 1.4em; ">&nbsp;&nbsp;&nbsp;If the end user authorized the =
request, the authorization server</div><div class=3D"line" id=3D"LC1316" =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: =
0px; padding-left: 1em; line-height: 1.4em; ">&nbsp;&nbsp;&nbsp;issues =
and access token and delivers is to the client by including it</div><div =
class=3D"line" id=3D"LC1316" style=3D"margin-top: 0px; margin-right: =
0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; =
padding-right: 0px; padding-bottom: 0px; padding-left: 1em; line-height: =
1.4em; "><br></div><div class=3D"line" id=3D"LC1316" style=3D"margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; =
padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: =
1em; line-height: 1.4em; ">typo:</div><div class=3D"line" id=3D"LC1316" =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: =
0px; padding-left: 1em; line-height: 1.4em; "><br></div><div =
class=3D"line" id=3D"LC1316" style=3D"margin-top: 0px; margin-right: =
0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; =
padding-right: 0px; padding-bottom: 0px; padding-left: 1em; line-height: =
1.4em; "><span class=3D"Apple-style-span" style=3D"font-family: =
helvetica, arial, freesans, clean, sans-serif; font-size: 11px; =
line-height: 14px; white-space: normal; "><pre style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: =
0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font: =
normal normal normal 12px/normal Monaco, 'Courier New', 'DejaVu Sans =
Mono', 'Bitstream Vera Sans Mono', monospace; line-height: 1.4em; =
font-family: 'Bitstream Vera Sans Mono', Courier, monospace; font-size: =
12px; "><div class=3D"line" id=3D"LC1315" style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: =
0px; padding-right: 0px; padding-bottom: 0px; padding-left: 1em; =
line-height: 1.4em; ">&nbsp;If the end user authorized the request, the =
authorization server</div><div class=3D"line" id=3D"LC1316" =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: =
0px; padding-left: 1em; line-height: 1.4em; "> issues an access token =
and delivers is to the client by including =
it</div></pre></span></div></pre></span><div><br></div></div><div><div><b>=
3.5.3.2.3</b></div><div><br></div><div>Great to have all the different =
error conditions. Spec should discuss what the client should do for each =
error code.</div><div><b><br></b></div><div><b>3.7.1 and 3.7.2 (diagrams =
7 &amp; 8)</b></div><div><b><br></b></div><div><b><span =
class=3D"Apple-style-span" style=3D"font-weight: normal; "><div>Need to =
add</div><div><br></div><div><meta charset=3D"utf-8"><span =
class=3D"Apple-style-span" style=3D"font-family: 'Bitstream Vera Sans =
Mono', Courier, monospace; font-size: 12px; line-height: 17px; =
white-space: pre; ">(w/ Optional Refresh Token) </span></div><div><font =
class=3D"Apple-style-span" face=3D"'Bitstream Vera Sans Mono', Courier, =
monospace"><span class=3D"Apple-style-span" style=3D"line-height: 17px; =
white-space: pre;"><br></span></font></div><div>to be consistent with =
other diagrams and that refresh is optional in all =
calls</div><div><br></div><div><b>3.7.2.1</b></div><div><br></div><div><di=
v>format parameter. Not sure why this undefined parameter is ok, but =
scope is not! :)</div><div>The example needs a little fleshing out. =
:)</div><div><br></div><div><b>4.</b></div><div><b><br></b></div><div>Whil=
e the section introduction describes how it can be used to obtain tokens =
with different security parameters and getting a secret, how and when =
the developer would make different calls is =
unspecified.</div><div><br></div><div>The following statement is not =
always possible:</div><div><br></div><div><meta charset=3D"utf-8"><span =
class=3D"Apple-style-span" style=3D"font-family: helvetica, arial, =
freesans, clean, sans-serif; font-size: 11px; line-height: 14px; "><pre =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: =
0px; padding-left: 0px; font: normal normal normal 12px/normal Monaco, =
'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', =
monospace; line-height: 1.4em; font-family: 'Bitstream Vera Sans Mono', =
Courier, monospace; font-size: 12px; "><div class=3D"line" id=3D"LC1933" =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: =
0px; padding-left: 1em; line-height: 1.4em; ">&nbsp;&nbsp;&nbsp;The =
authorization server MUST invalidate the old access token =
being</div><div class=3D"line" id=3D"LC1934" style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: =
0px; padding-right: 0px; padding-bottom: 0px; padding-left: 1em; =
line-height: 1.4em; ">&nbsp;&nbsp;&nbsp;replaced.</div><div class=3D"line"=
 id=3D"LC1934" style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: =
0px; padding-bottom: 0px; padding-left: 1em; line-height: 1.4em; =
"><br></div><div class=3D"line" id=3D"LC1934" style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: =
0px; padding-right: 0px; padding-bottom: 0px; padding-left: 1em; =
line-height: 1.4em; ">If the access token is self contained, then the =
authorization server cannot invalidate it.</div><div class=3D"line" =
id=3D"LC1934" style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: =
0px; padding-bottom: 0px; padding-left: 1em; line-height: 1.4em; =
"><br></div><div class=3D"line" id=3D"LC1934" style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: =
0px; padding-right: 0px; padding-bottom: 0px; padding-left: 1em; =
line-height: 1.4em; =
"><br></div></pre></span><div><br></div></div><div><div><b>5.1</b></div><d=
iv><span class=3D"Apple-style-span" style=3D"font-family: helvetica, =
arial, freesans, clean, sans-serif; font-size: 11px; line-height: 14px; =
"><pre style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: =
0px; padding-left: 0px; font: normal normal normal 12px/normal Monaco, =
'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', =
monospace; line-height: 1.4em; font-family: 'Bitstream Vera Sans Mono', =
Courier, monospace; font-size: 12px; "><div class=3D"line" id=3D"LC2018" =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: =
0px; padding-left: 1em; line-height: 1.4em; "><br style=3D"margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; =
padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: =
0px; line-height: 1.4em; "></div><div class=3D"line" id=3D"LC2019" =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: =
0px; padding-left: 1em; line-height: 1.4em; ">&nbsp;&nbsp;&nbsp;The =
"Authorization" request header field is used by clients to =
make</div><div class=3D"line" id=3D"LC2020" style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: =
0px; padding-right: 0px; padding-bottom: 0px; padding-left: 1em; =
line-height: 1.4em; ">&nbsp;&nbsp;&nbsp;both bearer token and =
cryptographic token requests. =
</div></pre></span><div><br></div><div>This statement implies that this =
is the only way to make requests. Perhaps introduce section 5 by clearly =
stating there are different mechanisms for transporting the access =
token?</div><div><br></div><div><br></div></div></div></div><div><br></div=
></span></b></div></div></span></span></font></div></div></div></div></div=
></body></html>=

--Apple-Mail-10--863090586--

From mscurtescu@google.com  Sun Apr 18 21:05:27 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B91D63A68AD for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 21:05:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.863
X-Spam-Level: 
X-Spam-Status: No, score=-105.863 tagged_above=-999 required=5 tests=[AWL=0.114, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BRAU+C2PRaEo for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 21:05:27 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id D8A743A6808 for <oauth@ietf.org>; Sun, 18 Apr 2010 21:05:26 -0700 (PDT)
Received: from wpaz29.hot.corp.google.com (wpaz29.hot.corp.google.com [172.24.198.93]) by smtp-out.google.com with ESMTP id o3J45Fvi000566 for <oauth@ietf.org>; Sun, 18 Apr 2010 21:05:17 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271649917; bh=FHNpEg6n+mf8pAIEDuZjqvzACL8=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=Rh2wvClKcjFbkeq7FWm1vxXxK6MEJTlX5uyu/msEUUjznXvT9Ijb5Ka+EiTTUxQ/+ u6OWcOZOtqIqejWE8v5yA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=rxm3OOn501qJV7x9dJsXYiODtE+JZVxPwre/PmaGD5aZ4JiLJMKnwMffZ/QYU8X+W awHAEVNGCdJKomSSGqPYw==
Received: from pvc22 (pvc22.prod.google.com [10.241.209.150]) by wpaz29.hot.corp.google.com with ESMTP id o3J45Eqo032065 for <oauth@ietf.org>; Sun, 18 Apr 2010 21:05:14 -0700
Received: by pvc22 with SMTP id 22so2591037pvc.11 for <oauth@ietf.org>; Sun, 18 Apr 2010 21:05:14 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Sun, 18 Apr 2010 21:04:54 -0700 (PDT)
In-Reply-To: <14411661-A227-4DCA-86B3-A9C5FB8055D7@gmail.com>
References: <14411661-A227-4DCA-86B3-A9C5FB8055D7@gmail.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Sun, 18 Apr 2010 21:04:54 -0700
Received: by 10.140.82.6 with SMTP id f6mr3605609rvb.74.1271649914200; Sun, 18  Apr 2010 21:05:14 -0700 (PDT)
Message-ID: <z2m74caaad21004182104g3c6d08b1m6aa7c815bce7d558@mail.gmail.com>
To: Dick Hardt <dick.hardt@gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: Marius Scurtescu <marius.scurtescu@gmail.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 04:05:27 -0000

On Sun, Apr 18, 2010 at 5:46 PM, Dick Hardt <dick.hardt@gmail.com> wrote:
> Since calls to the token endpoint use POST, there can not be any confusion
> between the parameters in the body of the message and URI query parameters

Unfortunately in the Java world there is confusion between POST and
GET parameters. The servlet specification mixes parameters from both
sources and makes them available as one map.

Marius

From dick.hardt@gmail.com  Sun Apr 18 21:10:52 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 3DF423A6A2D for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 21:10:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.219
X-Spam-Level: 
X-Spam-Status: No, score=-2.219 tagged_above=-999 required=5 tests=[AWL=0.380,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YuZyew1WPSF7 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 21:10:51 -0700 (PDT)
Received: from mail-yx0-f182.google.com (mail-yx0-f182.google.com [209.85.210.182]) by core3.amsl.com (Postfix) with ESMTP id 3D04E3A6A16 for <oauth@ietf.org>; Sun, 18 Apr 2010 21:10:47 -0700 (PDT)
Received: by yxe12 with SMTP id 12so2564467yxe.32 for <oauth@ietf.org>; Sun, 18 Apr 2010 21:10:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=573W5WwswXdqkezW1RBQJOowuAKWJeDpHBLYPUZMR9A=; b=bQsJjWkM7c+tyxs0QWdBBMTlUkOgZjMlKFZ2i+AP59kQ1WkA8VEmTTVGIMZnzPQoOq z5Ujgbwi7ER7kl2QbbzltRYeJ8MMOwaZbNAZaySK988rqy2TGPNkMPH2dQFWuDLJG5lX ot9OD0UaT0wOiMBQY8iRfJcK4UpRCfsUmwSEM=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=Z32AdwDUEDKDKY4A11TpB9kZCms3VREX2eaScrRLei51WjslPW+FElagOt+EL5ukpw Ajk0SxKHE9QiIcF+UPv4mOzf52bKFNhFYsHLsC5JKEwCXiI0WUDfzOPV1uIm5RZBVMJI HBaomiwMX8KOjTmWKLRzSpO63WfEAJ7N7BArs=
Received: by 10.101.144.27 with SMTP id w27mr12057395ann.197.1271650234754; Sun, 18 Apr 2010 21:10:34 -0700 (PDT)
Received: from [10.0.1.8] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id 22sm1481082ywh.16.2010.04.18.21.10.32 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 18 Apr 2010 21:10:34 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: Dick Hardt <dick.hardt@gmail.com>
In-Reply-To: <z2m74caaad21004182104g3c6d08b1m6aa7c815bce7d558@mail.gmail.com>
Date: Sun, 18 Apr 2010 21:10:31 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <046B4F5D-A58E-4D78-AA01-A85BFB76C6EA@gmail.com>
References: <14411661-A227-4DCA-86B3-A9C5FB8055D7@gmail.com> <z2m74caaad21004182104g3c6d08b1m6aa7c815bce7d558@mail.gmail.com>
To: Marius Scurtescu <mscurtescu@google.com>
X-Mailer: Apple Mail (2.1078)
Cc: Marius Scurtescu <marius.scurtescu@gmail.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 04:10:52 -0000

On 2010-04-18, at 9:04 PM, Marius Scurtescu wrote:

> On Sun, Apr 18, 2010 at 5:46 PM, Dick Hardt <dick.hardt@gmail.com> =
wrote:
>> Since calls to the token endpoint use POST, there can not be any =
confusion
>> between the parameters in the body of the message and URI query =
parameters
>=20
> Unfortunately in the Java world there is confusion between POST and
> GET parameters. The servlet specification mixes parameters from both
> sources and makes them available as one map.

Perhaps you should use a real web language like Perl? :)

Since the user user is not present in calls to the token endpoint, I =
don't see the same requirements for adding URI query parameters, but =
point taken.

-- Dick


From mscurtescu@google.com  Sun Apr 18 21:13:03 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 3308E28C0F3 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 21:13:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.679
X-Spam-Level: 
X-Spam-Status: No, score=-101.679 tagged_above=-999 required=5 tests=[AWL=0.298, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1D0AHX0IQuAr for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 21:13:01 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id B3ED43A67E6 for <oauth@ietf.org>; Sun, 18 Apr 2010 21:12:59 -0700 (PDT)
Received: from kpbe15.cbf.corp.google.com (kpbe15.cbf.corp.google.com [172.25.105.79]) by smtp-out.google.com with ESMTP id o3J4Cnar014698 for <oauth@ietf.org>; Mon, 19 Apr 2010 06:12:50 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271650370; bh=EOoVHE0zyvwqUsuH4D4sVgEaf5o=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=CYg+TKvEjdfe8r1C0ouKkagWc2KdkB0jsRTJjBZG0OdQo91Ug1c03q45SSitcE9xJ f22QJuSFJJ29orsiQ6ADQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=KyAiNSmbb3gtzh1n326GsHsESUHo1PITp4v2DLwKVeIWm+m7VicbBgkN6vhQGImoO 3o6pbsqndxE4QtjzNnnNw==
Received: from pwj4 (pwj4.prod.google.com [10.241.219.68]) by kpbe15.cbf.corp.google.com with ESMTP id o3J4Cm17029493 for <oauth@ietf.org>; Sun, 18 Apr 2010 21:12:48 -0700
Received: by pwj4 with SMTP id 4so3283648pwj.22 for <oauth@ietf.org>; Sun, 18 Apr 2010 21:12:48 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Sun, 18 Apr 2010 21:12:28 -0700 (PDT)
In-Reply-To: <g2sfd6741651004181904q2f242fcexf2f7892c9b512068@mail.gmail.com>
References: <C7ECB1F7.32357%eran@hueniverse.com> <h2l987bab591004181812ve43197f9la55f59b753bd2959@mail.gmail.com> <o2wfd6741651004181838ob1dda59bpf7cb88d3b1892c1d@mail.gmail.com>  <1676FB17-48B2-4125-991C-CE996C4DE66B@gmail.com> <g2sfd6741651004181904q2f242fcexf2f7892c9b512068@mail.gmail.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Sun, 18 Apr 2010 21:12:28 -0700
Received: by 10.141.139.21 with SMTP id r21mr3489616rvn.2.1271650368412; Sun,  18 Apr 2010 21:12:48 -0700 (PDT)
Message-ID: <z2o74caaad21004182112he72e1a33i4397e2d5333a0c13@mail.gmail.com>
To: David Recordon <recordond@gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 04:13:03 -0000

On Sun, Apr 18, 2010 at 7:04 PM, David Recordon <recordond@gmail.com> wrote:
> Does anyone have an implementation example where comma separated
> strings wouldn't work for the scope parameter?

Yes, Google currently is using a space separated list of URIs.

Why does the format matter?

Marius

>
>
> On Sun, Apr 18, 2010 at 6:47 PM, Dick Hardt <dick.hardt@gmail.com> wrote:
>> I would leave that to be AS defined -- different delimiters make sense in different environments -- it could be an expression -- just make it a string -- it will need to be URL encoded which will deal with any magic characters.
>>
>> -- Diok
>>
>>
>> On 2010-04-18, at 6:38 PM, David Recordon wrote:
>>
>>> I think we need to add a bit more definition to the scope parameter.
>>> Maybe as simple as a comma-separated list of strings.
>>>
>>>
>>> On Sun, Apr 18, 2010 at 6:12 PM, Dick Hardt <dick.hardt@gmail.com> wrote:
>>>> The scope parameter was included in WRAP at the request of library and AS
>>>> implementors to standardize a commonly included parameters.
>>>> The client_id parameter seems similar to the scope parameter. The meaning of
>>>> client_id is not defined in the spec and is AS specific. A client_id that a
>>>> developer uses with one AS may be different at a different AS.
>>>> The argument that defining the scope parameter will cause more confusion is
>>>> confusing itself. Why would a developer think they can use the same scope at
>>>> two different AS? The developer has to manage different client_ids,
>>>> different endpoint URIs and different PRs: not to mention different APIs.
>>>> Having a different scope between AS seems natural. Having a vendor defined
>>>> parameter name for different AS that all mean scope seems suboptimal.
>>>> A related example. Email has a subject parameter, we all have a similar idea
>>>> what it means, and it can be used differently in different situations, but
>>>> it was useful to create the placeholder for the optional subject of an email
>>>> message.
>>>> Proposal: put optional scope parameter back into all calls to obtain an
>>>> access token. Put optional scope parameter into calls to refresh an access
>>>> token.
>>>> -- Dick
>>>>
>>>> On Thu, Apr 15, 2010 at 12:07 PM, Eran Hammer-Lahav <eran@hueniverse.com>
>>>> wrote:
>>>>>
>>>>> WRAP includes a loosely defined scope parameter which allows for
>>>>> vendor-specific (and non-interoperable) use cases. This was requested by
>>>>> many working group members to be included in OAuth 2.0 with the argument
>>>>> that while it doesn't help interop, it makes using clients easier.
>>>>>
>>>>> The problem with a general purpose scope parameter that is completely
>>>>> undefined in structure is that it hurts interop more than it helps. It
>>>>> creates an expectation that values can be used across services, and it
>>>>> cannot be used without another spec defining its content and structure.
>>>>> Such
>>>>> as spec can simply define its own parameter.
>>>>>
>>>>> In addition, it is not clear what belongs in scope (list of resources,
>>>>> access type, duration of access, right to share data, rights to
>>>>> re-delegate).
>>>>>
>>>>> The rules should be that if a parameter cannot be used without another
>>>>> documentation, it should be defined in that other document.
>>>>>
>>>>> Proposal: Request proposals for a scope parameter definition that improve
>>>>> interop. Otherwise, keep the parameter out of the core spec.
>>>>>
>>>>> EHL
>>>>>
>>>>> _______________________________________________
>>>>> OAuth mailing list
>>>>> OAuth@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>
>>>>
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>
>>>>
>>
>>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From dick.hardt@gmail.com  Sun Apr 18 21:20:27 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 77EEE28C106 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 21:20:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.261
X-Spam-Level: 
X-Spam-Status: No, score=-2.261 tagged_above=-999 required=5 tests=[AWL=0.338,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RCLwfGfgd6oh for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 21:20:25 -0700 (PDT)
Received: from mail-yw0-f200.google.com (mail-yw0-f200.google.com [209.85.211.200]) by core3.amsl.com (Postfix) with ESMTP id 2D2DD28C103 for <oauth@ietf.org>; Sun, 18 Apr 2010 21:20:25 -0700 (PDT)
Received: by ywh38 with SMTP id 38so2403355ywh.29 for <oauth@ietf.org>; Sun, 18 Apr 2010 21:20:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:content-type :content-transfer-encoding:subject:date:message-id:to:mime-version :x-mailer; bh=luwJCfcWmuAMWy4Hi+Cnd2wlNu6po5sUX190T/LZxNg=; b=xnQTT3244YDkHzX33eziY8aiM2kZfxgsdtxsAvFXkOD4ekilT2xOn7zJux0wb6JPbq fD59q8gNUqoYG/Io9XnTO+YOi2rg6zzn4B++SvWGKGeberdvn4a5YOQUeaOTClIBww2q vdgZHJXN9lz9aDYsvlsugbW9bahEhJbCJ0XAk=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:content-type:content-transfer-encoding:subject:date:message-id :to:mime-version:x-mailer; b=YKdE/mzZBpd7eC9ESwlD5sNu9Tgtx2YXUJpkMS04T5E+HnJYIADNP6doIwkOX1qsA6 eVxrMRvDSY5Nmt/ZCEUPEJAANems3ld93LF+MpvBAnUYHR2ztgH6sviwVamI1c/st5SP rSrJhW2suTFc4FNg+kW2l2HR73Nto3ejHShSg=
Received: by 10.150.179.1 with SMTP id b1mr5581859ybf.78.1271650812706; Sun, 18 Apr 2010 21:20:12 -0700 (PDT)
Received: from [10.0.1.8] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id 9sm1474816ywe.22.2010.04.18.21.20.11 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 18 Apr 2010 21:20:12 -0700 (PDT)
From: Dick Hardt <dick.hardt@gmail.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
Date: Sun, 18 Apr 2010 21:20:09 -0700
Message-Id: <1E39CE38-763E-4E3D-96D4-DC757BD53B9D@gmail.com>
To: OAuth WG <oauth@ietf.org>
Mime-Version: 1.0 (Apple Message framework v1078)
X-Mailer: Apple Mail (2.1078)
Subject: [OAUTH-WG] Issue: state in web server flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 04:20:27 -0000

Why was the state parameter removed from the web server flow?

Some AS may require the entire redirect URI to be registered, so the =
state parameter allows a client to maintain state across calls.=

From dick.hardt@gmail.com  Sun Apr 18 21:22:34 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 34A3C3A6808 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 21:22:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.295
X-Spam-Level: 
X-Spam-Status: No, score=-2.295 tagged_above=-999 required=5 tests=[AWL=0.304,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7Y42d5FSOT61 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 21:22:30 -0700 (PDT)
Received: from mail-gy0-f172.google.com (mail-gy0-f172.google.com [209.85.160.172]) by core3.amsl.com (Postfix) with ESMTP id 26DC228C0FA for <oauth@ietf.org>; Sun, 18 Apr 2010 21:22:22 -0700 (PDT)
Received: by gyh4 with SMTP id 4so2458250gyh.31 for <oauth@ietf.org>; Sun, 18 Apr 2010 21:22:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:content-type :content-transfer-encoding:subject:date:message-id:to:mime-version :x-mailer; bh=pSDsCcNB0Dp6dsmJKnQqZXsMXODXJzMyLImhpz+RhSA=; b=fYjucqo0av2pf7NxG3GXOVjx13ZWVELNpNka4eusPJk2DQDegmD5rDToumBOu70oTN xnZQphEtA1zhBvrrUpUIaH9K4gOHlIgU1R36MWgweG0q7L6PXZtwShLv8VIsjdSLHWws DmajcoR8B4+2UeKbhj1s5kykJrkBKuBrZemlQ=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:content-type:content-transfer-encoding:subject:date:message-id :to:mime-version:x-mailer; b=F9Lf2a1Qe2U6XvO3xWeLfSRI/WPppWz01lgtr/5nHlJ1LkjpwFJYMQfNVIyYizm+v0 Bve07NJWI21VJmzPniykFOmlnlF1pEFGdQoGDxwHOcZHDmjygPUmyGWLuFBwejEYCh55 mStH07JsBAPiECiEFSwRpYCmUhIvkjaVw0CGI=
Received: by 10.101.27.3 with SMTP id e3mr12347997anj.123.1271650928630; Sun, 18 Apr 2010 21:22:08 -0700 (PDT)
Received: from [10.0.1.8] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id 15sm1438274yxh.58.2010.04.18.21.22.07 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 18 Apr 2010 21:22:08 -0700 (PDT)
From: Dick Hardt <dick.hardt@gmail.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
Date: Sun, 18 Apr 2010 21:22:04 -0700
Message-Id: <2997F829-4755-44A8-ADD5-643BCE25AA61@gmail.com>
To: OAuth WG <oauth@ietf.org>
Mime-Version: 1.0 (Apple Message framework v1078)
X-Mailer: Apple Mail (2.1078)
Subject: [OAUTH-WG] Clarification: authorization server matching of redirect URI
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 04:22:34 -0000

Some AS will match part of the URI to what was registered, some require =
everything up to the start of a query. The spec needs to clarify how =
much of the URI needs to be matched, or state it is AS specified.

-- Dick=

From dick.hardt@gmail.com  Sun Apr 18 21:30:30 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7325A3A6A7F for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 21:30:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.322
X-Spam-Level: 
X-Spam-Status: No, score=-2.322 tagged_above=-999 required=5 tests=[AWL=0.277,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CFZKD-LuMZNg for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 21:30:28 -0700 (PDT)
Received: from mail-yx0-f182.google.com (mail-yx0-f182.google.com [209.85.210.182]) by core3.amsl.com (Postfix) with ESMTP id 154F53A6805 for <oauth@ietf.org>; Sun, 18 Apr 2010 21:30:27 -0700 (PDT)
Received: by yxe12 with SMTP id 12so2571235yxe.32 for <oauth@ietf.org>; Sun, 18 Apr 2010 21:30:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:content-type :content-transfer-encoding:subject:date:message-id:to:mime-version :x-mailer; bh=7xvBZQTeBnxaxAn3iSz1XIPUFM9NCpjtf3l+SYTH17c=; b=t0Jw6X1NSz0FwcFx5gMlyfK7VssPS0rg3MiaIo+Z1r2sBXoThg5QA+1JYXe6oqqpwd NiWglCWevbfJHUKTvOJ+Fj527lQk2y593MIKFqj5GjO09w3AABqwo8BBg3rVe/uA+MZQ SwpXvW31ARDK3Unr9e3QRajcLjPeBesczM+is=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:content-type:content-transfer-encoding:subject:date:message-id :to:mime-version:x-mailer; b=Z8pWHVUsxSdhowtwbfcWTsduYZ8p7oHYvdYlGaKzcUVyk4IXZW22u7N0CClGRP1PTS Q1AckbV4O7xd2vLW7IbhLa5RZq/vVL/gX5h5S/QhmC8O+3ULjiejyxUZo74f463VgiC6 LECqjmPciD1Rn2+Ccn9a4jkB/bcf41Ma1Eyyg=
Received: by 10.91.39.4 with SMTP id r4mr2882332agj.107.1271651416278; Sun, 18 Apr 2010 21:30:16 -0700 (PDT)
Received: from [10.0.1.8] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id 20sm1480747ywh.48.2010.04.18.21.30.14 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 18 Apr 2010 21:30:15 -0700 (PDT)
From: Dick Hardt <dick.hardt@gmail.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
Date: Sun, 18 Apr 2010 21:30:13 -0700
Message-Id: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com>
To: OAuth WG <oauth@ietf.org>
Mime-Version: 1.0 (Apple Message framework v1078)
X-Mailer: Apple Mail (2.1078)
Subject: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 04:30:30 -0000

The AS token endpoint response is encoded as =
application/x-www-form-urlencoded

While this reuses a well known and understood encoding standard, it is =
uncommon for a client to receive a message encoded like this. Most =
server responses are encoded as XML or JSON. Libraries are NOT reedily =
available to parse application/x-www-form-urlencoded results as this is =
something that is typically done in the web servers framework. While =
parsing the name value pairs and URL un-encoding them is not hard, many =
developers have been caught just splitting the parameters and forgetting =
to URL decode the token. Since the token is opaque and may contain =
characters that are escaped, it is a difficult bug to detect.

Potential options:

1) Do nothing, developers should read the specs and do the right thing.

2) Require that all parameters are URL safe so that there is no encoding =
issue.

3) Return results as JSON, and recommend that parameters be URL safe.

-- Dick=

From dick.hardt@gmail.com  Sun Apr 18 21:33:10 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B7B4E3A6864 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 21:33:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.345
X-Spam-Level: 
X-Spam-Status: No, score=-2.345 tagged_above=-999 required=5 tests=[AWL=0.253,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AbESGqJLxu-7 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 21:33:10 -0700 (PDT)
Received: from mail-yx0-f182.google.com (mail-yx0-f182.google.com [209.85.210.182]) by core3.amsl.com (Postfix) with ESMTP id E80BA3A6805 for <oauth@ietf.org>; Sun, 18 Apr 2010 21:33:09 -0700 (PDT)
Received: by yxe12 with SMTP id 12so2572112yxe.32 for <oauth@ietf.org>; Sun, 18 Apr 2010 21:32:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:content-type:subject :date:message-id:to:mime-version:x-mailer; bh=DEgcT0G/WGO1MIXVhMssu50r+lWgGDpvnZ0eeDb4cZE=; b=x6QiVU8Pwv0lhG5F8QIUY1CZjFwFcX2gW6+AclDDz69KUgL7LkgoGBel/vOqr0Fn/Z dMQOk1oyxT2HgZFSixX/L1xCv7Gr0Tow5hEjSUTjFAHwf8LKynjR1dyh9b8HTqLjEVp/ E+fErEhDSanzEXJ+nBPnVAcd8PBqhGEAh8IeA=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:content-type:subject:date:message-id:to:mime-version:x-mailer; b=WZj9ll1SlZGHOFSWAKlxGP0QQqhYelNymLS+r1JVZsbE94xPGrm4nWC79xBXXj1XYP n5bMe86s7VRUqr1ORCIR34GESCgi5thz2PUDd7g6PnUfXQd5U5cojnzspGnxS2p1OqYA xlBpOXt8VH7TMHLuG12m1b/CYHd9S5BB3E1JM=
Received: by 10.150.56.32 with SMTP id e32mr5312084yba.127.1271651578612; Sun, 18 Apr 2010 21:32:58 -0700 (PDT)
Received: from [10.0.1.8] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id 4sm1489997ywd.28.2010.04.18.21.32.56 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 18 Apr 2010 21:32:57 -0700 (PDT)
From: Dick Hardt <dick.hardt@gmail.com>
Content-Type: multipart/alternative; boundary=Apple-Mail-12--860884908
Date: Sun, 18 Apr 2010 21:32:54 -0700
Message-Id: <9CEC5DA2-6D5F-4CDB-80CD-D24F80E19969@gmail.com>
To: OAuth WG <oauth@ietf.org>
Mime-Version: 1.0 (Apple Message framework v1078)
X-Mailer: Apple Mail (2.1078)
Subject: [OAUTH-WG] Clarification: Authorization scheme :: Token vs OAuth
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 04:33:10 -0000

--Apple-Mail-12--860884908
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

I recall some earlier discussion on calling the scheme Token vs OAuth =
and see that it is now Token per the example:

 Authorization: Token token=3D"vF9dft4qmT"

Would explain or point out the logic of using Token rather than OAuth?

A related question: is the scheme case sensitive?=

--Apple-Mail-12--860884908
Content-Transfer-Encoding: 7bit
Content-Type: text/html;
	charset=us-ascii

<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>I recall some earlier discussion on calling the scheme Token vs OAuth and see that it is now Token per the example:</div><div style="font-size: 15px; "><br></div><div><meta charset="utf-8" style="font-size: 15px; "><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; white-space: pre; font-size: small; "><span class="Apple-style-span" style="font-size: 13px; "> Authorization: Token token="vF9dft4qmT"</span>
</span></div><div><br></div><div>Would explain or point out the logic of using Token rather than OAuth?</div><div><br></div><div>A related question: is the scheme case sensitive?</div></body></html>
--Apple-Mail-12--860884908--

From lshepard@facebook.com  Sun Apr 18 21:35:40 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 66D063A6A8A for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 21:35:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.324
X-Spam-Level: 
X-Spam-Status: No, score=-2.324 tagged_above=-999 required=5 tests=[AWL=-0.548, BAYES_05=-1.11, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mY5dmGi0fQug for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 21:35:39 -0700 (PDT)
Received: from mailout-snc1.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 964323A6A70 for <oauth@ietf.org>; Sun, 18 Apr 2010 21:35:39 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.212]) by pp01.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3J4Z3U6030285 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Sun, 18 Apr 2010 21:35:03 -0700
Received: from sc-hub01.TheFacebook.com (192.168.18.104) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.689.0; Sun, 18 Apr 2010 21:35:20 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub01.TheFacebook.com ([192.168.18.104]) with mapi; Sun, 18 Apr 2010 21:35:20 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Marius Scurtescu <mscurtescu@google.com>, David Recordon <recordond@gmail.com>
Date: Sun, 18 Apr 2010 21:35:16 -0700
Thread-Topic: [OAUTH-WG] Issue: Scope parameter
Thread-Index: Acrfdpv03rGmmB+nTBWhgqHa/oEZ/AAAietw
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66DDF6@SC-MBXC1.TheFacebook.com>
References: <C7ECB1F7.32357%eran@hueniverse.com> <h2l987bab591004181812ve43197f9la55f59b753bd2959@mail.gmail.com> <o2wfd6741651004181838ob1dda59bpf7cb88d3b1892c1d@mail.gmail.com> <1676FB17-48B2-4125-991C-CE996C4DE66B@gmail.com> <g2sfd6741651004181904q2f242fcexf2f7892c9b512068@mail.gmail.com> <z2o74caaad21004182112he72e1a33i4397e2d5333a0c13@mail.gmail.com>
In-Reply-To: <z2o74caaad21004182112he72e1a33i4397e2d5333a0c13@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-18_05:2010-02-06, 2010-04-18, 2010-04-18 signatures=0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 04:35:40 -0000

David Recordon <recordond@gmail.com> wrote:
>> Does anyone have an implementation example where comma separated
>> strings wouldn't work for the scope parameter?

Marius wrote:
> Yes, Google currently is using a space separated list of URIs.
> Why does the format matter?

I agree. Facebook uses comma-separate strings, Google uses space-separated =
URLs- why is this a problem?

It seems we have three options:

1/ We leave the scope parameter as an Auth Server-specific, opaque paramete=
r.
2/ We all agree on a format and spec for the scope parameter.
3/ We drop the scope parameter and make each server define their own, non-s=
tandard scope param.

I think David proposed #2 as a way to address concerns on this list that #1=
 would be a hindrance to interop. But I personally vote for #1 now - we wou=
ld add a spec later if it proves to be a problem.


From eran@hueniverse.com  Sun Apr 18 21:56:34 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AEEF03A699C for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 21:56:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.729
X-Spam-Level: 
X-Spam-Status: No, score=-1.729 tagged_above=-999 required=5 tests=[AWL=-0.620, BAYES_05=-1.11, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PJ3hIqTD07JX for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 21:56:26 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 8D58A3A6845 for <oauth@ietf.org>; Sun, 18 Apr 2010 21:56:26 -0700 (PDT)
Received: (qmail 3624 invoked from network); 19 Apr 2010 04:56:18 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 04:56:17 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Sun, 18 Apr 2010 21:56:17 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Dick Hardt <dick.hardt@gmail.com>
Date: Sun, 18 Apr 2010 21:56:18 -0700
Thread-Topic: [OAUTH-WG] Issue: Scope parameter
Thread-Index: AcrfXWLI6RyrdpOvSEywo1YjQvQ0KQAHGcfg
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E30A3794@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7ECB1F7.32357%eran@hueniverse.com> <h2l987bab591004181812ve43197f9la55f59b753bd2959@mail.gmail.com>
In-Reply-To: <h2l987bab591004181812ve43197f9la55f59b753bd2959@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_90C41DD21FB7C64BB94121FBBC2E723438E30A3794P3PW5EX1MB01E_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 04:56:34 -0000

--_000_90C41DD21FB7C64BB94121FBBC2E723438E30A3794P3PW5EX1MB01E_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

The client_id parameter is not expected to have an internal structure known=
 to clients. The likelihood of a client library treating this value as anyt=
hing other than an opaque string is practically zero. client_id is well def=
ined, especially when it comes to how clients are expected to interact with=
 it. I have not seen a single implementation or requirement to put client-a=
ware meaning into the client_id parameter value. It is an opaque, server-is=
sued string.

The proposed scope parameter is expected to always have an internal structu=
re and clients are expected to read some documentation explaining how to us=
e it. The likelihood of a client library to implement one such structure ba=
sed on the first service it is used for is not insignificant. And once one =
popular service use it in one way, others are likely to do the same to make=
 their developers life easier. So why leave this up to the first popular se=
rvice to decide.

Libraries are expected to pass up and down *any* parameter, regardless of i=
ts status as a core protocol parameter or not. A library that doesn't is br=
oken. If they do that, defining a scope parameter adds absolutely nothing. =
For example, we can add a language parameter which will be used by the clie=
nt to request a specific UI language experience but leave the value to be s=
erver specific. Clearly this is useless without defining how the parameter =
shall be used. From an interop and spec perspective, how is scope different=
?

The current proposal is to pick an ambiguous term and add it as a parameter=
 with no clear meaning, purpose, or structure. I don't know what scope mean=
s. Does it include permissions? The desired access lifetime? The ability to=
 share the tokens with other providers? Different HTTP methods? All the exa=
mples I have seen treat it as a list of resources either directly (list of =
URIs) or indirectly (list of sets or service types).

How about we also add a 'redelegation', 'duration', 'permission', 'methods'=
, and a few more and leave them all server specific? According to the propo=
sal logic, why not?

EHL



From: Dick Hardt [mailto:dick.hardt@gmail.com]
Sent: Sunday, April 18, 2010 6:12 PM
To: Eran Hammer-Lahav
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Issue: Scope parameter

The scope parameter was included in WRAP at the request of library and AS i=
mplementors to standardize a commonly included parameters.

The client_id parameter seems similar to the scope parameter. The meaning o=
f client_id is not defined in the spec and is AS specific. A client_id that=
 a developer uses with one AS may be different at a different AS.

The argument that defining the scope parameter will cause more confusion is=
 confusing itself. Why would a developer think they can use the same scope =
at two different AS? The developer has to manage different client_ids, diff=
erent endpoint URIs and different PRs: not to mention different APIs. Havin=
g a different scope between AS seems natural. Having a vendor defined param=
eter name for different AS that all mean scope seems suboptimal.

A related example. Email has a subject parameter, we all have a similar ide=
a what it means, and it can be used differently in different situations, bu=
t it was useful to create the placeholder for the optional subject of an em=
ail message.

Proposal: put optional scope parameter back into all calls to obtain an acc=
ess token. Put optional scope parameter into calls to refresh an access tok=
en.

-- Dick
On Thu, Apr 15, 2010 at 12:07 PM, Eran Hammer-Lahav <eran@hueniverse.com<ma=
ilto:eran@hueniverse.com>> wrote:
WRAP includes a loosely defined scope parameter which allows for
vendor-specific (and non-interoperable) use cases. This was requested by
many working group members to be included in OAuth 2.0 with the argument
that while it doesn't help interop, it makes using clients easier.

The problem with a general purpose scope parameter that is completely
undefined in structure is that it hurts interop more than it helps. It
creates an expectation that values can be used across services, and it
cannot be used without another spec defining its content and structure. Suc=
h
as spec can simply define its own parameter.

In addition, it is not clear what belongs in scope (list of resources,
access type, duration of access, right to share data, rights to
re-delegate).

The rules should be that if a parameter cannot be used without another
documentation, it should be defined in that other document.

Proposal: Request proposals for a scope parameter definition that improve
interop. Otherwise, keep the parameter out of the core spec.

EHL

_______________________________________________
OAuth mailing list
OAuth@ietf.org<mailto:OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth


--_000_90C41DD21FB7C64BB94121FBBC2E723438E30A3794P3PW5EX1MB01E_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><meta http-equiv=3DContent-Type content=
=3D"text/html; charset=3Dus-ascii"><meta name=3DGenerator content=3D"Micros=
oft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri","sans-serif";}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue vli=
nk=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span style=3D'f=
ont-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>The clien=
t_id parameter is not expected to have an internal structure known to clien=
ts. The likelihood of a client library treating this value as anything othe=
r than an opaque string is practically zero. client_id is well defined, esp=
ecially when it comes to how clients are expected to interact with it. I ha=
ve not seen a single implementation or requirement to put client-aware mean=
ing into the client_id parameter value. It is an opaque, server-issued stri=
ng.<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0=
pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></spa=
n></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Cal=
ibri","sans-serif";color:#1F497D'>The proposed scope parameter is expected =
to always have an internal structure and clients are expected to read some =
documentation explaining how to use it. The likelihood of a client library =
to implement one such structure based on the first service it is used for i=
s not insignificant. And once one popular service use it in one way, others=
 are likely to do the same to make their developers life easier. So why lea=
ve this up to the first popular service to decide.<o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sa=
ns-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><=
span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F=
497D'>Libraries are expected to pass up and down *<b>any</b>* parameter, re=
gardless of its status as a core protocol parameter or not. A library that =
doesn&#8217;t is broken. If they do that, defining a scope parameter adds a=
bsolutely nothing. For example, we can add a language parameter which will =
be used by the client to request a specific UI language experience but leav=
e the value to be server specific. Clearly this is useless without defining=
 how the parameter shall be used. From an interop and spec perspective, how=
 is scope different?<o:p></o:p></span></p><p class=3DMsoNormal><span style=
=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p=
>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0p=
t;font-family:"Calibri","sans-serif";color:#1F497D'>The current proposal is=
 to pick an ambiguous term and add it as a parameter with no clear meaning,=
 purpose, or structure. I don&#8217;t know what scope means. Does it includ=
e permissions? The desired access lifetime? The ability to share the tokens=
 with other providers? Different HTTP methods? All the examples I have seen=
 treat it as a list of resources either directly (list of URIs) or indirect=
ly (list of sets or service types).<o:p></o:p></span></p><p class=3DMsoNorm=
al><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color=
:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'f=
ont-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>How about=
 we also add a &#8216;redelegation&#8217;, &#8216;duration&#8217;, &#8216;p=
ermission&#8217;, &#8216;methods&#8217;, and a few more and leave them all =
server specific? According to the proposal logic, why not?<o:p></o:p></span=
></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Cali=
bri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMso=
Normal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";c=
olor:#1F497D'>EHL<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'=
font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nb=
sp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;fo=
nt-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p=
><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri"=
,"sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div style=3D'bord=
er:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div s=
tyle=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0i=
n'><p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tah=
oma","sans-serif"'>From:</span></b><span style=3D'font-size:10.0pt;font-fam=
ily:"Tahoma","sans-serif"'> Dick Hardt [mailto:dick.hardt@gmail.com] <br><b=
>Sent:</b> Sunday, April 18, 2010 6:12 PM<br><b>To:</b> Eran Hammer-Lahav<b=
r><b>Cc:</b> OAuth WG<br><b>Subject:</b> Re: [OAUTH-WG] Issue: Scope parame=
ter<o:p></o:p></span></p></div></div><p class=3DMsoNormal><o:p>&nbsp;</o:p>=
</p><p class=3DMsoNormal>The scope parameter was included in WRAP at the re=
quest of library and AS implementors to standardize a commonly included par=
ameters.<o:p></o:p></p><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div=
><div><p class=3DMsoNormal>The client_id parameter seems similar to the sco=
pe parameter. The meaning of client_id is not defined in the spec and is AS=
 specific. A client_id that a developer uses with one AS may be different a=
t a different AS.&nbsp;<o:p></o:p></p></div><div><p class=3DMsoNormal><o:p>=
&nbsp;</o:p></p></div><div><p class=3DMsoNormal>The argument that defining =
the scope parameter will cause more confusion is confusing itself. Why woul=
d a developer think they can use the same scope at two different AS? The de=
veloper has to manage different client_ids, different endpoint URIs and dif=
ferent PRs: not to mention different APIs. Having a different scope between=
 AS seems natural. Having a vendor defined parameter name for different AS =
that all mean scope seems suboptimal.&nbsp;<o:p></o:p></p></div><div><p cla=
ss=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>A relat=
ed example. Email has a subject parameter, we all have a&nbsp;similar&nbsp;=
idea what it means, and it can be used differently in different situations,=
 but it was useful to create the placeholder for the&nbsp;optional&nbsp;sub=
ject of an email message.<o:p></o:p></p></div><div><p class=3DMsoNormal><o:=
p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>Proposal: put optional sc=
ope parameter back into all calls to obtain an access token. Put optional s=
cope parameter into calls to refresh an access token.<o:p></o:p></p></div><=
div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNorm=
al style=3D'margin-bottom:12.0pt'>-- Dick<o:p></o:p></p><div><p class=3DMso=
Normal>On Thu, Apr 15, 2010 at 12:07 PM, Eran Hammer-Lahav &lt;<a href=3D"m=
ailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt; wrote:<o:p></o:p></p=
><p class=3DMsoNormal>WRAP includes a loosely defined scope parameter which=
 allows for<br>vendor-specific (and non-interoperable) use cases. This was =
requested by<br>many working group members to be included in OAuth 2.0 with=
 the argument<br>that while it doesn't help interop, it makes using clients=
 easier.<br><br>The problem with a general purpose scope parameter that is =
completely<br>undefined in structure is that it hurts interop more than it =
helps. It<br>creates an expectation that values can be used across services=
, and it<br>cannot be used without another spec defining its content and st=
ructure. Such<br>as spec can simply define its own parameter.<br><br>In add=
ition, it is not clear what belongs in scope (list of resources,<br>access =
type, duration of access, right to share data, rights to<br>re-delegate).<b=
r><br>The rules should be that if a parameter cannot be used without anothe=
r<br>documentation, it should be defined in that other document.<br><br>Pro=
posal: Request proposals for a scope parameter definition that improve<br>i=
nterop. Otherwise, keep the parameter out of the core spec.<o:p></o:p></p><=
div><div><p class=3DMsoNormal><br>EHL<br><br>______________________________=
_________________<br>OAuth mailing list<br><a href=3D"mailto:OAuth@ietf.org=
">OAuth@ietf.org</a><br><a href=3D"https://www.ietf.org/mailman/listinfo/oa=
uth" target=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><o:p>=
</o:p></p></div></div></div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div=
></div></div></body></html>=

--_000_90C41DD21FB7C64BB94121FBBC2E723438E30A3794P3PW5EX1MB01E_--

From eran@hueniverse.com  Sun Apr 18 22:05:13 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 3FB7B3A6AA2 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 22:05:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.467
X-Spam-Level: 
X-Spam-Status: No, score=-2.467 tagged_above=-999 required=5 tests=[AWL=0.131,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id L4nl8VgFsSva for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 22:05:09 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 01BD23A6AA0 for <oauth@ietf.org>; Sun, 18 Apr 2010 22:05:08 -0700 (PDT)
Received: (qmail 11034 invoked from network); 19 Apr 2010 05:05:00 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 05:05:00 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Sun, 18 Apr 2010 22:05:01 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Dick Hardt <dick.hardt@gmail.com>, OAuth WG <oauth@ietf.org>
Date: Sun, 18 Apr 2010 22:05:02 -0700
Thread-Topic: [OAUTH-WG] Clarification: Authorization scheme :: Token vs OAuth
Thread-Index: AcrfeWfHl0srwr2WRvi5qPl6urvnMgAA26rg
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E30A3796@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <9CEC5DA2-6D5F-4CDB-80CD-D24F80E19969@gmail.com>
In-Reply-To: <9CEC5DA2-6D5F-4CDB-80CD-D24F80E19969@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_90C41DD21FB7C64BB94121FBBC2E723438E30A3796P3PW5EX1MB01E_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Clarification: Authorization scheme :: Token vs OAuth
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 05:05:13 -0000

--_000_90C41DD21FB7C64BB94121FBBC2E723438E30A3796P3PW5EX1MB01E_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Scheme is always case-insensitive per 2617.

My reasons for using Token:

1. The scheme isn't specific to OAuth (which defines a model for obtaining =
tokens). It is a generic way to use tokens for authentication. Similar to h=
ow services use OAuth today for "2-legged" authentication (using the signat=
ure method without an access token at all), I expect services to use the To=
ken scheme.

2. Doesn't conflict with OAuth 1.0, and doesn't require adding oauth_versio=
n=3D2.0 to every request. The fact that 1.0 used a parameter name prefix in=
 the *header* was bad enough.

That discussion did not reach any consensus so I used the last proposed tex=
t. If people have a problem with that I'll add it to the open issues list.

EHL



From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of D=
ick Hardt
Sent: Sunday, April 18, 2010 9:33 PM
To: OAuth WG
Subject: [OAUTH-WG] Clarification: Authorization scheme :: Token vs OAuth

I recall some earlier discussion on calling the scheme Token vs OAuth and s=
ee that it is now Token per the example:

Authorization: Token token=3D"vF9dft4qmT"

Would explain or point out the logic of using Token rather than OAuth?

A related question: is the scheme case sensitive?

--_000_90C41DD21FB7C64BB94121FBBC2E723438E30A3796P3PW5EX1MB01E_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><meta http-equiv=3DContent-Type content=
=3D"text/html; charset=3Dus-ascii"><meta name=3DGenerator content=3D"Micros=
oft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
span.apple-style-span
	{mso-style-name:apple-style-span;}
span.EmailStyle18
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue vli=
nk=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span style=3D'f=
ont-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Scheme is=
 always case-insensitive per 2617.<o:p></o:p></span></p><p class=3DMsoNorma=
l><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:=
#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'fo=
nt-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>My reasons=
 for using Token:<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'=
font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nb=
sp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;fo=
nt-family:"Calibri","sans-serif";color:#1F497D'>1. The scheme isn&#8217;t s=
pecific to OAuth (which defines a model for obtaining tokens). It is a gene=
ric way to use tokens for authentication. Similar to how services use OAuth=
 today for &#8220;2-legged&#8221; authentication (using the signature metho=
d without an access token at all), I expect services to use the Token schem=
e.<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0p=
t;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span=
></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Cali=
bri","sans-serif";color:#1F497D'>2. Doesn&#8217;t conflict with OAuth 1.0, =
and doesn&#8217;t require adding oauth_version=3D2.0 to every request. The =
fact that 1.0 used a parameter name prefix in the *<b>header</b>* was bad e=
nough.<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:1=
1.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></=
span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"=
Calibri","sans-serif";color:#1F497D'>That discussion did not reach any cons=
ensus so I used the last proposed text. If people have a problem with that =
I&#8217;ll add it to the open issues list.<o:p></o:p></span></p><p class=3D=
MsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif=
";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span sty=
le=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>EH=
L<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt=
;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span>=
</p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calib=
ri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoN=
ormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";co=
lor:#1F497D'><o:p>&nbsp;</o:p></span></p><div style=3D'border:none;border-l=
eft:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div style=3D'border:n=
one;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=3DMs=
oNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif=
"'>From:</span></b><span style=3D'font-size:10.0pt;font-family:"Tahoma","sa=
ns-serif"'> oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] <b>On Be=
half Of </b>Dick Hardt<br><b>Sent:</b> Sunday, April 18, 2010 9:33 PM<br><b=
>To:</b> OAuth WG<br><b>Subject:</b> [OAUTH-WG] Clarification: Authorizatio=
n scheme :: Token vs OAuth<o:p></o:p></span></p></div></div><p class=3DMsoN=
ormal><o:p>&nbsp;</o:p></p><div><p class=3DMsoNormal>I recall some earlier =
discussion on calling the scheme Token vs OAuth and see that it is now Toke=
n per the example:<o:p></o:p></p></div><div><p class=3DMsoNormal><span styl=
e=3D'font-size:11.5pt'><o:p>&nbsp;</o:p></span></p></div><div><p class=3DMs=
oNormal><span class=3Dapple-style-span><span style=3D'font-size:10.0pt;font=
-family:"Courier New"'> Authorization: Token token=3D&quot;vF9dft4qmT&quot;=
</span></span><span class=3Dapple-style-span><span style=3D'font-family:"Co=
urier New"'><o:p></o:p></span></span></p></div><div><p class=3DMsoNormal><o=
:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>Would explain or point o=
ut the logic of using Token rather than OAuth?<o:p></o:p></p></div><div><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>A re=
lated question: is the scheme case sensitive?<o:p></o:p></p></div></div></d=
iv></body></html>=

--_000_90C41DD21FB7C64BB94121FBBC2E723438E30A3796P3PW5EX1MB01E_--

From eran@hueniverse.com  Sun Apr 18 22:13:10 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4CB2A3A6907 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 22:13:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.469
X-Spam-Level: 
X-Spam-Status: No, score=-2.469 tagged_above=-999 required=5 tests=[AWL=0.130,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BmkB+6och4O4 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 22:13:08 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id E11AE3A6895 for <oauth@ietf.org>; Sun, 18 Apr 2010 22:13:07 -0700 (PDT)
Received: (qmail 17624 invoked from network); 19 Apr 2010 05:12:59 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 05:12:59 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Sun, 18 Apr 2010 22:13:00 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Dick Hardt <dick.hardt@gmail.com>, OAuth WG <oauth@ietf.org>
Date: Sun, 18 Apr 2010 22:13:01 -0700
Thread-Topic: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
Thread-Index: AcrfeQljil97mhwYS/681iScbr8TggABRLvw
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com>
In-Reply-To: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 05:13:10 -0000

Every format requires some encoding, and if we limit the character set we w=
ill just be pushing the problem elsewhere (forcing servers to encode or def=
ine encoding for clients). Right now the assumption is that developers will=
 implement the format (form-encoded) correctly, which will take care of any=
 unexpected value. We can be more explicit about warning them no to assume =
anything about the values they receive.

Interop requires that servers always use the format defined by the spec, bu=
t may offer more formats per client request. This requires an extension par=
ameter or a preference in the client configuration.

I don't have a preference between JSON and form-encoded, but will point out=
 that form-encoded is MUCH easier to parse without a library than JSON or X=
ML. We can also offer both and define a client request parameter (as long a=
s the server is required to make at least one format available).

EHL

> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> Of Dick Hardt
> Sent: Sunday, April 18, 2010 9:30 PM
> To: OAuth WG
> Subject: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>=20
> The AS token endpoint response is encoded as application/x-www-form-
> urlencoded
>=20
> While this reuses a well known and understood encoding standard, it is
> uncommon for a client to receive a message encoded like this. Most server
> responses are encoded as XML or JSON. Libraries are NOT reedily available=
 to
> parse application/x-www-form-urlencoded results as this is something that=
 is
> typically done in the web servers framework. While parsing the name value
> pairs and URL un-encoding them is not hard, many developers have been
> caught just splitting the parameters and forgetting to URL decode the tok=
en.
> Since the token is opaque and may contain characters that are escaped, it=
 is a
> difficult bug to detect.
>=20
> Potential options:
>=20
> 1) Do nothing, developers should read the specs and do the right thing.
>=20
> 2) Require that all parameters are URL safe so that there is no encoding =
issue.
>=20
> 3) Return results as JSON, and recommend that parameters be URL safe.
>=20
> -- Dick
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth

From eran@hueniverse.com  Sun Apr 18 22:16:28 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C10683A69DE for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 22:16:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.47
X-Spam-Level: 
X-Spam-Status: No, score=-2.47 tagged_above=-999 required=5 tests=[AWL=0.129,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3KOdWYnOsS8d for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 22:16:27 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id D9ECE3A69B3 for <oauth@ietf.org>; Sun, 18 Apr 2010 22:16:26 -0700 (PDT)
Received: (qmail 20386 invoked from network); 19 Apr 2010 05:16:18 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 05:16:18 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Sun, 18 Apr 2010 22:16:19 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Dick Hardt <dick.hardt@gmail.com>, OAuth WG <oauth@ietf.org>
Date: Sun, 18 Apr 2010 22:16:20 -0700
Thread-Topic: [OAUTH-WG] Clarification: authorization server matching of redirect	URI
Thread-Index: Acrfd+/mHh3zg57rQY2W8+gouHq4oQABxXRg
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E30A379C@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <2997F829-4755-44A8-ADD5-643BCE25AA61@gmail.com>
In-Reply-To: <2997F829-4755-44A8-ADD5-643BCE25AA61@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Clarification: authorization server matching of redirect	URI
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 05:16:28 -0000

This is where limiting variations to a client state parameter helps, but co=
nsensus was that we cannot limit clients not to use local query parameters =
outside the state.

The problem with giving specific guidance is that it can open security hole=
s. For example, not checking the value of a query parameter can turn the ca=
llback into an open redirector. On the other hand, limiting the sub-domain =
can make scalability harder.

Care to propose text?

EHL

> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> Of Dick Hardt
> Sent: Sunday, April 18, 2010 9:22 PM
> To: OAuth WG
> Subject: [OAUTH-WG] Clarification: authorization server matching of redir=
ect
> URI
>=20
> Some AS will match part of the URI to what was registered, some require
> everything up to the start of a query. The spec needs to clarify how much=
 of
> the URI needs to be matched, or state it is AS specified.
>=20
> -- Dick
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth

From eran@hueniverse.com  Sun Apr 18 22:23:11 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1CAB13A6A86 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 22:23:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.471
X-Spam-Level: 
X-Spam-Status: No, score=-2.471 tagged_above=-999 required=5 tests=[AWL=0.127,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lQiPSF+sUumH for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 22:22:24 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 4B5533A69B3 for <oauth@ietf.org>; Sun, 18 Apr 2010 22:22:08 -0700 (PDT)
Received: (qmail 21139 invoked from network); 19 Apr 2010 05:21:23 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 05:21:23 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Sun, 18 Apr 2010 22:21:23 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Dick Hardt <dick.hardt@gmail.com>, OAuth WG <oauth@ietf.org>
Date: Sun, 18 Apr 2010 22:21:25 -0700
Thread-Topic: [OAUTH-WG] 4/17 draft feedback: token != identifier
Thread-Index: AcrfZcU/kuYj2zrOTUCXbSObOKUynAAGimSA
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E30A379D@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <01F2E4CF-6B73-4FB7-9B36-9DB289B715E5@gmail.com>
In-Reply-To: <01F2E4CF-6B73-4FB7-9B36-9DB289B715E5@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_90C41DD21FB7C64BB94121FBBC2E723438E30A379DP3PW5EX1MB01E_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] 4/17 draft feedback: token != identifier
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 05:23:12 -0000

--_000_90C41DD21FB7C64BB94121FBBC2E723438E30A379DP3PW5EX1MB01E_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Noted. I'll tweak the text to accommodate this scenario. Note that 'the aut=
horization server MUST retain the scope' is met if the scope is encoded int=
o the token and later verified when used. It doesn't say how the scope must=
 be retained. But I see your point.

EHL

From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of D=
ick Hardt
Sent: Sunday, April 18, 2010 7:12 PM
To: OAuth WG
Subject: [OAUTH-WG] 4/17 draft feedback: token !=3D identifier

The spec describes the access token as an identifier. One of the key capabi=
lities of WRAP was that the token could be self contained. The PR could mak=
e an access control decision by examining the access token and not calling =
the AS.

The token is referred to as an identifier in the Abstract, Introduction, an=
d in 2.1 access token.

Similarly, the Refresh Token can be a self contained token and not an ident=
ifier contrary to the definition in 2.1

This also comes up in S 3. Obtaining an Access Token

   When issuing an access token, the authorization server MUST retain the s=
cope, duration, and

        other access attributes granted by the resource owner, and enforce =
these restrictions when

        receiving a protected resource request made with the access token i=
ssued.
This paragraph is not true if the AS embeds the scope, duration etc. into t=
he token itself. This paragraph implies that the PR calls the AS with the a=
ccess token. This is not needed if the access token is self contained.

-- Dick


--_000_90C41DD21FB7C64BB94121FBBC2E723438E30A379DP3PW5EX1MB01E_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV=3D"Content-Type" CONTENT=
=3D"text/html; charset=3Dus-ascii"><meta name=3DGenerator content=3D"Micros=
oft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";}
span.apple-style-span
	{mso-style-name:apple-style-span;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:"Consolas","serif";}
span.EmailStyle20
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue vli=
nk=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span style=3D'f=
ont-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Noted. I&=
#8217;ll tweak the text to accommodate this scenario. Note that &#8216;the =
authorization server MUST retain the scope&#8217; is met if the scope is en=
coded into the token and later verified when used. It doesn&#8217;t say how=
 the scope must be retained. But I see your point.<o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sa=
ns-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><=
span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F=
497D'>EHL<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-siz=
e:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p=
></span></p><div style=3D'border:none;border-left:solid blue 1.5pt;padding:=
0in 0in 0in 4.0pt'><div><div style=3D'border:none;border-top:solid #B5C4DF =
1.0pt;padding:3.0pt 0in 0in 0in'><p class=3DMsoNormal><b><span style=3D'fon=
t-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span styl=
e=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> oauth-bounces@iet=
f.org [mailto:oauth-bounces@ietf.org] <b>On Behalf Of </b>Dick Hardt<br><b>=
Sent:</b> Sunday, April 18, 2010 7:12 PM<br><b>To:</b> OAuth WG<br><b>Subje=
ct:</b> [OAUTH-WG] 4/17 draft feedback: token !=3D identifier<o:p></o:p></s=
pan></p></div></div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><div><p class=
=3DMsoNormal>The spec describes the access token as an identifier.&nbsp;One=
 of the key capabilities of WRAP was that the token could be self contained=
. The PR could make an access control decision by examining the access toke=
n and not calling the AS.&nbsp;<o:p></o:p></p></div><div><p class=3DMsoNorm=
al><o:p>&nbsp;</o:p></p></div><p class=3DMsoNormal>The token is referred to=
 as an identifier in the Abstract, Introduction, and in 2.1 access token.<o=
:p></o:p></p><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p c=
lass=3DMsoNormal>Similarly, the Refresh Token can be a self contained token=
 and not an identifier contrary to the definition in 2.1<o:p></o:p></p><div=
><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>=
This also comes up in S&nbsp;3. Obtaining an Access Token<o:p></o:p></p></d=
iv><div><blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt'><pre sty=
le=3D'word-wrap: break-word;white-space:pre-wrap'>&nbsp;&nbsp; When issuing=
 an access token, the authorization server MUST retain the scope, duration,=
 and<o:p></o:p></pre><pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; other =
access attributes granted by the resource owner, and enforce these restrict=
ions when<o:p></o:p></pre><pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r=
eceiving a protected resource request made with the access token issued.<o:=
p></o:p></pre></blockquote><div><p class=3DMsoNormal>This paragraph is not =
true if the AS embeds the scope, duration etc. into the token itself. This =
paragraph implies that the PR calls the AS with the access token. This is n=
ot needed if the access token is self contained.<o:p></o:p></p></div><div><=
p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>--=
 Dick<o:p></o:p></p></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></=
div></div></div></div></div></body></html>=

--_000_90C41DD21FB7C64BB94121FBBC2E723438E30A379DP3PW5EX1MB01E_--

From dick.hardt@gmail.com  Sun Apr 18 22:26:59 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D9E3F3A69DE for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 22:26:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.365
X-Spam-Level: 
X-Spam-Status: No, score=-2.365 tagged_above=-999 required=5 tests=[AWL=0.234,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id c-EJIXDvyXSm for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 22:26:54 -0700 (PDT)
Received: from mail-gx0-f217.google.com (mail-gx0-f217.google.com [209.85.217.217]) by core3.amsl.com (Postfix) with ESMTP id DC4B53A6A56 for <oauth@ietf.org>; Sun, 18 Apr 2010 22:25:57 -0700 (PDT)
Received: by gxk9 with SMTP id 9so2900327gxk.8 for <oauth@ietf.org>; Sun, 18 Apr 2010 22:25:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=BVU3OaSEN2gEw3O6fX+WluDI4mrUahfFePHye50Wt0A=; b=ESZXVFQBTaPZrdxQIaUbt+Gna8Wbrq8o8K9+4iM71cVQngf7wER0jsI140tAMRM3PN avvk9oV7PY9wJCkyfpwmMHjILvvJKYsf2UBS9+//LU8OqF04gQyQPoT/r0TSr8oSAaiY 5s/vbY7nP1rg9u/+izR0mdE0+M6vFtKG82k2o=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=NAJXPgsXi8yU4fWb8XENmY1gcGB7GCPSfvWe6Z1fuw0qEM6mas49DtVtq5dHvlwtoQ kMxFwICdl6EaLbCtonRkx9PkXyRazAHyb2IrqBzAjm4RyaacIJ43v5z96z3bemmqoKxG 4Q6Rt9Qv23VAtyemOYPfquwUnAelwYFMVjSCQ=
Received: by 10.101.136.38 with SMTP id o38mr12882610ann.146.1271654745150; Sun, 18 Apr 2010 22:25:45 -0700 (PDT)
Received: from [10.0.1.4] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id 7sm1460281yxd.8.2010.04.18.22.25.42 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 18 Apr 2010 22:25:43 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: Dick Hardt <dick.hardt@gmail.com>
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DDF6@SC-MBXC1.TheFacebook.com>
Date: Sun, 18 Apr 2010 22:25:40 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <F3173570-96BE-4089-A48F-95976638E78E@gmail.com>
References: <C7ECB1F7.32357%eran@hueniverse.com> <h2l987bab591004181812ve43197f9la55f59b753bd2959@mail.gmail.com> <o2wfd6741651004181838ob1dda59bpf7cb88d3b1892c1d@mail.gmail.com> <1676FB17-48B2-4125-991C-CE996C4DE66B@gmail.com> <g2sfd6741651004181904q2f242fcexf2f7892c9b512068@mail.gmail.com> <z2o74caaad21004182112he72e1a33i4397e2d5333a0c13@mail.gmail.com> <2513A610118CC14C8E622C376C8DEC93D54D66DDF6@SC-MBXC1.TheFacebook.com>
To: Luke Shepard <lshepard@facebook.com>
X-Mailer: Apple Mail (2.1078)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 05:27:00 -0000

+1 to #1
On 2010-04-18, at 9:35 PM, Luke Shepard wrote:
>=20
> 1/ We leave the scope parameter as an Auth Server-specific, opaque =
parameter.
> 2/ We all agree on a format and spec for the scope parameter.
> 3/ We drop the scope parameter and make each server define their own, =
non-standard scope param.
>=20
> I think David proposed #2 as a way to address concerns on this list =
that #1 would be a hindrance to interop. But I personally vote for #1 =
now - we would add a spec later if it proves to be a problem.
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From dick.hardt@gmail.com  Sun Apr 18 22:29:04 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C0ACD3A6AAA for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 22:29:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.381
X-Spam-Level: 
X-Spam-Status: No, score=-2.381 tagged_above=-999 required=5 tests=[AWL=0.217,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Z9Xy6bOY3fYg for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 22:29:03 -0700 (PDT)
Received: from mail-yx0-f182.google.com (mail-yx0-f182.google.com [209.85.210.182]) by core3.amsl.com (Postfix) with ESMTP id 00CD03A6AAF for <oauth@ietf.org>; Sun, 18 Apr 2010 22:27:49 -0700 (PDT)
Received: by yxe12 with SMTP id 12so2589399yxe.32 for <oauth@ietf.org>; Sun, 18 Apr 2010 22:27:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:message-id:references:to :x-mailer; bh=2GAnxbGrSUM7/LY2BQMc8k86/XgELzCbQBIBsJ6OwgU=; b=iRuMFCWawp0+llLIqBKGhf4jdqFPXpQ06XFVwYMVVsPrmfFbXJK9YDf6iekYklq7s4 MlaRj3V7kPRT24nZ6NJobbKJJPwBn+DmHVxjt6mRk8vPawrqhFcM8u73haatStKJ16r+ 0nJUbqjrn4U73JiTE9gj1+m3dHDA85/GDth5o=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :message-id:references:to:x-mailer; b=oPUrq1ZijEhOmImmY0DYYogJrSpPPefOQTGsxCRhRACSvrcmMlyeNoGMsLYUGbVoFj pImMhYUsGQU7tlFlcFr2BGRBWm8X2WBPKZRJTLofvG8WLLen33t6QTFedUo3GMjmoCIf YNf1MdSjO0fKbANdDQVhnGBWP5Gnk88grBq8E=
Received: by 10.150.235.15 with SMTP id i15mr5788779ybh.80.1271654859052; Sun, 18 Apr 2010 22:27:39 -0700 (PDT)
Received: from [10.0.1.4] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id 20sm1434832yxe.59.2010.04.18.22.27.36 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 18 Apr 2010 22:27:38 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: multipart/alternative; boundary=Apple-Mail-2--857604392
From: Dick Hardt <dick.hardt@gmail.com>
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E30A3794@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Date: Sun, 18 Apr 2010 22:27:35 -0700
Message-Id: <B9DB81DC-2B8F-4FFF-9FF1-78DB334DF101@gmail.com>
References: <C7ECB1F7.32357%eran@hueniverse.com> <h2l987bab591004181812ve43197f9la55f59b753bd2959@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A3794@P3PW5EX1MB01.EX1.SECURESERVER.NET>
To: Eran Hammer-Lahav <eran@hueniverse.com>
X-Mailer: Apple Mail (2.1078)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 05:29:04 -0000

--Apple-Mail-2--857604392
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=windows-1252



On 2010-04-18, at 9:56 PM, Eran Hammer-Lahav wrote:

> The client_id parameter is not expected to have an internal structure =
known to clients.

The client developer needs to understand it.

> The likelihood of a client library treating this value as anything =
other than an opaque string is practically zero. client_id is well =
defined, especially when it comes to how clients are expected to =
interact with it. I have not seen a single implementation or requirement =
to put client-aware meaning into the client_id parameter value. It is an =
opaque, server-issued string.


What about the format parameter that specifies that assertion?


> =20
> The proposed scope parameter is expected to always have an internal =
structure and clients are expected to read some documentation explaining =
how to use it. The likelihood of a client library to implement one such =
structure based on the first service it is used for is not =
insignificant. And once one popular service use it in one way, others =
are likely to do the same to make their developers life easier. So why =
leave this up to the first popular service to decide.

This does not make sense. Services are already defining scope =
parameters, libraries are adding them in.
The client library should treat the scope parameter as a string just =
like all the other strings that are passed around. Given that a number =
of popular services have a scope like parameter now, I don't know of a =
situation where a library developer has done what you fear.

> =20
> Libraries are expected to pass up and down *any* parameter, regardless =
of its status as a core protocol parameter or not. A library that =
doesn=92t is broken. If they do that, defining a scope parameter adds =
absolutely nothing. For example, we can add a language parameter which =
will be used by the client to request a specific UI language experience =
but leave the value to be server specific. Clearly this is useless =
without defining how the parameter shall be used. =46rom an interop and =
spec perspective, how is scope different?

It is much simpler for the library to have an interface where you =
specify specific values than hand in an arbitrary set of name value =
pairs.

> =20
> The current proposal is to pick an ambiguous term and add it as a =
parameter with no clear meaning, purpose, or structure. I don=92t know =
what scope means.
> Does it include permissions? The desired access lifetime? The ability =
to share the tokens with other providers? Different HTTP methods? All =
the examples I have seen treat it as a list of resources either directly =
(list of URIs) or indirectly (list of sets or service types).

It could be any of those things. The scope of access that the client is =
asking for.

> =20
> How about we also add a =91redelegation=92, =91duration=92, =
=91permission=92, =91methods=92, and a few more and leave them all =
server specific? According to the proposal logic, why not?

Those would all be included under scope.

Many implementors are saying they want the scope parameter. Are there =
implementors / deployers that don't want it?  You seem to have a strong =
opinion on this point that is based on a potential interop fear you have =
that is contrary to many implementors.

-- Dick=

--Apple-Mail-2--857604392
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=windows-1252

<html><head><base href=3D"x-msg://20/"></head><body style=3D"word-wrap: =
break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space; "><div><br></div><div><br><div><div>On 2010-04-18, at =
9:56 PM, Eran Hammer-Lahav wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite"><span =
class=3D"Apple-style-span" style=3D"border-collapse: separate; =
font-family: Helvetica; font-size: medium; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; =
white-space: normal; widows: 2; word-spacing: 0px; =
-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div lang=3D"EN-US" link=3D"blue" =
vlink=3D"purple"><div class=3D"WordSection1"><div style=3D"margin-top: =
0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; =
font-size: 12pt; font-family: 'Times New Roman', serif; "><span =
style=3D"font-size: 11pt; font-family: Calibri, sans-serif; color: =
rgb(31, 73, 125); ">The client_id parameter is not expected to have an =
internal structure known to clients. =
</span></div></div></div></span></blockquote><div><br></div><div>The =
client developer needs to understand it.</div><br><blockquote =
type=3D"cite"><span class=3D"Apple-style-span" style=3D"border-collapse: =
separate; font-family: Helvetica; font-size: medium; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; =
white-space: normal; widows: 2; word-spacing: 0px; =
-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div lang=3D"EN-US" link=3D"blue" =
vlink=3D"purple"><div class=3D"WordSection1"><div style=3D"margin-top: =
0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; =
font-size: 12pt; font-family: 'Times New Roman', serif; "><span =
style=3D"font-size: 11pt; font-family: Calibri, sans-serif; color: =
rgb(31, 73, 125); ">The likelihood of a client library treating this =
value as anything other than an opaque string is practically zero. =
client_id is well defined, especially when it comes to how clients are =
expected to interact with it. I have not seen a single implementation or =
requirement to put client-aware meaning into the client_id parameter =
value. It is an opaque, server-issued =
string.</span></div></div></div></span></blockquote><div><br></div><div><b=
r></div><div>What about the format parameter that specifies that =
assertion?</div><div><br></div><br><blockquote type=3D"cite"><span =
class=3D"Apple-style-span" style=3D"border-collapse: separate; =
font-family: Helvetica; font-size: medium; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; =
white-space: normal; widows: 2; word-spacing: 0px; =
-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div lang=3D"EN-US" link=3D"blue" =
vlink=3D"purple"><div class=3D"WordSection1"><div style=3D"margin-top: =
0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; =
font-size: 12pt; font-family: 'Times New Roman', serif; "><span =
style=3D"font-size: 11pt; font-family: Calibri, sans-serif; color: =
rgb(31, 73, 125); "><o:p></o:p></span></div><div style=3D"margin-top: =
0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; =
font-size: 12pt; font-family: 'Times New Roman', serif; "><span =
style=3D"font-size: 11pt; font-family: Calibri, sans-serif; color: =
rgb(31, 73, 125); "><o:p>&nbsp;</o:p></span></div><div =
style=3D"margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; =
margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', =
serif; "><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125); ">The proposed scope parameter is =
expected to always have an internal structure and clients are expected =
to read some documentation explaining how to use it. The likelihood of a =
client library to implement one such structure based on the first =
service it is used for is not insignificant. And once one popular =
service use it in one way, others are likely to do the same to make =
their developers life easier. So why leave this up to the first popular =
service to =
decide.</span></div></div></div></span></blockquote><div><br></div><div>Th=
is does not make sense. Services are already defining scope parameters, =
libraries are adding them in.</div><div>The client library should treat =
the scope parameter as a string just like all the other strings that are =
passed around. Given that a number of popular services have a scope like =
parameter now, I don't know of a situation where a library developer has =
done what you fear.</div><br><blockquote type=3D"cite"><span =
class=3D"Apple-style-span" style=3D"border-collapse: separate; =
font-family: Helvetica; font-size: medium; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; =
white-space: normal; widows: 2; word-spacing: 0px; =
-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div lang=3D"EN-US" link=3D"blue" =
vlink=3D"purple"><div class=3D"WordSection1"><div style=3D"margin-top: =
0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; =
font-size: 12pt; font-family: 'Times New Roman', serif; "><span =
style=3D"font-size: 11pt; font-family: Calibri, sans-serif; color: =
rgb(31, 73, 125); "><o:p></o:p></span></div><div style=3D"margin-top: =
0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; =
font-size: 12pt; font-family: 'Times New Roman', serif; "><span =
style=3D"font-size: 11pt; font-family: Calibri, sans-serif; color: =
rgb(31, 73, 125); "><o:p>&nbsp;</o:p></span></div><div =
style=3D"margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; =
margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', =
serif; "><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125); ">Libraries are expected to pass up =
and down *<b>any</b>* parameter, regardless of its status as a core =
protocol parameter or not. A library that doesn=92t is broken. If they =
do that, defining a scope parameter adds absolutely nothing. For =
example, we can add a language parameter which will be used by the =
client to request a specific UI language experience but leave the value =
to be server specific. Clearly this is useless without defining how the =
parameter shall be used. =46rom an interop and spec perspective, how is =
scope =
different?</span></div></div></div></span></blockquote><div><br></div><div=
>It is much simpler for the library to have an interface where you =
specify specific values than hand in an arbitrary set of name value =
pairs.</div><br><blockquote type=3D"cite"><span class=3D"Apple-style-span"=
 style=3D"border-collapse: separate; font-family: Helvetica; font-size: =
medium; font-style: normal; font-variant: normal; font-weight: normal; =
letter-spacing: normal; line-height: normal; orphans: 2; text-indent: =
0px; text-transform: none; white-space: normal; widows: 2; word-spacing: =
0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div lang=3D"EN-US" link=3D"blue" =
vlink=3D"purple"><div class=3D"WordSection1"><div style=3D"margin-top: =
0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; =
font-size: 12pt; font-family: 'Times New Roman', serif; "><span =
style=3D"font-size: 11pt; font-family: Calibri, sans-serif; color: =
rgb(31, 73, 125); "><o:p></o:p></span></div><div style=3D"margin-top: =
0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; =
font-size: 12pt; font-family: 'Times New Roman', serif; "><span =
style=3D"font-size: 11pt; font-family: Calibri, sans-serif; color: =
rgb(31, 73, 125); "><o:p>&nbsp;</o:p></span></div><div =
style=3D"margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; =
margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', =
serif; "><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125); ">The current proposal is to pick =
an ambiguous term and add it as a parameter with no clear meaning, =
purpose, or structure. I don=92t know what scope =
means.</span></div></div></div></span></blockquote><blockquote =
type=3D"cite"><span class=3D"Apple-style-span" style=3D"border-collapse: =
separate; font-family: Helvetica; font-size: medium; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; =
white-space: normal; widows: 2; word-spacing: 0px; =
-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div lang=3D"EN-US" link=3D"blue" =
vlink=3D"purple"><div class=3D"WordSection1"><div style=3D"margin-top: =
0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; =
font-size: 12pt; font-family: 'Times New Roman', serif; "><span =
style=3D"font-size: 11pt; font-family: Calibri, sans-serif; color: =
rgb(31, 73, 125); ">Does it include permissions? The desired access =
lifetime? The ability to share the tokens with other providers? =
Different HTTP methods? All the examples I have seen treat it as a list =
of resources either directly (list of URIs) or indirectly (list of sets =
or service =
types).</span></div></div></div></span></blockquote><div><br></div><div>It=
 could be any of those things. The scope of access that the client is =
asking for.</div><br><blockquote type=3D"cite"><span =
class=3D"Apple-style-span" style=3D"border-collapse: separate; =
font-family: Helvetica; font-size: medium; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; =
white-space: normal; widows: 2; word-spacing: 0px; =
-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div lang=3D"EN-US" link=3D"blue" =
vlink=3D"purple"><div class=3D"WordSection1"><div style=3D"margin-top: =
0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; =
font-size: 12pt; font-family: 'Times New Roman', serif; "><span =
style=3D"font-size: 11pt; font-family: Calibri, sans-serif; color: =
rgb(31, 73, 125); "><o:p></o:p></span></div><div style=3D"margin-top: =
0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; =
font-size: 12pt; font-family: 'Times New Roman', serif; "><span =
style=3D"font-size: 11pt; font-family: Calibri, sans-serif; color: =
rgb(31, 73, 125); "><o:p>&nbsp;</o:p></span></div><div =
style=3D"margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; =
margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', =
serif; "><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125); ">How about we also add a =
=91redelegation=92, =91duration=92, =91permission=92, =91methods=92, and =
a few more and leave them all server specific? According to the proposal =
logic, why =
not?</span></div></div></div></span></blockquote><div><br></div><div>Those=
 would all be included under scope.</div><div><br></div></div>Many =
implementors are saying they want the scope parameter. Are there =
implementors / deployers that don't want it? &nbsp;You seem to have a =
strong opinion on this point that is based on a potential interop fear =
you have that is contrary to many =
implementors.</div><div><br></div><div>-- Dick</div></body></html>=

--Apple-Mail-2--857604392--

From eran@hueniverse.com  Sun Apr 18 22:29:23 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 517C13A6AB8 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 22:29:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.473
X-Spam-Level: 
X-Spam-Status: No, score=-2.473 tagged_above=-999 required=5 tests=[AWL=0.126,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lvcddKU36+LI for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 22:29:21 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 5FF6A3A6A86 for <oauth@ietf.org>; Sun, 18 Apr 2010 22:28:50 -0700 (PDT)
Received: (qmail 31020 invoked from network); 19 Apr 2010 05:28:42 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 05:28:42 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Sun, 18 Apr 2010 22:28:42 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Dick Hardt <dick.hardt@gmail.com>, OAuth WG <oauth@ietf.org>
Date: Sun, 18 Apr 2010 22:28:43 -0700
Thread-Topic: [OAUTH-WG] Issue: state in web server flow
Thread-Index: Acrfd6Jilk6p7SELSkaZEaZ0b88l0gACKyYA
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E30A379E@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <1E39CE38-763E-4E3D-96D4-DC757BD53B9D@gmail.com>
In-Reply-To: <1E39CE38-763E-4E3D-96D4-DC757BD53B9D@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: state in web server flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 05:29:23 -0000

> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> Of Dick Hardt
> Sent: Sunday, April 18, 2010 9:20 PM
> To: OAuth WG
> Subject: [OAUTH-WG] Issue: state in web server flow
>=20
> Why was the state parameter removed from the web server flow?

I didn't want to both define a state parameter *and* allow for any other cl=
ient-specific parameters in redirection URIs. Because people made the point=
 that *any* client-specific parameters are required, I proposed to drop the=
 state parameter. After all, servers MUST send back whatever URI they recei=
ve regardless of it being encoded into a state parameter.
=20
> Some AS may require the entire redirect URI to be registered, so the stat=
e
> parameter allows a client to maintain state across calls.

I agree that this is useful, but it only makes the spec better if we make i=
ts use more restrictive. Defining it makes it easier for servers to validat=
e the redirection URI, but only if the client is not allowed using other cl=
ient-specific query parameters with it.

If people feel strongly about putting it back, I suggest we only allow it w=
ith callbacks without any query component as that is the only combination i=
t adds value.

EHL

> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth

From dick.hardt@gmail.com  Sun Apr 18 22:36:07 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7B1543A6AA8 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 22:36:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.396
X-Spam-Level: 
X-Spam-Status: No, score=-2.396 tagged_above=-999 required=5 tests=[AWL=0.203,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YuF5gN483w0u for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 22:36:06 -0700 (PDT)
Received: from mail-yx0-f182.google.com (mail-yx0-f182.google.com [209.85.210.182]) by core3.amsl.com (Postfix) with ESMTP id 78E633A6ABC for <oauth@ietf.org>; Sun, 18 Apr 2010 22:36:04 -0700 (PDT)
Received: by yxe12 with SMTP id 12so2592034yxe.32 for <oauth@ietf.org>; Sun, 18 Apr 2010 22:35:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=TmnMB+VxO1uY8I5QQWRwfvFVd3xXeCIerKK+oyUgG1w=; b=cZi8J9WS+L2t7v3s5oi1jXZ+C9KmYD2P8hVmC9rFapnMSAu0af596ZxFgih2dyGC+X mDpAEUuD8uKV+DcoPLfDVYOLNUIBFeJJl3DRwGWJen3hAWC20Pe/pRNnXMEFMhW4tVmk chVdL+WiYxaGcIcwIoz9txFElunHCqZofqiOg=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=avV2pexmLMon7Ww7GRoD9DDhjMdsYT8XH8zft3WyN8dXfwENPg4ciNcoIxUz0Hj4WD yYY304FZjLqWbIH8wf08S4jiDKAB35IcVDRnSzNwY3W9sYI6zFBl45rA4KUn+CmweVLT uZh9eNKuZSeGbeMibXLm4sRiySyqrs6953uYk=
Received: by 10.100.97.15 with SMTP id u15mr3943030anb.6.1271655351738; Sun, 18 Apr 2010 22:35:51 -0700 (PDT)
Received: from [10.0.1.4] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id y2sm42115592ani.14.2010.04.18.22.35.49 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 18 Apr 2010 22:35:50 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: Dick Hardt <dick.hardt@gmail.com>
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E30A379C@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Date: Sun, 18 Apr 2010 22:35:47 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <65D588CD-A374-4F6B-8749-199C5DF83300@gmail.com>
References: <2997F829-4755-44A8-ADD5-643BCE25AA61@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379C@P3PW5EX1MB01.EX1.SECURESERVER.NET>
To: Eran Hammer-Lahav <eran@hueniverse.com>
X-Mailer: Apple Mail (2.1078)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Clarification: authorization server matching of redirect	URI
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 05:36:07 -0000

The spec should describe how the redirect URI is verified to what is =
registered. I can enumerate the options for discussion adding in the =
state parameter as an option.

On 2010-04-18, at 10:16 PM, Eran Hammer-Lahav wrote:

> This is where limiting variations to a client state parameter helps, =
but consensus was that we cannot limit clients not to use local query =
parameters outside the state.
>=20
> The problem with giving specific guidance is that it can open security =
holes. For example, not checking the value of a query parameter can turn =
the callback into an open redirector. On the other hand, limiting the =
sub-domain can make scalability harder.
>=20
> Care to propose text?
>=20
> EHL
>=20
>> -----Original Message-----
>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On =
Behalf
>> Of Dick Hardt
>> Sent: Sunday, April 18, 2010 9:22 PM
>> To: OAuth WG
>> Subject: [OAUTH-WG] Clarification: authorization server matching of =
redirect
>> URI
>>=20
>> Some AS will match part of the URI to what was registered, some =
require
>> everything up to the start of a query. The spec needs to clarify how =
much of
>> the URI needs to be matched, or state it is AS specified.
>>=20
>> -- Dick
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth


From dick.hardt@gmail.com  Sun Apr 18 22:36:16 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 64C923A6AAD for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 22:36:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.409
X-Spam-Level: 
X-Spam-Status: No, score=-2.409 tagged_above=-999 required=5 tests=[AWL=0.190,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5a3zaAl4ZziI for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 22:36:15 -0700 (PDT)
Received: from mail-yw0-f200.google.com (mail-yw0-f200.google.com [209.85.211.200]) by core3.amsl.com (Postfix) with ESMTP id 7D2973A6AA8 for <oauth@ietf.org>; Sun, 18 Apr 2010 22:36:15 -0700 (PDT)
Received: by ywh38 with SMTP id 38so2427595ywh.29 for <oauth@ietf.org>; Sun, 18 Apr 2010 22:36:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=p9Q3MTBK9o34EWb92BMCGxTYWKOyfGlAxddhFp19+Bg=; b=GKOmeDJ0NIIWh5tln5YAbd9ZW4QCTifAvn+20/hGwjBusL4sydncxlikwFJz703pQu r+LYK5wok4nnTzIYy5EcI8m0VXOcaDLsOJRALuizhmGh4OTeeD9BU6nMH8eAyvq+7MbO 3tmrXtbk3DrJxBozglXOub4TA30pfXMZsfyeo=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=nQr/1O7rNID1YhWOT1U/4J66awp2fwvnc+hmwobg3n3KxAnf9z09iYv1GsRLpdov3M VpqCdINcVqJw83qI9tW7X2tAQfwd+I54KsSiPdqejzq0g8dmpzSPhk1UujL5D2Jf4n7b ozxmSe6JJFnpSJItqRXJDdWdJlzXlBU4XZ6kg=
Received: by 10.101.27.3 with SMTP id e3mr12498046anj.123.1271655363550; Sun, 18 Apr 2010 22:36:03 -0700 (PDT)
Received: from [10.0.1.4] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id y2sm42115592ani.14.2010.04.18.22.36.02 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 18 Apr 2010 22:36:03 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: Dick Hardt <dick.hardt@gmail.com>
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E30A379E@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Date: Sun, 18 Apr 2010 22:36:02 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <4776FFF7-45E6-4945-9548-382A9DB84A95@gmail.com>
References: <1E39CE38-763E-4E3D-96D4-DC757BD53B9D@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379E@P3PW5EX1MB01.EX1.SECURESERVER.NET>
To: Eran Hammer-Lahav <eran@hueniverse.com>
X-Mailer: Apple Mail (2.1078)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: state in web server flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 05:36:16 -0000

On 2010-04-18, at 10:28 PM, Eran Hammer-Lahav wrote:

>=20
>=20
>> -----Original Message-----
>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On =
Behalf
>> Of Dick Hardt
>> Sent: Sunday, April 18, 2010 9:20 PM
>> To: OAuth WG
>> Subject: [OAUTH-WG] Issue: state in web server flow
>>=20
>> Why was the state parameter removed from the web server flow?
>=20
> I didn't want to both define a state parameter *and* allow for any =
other client-specific parameters in redirection URIs. Because people =
made the point that *any* client-specific parameters are required, I =
proposed to drop the state parameter. After all, servers MUST send back =
whatever URI they receive regardless of it being encoded into a state =
parameter.
>=20
>> Some AS may require the entire redirect URI to be registered, so the =
state
>> parameter allows a client to maintain state across calls.
>=20
> I agree that this is useful, but it only makes the spec better if we =
make its use more restrictive. Defining it makes it easier for servers =
to validate the redirection URI, but only if the client is not allowed =
using other client-specific query parameters with it.

Agreed

>=20
> If people feel strongly about putting it back, I suggest we only allow =
it with callbacks without any query component as that is the only =
combination it adds value.

Agreed


From eran@hueniverse.com  Sun Apr 18 23:02:51 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 92F0F28C10C for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 23:02:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.174
X-Spam-Level: 
X-Spam-Status: No, score=-1.174 tagged_above=-999 required=5 tests=[AWL=-1.176, BAYES_50=0.001, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gVFqp6YCVD03 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 23:02:41 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id C6F6A3A688D for <oauth@ietf.org>; Sun, 18 Apr 2010 23:02:41 -0700 (PDT)
Received: (qmail 26363 invoked from network); 19 Apr 2010 06:02:33 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 06:02:33 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Sun, 18 Apr 2010 23:02:33 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Dick Hardt <dick.hardt@gmail.com>
Date: Sun, 18 Apr 2010 23:02:34 -0700
Thread-Topic: [OAUTH-WG] Issue: Scope parameter
Thread-Index: AcrfgQhsyXh5gOCATwut46XZ3PuhWgAAGnlA
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E30A37A0@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7ECB1F7.32357%eran@hueniverse.com> <h2l987bab591004181812ve43197f9la55f59b753bd2959@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A3794@P3PW5EX1MB01.EX1.SECURESERVER.NET> <B9DB81DC-2B8F-4FFF-9FF1-78DB334DF101@gmail.com>
In-Reply-To: <B9DB81DC-2B8F-4FFF-9FF1-78DB334DF101@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_90C41DD21FB7C64BB94121FBBC2E723438E30A37A0P3PW5EX1MB01E_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 06:02:51 -0000

--_000_90C41DD21FB7C64BB94121FBBC2E723438E30A37A0P3PW5EX1MB01E_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

I'm strongly opposed to writing a spec that must be profiled in order to be=
 implemented and the proposed definition of the scope parameter mandates pr=
ofiling the spec.

If it has a structure - what is it? If it is an opaque string, where does t=
he client get it from? You cannot have interop if the protocol requires rea=
ding paperwork. There is a difference between reusing code (which is what y=
our argument is about) than interop.

The fact it is easier to pass a named parameter than a list of key-value pa=
irs is just not a good enough reason. I can live with a parameter with an o=
paque value, but it needs to be better defined than 'scope'.

I have seen services with both scope and permission parameters. What's the =
guidance to these services? Drop permissions and encode it into the scope? =
Define it as server-specific? Toss a coin? How about also putting the desir=
ed username into scope instead of another parameter?

How about we add 'custom1', 'custom2', and 'custom3' parameters to make it =
easier for servers to use generic libraries with their own extensions? I'm =
sure we can find a few more generally useful words to throw in there.

---

Interop is accomplished when a standard authentication protocol is used tog=
ether with a standard API protocol. For example, Portable Contacts uses OAu=
th with a standard API and schema to achieve transparent interop. Clients d=
on't need to know anything specific about the server to request an address =
book record if they know where the Poco endpoint is, and can speak OAuth to=
 get permission to private data.

If we define a scope parameter, Poco will stop working unless Poco defines =
how to use the scope parameter when asking for a token capable of accessing=
 Poco resources. But it cannot do it without breaking existing services wit=
h their completely incompatible definition and format for scope.

On the other hand, if we defined a basic way to use scope, Poco will be abl=
e to use that in a consistent way across services and work in the same auto=
magical way.

I am not arguing against having a scope parameter. I think we should and ha=
ve enough implementation experience to do it now (we didn't 3 years ago). I=
 am arguing that the current proposal is ignoring the responsibility we hav=
e to improve interop. If people want scope they need to do a better job def=
ining what it is.

>From anything I heard so far on this list, a comma-separated list of URIs o=
r realms would work.

---

My service requires:

Resources - list of resource URIs or realms
Permission - read / change / add / delete
Duration - access token lifetime

Reading the definition of the scope parameter I don't know how to map my re=
quirements to it. Am I expected to invent an encoding scheme to get all thi=
s information into the scope parameter? It seem that *every* server develop=
er will need to invent such a scheme.

Using your exact argument, I can also request that we add a 'permission' an=
d 'duration' parameters, equally undefined, because it is easier for my dev=
elopers to have the library pass these.

EHL



From: Dick Hardt [mailto:dick.hardt@gmail.com]
Sent: Sunday, April 18, 2010 10:28 PM
To: Eran Hammer-Lahav
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Issue: Scope parameter



On 2010-04-18, at 9:56 PM, Eran Hammer-Lahav wrote:


The client_id parameter is not expected to have an internal structure known=
 to clients.

The client developer needs to understand it.


The likelihood of a client library treating this value as anything other th=
an an opaque string is practically zero. client_id is well defined, especia=
lly when it comes to how clients are expected to interact with it. I have n=
ot seen a single implementation or requirement to put client-aware meaning =
into the client_id parameter value. It is an opaque, server-issued string.


What about the format parameter that specifies that assertion?




The proposed scope parameter is expected to always have an internal structu=
re and clients are expected to read some documentation explaining how to us=
e it. The likelihood of a client library to implement one such structure ba=
sed on the first service it is used for is not insignificant. And once one =
popular service use it in one way, others are likely to do the same to make=
 their developers life easier. So why leave this up to the first popular se=
rvice to decide.

This does not make sense. Services are already defining scope parameters, l=
ibraries are adding them in.
The client library should treat the scope parameter as a string just like a=
ll the other strings that are passed around. Given that a number of popular=
 services have a scope like parameter now, I don't know of a situation wher=
e a library developer has done what you fear.



Libraries are expected to pass up and down *any* parameter, regardless of i=
ts status as a core protocol parameter or not. A library that doesn't is br=
oken. If they do that, defining a scope parameter adds absolutely nothing. =
For example, we can add a language parameter which will be used by the clie=
nt to request a specific UI language experience but leave the value to be s=
erver specific. Clearly this is useless without defining how the parameter =
shall be used. From an interop and spec perspective, how is scope different=
?

It is much simpler for the library to have an interface where you specify s=
pecific values than hand in an arbitrary set of name value pairs.



The current proposal is to pick an ambiguous term and add it as a parameter=
 with no clear meaning, purpose, or structure. I don't know what scope mean=
s.
Does it include permissions? The desired access lifetime? The ability to sh=
are the tokens with other providers? Different HTTP methods? All the exampl=
es I have seen treat it as a list of resources either directly (list of URI=
s) or indirectly (list of sets or service types).

It could be any of those things. The scope of access that the client is ask=
ing for.



How about we also add a 'redelegation', 'duration', 'permission', 'methods'=
, and a few more and leave them all server specific? According to the propo=
sal logic, why not?

Those would all be included under scope.

Many implementors are saying they want the scope parameter. Are there imple=
mentors / deployers that don't want it?  You seem to have a strong opinion =
on this point that is based on a potential interop fear you have that is co=
ntrary to many implementors.

-- Dick

--_000_90C41DD21FB7C64BB94121FBBC2E723438E30A37A0P3PW5EX1MB01E_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><meta http-equiv=3DContent-Type content=
=3D"text/html; charset=3Dus-ascii"><meta name=3DGenerator content=3D"Micros=
oft Word 14 (filtered medium)"><base href=3D"x-msg://20/"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.apple-style-span
	{mso-style-name:apple-style-span;}
span.EmailStyle18
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue vli=
nk=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span style=3D'f=
ont-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I&#8217;m=
 strongly opposed to writing a spec that must be profiled in order to be im=
plemented and the proposed definition of the scope parameter mandates profi=
ling the spec.<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'fon=
t-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;=
</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-=
family:"Calibri","sans-serif";color:#1F497D'>If it has a structure &#8211; =
what is it? If it is an opaque string, where does the client get it from? Y=
ou cannot have interop if the protocol requires reading paperwork. There is=
 a difference between reusing code (which is what your argument is about) t=
han interop.<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-=
size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</=
o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-fa=
mily:"Calibri","sans-serif";color:#1F497D'>The fact it is easier to pass a =
named parameter than a list of key-value pairs is just not a good enough re=
ason. I can live with a parameter with an opaque value, but it needs to be =
better defined than &#8216;scope&#8217;.<o:p></o:p></span></p><p class=3DMs=
oNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";=
color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=
=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I ha=
ve seen services with both scope and permission parameters. What&#8217;s th=
e guidance to these services? Drop permissions and encode it into the scope=
? Define it as server-specific? Toss a coin? How about also putting the des=
ired username into scope instead of another parameter?<o:p></o:p></span></p=
><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri"=
,"sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNorm=
al><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color=
:#1F497D'>How about we add &#8216;custom1&#8217;, &#8216;custom2&#8217;, an=
d &#8216;custom3&#8217; parameters to make it easier for servers to use gen=
eric libraries with their own extensions? I&#8217;m sure we can find a few =
more generally useful words to throw in there.<o:p></o:p></span></p><p clas=
s=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-s=
erif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span=
 style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D=
'>---<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11=
.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></s=
pan></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"C=
alibri","sans-serif";color:#1F497D'>Interop is accomplished when a standard=
 authentication protocol is used together with a standard API protocol. For=
 example, Portable Contacts uses OAuth with a standard API and schema to ac=
hieve transparent interop. Clients don&#8217;t need to know anything specif=
ic about the server to request an address book record if they know where th=
e Poco endpoint is, and can speak OAuth to get permission to private data.<=
o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;f=
ont-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></=
p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri=
","sans-serif";color:#1F497D'>If we define a scope parameter, Poco will sto=
p working unless Poco defines how to use the scope parameter when asking fo=
r a token capable of accessing Poco resources. But it cannot do it without =
breaking existing services with their completely incompatible definition an=
d format for scope.<o:p></o:p></span></p><p class=3DMsoNormal><span style=
=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p=
>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0p=
t;font-family:"Calibri","sans-serif";color:#1F497D'>On the other hand, if w=
e defined a basic way to use scope, Poco will be able to use that in a cons=
istent way across services and work in the same automagical way.<o:p></o:p>=
</span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family=
:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=
=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-se=
rif";color:#1F497D'>I am not arguing against having a scope parameter. I th=
ink we should and have enough implementation experience to do it now (we di=
dn&#8217;t 3 years ago). I am arguing that the current proposal is ignoring=
 the responsibility we have to improve interop. If people want scope they n=
eed to do a better job defining what it is.<o:p></o:p></span></p><p class=
=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-se=
rif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'=
>From anything I heard so far on this list, a comma-separated list of URIs =
or realms would work.<o:p></o:p></span></p><p class=3DMsoNormal><span style=
=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p=
>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0p=
t;font-family:"Calibri","sans-serif";color:#1F497D'>---<o:p></o:p></span></=
p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri=
","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNor=
mal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";colo=
r:#1F497D'>My service requires:<o:p></o:p></span></p><p class=3DMsoNormal><=
span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F=
497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-=
size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Resources &#8=
211; list of resource URIs or realms<o:p></o:p></span></p><p class=3DMsoNor=
mal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";colo=
r:#1F497D'>Permission &#8211; read / change / add / delete<o:p></o:p></span=
></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Cali=
bri","sans-serif";color:#1F497D'>Duration &#8211; access token lifetime<o:p=
></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font=
-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><=
p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","=
sans-serif";color:#1F497D'>Reading the definition of the scope parameter I =
don&#8217;t know how to map my requirements to it. Am I expected to invent =
an encoding scheme to get all this information into the scope parameter? It=
 seem that *<b>every</b>* server developer will need to invent such a schem=
e.<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0p=
t;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span=
></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Cali=
bri","sans-serif";color:#1F497D'>Using your exact argument, I can also requ=
est that we add a &#8216;permission&#8217; and &#8216;duration&#8217; param=
eters, equally undefined, because it is easier for my developers to have th=
e library pass these.<o:p></o:p></span></p><p class=3DMsoNormal><span style=
=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p=
>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0p=
t;font-family:"Calibri","sans-serif";color:#1F497D'>EHL<o:p></o:p></span></=
p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri=
","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNor=
mal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";colo=
r:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'=
font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nb=
sp;</o:p></span></p><div style=3D'border:none;border-left:solid blue 1.5pt;=
padding:0in 0in 0in 4.0pt'><div><div style=3D'border:none;border-top:solid =
#B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=3DMsoNormal><b><span styl=
e=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><s=
pan style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Dick Hard=
t [mailto:dick.hardt@gmail.com] <br><b>Sent:</b> Sunday, April 18, 2010 10:=
28 PM<br><b>To:</b> Eran Hammer-Lahav<br><b>Cc:</b> OAuth WG<br><b>Subject:=
</b> Re: [OAUTH-WG] Issue: Scope parameter<o:p></o:p></span></p></div></div=
><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><div><p class=3DMsoNormal><o:p>&=
nbsp;</o:p></p></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><div><d=
iv><p class=3DMsoNormal>On 2010-04-18, at 9:56 PM, Eran Hammer-Lahav wrote:=
<o:p></o:p></p></div><p class=3DMsoNormal><br><br><o:p></o:p></p><div><div>=
<div><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Cali=
bri","sans-serif";color:#1F497D'>The client_id parameter is not expected to=
 have an internal structure known to clients. </span><o:p></o:p></p></div><=
/div></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p cla=
ss=3DMsoNormal>The client developer needs to understand it.<o:p></o:p></p><=
/div><p class=3DMsoNormal><br><br><o:p></o:p></p><div><div><div><p class=3D=
MsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif=
";color:#1F497D'>The likelihood of a client library treating this value as =
anything other than an opaque string is practically zero. client_id is well=
 defined, especially when it comes to how clients are expected to interact =
with it. I have not seen a single implementation or requirement to put clie=
nt-aware meaning into the client_id parameter value. It is an opaque, serve=
r-issued string.</span><o:p></o:p></p></div></div></div><div><p class=3DMso=
Normal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:=
p></p></div><div><p class=3DMsoNormal>What about the format parameter that =
specifies that assertion?<o:p></o:p></p></div><div><p class=3DMsoNormal><o:=
p>&nbsp;</o:p></p></div><p class=3DMsoNormal><br><br><o:p></o:p></p><div><d=
iv><div><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"C=
alibri","sans-serif";color:#1F497D'>&nbsp;</span><o:p></o:p></p></div><div>=
<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";color:#1F497D'>The proposed scope parameter is expected to alw=
ays have an internal structure and clients are expected to read some docume=
ntation explaining how to use it. The likelihood of a client library to imp=
lement one such structure based on the first service it is used for is not =
insignificant. And once one popular service use it in one way, others are l=
ikely to do the same to make their developers life easier. So why leave thi=
s up to the first popular service to decide.</span><o:p></o:p></p></div></d=
iv></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=
=3DMsoNormal>This does not make sense. Services are already defining scope =
parameters, libraries are adding them in.<o:p></o:p></p></div><div><p class=
=3DMsoNormal>The client library should treat the scope parameter as a strin=
g just like all the other strings that are passed around. Given that a numb=
er of popular services have a scope like parameter now, I don't know of a s=
ituation where a library developer has done what you fear.<o:p></o:p></p></=
div><p class=3DMsoNormal><br><br><o:p></o:p></p><div><div><div><p class=3DM=
soNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"=
;color:#1F497D'>&nbsp;</span><o:p></o:p></p></div><div><p class=3DMsoNormal=
><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#=
1F497D'>Libraries are expected to pass up and down *<b>any</b>* parameter, =
regardless of its status as a core protocol parameter or not. A library tha=
t doesn&#8217;t is broken. If they do that, defining a scope parameter adds=
 absolutely nothing. For example, we can add a language parameter which wil=
l be used by the client to request a specific UI language experience but le=
ave the value to be server specific. Clearly this is useless without defini=
ng how the parameter shall be used. From an interop and spec perspective, h=
ow is scope different?</span><o:p></o:p></p></div></div></div><div><p class=
=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>It is muc=
h simpler for the library to have an interface where you specify specific v=
alues than hand in an arbitrary set of name value pairs.<o:p></o:p></p></di=
v><p class=3DMsoNormal><br><br><o:p></o:p></p><div><div><div><p class=3DMso=
Normal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";c=
olor:#1F497D'>&nbsp;</span><o:p></o:p></p></div><div><p class=3DMsoNormal><=
span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F=
497D'>The current proposal is to pick an ambiguous term and add it as a par=
ameter with no clear meaning, purpose, or structure. I don&#8217;t know wha=
t scope means.</span><o:p></o:p></p></div></div></div><blockquote style=3D'=
margin-top:5.0pt;margin-bottom:5.0pt'><div><div><div><p class=3DMsoNormal><=
span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F=
497D'>Does it include permissions? The desired access lifetime? The ability=
 to share the tokens with other providers? Different HTTP methods? All the =
examples I have seen treat it as a list of resources either directly (list =
of URIs) or indirectly (list of sets or service types).</span><o:p></o:p></=
p></div></div></div></blockquote><div><p class=3DMsoNormal><o:p>&nbsp;</o:p=
></p></div><div><p class=3DMsoNormal>It could be any of those things. The s=
cope of access that the client is asking for.<o:p></o:p></p></div><p class=
=3DMsoNormal><br><br><o:p></o:p></p><div><div><div><p class=3DMsoNormal><sp=
an style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F49=
7D'>&nbsp;</span><o:p></o:p></p></div><div><p class=3DMsoNormal><span style=
=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>How =
about we also add a &#8216;redelegation&#8217;, &#8216;duration&#8217;, &#8=
216;permission&#8217;, &#8216;methods&#8217;, and a few more and leave them=
 all server specific? According to the proposal logic, why not?</span><o:p>=
</o:p></p></div></div></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p>=
</div><div><p class=3DMsoNormal>Those would all be included under scope.<o:=
p></o:p></p></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div></di=
v><p class=3DMsoNormal>Many implementors are saying they want the scope par=
ameter. Are there implementors / deployers that don't want it? &nbsp;You se=
em to have a strong opinion on this point that is based on a potential inte=
rop fear you have that is contrary to many implementors.<o:p></o:p></p></di=
v><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoN=
ormal>-- Dick<o:p></o:p></p></div></div></div></body></html>=

--_000_90C41DD21FB7C64BB94121FBBC2E723438E30A37A0P3PW5EX1MB01E_--

From eran@hueniverse.com  Sun Apr 18 23:07:20 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 723E53A6A26 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 23:07:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.463
X-Spam-Level: 
X-Spam-Status: No, score=-2.463 tagged_above=-999 required=5 tests=[AWL=0.136,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9gVKC9-lNQMw for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 23:07:19 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 99FF83A68CB for <oauth@ietf.org>; Sun, 18 Apr 2010 23:07:19 -0700 (PDT)
Received: (qmail 27421 invoked from network); 19 Apr 2010 06:07:11 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 06:07:11 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Sun, 18 Apr 2010 23:07:10 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Sun, 18 Apr 2010 23:07:12 -0700
Thread-Topic: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
Thread-Index: AcrfNxocCTZGGX1ESbGulG8DWrcSPwATzaRw
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E30A37A3@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <s2m74caaad21004161758scdd1ab27t486ef22b8f12911d@mail.gmail.com> <C7EE5805.3244E%eran@hueniverse.com> <2513A610118CC14C8E622C376C8DEC93D54D66DD94@SC-MBXC1.TheFacebook.com> <o2s74caaad21004181338kbc3e0f29m5c77fb3ddfa55d56@mail.gmail.com>
In-Reply-To: <o2s74caaad21004181338kbc3e0f29m5c77fb3ddfa55d56@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 06:07:20 -0000

> -----Original Message-----
> From: Marius Scurtescu [mailto:mscurtescu@google.com]
> Sent: Sunday, April 18, 2010 1:38 PM

> Also, when implementing OAuth 2.0 people will take into account existing
> parameters and will avoid them, they will chose other parameter names (if
> possible). If the next version of OAuth, let's call it 2.1, adds a few ne=
w
> parameters, how can we chose them so they don't collide with extra
> parameters used by 2.0 implementations?

By defining an extension policy. Anything that is not in the core spec is a=
n extension.

How about we first figure this out? If we can agree on an extension policy,=
 we can see if it mitigates your concerns.

EHL

From eran@hueniverse.com  Sun Apr 18 23:36:09 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id CD9083A68D5 for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 23:36:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.534
X-Spam-Level: 
X-Spam-Status: No, score=-1.534 tagged_above=-999 required=5 tests=[AWL=-0.795, BAYES_20=-0.74, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zP79emMypGZk for <oauth@core3.amsl.com>; Sun, 18 Apr 2010 23:36:01 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id B9A1E3A68E7 for <oauth@ietf.org>; Sun, 18 Apr 2010 23:36:01 -0700 (PDT)
Received: (qmail 22064 invoked from network); 19 Apr 2010 06:35:53 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 06:35:53 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Sun, 18 Apr 2010 23:35:53 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Dick Hardt <dick.hardt@gmail.com>
Date: Sun, 18 Apr 2010 23:35:54 -0700
Thread-Topic: Editorial feedback on 4/17 draft
Thread-Index: AcrfdELDvw3Azz4dR/G5G73hfJeyMgAFeOGQ
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E30A37A8@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <B22B2652-4873-407C-A6B0-E229C334DFBF@gmail.com>
In-Reply-To: <B22B2652-4873-407C-A6B0-E229C334DFBF@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_90C41DD21FB7C64BB94121FBBC2E723438E30A37A8P3PW5EX1MB01E_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Editorial feedback on 4/17 draft
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 06:36:10 -0000

--_000_90C41DD21FB7C64BB94121FBBC2E723438E30A37A8P3PW5EX1MB01E_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Thanks Dick! This is incredibly useful. I'll apply all the comments to the =
spec tomorrow before pushing it as -00 (pending chairs approval).

I'll reply to the (very few) comments I didn't agree/understand once I have=
 a new draft.

EHL


From: Dick Hardt [mailto:dick.hardt@gmail.com]
Sent: Sunday, April 18, 2010 8:56 PM
To: Eran Hammer-Lahav
Cc: OAuth WG
Subject: Editorial feedback on 4/17 draft

General comments:

Putting the flow description, diagram and steps in the section with the spe=
c work well.

Use of "server" term. In numerous places, the term server is used instead o=
f authorization server or resource server (maybe even web server). To avoid=
 ambiguity, I would suggest the term server is never used, and the spec is =
explicit on which server is being referred to.

User authentication at AS: Suggest putting this in one section and then ref=
erring to it in 3.5.2.1 and 3.5.3.1 (and adding into 3.5.1)

Having 5 levels of sections seems overly deep with the bulk of the document=
 being in 3.5 and 3.6.

Sections 4 and 5 seem weaker than the other sections. Would you like me to =
take a stab at rewriting those?

2. Introduction

These resources are usually private ...

Why the use of the word "private" instead of "protected"?

Description of autonomous flow is missing.

2.1


authorization endpoint

         The authorization server's HTTP endpoint capable of

         authenticating the resource owner and obtaining authorization,

         issuing tokens, and refreshing expired tokens.




Does the authorization endpoint issue tokens and refresh tokens? I thought =
that was only the token endpoint.


   client identifier

         An unique identifier issued by the client to identify itself to

         the authorization server.  Client identifiers may have a

         matching secret.


Why does the client identifier have to be issues by the client? Could it no=
t be issued by the AS?

Why are verification code, user code, device code not defined?

2.2

 access token (or under revoked), the authorization server should

Typo

 access token (or until revoked), the authorization server should

3


   In many cases it is desirable to issue access tokens with a shorter

   lifetime than the duration of the authorization grant.  However, it

   is undesirable to require the resource owner to authorize the request

   again.  Instead, the authorization server issues a refresh token in



suggested change:


   In many cases it is desirable to issue access tokens with a shorter

   lifetime than the duration of the authorization grant.  However, it

   may be undesirable to require the resource owner to authorize the reques=
t

   again.  Instead, the authorization server issues a refresh token in

3.3

In WRAP we had a section entitled Parameter Considerations where many errat=
a about parameters was contained.

3.5


User delegation flows are used to grant client access to protected

   resources by the end user without sharing the end user credentials

   (typically a username and password) with the client.  Instead, the

   end user authenticates directly with the authorization server, and

   grants client access to its protected resources.



suggested change:


User delegation flows are used to grant client access to protected

   resources by the end user without sharing the end user credentials

   (such as a username and password) with the client.  Instead, the

   end user authenticates directly with the authorization server, and

   grants client access to its protected resources.


3.5.1

Why does the user not have to authenticate to the AS in this flow?

3.5.1.2

It is unclear to me how to make the user-agent NOT include the fragment.

3.5.3

The terms for the different codes is not consistent. client code, client ve=
rification code, device code, device verification code


3.5.3.5.1



   If the end user authorized the request, the authorization server

   issues and access token and delivers is to the client by including it



typo:



 If the end user authorized the request, the authorization server

 issues an access token and delivers is to the client by including it

3.5.3.2.3

Great to have all the different error conditions. Spec should discuss what =
the client should do for each error code.

3.7.1 and 3.7.2 (diagrams 7 & 8)

Need to add

(w/ Optional Refresh Token)

to be consistent with other diagrams and that refresh is optional in all ca=
lls

3.7.2.1

format parameter. Not sure why this undefined parameter is ok, but scope is=
 not! :)
The example needs a little fleshing out. :)

4.

While the section introduction describes how it can be used to obtain token=
s with different security parameters and getting a secret, how and when the=
 developer would make different calls is unspecified.

The following statement is not always possible:


   The authorization server MUST invalidate the old access token being

   replaced.



If the access token is self contained, then the authorization server cannot=
 invalidate it.





5.1



   The "Authorization" request header field is used by clients to make

   both bearer token and cryptographic token requests.

This statement implies that this is the only way to make requests. Perhaps =
introduce section 5 by clearly stating there are different mechanisms for t=
ransporting the access token?




--_000_90C41DD21FB7C64BB94121FBBC2E723438E30A37A8P3PW5EX1MB01E_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV=3D"Content-Type" CONTENT=
=3D"text/html; charset=3Dus-ascii"><meta name=3DGenerator content=3D"Micros=
oft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:Helvetica;
	panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
	{font-family:Courier;
	panose-1:2 7 4 9 2 2 5 2 4 4;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";}
span.apple-style-span
	{mso-style-name:apple-style-span;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:Consolas;}
span.EmailStyle20
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue vli=
nk=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span style=3D'f=
ont-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Thanks Di=
ck! This is incredibly useful. I&#8217;ll apply all the comments to the spe=
c tomorrow before pushing it as -00 (pending chairs approval).<o:p></o:p></=
span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"=
Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=
=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-se=
rif";color:#1F497D'>I&#8217;ll reply to the (very few) comments I didn&#821=
7;t agree/understand once I have a new draft.<o:p></o:p></span></p><p class=
=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-se=
rif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'=
>EHL<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.=
0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></sp=
an></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div style=
=3D'border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><di=
v><div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0i=
n 0in 0in'><p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-fam=
ily:"Tahoma","sans-serif"'>From:</span></b><span style=3D'font-size:10.0pt;=
font-family:"Tahoma","sans-serif"'> Dick Hardt [mailto:dick.hardt@gmail.com=
] <br><b>Sent:</b> Sunday, April 18, 2010 8:56 PM<br><b>To:</b> Eran Hammer=
-Lahav<br><b>Cc:</b> OAuth WG<br><b>Subject:</b> Editorial feedback on 4/17=
 draft<o:p></o:p></span></p></div></div><p class=3DMsoNormal><o:p>&nbsp;</o=
:p></p><div><p class=3DMsoNormal><b>General comments:</b><o:p></o:p></p></d=
iv><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMso=
Normal>Putting the flow description, diagram and steps in the section with =
the spec work well.<o:p></o:p></p></div><div><p class=3DMsoNormal><o:p>&nbs=
p;</o:p></p></div><div><p class=3DMsoNormal>Use of &quot;server&quot; term.=
 In numerous places, the term server is used instead of authorization serve=
r or resource server (maybe even web server). To avoid ambiguity, I would s=
uggest the term server is never used, and the spec is explicit on which ser=
ver is being referred to.<o:p></o:p></p></div><div><p class=3DMsoNormal><o:=
p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>User authentication at AS=
: Suggest putting this in one section and then referring to it in 3.5.2.1 a=
nd 3.5.3.1 (and adding into 3.5.1)<o:p></o:p></p></div><div><p class=3DMsoN=
ormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>Having 5 levels =
of sections seems overly deep with the bulk of the document being in 3.5 an=
d 3.6.<o:p></o:p></p></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><=
/div><div><p class=3DMsoNormal>Sections 4 and 5 seem weaker than the other =
sections. Would you like me to take a stab at rewriting those?<o:p></o:p></=
p></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><p class=3DMso=
Normal><b>2. Introduction</b><o:p></o:p></p><div><p class=3DMsoNormal><o:p>=
&nbsp;</o:p></p></div><div><p class=3DMsoNormal><span class=3Dapple-style-s=
pan><span style=3D'font-size:9.0pt;font-family:Courier'>These resources are=
 usually private ...</span></span><o:p></o:p></p><div><p class=3DMsoNormal>=
<o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>Why the use of the wor=
d &quot;private&quot; instead of &quot;protected&quot;?<o:p></o:p></p></div=
><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNo=
rmal>Description of autonomous flow is missing.<o:p></o:p></p></div><div><p=
 class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal><b>=
2.1&nbsp;</b><o:p></o:p></p></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:=
p></p></div><div><div id=3DLC256><pre style=3D'line-height:16.8pt'><span st=
yle=3D'font-size:9.0pt;font-family:Courier'>authorization endpoint<o:p></o:=
p></span></pre></div><div id=3DLC257><pre style=3D'line-height:16.8pt'><spa=
n style=3D'font-size:9.0pt;font-family:Courier'>&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;The authorization server's HTTP endpoint capable=
 of<o:p></o:p></span></pre></div><div id=3DLC258><pre style=3D'line-height:=
16.8pt'><span style=3D'font-size:9.0pt;font-family:Courier'>&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;authenticating the resource owner an=
d obtaining authorization,<o:p></o:p></span></pre></div><div id=3DLC259><pr=
e style=3D'line-height:16.8pt'><span style=3D'font-size:9.0pt;font-family:C=
ourier'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;issuing token=
s, and refreshing expired tokens.<o:p></o:p></span></pre></div><div><div id=
=3DLC256><pre style=3D'line-height:16.8pt'><span style=3D'font-size:9.0pt;f=
ont-family:Courier'><o:p>&nbsp;</o:p></span></pre></div><div id=3DLC256><pr=
e style=3D'line-height:16.8pt'><span style=3D'font-size:9.0pt;font-family:C=
ourier'><o:p>&nbsp;</o:p></span></pre></div><div><p class=3DMsoNormal>Does =
the authorization endpoint issue tokens and refresh tokens? I thought that =
was only the token endpoint.<o:p></o:p></p></div><div><p class=3DMsoNormal>=
<o:p>&nbsp;</o:p></p></div><div><div id=3DLC265><pre style=3D'line-height:1=
6.8pt'><span style=3D'font-size:9.0pt;font-family:Courier'>&nbsp;&nbsp;&nbs=
p;client identifier<o:p></o:p></span></pre></div><div id=3DLC266><pre style=
=3D'line-height:16.8pt'><span style=3D'font-size:9.0pt;font-family:Courier'=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An unique identifier=
 issued by the client to identify itself to<o:p></o:p></span></pre></div><d=
iv id=3DLC267><pre style=3D'line-height:16.8pt'><span style=3D'font-size:9.=
0pt;font-family:Courier'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;the authorization server.&nbsp; Client identifiers may have a<o:p></o:p=
></span></pre></div><div id=3DLC268><pre style=3D'line-height:16.8pt'><span=
 style=3D'font-size:9.0pt;font-family:Courier'>&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;matching secret.<o:p></o:p></span></pre></div><di=
v><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal=
><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>Why does the client i=
dentifier have to be issues by the client? Could it not be issued by the AS=
?<o:p></o:p></p></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div>=
<div><p class=3DMsoNormal>Why are verification code, user code, device code=
 not defined?<o:p></o:p></p></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:=
p></p></div><div><p class=3DMsoNormal><b>2.2</b><o:p></o:p></p></div><div><=
p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal><s=
pan class=3Dapple-style-span><span style=3D'font-size:9.0pt;font-family:Cou=
rier'>&nbsp;access token (or under revoked), the authorization server shoul=
d</span></span><o:p></o:p></p></div><div><p class=3DMsoNormal><o:p>&nbsp;</=
o:p></p></div><div><p class=3DMsoNormal><span class=3Dapple-style-span><spa=
n style=3D'font-family:"Helvetica","sans-serif"'>Typo</span></span><o:p></o=
:p></p></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><div=
><p class=3DMsoNormal><span class=3Dapple-style-span><span style=3D'font-si=
ze:9.0pt;font-family:Courier'>&nbsp;access token (or until revoked), the au=
thorization server should</span></span><span style=3D'font-family:"Helvetic=
a","sans-serif"'><o:p></o:p></span></p></div><div><p class=3DMsoNormal><spa=
n style=3D'font-family:"Helvetica","sans-serif"'><o:p>&nbsp;</o:p></span></=
p></div><div><p class=3DMsoNormal><b><span style=3D'font-family:"Helvetica"=
,"sans-serif"'>3</span></b><span style=3D'font-family:"Helvetica","sans-ser=
if"'><o:p></o:p></span></p></div><div><p class=3DMsoNormal><span style=3D'f=
ont-family:"Helvetica","sans-serif"'><o:p>&nbsp;</o:p></span></p></div><div=
><div id=3DLC452><pre style=3D'line-height:16.8pt'><span style=3D'font-size=
:9.0pt;font-family:Courier'>&nbsp;&nbsp;&nbsp;In many cases it is desirable=
 to issue access tokens with a shorter<o:p></o:p></span></pre></div><div id=
=3DLC453><pre style=3D'line-height:16.8pt'><span style=3D'font-size:9.0pt;f=
ont-family:Courier'>&nbsp;&nbsp;&nbsp;lifetime than the duration of the aut=
horization grant.&nbsp; However, it<o:p></o:p></span></pre></div><div id=3D=
LC454><pre style=3D'line-height:16.8pt'><span style=3D'font-size:9.0pt;font=
-family:Courier'>&nbsp;&nbsp;&nbsp;is undesirable to require the resource o=
wner to authorize the request<o:p></o:p></span></pre></div><div id=3DLC455>=
<pre style=3D'line-height:16.8pt'><span style=3D'font-size:9.0pt;font-famil=
y:Courier'>&nbsp;&nbsp;&nbsp;again.&nbsp; Instead, the authorization server=
 issues a refresh token in<o:p></o:p></span></pre></div><div id=3DLC455><pr=
e style=3D'line-height:16.8pt'><span style=3D'font-size:9.0pt;font-family:C=
ourier'><o:p>&nbsp;</o:p></span></pre></div><div id=3DLC455><pre style=3D'l=
ine-height:16.8pt'><span style=3D'font-size:9.0pt;font-family:Courier'>sugg=
ested change:<o:p></o:p></span></pre></div><div><p class=3DMsoNormal><span =
style=3D'font-family:"Helvetica","sans-serif"'><o:p>&nbsp;</o:p></span></p>=
</div><div><div id=3DLC452><pre style=3D'line-height:16.8pt'><span style=3D=
'font-size:9.0pt;font-family:Courier'>&nbsp;&nbsp;&nbsp;In many cases it is=
 desirable to issue access tokens with a shorter<o:p></o:p></span></pre></d=
iv><div id=3DLC453><pre style=3D'line-height:16.8pt'><span style=3D'font-si=
ze:9.0pt;font-family:Courier'>&nbsp;&nbsp;&nbsp;lifetime than the duration =
of the authorization grant.&nbsp; However, it<o:p></o:p></span></pre></div>=
<div id=3DLC454><pre style=3D'line-height:16.8pt'><span style=3D'font-size:=
9.0pt;font-family:Courier'>&nbsp;&nbsp;&nbsp;may be undesirable to require =
the resource owner to authorize the request<o:p></o:p></span></pre></div><d=
iv id=3DLC455><pre style=3D'line-height:16.8pt'><span style=3D'font-size:9.=
0pt;font-family:Courier'>&nbsp;&nbsp;&nbsp;again.&nbsp; Instead, the author=
ization server issues a refresh token in<o:p></o:p></span></pre></div><div>=
<p class=3DMsoNormal><span style=3D'font-family:"Helvetica","sans-serif"'><=
o:p>&nbsp;</o:p></span></p></div></div></div><div><p class=3DMsoNormal><b><=
span style=3D'font-family:"Helvetica","sans-serif"'>3.3</span></b><span sty=
le=3D'font-family:"Helvetica","sans-serif"'><o:p></o:p></span></p></div><di=
v><p class=3DMsoNormal><span style=3D'font-family:"Helvetica","sans-serif"'=
><o:p>&nbsp;</o:p></span></p></div><div><p class=3DMsoNormal><span style=3D=
'font-family:"Helvetica","sans-serif"'>In WRAP we had a section entitled Pa=
rameter Considerations where many errata about parameters was contained.<o:=
p></o:p></span></p></div><div><p class=3DMsoNormal><span style=3D'font-fami=
ly:"Helvetica","sans-serif"'><o:p>&nbsp;</o:p></span></p></div><div><p clas=
s=3DMsoNormal><b><span style=3D'font-family:"Helvetica","sans-serif"'>3.5</=
span></b><span style=3D'font-family:"Helvetica","sans-serif"'><o:p></o:p></=
span></p></div><div><p class=3DMsoNormal><span style=3D'font-family:"Helvet=
ica","sans-serif"'><o:p>&nbsp;</o:p></span></p></div><div><div id=3DLC546><=
pre style=3D'line-height:16.8pt'><span style=3D'font-size:9.0pt;font-family=
:Courier'>User delegation flows are used to grant client access to protecte=
d<o:p></o:p></span></pre></div><div id=3DLC547><pre style=3D'line-height:16=
.8pt'><span style=3D'font-size:9.0pt;font-family:Courier'>&nbsp;&nbsp;&nbsp=
;resources by the end user without sharing the end user credentials<o:p></o=
:p></span></pre></div><div id=3DLC548><pre style=3D'line-height:16.8pt'><sp=
an style=3D'font-size:9.0pt;font-family:Courier'>&nbsp;&nbsp;&nbsp;(typical=
ly a username and password) with the client.&nbsp; Instead, the<o:p></o:p><=
/span></pre></div><div id=3DLC549><pre style=3D'line-height:16.8pt'><span s=
tyle=3D'font-size:9.0pt;font-family:Courier'>&nbsp;&nbsp;&nbsp;end user aut=
henticates directly with the authorization server, and<o:p></o:p></span></p=
re></div><div id=3DLC550><pre style=3D'line-height:16.8pt'><span style=3D'f=
ont-size:9.0pt;font-family:Courier'>&nbsp;&nbsp;&nbsp;grants client access =
to its protected resources.<o:p></o:p></span></pre></div><div id=3DLC550><p=
re style=3D'line-height:16.8pt'><span style=3D'font-size:9.0pt;font-family:=
Courier'><o:p>&nbsp;</o:p></span></pre></div><div id=3DLC550><pre style=3D'=
line-height:16.8pt'><span style=3D'font-size:9.0pt;font-family:Courier'>sug=
gested change:<o:p></o:p></span></pre></div><div><p class=3DMsoNormal><b><s=
pan style=3D'font-family:"Helvetica","sans-serif"'><o:p>&nbsp;</o:p></span>=
</b></p></div><div><div id=3DLC546><pre style=3D'line-height:16.8pt'><span =
style=3D'font-size:9.0pt;font-family:Courier'>User delegation flows are use=
d to grant client access to protected<o:p></o:p></span></pre></div><div id=
=3DLC547><pre style=3D'line-height:16.8pt'><span style=3D'font-size:9.0pt;f=
ont-family:Courier'>&nbsp;&nbsp;&nbsp;resources by the end user without sha=
ring the end user credentials<o:p></o:p></span></pre></div><div id=3DLC548>=
<pre style=3D'line-height:16.8pt'><span style=3D'font-size:9.0pt;font-famil=
y:Courier'>&nbsp;&nbsp;&nbsp;(such as a username and password) with the cli=
ent.&nbsp; Instead, the<o:p></o:p></span></pre></div><div id=3DLC549><pre s=
tyle=3D'line-height:16.8pt'><span style=3D'font-size:9.0pt;font-family:Cour=
ier'>&nbsp;&nbsp;&nbsp;end user authenticates directly with the authorizati=
on server, and<o:p></o:p></span></pre></div><div id=3DLC550><pre style=3D'l=
ine-height:16.8pt'><span style=3D'font-size:9.0pt;font-family:Courier'>&nbs=
p;&nbsp;&nbsp;grants client access to its protected resources.<o:p></o:p></=
span></pre></div><div><p class=3DMsoNormal><b><span style=3D'font-family:"H=
elvetica","sans-serif"'><o:p>&nbsp;</o:p></span></b></p></div></div></div><=
div><p class=3DMsoNormal><span style=3D'font-family:"Helvetica","sans-serif=
"'><o:p>&nbsp;</o:p></span></p></div><div><p class=3DMsoNormal><b><span sty=
le=3D'font-family:"Helvetica","sans-serif"'>3.5.1</span></b><span style=3D'=
font-family:"Helvetica","sans-serif"'><o:p></o:p></span></p></div><div><p c=
lass=3DMsoNormal><span style=3D'font-family:"Helvetica","sans-serif"'><o:p>=
&nbsp;</o:p></span></p></div><div><p class=3DMsoNormal><span style=3D'font-=
family:"Helvetica","sans-serif"'>Why does the user not have to authenticate=
 to the AS in this flow?<o:p></o:p></span></p></div><div><p class=3DMsoNorm=
al><span style=3D'font-family:"Helvetica","sans-serif"'><o:p>&nbsp;</o:p></=
span></p></div><div><p class=3DMsoNormal><b><span style=3D'font-family:"Hel=
vetica","sans-serif"'>3.5.1.2</span></b><span style=3D'font-family:"Helveti=
ca","sans-serif"'><o:p></o:p></span></p></div><div><p class=3DMsoNormal><sp=
an style=3D'font-family:"Helvetica","sans-serif"'><o:p>&nbsp;</o:p></span><=
/p></div><div><p class=3DMsoNormal><span style=3D'font-family:"Helvetica","=
sans-serif"'>It is unclear to me how to make the user-agent NOT include the=
 fragment.&nbsp;<o:p></o:p></span></p></div><div><p class=3DMsoNormal><span=
 style=3D'font-family:"Helvetica","sans-serif"'><o:p>&nbsp;</o:p></span></p=
></div><div><p class=3DMsoNormal><b><span style=3D'font-family:"Helvetica",=
"sans-serif"'>3.5.3</span></b><span style=3D'font-family:"Helvetica","sans-=
serif"'><o:p></o:p></span></p></div><div><p class=3DMsoNormal><span style=
=3D'font-family:"Helvetica","sans-serif"'><o:p>&nbsp;</o:p></span></p></div=
><div><p class=3DMsoNormal><span style=3D'font-family:"Helvetica","sans-ser=
if"'>The terms for the different codes is not consistent. client code, clie=
nt verification code, device code, device verification code<o:p></o:p></spa=
n></p></div><div><p class=3DMsoNormal><span style=3D'font-family:"Helvetica=
","sans-serif"'><o:p>&nbsp;</o:p></span></p></div><div><p class=3DMsoNormal=
><span style=3D'font-family:"Helvetica","sans-serif"'><o:p>&nbsp;</o:p></sp=
an></p></div><div><p class=3DMsoNormal><span class=3Dapple-style-span><b><s=
pan style=3D'font-family:"Helvetica","sans-serif"'>3.5.3.5.1</span></b></sp=
an><span style=3D'font-family:"Helvetica","sans-serif"'><o:p></o:p></span><=
/p></div><div><div id=3DLC1314><pre style=3D'line-height:16.8pt'><span styl=
e=3D'font-size:9.0pt;font-family:Courier'><o:p>&nbsp;</o:p></span></pre></d=
iv><div id=3DLC1315><pre style=3D'line-height:16.8pt'><span style=3D'font-s=
ize:9.0pt;font-family:Courier'>&nbsp;&nbsp;&nbsp;If the end user authorized=
 the request, the authorization server<o:p></o:p></span></pre></div><div id=
=3DLC1316><pre style=3D'line-height:16.8pt'><span style=3D'font-size:9.0pt;=
font-family:Courier'>&nbsp;&nbsp;&nbsp;issues and access token and delivers=
 is to the client by including it<o:p></o:p></span></pre></div><div id=3DLC=
1316><pre style=3D'line-height:16.8pt'><span style=3D'font-size:9.0pt;font-=
family:Courier'><o:p>&nbsp;</o:p></span></pre></div><div id=3DLC1316><pre s=
tyle=3D'line-height:16.8pt'><span style=3D'font-size:9.0pt;font-family:Cour=
ier'>typo:<o:p></o:p></span></pre></div><div id=3DLC1316><pre style=3D'line=
-height:16.8pt'><span style=3D'font-size:9.0pt;font-family:Courier'><o:p>&n=
bsp;</o:p></span></pre></div><div id=3DLC1316><div id=3DLC1315><pre style=
=3D'line-height:16.8pt'><span style=3D'font-size:9.0pt;font-family:Courier'=
>&nbsp;If the end user authorized the request, the authorization server<o:p=
></o:p></span></pre></div><div id=3DLC1316><pre style=3D'line-height:16.8pt=
'><span style=3D'font-size:9.0pt;font-family:Courier'> issues an access tok=
en and delivers is to the client by including it<o:p></o:p></span></pre></d=
iv></div><div><p class=3DMsoNormal><span style=3D'font-family:"Helvetica","=
sans-serif"'><o:p>&nbsp;</o:p></span></p></div></div><div><div><p class=3DM=
soNormal><b><span style=3D'font-family:"Helvetica","sans-serif"'>3.5.3.2.3<=
/span></b><span style=3D'font-family:"Helvetica","sans-serif"'><o:p></o:p><=
/span></p></div><div><p class=3DMsoNormal><span style=3D'font-family:"Helve=
tica","sans-serif"'><o:p>&nbsp;</o:p></span></p></div><div><p class=3DMsoNo=
rmal><span style=3D'font-family:"Helvetica","sans-serif"'>Great to have all=
 the different error conditions. Spec should discuss what the client should=
 do for each error code.<o:p></o:p></span></p></div><div><p class=3DMsoNorm=
al><span style=3D'font-family:"Helvetica","sans-serif"'><o:p>&nbsp;</o:p></=
span></p></div><div><p class=3DMsoNormal><b><span style=3D'font-family:"Hel=
vetica","sans-serif"'>3.7.1 and 3.7.2 (diagrams 7 &amp; 8)</span></b><span =
style=3D'font-family:"Helvetica","sans-serif"'><o:p></o:p></span></p></div>=
<div><p class=3DMsoNormal><span style=3D'font-family:"Helvetica","sans-seri=
f"'><o:p>&nbsp;</o:p></span></p></div><div><div><p class=3DMsoNormal><span =
style=3D'font-family:"Helvetica","sans-serif"'>Need to add<o:p></o:p></span=
></p></div><div><p class=3DMsoNormal><span style=3D'font-family:"Helvetica"=
,"sans-serif"'><o:p>&nbsp;</o:p></span></p></div><div><p class=3DMsoNormal>=
<span class=3Dapple-style-span><span style=3D'font-size:9.0pt;font-family:C=
ourier'>(w/ Optional Refresh Token) </span></span><span style=3D'font-famil=
y:"Helvetica","sans-serif"'><o:p></o:p></span></p></div><div><p class=3DMso=
Normal><span style=3D'font-family:"Helvetica","sans-serif"'><o:p>&nbsp;</o:=
p></span></p></div><div><p class=3DMsoNormal><span style=3D'font-family:"He=
lvetica","sans-serif"'>to be consistent with other diagrams and that refres=
h is optional in all calls<o:p></o:p></span></p></div><div><p class=3DMsoNo=
rmal><span style=3D'font-family:"Helvetica","sans-serif"'><o:p>&nbsp;</o:p>=
</span></p></div><div><p class=3DMsoNormal><b><span style=3D'font-family:"H=
elvetica","sans-serif"'>3.7.2.1</span></b><span style=3D'font-family:"Helve=
tica","sans-serif"'><o:p></o:p></span></p></div><div><p class=3DMsoNormal><=
span style=3D'font-family:"Helvetica","sans-serif"'><o:p>&nbsp;</o:p></span=
></p></div><div><div><p class=3DMsoNormal><span style=3D'font-family:"Helve=
tica","sans-serif"'>format parameter. Not sure why this undefined parameter=
 is ok, but scope is not! :)<o:p></o:p></span></p></div><div><p class=3DMso=
Normal><span style=3D'font-family:"Helvetica","sans-serif"'>The example nee=
ds a little fleshing out. :)<o:p></o:p></span></p></div><div><p class=3DMso=
Normal><span style=3D'font-family:"Helvetica","sans-serif"'><o:p>&nbsp;</o:=
p></span></p></div><div><p class=3DMsoNormal><b><span style=3D'font-family:=
"Helvetica","sans-serif"'>4.</span></b><span style=3D'font-family:"Helvetic=
a","sans-serif"'><o:p></o:p></span></p></div><div><p class=3DMsoNormal><spa=
n style=3D'font-family:"Helvetica","sans-serif"'><o:p>&nbsp;</o:p></span></=
p></div><div><p class=3DMsoNormal><span style=3D'font-family:"Helvetica","s=
ans-serif"'>While the section introduction describes how it can be used to =
obtain tokens with different security parameters and getting a secret, how =
and when the developer would make different calls is unspecified.<o:p></o:p=
></span></p></div><div><p class=3DMsoNormal><span style=3D'font-family:"Hel=
vetica","sans-serif"'><o:p>&nbsp;</o:p></span></p></div><div><p class=3DMso=
Normal><span style=3D'font-family:"Helvetica","sans-serif"'>The following s=
tatement is not always possible:<o:p></o:p></span></p></div><div><p class=
=3DMsoNormal><span style=3D'font-family:"Helvetica","sans-serif"'><o:p>&nbs=
p;</o:p></span></p></div><div><div id=3DLC1933><pre style=3D'line-height:16=
.8pt'><span style=3D'font-size:9.0pt;font-family:Courier'>&nbsp;&nbsp;&nbsp=
;The authorization server MUST invalidate the old access token being<o:p></=
o:p></span></pre></div><div id=3DLC1934><pre style=3D'line-height:16.8pt'><=
span style=3D'font-size:9.0pt;font-family:Courier'>&nbsp;&nbsp;&nbsp;replac=
ed.<o:p></o:p></span></pre></div><div id=3DLC1934><pre style=3D'line-height=
:16.8pt'><span style=3D'font-size:9.0pt;font-family:Courier'><o:p>&nbsp;</o=
:p></span></pre></div><div id=3DLC1934><pre style=3D'line-height:16.8pt'><s=
pan style=3D'font-size:9.0pt;font-family:Courier'>If the access token is se=
lf contained, then the authorization server cannot invalidate it.<o:p></o:p=
></span></pre></div><div id=3DLC1934><pre style=3D'line-height:16.8pt'><spa=
n style=3D'font-size:9.0pt;font-family:Courier'><o:p>&nbsp;</o:p></span></p=
re></div><div id=3DLC1934><pre style=3D'line-height:16.8pt'><span style=3D'=
font-size:9.0pt;font-family:Courier'><o:p>&nbsp;</o:p></span></pre></div><d=
iv><p class=3DMsoNormal><span style=3D'font-family:"Helvetica","sans-serif"=
'><o:p>&nbsp;</o:p></span></p></div></div><div><div><p class=3DMsoNormal><b=
><span style=3D'font-family:"Helvetica","sans-serif"'>5.1</span></b><span s=
tyle=3D'font-family:"Helvetica","sans-serif"'><o:p></o:p></span></p></div><=
div><div id=3DLC2018><pre style=3D'line-height:16.8pt'><span style=3D'font-=
size:9.0pt;font-family:Courier'><o:p>&nbsp;</o:p></span></pre></div><div id=
=3DLC2019><pre style=3D'line-height:16.8pt'><span style=3D'font-size:9.0pt;=
font-family:Courier'>&nbsp;&nbsp;&nbsp;The &quot;Authorization&quot; reques=
t header field is used by clients to make<o:p></o:p></span></pre></div><div=
 id=3DLC2020><pre style=3D'line-height:16.8pt'><span style=3D'font-size:9.0=
pt;font-family:Courier'>&nbsp;&nbsp;&nbsp;both bearer token and cryptograph=
ic token requests. <o:p></o:p></span></pre></div><div><p class=3DMsoNormal>=
<span style=3D'font-family:"Helvetica","sans-serif"'><o:p>&nbsp;</o:p></spa=
n></p></div><div><p class=3DMsoNormal><span style=3D'font-family:"Helvetica=
","sans-serif"'>This statement implies that this is the only way to make re=
quests. Perhaps introduce section 5 by clearly stating there are different =
mechanisms for transporting the access token?<o:p></o:p></span></p></div><d=
iv><p class=3DMsoNormal><span style=3D'font-family:"Helvetica","sans-serif"=
'><o:p>&nbsp;</o:p></span></p></div><div><p class=3DMsoNormal><span style=
=3D'font-family:"Helvetica","sans-serif"'><o:p>&nbsp;</o:p></span></p></div=
></div></div></div><div><p class=3DMsoNormal><span style=3D'font-family:"He=
lvetica","sans-serif"'><o:p>&nbsp;</o:p></span></p></div></div></div></div>=
</div></div></div></div></div></div></body></html>=

--_000_90C41DD21FB7C64BB94121FBBC2E723438E30A37A8P3PW5EX1MB01E_--

From Hannes.Tschofenig@gmx.net  Mon Apr 19 03:42:09 2010
Return-Path: <Hannes.Tschofenig@gmx.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 671003A684F for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 03:42:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.299
X-Spam-Level: 
X-Spam-Status: No, score=-1.299 tagged_above=-999 required=5 tests=[AWL=1.300,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TkdeDc-qE4AS for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 03:42:08 -0700 (PDT)
Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by core3.amsl.com (Postfix) with SMTP id 3DC4B3A67EA for <oauth@ietf.org>; Mon, 19 Apr 2010 03:42:07 -0700 (PDT)
Received: (qmail 9206 invoked by uid 0); 19 Apr 2010 10:41:59 -0000
Received: from 85.49.184.193 by www040.gmx.net with HTTP; Mon, 19 Apr 2010 12:41:56 +0200 (CEST)
Content-Type: text/plain; charset="us-ascii"
Date: Mon, 19 Apr 2010 12:41:56 +0200
From: "Hannes Tschofenig" <Hannes.Tschofenig@gmx.net>
Message-ID: <20100419104156.94140@gmx.net>
MIME-Version: 1.0
To: oauth@ietf.org
X-Authenticated: #29516787
X-Flags: 0001
X-Mailer: WWW-Mail 6100 (Global Message Exchange)
X-Priority: 3
X-Provags-ID: V01U2FsdGVkX1/R43NV47jRU171n276aGT8xFNL0/TB89RZRwYlAf P2NjrvL04b41Y671ZY37l5qgFwb5CrrAWg9A== 
Content-Transfer-Encoding: 7bit
X-GMX-UID: Qwv6evQXYmYBZcVUp3Y3rDlCWkZTQdT4
X-FuHaFi: 0.72999999999999998
Subject: [OAUTH-WG] Interim Meeting
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 10:42:09 -0000

Hi all, 

I put the info about the interim meeting on the WG Wiki page: 
http://trac.tools.ietf.org/wg/oauth/trac/wiki/InterimMeeting

I hope that the ongoing travel problems will be solved soon. We will have an OAuth WG session also at IETF#78. I will work with Eran on the remote participation.  
 
Ciao
Hannes

From lear@cisco.com  Mon Apr 19 03:45:31 2010
Return-Path: <lear@cisco.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8ACBD3A68F5 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 03:45:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.881
X-Spam-Level: 
X-Spam-Status: No, score=-7.881 tagged_above=-999 required=5 tests=[AWL=2.718,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R85j93pMGMAQ for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 03:45:30 -0700 (PDT)
Received: from ams-iport-1.cisco.com (ams-iport-1.cisco.com [144.254.224.140]) by core3.amsl.com (Postfix) with ESMTP id 2419E3A67D1 for <oauth@ietf.org>; Mon, 19 Apr 2010 03:45:29 -0700 (PDT)
Authentication-Results: ams-iport-1.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: ArUBAEbRy0uQ/uCWiWdsb2JhbACDFJhhFQEBAQoLEREGHKE8iGGQO4QibgQ
X-IronPort-AV: E=Sophos;i="4.52,234,1270425600"; d="scan'208,217";a="59624955"
Received: from ams-core-1.cisco.com ([144.254.224.150]) by ams-iport-1.cisco.com with ESMTP; 19 Apr 2010 10:45:20 +0000
Received: from elear-mac.local (ams3-vpn-dhcp5455.cisco.com [10.61.85.78]) by ams-core-1.cisco.com (8.13.8/8.14.3) with ESMTP id o3JAjK3X026347; Mon, 19 Apr 2010 10:45:20 GMT
Message-ID: <4BCC343A.2020706@cisco.com>
Date: Mon, 19 Apr 2010 12:45:14 +0200
From: Eliot Lear <lear@cisco.com>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.5pre) Gecko/20100417 Lanikai/3.1b2pre
MIME-Version: 1.0
To: Hannes Tschofenig <Hannes.Tschofenig@gmx.net>
References: <20100419104156.94140@gmx.net>
In-Reply-To: <20100419104156.94140@gmx.net>
Content-Type: multipart/alternative; boundary="------------040001000004000701080604"
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Interim Meeting
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 10:45:31 -0000

This is a multi-part message in MIME format.
--------------040001000004000701080604
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

  Hannes,

Can we please ask impose on our hosts to provide a room that is suitable 
for conference calls?  I would be happy to assist with WebEx arrangements.

Eliot

On 4/19/10 12:41 PM, Hannes Tschofenig wrote:
> Hi all,
>
> I put the info about the interim meeting on the WG Wiki page:
> http://trac.tools.ietf.org/wg/oauth/trac/wiki/InterimMeeting
>
> I hope that the ongoing travel problems will be solved soon. We will have an OAuth WG session also at IETF#78. I will work with Eran on the remote participation.
>
> Ciao
> Hannes
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--------------040001000004000701080604
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    <font face="Times">Hannes,<br>
      <br>
      Can we please ask impose on our hosts to provide a room that is
      suitable for conference calls?Â  I would be happy to assist with
      WebEx arrangements.<br>
      <br>
      Eliot<br>
    </font><br>
    On 4/19/10 12:41 PM, Hannes Tschofenig wrote:
    <blockquote cite="mid:20100419104156.94140@gmx.net" type="cite">
      <pre wrap="">Hi all, 

I put the info about the interim meeting on the WG Wiki page: 
<a class="moz-txt-link-freetext" href="http://trac.tools.ietf.org/wg/oauth/trac/wiki/InterimMeeting">http://trac.tools.ietf.org/wg/oauth/trac/wiki/InterimMeeting</a>

I hope that the ongoing travel problems will be solved soon. We will have an OAuth WG session also at IETF#78. I will work with Eran on the remote participation.  
 
Ciao
Hannes
_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>

</pre>
    </blockquote>
  </body>
</html>

--------------040001000004000701080604--

From Hannes.Tschofenig@gmx.net  Mon Apr 19 04:08:03 2010
Return-Path: <Hannes.Tschofenig@gmx.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 310883A69BA for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 04:08:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.949
X-Spam-Level: 
X-Spam-Status: No, score=-1.949 tagged_above=-999 required=5 tests=[AWL=0.650,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yPwdWR1QyitI for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 04:08:02 -0700 (PDT)
Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by core3.amsl.com (Postfix) with SMTP id D7F313A68E9 for <oauth@ietf.org>; Mon, 19 Apr 2010 04:08:01 -0700 (PDT)
Received: (qmail invoked by alias); 19 Apr 2010 11:07:52 -0000
Received: from 193.pool85-49-184.dynamic.orange.es (EHLO [192.168.0.130]) [85.49.184.193] by mail.gmx.net (mp037) with SMTP; 19 Apr 2010 13:07:52 +0200
X-Authenticated: #29516787
X-Provags-ID: V01U2FsdGVkX18QLMVqB7UQUFLfGnfmugRBJTbIAUOcDsvnnDZpk+ bl4XSobxKaLPAv
Message-ID: <4BCC397A.1000505@gmx.net>
Date: Mon, 19 Apr 2010 14:07:38 +0300
From: Hannes Tschofenig <Hannes.Tschofenig@gmx.net>
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
To: Eliot Lear <lear@cisco.com>
References: <20100419104156.94140@gmx.net> <4BCC343A.2020706@cisco.com>
In-Reply-To: <4BCC343A.2020706@cisco.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Y-GMX-Trusted: 0
X-FuHaFi: 0.67000000000000004
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Interim Meeting
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 11:08:03 -0000

I will work with Eran on this issue.

Eliot Lear wrote:
> Hannes,
>
> Can we please ask impose on our hosts to provide a room that is 
> suitable for conference calls?  I would be happy to assist with WebEx 
> arrangements.
>
> Eliot
>
> On 4/19/10 12:41 PM, Hannes Tschofenig wrote:
>> Hi all, 
>>
>> I put the info about the interim meeting on the WG Wiki page: 
>> http://trac.tools.ietf.org/wg/oauth/trac/wiki/InterimMeeting
>>
>> I hope that the ongoing travel problems will be solved soon. We will have an OAuth WG session also at IETF#78. I will work with Eran on the remote participation.  
>>  
>> Ciao
>> Hannes
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>     
> ------------------------------------------------------------------------
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>   


From torsten@lodderstedt.net  Mon Apr 19 04:48:37 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 52BE53A6A71 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 04:48:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.042
X-Spam-Level: 
X-Spam-Status: No, score=-1.042 tagged_above=-999 required=5 tests=[AWL=1.207,  BAYES_00=-2.599, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ULNnrUX7VgxW for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 04:48:36 -0700 (PDT)
Received: from smtprelay01.ispgateway.de (smtprelay01.ispgateway.de [80.67.18.13]) by core3.amsl.com (Postfix) with ESMTP id 405913A6A65 for <oauth@ietf.org>; Mon, 19 Apr 2010 04:48:35 -0700 (PDT)
Received: from [80.67.16.111] (helo=localhost) by smtprelay01.ispgateway.de with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O3pSj-0006wg-My; Mon, 19 Apr 2010 13:48:25 +0200
Received: from  ( [195.243.113.249]) by webmail.df.eu (Horde Framework) with HTTP; Mon, 19 Apr 2010 13:48:25 +0200
Message-ID: <20100419134825.134951nuzvi35hk4@webmail.df.eu>
Date: Mon, 19 Apr 2010 13:48:25 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET>
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; DelSp="Yes"; format="flowed"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit
User-Agent: Dynamic Internet Messaging Program (DIMP) H3 (1.1.2)
X-Originating-IP: 195.243.113.249
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 11:48:37 -0000

> We can also offer both and define a client request parameter (as  
> long as the server is required to make at least one format available).

+1 on this

regards,
Torsten.

>
> EHL
>
>> -----Original Message-----
>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
>> Of Dick Hardt
>> Sent: Sunday, April 18, 2010 9:30 PM
>> To: OAuth WG
>> Subject: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>>
>> The AS token endpoint response is encoded as application/x-www-form-
>> urlencoded
>>
>> While this reuses a well known and understood encoding standard, it is
>> uncommon for a client to receive a message encoded like this. Most server
>> responses are encoded as XML or JSON. Libraries are NOT reedily available to
>> parse application/x-www-form-urlencoded results as this is something that is
>> typically done in the web servers framework. While parsing the name value
>> pairs and URL un-encoding them is not hard, many developers have been
>> caught just splitting the parameters and forgetting to URL decode the token.
>> Since the token is opaque and may contain characters that are  
>> escaped, it is a
>> difficult bug to detect.
>>
>> Potential options:
>>
>> 1) Do nothing, developers should read the specs and do the right thing.
>>
>> 2) Require that all parameters are URL safe so that there is no  
>> encoding issue.
>>
>> 3) Return results as JSON, and recommend that parameters be URL safe.
>>
>> -- Dick
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>





From tonynad@microsoft.com  Mon Apr 19 05:53:41 2010
Return-Path: <tonynad@microsoft.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8BC9C28C0E5 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 05:53:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.669
X-Spam-Level: 
X-Spam-Status: No, score=-9.669 tagged_above=-999 required=5 tests=[AWL=-0.930, BAYES_20=-0.74, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NcdM+CS7YkJk for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 05:53:31 -0700 (PDT)
Received: from smtp.microsoft.com (smtp.microsoft.com [131.107.115.212]) by core3.amsl.com (Postfix) with ESMTP id E2F153A6ABB for <oauth@ietf.org>; Mon, 19 Apr 2010 05:53:30 -0700 (PDT)
Received: from TK5EX14CASC132.redmond.corp.microsoft.com (157.54.52.17) by TK5-EXGWY-E801.partners.extranet.microsoft.com (10.251.56.50) with Microsoft SMTP Server (TLS) id 8.2.176.0; Mon, 19 Apr 2010 05:53:22 -0700
Received: from TK5EX14MBXC103.redmond.corp.microsoft.com ([169.254.3.164]) by TK5EX14CASC132.redmond.corp.microsoft.com ([157.54.52.17]) with mapi; Mon, 19 Apr 2010 05:53:22 -0700
From: Anthony Nadalin <tonynad@microsoft.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, Dick Hardt <dick.hardt@gmail.com>
Thread-Topic: [OAUTH-WG] Issue: Scope parameter
Thread-Index: AQHK312FMBgur3PwikSIGJol7SZm4JIpr+gAgAAIvoCAAAnGAP///IIw
Date: Mon, 19 Apr 2010 12:53:17 +0000
Message-ID: <A08279DC79B11C48AD587060CD93977125F0AAB4@TK5EX14MBXC103.redmond.corp.microsoft.com>
References: <C7ECB1F7.32357%eran@hueniverse.com> <h2l987bab591004181812ve43197f9la55f59b753bd2959@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A3794@P3PW5EX1MB01.EX1.SECURESERVER.NET> <B9DB81DC-2B8F-4FFF-9FF1-78DB334DF101@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A37A0@P3PW5EX1MB01.EX1.SECURESERVER.NET>
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E30A37A0@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Content-Type: multipart/alternative; boundary="_000_A08279DC79B11C48AD587060CD93977125F0AAB4TK5EX14MBXC103r_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 12:53:41 -0000

--_000_A08279DC79B11C48AD587060CD93977125F0AAB4TK5EX14MBXC103r_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

> I'm strongly opposed to writing a spec that must be profiled in order to =
be implemented and the proposed definition of the scope parameter mandates =
profiling the spec.

I'm strongly opposed to having a specification that can't be used because i=
t's so restrictive

From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
ran Hammer-Lahav
Sent: Sunday, April 18, 2010 11:03 PM
To: Dick Hardt
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Issue: Scope parameter

I'm strongly opposed to writing a spec that must be profiled in order to be=
 implemented and the proposed definition of the scope parameter mandates pr=
ofiling the spec.

If it has a structure - what is it? If it is an opaque string, where does t=
he client get it from? You cannot have interop if the protocol requires rea=
ding paperwork. There is a difference between reusing code (which is what y=
our argument is about) than interop.

The fact it is easier to pass a named parameter than a list of key-value pa=
irs is just not a good enough reason. I can live with a parameter with an o=
paque value, but it needs to be better defined than 'scope'.

I have seen services with both scope and permission parameters. What's the =
guidance to these services? Drop permissions and encode it into the scope? =
Define it as server-specific? Toss a coin? How about also putting the desir=
ed username into scope instead of another parameter?

How about we add 'custom1', 'custom2', and 'custom3' parameters to make it =
easier for servers to use generic libraries with their own extensions? I'm =
sure we can find a few more generally useful words to throw in there.

---

Interop is accomplished when a standard authentication protocol is used tog=
ether with a standard API protocol. For example, Portable Contacts uses OAu=
th with a standard API and schema to achieve transparent interop. Clients d=
on't need to know anything specific about the server to request an address =
book record if they know where the Poco endpoint is, and can speak OAuth to=
 get permission to private data.

If we define a scope parameter, Poco will stop working unless Poco defines =
how to use the scope parameter when asking for a token capable of accessing=
 Poco resources. But it cannot do it without breaking existing services wit=
h their completely incompatible definition and format for scope.

On the other hand, if we defined a basic way to use scope, Poco will be abl=
e to use that in a consistent way across services and work in the same auto=
magical way.

I am not arguing against having a scope parameter. I think we should and ha=
ve enough implementation experience to do it now (we didn't 3 years ago). I=
 am arguing that the current proposal is ignoring the responsibility we hav=
e to improve interop. If people want scope they need to do a better job def=
ining what it is.

>From anything I heard so far on this list, a comma-separated list of URIs o=
r realms would work.

---

My service requires:

Resources - list of resource URIs or realms
Permission - read / change / add / delete
Duration - access token lifetime

Reading the definition of the scope parameter I don't know how to map my re=
quirements to it. Am I expected to invent an encoding scheme to get all thi=
s information into the scope parameter? It seem that *every* server develop=
er will need to invent such a scheme.

Using your exact argument, I can also request that we add a 'permission' an=
d 'duration' parameters, equally undefined, because it is easier for my dev=
elopers to have the library pass these.

EHL



From: Dick Hardt [mailto:dick.hardt@gmail.com]
Sent: Sunday, April 18, 2010 10:28 PM
To: Eran Hammer-Lahav
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Issue: Scope parameter



On 2010-04-18, at 9:56 PM, Eran Hammer-Lahav wrote:

The client_id parameter is not expected to have an internal structure known=
 to clients.

The client developer needs to understand it.

The likelihood of a client library treating this value as anything other th=
an an opaque string is practically zero. client_id is well defined, especia=
lly when it comes to how clients are expected to interact with it. I have n=
ot seen a single implementation or requirement to put client-aware meaning =
into the client_id parameter value. It is an opaque, server-issued string.


What about the format parameter that specifies that assertion?



The proposed scope parameter is expected to always have an internal structu=
re and clients are expected to read some documentation explaining how to us=
e it. The likelihood of a client library to implement one such structure ba=
sed on the first service it is used for is not insignificant. And once one =
popular service use it in one way, others are likely to do the same to make=
 their developers life easier. So why leave this up to the first popular se=
rvice to decide.

This does not make sense. Services are already defining scope parameters, l=
ibraries are adding them in.
The client library should treat the scope parameter as a string just like a=
ll the other strings that are passed around. Given that a number of popular=
 services have a scope like parameter now, I don't know of a situation wher=
e a library developer has done what you fear.


Libraries are expected to pass up and down *any* parameter, regardless of i=
ts status as a core protocol parameter or not. A library that doesn't is br=
oken. If they do that, defining a scope parameter adds absolutely nothing. =
For example, we can add a language parameter which will be used by the clie=
nt to request a specific UI language experience but leave the value to be s=
erver specific. Clearly this is useless without defining how the parameter =
shall be used. From an interop and spec perspective, how is scope different=
?

It is much simpler for the library to have an interface where you specify s=
pecific values than hand in an arbitrary set of name value pairs.


The current proposal is to pick an ambiguous term and add it as a parameter=
 with no clear meaning, purpose, or structure. I don't know what scope mean=
s.
Does it include permissions? The desired access lifetime? The ability to sh=
are the tokens with other providers? Different HTTP methods? All the exampl=
es I have seen treat it as a list of resources either directly (list of URI=
s) or indirectly (list of sets or service types).

It could be any of those things. The scope of access that the client is ask=
ing for.


How about we also add a 'redelegation', 'duration', 'permission', 'methods'=
, and a few more and leave them all server specific? According to the propo=
sal logic, why not?

Those would all be included under scope.

Many implementors are saying they want the scope parameter. Are there imple=
mentors / deployers that don't want it?  You seem to have a strong opinion =
on this point that is based on a potential interop fear you have that is co=
ntrary to many implementors.

-- Dick

--_000_A08279DC79B11C48AD587060CD93977125F0AAB4TK5EX14MBXC103r_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV=3D"Content-Type" CONTENT=
=3D"text/html; charset=3Dus-ascii"><meta name=3DGenerator content=3D"Micros=
oft Word 14 (filtered medium)"><base href=3D"x-msg://20/"><style><!--
/* Font Definitions */
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";}
span.apple-style-span
	{mso-style-name:apple-style-span;}
span.EmailStyle18
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";
	font-family:"Tahoma","sans-serif";}
span.EmailStyle21
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue vli=
nk=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span style=3D'f=
ont-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>&gt;</spa=
n><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:=
#1F497D'> I&#8217;m strongly opposed to writing a spec that must be profile=
d in order to be implemented and the proposed definition of the scope param=
eter mandates profiling the spec.<o:p></o:p></span></p><p class=3DMsoNormal=
><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#=
1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'fon=
t-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I&#8217;m s=
trongly opposed to having a specification that can&#8217;t be used because =
it&#8217;s so restrictive<o:p></o:p></span></p><p class=3DMsoNormal><span s=
tyle=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>=
<o:p>&nbsp;</o:p></span></p><div><div style=3D'border:none;border-top:solid=
 #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=3DMsoNormal><b><span sty=
le=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><=
span style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> oauth-bo=
unces@ietf.org [mailto:oauth-bounces@ietf.org] <b>On Behalf Of </b>Eran Ham=
mer-Lahav<br><b>Sent:</b> Sunday, April 18, 2010 11:03 PM<br><b>To:</b> Dic=
k Hardt<br><b>Cc:</b> OAuth WG<br><b>Subject:</b> Re: [OAUTH-WG] Issue: Sco=
pe parameter<o:p></o:p></span></p></div></div><p class=3DMsoNormal><o:p>&nb=
sp;</o:p></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-fami=
ly:"Calibri","sans-serif";color:#1F497D'>I&#8217;m strongly opposed to writ=
ing a spec that must be profiled in order to be implemented and the propose=
d definition of the scope parameter mandates profiling the spec.<o:p></o:p>=
</span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family=
:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=
=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-se=
rif";color:#1F497D'>If it has a structure &#8211; what is it? If it is an o=
paque string, where does the client get it from? You cannot have interop if=
 the protocol requires reading paperwork. There is a difference between reu=
sing code (which is what your argument is about) than interop.<o:p></o:p></=
span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"=
Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=
=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-se=
rif";color:#1F497D'>The fact it is easier to pass a named parameter than a =
list of key-value pairs is just not a good enough reason. I can live with a=
 parameter with an opaque value, but it needs to be better defined than &#8=
216;scope&#8217;.<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'=
font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nb=
sp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;fo=
nt-family:"Calibri","sans-serif";color:#1F497D'>I have seen services with b=
oth scope and permission parameters. What&#8217;s the guidance to these ser=
vices? Drop permissions and encode it into the scope? Define it as server-s=
pecific? Toss a coin? How about also putting the desired username into scop=
e instead of another parameter?<o:p></o:p></span></p><p class=3DMsoNormal><=
span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F=
497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-=
size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>How about we =
add &#8216;custom1&#8217;, &#8216;custom2&#8217;, and &#8216;custom3&#8217;=
 parameters to make it easier for servers to use generic libraries with the=
ir own extensions? I&#8217;m sure we can find a few more generally useful w=
ords to throw in there.<o:p></o:p></span></p><p class=3DMsoNormal><span sty=
le=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o=
:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.=
0pt;font-family:"Calibri","sans-serif";color:#1F497D'>---<o:p></o:p></span>=
</p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calib=
ri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoN=
ormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";co=
lor:#1F497D'>Interop is accomplished when a standard authentication protoco=
l is used together with a standard API protocol. For example, Portable Cont=
acts uses OAuth with a standard API and schema to achieve transparent inter=
op. Clients don&#8217;t need to know anything specific about the server to =
request an address book record if they know where the Poco endpoint is, and=
 can speak OAuth to get permission to private data.<o:p></o:p></span></p><p=
 class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","s=
ans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal>=
<span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1=
F497D'>If we define a scope parameter, Poco will stop working unless Poco d=
efines how to use the scope parameter when asking for a token capable of ac=
cessing Poco resources. But it cannot do it without breaking existing servi=
ces with their completely incompatible definition and format for scope.<o:p=
></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font=
-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><=
p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","=
sans-serif";color:#1F497D'>On the other hand, if we defined a basic way to =
use scope, Poco will be able to use that in a consistent way across service=
s and work in the same automagical way.<o:p></o:p></span></p><p class=3DMso=
Normal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";c=
olor:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=
=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I am=
 not arguing against having a scope parameter. I think we should and have e=
nough implementation experience to do it now (we didn&#8217;t 3 years ago).=
 I am arguing that the current proposal is ignoring the responsibility we h=
ave to improve interop. If people want scope they need to do a better job d=
efining what it is.<o:p></o:p></span></p><p class=3DMsoNormal><span style=
=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p=
>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0p=
t;font-family:"Calibri","sans-serif";color:#1F497D'>From anything I heard s=
o far on this list, a comma-separated list of URIs or realms would work.<o:=
p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;fon=
t-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p>=
<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";color:#1F497D'>---<o:p></o:p></span></p><p class=3DMsoNormal><=
span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F=
497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-=
size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>My service re=
quires:<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:=
11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p><=
/span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:=
"Calibri","sans-serif";color:#1F497D'>Resources &#8211; list of resource UR=
Is or realms<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-=
size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Permission &#=
8211; read / change / add / delete<o:p></o:p></span></p><p class=3DMsoNorma=
l><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:=
#1F497D'>Duration &#8211; access token lifetime<o:p></o:p></span></p><p cla=
ss=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-=
serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><spa=
n style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'>Reading the definition of the scope parameter I don&#8217;t know how to =
map my requirements to it. Am I expected to invent an encoding scheme to ge=
t all this information into the scope parameter? It seem that *<b>every</b>=
* server developer will need to invent such a scheme.<o:p></o:p></span></p>=
<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNorma=
l><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:=
#1F497D'>Using your exact argument, I can also request that we add a &#8216=
;permission&#8217; and &#8216;duration&#8217; parameters, equally undefined=
, because it is easier for my developers to have the library pass these.<o:=
p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;fon=
t-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p>=
<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";color:#1F497D'>EHL<o:p></o:p></span></p><p class=3DMsoNormal><=
span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F=
497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-=
size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</=
o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-fa=
mily:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div=
 style=3D'border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0p=
t'><div><div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.=
0pt 0in 0in 0in'><p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;fo=
nt-family:"Tahoma","sans-serif"'>From:</span></b><span style=3D'font-size:1=
0.0pt;font-family:"Tahoma","sans-serif"'> Dick Hardt [mailto:dick.hardt@gma=
il.com] <br><b>Sent:</b> Sunday, April 18, 2010 10:28 PM<br><b>To:</b> Eran=
 Hammer-Lahav<br><b>Cc:</b> OAuth WG<br><b>Subject:</b> Re: [OAUTH-WG] Issu=
e: Scope parameter<o:p></o:p></span></p></div></div><p class=3DMsoNormal><o=
:p>&nbsp;</o:p></p><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><di=
v><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><div><div><p class=3DMsoNormal>=
On 2010-04-18, at 9:56 PM, Eran Hammer-Lahav wrote:<o:p></o:p></p></div><p =
class=3DMsoNormal style=3D'margin-bottom:12.0pt'><o:p>&nbsp;</o:p></p><div>=
<div><div><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:=
"Calibri","sans-serif";color:#1F497D'>The client_id parameter is not expect=
ed to have an internal structure known to clients. </span><o:p></o:p></p></=
div></div></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><=
p class=3DMsoNormal>The client developer needs to understand it.<o:p></o:p>=
</p></div><p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><o:p>&nbsp;</=
o:p></p><div><div><div><p class=3DMsoNormal><span style=3D'font-size:11.0pt=
;font-family:"Calibri","sans-serif";color:#1F497D'>The likelihood of a clie=
nt library treating this value as anything other than an opaque string is p=
ractically zero. client_id is well defined, especially when it comes to how=
 clients are expected to interact with it. I have not seen a single impleme=
ntation or requirement to put client-aware meaning into the client_id param=
eter value. It is an opaque, server-issued string.</span><o:p></o:p></p></d=
iv></div></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p=
 class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>Wha=
t about the format parameter that specifies that assertion?<o:p></o:p></p><=
/div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><p class=3DMsoNor=
mal style=3D'margin-bottom:12.0pt'><o:p>&nbsp;</o:p></p><div><div><div><p c=
lass=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","san=
s-serif";color:#1F497D'>&nbsp;</span><o:p></o:p></p></div><div><p class=3DM=
soNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"=
;color:#1F497D'>The proposed scope parameter is expected to always have an =
internal structure and clients are expected to read some documentation expl=
aining how to use it. The likelihood of a client library to implement one s=
uch structure based on the first service it is used for is not insignifican=
t. And once one popular service use it in one way, others are likely to do =
the same to make their developers life easier. So why leave this up to the =
first popular service to decide.</span><o:p></o:p></p></div></div></div><di=
v><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal=
>This does not make sense. Services are already defining scope parameters, =
libraries are adding them in.<o:p></o:p></p></div><div><p class=3DMsoNormal=
>The client library should treat the scope parameter as a string just like =
all the other strings that are passed around. Given that a number of popula=
r services have a scope like parameter now, I don't know of a situation whe=
re a library developer has done what you fear.<o:p></o:p></p></div><p class=
=3DMsoNormal style=3D'margin-bottom:12.0pt'><o:p>&nbsp;</o:p></p><div><div>=
<div><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Cali=
bri","sans-serif";color:#1F497D'>&nbsp;</span><o:p></o:p></p></div><div><p =
class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sa=
ns-serif";color:#1F497D'>Libraries are expected to pass up and down *<b>any=
</b>* parameter, regardless of its status as a core protocol parameter or n=
ot. A library that doesn&#8217;t is broken. If they do that, defining a sco=
pe parameter adds absolutely nothing. For example, we can add a language pa=
rameter which will be used by the client to request a specific UI language =
experience but leave the value to be server specific. Clearly this is usele=
ss without defining how the parameter shall be used. From an interop and sp=
ec perspective, how is scope different?</span><o:p></o:p></p></div></div></=
div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMs=
oNormal>It is much simpler for the library to have an interface where you s=
pecify specific values than hand in an arbitrary set of name value pairs.<o=
:p></o:p></p></div><p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><o:p=
>&nbsp;</o:p></p><div><div><div><p class=3DMsoNormal><span style=3D'font-si=
ze:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>&nbsp;</span><o=
:p></o:p></p></div><div><p class=3DMsoNormal><span style=3D'font-size:11.0p=
t;font-family:"Calibri","sans-serif";color:#1F497D'>The current proposal is=
 to pick an ambiguous term and add it as a parameter with no clear meaning,=
 purpose, or structure. I don&#8217;t know what scope means.</span><o:p></o=
:p></p></div></div></div><blockquote style=3D'margin-top:5.0pt;margin-botto=
m:5.0pt'><div><div><div><p class=3DMsoNormal><span style=3D'font-size:11.0p=
t;font-family:"Calibri","sans-serif";color:#1F497D'>Does it include permiss=
ions? The desired access lifetime? The ability to share the tokens with oth=
er providers? Different HTTP methods? All the examples I have seen treat it=
 as a list of resources either directly (list of URIs) or indirectly (list =
of sets or service types).</span><o:p></o:p></p></div></div></div></blockqu=
ote><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMs=
oNormal>It could be any of those things. The scope of access that the clien=
t is asking for.<o:p></o:p></p></div><p class=3DMsoNormal style=3D'margin-b=
ottom:12.0pt'><o:p>&nbsp;</o:p></p><div><div><div><p class=3DMsoNormal><spa=
n style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'>&nbsp;</span><o:p></o:p></p></div><div><p class=3DMsoNormal><span style=
=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>How =
about we also add a &#8216;redelegation&#8217;, &#8216;duration&#8217;, &#8=
216;permission&#8217;, &#8216;methods&#8217;, and a few more and leave them=
 all server specific? According to the proposal logic, why not?</span><o:p>=
</o:p></p></div></div></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p>=
</div><div><p class=3DMsoNormal>Those would all be included under scope.<o:=
p></o:p></p></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div></di=
v><p class=3DMsoNormal>Many implementors are saying they want the scope par=
ameter. Are there implementors / deployers that don't want it? &nbsp;You se=
em to have a strong opinion on this point that is based on a potential inte=
rop fear you have that is contrary to many implementors.<o:p></o:p></p></di=
v><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoN=
ormal>-- Dick<o:p></o:p></p></div></div></div></body></html>=

--_000_A08279DC79B11C48AD587060CD93977125F0AAB4TK5EX14MBXC103r_--

From torsten@lodderstedt.net  Mon Apr 19 06:03:49 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id EA7B23A69DA for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 06:03:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.346
X-Spam-Level: 
X-Spam-Status: No, score=-0.346 tagged_above=-999 required=5 tests=[AWL=-0.697, BAYES_50=0.001, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jSH7jmxq8WF6 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 06:03:48 -0700 (PDT)
Received: from smtprelay03.ispgateway.de (smtprelay03.ispgateway.de [80.67.29.28]) by core3.amsl.com (Postfix) with ESMTP id 891433A6833 for <oauth@ietf.org>; Mon, 19 Apr 2010 06:03:48 -0700 (PDT)
Received: from [80.67.16.111] (helo=localhost) by smtprelay03.ispgateway.de with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O3qdW-0001US-QA; Mon, 19 Apr 2010 15:03:38 +0200
Received: from  ( [195.243.113.249]) by webmail.df.eu (Horde Framework) with HTTP; Mon, 19 Apr 2010 15:03:38 +0200
Message-ID: <20100419150338.19825npsatjgfesk@webmail.df.eu>
Date: Mon, 19 Apr 2010 15:03:38 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
To: Luke Shepard <lshepard@facebook.com>
References: <C7ECB1F7.32357%eran@hueniverse.com> <h2l987bab591004181812ve43197f9la55f59b753bd2959@mail.gmail.com> <o2wfd6741651004181838ob1dda59bpf7cb88d3b1892c1d@mail.gmail.com> <1676FB17-48B2-4125-991C-CE996C4DE66B@gmail.com> <g2sfd6741651004181904q2f242fcexf2f7892c9b512068@mail.gmail.com> <z2o74caaad21004182112he72e1a33i4397e2d5333a0c13@mail.gmail.com> <2513A610118CC14C8E622C376C8DEC93D54D66DDF6@SC-MBXC1.TheFacebook.com>
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DDF6@SC-MBXC1.TheFacebook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; DelSp="Yes"; format="flowed"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit
User-Agent: Dynamic Internet Messaging Program (DIMP) H3 (1.1.2)
X-Originating-IP: 195.243.113.249
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 13:03:50 -0000

+1 to #1 (as starting point)

In my opinion, the WG should try to work towards #2. Would it be  
possible to first collect what kind of "scope" implementations use  
today and what ideas exists?

Based on our experiences with implementing OAuth 1.0a at Deutsche  
Telekom, I see the following aspects:

- resource: specification of the protected resource to be accessed. An  
example could be: "http://www.example.de/photos/" or just "photos".

This is a more conceptual view that can be understood by users  
(relevant for user consent), whereas the service id is a more  
technical view.

- service id: identifier of a web service exposing certain functions  
to access/manipulate resources on a particular channel using a  
particular technology (Rest, SOAP, ...).
Examples could be: "photos-rest-proxy-iptv", "photos-soap-intf-mobile".

Different services may need different user data, thus content of  
self-contained tokens typically varies between service id's.

- permissions:  permissions on resources or services the client wants  
to get authorized by the user (comma-separated list of opaque  
strings). The range of permissions is defined by the resource/service  
as part of its API design. This could be something like "upload",  
"download", "sent", or "establish connection".

- duration: specification of the token duration the client asks for

- device: the device the OAuth clients resides on. This allows to have  
different tokens for the same client (application) on different  
devices and is intended to reduce the impact of token theft. The token  
is bound to a particular device during user authz flow and usage of  
the token is restricted to that device only (typically mobile/smart  
phones, but also set top boxes, tv sets, gaming consoles).

regards,
Torsten.

Zitat von Luke Shepard <lshepard@facebook.com>:

> David Recordon <recordond@gmail.com> wrote:
>>> Does anyone have an implementation example where comma separated
>>> strings wouldn't work for the scope parameter?
>
> Marius wrote:
>> Yes, Google currently is using a space separated list of URIs.
>> Why does the format matter?
>
> I agree. Facebook uses comma-separate strings, Google uses  
> space-separated URLs- why is this a problem?
>
> It seems we have three options:
>
> 1/ We leave the scope parameter as an Auth Server-specific, opaque parameter.
> 2/ We all agree on a format and spec for the scope parameter.
> 3/ We drop the scope parameter and make each server define their  
> own, non-standard scope param.
>
> I think David proposed #2 as a way to address concerns on this list  
> that #1 would be a hindrance to interop. But I personally vote for  
> #1 now - we would add a spec later if it proves to be a problem.
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>





From lear@cisco.com  Mon Apr 19 06:09:52 2010
Return-Path: <lear@cisco.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BF01A3A6ABA for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 06:09:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.152
X-Spam-Level: 
X-Spam-Status: No, score=-8.152 tagged_above=-999 required=5 tests=[AWL=2.446,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IPwS-Z08VnMe for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 06:09:52 -0700 (PDT)
Received: from ams-iport-1.cisco.com (ams-iport-1.cisco.com [144.254.224.140]) by core3.amsl.com (Postfix) with ESMTP id 841DC3A6A97 for <oauth@ietf.org>; Mon, 19 Apr 2010 06:09:51 -0700 (PDT)
Authentication-Results: ams-iport-1.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: ArUBAELzy0uQ/uCWiWdsb2JhbACDFJhiFQEBAQoLEREGHKBjiGGQRIQibgQ
X-IronPort-AV: E=Sophos;i="4.52,235,1270425600"; d="scan'208,217";a="59632872"
Received: from ams-core-1.cisco.com ([144.254.224.150]) by ams-iport-1.cisco.com with ESMTP; 19 Apr 2010 13:09:42 +0000
Received: from elear-mac.local (ams3-vpn-dhcp5455.cisco.com [10.61.85.78]) by ams-core-1.cisco.com (8.13.8/8.14.3) with ESMTP id o3JD9frG005252 for <oauth@ietf.org>; Mon, 19 Apr 2010 13:09:42 GMT
Message-ID: <4BCC5610.8000607@cisco.com>
Date: Mon, 19 Apr 2010 15:09:36 +0200
From: Eliot Lear <lear@cisco.com>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.5pre) Gecko/20100417 Lanikai/3.1b2pre
MIME-Version: 1.0
To: OAuth WG <oauth@ietf.org>
Content-Type: multipart/alternative; boundary="------------080908090309060401020701"
Subject: [OAUTH-WG] Issue: 3.5.3 Polling?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 13:09:52 -0000

This is a multi-part message in MIME format.
--------------080908090309060401020701
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

  For this section I would like to understand the logic of using polling 
rather than a client blocking.  I could imagine several legitimate 
reasons, but the text isn't there, and I have a very vivid (and 
sometimes wrong) imagination.

Eliot

--------------080908090309060401020701
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    <font face="Times">For this section I would like to understand the
      logic of using polling rather than a client blocking.Â  I could
      imagine several legitimate reasons, but the text isn't there, and
      I have a very vivid (and sometimes wrong) imagination.<br>
      <br>
      Eliot<br>
    </font>
  </body>
</html>

--------------080908090309060401020701--

From uidude@google.com  Mon Apr 19 07:24:26 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2F90A28C209 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 07:24:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.857
X-Spam-Level: 
X-Spam-Status: No, score=-101.857 tagged_above=-999 required=5 tests=[AWL=0.119, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oNtRVdwwD3U6 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 07:24:25 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 71F9528C135 for <oauth@ietf.org>; Mon, 19 Apr 2010 07:17:14 -0700 (PDT)
Received: from wpaz29.hot.corp.google.com (wpaz29.hot.corp.google.com [172.24.198.93]) by smtp-out.google.com with ESMTP id o3JEGv18028917 for <oauth@ietf.org>; Mon, 19 Apr 2010 16:16:58 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271686618; bh=vWbi3MSk3wVisJWt9CHiFCaJxQ4=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=CyERinZJodsui0qwHdpI0VAfLQMJ7vGoF1WewzA3mljssFZRd1+MPOuKpmClXjQeF vxLpKpYKSsKL1//r6IpQw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=ckU109qbsOfqn6n0UfvDqEZju9XH+NBpfbsaQqkCmzXqjGjNbni2MsUq6/6h+HnWJ GCmK6jVR4p2dNc0ymcRyw==
Received: from qyk38 (qyk38.prod.google.com [10.241.83.166]) by wpaz29.hot.corp.google.com with ESMTP id o3JEGn47005443 for <oauth@ietf.org>; Mon, 19 Apr 2010 07:16:56 -0700
Received: by qyk38 with SMTP id 38so1520311qyk.5 for <oauth@ietf.org>; Mon, 19 Apr 2010 07:16:56 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.16.148 with HTTP; Mon, 19 Apr 2010 07:16:36 -0700 (PDT)
In-Reply-To: <4776FFF7-45E6-4945-9548-382A9DB84A95@gmail.com>
References: <1E39CE38-763E-4E3D-96D4-DC757BD53B9D@gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E30A379E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4776FFF7-45E6-4945-9548-382A9DB84A95@gmail.com>
From: Evan Gilbert <uidude@google.com>
Date: Mon, 19 Apr 2010 07:16:36 -0700
Received: by 10.229.181.139 with SMTP id by11mr1502704qcb.1.1271686616240;  Mon, 19 Apr 2010 07:16:56 -0700 (PDT)
Message-ID: <y2rc8689b661004190716qde78f2d7l1d65f2e2e1973a0c@mail.gmail.com>
To: Dick Hardt <dick.hardt@gmail.com>
Content-Type: multipart/alternative; boundary=0016364ec8a806d33b0484979d74
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: state in web server flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 14:24:26 -0000

--0016364ec8a806d33b0484979d74
Content-Type: text/plain; charset=ISO-8859-1

On Sun, Apr 18, 2010 at 10:36 PM, Dick Hardt <dick.hardt@gmail.com> wrote:

>
> On 2010-04-18, at 10:28 PM, Eran Hammer-Lahav wrote:
>
> >
> >
> >> -----Original Message-----
> >> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> >> Of Dick Hardt
> >> Sent: Sunday, April 18, 2010 9:20 PM
> >> To: OAuth WG
> >> Subject: [OAUTH-WG] Issue: state in web server flow
> >>
> >> Why was the state parameter removed from the web server flow?
> >
> > I didn't want to both define a state parameter *and* allow for any other
> client-specific parameters in redirection URIs. Because people made the
> point that *any* client-specific parameters are required, I proposed to drop
> the state parameter. After all, servers MUST send back whatever URI they
> receive regardless of it being encoded into a state parameter.
> >
> >> Some AS may require the entire redirect URI to be registered, so the
> state
> >> parameter allows a client to maintain state across calls.
> >
> > I agree that this is useful, but it only makes the spec better if we make
> its use more restrictive. Defining it makes it easier for servers to
> validate the redirection URI, but only if the client is not allowed using
> other client-specific query parameters with it.
>
> Agreed
>
> >
> > If people feel strongly about putting it back, I suggest we only allow it
> with callbacks without any query component as that is the only combination
> it adds value.
>
> Agreed
>

Just to verify what is being proposed... is it:

- We will allow callback URIs with query parameters, and
- We will allow client state, but
- We won't allow a callback with client state to a URI with query parameters


> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--0016364ec8a806d33b0484979d74
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Sun, Apr 18, 2010 at 10:36 PM, Dick H=
ardt <span dir=3D"ltr">&lt;<a href=3D"mailto:dick.hardt@gmail.com">dick.har=
dt@gmail.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" sty=
le=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class=3D"im"><br>
On 2010-04-18, at 10:28 PM, Eran Hammer-Lahav wrote:<br>
<br>
&gt;<br>
&gt;<br>
&gt;&gt; -----Original Message-----<br>
&gt;&gt; From: <a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@ietf=
.org</a> [mailto:<a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@ie=
tf.org</a>] On Behalf<br>
&gt;&gt; Of Dick Hardt<br>
&gt;&gt; Sent: Sunday, April 18, 2010 9:20 PM<br>
&gt;&gt; To: OAuth WG<br>
&gt;&gt; Subject: [OAUTH-WG] Issue: state in web server flow<br>
&gt;&gt;<br>
&gt;&gt; Why was the state parameter removed from the web server flow?<br>
&gt;<br>
&gt; I didn&#39;t want to both define a state parameter *and* allow for any=
 other client-specific parameters in redirection URIs. Because people made =
the point that *any* client-specific parameters are required, I proposed to=
 drop the state parameter. After all, servers MUST send back whatever URI t=
hey receive regardless of it being encoded into a state parameter.<br>


&gt;<br>
&gt;&gt; Some AS may require the entire redirect URI to be registered, so t=
he state<br>
&gt;&gt; parameter allows a client to maintain state across calls.<br>
&gt;<br>
&gt; I agree that this is useful, but it only makes the spec better if we m=
ake its use more restrictive. Defining it makes it easier for servers to va=
lidate the redirection URI, but only if the client is not allowed using oth=
er client-specific query parameters with it.<br>


<br>
</div>Agreed<br>
<div class=3D"im"><br>
&gt;<br>
&gt; If people feel strongly about putting it back, I suggest we only allow=
 it with callbacks without any query component as that is the only combinat=
ion it adds value.<br>
<br>
</div>Agreed<br></blockquote><div><br></div><div>Just to verify what is bei=
ng proposed... is it:</div><div><br></div><div>- We will allow callback URI=
s with query parameters, and</div><div>- We will allow client state, but</d=
iv>

<div>- We won&#39;t allow a callback with client state to a URI with query =
parameters</div><div><br></div><blockquote class=3D"gmail_quote" style=3D"m=
argin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class=3D"h5"><br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br>

--0016364ec8a806d33b0484979d74--

From uidude@google.com  Mon Apr 19 07:37:47 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9030228C1C7 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 07:37:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.865
X-Spam-Level: 
X-Spam-Status: No, score=-101.865 tagged_above=-999 required=5 tests=[AWL=0.111, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZzqexIgMf+Nd for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 07:37:46 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id A219228C1D1 for <oauth@ietf.org>; Mon, 19 Apr 2010 07:29:31 -0700 (PDT)
Received: from wpaz1.hot.corp.google.com (wpaz1.hot.corp.google.com [172.24.198.65]) by smtp-out.google.com with ESMTP id o3JETLVZ018242 for <oauth@ietf.org>; Mon, 19 Apr 2010 16:29:21 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271687362; bh=Fl71tS3/ZsO2iwx//wFNdsmFTZk=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=pSO8IdE4mLbER1+sB5qp8xkS4J5L6VuOCaZZwiG7+nKnHRipnDyfYuec9JTkDz+lP ncpdukegpboOGOHnXUQYA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=Sq79y6PXI83ZojMidtBwFuaMxQXKlOxhwj8/fQbvotd3mutvZ1dDzYrubs3Qy7Uzd 1U9vwTlFRRH/gKMrTPBpQ==
Received: from ywh34 (ywh34.prod.google.com [10.192.8.34]) by wpaz1.hot.corp.google.com with ESMTP id o3JETKqc018422 for <oauth@ietf.org>; Mon, 19 Apr 2010 07:29:20 -0700
Received: by ywh34 with SMTP id 34so2665583ywh.17 for <oauth@ietf.org>; Mon, 19 Apr 2010 07:29:20 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.16.148 with HTTP; Mon, 19 Apr 2010 07:28:58 -0700 (PDT)
In-Reply-To: <046B4F5D-A58E-4D78-AA01-A85BFB76C6EA@gmail.com>
References: <14411661-A227-4DCA-86B3-A9C5FB8055D7@gmail.com>  <z2m74caaad21004182104g3c6d08b1m6aa7c815bce7d558@mail.gmail.com>  <046B4F5D-A58E-4D78-AA01-A85BFB76C6EA@gmail.com>
From: Evan Gilbert <uidude@google.com>
Date: Mon, 19 Apr 2010 07:28:58 -0700
Received: by 10.229.225.73 with SMTP id ir9mr5335240qcb.22.1271687360164; Mon,  19 Apr 2010 07:29:20 -0700 (PDT)
Message-ID: <l2kc8689b661004190728l44977e21m82e5cc579031fa00@mail.gmail.com>
To: Dick Hardt <dick.hardt@gmail.com>
Content-Type: multipart/alternative; boundary=0016364d2e335e3303048497c946
X-System-Of-Record: true
Cc: Marius Scurtescu <marius.scurtescu@gmail.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 14:37:47 -0000

--0016364d2e335e3303048497c946
Content-Type: text/plain; charset=ISO-8859-1

I have a preference to *not* have the "oauth_" prefix on parameters when
redirecting back, but could be convinced.

The argument about collisions makes sense, but I think there are no known
conflicts and you can always add a redirection layer if a conflict arises in
the future and a web serving framework is unwilling to change.

(I've become less of a fan of namespacing over the years - my default has
switched to waiting until there is a known conflict to solve)

Evan

On Sun, Apr 18, 2010 at 9:10 PM, Dick Hardt <dick.hardt@gmail.com> wrote:

>
> On 2010-04-18, at 9:04 PM, Marius Scurtescu wrote:
>
> > On Sun, Apr 18, 2010 at 5:46 PM, Dick Hardt <dick.hardt@gmail.com>
> wrote:
> >> Since calls to the token endpoint use POST, there can not be any
> confusion
> >> between the parameters in the body of the message and URI query
> parameters
> >
> > Unfortunately in the Java world there is confusion between POST and
> > GET parameters. The servlet specification mixes parameters from both
> > sources and makes them available as one map.
>
> Perhaps you should use a real web language like Perl? :)
>
> Since the user user is not present in calls to the token endpoint, I don't
> see the same requirements for adding URI query parameters, but point taken.
>
> -- Dick
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--0016364d2e335e3303048497c946
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I have a preference to *not* have the &quot;oauth_&quot; prefix on paramete=
rs when redirecting back, but could be convinced.<div><div><br></div><div>T=
he argument about collisions makes sense, but I think there are no known co=
nflicts and you can always add a redirection layer if a conflict arises in =
the future and a web serving framework is unwilling to change.</div>

<div><br></div><div>(I&#39;ve become less of a fan of namespacing over the =
years - my default has switched to waiting until there is a known conflict =
to solve)</div><div><br></div><div>Evan</div><div><div><br><div class=3D"gm=
ail_quote">

On Sun, Apr 18, 2010 at 9:10 PM, Dick Hardt <span dir=3D"ltr">&lt;<a href=
=3D"mailto:dick.hardt@gmail.com">dick.hardt@gmail.com</a>&gt;</span> wrote:=
<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-lef=
t:1px #ccc solid;padding-left:1ex;">

<div class=3D"im"><br>
On 2010-04-18, at 9:04 PM, Marius Scurtescu wrote:<br>
<br>
&gt; On Sun, Apr 18, 2010 at 5:46 PM, Dick Hardt &lt;<a href=3D"mailto:dick=
.hardt@gmail.com">dick.hardt@gmail.com</a>&gt; wrote:<br>
&gt;&gt; Since calls to the token endpoint use POST, there can not be any c=
onfusion<br>
&gt;&gt; between the parameters in the body of the message and URI query pa=
rameters<br>
&gt;<br>
&gt; Unfortunately in the Java world there is confusion between POST and<br=
>
&gt; GET parameters. The servlet specification mixes parameters from both<b=
r>
&gt; sources and makes them available as one map.<br>
<br>
</div>Perhaps you should use a real web language like Perl? :)<br>
<br>
Since the user user is not present in calls to the token endpoint, I don&#3=
9;t see the same requirements for adding URI query parameters, but point ta=
ken.<br>
<font color=3D"#888888"><br>
-- Dick<br>
</font><div><div></div><div class=3D"h5"><br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br></div></div></div>

--0016364d2e335e3303048497c946--

From blowmage@gmail.com  Mon Apr 19 08:05:38 2010
Return-Path: <blowmage@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 971C128C1B0 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 08:05:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VBmina1ZbN1f for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 08:05:37 -0700 (PDT)
Received: from mail-pz0-f195.google.com (mail-pz0-f195.google.com [209.85.222.195]) by core3.amsl.com (Postfix) with ESMTP id 25BAB3A6BFA for <oauth@ietf.org>; Mon, 19 Apr 2010 07:57:28 -0700 (PDT)
Received: by pzk33 with SMTP id 33so3338443pzk.17 for <oauth@ietf.org>; Mon, 19 Apr 2010 07:57:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=c94agvC4EhDmEKuIO2P50oy5UI29Z/k4zDViNTwlskE=; b=mQ/KpNmuwvrU9lc8F8wf47KKdQj3k74jd5tqzSUlBO/1IED3qDF9OYKAb7vXe0kTee 5lPSrKnWXP/x2zNNMPWCaQD8igUv4ytmopLo6gEOny7q4er3EMl2NpwgA8jOlpaN+ZTK hpDorPPrQHnclQcm5Z1GCDN5XB8nzEAcuZc/0=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=Si8u7CyvwJoX2amHDITcltZdMm81CaI/eQe3Smbo7ChwsDE0/wLnaKnbdAChsmtNjC ofHBRtaqxoA/3epU9I4RfGKXcxy5oT5YQfVNwsghkcHsYsf0/KRG8ZEjGG1z2ikIPJPZ BaYXqsMIlfM97lqQvSkHrYC4DqXsb3BAikUhE=
MIME-Version: 1.0
Received: by 10.231.192.138 with HTTP; Mon, 19 Apr 2010 07:57:16 -0700 (PDT)
In-Reply-To: <20100419134825.134951nuzvi35hk4@webmail.df.eu>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu>
Date: Mon, 19 Apr 2010 08:57:16 -0600
Received: by 10.140.83.37 with SMTP id g37mr4295213rvb.222.1271689037149; Mon,  19 Apr 2010 07:57:17 -0700 (PDT)
Message-ID: <h2yf5bedd151004190757q27927b65na3e5c5744a53526a@mail.gmail.com>
From: Mike Moore <blowmage@gmail.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Content-Type: multipart/alternative; boundary=000e0cd23c2a52f9d90484982d82
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 15:05:38 -0000

--000e0cd23c2a52f9d90484982d82
Content-Type: text/plain; charset=ISO-8859-1

On Mon, Apr 19, 2010 at 5:48 AM, Torsten Lodderstedt <
torsten@lodderstedt.net> wrote:

>
>  We can also offer both and define a client request parameter (as long as
>> the server is required to make at least one format available).
>>
>
> +1 on this
>

-1  on this. As a client I don't want to have to support both form encoding
and json. Just make a single good decision and stick to it, please.

--000e0cd23c2a52f9d90484982d82
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div class=3D"gmail_quote">On Mon, Apr 19, 2010 at 5:48 AM, Torsten Lodders=
tedt <span dir=3D"ltr">&lt;<a href=3D"mailto:torsten@lodderstedt.net">torst=
en@lodderstedt.net</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quot=
e" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"=
>
<div class=3D"im"><br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
We can also offer both and define a client request parameter (as long as th=
e server is required to make at least one format available).<br>
</blockquote>
<br></div>
+1 on this<br></blockquote><div><br></div><div><span class=3D"Apple-style-s=
pan" style=3D"font-family: arial, sans-serif; font-size: 13px; border-colla=
pse: collapse; ">-1 =A0on this. As a client I don&#39;t want to have to sup=
port both form encoding and json. Just make a single good decision and stic=
k to it, please.</span></div>
</div>

--000e0cd23c2a52f9d90484982d82--

From jricher@mitre.org  Mon Apr 19 08:28:45 2010
Return-Path: <jricher@mitre.org>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8118428C258 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 08:28:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.999
X-Spam-Level: 
X-Spam-Status: No, score=-3.999 tagged_above=-999 required=5 tests=[BAYES_50=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JXs8i4sPy0Cq for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 08:28:44 -0700 (PDT)
Received: from smtp-bedford.mitre.org (smtp-bedford.mitre.org [129.83.20.191]) by core3.amsl.com (Postfix) with ESMTP id BD94428C25B for <oauth@ietf.org>; Mon, 19 Apr 2010 08:14:56 -0700 (PDT)
Received: from smtp-bedford.mitre.org (localhost.localdomain [127.0.0.1]) by smtp-bedford.mitre.org (8.13.1/8.13.1) with ESMTP id o3JFEl5s007490 for <oauth@ietf.org>; Mon, 19 Apr 2010 11:14:47 -0400
Received: from imchub2.MITRE.ORG (imchub2.mitre.org [129.83.29.74]) by smtp-bedford.mitre.org (8.13.1/8.13.1) with ESMTP id o3JFElib007475;  Mon, 19 Apr 2010 11:14:47 -0400
Received: from [129.83.50.65] (129.83.50.65) by imchub2.MITRE.ORG (129.83.29.74) with Microsoft SMTP Server id 8.2.213.0; Mon, 19 Apr 2010 11:14:47 -0400
From: Justin Richer <jricher@mitre.org>
To: Eran Hammer-Lahav <eran@hueniverse.com>
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E30A37A3@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <s2m74caaad21004161758scdd1ab27t486ef22b8f12911d@mail.gmail.com> <C7EE5805.3244E%eran@hueniverse.com> <2513A610118CC14C8E622C376C8DEC93D54D66DD94@SC-MBXC1.TheFacebook.com> <o2s74caaad21004181338kbc3e0f29m5c77fb3ddfa55d56@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A37A3@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Content-Type: text/plain; charset="UTF-8"
Date: Mon, 19 Apr 2010 11:14:46 -0400
Message-ID: <1271690086.12101.38.camel@localhost.localdomain>
MIME-Version: 1.0
X-Mailer: Evolution 2.28.1 
Content-Transfer-Encoding: 7bit
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 15:28:45 -0000

> > Also, when implementing OAuth 2.0 people will take into account existing
> > parameters and will avoid them, they will chose other parameter names (if
> > possible). If the next version of OAuth, let's call it 2.1, adds a few new
> > parameters, how can we chose them so they don't collide with extra
> > parameters used by 2.0 implementations?
> 
> By defining an extension policy. Anything that is not in the core spec is an extension.

OAuth extensions are well and good, but there are cases (that Marius has
outlined, and I agree with) where the underlying system will simply add
more stuff to the pack of URL parameters. For two concrete examples,
let's talk MediaWiki and Elgg. To get a plugin to define an endpoint in
MediaWiki, you can define a Special page. This gets handled by the
redirect engine, and you end up with title=Special:OAuthEndpoint or
something as a parameter. This setup allows the extension of the URL
space by a plugin alone without mucking with the HTTP server
configuration. Elgg's system is similar, with a pageview handler turning
pg/oauth/requesttoken into something else on the inside. 

I don't think we can make the assumption that OAuth endpoints will be
single-purpose and pristine in the wild. There are too many frameworks
that behave similarly, especially in Apache/PHP land. I think we need to
assume that OAuth endpoints *will* have extra parameters, that these
parameters are out of our control, and that we should take reasonable
steps to namespace the OAuth parameters out of other peoples' way. Query
parameter URLs don't have their own namespacing schemes that we can use
to get stuff out of the way, so we need to use our own, like OpenID's
"openid." prefixing. It's pretentious to think that a framework will
change their API just to support OAuth. It's much more likely that a
framework will say that OAuth isn't compatible with them, and therefore
just not ever support it. If we want to facilitate adoption, we need to
keep in mind that OAuth is the outsider to most systems. 

I'm still not seeing the reasons for dropping the prefix in the first
place. I don't buy the argument that it's really a space saving device
by not defining the prefix. Were we hitting against size limits so
tightly that dropping a few characters per request is a big deal? I
agree that it's convenient to not have all of those extra characters,
but at the same time it immediately tells you which parts of the
protocol stack belong to core OAuth and which don't. 

Along those lines, I do think that an extension policy is needed as
well, since we'll end up with people adding their own oauth_ stuff and
pushing that part of the conflict problem there, as Eran said. I still
contend, though, that since OAuth is designed to work with other APIs
and within other frameworks, this is not the only collision space we
need to worry about.

 -- Justin


From eran@hueniverse.com  Mon Apr 19 08:29:05 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B1DB428C357 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 08:29:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.456
X-Spam-Level: 
X-Spam-Status: No, score=-2.456 tagged_above=-999 required=5 tests=[AWL=0.142,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 74kidvN2prlb for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 08:28:54 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id CED0728C25E for <oauth@ietf.org>; Mon, 19 Apr 2010 08:15:04 -0700 (PDT)
Received: (qmail 6346 invoked from network); 19 Apr 2010 15:14:55 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 15:14:55 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Mon, 19 Apr 2010 08:14:52 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Anthony Nadalin <tonynad@microsoft.com>
Date: Mon, 19 Apr 2010 08:14:47 -0700
Thread-Topic: [OAUTH-WG] Issue: Scope parameter
Thread-Index: AQHK312FMBgur3PwikSIGJol7SZm4JIpr+gAgAAIvoCAAAnGAP///IIwgAAdlVA=
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F020@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7ECB1F7.32357%eran@hueniverse.com> <h2l987bab591004181812ve43197f9la55f59b753bd2959@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A3794@P3PW5EX1MB01.EX1.SECURESERVER.NET> <B9DB81DC-2B8F-4FFF-9FF1-78DB334DF101@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A37A0@P3PW5EX1MB01.EX1.SECURESERVER.NET> <A08279DC79B11C48AD587060CD93977125F0AAB4@TK5EX14MBXC103.redmond.corp.microsoft.com>
In-Reply-To: <A08279DC79B11C48AD587060CD93977125F0AAB4@TK5EX14MBXC103.redmond.corp.microsoft.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F020P3PW5EX1MB01E_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 15:29:05 -0000

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F020P3PW5EX1MB01E_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Where does it say you cannot add a parameter named scope? To suggest that y=
ou can't use the specification because it doesn't define a placeholder for =
something called 'scope' is ridiculous.

Simpler client interface is a valid argument, but so is striving for actual=
 interop. Almost every single company is going to add a custom parameter to=
 their implementation. Are you suggesting that if we define 'scope' we will=
 significantly reduce the need to define *any* vendor-specific parameters? =
Because if not, libraries will still need to pass custom parameters as key-=
value pairs in their interface.

So far no one has made an argument why this parameter *has* to be defined a=
s a server-specific value! What breaks if we define it as a comma-separated=
 list of URIs or realms (the server will need to use realm values it can di=
stinguish from resource URIs in case it uses URIs for realm values, which i=
s trivial to do)? Please explain to me how this proposal doesn't work for y=
ou.

When the group discussed signatures you demanded we start with use cases. S=
o let's do that now. How do people plan to use this parameter? What are you=
 going to include as scope? What's the internal encoding/structure you are =
going to use?

The burden is on *you* to explain why a parameter in an interop specificati=
on MUST be left vendor specific, or why we can't figure it out *now*.

EHL



From: Anthony Nadalin [mailto:tonynad@microsoft.com]
Sent: Monday, April 19, 2010 5:53 AM
To: Eran Hammer-Lahav; Dick Hardt
Cc: OAuth WG
Subject: RE: [OAUTH-WG] Issue: Scope parameter

> I'm strongly opposed to writing a spec that must be profiled in order to =
be implemented and the proposed definition of the scope parameter mandates =
profiling the spec.

I'm strongly opposed to having a specification that can't be used because i=
t's so restrictive

From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
ran Hammer-Lahav
Sent: Sunday, April 18, 2010 11:03 PM
To: Dick Hardt
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Issue: Scope parameter

I'm strongly opposed to writing a spec that must be profiled in order to be=
 implemented and the proposed definition of the scope parameter mandates pr=
ofiling the spec.

If it has a structure - what is it? If it is an opaque string, where does t=
he client get it from? You cannot have interop if the protocol requires rea=
ding paperwork. There is a difference between reusing code (which is what y=
our argument is about) than interop.

The fact it is easier to pass a named parameter than a list of key-value pa=
irs is just not a good enough reason. I can live with a parameter with an o=
paque value, but it needs to be better defined than 'scope'.

I have seen services with both scope and permission parameters. What's the =
guidance to these services? Drop permissions and encode it into the scope? =
Define it as server-specific? Toss a coin? How about also putting the desir=
ed username into scope instead of another parameter?

How about we add 'custom1', 'custom2', and 'custom3' parameters to make it =
easier for servers to use generic libraries with their own extensions? I'm =
sure we can find a few more generally useful words to throw in there.

---

Interop is accomplished when a standard authentication protocol is used tog=
ether with a standard API protocol. For example, Portable Contacts uses OAu=
th with a standard API and schema to achieve transparent interop. Clients d=
on't need to know anything specific about the server to request an address =
book record if they know where the Poco endpoint is, and can speak OAuth to=
 get permission to private data.

If we define a scope parameter, Poco will stop working unless Poco defines =
how to use the scope parameter when asking for a token capable of accessing=
 Poco resources. But it cannot do it without breaking existing services wit=
h their completely incompatible definition and format for scope.

On the other hand, if we defined a basic way to use scope, Poco will be abl=
e to use that in a consistent way across services and work in the same auto=
magical way.

I am not arguing against having a scope parameter. I think we should and ha=
ve enough implementation experience to do it now (we didn't 3 years ago). I=
 am arguing that the current proposal is ignoring the responsibility we hav=
e to improve interop. If people want scope they need to do a better job def=
ining what it is.

>From anything I heard so far on this list, a comma-separated list of URIs o=
r realms would work.

---

My service requires:

Resources - list of resource URIs or realms
Permission - read / change / add / delete
Duration - access token lifetime

Reading the definition of the scope parameter I don't know how to map my re=
quirements to it. Am I expected to invent an encoding scheme to get all thi=
s information into the scope parameter? It seem that *every* server develop=
er will need to invent such a scheme.

Using your exact argument, I can also request that we add a 'permission' an=
d 'duration' parameters, equally undefined, because it is easier for my dev=
elopers to have the library pass these.

EHL



From: Dick Hardt [mailto:dick.hardt@gmail.com]
Sent: Sunday, April 18, 2010 10:28 PM
To: Eran Hammer-Lahav
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Issue: Scope parameter



On 2010-04-18, at 9:56 PM, Eran Hammer-Lahav wrote:

The client_id parameter is not expected to have an internal structure known=
 to clients.

The client developer needs to understand it.

The likelihood of a client library treating this value as anything other th=
an an opaque string is practically zero. client_id is well defined, especia=
lly when it comes to how clients are expected to interact with it. I have n=
ot seen a single implementation or requirement to put client-aware meaning =
into the client_id parameter value. It is an opaque, server-issued string.


What about the format parameter that specifies that assertion?



The proposed scope parameter is expected to always have an internal structu=
re and clients are expected to read some documentation explaining how to us=
e it. The likelihood of a client library to implement one such structure ba=
sed on the first service it is used for is not insignificant. And once one =
popular service use it in one way, others are likely to do the same to make=
 their developers life easier. So why leave this up to the first popular se=
rvice to decide.

This does not make sense. Services are already defining scope parameters, l=
ibraries are adding them in.
The client library should treat the scope parameter as a string just like a=
ll the other strings that are passed around. Given that a number of popular=
 services have a scope like parameter now, I don't know of a situation wher=
e a library developer has done what you fear.


Libraries are expected to pass up and down *any* parameter, regardless of i=
ts status as a core protocol parameter or not. A library that doesn't is br=
oken. If they do that, defining a scope parameter adds absolutely nothing. =
For example, we can add a language parameter which will be used by the clie=
nt to request a specific UI language experience but leave the value to be s=
erver specific. Clearly this is useless without defining how the parameter =
shall be used. From an interop and spec perspective, how is scope different=
?

It is much simpler for the library to have an interface where you specify s=
pecific values than hand in an arbitrary set of name value pairs.


The current proposal is to pick an ambiguous term and add it as a parameter=
 with no clear meaning, purpose, or structure. I don't know what scope mean=
s.
Does it include permissions? The desired access lifetime? The ability to sh=
are the tokens with other providers? Different HTTP methods? All the exampl=
es I have seen treat it as a list of resources either directly (list of URI=
s) or indirectly (list of sets or service types).

It could be any of those things. The scope of access that the client is ask=
ing for.


How about we also add a 'redelegation', 'duration', 'permission', 'methods'=
, and a few more and leave them all server specific? According to the propo=
sal logic, why not?

Those would all be included under scope.

Many implementors are saying they want the scope parameter. Are there imple=
mentors / deployers that don't want it?  You seem to have a strong opinion =
on this point that is based on a potential interop fear you have that is co=
ntrary to many implementors.

-- Dick

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F020P3PW5EX1MB01E_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><meta http-equiv=3DContent-Type content=
=3D"text/html; charset=3Dus-ascii"><meta name=3DGenerator content=3D"Micros=
oft Word 14 (filtered medium)"><base href=3D"x-msg://20/"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";
	font-family:"Tahoma","sans-serif";}
span.apple-style-span
	{mso-style-name:apple-style-span;}
span.EmailStyle20
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle21
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle22
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue vli=
nk=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span style=3D'f=
ont-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Where doe=
s it say you cannot add a parameter named scope? To suggest that you can&#8=
217;t use the specification because it doesn&#8217;t define a placeholder f=
or something called &#8216;scope&#8217; is ridiculous.<o:p></o:p></span></p=
><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri"=
,"sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNorm=
al><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color=
:#1F497D'>Simpler client interface is a valid argument, but so is striving =
for actual interop. Almost every single company is going to add a custom pa=
rameter to their implementation. Are you suggesting that if we define &#821=
6;scope&#8217; we will significantly reduce the need to define *<b>any</b>*=
 vendor-specific parameters? Because if not, libraries will still need to p=
ass custom parameters as key-value pairs in their interface.<o:p></o:p></sp=
an></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DM=
soNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"=
;color:#1F497D'>So far no one has made an argument why this parameter *<b>h=
as</b>* to be defined as a server-specific value! What breaks if we define =
it as a comma-separated list of URIs or realms (the server will need to use=
 realm values it can distinguish from resource URIs in case it uses URIs fo=
r realm values, which is trivial to do)? Please explain to me how this prop=
osal doesn&#8217;t work for you.<o:p></o:p></span></p><p class=3DMsoNormal>=
<span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1=
F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font=
-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>When the gro=
up discussed signatures you demanded we start with use cases. So let&#8217;=
s do that now. How do people plan to use this parameter? What are you going=
 to include as scope? What&#8217;s the internal encoding/structure you are =
going to use?<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font=
-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;<=
/o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-f=
amily:"Calibri","sans-serif";color:#1F497D'>The burden is on *<b>you</b>* t=
o explain why a parameter in an interop specification MUST be left vendor s=
pecific, or why we can&#8217;t figure it out *<b>now</b>*.<o:p></o:p></span=
></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Cali=
bri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMso=
Normal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";c=
olor:#1F497D'>EHL<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'=
font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nb=
sp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;fo=
nt-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p=
><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri"=
,"sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div style=3D'bord=
er:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div s=
tyle=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0i=
n'><p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tah=
oma","sans-serif"'>From:</span></b><span style=3D'font-size:10.0pt;font-fam=
ily:"Tahoma","sans-serif"'> Anthony Nadalin [mailto:tonynad@microsoft.com] =
<br><b>Sent:</b> Monday, April 19, 2010 5:53 AM<br><b>To:</b> Eran Hammer-L=
ahav; Dick Hardt<br><b>Cc:</b> OAuth WG<br><b>Subject:</b> RE: [OAUTH-WG] I=
ssue: Scope parameter<o:p></o:p></span></p></div></div><p class=3DMsoNormal=
><o:p>&nbsp;</o:p></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;=
font-family:"Calibri","sans-serif";color:#1F497D'>&gt; I&#8217;m strongly o=
pposed to writing a spec that must be profiled in order to be implemented a=
nd the proposed definition of the scope parameter mandates profiling the sp=
ec.<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0=
pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></spa=
n></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Cal=
ibri","sans-serif";color:#1F497D'>I&#8217;m strongly opposed to having a sp=
ecification that can&#8217;t be used because it&#8217;s so restrictive<o:p>=
</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-=
family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><d=
iv><div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0=
in 0in 0in'><p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-fa=
mily:"Tahoma","sans-serif"'>From:</span></b><span style=3D'font-size:10.0pt=
;font-family:"Tahoma","sans-serif"'> oauth-bounces@ietf.org [mailto:oauth-b=
ounces@ietf.org] <b>On Behalf Of </b>Eran Hammer-Lahav<br><b>Sent:</b> Sund=
ay, April 18, 2010 11:03 PM<br><b>To:</b> Dick Hardt<br><b>Cc:</b> OAuth WG=
<br><b>Subject:</b> Re: [OAUTH-WG] Issue: Scope parameter<o:p></o:p></span>=
</p></div></div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNor=
mal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";colo=
r:#1F497D'>I&#8217;m strongly opposed to writing a spec that must be profil=
ed in order to be implemented and the proposed definition of the scope para=
meter mandates profiling the spec.<o:p></o:p></span></p><p class=3DMsoNorma=
l><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:=
#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'fo=
nt-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>If it has =
a structure &#8211; what is it? If it is an opaque string, where does the c=
lient get it from? You cannot have interop if the protocol requires reading=
 paperwork. There is a difference between reusing code (which is what your =
argument is about) than interop.<o:p></o:p></span></p><p class=3DMsoNormal>=
<span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1=
F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font=
-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>The fact it =
is easier to pass a named parameter than a list of key-value pairs is just =
not a good enough reason. I can live with a parameter with an opaque value,=
 but it needs to be better defined than &#8216;scope&#8217;.<o:p></o:p></sp=
an></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Ca=
libri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DM=
soNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"=
;color:#1F497D'>I have seen services with both scope and permission paramet=
ers. What&#8217;s the guidance to these services? Drop permissions and enco=
de it into the scope? Define it as server-specific? Toss a coin? How about =
also putting the desired username into scope instead of another parameter?<=
o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;f=
ont-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></=
p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri=
","sans-serif";color:#1F497D'>How about we add &#8216;custom1&#8217;, &#821=
6;custom2&#8217;, and &#8216;custom3&#8217; parameters to make it easier fo=
r servers to use generic libraries with their own extensions? I&#8217;m sur=
e we can find a few more generally useful words to throw in there.<o:p></o:=
p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-fami=
ly:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p cla=
ss=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-=
serif";color:#1F497D'>---<o:p></o:p></span></p><p class=3DMsoNormal><span s=
tyle=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>=
<o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:1=
1.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Interop is accompli=
shed when a standard authentication protocol is used together with a standa=
rd API protocol. For example, Portable Contacts uses OAuth with a standard =
API and schema to achieve transparent interop. Clients don&#8217;t need to =
know anything specific about the server to request an address book record i=
f they know where the Poco endpoint is, and can speak OAuth to get permissi=
on to private data.<o:p></o:p></span></p><p class=3DMsoNormal><span style=
=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p=
>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0p=
t;font-family:"Calibri","sans-serif";color:#1F497D'>If we define a scope pa=
rameter, Poco will stop working unless Poco defines how to use the scope pa=
rameter when asking for a token capable of accessing Poco resources. But it=
 cannot do it without breaking existing services with their completely inco=
mpatible definition and format for scope.<o:p></o:p></span></p><p class=3DM=
soNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"=
;color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span styl=
e=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>On =
the other hand, if we defined a basic way to use scope, Poco will be able t=
o use that in a consistent way across services and work in the same automag=
ical way.<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-siz=
e:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p=
></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-famil=
y:"Calibri","sans-serif";color:#1F497D'>I am not arguing against having a s=
cope parameter. I think we should and have enough implementation experience=
 to do it now (we didn&#8217;t 3 years ago). I am arguing that the current =
proposal is ignoring the responsibility we have to improve interop. If peop=
le want scope they need to do a better job defining what it is.<o:p></o:p><=
/span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:=
"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=
=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-se=
rif";color:#1F497D'>From anything I heard so far on this list, a comma-sepa=
rated list of URIs or realms would work.<o:p></o:p></span></p><p class=3DMs=
oNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";=
color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=
=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>---<=
o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;f=
ont-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></=
p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri=
","sans-serif";color:#1F497D'>My service requires:<o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sa=
ns-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><=
span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F=
497D'>Resources &#8211; list of resource URIs or realms<o:p></o:p></span></=
p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri=
","sans-serif";color:#1F497D'>Permission &#8211; read / change / add / dele=
te<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0p=
t;font-family:"Calibri","sans-serif";color:#1F497D'>Duration &#8211; access=
 token lifetime<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'fo=
nt-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp=
;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font=
-family:"Calibri","sans-serif";color:#1F497D'>Reading the definition of the=
 scope parameter I don&#8217;t know how to map my requirements to it. Am I =
expected to invent an encoding scheme to get all this information into the =
scope parameter? It seem that *<b>every</b>* server developer will need to =
invent such a scheme.<o:p></o:p></span></p><p class=3DMsoNormal><span style=
=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p=
>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0p=
t;font-family:"Calibri","sans-serif";color:#1F497D'>Using your exact argume=
nt, I can also request that we add a &#8216;permission&#8217; and &#8216;du=
ration&#8217; parameters, equally undefined, because it is easier for my de=
velopers to have the library pass these.<o:p></o:p></span></p><p class=3DMs=
oNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";=
color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=
=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>EHL<=
o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;f=
ont-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></=
p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri=
","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNor=
mal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";colo=
r:#1F497D'><o:p>&nbsp;</o:p></span></p><div style=3D'border:none;border-lef=
t:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div style=3D'border:non=
e;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=3DMsoN=
ormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'=
>From:</span></b><span style=3D'font-size:10.0pt;font-family:"Tahoma","sans=
-serif"'> Dick Hardt [mailto:dick.hardt@gmail.com] <br><b>Sent:</b> Sunday,=
 April 18, 2010 10:28 PM<br><b>To:</b> Eran Hammer-Lahav<br><b>Cc:</b> OAut=
h WG<br><b>Subject:</b> Re: [OAUTH-WG] Issue: Scope parameter<o:p></o:p></s=
pan></p></div></div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><div><p class=
=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal><o:p>&nbs=
p;</o:p></p><div><div><p class=3DMsoNormal>On 2010-04-18, at 9:56 PM, Eran =
Hammer-Lahav wrote:<o:p></o:p></p></div><p class=3DMsoNormal style=3D'margi=
n-bottom:12.0pt'><o:p>&nbsp;</o:p></p><div><div><div><p class=3DMsoNormal><=
span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F=
497D'>The client_id parameter is not expected to have an internal structure=
 known to clients. </span><o:p></o:p></p></div></div></div><div><p class=3D=
MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>The client d=
eveloper needs to understand it.<o:p></o:p></p></div><p class=3DMsoNormal s=
tyle=3D'margin-bottom:12.0pt'><o:p>&nbsp;</o:p></p><div><div><div><p class=
=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-se=
rif";color:#1F497D'>The likelihood of a client library treating this value =
as anything other than an opaque string is practically zero. client_id is w=
ell defined, especially when it comes to how clients are expected to intera=
ct with it. I have not seen a single implementation or requirement to put c=
lient-aware meaning into the client_id parameter value. It is an opaque, se=
rver-issued string.</span><o:p></o:p></p></div></div></div><div><p class=3D=
MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal><o:p>&nbsp;<=
/o:p></p></div><div><p class=3DMsoNormal>What about the format parameter th=
at specifies that assertion?<o:p></o:p></p></div><div><p class=3DMsoNormal>=
<o:p>&nbsp;</o:p></p></div><p class=3DMsoNormal style=3D'margin-bottom:12.0=
pt'><o:p>&nbsp;</o:p></p><div><div><div><p class=3DMsoNormal><span style=3D=
'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>&nbsp;<=
/span><o:p></o:p></p></div><div><p class=3DMsoNormal><span style=3D'font-si=
ze:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>The proposed sc=
ope parameter is expected to always have an internal structure and clients =
are expected to read some documentation explaining how to use it. The likel=
ihood of a client library to implement one such structure based on the firs=
t service it is used for is not insignificant. And once one popular service=
 use it in one way, others are likely to do the same to make their develope=
rs life easier. So why leave this up to the first popular service to decide=
.</span><o:p></o:p></p></div></div></div><div><p class=3DMsoNormal><o:p>&nb=
sp;</o:p></p></div><div><p class=3DMsoNormal>This does not make sense. Serv=
ices are already defining scope parameters, libraries are adding them in.<o=
:p></o:p></p></div><div><p class=3DMsoNormal>The client library should trea=
t the scope parameter as a string just like all the other strings that are =
passed around. Given that a number of popular services have a scope like pa=
rameter now, I don't know of a situation where a library developer has done=
 what you fear.<o:p></o:p></p></div><p class=3DMsoNormal style=3D'margin-bo=
ttom:12.0pt'><o:p>&nbsp;</o:p></p><div><div><div><p class=3DMsoNormal><span=
 style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D=
'>&nbsp;</span><o:p></o:p></p></div><div><p class=3DMsoNormal><span style=
=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Libr=
aries are expected to pass up and down *<b>any</b>* parameter, regardless o=
f its status as a core protocol parameter or not. A library that doesn&#821=
7;t is broken. If they do that, defining a scope parameter adds absolutely =
nothing. For example, we can add a language parameter which will be used by=
 the client to request a specific UI language experience but leave the valu=
e to be server specific. Clearly this is useless without defining how the p=
arameter shall be used. From an interop and spec perspective, how is scope =
different?</span><o:p></o:p></p></div></div></div><div><p class=3DMsoNormal=
><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>It is much simpler fo=
r the library to have an interface where you specify specific values than h=
and in an arbitrary set of name value pairs.<o:p></o:p></p></div><p class=
=3DMsoNormal style=3D'margin-bottom:12.0pt'><o:p>&nbsp;</o:p></p><div><div>=
<div><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Cali=
bri","sans-serif";color:#1F497D'>&nbsp;</span><o:p></o:p></p></div><div><p =
class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sa=
ns-serif";color:#1F497D'>The current proposal is to pick an ambiguous term =
and add it as a parameter with no clear meaning, purpose, or structure. I d=
on&#8217;t know what scope means.</span><o:p></o:p></p></div></div></div><b=
lockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt'><div><div><div><p =
class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sa=
ns-serif";color:#1F497D'>Does it include permissions? The desired access li=
fetime? The ability to share the tokens with other providers? Different HTT=
P methods? All the examples I have seen treat it as a list of resources eit=
her directly (list of URIs) or indirectly (list of sets or service types).<=
/span><o:p></o:p></p></div></div></div></blockquote><div><p class=3DMsoNorm=
al><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>It could be any of =
those things. The scope of access that the client is asking for.<o:p></o:p>=
</p></div><p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><o:p>&nbsp;</=
o:p></p><div><div><div><p class=3DMsoNormal><span style=3D'font-size:11.0pt=
;font-family:"Calibri","sans-serif";color:#1F497D'>&nbsp;</span><o:p></o:p>=
</p></div><div><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-fa=
mily:"Calibri","sans-serif";color:#1F497D'>How about we also add a &#8216;r=
edelegation&#8217;, &#8216;duration&#8217;, &#8216;permission&#8217;, &#821=
6;methods&#8217;, and a few more and leave them all server specific? Accord=
ing to the proposal logic, why not?</span><o:p></o:p></p></div></div></div>=
<div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNor=
mal>Those would all be included under scope.<o:p></o:p></p></div><div><p cl=
ass=3DMsoNormal><o:p>&nbsp;</o:p></p></div></div><p class=3DMsoNormal>Many =
implementors are saying they want the scope parameter. Are there implemento=
rs / deployers that don't want it? &nbsp;You seem to have a strong opinion =
on this point that is based on a potential interop fear you have that is co=
ntrary to many implementors.<o:p></o:p></p></div><div><p class=3DMsoNormal>=
<o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>-- Dick<o:p></o:p></p>=
</div></div></div></div></body></html>=

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F020P3PW5EX1MB01E_--

From eran@hueniverse.com  Mon Apr 19 08:48:21 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id EA1563A6B1D for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 08:48:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.458
X-Spam-Level: 
X-Spam-Status: No, score=-2.458 tagged_above=-999 required=5 tests=[AWL=0.141,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ReSPYSnDEzjP for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 08:48:21 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 8ADFD3A6B2C for <oauth@ietf.org>; Mon, 19 Apr 2010 08:25:31 -0700 (PDT)
Received: (qmail 21573 invoked from network); 19 Apr 2010 15:25:23 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 15:25:23 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Mon, 19 Apr 2010 08:25:22 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Mike Moore <blowmage@gmail.com>, Torsten Lodderstedt <torsten@lodderstedt.net>
Date: Mon, 19 Apr 2010 08:25:20 -0700
Thread-Topic: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
Thread-Index: Acrf0wtSAVzNCeOfRVqnAmNUd9Ip6AAAXo4w
Message-ID: <C7F1C3F0.327E6%eran@hueniverse.com>
In-Reply-To: <h2yf5bedd151004190757q27927b65na3e5c5744a53526a@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 15:48:22 -0000

You are missing the point. The server will be required to support one of
these, but allowed to offer more. If your client is limited, just support
the required format. This is good for clients as it guarantees both interop
and flexibility.

The downside, like anything else, is a more complex protocol. BUT, if most
vendors are going to add such alternative formats, we should codify it.

For those who want this, the next step is to suggest language for other
encoding formats just as JSON or XML.

EHL


On 4/19/10 7:57 AM, "Mike Moore" <blowmage@gmail.com> wrote:

> On Mon, Apr 19, 2010 at 5:48 AM, Torsten Lodderstedt <torsten@lodderstedt=
.net>
> wrote:
>>=20
>>> We can also offer both and define a client request parameter (as long a=
s the
>>> server is required to make at least one format available).
>>=20
>> +1 on this
>=20
> -1 =A0on this. As a client I don't want to have to support both form enco=
ding
> and json. Just make a single good decision and stick to it, please.
>=20


From uidude@google.com  Mon Apr 19 08:53:58 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C062728C290 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 08:53:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.872
X-Spam-Level: 
X-Spam-Status: No, score=-101.872 tagged_above=-999 required=5 tests=[AWL=0.104, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7HUzACRIfjXF for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 08:53:58 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 2E62D28C216 for <oauth@ietf.org>; Mon, 19 Apr 2010 08:34:28 -0700 (PDT)
Received: from wpaz29.hot.corp.google.com (wpaz29.hot.corp.google.com [172.24.198.93]) by smtp-out.google.com with ESMTP id o3JFYIPj017311 for <oauth@ietf.org>; Mon, 19 Apr 2010 17:34:18 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271691258; bh=PdUxA9LCAh4vZd1arSpNHgKLEhE=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=kY+GGvfQJcjVw2DEGGPiZUUgnT/ZjGfrv/WUsAfEXwdkiq3LvAVpaMVISf74XAfUk Z9y4sirVqwVp1IuOmSa6A==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=rIppFmNQIZsemF4a8ba7wQT/UM0Js45BvTvLdPqdOcObgv5eP6wAqg/G9VNXam0Pd pnfvafr4seSBK5ri6/pmA==
Received: from qyk32 (qyk32.prod.google.com [10.241.83.160]) by wpaz29.hot.corp.google.com with ESMTP id o3JFYG3h007157 for <oauth@ietf.org>; Mon, 19 Apr 2010 08:34:17 -0700
Received: by qyk32 with SMTP id 32so4725025qyk.12 for <oauth@ietf.org>; Mon, 19 Apr 2010 08:34:16 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.16.148 with HTTP; Mon, 19 Apr 2010 08:33:56 -0700 (PDT)
In-Reply-To: <C7ECAF46.3234F%eran@hueniverse.com>
References: <AcrczUP0fQn1S3ZSlkCeyUAs62ovDQ==> <C7ECAF46.3234F%eran@hueniverse.com>
From: Evan Gilbert <uidude@google.com>
Date: Mon, 19 Apr 2010 08:33:56 -0700
Received: by 10.229.193.18 with SMTP id ds18mr207036qcb.14.1271691256547; Mon,  19 Apr 2010 08:34:16 -0700 (PDT)
Message-ID: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=0016362845f49ca553048498b159
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 15:53:58 -0000

--0016362845f49ca553048498b159
Content-Type: text/plain; charset=ISO-8859-1

More details on this enhancement.

Goal: Make sure you get an access token for the right user in immediate
mode.

Use case where we have problems if we don't have username parameter:

   1. Bob is logged into a web site as bob@IDP.com.
   2. Mary (his wife) is logged into IDP on the same computer as
   mary@IDP.com
   3. A request is made to get an access token via the User-Agent flow in
   immediate mode (or with any redirect without prompting the user)
   4. -ob now has an access token for Mary and (posts activities, schedules
   events, gets contacts) as Mary
   5. Hilarity ensues


Secondary goal: Provide a hint for non-immediate mode

On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

> Evan Gilbert proposed a 'username' request parameter to allow the client to
> limit the end user to authenticate using the provided authorization server
> identifier. The proposal has not been discussed or supported by others, and
> has not received a security review.
>
> Proposal: Obtain further discussion and support from others, as well as a
> security review of the proposal. Otherwise, do nothing.
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--0016362845f49ca553048498b159
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

More details on this enhancement.<div><br><div><div><div><div><div>Goal: Ma=
ke sure you get an access token for the right user in immediate mode.</div>=
<div><br></div><div>Use case where we have problems if we don&#39;t have us=
ername parameter:</div>

<div><ol><li>Bob is logged into a web site as bob@IDP.com.</li><li>Mary (hi=
s wife) is logged into IDP on the same computer as mary@IDP.com</li><li>A r=
equest is made to get an access token via the User-Agent flow in immediate =
mode (or with any redirect without prompting the user)</li>

<li>-ob now has an access token for Mary and (posts activities, schedules e=
vents, gets contacts) as Mary</li><li>Hilarity ensues</li></ol></div><div><=
br></div><div>Secondary goal: Provide a hint for non-immediate mode</div>

<br><div class=3D"gmail_quote">On Thu, Apr 15, 2010 at 11:55 AM, Eran Hamme=
r-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com">eran@h=
ueniverse.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" st=
yle=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Evan Gilbert proposed a &#39;username&#39; request parameter to allow the c=
lient to<br>
limit the end user to authenticate using the provided authorization server<=
br>
identifier. The proposal has not been discussed or supported by others, and=
<br>
has not received a security review.<br>
<br>
Proposal: Obtain further discussion and support from others, as well as a<b=
r>
security review of the proposal. Otherwise, do nothing.<br>
<br>
EHL<br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</blockquote></div><br></div></div></div></div></div>

--0016362845f49ca553048498b159--

From beaton@google.com  Mon Apr 19 08:57:42 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C0E4F28C3A1 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 08:57:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.977
X-Spam-Level: 
X-Spam-Status: No, score=-101.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2FLRGv3nZ-lu for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 08:57:42 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id ACC8728C21D for <oauth@ietf.org>; Mon, 19 Apr 2010 08:37:04 -0700 (PDT)
Received: from kpbe13.cbf.corp.google.com (kpbe13.cbf.corp.google.com [172.25.105.77]) by smtp-out.google.com with ESMTP id o3JFaseu024715 for <oauth@ietf.org>; Mon, 19 Apr 2010 17:36:55 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271691415; bh=grOpdGECTFajdIdQV/lAaieDqwc=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=lfZOAaTrnJJiE6iNXQEls5KTCLyU/8Psoslse4jdF7TC4TS/osBB/rX9oHuxzHudy 6fUH4ArBH0NgitXFG2EfA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=D6aFb/J/YPMGnnf5+h0XNtQt1LdmiG0YKtUYw0NE42Sbg8OLjRYHT97TW+BFW8CnJ ZFCK1ZnS9cTX42mfy8jvg==
Received: from vws11 (vws11.prod.google.com [10.241.21.139]) by kpbe13.cbf.corp.google.com with ESMTP id o3JFa7OO014170 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:36:52 -0500
Received: by vws11 with SMTP id 11so2274995vws.17 for <oauth@ietf.org>; Mon, 19 Apr 2010 08:36:51 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.109.99 with HTTP; Mon, 19 Apr 2010 08:36:50 -0700 (PDT)
In-Reply-To: <65D588CD-A374-4F6B-8749-199C5DF83300@gmail.com>
References: <2997F829-4755-44A8-ADD5-643BCE25AA61@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379C@P3PW5EX1MB01.EX1.SECURESERVER.NET> <65D588CD-A374-4F6B-8749-199C5DF83300@gmail.com>
Date: Mon, 19 Apr 2010 08:36:50 -0700
Received: by 10.220.126.201 with SMTP id d9mr3707415vcs.106.1271691411578;  Mon, 19 Apr 2010 08:36:51 -0700 (PDT)
Message-ID: <x2kdaf5b9571004190836l2595e181obdb977045e11c49e@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Dick Hardt <dick.hardt@gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Clarification: authorization server matching of redirect URI
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 15:57:42 -0000

On Sun, Apr 18, 2010 at 10:35 PM, Dick Hardt <dick.hardt@gmail.com> wrote:
> The spec should describe how the redirect URI is verified to what is registered. I can enumerate the options for discussion adding in the state parameter as an option.

Note that there are two spots where the AS does some URI matching.

The first is before redirecting the user to the callback URI.  This
seems doomed to being service provider specific, unfortunately.

The second is when exchanging the verification code for the refresh
token and access token.  This can always be a string equality match.

Cheers,
Brian

From eran@hueniverse.com  Mon Apr 19 08:57:54 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id EC90428C21C for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 08:57:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.459
X-Spam-Level: 
X-Spam-Status: No, score=-2.459 tagged_above=-999 required=5 tests=[AWL=0.139,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rQ-ZaDPKXV5B for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 08:57:53 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id A341C28C3CF for <oauth@ietf.org>; Mon, 19 Apr 2010 08:37:13 -0700 (PDT)
Received: (qmail 29982 invoked from network); 19 Apr 2010 15:37:04 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 15:37:03 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Mon, 19 Apr 2010 08:37:02 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Evan Gilbert <uidude@google.com>
Date: Mon, 19 Apr 2010 08:37:00 -0700
Thread-Topic: [OAUTH-WG] Issue: 'username' parameter proposal
Thread-Index: Acrf1d5NfzupURqzRs6GwsB64Z1n0wAAEh5A
Message-ID: <C7F1C6AC.327EE%eran@hueniverse.com>
In-Reply-To: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7F1C6AC327EEeranhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 15:57:55 -0000

--_000_C7F1C6AC327EEeranhueniversecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

How can they both be logged in? I have never seen a case where two users ca=
n be both logged into to the same service at the same time...

EHL


On 4/19/10 8:33 AM, "Evan Gilbert" <uidude@google.com> wrote:

More details on this enhancement.

Goal: Make sure you get an access token for the right user in immediate mod=
e.

Use case where we have problems if we don't have username parameter:

 1.  Bob is logged into a web site as bob@IDP.com.
 2.  Mary (his wife) is logged into IDP on the same computer as mary@IDP.co=
m
 3.  A request is made to get an access token via the User-Agent flow in im=
mediate mode (or with any redirect without prompting the user)
 4.  -ob now has an access token for Mary and (posts activities, schedules =
events, gets contacts) as Mary
 5.  Hilarity ensues

Secondary goal: Provide a hint for non-immediate mode

On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav <eran@hueniverse.com> w=
rote:
Evan Gilbert proposed a 'username' request parameter to allow the client to
limit the end user to authenticate using the provided authorization server
identifier. The proposal has not been discussed or supported by others, and
has not received a security review.

Proposal: Obtain further discussion and support from others, as well as a
security review of the proposal. Otherwise, do nothing.

EHL

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth



--_000_C7F1C6AC327EEeranhueniversecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Issue: 'username' parameter proposal</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:=
11pt'>How can they both be logged in? I have never seen a case where two us=
ers can be both logged into to the same service at the same time...<BR>
<BR>
EHL<BR>
<BR>
<BR>
On 4/19/10 8:33 AM, &quot;Evan Gilbert&quot; &lt;<a href=3D"uidude@google.c=
om">uidude@google.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>More details on this enhancement.<BR>
<BR>
Goal: Make sure you get an access token for the right user in immediate mod=
e.<BR>
<BR>
Use case where we have problems if we don't have username parameter:<BR>
</SPAN></FONT><OL><LI><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SP=
AN STYLE=3D'font-size:11pt'>Bob is logged into a web site as <a href=3D"bob=
@IDP.com">bob@IDP.com</a>.
</SPAN></FONT><LI><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN S=
TYLE=3D'font-size:11pt'>Mary (his wife) is logged into IDP on the same comp=
uter as <a href=3D"mary@IDP.com">mary@IDP.com</a>
</SPAN></FONT><LI><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN S=
TYLE=3D'font-size:11pt'>A request is made to get an access token via the Us=
er-Agent flow in immediate mode (or with any redirect without prompting the=
 user)=20
</SPAN></FONT><LI><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN S=
TYLE=3D'font-size:11pt'>-ob now has an access token for Mary and (posts act=
ivities, schedules events, gets contacts) as Mary
</SPAN></FONT><LI><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN S=
TYLE=3D'font-size:11pt'>Hilarity ensues<BR>
</SPAN></FONT></OL><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN =
STYLE=3D'font-size:11pt'><BR>
Secondary goal: Provide a hint for non-immediate mode<BR>
<BR>
On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav &lt;<a href=3D"eran@hue=
niverse.com">eran@hueniverse.com</a>&gt; wrote:<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>Evan Gilbert proposed a 'username' request =
parameter to allow the client to<BR>
limit the end user to authenticate using the provided authorization server<=
BR>
identifier. The proposal has not been discussed or supported by others, and=
<BR>
has not received a security review.<BR>
<BR>
Proposal: Obtain further discussion and support from others, as well as a<B=
R>
security review of the proposal. Otherwise, do nothing.<BR>
<BR>
EHL<BR>
<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial=
"><SPAN STYLE=3D'font-size:11pt'><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7F1C6AC327EEeranhueniversecom_--

From eran@hueniverse.com  Mon Apr 19 08:59:25 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 5C89328C2A0 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 08:59:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.461
X-Spam-Level: 
X-Spam-Status: No, score=-2.461 tagged_above=-999 required=5 tests=[AWL=0.138,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3gz70I5I2XEm for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 08:59:24 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 665633A6AE6 for <oauth@ietf.org>; Mon, 19 Apr 2010 08:39:50 -0700 (PDT)
Received: (qmail 31897 invoked from network); 19 Apr 2010 15:39:42 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 15:39:42 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Mon, 19 Apr 2010 08:39:38 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Brian Eaton <beaton@google.com>, Dick Hardt <dick.hardt@gmail.com>
Date: Mon, 19 Apr 2010 08:39:42 -0700
Thread-Topic: [OAUTH-WG] Clarification: authorization server matching of redirect URI
Thread-Index: Acrf1jdEVM0J3wFWTM2QR1T3y5SNogAACMSQ
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F059@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <2997F829-4755-44A8-ADD5-643BCE25AA61@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379C@P3PW5EX1MB01.EX1.SECURESERVER.NET> <65D588CD-A374-4F6B-8749-199C5DF83300@gmail.com> <x2kdaf5b9571004190836l2595e181obdb977045e11c49e@mail.gmail.com>
In-Reply-To: <x2kdaf5b9571004190836l2595e181obdb977045e11c49e@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Clarification: authorization server matching of redirect URI
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 15:59:25 -0000

> -----Original Message-----
> From: Brian Eaton [mailto:beaton@google.com]
> Sent: Monday, April 19, 2010 8:37 AM
> To: Dick Hardt
> Cc: Eran Hammer-Lahav; OAuth WG
> Subject: Re: [OAUTH-WG] Clarification: authorization server matching of
> redirect URI
>=20
> On Sun, Apr 18, 2010 at 10:35 PM, Dick Hardt <dick.hardt@gmail.com> wrote=
:
> > The spec should describe how the redirect URI is verified to what is
> registered. I can enumerate the options for discussion adding in the stat=
e
> parameter as an option.
>=20
> Note that there are two spots where the AS does some URI matching.
>=20
> The first is before redirecting the user to the callback URI.  This seems
> doomed to being service provider specific, unfortunately.

I agree. If someone wants to suggest some security consideration text that =
would be good.

> The second is when exchanging the verification code for the refresh token
> and access token.  This can always be a string equality match.

It should be a case-sensitive string comparison with the value provided by =
the client in the first step.

EHL

From uidude@google.com  Mon Apr 19 09:11:09 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0C2813A6851 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 09:11:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.685
X-Spam-Level: 
X-Spam-Status: No, score=-105.685 tagged_above=-999 required=5 tests=[AWL=0.291, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id asGQp9oYLXaX for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 09:11:06 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 6BADF28C265 for <oauth@ietf.org>; Mon, 19 Apr 2010 08:51:47 -0700 (PDT)
Received: from hpaq7.eem.corp.google.com (hpaq7.eem.corp.google.com [10.3.21.7]) by smtp-out.google.com with ESMTP id o3JFpYjt012583 for <oauth@ietf.org>; Mon, 19 Apr 2010 08:51:34 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271692295; bh=TWUAHrtXln48RmfHMXCdBLIPp0E=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=fe7JNPpfKohzZmsFItmF4pS57PJqUmxaVZXAZvgHVXAwmBOpUhT4DQyojzd7RZ6/L O0MBD9wKj5XQsBlGjrSNQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=Azaix7r1s8wvU0zZQPnD6uG6+1EIgtQ2zThKQtEz0NWydjKsP+G/thISme7n9lmgR PiexZe2oyriMkvQ82djQg==
Received: from yxe11 (yxe11.prod.google.com [10.190.2.11]) by hpaq7.eem.corp.google.com with ESMTP id o3JFpWoa022122 for <oauth@ietf.org>; Mon, 19 Apr 2010 17:51:32 +0200
Received: by yxe11 with SMTP id 11so2755077yxe.10 for <oauth@ietf.org>; Mon, 19 Apr 2010 08:51:32 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.16.148 with HTTP; Mon, 19 Apr 2010 08:51:09 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F020@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7ECB1F7.32357%eran@hueniverse.com> <h2l987bab591004181812ve43197f9la55f59b753bd2959@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A3794@P3PW5EX1MB01.EX1.SECURESERVER.NET> <B9DB81DC-2B8F-4FFF-9FF1-78DB334DF101@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A37A0@P3PW5EX1MB01.EX1.SECURESERVER.NET> <A08279DC79B11C48AD587060CD93977125F0AAB4@TK5EX14MBXC103.redmond.corp.microsoft.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F020@P3PW5EX1MB01.EX1.SECURESERVER.NET>
From: Evan Gilbert <uidude@google.com>
Date: Mon, 19 Apr 2010 08:51:09 -0700
Received: by 10.229.224.133 with SMTP id io5mr3860224qcb.37.1271692291977;  Mon, 19 Apr 2010 08:51:31 -0700 (PDT)
Message-ID: <j2lc8689b661004190851l80009045oc4024ac7a66c4250@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=0016363b851053c066048498ef71
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 16:11:09 -0000

--0016363b851053c066048498ef71
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

On Mon, Apr 19, 2010 at 8:14 AM, Eran Hammer-Lahav <eran@hueniverse.com>wro=
te:

> Where does it say you cannot add a parameter named scope? To suggest that
> you can=92t use the specification because it doesn=92t define a placehold=
er for
> something called =91scope=92 is ridiculous.
>
>
>
> Simpler client interface is a valid argument, but so is striving for actu=
al
> interop. Almost every single company is going to add a custom parameter t=
o
> their implementation. Are you suggesting that if we define =91scope=92 we=
 will
> significantly reduce the need to define **any** vendor-specific
> parameters? Because if not, libraries will still need to pass custom
> parameters as key-value pairs in their interface.
>
>
>
> So far no one has made an argument why this parameter **has** to be
> defined as a server-specific value! What breaks if we define it as a
> comma-separated list of URIs or realms (the server will need to use realm
> values it can distinguish from resource URIs in case it uses URIs for rea=
lm
> values, which is trivial to do)? Please explain to me how this proposal
> doesn=92t work for you.
>
>
>
> When the group discussed signatures you demanded we start with use cases.
> So let=92s do that now. How do people plan to use this parameter? What ar=
e you
> going to include as scope? What=92s the internal encoding/structure you a=
re
> going to use?
>
>
>
> The burden is on **you** to explain why a parameter in an interop
> specification MUST be left vendor specific, or why we can=92t figure it o=
ut *
> *now**.
>
We all want to move towards a common syntax for scopes, but I don't think w=
e
will be able to generalize this on day one.

Even if we agreed on a common syntax we all are aiming for, we would need t=
o
support existing vendor scopes until we get there. Google today uses a list
of URLs for scope definition, and we want OAuth to support this even if we
decide to move towards something better.

Standardizing only on a parameter name may seem to be low-value, but it bot=
h
provides some consistency and also a clear placeholder for where to put a
parameter to ask for access to a specific resource / set of scopes.

Think that people feel strongly about keeping this in because the spec feel=
s
incomplete if it doesn't have some way to ask for specific resources - I'd
much rather have custom parameter values than custom parameter names.


>
>
> EHL
>
>
>
>
>
>
>
> *From:* Anthony Nadalin [mailto:tonynad@microsoft.com]
> *Sent:* Monday, April 19, 2010 5:53 AM
> *To:* Eran Hammer-Lahav; Dick Hardt
> *Cc:* OAuth WG
> *Subject:* RE: [OAUTH-WG] Issue: Scope parameter
>
>
>
> > I=92m strongly opposed to writing a spec that must be profiled in order=
 to
> be implemented and the proposed definition of the scope parameter mandate=
s
> profiling the spec.
>
>
>
> I=92m strongly opposed to having a specification that can=92t be used bec=
ause
> it=92s so restrictive
>
>
>
> *From:* oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] *On Behalf
> Of *Eran Hammer-Lahav
> *Sent:* Sunday, April 18, 2010 11:03 PM
> *To:* Dick Hardt
> *Cc:* OAuth WG
> *Subject:* Re: [OAUTH-WG] Issue: Scope parameter
>
>
>
> I=92m strongly opposed to writing a spec that must be profiled in order t=
o be
> implemented and the proposed definition of the scope parameter mandates
> profiling the spec.
>
>
>
> If it has a structure =96 what is it? If it is an opaque string, where do=
es
> the client get it from? You cannot have interop if the protocol requires
> reading paperwork. There is a difference between reusing code (which is w=
hat
> your argument is about) than interop.
>
>
>
> The fact it is easier to pass a named parameter than a list of key-value
> pairs is just not a good enough reason. I can live with a parameter with =
an
> opaque value, but it needs to be better defined than =91scope=92.
>
>
>
> I have seen services with both scope and permission parameters. What=92s =
the
> guidance to these services? Drop permissions and encode it into the scope=
?
> Define it as server-specific? Toss a coin? How about also putting the
> desired username into scope instead of another parameter?
>
>
>
> How about we add =91custom1=92, =91custom2=92, and =91custom3=92 paramete=
rs to make it
> easier for servers to use generic libraries with their own extensions? I=
=92m
> sure we can find a few more generally useful words to throw in there.
>
>
>
> ---
>
>
>
> Interop is accomplished when a standard authentication protocol is used
> together with a standard API protocol. For example, Portable Contacts use=
s
> OAuth with a standard API and schema to achieve transparent interop. Clie=
nts
> don=92t need to know anything specific about the server to request an add=
ress
> book record if they know where the Poco endpoint is, and can speak OAuth =
to
> get permission to private data.
>
>
>
> If we define a scope parameter, Poco will stop working unless Poco define=
s
> how to use the scope parameter when asking for a token capable of accessi=
ng
> Poco resources. But it cannot do it without breaking existing services wi=
th
> their completely incompatible definition and format for scope.
>
>
>
> On the other hand, if we defined a basic way to use scope, Poco will be
> able to use that in a consistent way across services and work in the same
> automagical way.
>
>
>
> I am not arguing against having a scope parameter. I think we should and
> have enough implementation experience to do it now (we didn=92t 3 years a=
go).
> I am arguing that the current proposal is ignoring the responsibility we
> have to improve interop. If people want scope they need to do a better jo=
b
> defining what it is.
>
>
>
> From anything I heard so far on this list, a comma-separated list of URIs
> or realms would work.
>
>
>
> ---
>
>
>
> My service requires:
>
>
>
> Resources =96 list of resource URIs or realms
>
> Permission =96 read / change / add / delete
>
> Duration =96 access token lifetime
>
>
>
> Reading the definition of the scope parameter I don=92t know how to map m=
y
> requirements to it. Am I expected to invent an encoding scheme to get all
> this information into the scope parameter? It seem that **every** server
> developer will need to invent such a scheme.
>
>
>
> Using your exact argument, I can also request that we add a =91permission=
=92
> and =91duration=92 parameters, equally undefined, because it is easier fo=
r my
> developers to have the library pass these.
>
>
>
> EHL
>
>
>
>
>
>
>
> *From:* Dick Hardt [mailto:dick.hardt@gmail.com]
> *Sent:* Sunday, April 18, 2010 10:28 PM
> *To:* Eran Hammer-Lahav
> *Cc:* OAuth WG
> *Subject:* Re: [OAUTH-WG] Issue: Scope parameter
>
>
>
>
>
>
>
> On 2010-04-18, at 9:56 PM, Eran Hammer-Lahav wrote:
>
>
>
> The client_id parameter is not expected to have an internal structure kno=
wn
> to clients.
>
>
>
> The client developer needs to understand it.
>
>
>
> The likelihood of a client library treating this value as anything other
> than an opaque string is practically zero. client_id is well defined,
> especially when it comes to how clients are expected to interact with it.=
 I
> have not seen a single implementation or requirement to put client-aware
> meaning into the client_id parameter value. It is an opaque, server-issue=
d
> string.
>
>
>
>
>
> What about the format parameter that specifies that assertion?
>
>
>
>
>
>
>
> The proposed scope parameter is expected to always have an internal
> structure and clients are expected to read some documentation explaining =
how
> to use it. The likelihood of a client library to implement one such
> structure based on the first service it is used for is not insignificant.
> And once one popular service use it in one way, others are likely to do t=
he
> same to make their developers life easier. So why leave this up to the fi=
rst
> popular service to decide.
>
>
>
> This does not make sense. Services are already defining scope parameters,
> libraries are adding them in.
>
> The client library should treat the scope parameter as a string just like
> all the other strings that are passed around. Given that a number of popu=
lar
> services have a scope like parameter now, I don't know of a situation whe=
re
> a library developer has done what you fear.
>
>
>
>
>
> Libraries are expected to pass up and down **any** parameter, regardless
> of its status as a core protocol parameter or not. A library that doesn=
=92t is
> broken. If they do that, defining a scope parameter adds absolutely nothi=
ng.
> For example, we can add a language parameter which will be used by the
> client to request a specific UI language experience but leave the value t=
o
> be server specific. Clearly this is useless without defining how the
> parameter shall be used. From an interop and spec perspective, how is sco=
pe
> different?
>
>
>
> It is much simpler for the library to have an interface where you specify
> specific values than hand in an arbitrary set of name value pairs.
>
>
>
>
>
> The current proposal is to pick an ambiguous term and add it as a paramet=
er
> with no clear meaning, purpose, or structure. I don=92t know what scope m=
eans.
>
> Does it include permissions? The desired access lifetime? The ability to
> share the tokens with other providers? Different HTTP methods? All the
> examples I have seen treat it as a list of resources either directly (lis=
t
> of URIs) or indirectly (list of sets or service types).
>
>
>
> It could be any of those things. The scope of access that the client is
> asking for.
>
>
>
>
>
> How about we also add a =91redelegation=92, =91duration=92, =91permission=
=92,
> =91methods=92, and a few more and leave them all server specific? Accordi=
ng to
> the proposal logic, why not?
>
>
>
> Those would all be included under scope.
>
>
>
> Many implementors are saying they want the scope parameter. Are there
> implementors / deployers that don't want it?  You seem to have a strong
> opinion on this point that is based on a potential interop fear you have
> that is contrary to many implementors.
>
>
>
> -- Dick
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

--0016363b851053c066048498ef71
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

<div><br><div><br><div class=3D"gmail_quote">On Mon, Apr 19, 2010 at 8:14 A=
M, Eran Hammer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@huenivers=
e.com">eran@hueniverse.com</a>&gt;</span> wrote:<br><blockquote class=3D"gm=
ail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-le=
ft:1ex;">

<div lang=3D"EN-US" link=3D"blue" vlink=3D"purple"><div><p class=3D"MsoNorm=
al"><span style=3D"font-size:11.0pt;color:#1F497D">Where does it say you ca=
nnot add a parameter named scope? To suggest that you can=92t use the speci=
fication because it doesn=92t define a placeholder for something called =91=
scope=92 is ridiculous.</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">Simpler client interface is a valid argument, but so is striving for ac=
tual interop. Almost every single company is going to add a custom paramete=
r to their implementation. Are you suggesting that if we define =91scope=92=
 we will significantly reduce the need to define *<b>any</b>* vendor-specif=
ic parameters? Because if not, libraries will still need to pass custom par=
ameters as key-value pairs in their interface.</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">So far no one has made an argument why this parameter *<b>has</b>* to b=
e defined as a server-specific value! What breaks if we define it as a comm=
a-separated list of URIs or realms (the server will need to use realm value=
s it can distinguish from resource URIs in case it uses URIs for realm valu=
es, which is trivial to do)? Please explain to me how this proposal doesn=
=92t work for you.</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">When the group discussed signatures you demanded we start with use case=
s. So let=92s do that now. How do people plan to use this parameter? What a=
re you going to include as scope? What=92s the internal encoding/structure =
you are going to use?</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">The burden is on *<b>you</b>* to explain why a parameter in an interop =
specification MUST be left vendor specific, or why we can=92t figure it out=
 *<b>now</b>*.</span></p>

</div></div></blockquote><div>We all want to move towards a common syntax f=
or scopes, but I don&#39;t think we will be able to generalize this on day =
one.</div><div><br></div><div>Even if we agreed on a common syntax we all a=
re aiming for, we would need to support existing vendor scopes until we get=
 there.=A0Google today uses a list of URLs for scope definition, and we wan=
t OAuth to support this even if we decide to move towards something better.=
</div>

<div><br></div><div>Standardizing only on a parameter name may seem to be l=
ow-value, but it both provides some consistency and also a clear placeholde=
r for where to put a parameter to ask for access to a specific resource / s=
et of scopes.</div>

<div><br></div><div>Think that people feel strongly about keeping this in b=
ecause the spec feels incomplete if it doesn&#39;t have some way to ask for=
 specific resources - I&#39;d much rather have custom parameter values than=
 custom parameter names.</div>

<div>=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;=
border-left:1px #ccc solid;padding-left:1ex;"><div lang=3D"EN-US" link=3D"b=
lue" vlink=3D"purple"><div><p class=3D"MsoNormal"><span style=3D"font-size:=
11.0pt;color:#1F497D">=A0</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">EHL</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">=A0</span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;co=
lor:#1F497D">=A0</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><div style=3D"border:none;border-left:solid blue 1.5pt;padding:0in=
 0in 0in 4.0pt"><div><div style=3D"border:none;border-top:solid #B5C4DF 1.0=
pt;padding:3.0pt 0in 0in 0in">

<p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt">From:</span></b>=
<span style=3D"font-size:10.0pt"> Anthony Nadalin [mailto:<a href=3D"mailto=
:tonynad@microsoft.com" target=3D"_blank">tonynad@microsoft.com</a>] <br><b=
>Sent:</b> Monday, April 19, 2010 5:53 AM<br>

<b>To:</b> Eran Hammer-Lahav; Dick Hardt<br><b>Cc:</b> OAuth WG<br><b>Subje=
ct:</b> RE: [OAUTH-WG] Issue: Scope parameter</span></p></div></div><div><d=
iv></div><div class=3D"h5"><p class=3D"MsoNormal">=A0</p><p class=3D"MsoNor=
mal">

<span style=3D"font-size:11.0pt;color:#1F497D">&gt; I=92m strongly opposed =
to writing a spec that must be profiled in order to be implemented and the =
proposed definition of the scope parameter mandates profiling the spec.</sp=
an></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">I=92m strongly opposed to having a specification that can=92t be used b=
ecause it=92s so restrictive</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><div><div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padd=
ing:3.0pt 0in 0in 0in"><p class=3D"MsoNormal"><b><span style=3D"font-size:1=
0.0pt">From:</span></b><span style=3D"font-size:10.0pt"> <a href=3D"mailto:=
oauth-bounces@ietf.org" target=3D"_blank">oauth-bounces@ietf.org</a> [mailt=
o:<a href=3D"mailto:oauth-bounces@ietf.org" target=3D"_blank">oauth-bounces=
@ietf.org</a>] <b>On Behalf Of </b>Eran Hammer-Lahav<br>

<b>Sent:</b> Sunday, April 18, 2010 11:03 PM<br><b>To:</b> Dick Hardt<br><b=
>Cc:</b> OAuth WG<br><b>Subject:</b> Re: [OAUTH-WG] Issue: Scope parameter<=
/span></p></div></div><p class=3D"MsoNormal">=A0</p><p class=3D"MsoNormal">=
<span style=3D"font-size:11.0pt;color:#1F497D">I=92m strongly opposed to wr=
iting a spec that must be profiled in order to be implemented and the propo=
sed definition of the scope parameter mandates profiling the spec.</span></=
p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">If it has a structure =96 what is it? If it is an opaque string, where =
does the client get it from? You cannot have interop if the protocol requir=
es reading paperwork. There is a difference between reusing code (which is =
what your argument is about) than interop.</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">The fact it is easier to pass a named parameter than a list of key-valu=
e pairs is just not a good enough reason. I can live with a parameter with =
an opaque value, but it needs to be better defined than =91scope=92.</span>=
</p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">I have seen services with both scope and permission parameters. What=92=
s the guidance to these services? Drop permissions and encode it into the s=
cope? Define it as server-specific? Toss a coin? How about also putting the=
 desired username into scope instead of another parameter?</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">How about we add =91custom1=92, =91custom2=92, and =91custom3=92 parame=
ters to make it easier for servers to use generic libraries with their own =
extensions? I=92m sure we can find a few more generally useful words to thr=
ow in there.</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">---</span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;co=
lor:#1F497D">=A0</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">Inter=
op is accomplished when a standard authentication protocol is used together=
 with a standard API protocol. For example, Portable Contacts uses OAuth wi=
th a standard API and schema to achieve transparent interop. Clients don=92=
t need to know anything specific about the server to request an address boo=
k record if they know where the Poco endpoint is, and can speak OAuth to ge=
t permission to private data.</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">If we define a scope parameter, Poco will stop working unless Poco defi=
nes how to use the scope parameter when asking for a token capable of acces=
sing Poco resources. But it cannot do it without breaking existing services=
 with their completely incompatible definition and format for scope.</span>=
</p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">On the other hand, if we defined a basic way to use scope, Poco will be=
 able to use that in a consistent way across services and work in the same =
automagical way.</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">I am not arguing against having a scope parameter. I think we should an=
d have enough implementation experience to do it now (we didn=92t 3 years a=
go). I am arguing that the current proposal is ignoring the responsibility =
we have to improve interop. If people want scope they need to do a better j=
ob defining what it is.</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">From anything I heard so far on this list, a comma-separated list of UR=
Is or realms would work.</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">---</span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;co=
lor:#1F497D">=A0</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">My se=
rvice requires:</span></p><p class=3D"MsoNormal"><span style=3D"font-size:1=
1.0pt;color:#1F497D">=A0</span></p><p class=3D"MsoNormal"><span style=3D"fo=
nt-size:11.0pt;color:#1F497D">Resources =96 list of resource URIs or realms=
</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">Permi=
ssion =96 read / change / add / delete</span></p><p class=3D"MsoNormal"><sp=
an style=3D"font-size:11.0pt;color:#1F497D">Duration =96 access token lifet=
ime</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">Reading the definition of the scope parameter I don=92t know how to map=
 my requirements to it. Am I expected to invent an encoding scheme to get a=
ll this information into the scope parameter? It seem that *<b>every</b>* s=
erver developer will need to invent such a scheme.</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">Using your exact argument, I can also request that we add a =91permissi=
on=92 and =91duration=92 parameters, equally undefined, because it is easie=
r for my developers to have the library pass these.</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">EHL</span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;co=
lor:#1F497D">=A0</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">=A0</span></p><div style=3D"border:none;border-left:solid blue 1.5pt;pa=
dding:0in 0in 0in 4.0pt">

<div><div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt=
 0in 0in 0in"><p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt">Fr=
om:</span></b><span style=3D"font-size:10.0pt"> Dick Hardt [mailto:<a href=
=3D"mailto:dick.hardt@gmail.com" target=3D"_blank">dick.hardt@gmail.com</a>=
] <br>

<b>Sent:</b> Sunday, April 18, 2010 10:28 PM<br><b>To:</b> Eran Hammer-Laha=
v<br><b>Cc:</b> OAuth WG<br><b>Subject:</b> Re: [OAUTH-WG] Issue: Scope par=
ameter</span></p></div></div><p class=3D"MsoNormal">=A0</p><div><p class=3D=
"MsoNormal">

=A0</p></div><div><p class=3D"MsoNormal">=A0</p><div><div><p class=3D"MsoNo=
rmal">On 2010-04-18, at 9:56 PM, Eran Hammer-Lahav wrote:</p></div><p class=
=3D"MsoNormal" style=3D"margin-bottom:12.0pt">=A0</p><div><div><div><p clas=
s=3D"MsoNormal">

<span style=3D"font-size:11.0pt;color:#1F497D">The client_id parameter is n=
ot expected to have an internal structure known to clients. </span></p></di=
v></div></div><div><p class=3D"MsoNormal">=A0</p></div><div><p class=3D"Mso=
Normal">

The client developer needs to understand it.</p></div><p class=3D"MsoNormal=
" style=3D"margin-bottom:12.0pt">=A0</p><div><div><div><p class=3D"MsoNorma=
l"><span style=3D"font-size:11.0pt;color:#1F497D">The likelihood of a clien=
t library treating this value as anything other than an opaque string is pr=
actically zero. client_id is well defined, especially when it comes to how =
clients are expected to interact with it. I have not seen a single implemen=
tation or requirement to put client-aware meaning into the client_id parame=
ter value. It is an opaque, server-issued string.</span></p>

</div></div></div><div><p class=3D"MsoNormal">=A0</p></div><div><p class=3D=
"MsoNormal">=A0</p></div><div><p class=3D"MsoNormal">What about the format =
parameter that specifies that assertion?</p></div><div><p class=3D"MsoNorma=
l">=A0</p>

</div><p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt">=A0</p><div><di=
v><div><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D=
">=A0</span></p></div><div><p class=3D"MsoNormal"><span style=3D"font-size:=
11.0pt;color:#1F497D">The proposed scope parameter is expected to always ha=
ve an internal structure and clients are expected to read some documentatio=
n explaining how to use it. The likelihood of a client library to implement=
 one such structure based on the first service it is used for is not insign=
ificant. And once one popular service use it in one way, others are likely =
to do the same to make their developers life easier. So why leave this up t=
o the first popular service to decide.</span></p>

</div></div></div><div><p class=3D"MsoNormal">=A0</p></div><div><p class=3D=
"MsoNormal">This does not make sense. Services are already defining scope p=
arameters, libraries are adding them in.</p></div><div><p class=3D"MsoNorma=
l">
The client library should treat the scope parameter as a string just like a=
ll the other strings that are passed around. Given that a number of popular=
 services have a scope like parameter now, I don&#39;t know of a situation =
where a library developer has done what you fear.</p>

</div><p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt">=A0</p><div><di=
v><div><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D=
">=A0</span></p></div><div><p class=3D"MsoNormal"><span style=3D"font-size:=
11.0pt;color:#1F497D">Libraries are expected to pass up and down *<b>any</b=
>* parameter, regardless of its status as a core protocol parameter or not.=
 A library that doesn=92t is broken. If they do that, defining a scope para=
meter adds absolutely nothing. For example, we can add a language parameter=
 which will be used by the client to request a specific UI language experie=
nce but leave the value to be server specific. Clearly this is useless with=
out defining how the parameter shall be used. From an interop and spec pers=
pective, how is scope different?</span></p>

</div></div></div><div><p class=3D"MsoNormal">=A0</p></div><div><p class=3D=
"MsoNormal">It is much simpler for the library to have an interface where y=
ou specify specific values than hand in an arbitrary set of name value pair=
s.</p>

</div><p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt">=A0</p><div><di=
v><div><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D=
">=A0</span></p></div><div><p class=3D"MsoNormal"><span style=3D"font-size:=
11.0pt;color:#1F497D">The current proposal is to pick an ambiguous term and=
 add it as a parameter with no clear meaning, purpose, or structure. I don=
=92t know what scope means.</span></p>

</div></div></div><blockquote style=3D"margin-top:5.0pt;margin-bottom:5.0pt=
"><div><div><div><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;col=
or:#1F497D">Does it include permissions? The desired access lifetime? The a=
bility to share the tokens with other providers? Different HTTP methods? Al=
l the examples I have seen treat it as a list of resources either directly =
(list of URIs) or indirectly (list of sets or service types).</span></p>

</div></div></div></blockquote><div><p class=3D"MsoNormal">=A0</p></div><di=
v><p class=3D"MsoNormal">It could be any of those things. The scope of acce=
ss that the client is asking for.</p></div><p class=3D"MsoNormal" style=3D"=
margin-bottom:12.0pt">

=A0</p><div><div><div><p class=3D"MsoNormal"><span style=3D"font-size:11.0p=
t;color:#1F497D">=A0</span></p></div><div><p class=3D"MsoNormal"><span styl=
e=3D"font-size:11.0pt;color:#1F497D">How about we also add a =91redelegatio=
n=92, =91duration=92, =91permission=92, =91methods=92, and a few more and l=
eave them all server specific? According to the proposal logic, why not?</s=
pan></p>

</div></div></div><div><p class=3D"MsoNormal">=A0</p></div><div><p class=3D=
"MsoNormal">Those would all be included under scope.</p></div><div><p class=
=3D"MsoNormal">=A0</p></div></div><p class=3D"MsoNormal">Many implementors =
are saying they want the scope parameter. Are there implementors / deployer=
s that don&#39;t want it? =A0You seem to have a strong opinion on this poin=
t that is based on a potential interop fear you have that is contrary to ma=
ny implementors.</p>

</div><div><p class=3D"MsoNormal">=A0</p></div><div><p class=3D"MsoNormal">=
-- Dick</p></div></div></div></div></div></div></div><br>__________________=
_____________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></blockquote></div><br></div></div>

--0016363b851053c066048498ef71--

From jricher@mitre.org  Mon Apr 19 09:14:35 2010
Return-Path: <jricher@mitre.org>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7F82E28C271 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 09:14:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.554
X-Spam-Level: 
X-Spam-Status: No, score=-4.554 tagged_above=-999 required=5 tests=[AWL=0.556,  BAYES_05=-1.11, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LJDEaaWPHJDq for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 09:14:15 -0700 (PDT)
Received: from smtp-bedford.mitre.org (smtp-bedford.mitre.org [129.83.20.191]) by core3.amsl.com (Postfix) with ESMTP id 4A50F28C293 for <oauth@ietf.org>; Mon, 19 Apr 2010 08:54:25 -0700 (PDT)
Received: from smtp-bedford.mitre.org (localhost.localdomain [127.0.0.1]) by smtp-bedford.mitre.org (8.13.1/8.13.1) with ESMTP id o3JFsGjn022596 for <oauth@ietf.org>; Mon, 19 Apr 2010 11:54:16 -0400
Received: from imchub2.MITRE.ORG (imchub2.mitre.org [129.83.29.74]) by smtp-bedford.mitre.org (8.13.1/8.13.1) with ESMTP id o3JFsGVK022590;  Mon, 19 Apr 2010 11:54:16 -0400
Received: from [129.83.50.65] (129.83.50.65) by imchub2.MITRE.ORG (129.83.29.74) with Microsoft SMTP Server id 8.2.213.0; Mon, 19 Apr 2010 11:54:16 -0400
From: Justin Richer <jricher@mitre.org>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
In-Reply-To: <20100419150338.19825npsatjgfesk@webmail.df.eu>
References: <C7ECB1F7.32357%eran@hueniverse.com> <h2l987bab591004181812ve43197f9la55f59b753bd2959@mail.gmail.com> <o2wfd6741651004181838ob1dda59bpf7cb88d3b1892c1d@mail.gmail.com> <1676FB17-48B2-4125-991C-CE996C4DE66B@gmail.com> <g2sfd6741651004181904q2f242fcexf2f7892c9b512068@mail.gmail.com> <z2o74caaad21004182112he72e1a33i4397e2d5333a0c13@mail.gmail.com> <2513A610118CC14C8E622C376C8DEC93D54D66DDF6@SC-MBXC1.TheFacebook.com> <20100419150338.19825npsatjgfesk@webmail.df.eu>
Content-Type: text/plain; charset="UTF-8"
Date: Mon, 19 Apr 2010 11:54:15 -0400
Message-ID: <1271692455.12101.39.camel@localhost.localdomain>
MIME-Version: 1.0
X-Mailer: Evolution 2.28.1 
Content-Transfer-Encoding: 7bit
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 16:14:35 -0000

+1 to the "Device" idea. About a year ago I brought up the idea of
having an instance identifier as an OAuth extension, but that never got
traction and I dropped the thread.

 -- justin

On Mon, 2010-04-19 at 09:03 -0400, Torsten Lodderstedt wrote:
> +1 to #1 (as starting point)
> 
> In my opinion, the WG should try to work towards #2. Would it be  
> possible to first collect what kind of "scope" implementations use  
> today and what ideas exists?
> 
> Based on our experiences with implementing OAuth 1.0a at Deutsche  
> Telekom, I see the following aspects:
> 
> - resource: specification of the protected resource to be accessed. An  
> example could be: "http://www.example.de/photos/" or just "photos".
> 
> This is a more conceptual view that can be understood by users  
> (relevant for user consent), whereas the service id is a more  
> technical view.
> 
> - service id: identifier of a web service exposing certain functions  
> to access/manipulate resources on a particular channel using a  
> particular technology (Rest, SOAP, ...).
> Examples could be: "photos-rest-proxy-iptv", "photos-soap-intf-mobile".
> 
> Different services may need different user data, thus content of  
> self-contained tokens typically varies between service id's.
> 
> - permissions:  permissions on resources or services the client wants  
> to get authorized by the user (comma-separated list of opaque  
> strings). The range of permissions is defined by the resource/service  
> as part of its API design. This could be something like "upload",  
> "download", "sent", or "establish connection".
> 
> - duration: specification of the token duration the client asks for
> 
> - device: the device the OAuth clients resides on. This allows to have  
> different tokens for the same client (application) on different  
> devices and is intended to reduce the impact of token theft. The token  
> is bound to a particular device during user authz flow and usage of  
> the token is restricted to that device only (typically mobile/smart  
> phones, but also set top boxes, tv sets, gaming consoles).
> 
> regards,
> Torsten.
> 
> Zitat von Luke Shepard <lshepard@facebook.com>:
> 
> > David Recordon <recordond@gmail.com> wrote:
> >>> Does anyone have an implementation example where comma separated
> >>> strings wouldn't work for the scope parameter?
> >
> > Marius wrote:
> >> Yes, Google currently is using a space separated list of URIs.
> >> Why does the format matter?
> >
> > I agree. Facebook uses comma-separate strings, Google uses  
> > space-separated URLs- why is this a problem?
> >
> > It seems we have three options:
> >
> > 1/ We leave the scope parameter as an Auth Server-specific, opaque parameter.
> > 2/ We all agree on a format and spec for the scope parameter.
> > 3/ We drop the scope parameter and make each server define their  
> > own, non-standard scope param.
> >
> > I think David proposed #2 as a way to address concerns on this list  
> > that #1 would be a hindrance to interop. But I personally vote for  
> > #1 now - we would add a spec later if it proves to be a problem.
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> >
> 
> 
> 
> 
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth



From blowmage@gmail.com  Mon Apr 19 09:19:45 2010
Return-Path: <blowmage@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A5BE428C377 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 09:19:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id j3KiwzBgY6A3 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 09:19:44 -0700 (PDT)
Received: from mail-iw0-f191.google.com (mail-iw0-f191.google.com [209.85.223.191]) by core3.amsl.com (Postfix) with ESMTP id 0E7933A6B66 for <oauth@ietf.org>; Mon, 19 Apr 2010 08:59:15 -0700 (PDT)
Received: by iwn29 with SMTP id 29so3420392iwn.17 for <oauth@ietf.org>; Mon, 19 Apr 2010 08:59:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=w7nlWLBtU9A//7uGMKsrYUMbHuRUjmdELaizLlV95LU=; b=D95eoWQ7t8gXSRjkxYb18SteMLS4c2bxCP69l3Ok1t5WQ7PM8ZSGbiQLIz/moQJM9/ Cc1MsSyTgO22LMljfeJ+zvwE/gNURAG+UeauYOOJ2j9ohpuioVPTA+KYBHiAUNUT4HLc go9NNOiFJpKo9Yi60wcYENVY6MbsqesLKSyyg=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=h7FNg9siBGLrlB3LICi0ZpOIHn0irLlo1y1RIeGovRQFSkyGU58kGZQYN0lXy63PqX 4vQpQjrnD6B3aKZtH3Btnc1MiNNOrF7ZNxwUyKDZae9hg7EOZudzWOufx3+zE0b3Rjrv 5xFJFdLyiJTz7dM2RjSfUyXGlwiYQkcSq5e20=
MIME-Version: 1.0
Received: by 10.231.192.138 with HTTP; Mon, 19 Apr 2010 08:59:03 -0700 (PDT)
In-Reply-To: <C7F1C3F0.327E6%eran@hueniverse.com>
References: <h2yf5bedd151004190757q27927b65na3e5c5744a53526a@mail.gmail.com> <C7F1C3F0.327E6%eran@hueniverse.com>
Date: Mon, 19 Apr 2010 09:59:03 -0600
Received: by 10.231.146.2 with SMTP id f2mr1986388ibv.23.1271692743568; Mon,  19 Apr 2010 08:59:03 -0700 (PDT)
Message-ID: <n2lf5bedd151004190859u31ea13f4hbe2fbbe38d03de8f@mail.gmail.com>
From: Mike Moore <blowmage@gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=0016e64c06163e6c230484990a4d
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 16:19:45 -0000

--0016e64c06163e6c230484990a4d
Content-Type: text/plain; charset=ISO-8859-1

On Mon, Apr 19, 2010 at 9:25 AM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

> You are missing the point.
>

No, I get it. But what I like about OAuth 1.0 was its simplicity. I don't
see how allowing either the server or client to suggest alternate encodings
allows OAuth 2.0 to do more. I don't think the added complexity is worth it.
Not everything needs to be configurable.

--0016e64c06163e6c230484990a4d
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div class=3D"gmail_quote">On Mon, Apr 19, 2010 at 9:25 AM, Eran Hammer-Lah=
av <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com">eran@hueniv=
erse.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
You are missing the point.<br></blockquote><div><br></div><div>No, I get it=
. But what I like about OAuth 1.0 was its simplicity. I don&#39;t see how a=
llowing either the server or client to=A0suggest=A0alternate encodings allo=
ws OAuth 2.0 to do more. I don&#39;t think the added complexity is worth it=
. Not everything needs to be configurable.</div>
</div>

--0016e64c06163e6c230484990a4d--

From eran@hueniverse.com  Mon Apr 19 09:38:52 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 26A793A6C3D for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 09:38:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.462
X-Spam-Level: 
X-Spam-Status: No, score=-2.462 tagged_above=-999 required=5 tests=[AWL=0.137,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LQ6l7PQGveSU for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 09:38:50 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 2825328C34D for <oauth@ietf.org>; Mon, 19 Apr 2010 09:18:40 -0700 (PDT)
Received: (qmail 26800 invoked from network); 19 Apr 2010 16:18:32 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 16:18:32 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Mon, 19 Apr 2010 09:18:32 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Evan Gilbert <uidude@google.com>
Date: Mon, 19 Apr 2010 09:18:29 -0700
Thread-Topic: [OAUTH-WG] Issue: Scope parameter
Thread-Index: Acrf2D19vfCxI1QDSGqSISu3cLPcigAA7TaY
Message-ID: <C7F1D065.32808%eran@hueniverse.com>
In-Reply-To: <j2lc8689b661004190851l80009045oc4024ac7a66c4250@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Scope parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 16:38:52 -0000

On 4/19/10 8:51 AM, "Evan Gilbert" <uidude@google.com> wrote:

>=20
>=20
> On Mon, Apr 19, 2010 at 8:14 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>> Where does it say you cannot add a parameter named scope? To suggest tha=
t you
>> can=B9t use the specification because it doesn=B9t define a placeholder =
for
>> something called Oscope=B9 is ridiculous.
>> =A0
>> Simpler client interface is a valid argument, but so is striving for act=
ual
>> interop. Almost every single company is going to add a custom parameter =
to
>> their implementation. Are you suggesting that if we define Oscope=B9 we =
will
>> significantly reduce the need to define *any* vendor-specific parameters=
?
>> Because if not, libraries will still need to pass custom parameters as
>> key-value pairs in their interface.
>> =A0
>> So far no one has made an argument why this parameter *has* to be define=
d as
>> a server-specific value! What breaks if we define it as a comma-separate=
d
>> list of URIs or realms (the server will need to use realm values it can
>> distinguish from resource URIs in case it uses URIs for realm values, wh=
ich
>> is trivial to do)? Please explain to me how this proposal doesn=B9t work=
 for
>> you.
>> =A0
>> When the group discussed signatures you demanded we start with use cases=
. So
>> let=B9s do that now. How do people plan to use this parameter? What are =
you
>> going to include as scope? What=B9s the internal encoding/structure you =
are
>> going to use?
>> =A0
>> The burden is on *you* to explain why a parameter in an interop specific=
ation
>> MUST be left vendor specific, or why we can=B9t figure it out *now*.
> We all want to move towards a common syntax for scopes, but I don't think=
 we
> will be able to generalize this on day one.

Why? I made a simple proposal that is in line with how Google and FB use it
and how others indicated they will use it. Why not spend some time
discussing it instead of just dismissing it with 'we're not ready'. This wa=
s
the argument 3 years ago! Isn't 3 years enough time to discuss and solve
this? Surely Google knows what it wants from a scope parameter.

> Even if we agreed on a common syntax we all are aiming for, we would need=
 to
> support existing vendor scopes until we get there.=A0Google today uses a =
list of
> URLs for scope definition, and we want OAuth to support this even if we d=
ecide
> to move towards something better.

What do you call this parameter today in your 1.0 implementation? Why can't
you continue to support this with a g_scope parameter?

> Standardizing only on a parameter name may seem to be low-value, but it b=
oth
> provides some consistency and also a clear placeholder for where to put a
> parameter to ask for access to a specific resource / set of scopes.

Only if you reserve it for future use and forbid anyone from using it now.
Once each vendor uses it in their own way, you lose the ability to
standardize this in the future. That's a much bigger problem (changing the
format of a parameter already in wide use).

> Think that people feel strongly about keeping this in because the spec fe=
els
> incomplete if it doesn't have some way to ask for specific resources - I'=
d
> much rather have custom parameter values than custom parameter names.

I agree. So lets solve it the right way and stop being lazy about it.

I'll post my proposal in a follow up message.

EHL

>> =A0
>> EHL
>> =A0
>> =A0
>> =A0
>>=20
>> From: Anthony Nadalin [mailto:tonynad@microsoft.com]
>> Sent: Monday, April 19, 2010 5:53 AM
>> To: Eran Hammer-Lahav; Dick Hardt
>> Cc: OAuth WG
>> Subject: RE: [OAUTH-WG] Issue: Scope parameter
>>=20
>> =A0
>>> I=B9m strongly opposed to writing a spec that must be profiled in order=
 to be
>>> implemented and the proposed definition of the scope parameter mandates
>>> profiling the spec.
>> =A0
>> I=B9m strongly opposed to having a specification that can=B9t be used be=
cause
>> it=B9s so restrictive
>> =A0
>>=20
>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf O=
f
>> Eran Hammer-Lahav
>> Sent: Sunday, April 18, 2010 11:03 PM
>> To: Dick Hardt
>> Cc: OAuth WG
>> Subject: Re: [OAUTH-WG] Issue: Scope parameter
>> =A0
>> I=B9m strongly opposed to writing a spec that must be profiled in order =
to be
>> implemented and the proposed definition of the scope parameter mandates
>> profiling the spec.
>> =A0
>> If it has a structure =AD what is it? If it is an opaque string, where d=
oes the
>> client get it from? You cannot have interop if the protocol requires rea=
ding
>> paperwork. There is a difference between reusing code (which is what you=
r
>> argument is about) than interop.
>> =A0
>> The fact it is easier to pass a named parameter than a list of key-value
>> pairs is just not a good enough reason. I can live with a parameter with=
 an
>> opaque value, but it needs to be better defined than Oscope=B9.
>> =A0
>> I have seen services with both scope and permission parameters. What=B9s=
 the
>> guidance to these services? Drop permissions and encode it into the scop=
e?
>> Define it as server-specific? Toss a coin? How about also putting the de=
sired
>> username into scope instead of another parameter?
>> =A0
>> How about we add Ocustom1=B9, Ocustom2=B9, and Ocustom3=B9 parameters to=
 make it
>> easier for servers to use generic libraries with their own extensions? I=
=B9m
>> sure we can find a few more generally useful words to throw in there.
>> =A0
>> ---
>> =A0
>> Interop is accomplished when a standard authentication protocol is used
>> together with a standard API protocol. For example, Portable Contacts us=
es
>> OAuth with a standard API and schema to achieve transparent interop. Cli=
ents
>> don=B9t need to know anything specific about the server to request an ad=
dress
>> book record if they know where the Poco endpoint is, and can speak OAuth=
 to
>> get permission to private data.
>> =A0
>> If we define a scope parameter, Poco will stop working unless Poco defin=
es
>> how to use the scope parameter when asking for a token capable of access=
ing
>> Poco resources. But it cannot do it without breaking existing services w=
ith
>> their completely incompatible definition and format for scope.
>> =A0
>> On the other hand, if we defined a basic way to use scope, Poco will be =
able
>> to use that in a consistent way across services and work in the same
>> automagical way.
>> =A0
>> I am not arguing against having a scope parameter. I think we should and=
 have
>> enough implementation experience to do it now (we didn=B9t 3 years ago).=
 I am
>> arguing that the current proposal is ignoring the responsibility we have=
 to
>> improve interop. If people want scope they need to do a better job defin=
ing
>> what it is.
>> =A0
>> From anything I heard so far on this list, a comma-separated list of URI=
s or
>> realms would work.
>> =A0
>> ---
>> =A0
>> My service requires:
>> =A0
>> Resources =AD list of resource URIs or realms
>> Permission =AD read / change / add / delete
>> Duration =AD access token lifetime
>> =A0
>> Reading the definition of the scope parameter I don=B9t know how to map =
my
>> requirements to it. Am I expected to invent an encoding scheme to get al=
l
>> this information into the scope parameter? It seem that *every* server
>> developer will need to invent such a scheme.
>> =A0
>> Using your exact argument, I can also request that we add a Opermission=
=B9 and
>> Oduration=B9 parameters, equally undefined, because it is easier for my
>> developers to have the library pass these.
>> =A0
>> EHL
>> =A0
>> =A0
>> =A0
>>=20
>> From: Dick Hardt [mailto:dick.hardt@gmail.com]
>> Sent: Sunday, April 18, 2010 10:28 PM
>> To: Eran Hammer-Lahav
>> Cc: OAuth WG
>> Subject: Re: [OAUTH-WG] Issue: Scope parameter
>> =A0
>>=20
>> =A0
>>=20
>> =A0
>>=20
>> On 2010-04-18, at 9:56 PM, Eran Hammer-Lahav wrote:
>> =A0
>>=20
>> The client_id parameter is not expected to have an internal structure kn=
own
>> to clients.=20
>>=20
>> =A0
>>=20
>> The client developer needs to understand it.
>> =A0
>>=20
>> The likelihood of a client library treating this value as anything other=
 than
>> an opaque string is practically zero. client_id is well defined, especia=
lly
>> when it comes to how clients are expected to interact with it. I have no=
t
>> seen a single implementation or requirement to put client-aware meaning =
into
>> the client_id parameter value. It is an opaque, server-issued string.
>>=20
>> =A0
>>=20
>> =A0
>>=20
>> What about the format parameter that specifies that assertion?
>>=20
>> =A0
>> =A0
>>=20
>> =A0
>>=20
>> The proposed scope parameter is expected to always have an internal stru=
cture
>> and clients are expected to read some documentation explaining how to us=
e it.
>> The likelihood of a client library to implement one such structure based=
 on
>> the first service it is used for is not insignificant. And once one popu=
lar
>> service use it in one way, others are likely to do the same to make thei=
r
>> developers life easier. So why leave this up to the first popular servic=
e to
>> decide.
>>=20
>> =A0
>>=20
>> This does not make sense. Services are already defining scope parameters=
,
>> libraries are adding them in.
>>=20
>> The client library should treat the scope parameter as a string just lik=
e all
>> the other strings that are passed around. Given that a number of popular
>> services have a scope like parameter now, I don't know of a situation wh=
ere a
>> library developer has done what you fear.
>> =A0
>>=20
>> =A0
>>=20
>> Libraries are expected to pass up and down *any* parameter, regardless o=
f its
>> status as a core protocol parameter or not. A library that doesn=B9t is =
broken.
>> If they do that, defining a scope parameter adds absolutely nothing. For
>> example, we can add a language parameter which will be used by the clien=
t to
>> request a specific UI language experience but leave the value to be serv=
er
>> specific. Clearly this is useless without defining how the parameter sha=
ll be
>> used. From an interop and spec perspective, how is scope different?
>>=20
>> =A0
>>=20
>> It is much simpler for the library to have an interface where you specif=
y
>> specific values than hand in an arbitrary set of name value pairs.
>> =A0
>>=20
>> =A0
>>=20
>> The current proposal is to pick an ambiguous term and add it as a parame=
ter
>> with no clear meaning, purpose, or structure. I don=B9t know what scope =
means.
>>>=20
>>> Does it include permissions? The desired access lifetime? The ability t=
o
>>> share the tokens with other providers? Different HTTP methods? All the
>>> examples I have seen treat it as a list of resources either directly (l=
ist
>>> of URIs) or indirectly (list of sets or service types).
>>=20
>> =A0
>>=20
>> It could be any of those things. The scope of access that the client is
>> asking for.
>> =A0
>>=20
>> =A0
>>=20
>> How about we also add a Oredelegation=B9, Oduration=B9, Opermission=B9, =
Omethods=B9,
>> and a few more and leave them all server specific? According to the prop=
osal
>> logic, why not?
>>=20
>> =A0
>>=20
>> Those would all be included under scope.
>>=20
>> =A0
>> Many implementors are saying they want the scope parameter. Are there
>> implementors / deployers that don't want it? =A0You seem to have a stron=
g
>> opinion on this point that is based on a potential interop fear you have=
 that
>> is contrary to many implementors.
>>=20
>> =A0
>>=20
>> -- Dick
>>=20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>=20
>=20
>=20


From eran@hueniverse.com  Mon Apr 19 09:44:07 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4DD5B3A6CCD for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 09:44:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.463
X-Spam-Level: 
X-Spam-Status: No, score=-2.463 tagged_above=-999 required=5 tests=[AWL=0.136,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5BRr1WTFu8t4 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 09:44:06 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 4C75E28C3CB for <oauth@ietf.org>; Mon, 19 Apr 2010 09:25:35 -0700 (PDT)
Received: (qmail 17718 invoked from network); 19 Apr 2010 16:25:26 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 16:25:26 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Mon, 19 Apr 2010 09:25:17 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: OAuth WG <oauth@ietf.org>
Date: Mon, 19 Apr 2010 09:25:16 -0700
Thread-Topic: 'Scope' parameter proposal
Thread-Index: Acrf3OTsH3nwWGe+ikabEbV7IE0sxQ==
Message-ID: <C7F1D1FC.32809%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 16:44:07 -0000

Proposal:

'scope' is defined as a comma-separated list of resource URIs or resource
groups (e.g. contacts, photos). The server can provide a list of values for
the client to use in its documentation, or the client can use the URIs or
scope identifier of the protected resources it is trying to access (before
or after getting a 401 response).

For example:

1. Client requests resource

    GET /resource HTTP/1.1
    Host: example.com

2. Server requires authentication

    HTTP/1.1 401 Unauthorized
    WWW-Authenticate: Token realm=3D'Example', scope=3D'x2'

3. Client requests an access token by including scope=3Dx2 in the request

Alternatively, the client can ask for an access token with
scope=3Dhttp://example.com/resource.

If the client needs access to two resource with different scopes, it
requests an access token for scope=3Dx2,x1.

That's it!

It allows the client to figure out what value to put in the scope parameter
and how to encode multiple scopes without any server-specific documentation=
.
Servers that wish to rely exclusively on paperwork can just omit the scope
parameter from the WWW-Authenticate header.

We can pick a different separator (space, semicolon, etc.) or different
parameter name (resource(s)).

EHL



From mscurtescu@google.com  Mon Apr 19 10:10:40 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0946028C11B for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 10:10:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.702
X-Spam-Level: 
X-Spam-Status: No, score=-101.702 tagged_above=-999 required=5 tests=[AWL=0.275, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jSIULxN-2Z1W for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 10:10:36 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 9EB1B3A62C1 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:06:52 -0700 (PDT)
Received: from hpaq3.eem.corp.google.com (hpaq3.eem.corp.google.com [10.3.21.3]) by smtp-out.google.com with ESMTP id o3JH6gSD001859 for <oauth@ietf.org>; Mon, 19 Apr 2010 19:06:43 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271696803; bh=VIlOkTiay/1xYxbV9Ys/wcwapps=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=PmJIffmJRKAKsyFmgPrqtUI4B+dtFeAayqWAZLDHPcYd+gsuUc1xqVdsW1Y4NiHzQ yspn9CM1on+H1ZbV94cBQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=f8prEAspBx5bBNW/VwN1rgV0Qe8pUlwusBdwotpI19+q8TNGAKEfgdKI2LrcdI5r3 0DkPxgo4DH39Is2JIPDWQ==
Received: from pvg16 (pvg16.prod.google.com [10.241.210.144]) by hpaq3.eem.corp.google.com with ESMTP id o3JH5pkw009950 for <oauth@ietf.org>; Mon, 19 Apr 2010 19:06:41 +0200
Received: by pvg16 with SMTP id 16so3273027pvg.12 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:06:40 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Mon, 19 Apr 2010 10:06:20 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E30A3796@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <9CEC5DA2-6D5F-4CDB-80CD-D24F80E19969@gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E30A3796@P3PW5EX1MB01.EX1.SECURESERVER.NET>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 19 Apr 2010 10:06:20 -0700
Received: by 10.140.57.19 with SMTP id f19mr4496603rva.124.1271696800357; Mon,  19 Apr 2010 10:06:40 -0700 (PDT)
Message-ID: <s2t74caaad21004191006rb29139f6lc9082b6b94afbec9@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Clarification: Authorization scheme :: Token vs OAuth
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 17:10:40 -0000

Isn't "Token" as a scheme to generic/ambiguous?

If a protected resource accepts several types of Authorization
headers, how can it be sure this is an OAuth 2.0 token and not some
other kind?

If adding a version parameter is too verbose, how about "OAuth2" as scheme?

Marius



On Sun, Apr 18, 2010 at 10:05 PM, Eran Hammer-Lahav <eran@hueniverse.com> w=
rote:
> Scheme is always case-insensitive per 2617.
>
>
>
> My reasons for using Token:
>
>
>
> 1. The scheme isn=92t specific to OAuth (which defines a model for obtain=
ing
> tokens). It is a generic way to use tokens for authentication. Similar to
> how services use OAuth today for =932-legged=94 authentication (using the
> signature method without an access token at all), I expect services to us=
e
> the Token scheme.
>
>
>
> 2. Doesn=92t conflict with OAuth 1.0, and doesn=92t require adding
> oauth_version=3D2.0 to every request. The fact that 1.0 used a parameter =
name
> prefix in the *header* was bad enough.
>
>
>
> That discussion did not reach any consensus so I used the last proposed
> text. If people have a problem with that I=92ll add it to the open issues
> list.
>
>
>
> EHL
>
>
>
>
>
>
>
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of
> Dick Hardt
> Sent: Sunday, April 18, 2010 9:33 PM
> To: OAuth WG
> Subject: [OAUTH-WG] Clarification: Authorization scheme :: Token vs OAuth
>
>
>
> I recall some earlier discussion on calling the scheme Token vs OAuth and
> see that it is now Token per the example:
>
>
>
> Authorization: Token token=3D"vF9dft4qmT"
>
>
>
> Would explain or point out the logic of using Token rather than OAuth?
>
>
>
> A related question: is the scheme case sensitive?
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

From uidude@google.com  Mon Apr 19 10:10:41 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8067B3A62C1 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 10:10:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.878
X-Spam-Level: 
X-Spam-Status: No, score=-101.878 tagged_above=-999 required=5 tests=[AWL=0.098, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qHbfu6I16S6d for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 10:10:40 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id B1EFE3A6B3F for <oauth@ietf.org>; Mon, 19 Apr 2010 10:06:52 -0700 (PDT)
Received: from kpbe16.cbf.corp.google.com (kpbe16.cbf.corp.google.com [172.25.105.80]) by smtp-out.google.com with ESMTP id o3JH6cnP017050 for <oauth@ietf.org>; Mon, 19 Apr 2010 19:06:38 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271696798; bh=ZiEYru30eAApMY0EM5SD25i9xWk=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=B6ZSeLTCU7NRqXNI3XXKCgunMsmu6zPebZgC1SJOg3a6qZag5pzUj+ZSyokv/Guvs RAOi+HdVtTftMf5a9yZ+w==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=CsQKPdVOgtEy0mFICHv6SKgNeCiq6txomOAPwau84H/QvDVo3wKFH3Ey/DOcMpT/3 t/8OeoknPP06AB/xF/iJw==
Received: from qyk14 (qyk14.prod.google.com [10.241.83.142]) by kpbe16.cbf.corp.google.com with ESMTP id o3JH6B5C026379 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:06:36 -0700
Received: by qyk14 with SMTP id 14so986442qyk.14 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:06:36 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.16.148 with HTTP; Mon, 19 Apr 2010 10:06:04 -0700 (PDT)
In-Reply-To: <C7F1C6AC.327EE%eran@hueniverse.com>
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com>  <C7F1C6AC.327EE%eran@hueniverse.com>
From: Evan Gilbert <uidude@google.com>
Date: Mon, 19 Apr 2010 10:06:04 -0700
Received: by 10.229.188.212 with SMTP id db20mr6193227qcb.5.1271696784461;  Mon, 19 Apr 2010 10:06:24 -0700 (PDT)
Message-ID: <u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=0016363b86a81bd0e2048499fbac
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 17:10:41 -0000

--0016363b86a81bd0e2048499fbac
Content-Type: text/plain; charset=ISO-8859-1

User 1 is logged into Client site
User 2 is logged into IDP site

This can happen quite frequently, as client sites often have long-lived
cookies and may only be visited by one user on a shared computer.

Right now client site has no way to ask for a token for User 1, and end
result will be that User 1 starts seeing User 2's data.

On Mon, Apr 19, 2010 at 8:37 AM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

>  How can they both be logged in? I have never seen a case where two users
> can be both logged into to the same service at the same time...
>
> EHL
>
>
>
> On 4/19/10 8:33 AM, "Evan Gilbert" <uidude@google.com> wrote:
>
> More details on this enhancement.
>
> Goal: Make sure you get an access token for the right user in immediate
> mode.
>
> Use case where we have problems if we don't have username parameter:
>
>    1. Bob is logged into a web site as bob@IDP.com.
>    2. Mary (his wife) is logged into IDP on the same computer as
>    mary@IDP.com
>    3. A request is made to get an access token via the User-Agent flow in
>    immediate mode (or with any redirect without prompting the user)
>    4. -ob now has an access token for Mary and (posts activities,
>    schedules events, gets contacts) as Mary
>    5. Hilarity ensues
>
>
> Secondary goal: Provide a hint for non-immediate mode
>
> On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>
> Evan Gilbert proposed a 'username' request parameter to allow the client to
> limit the end user to authenticate using the provided authorization server
> identifier. The proposal has not been discussed or supported by others, and
> has not received a security review.
>
> Proposal: Obtain further discussion and support from others, as well as a
> security review of the proposal. Otherwise, do nothing.
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>
>
>

--0016363b86a81bd0e2048499fbac
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

User 1 is logged into Client site<div>User 2 is logged into IDP site</div><=
div><br></div><div>This can happen quite frequently, as client sites often =
have long-lived cookies and may only be visited by one user on a shared com=
puter.</div>

<div><br></div><div>Right now client site has no way to ask for a token for=
 User 1, and end result will be that User 1 starts seeing User 2&#39;s data=
.</div><div><div><div>
<div><br><div class=3D"gmail_quote">On Mon, Apr 19, 2010 at 8:37 AM, Eran H=
ammer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com" ta=
rget=3D"_blank">eran@hueniverse.com</a>&gt;</span> wrote:<br><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;p=
adding-left:1ex">






<div>
<font face=3D"Calibri, Verdana, Helvetica, Arial"><span style=3D"font-size:=
11pt">How can they both be logged in? I have never seen a case where two us=
ers can be both logged into to the same service at the same time...<br><fon=
t color=3D"#888888">
<br>
EHL</font><div><div></div><div><br>
<br>
<br>
On 4/19/10 8:33 AM, &quot;Evan Gilbert&quot; &lt;<a href=3D"http://uidude@g=
oogle.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<br>
<br>
</div></div></span></font><div><div></div><div><blockquote><font face=3D"Ca=
libri, Verdana, Helvetica, Arial"><span style=3D"font-size:11pt">More detai=
ls on this enhancement.<br>
<br>
Goal: Make sure you get an access token for the right user in immediate mod=
e.<br>
<br>
Use case where we have problems if we don&#39;t have username parameter:<br=
>
</span></font><ol><li><font face=3D"Calibri, Verdana, Helvetica, Arial"><sp=
an style=3D"font-size:11pt">Bob is logged into a web site as <a href=3D"htt=
p://bob@IDP.com" target=3D"_blank">bob@IDP.com</a>.
</span></font></li><li><font face=3D"Calibri, Verdana, Helvetica, Arial"><s=
pan style=3D"font-size:11pt">Mary (his wife) is logged into IDP on the same=
 computer as <a href=3D"http://mary@IDP.com" target=3D"_blank">mary@IDP.com=
</a>
</span></font></li><li><font face=3D"Calibri, Verdana, Helvetica, Arial"><s=
pan style=3D"font-size:11pt">A request is made to get an access token via t=
he User-Agent flow in immediate mode (or with any redirect without promptin=
g the user)=20
</span></font></li><li><font face=3D"Calibri, Verdana, Helvetica, Arial"><s=
pan style=3D"font-size:11pt">-ob now has an access token for Mary and (post=
s activities, schedules events, gets contacts) as Mary
</span></font></li><li><font face=3D"Calibri, Verdana, Helvetica, Arial"><s=
pan style=3D"font-size:11pt">Hilarity ensues<br>
</span></font></li></ol><font face=3D"Calibri, Verdana, Helvetica, Arial"><=
span style=3D"font-size:11pt"><br>
Secondary goal: Provide a hint for non-immediate mode<br>
<br>
On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav &lt;<a href=3D"http://e=
ran@hueniverse.com" target=3D"_blank">eran@hueniverse.com</a>&gt; wrote:<br=
>
</span></font><blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial"=
><span style=3D"font-size:11pt">Evan Gilbert proposed a &#39;username&#39; =
request parameter to allow the client to<br>
limit the end user to authenticate using the provided authorization server<=
br>
identifier. The proposal has not been discussed or supported by others, and=
<br>
has not received a security review.<br>
<br>
Proposal: Obtain further discussion and support from others, as well as a<b=
r>
security review of the proposal. Otherwise, do nothing.<br>
<br>
EHL<br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"http://OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</span></font></blockquote><font face=3D"Calibri, Verdana, Helvetica, Arial=
"><span style=3D"font-size:11pt"><br>
<br>
</span></font></blockquote>
</div></div></div>


</blockquote></div><br></div></div></div>
</div>

--0016363b86a81bd0e2048499fbac--

From beaton@google.com  Mon Apr 19 10:23:42 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9A8F23A6AB5 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 10:23:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.977
X-Spam-Level: 
X-Spam-Status: No, score=-101.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZoMX0Y308sBP for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 10:23:38 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 03D723A6AE6 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:16:34 -0700 (PDT)
Received: from kpbe15.cbf.corp.google.com (kpbe15.cbf.corp.google.com [172.25.105.79]) by smtp-out.google.com with ESMTP id o3JHGOvZ001460 for <oauth@ietf.org>; Mon, 19 Apr 2010 19:16:25 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271697385; bh=ymZMAPMCnKaXDscuThJXuWRRhYg=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type:Content-Transfer-Encoding; b=nMoqzm4xfFgQUffz/2o54wxjKPl0UxN3sDd7suvpJOpQSDJxPJzrmyWy5iK9vuHQt qo1x7Xp0EjbwlphP+86uA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:content-transfer-encoding:x-system-of-record; b=vsAYIYAGPK/Kegp8KlSlXpH+0x9L97h6bYaT/WYFYoeu37uBRnpva4lvBl0qkPhES VsSn3vGaBZoSxicrbxgig==
Received: from vws18 (vws18.prod.google.com [10.241.21.146]) by kpbe15.cbf.corp.google.com with ESMTP id o3JHFtfI023323 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:16:23 -0700
Received: by vws18 with SMTP id 18so165306vws.27 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:16:23 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.109.99 with HTTP; Mon, 19 Apr 2010 10:16:23 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F059@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <2997F829-4755-44A8-ADD5-643BCE25AA61@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379C@P3PW5EX1MB01.EX1.SECURESERVER.NET> <65D588CD-A374-4F6B-8749-199C5DF83300@gmail.com> <x2kdaf5b9571004190836l2595e181obdb977045e11c49e@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F059@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Date: Mon, 19 Apr 2010 10:16:23 -0700
Received: by 10.220.108.228 with SMTP id g36mr3745053vcp.146.1271697383285;  Mon, 19 Apr 2010 10:16:23 -0700 (PDT)
Message-ID: <o2jdaf5b9571004191016xdff990f6g92c78a1abad970fa@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Clarification: authorization server matching of redirect URI
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 17:23:42 -0000

On Mon, Apr 19, 2010 at 8:39 AM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:
>> The first is before redirecting the user to the callback URI. =A0This se=
ems
>> doomed to being service provider specific, unfortunately.
>
> I agree. If someone wants to suggest some security consideration text tha=
t would be good.

See page 9: http://trac.tools.ietf.org/wg/oauth/trac/attachment/wiki/Securi=
tyConsiderations/OAuth%20WRAP%202.0%20Security%20Considerations.pdf

Cheers,
Brian

From mscurtescu@google.com  Mon Apr 19 10:24:55 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9E4883A6A37 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 10:24:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.721
X-Spam-Level: 
X-Spam-Status: No, score=-101.721 tagged_above=-999 required=5 tests=[AWL=0.256, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uAAm3kf4+J1D for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 10:24:55 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 486923A6B28 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:18:13 -0700 (PDT)
Received: from wpaz33.hot.corp.google.com (wpaz33.hot.corp.google.com [172.24.198.97]) by smtp-out.google.com with ESMTP id o3JHI2IF005397 for <oauth@ietf.org>; Mon, 19 Apr 2010 19:18:03 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271697483; bh=OqZWwer75Uo4HYY97J5g8Gz4VpI=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=Pmac8KXHpn2hY0SzK9viUD941bB+sofycqP5yc83V4i0cGWykBbnezDPObbPgK2pB rGObwUcX5YuIiSxdjySnw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=c4rlrzbOJ6hElTJ/9ga5dlqpQt2QEGlpOVT7+WCgmHxBFvufsZ41IWQiWdKb9gHTP 1MFwBIzks6bBT76loylVA==
Received: from pwi2 (pwi2.prod.google.com [10.241.219.2]) by wpaz33.hot.corp.google.com with ESMTP id o3JHI1Ts006075 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:18:01 -0700
Received: by pwi2 with SMTP id 2so3375676pwi.28 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:18:01 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Mon, 19 Apr 2010 10:17:38 -0700 (PDT)
In-Reply-To: <4776FFF7-45E6-4945-9548-382A9DB84A95@gmail.com>
References: <1E39CE38-763E-4E3D-96D4-DC757BD53B9D@gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E30A379E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4776FFF7-45E6-4945-9548-382A9DB84A95@gmail.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 19 Apr 2010 10:17:38 -0700
Received: by 10.141.107.19 with SMTP id j19mr4495054rvm.90.1271697479990; Mon,  19 Apr 2010 10:17:59 -0700 (PDT)
Message-ID: <r2v74caaad21004191017id7c48d54lc5ced6e9e164591e@mail.gmail.com>
To: Dick Hardt <dick.hardt@gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: state in web server flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 17:24:55 -0000

On Sun, Apr 18, 2010 at 10:36 PM, Dick Hardt <dick.hardt@gmail.com> wrote:
>
> On 2010-04-18, at 10:28 PM, Eran Hammer-Lahav wrote:
>
>>
>>
>>> -----Original Message-----
>>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
>>> Of Dick Hardt
>>> Sent: Sunday, April 18, 2010 9:20 PM
>>> To: OAuth WG
>>> Subject: [OAUTH-WG] Issue: state in web server flow
>>>
>>> Why was the state parameter removed from the web server flow?
>>
>> I didn't want to both define a state parameter *and* allow for any other=
 client-specific parameters in redirection URIs. Because people made the po=
int that *any* client-specific parameters are required, I proposed to drop =
the state parameter. After all, servers MUST send back whatever URI they re=
ceive regardless of it being encoded into a state parameter.
>>
>>> Some AS may require the entire redirect URI to be registered, so the st=
ate
>>> parameter allows a client to maintain state across calls.
>>
>> I agree that this is useful, but it only makes the spec better if we mak=
e its use more restrictive. Defining it makes it easier for servers to vali=
date the redirection URI, but only if the client is not allowed using other=
 client-specific query parameters with it.
>
> Agreed
>
>>
>> If people feel strongly about putting it back, I suggest we only allow i=
t with callbacks without any query component as that is the only combinatio=
n it adds value.
>
> Agreed

I don't think it is possible to enforce callbacks without any query
parameters. See the Drupal example.

What we can enforce is that the registered callback and the actual
callback have the exact same query parameters.

Marius

From mscurtescu@google.com  Mon Apr 19 10:26:00 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 666553A6765 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 10:26:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.738
X-Spam-Level: 
X-Spam-Status: No, score=-101.738 tagged_above=-999 required=5 tests=[AWL=0.239, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hEuccYkyfrOJ for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 10:25:59 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 6B36A3A6BEA for <oauth@ietf.org>; Mon, 19 Apr 2010 10:20:21 -0700 (PDT)
Received: from hpaq12.eem.corp.google.com (hpaq12.eem.corp.google.com [10.3.21.12]) by smtp-out.google.com with ESMTP id o3JHK6Vr009536 for <oauth@ietf.org>; Mon, 19 Apr 2010 19:20:06 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271697606; bh=uiDVGR3ODjeAFNH3Eli0DRT2UBU=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=AD7veGZC29jABvnD2KHUUG+J4zapRT+cPs8qTNJbCq66BFeYofp6f1Hr7S4tVNbNI J1W9IVkyJ38tVHVfh7M1A==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=NyVQXGUOFQCnkd2iUGVjHmvnr6oJ2nMnChGZjwG37XoJd7uJo+SjsHafgcoqKj5S3 XehPDLtFV78ppKJKvEujg==
Received: from pzk32 (pzk32.prod.google.com [10.243.19.160]) by hpaq12.eem.corp.google.com with ESMTP id o3JHK4Qt002233 for <oauth@ietf.org>; Mon, 19 Apr 2010 19:20:04 +0200
Received: by pzk32 with SMTP id 32so2935920pzk.21 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:20:03 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Mon, 19 Apr 2010 10:19:43 -0700 (PDT)
In-Reply-To: <l2kc8689b661004190728l44977e21m82e5cc579031fa00@mail.gmail.com>
References: <14411661-A227-4DCA-86B3-A9C5FB8055D7@gmail.com>  <z2m74caaad21004182104g3c6d08b1m6aa7c815bce7d558@mail.gmail.com>  <046B4F5D-A58E-4D78-AA01-A85BFB76C6EA@gmail.com> <l2kc8689b661004190728l44977e21m82e5cc579031fa00@mail.gmail.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 19 Apr 2010 10:19:43 -0700
Received: by 10.140.88.33 with SMTP id l33mr4567810rvb.4.1271697603448; Mon,  19 Apr 2010 10:20:03 -0700 (PDT)
Message-ID: <i2m74caaad21004191019x74a0cd2erb22093cfd9271070@mail.gmail.com>
To: Evan Gilbert <uidude@google.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: Marius Scurtescu <marius.scurtescu@gmail.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 17:26:00 -0000

On Mon, Apr 19, 2010 at 7:28 AM, Evan Gilbert <uidude@google.com> wrote:
> I have a preference to *not* have the "oauth_" prefix on parameters when
> redirecting back, but could be convinced.
> The argument about collisions makes sense, but I think there are no known
> conflicts and you can always add a redirection layer if a conflict arises in
> the future and a web serving framework is unwilling to change.
> (I've become less of a fan of namespacing over the years - my default has
> switched to waiting until there is a known conflict to solve)

If the conflict is found after the spec is defined then it is too late.

In many cases namespaces are needed, regardless if we like them or
not. A prefix is a very weak namespace, but in this case extremely
useful IMO.

Marius

From lshepard@facebook.com  Mon Apr 19 10:27:13 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id EA6C93A68C4 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 10:27:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.047
X-Spam-Level: 
X-Spam-Status: No, score=-3.047 tagged_above=-999 required=5 tests=[AWL=0.218,  BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qg6cVa7i37gK for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 10:27:12 -0700 (PDT)
Received: from mailout-snc1.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 2FFF53A69F8 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:21:38 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.212]) by pp01.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3JHL6ve022961 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Mon, 19 Apr 2010 10:21:06 -0700
Received: from sc-hub02.TheFacebook.com (192.168.18.105) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.689.0; Mon, 19 Apr 2010 10:21:23 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub02.TheFacebook.com ([192.168.18.105]) with mapi; Mon, 19 Apr 2010 10:21:23 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, OAuth WG <oauth@ietf.org>
Date: Mon, 19 Apr 2010 10:21:21 -0700
Thread-Topic: 'Scope' parameter proposal
Thread-Index: Acrf3OTsH3nwWGe+ikabEbV7IE0sxQABSTMA
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66DE26@SC-MBXC1.TheFacebook.com>
References: <C7F1D1FC.32809%eran@hueniverse.com>
In-Reply-To: <C7F1D1FC.32809%eran@hueniverse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-19_13:2010-02-06, 2010-04-19, 2010-04-19 signatures=0
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 17:27:14 -0000

This seems pretty elegant to me. I like that in the general case, the prote=
cted resource can give an error saying the scope required.

As a specific example of how Facebook could use this, we have an extended p=
ermission for an app to publish to a user's stream. If an app tries to publ=
ish to the stream today, and they don't have the permission, we give an err=
or that says "You need the publish_stream permission." With this extension,=
 we could also add a header like:

WWW-Authenticate: Token realm=3D"http://www.facebook.com", scope=3D"publish=
_stream"

Then client libraries could craft an OAuth authorize URL for that scope, wi=
thout having to refer to documentation.

One issue is how this would work with more complicated scenarios. There are=
 resources that require multiple scopes, or even one of a few possible scop=
es (i.e., either "publish_stream" or "add_photo" to post a photo story). Wh=
at are the semantics of the response header listing multiple scopes - are t=
hey all required, or just some?
=20
-----Original Message-----
From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
ran Hammer-Lahav
Sent: Monday, April 19, 2010 9:25 AM
To: OAuth WG
Subject: [OAUTH-WG] 'Scope' parameter proposal

Proposal:

'scope' is defined as a comma-separated list of resource URIs or resource
groups (e.g. contacts, photos). The server can provide a list of values for
the client to use in its documentation, or the client can use the URIs or
scope identifier of the protected resources it is trying to access (before
or after getting a 401 response).

For example:

1. Client requests resource

    GET /resource HTTP/1.1
    Host: example.com

2. Server requires authentication

    HTTP/1.1 401 Unauthorized
    WWW-Authenticate: Token realm=3D'Example', scope=3D'x2'

3. Client requests an access token by including scope=3Dx2 in the request

Alternatively, the client can ask for an access token with
scope=3Dhttp://example.com/resource.

If the client needs access to two resource with different scopes, it
requests an access token for scope=3Dx2,x1.

That's it!

It allows the client to figure out what value to put in the scope parameter
and how to encode multiple scopes without any server-specific documentation=
.
Servers that wish to rely exclusively on paperwork can just omit the scope
parameter from the WWW-Authenticate header.

We can pick a different separator (space, semicolon, etc.) or different
parameter name (resource(s)).

EHL


_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

From uidude@google.com  Mon Apr 19 10:28:40 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C3EEE3A6980 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 10:28:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.703
X-Spam-Level: 
X-Spam-Status: No, score=-105.703 tagged_above=-999 required=5 tests=[AWL=0.273, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KqM41T6z2-fZ for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 10:28:40 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 074103A6AF4 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:24:49 -0700 (PDT)
Received: from hpaq11.eem.corp.google.com (hpaq11.eem.corp.google.com [10.3.21.11]) by smtp-out.google.com with ESMTP id o3JHOcZI030251 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:24:38 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271697878; bh=nMmwdXX1QSHD7W11jyQSR/+KiOA=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=TwWIknUof3Ed3hvZQa/AOt4MuGd6d1MqZsMgVOpyQDCKyHPaGb4gEi51+0NRHIm0k l05umRxfguJ8LDT2BXxTg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=EujRKDb3sxWla2NOghFwLYvsY4tFTnfdJ0mPDFrRBUZYbCSPSD8GhqdqhrkjnWpyI DyKhGJOpMQTR2unUB29Iw==
Received: from qyk29 (qyk29.prod.google.com [10.241.83.157]) by hpaq11.eem.corp.google.com with ESMTP id o3JHMoDe025090 for <oauth@ietf.org>; Mon, 19 Apr 2010 19:24:36 +0200
Received: by qyk29 with SMTP id 29so5668470qyk.2 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:24:36 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.16.148 with HTTP; Mon, 19 Apr 2010 10:24:12 -0700 (PDT)
In-Reply-To: <i2m74caaad21004191019x74a0cd2erb22093cfd9271070@mail.gmail.com>
References: <14411661-A227-4DCA-86B3-A9C5FB8055D7@gmail.com>  <z2m74caaad21004182104g3c6d08b1m6aa7c815bce7d558@mail.gmail.com>  <046B4F5D-A58E-4D78-AA01-A85BFB76C6EA@gmail.com> <l2kc8689b661004190728l44977e21m82e5cc579031fa00@mail.gmail.com> <i2m74caaad21004191019x74a0cd2erb22093cfd9271070@mail.gmail.com>
From: Evan Gilbert <uidude@google.com>
Date: Mon, 19 Apr 2010 10:24:12 -0700
Received: by 10.229.190.133 with SMTP id di5mr3136364qcb.23.1271697876403;  Mon, 19 Apr 2010 10:24:36 -0700 (PDT)
Message-ID: <o2tc8689b661004191024n36c74d0cif957ce6698b32a8b@mail.gmail.com>
To: Marius Scurtescu <mscurtescu@google.com>
Content-Type: multipart/alternative; boundary=0016361e882a2f623b04849a3c1b
X-System-Of-Record: true
Cc: Marius Scurtescu <marius.scurtescu@gmail.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 17:28:40 -0000

--0016361e882a2f623b04849a3c1b
Content-Type: text/plain; charset=ISO-8859-1

On Mon, Apr 19, 2010 at 10:19 AM, Marius Scurtescu <mscurtescu@google.com>wrote:

> On Mon, Apr 19, 2010 at 7:28 AM, Evan Gilbert <uidude@google.com> wrote:
> > I have a preference to *not* have the "oauth_" prefix on parameters when
> > redirecting back, but could be convinced.
> > The argument about collisions makes sense, but I think there are no known
> > conflicts and you can always add a redirection layer if a conflict arises
> in
> > the future and a web serving framework is unwilling to change.
> > (I've become less of a fan of namespacing over the years - my default has
> > switched to waiting until there is a known conflict to solve)
>
> If the conflict is found after the spec is defined then it is too late.
>

As I mentioned, the client can just set up a redirect.


>
> In many cases namespaces are needed, regardless if we like them or
> not. A prefix is a very weak namespace, but in this case extremely
> useful IMO.
>

The question is whether this is a case in which namespaces are needed.


>
> Marius
>

--0016361e882a2f623b04849a3c1b
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Mon, Apr 19, 2010 at 10:19 AM, Marius=
 Scurtescu <span dir=3D"ltr">&lt;<a href=3D"mailto:mscurtescu@google.com">m=
scurtescu@google.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_qu=
ote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex=
;">

<div class=3D"im">On Mon, Apr 19, 2010 at 7:28 AM, Evan Gilbert &lt;<a href=
=3D"mailto:uidude@google.com">uidude@google.com</a>&gt; wrote:<br>
&gt; I have a preference to *not* have the &quot;oauth_&quot; prefix on par=
ameters when<br>
&gt; redirecting back, but could be convinced.<br>
&gt; The argument about collisions makes sense, but I think there are no kn=
own<br>
&gt; conflicts and you can always add a redirection layer if a conflict ari=
ses in<br>
&gt; the future and a web serving framework is unwilling to change.<br>
&gt; (I&#39;ve become less of a fan of namespacing over the years - my defa=
ult has<br>
&gt; switched to waiting until there is a known conflict to solve)<br>
<br>
</div>If the conflict is found after the spec is defined then it is too lat=
e.<br></blockquote><div><br></div><div>As I mentioned, the client can just =
set up a redirect.</div><div>=A0</div><blockquote class=3D"gmail_quote" sty=
le=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


<br>
In many cases namespaces are needed, regardless if we like them or<br>
not. A prefix is a very weak namespace, but in this case extremely<br>
useful IMO.<br></blockquote><div><br></div><div>The question is whether thi=
s is a case in which namespaces are needed.</div><div>=A0</div><blockquote =
class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid=
;padding-left:1ex;">


<font color=3D"#888888"><br>
Marius<br>
</font></blockquote></div><br>

--0016361e882a2f623b04849a3c1b--

From mscurtescu@google.com  Mon Apr 19 10:29:10 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0679D3A6B0B for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 10:29:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.87
X-Spam-Level: 
X-Spam-Status: No, score=-105.87 tagged_above=-999 required=5 tests=[AWL=0.107, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id znX74PzZKAfe for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 10:29:09 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 08CF23A6876 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:25:42 -0700 (PDT)
Received: from kpbe14.cbf.corp.google.com (kpbe14.cbf.corp.google.com [172.25.105.78]) by smtp-out.google.com with ESMTP id o3JHPXA9031712 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:25:33 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271697933; bh=kHM8LAddBB+vIG/VwGTpfPBkzd8=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=vDTNbb9K7RGVP1aUc+cMCx5oEUXe7Y+JYMBgwbknFjWMFim+MAIeFh8A01pIIpZg1 qJHnLPn2cAinB2fZh74fA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=JFUJKVUksqjH2Bc+2qLTDhYgkdTiymjnlcaEjxE3wYD7TYggBgVTHoNGhbAf5LuN7 KOzJ1Al8jN++m9ChMcPNw==
Received: from pvd12 (pvd12.prod.google.com [10.241.209.204]) by kpbe14.cbf.corp.google.com with ESMTP id o3JHOVsx029869 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:25:32 -0700
Received: by pvd12 with SMTP id 12so3009722pvd.4 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:25:31 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Mon, 19 Apr 2010 10:25:10 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E30A37A3@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <s2m74caaad21004161758scdd1ab27t486ef22b8f12911d@mail.gmail.com>  <C7EE5805.3244E%eran@hueniverse.com> <2513A610118CC14C8E622C376C8DEC93D54D66DD94@SC-MBXC1.TheFacebook.com> <o2s74caaad21004181338kbc3e0f29m5c77fb3ddfa55d56@mail.gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E30A37A3@P3PW5EX1MB01.EX1.SECURESERVER.NET>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 19 Apr 2010 10:25:10 -0700
Received: by 10.140.251.10 with SMTP id y10mr4468318rvh.260.1271697930396;  Mon, 19 Apr 2010 10:25:30 -0700 (PDT)
Message-ID: <v2p74caaad21004191025t7db11ea7t592a1dca3dcc41af@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 17:29:10 -0000

On Sun, Apr 18, 2010 at 11:07 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
>
>
>> -----Original Message-----
>> From: Marius Scurtescu [mailto:mscurtescu@google.com]
>> Sent: Sunday, April 18, 2010 1:38 PM
>
>> Also, when implementing OAuth 2.0 people will take into account existing
>> parameters and will avoid them, they will chose other parameter names (if
>> possible). If the next version of OAuth, let's call it 2.1, adds a few new
>> parameters, how can we chose them so they don't collide with extra
>> parameters used by 2.0 implementations?
>
> By defining an extension policy. Anything that is not in the core spec is an extension.
>
> How about we first figure this out? If we can agree on an extension policy, we can see if it mitigates your concerns.

As Justin mentioned in his reply, this has nothing to do with
extensions. Other parameters will be used just to deal with the
callback implementation, to specify controllers and such.

Maybe we should consider passing parameters some other way, and not
part of query strings. JSON?

Marius

From mscurtescu@google.com  Mon Apr 19 10:32:39 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E954F3A67B5 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 10:32:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.753
X-Spam-Level: 
X-Spam-Status: No, score=-101.753 tagged_above=-999 required=5 tests=[AWL=0.224, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IqHXGplnDK7Q for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 10:32:39 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 161023A696E for <oauth@ietf.org>; Mon, 19 Apr 2010 10:30:23 -0700 (PDT)
Received: from kpbe20.cbf.corp.google.com (kpbe20.cbf.corp.google.com [172.25.105.84]) by smtp-out.google.com with ESMTP id o3JHUDJD027536 for <oauth@ietf.org>; Mon, 19 Apr 2010 19:30:14 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271698214; bh=M2Sxmy19EUZX+Vow9heHIP6CDR0=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=dWrVFyzlZZUBeq7I1oqKmqH2hcxlCw0YSk93IA1/Txi6q3eCDBiNGlrcYK0hQoAbP m6UtKAgD4skuNfHCbl58Q==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=Xqvb1r7W8SwQkdsO2taGGOCGZCMu3i3LGXAXx6AwYNPFzau2egfWt1FDd5nugcQz3 Z4H8opTCN4WARPByGilGQ==
Received: from pwi9 (pwi9.prod.google.com [10.241.219.9]) by kpbe20.cbf.corp.google.com with ESMTP id o3JHUBbx028320 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:30:12 -0700
Received: by pwi9 with SMTP id 9so3688690pwi.13 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:30:11 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Mon, 19 Apr 2010 10:29:51 -0700 (PDT)
In-Reply-To: <u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com>
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com>  <C7F1C6AC.327EE%eran@hueniverse.com> <u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 19 Apr 2010 10:29:51 -0700
Received: by 10.141.1.6 with SMTP id d6mr4402742rvi.175.1271698211218; Mon, 19  Apr 2010 10:30:11 -0700 (PDT)
Message-ID: <h2p74caaad21004191029oc987e73rc73a81cccce130ce@mail.gmail.com>
To: Evan Gilbert <uidude@google.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 17:32:40 -0000

The scenario described by Evan is showing a real issue and the
username parameter is solving it. Not sure if there are other
implications, but definitely worth discussing.

Marius



On Mon, Apr 19, 2010 at 10:06 AM, Evan Gilbert <uidude@google.com> wrote:
> User 1 is logged into Client site
> User 2 is logged into IDP site
> This can happen quite frequently, as client sites often have long-lived
> cookies and may only be visited by one user on a shared computer.
> Right now client site has no way to ask for a token for User 1, and end
> result will be that User 1 starts seeing User 2's data.
> On Mon, Apr 19, 2010 at 8:37 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>>
>> How can they both be logged in? I have never seen a case where two users
>> can be both logged into to the same service at the same time...
>>
>> EHL
>>
>>
>> On 4/19/10 8:33 AM, "Evan Gilbert" <uidude@google.com> wrote:
>>
>> More details on this enhancement.
>>
>> Goal: Make sure you get an access token for the right user in immediate
>> mode.
>>
>> Use case where we have problems if we don't have username parameter:
>>
>> Bob is logged into a web site as bob@IDP.com.
>> Mary (his wife) is logged into IDP on the same computer as mary@IDP.com
>> A request is made to get an access token via the User-Agent flow in
>> immediate mode (or with any redirect without prompting the user)
>> -ob now has an access token for Mary and (posts activities, schedules
>> events, gets contacts) as Mary
>> Hilarity ensues
>>
>> Secondary goal: Provide a hint for non-immediate mode
>>
>> On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav <eran@hueniverse.com>
>> wrote:
>>
>> Evan Gilbert proposed a 'username' request parameter to allow the client
>> to
>> limit the end user to authenticate using the provided authorization server
>> identifier. The proposal has not been discussed or supported by others,
>> and
>> has not received a security review.
>>
>> Proposal: Obtain further discussion and support from others, as well as a
>> security review of the proposal. Otherwise, do nothing.
>>
>> EHL
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

From mscurtescu@google.com  Mon Apr 19 10:49:12 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 805233A6AFB for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 10:49:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.877
X-Spam-Level: 
X-Spam-Status: No, score=-105.877 tagged_above=-999 required=5 tests=[AWL=0.100, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DcxbzNUfEqYI for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 10:49:11 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 1C43D3A6AB0 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:46:08 -0700 (PDT)
Received: from hpaq5.eem.corp.google.com (hpaq5.eem.corp.google.com [10.3.21.5]) by smtp-out.google.com with ESMTP id o3JHjtFQ009300 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:45:55 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271699156; bh=0WdItCX7f/mhG9nwt9YQU7DRXFo=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=DtEhAKlrSn6LkQcIPSncCoF3UNCyt3ZnAa3QrcgcIz7t/YgrRie7UymAFb6Vi1NJv TIECIAoSKomLs9/F5VnZw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=EUhzDFxIVVqu/pyjdZqXX/0XSGZNI2SZHLvKJnHJAZ/g+LFkEgodDM++wLYYZN17I K2C73fbaM1DuvqGbEXe3Q==
Received: from pzk12 (pzk12.prod.google.com [10.243.19.140]) by hpaq5.eem.corp.google.com with ESMTP id o3JHjrH1025717 for <oauth@ietf.org>; Mon, 19 Apr 2010 19:45:54 +0200
Received: by pzk12 with SMTP id 12so3633437pzk.32 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:45:53 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Mon, 19 Apr 2010 10:45:33 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F059@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <2997F829-4755-44A8-ADD5-643BCE25AA61@gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E30A379C@P3PW5EX1MB01.EX1.SECURESERVER.NET> <65D588CD-A374-4F6B-8749-199C5DF83300@gmail.com> <x2kdaf5b9571004190836l2595e181obdb977045e11c49e@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F059@P3PW5EX1MB01.EX1.SECURESERVER.NET>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 19 Apr 2010 10:45:33 -0700
Received: by 10.141.101.17 with SMTP id d17mr3280564rvm.265.1271699153125;  Mon, 19 Apr 2010 10:45:53 -0700 (PDT)
Message-ID: <i2w74caaad21004191045v4c55ddc7p61d8f250210afc3b@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Clarification: authorization server matching of redirect URI
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 17:49:12 -0000

On Mon, Apr 19, 2010 at 8:39 AM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:
>
>
>> -----Original Message-----
>> From: Brian Eaton [mailto:beaton@google.com]
>> Sent: Monday, April 19, 2010 8:37 AM
>> To: Dick Hardt
>> Cc: Eran Hammer-Lahav; OAuth WG
>> Subject: Re: [OAUTH-WG] Clarification: authorization server matching of
>> redirect URI
>>
>> On Sun, Apr 18, 2010 at 10:35 PM, Dick Hardt <dick.hardt@gmail.com> wrot=
e:
>> > The spec should describe how the redirect URI is verified to what is
>> registered. I can enumerate the options for discussion adding in the sta=
te
>> parameter as an option.
>>
>> Note that there are two spots where the AS does some URI matching.
>>
>> The first is before redirecting the user to the callback URI. =A0This se=
ems
>> doomed to being service provider specific, unfortunately.
>
> I agree. If someone wants to suggest some security consideration text tha=
t would be good.

If this is authz server specific I can see the following problem:
- authz server 1 allows regular expressions in registered callback URLs
- client integrates with authz server 1 and designs its own
implementation based on these callback URLs, uses load balancing on
different hosts and passes state through query parameters
- authz server 2 comes along and it requires strict matching on callbacks
- client wants to integrate with authz server 2 as well, but will have
to rewrite everything because the load balancing and state
infrastructure will not work

In order to support interop I think it would be useful to specify how
callbacks are matched.

Proposal:
- path and query string are strictly matched (the spec has a state paramete=
r)
- host names can contain a wild card (to allow for load balancing)
- port and scheme strictly matched

For example:
- registered callback: https://*.example.com/client?controller=3Doauth2
- matching callbacks:
  https://example.com/client?controller=3Doauth2
  https://sv1.example.com/client?controller=3Doauth2
  https://sv2.n1.example.com/client?controller=3Doauth2
- not matching:
  https://example.net/client?controller=3Doauth2
  https://example.com/client?controller=3Doauth2&user=3Dx
  http://example.com/client?controller=3Doauth2
  https://example.com:8080/client?controller=3Doauth2


Marius

From eran@hueniverse.com  Mon Apr 19 10:58:52 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 3FF333A68C4 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 10:58:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.464
X-Spam-Level: 
X-Spam-Status: No, score=-2.464 tagged_above=-999 required=5 tests=[AWL=0.134,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 154apqgESbFC for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 10:58:50 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id C496E3A62C1 for <oauth@ietf.org>; Mon, 19 Apr 2010 10:58:50 -0700 (PDT)
Received: (qmail 17890 invoked from network); 19 Apr 2010 17:58:42 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 17:58:41 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Mon, 19 Apr 2010 10:58:41 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Evan Gilbert <uidude@google.com>
Date: Mon, 19 Apr 2010 10:58:44 -0700
Thread-Topic: [OAUTH-WG] Issue: 'username' parameter proposal
Thread-Index: Acrf4q30EqmoryWzR/6b55pceNojLQABsMbQ
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com> <C7F1C6AC.327EE%eran@hueniverse.com> <u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com>
In-Reply-To: <u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F163P3PW5EX1MB01E_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 17:58:52 -0000

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F163P3PW5EX1MB01E_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Thanks. That makes sense.

My concern is that the client will ask for a specific username but an attac=
ker will change that request before it hits the server. The server then ask=
s the (wrong) user to authenticate and returns a token. The client has no w=
ay of knowing it got an access token for the wrong user. Does requiring tha=
t the server returns the token with the username solves this? Is this a rea=
l issue?

I have no objections to this proposal but wanted to see some discussion and=
 support from others before adding it to the spec.

EHL

From: Evan Gilbert [mailto:uidude@google.com]
Sent: Monday, April 19, 2010 10:06 AM
To: Eran Hammer-Lahav
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal

User 1 is logged into Client site
User 2 is logged into IDP site

This can happen quite frequently, as client sites often have long-lived coo=
kies and may only be visited by one user on a shared computer.

Right now client site has no way to ask for a token for User 1, and end res=
ult will be that User 1 starts seeing User 2's data.

On Mon, Apr 19, 2010 at 8:37 AM, Eran Hammer-Lahav <eran@hueniverse.com<mai=
lto:eran@hueniverse.com>> wrote:
How can they both be logged in? I have never seen a case where two users ca=
n be both logged into to the same service at the same time...

EHL



On 4/19/10 8:33 AM, "Evan Gilbert" <uidude@google.com<http://uidude@google.=
com>> wrote:
More details on this enhancement.

Goal: Make sure you get an access token for the right user in immediate mod=
e.

Use case where we have problems if we don't have username parameter:

 1.  Bob is logged into a web site as bob@IDP.com<http://bob@IDP.com>.
 2.  Mary (his wife) is logged into IDP on the same computer as mary@IDP.co=
m<http://mary@IDP.com>
 3.  A request is made to get an access token via the User-Agent flow in im=
mediate mode (or with any redirect without prompting the user)
 4.  -ob now has an access token for Mary and (posts activities, schedules =
events, gets contacts) as Mary
 5.  Hilarity ensues

Secondary goal: Provide a hint for non-immediate mode

On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav <eran@hueniverse.com<ht=
tp://eran@hueniverse.com>> wrote:
Evan Gilbert proposed a 'username' request parameter to allow the client to
limit the end user to authenticate using the provided authorization server
identifier. The proposal has not been discussed or supported by others, and
has not received a security review.

Proposal: Obtain further discussion and support from others, as well as a
security review of the proposal. Otherwise, do nothing.

EHL

_______________________________________________
OAuth mailing list
OAuth@ietf.org<http://OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth



--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F163P3PW5EX1MB01E_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><meta http-equiv=3DContent-Type content=
=3D"text/html; charset=3Dus-ascii"><meta name=3DGenerator content=3D"Micros=
oft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri","sans-serif";}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:1829903801;
	mso-list-template-ids:-677484336;}
@list l1
	{mso-list-id:2128740967;
	mso-list-template-ids:-773153652;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue vli=
nk=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span style=3D'f=
ont-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Thanks. T=
hat makes sense.<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'f=
ont-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbs=
p;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;fon=
t-family:"Calibri","sans-serif";color:#1F497D'>My concern is that the clien=
t will ask for a specific username but an attacker will change that request=
 before it hits the server. The server then asks the (wrong) user to authen=
ticate and returns a token. The client has no way of knowing it got an acce=
ss token for the wrong user. Does requiring that the server returns the tok=
en with the username solves this? Is this a real issue?<o:p></o:p></span></=
p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri=
","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNor=
mal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";colo=
r:#1F497D'>I have no objections to this proposal but wanted to see some dis=
cussion and support from others before adding it to the spec.<o:p></o:p></s=
pan></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"C=
alibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3D=
MsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif=
";color:#1F497D'>EHL<o:p></o:p></span></p><p class=3DMsoNormal><span style=
=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p=
>&nbsp;</o:p></span></p><div style=3D'border:none;border-left:solid blue 1.=
5pt;padding:0in 0in 0in 4.0pt'><div><div style=3D'border:none;border-top:so=
lid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=3DMsoNormal><b><span =
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></=
b><span style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Evan =
Gilbert [mailto:uidude@google.com] <br><b>Sent:</b> Monday, April 19, 2010 =
10:06 AM<br><b>To:</b> Eran Hammer-Lahav<br><b>Cc:</b> OAuth WG<br><b>Subje=
ct:</b> Re: [OAUTH-WG] Issue: 'username' parameter proposal<o:p></o:p></spa=
n></p></div></div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoN=
ormal>User 1 is logged into Client site<o:p></o:p></p><div><p class=3DMsoNo=
rmal>User 2 is logged into IDP site<o:p></o:p></p></div><div><p class=3DMso=
Normal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>This can happen=
 quite frequently, as client sites often have long-lived cookies and may on=
ly be visited by one user on a shared computer.<o:p></o:p></p></div><div><p=
 class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>Rig=
ht now client site has no way to ask for a token for User 1, and end result=
 will be that User 1 starts seeing User 2's data.<o:p></o:p></p></div><div>=
<div><div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><div><p class=3DMs=
oNormal>On Mon, Apr 19, 2010 at 8:37 AM, Eran Hammer-Lahav &lt;<a href=3D"m=
ailto:eran@hueniverse.com" target=3D"_blank">eran@hueniverse.com</a>&gt; wr=
ote:<o:p></o:p></p><div><p class=3DMsoNormal><span style=3D'font-size:11.0p=
t;font-family:"Calibri","sans-serif"'>How can they both be logged in? I hav=
e never seen a case where two users can be both logged into to the same ser=
vice at the same time...<br><span style=3D'color:#888888'><br>EHL</span><o:=
p></o:p></span></p><div><div><p class=3DMsoNormal style=3D'margin-bottom:12=
.0pt'><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'><=
br><br><br>On 4/19/10 8:33 AM, &quot;Evan Gilbert&quot; &lt;<a href=3D"http=
://uidude@google.com" target=3D"_blank">uidude@google.com</a>&gt; wrote:<o:=
p></o:p></span></p></div></div><div><div><blockquote style=3D'margin-top:5.=
0pt;margin-bottom:5.0pt'><p class=3DMsoNormal><span style=3D'font-size:11.0=
pt;font-family:"Calibri","sans-serif"'>More details on this enhancement.<br=
><br>Goal: Make sure you get an access token for the right user in immediat=
e mode.<br><br>Use case where we have problems if we don't have username pa=
rameter:</span><o:p></o:p></p><ol start=3D1 type=3D1><li class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1 lev=
el1 lfo2'><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif=
"'>Bob is logged into a web site as <a href=3D"http://bob@IDP.com" target=
=3D"_blank">bob@IDP.com</a>. </span><o:p></o:p></li><li class=3DMsoNormal s=
tyle=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1 leve=
l1 lfo2'><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"=
'>Mary (his wife) is logged into IDP on the same computer as <a href=3D"htt=
p://mary@IDP.com" target=3D"_blank">mary@IDP.com</a> </span><o:p></o:p></li=
><li class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;mso-list:l1 level1 lfo2'><span style=3D'font-size:11.0pt;font-famil=
y:"Calibri","sans-serif"'>A request is made to get an access token via the =
User-Agent flow in immediate mode (or with any redirect without prompting t=
he user) </span><o:p></o:p></li><li class=3DMsoNormal style=3D'mso-margin-t=
op-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1 level1 lfo2'><span style=
=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'>-ob now has an acc=
ess token for Mary and (posts activities, schedules events, gets contacts) =
as Mary </span><o:p></o:p></li><li class=3DMsoNormal style=3D'mso-margin-to=
p-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1 level1 lfo2'><span style=
=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'>Hilarity ensues</s=
pan><o:p></o:p></li></ol><p class=3DMsoNormal><span style=3D'font-size:11.0=
pt;font-family:"Calibri","sans-serif"'><br>Secondary goal: Provide a hint f=
or non-immediate mode<br><br>On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-=
Lahav &lt;<a href=3D"http://eran@hueniverse.com" target=3D"_blank">eran@hue=
niverse.com</a>&gt; wrote:</span><o:p></o:p></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'>Evan Gilbert =
proposed a 'username' request parameter to allow the client to<br>limit the=
 end user to authenticate using the provided authorization server<br>identi=
fier. The proposal has not been discussed or supported by others, and<br>ha=
s not received a security review.<br><br>Proposal: Obtain further discussio=
n and support from others, as well as a<br>security review of the proposal.=
 Otherwise, do nothing.<br><br>EHL<br><br>_________________________________=
______________<br>OAuth mailing list<br><a href=3D"http://OAuth@ietf.org" t=
arget=3D"_blank">OAuth@ietf.org</a><br><a href=3D"https://www.ietf.org/mail=
man/listinfo/oauth" target=3D"_blank">https://www.ietf.org/mailman/listinfo=
/oauth</a></span><o:p></o:p></p><p class=3DMsoNormal style=3D'margin-bottom=
:12.0pt'><o:p>&nbsp;</o:p></p></blockquote></div></div></div></div><p class=
=3DMsoNormal><o:p>&nbsp;</o:p></p></div></div></div></div></div></div></bod=
y></html>=

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F163P3PW5EX1MB01E_--

From mscurtescu@google.com  Mon Apr 19 11:04:08 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AB6023A692F for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 11:04:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.883
X-Spam-Level: 
X-Spam-Status: No, score=-105.883 tagged_above=-999 required=5 tests=[AWL=0.094, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Itc07e9zogK1 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 11:04:08 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 4422F3A68E6 for <oauth@ietf.org>; Mon, 19 Apr 2010 11:04:07 -0700 (PDT)
Received: from hpaq1.eem.corp.google.com (hpaq1.eem.corp.google.com [10.3.21.1]) by smtp-out.google.com with ESMTP id o3JI3sOm031953 for <oauth@ietf.org>; Mon, 19 Apr 2010 11:03:58 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271700238; bh=UCyXC49gfClMU5o4jlS6XaatmGw=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=utvInZ+VLKCMM4SjSd0cAtRO0ttTojO03k4borLd7vwo6BzkTt0tT9rY3apYqgQpB NOUVAvsujwB4+yuR0qBfg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=sVjqIDuGVOp1eQnlq+I6IiXwVT5cyCfI5H/URHzKIFiB08jdSRBZt9oaUZk3VxgTP uS0UlhM8hNytaKwCKDu4Q==
Received: from pvg6 (pvg6.prod.google.com [10.241.210.134]) by hpaq1.eem.corp.google.com with ESMTP id o3JI3q4a005679 for <oauth@ietf.org>; Mon, 19 Apr 2010 20:03:53 +0200
Received: by pvg6 with SMTP id 6so3104650pvg.15 for <oauth@ietf.org>; Mon, 19 Apr 2010 11:03:52 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Mon, 19 Apr 2010 11:03:32 -0700 (PDT)
In-Reply-To: <C7F1D1FC.32809%eran@hueniverse.com>
References: <C7F1D1FC.32809%eran@hueniverse.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 19 Apr 2010 11:03:32 -0700
Received: by 10.140.251.10 with SMTP id y10mr4544819rvh.260.1271700232093;  Mon, 19 Apr 2010 11:03:52 -0700 (PDT)
Message-ID: <j2q74caaad21004191103l488ae334j78d5546479f66cb8@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 18:04:08 -0000

On Mon, Apr 19, 2010 at 9:25 AM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> Proposal:
>
> 'scope' is defined as a comma-separated list of resource URIs or resource
> groups (e.g. contacts, photos).

How will commas in URIs be escaped? We just forbid them?

If the scope elements are URIs then a space separated list is much
safer, URIs cannot contain spaces.

But, I still don't see the point on trying to define the scope structure.

Marius

From eran@hueniverse.com  Mon Apr 19 11:06:30 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7447F3A68C4 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 11:06:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.465
X-Spam-Level: 
X-Spam-Status: No, score=-2.465 tagged_above=-999 required=5 tests=[AWL=0.134,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id G0cV0XLsvT0K for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 11:06:29 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 807873A6836 for <oauth@ietf.org>; Mon, 19 Apr 2010 11:06:19 -0700 (PDT)
Received: (qmail 29003 invoked from network); 19 Apr 2010 18:06:11 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 18:06:11 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Mon, 19 Apr 2010 11:06:03 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 19 Apr 2010 11:06:07 -0700
Thread-Topic: [OAUTH-WG] Clarification: Authorization scheme :: Token vs OAuth
Thread-Index: Acrf4rF3l5cIBRUwTjaBWmfrisSo/QAB15PQ
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F16D@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <9CEC5DA2-6D5F-4CDB-80CD-D24F80E19969@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A3796@P3PW5EX1MB01.EX1.SECURESERVER.NET> <s2t74caaad21004191006rb29139f6lc9082b6b94afbec9@mail.gmail.com>
In-Reply-To: <s2t74caaad21004191006rb29139f6lc9082b6b94afbec9@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Clarification: Authorization scheme :: Token vs OAuth
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 18:06:30 -0000

Initially I don't think it is a problem because only OAuth 2 servers will u=
se it. Later it becomes a question of discovery and what you do once you ge=
t such a challenge from a server you are unfamiliar with.

I proposed Token because it is in line with other HTTP authentication schem=
es: Basic and Digest.

The name really doesn't matter that much, but I rather not use OAuth (to av=
oid the need to add oauth_version=3D2.0 to every header), and I rather not =
use a version number in the scheme name. If you don't like Token, feel free=
 to suggest something else. I think it is very accurate to what is being do=
ne.

Also keep in mind that there are going to be other flows issuing tokens, an=
d we already have both delegation and autonomous flows using the same schem=
e. So calling it OAuth doesn't really tell much more than Token. If I use a=
 new flow to get a token, it doesn't really matter what happens as long as =
I end up with a token (with or without a secret).

Does this make sense?

EHL

> -----Original Message-----
> From: Marius Scurtescu [mailto:mscurtescu@google.com]
> Sent: Monday, April 19, 2010 10:06 AM
> To: Eran Hammer-Lahav
> Cc: Dick Hardt; OAuth WG
> Subject: Re: [OAUTH-WG] Clarification: Authorization scheme :: Token vs
> OAuth
>=20
> Isn't "Token" as a scheme to generic/ambiguous?
>=20
> If a protected resource accepts several types of Authorization headers, h=
ow
> can it be sure this is an OAuth 2.0 token and not some other kind?
>=20
> If adding a version parameter is too verbose, how about "OAuth2" as
> scheme?
>=20
> Marius
>=20
>=20
>=20
> On Sun, Apr 18, 2010 at 10:05 PM, Eran Hammer-Lahav
> <eran@hueniverse.com> wrote:
> > Scheme is always case-insensitive per 2617.
> >
> >
> >
> > My reasons for using Token:
> >
> >
> >
> > 1. The scheme isn't specific to OAuth (which defines a model for
> > obtaining tokens). It is a generic way to use tokens for
> > authentication. Similar to how services use OAuth today for "2-legged"
> > authentication (using the signature method without an access token at
> > all), I expect services to use the Token scheme.
> >
> >
> >
> > 2. Doesn't conflict with OAuth 1.0, and doesn't require adding
> > oauth_version=3D2.0 to every request. The fact that 1.0 used a paramete=
r
> > name prefix in the *header* was bad enough.
> >
> >
> >
> > That discussion did not reach any consensus so I used the last
> > proposed text. If people have a problem with that I'll add it to the
> > open issues list.
> >
> >
> >
> > EHL
> >
> >
> >
> >
> >
> >
> >
> > From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> > Of Dick Hardt
> > Sent: Sunday, April 18, 2010 9:33 PM
> > To: OAuth WG
> > Subject: [OAUTH-WG] Clarification: Authorization scheme :: Token vs
> > OAuth
> >
> >
> >
> > I recall some earlier discussion on calling the scheme Token vs OAuth
> > and see that it is now Token per the example:
> >
> >
> >
> > Authorization: Token token=3D"vF9dft4qmT"
> >
> >
> >
> > Would explain or point out the logic of using Token rather than OAuth?
> >
> >
> >
> > A related question: is the scheme case sensitive?
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> >
> >

From eran@hueniverse.com  Mon Apr 19 11:15:15 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C036A3A6A0D for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 11:15:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.467
X-Spam-Level: 
X-Spam-Status: No, score=-2.467 tagged_above=-999 required=5 tests=[AWL=0.132,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pPtgUPhnrmwk for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 11:15:12 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 058A63A692A for <oauth@ietf.org>; Mon, 19 Apr 2010 11:14:39 -0700 (PDT)
Received: (qmail 7637 invoked from network); 19 Apr 2010 18:14:31 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 18:14:31 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Mon, 19 Apr 2010 11:14:29 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 19 Apr 2010 11:14:33 -0700
Thread-Topic: [OAUTH-WG] 'Scope' parameter proposal
Thread-Index: Acrf6q3ADNWNgVwCQsqW0aYYqdCG2wAAS9kQ
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F17F@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <j2q74caaad21004191103l488ae334j78d5546479f66cb8@mail.gmail.com>
In-Reply-To: <j2q74caaad21004191103l488ae334j78d5546479f66cb8@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 18:15:15 -0000

> -----Original Message-----
> From: Marius Scurtescu [mailto:mscurtescu@google.com]
> Sent: Monday, April 19, 2010 11:04 AM
> To: Eran Hammer-Lahav
> Cc: OAuth WG
> Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
>=20
> On Mon, Apr 19, 2010 at 9:25 AM, Eran Hammer-Lahav
> <eran@hueniverse.com> wrote:
> > Proposal:
> >
> > 'scope' is defined as a comma-separated list of resource URIs or
> > resource groups (e.g. contacts, photos).
>=20
> How will commas in URIs be escaped? We just forbid them?
>=20
> If the scope elements are URIs then a space separated list is much safer,=
 URIs
> cannot contain spaces.

Yep. I noted that in my proposal.

> But, I still don't see the point on trying to define the scope structure.

The same point in defining any other parameter - interop. I still haven't h=
eard an argument for not defining it. By definition everything we add to th=
e spec is meant to increase interop and should be well specified. If you wa=
nt to leave someone under specified, the burden is on your to argue why, no=
t on me to argue for it.

EHL

From eran@hueniverse.com  Mon Apr 19 11:20:20 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 242BC3A689A for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 11:20:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.468
X-Spam-Level: 
X-Spam-Status: No, score=-2.468 tagged_above=-999 required=5 tests=[AWL=0.131,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id N+PGkJgoUwe6 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 11:20:18 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 84B8F3A6836 for <oauth@ietf.org>; Mon, 19 Apr 2010 11:20:15 -0700 (PDT)
Received: (qmail 19116 invoked from network); 19 Apr 2010 18:20:06 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 18:20:06 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Mon, 19 Apr 2010 11:19:51 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 19 Apr 2010 11:19:54 -0700
Thread-Topic: [OAUTH-WG] Clarification: authorization server matching of redirect URI
Thread-Index: Acrf6CtjGaVFyvGlRhacun6PivpBZQABFsbw
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F188@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <2997F829-4755-44A8-ADD5-643BCE25AA61@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379C@P3PW5EX1MB01.EX1.SECURESERVER.NET> <65D588CD-A374-4F6B-8749-199C5DF83300@gmail.com> <x2kdaf5b9571004190836l2595e181obdb977045e11c49e@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F059@P3PW5EX1MB01.EX1.SECURESERVER.NET> <i2w74caaad21004191045v4c55ddc7p61d8f250210afc3b@mail.gmail.com>
In-Reply-To: <i2w74caaad21004191045v4c55ddc7p61d8f250210afc3b@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Clarification: authorization server matching of redirect URI
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 18:20:20 -0000

I am not sure we can specify how callbacks are registered which is where yo=
ur syntax resides. The whole registration process is out of scope. The serv=
er has *something* and needs to match the callback in the request to it.

My proposal is to provide a narrow facility with the client state parameter=
 which makes this simple, but somewhat limited, and allow servers to suppor=
t a more robust system using any client provided callback parameter.

My problem is that I don't know where to put these rules because we don't h=
ave a section dealing with callback registration.

EHL

> -----Original Message-----
> From: Marius Scurtescu [mailto:mscurtescu@google.com]
> Sent: Monday, April 19, 2010 10:46 AM
> To: Eran Hammer-Lahav
> Cc: Brian Eaton; Dick Hardt; OAuth WG
> Subject: Re: [OAUTH-WG] Clarification: authorization server matching of
> redirect URI
>=20
> On Mon, Apr 19, 2010 at 8:39 AM, Eran Hammer-Lahav
> <eran@hueniverse.com> wrote:
> >
> >
> >> -----Original Message-----
> >> From: Brian Eaton [mailto:beaton@google.com]
> >> Sent: Monday, April 19, 2010 8:37 AM
> >> To: Dick Hardt
> >> Cc: Eran Hammer-Lahav; OAuth WG
> >> Subject: Re: [OAUTH-WG] Clarification: authorization server matching
> >> of redirect URI
> >>
> >> On Sun, Apr 18, 2010 at 10:35 PM, Dick Hardt <dick.hardt@gmail.com>
> wrote:
> >> > The spec should describe how the redirect URI is verified to what
> >> > is
> >> registered. I can enumerate the options for discussion adding in the
> >> state parameter as an option.
> >>
> >> Note that there are two spots where the AS does some URI matching.
> >>
> >> The first is before redirecting the user to the callback URI. =A0This
> >> seems doomed to being service provider specific, unfortunately.
> >
> > I agree. If someone wants to suggest some security consideration text t=
hat
> would be good.
>=20
> If this is authz server specific I can see the following problem:
> - authz server 1 allows regular expressions in registered callback URLs
> - client integrates with authz server 1 and designs its own implementatio=
n
> based on these callback URLs, uses load balancing on different hosts and
> passes state through query parameters
> - authz server 2 comes along and it requires strict matching on callbacks
> - client wants to integrate with authz server 2 as well, but will have to=
 rewrite
> everything because the load balancing and state infrastructure will not w=
ork
>=20
> In order to support interop I think it would be useful to specify how cal=
lbacks
> are matched.
>=20
> Proposal:
> - path and query string are strictly matched (the spec has a state parame=
ter)
> - host names can contain a wild card (to allow for load balancing)
> - port and scheme strictly matched
>=20
> For example:
> - registered callback: https://*.example.com/client?controller=3Doauth2
> - matching callbacks:
>   https://example.com/client?controller=3Doauth2
>   https://sv1.example.com/client?controller=3Doauth2
>   https://sv2.n1.example.com/client?controller=3Doauth2
> - not matching:
>   https://example.net/client?controller=3Doauth2
>   https://example.com/client?controller=3Doauth2&user=3Dx
>   http://example.com/client?controller=3Doauth2
>   https://example.com:8080/client?controller=3Doauth2
>=20
>=20
> Marius

From eran@hueniverse.com  Mon Apr 19 11:50:51 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 73C193A696E for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 11:50:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.469
X-Spam-Level: 
X-Spam-Status: No, score=-2.469 tagged_above=-999 required=5 tests=[AWL=0.130,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id psajFR+nOLXO for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 11:50:50 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id ED6623A6951 for <oauth@ietf.org>; Mon, 19 Apr 2010 11:50:47 -0700 (PDT)
Received: (qmail 25188 invoked from network); 19 Apr 2010 18:50:39 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 18:50:39 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Mon, 19 Apr 2010 11:50:39 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 19 Apr 2010 11:50:34 -0700
Thread-Topic: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
Thread-Index: Acrf5VVFpsr7NIynS8eLTOE4G68tGQAC8lhw
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F1B7@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <s2m74caaad21004161758scdd1ab27t486ef22b8f12911d@mail.gmail.com> <C7EE5805.3244E%eran@hueniverse.com> <2513A610118CC14C8E622C376C8DEC93D54D66DD94@SC-MBXC1.TheFacebook.com> <o2s74caaad21004181338kbc3e0f29m5c77fb3ddfa55d56@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A37A3@P3PW5EX1MB01.EX1.SECURESERVER.NET> <v2p74caaad21004191025t7db11ea7t592a1dca3dcc41af@mail.gmail.com>
In-Reply-To: <v2p74caaad21004191025t7db11ea7t592a1dca3dcc41af@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: Authorization endpoint parameter extension policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 18:50:51 -0000

> -----Original Message-----
> From: Marius Scurtescu [mailto:mscurtescu@google.com]
> Sent: Monday, April 19, 2010 10:25 AM

> Maybe we should consider passing parameters some other way, and not part
> of query strings. JSON?

Please propose text.

EHL

From eran@hueniverse.com  Mon Apr 19 11:53:52 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AF4A33A6991 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 11:53:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.47
X-Spam-Level: 
X-Spam-Status: No, score=-2.47 tagged_above=-999 required=5 tests=[AWL=0.129,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PCAQFi6Btgcl for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 11:53:52 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id E28BF3A696E for <oauth@ietf.org>; Mon, 19 Apr 2010 11:53:51 -0700 (PDT)
Received: (qmail 29553 invoked from network); 19 Apr 2010 18:53:43 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 18:53:43 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Mon, 19 Apr 2010 11:53:39 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>, Dick Hardt <dick.hardt@gmail.com>
Date: Mon, 19 Apr 2010 11:53:42 -0700
Thread-Topic: [OAUTH-WG] Issue: state in web server flow
Thread-Index: Acrf5EbNdoKROtsaQ3qZeEw88z+1gAADQAmg
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F1BF@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <1E39CE38-763E-4E3D-96D4-DC757BD53B9D@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4776FFF7-45E6-4945-9548-382A9DB84A95@gmail.com> <r2v74caaad21004191017id7c48d54lc5ced6e9e164591e@mail.gmail.com>
In-Reply-To: <r2v74caaad21004191017id7c48d54lc5ced6e9e164591e@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: state in web server flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 18:53:52 -0000

> -----Original Message-----
> From: Marius Scurtescu [mailto:mscurtescu@google.com]
> Sent: Monday, April 19, 2010 10:18 AM

> I don't think it is possible to enforce callbacks without any query param=
eters.
> See the Drupal example.

In the Drupal example the client server adds its silly parameters internall=
y. They are not included in what the client provides as its callback URI.=20

Can you give an actual callback URI example?

Also, if the client requires query parameters in its callback, it just mean=
s it cannot use the client state OAuth parameter.

EHL

From torsten@lodderstedt.net  Mon Apr 19 12:04:15 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C67D63A6800 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 12:04:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.953
X-Spam-Level: 
X-Spam-Status: No, score=-1.953 tagged_above=-999 required=5 tests=[AWL=0.295,  BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 41iEoYH3l+hA for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 12:04:14 -0700 (PDT)
Received: from smtprelay04.ispgateway.de (smtprelay04.ispgateway.de [80.67.31.38]) by core3.amsl.com (Postfix) with ESMTP id 3EFD93A67B2 for <oauth@ietf.org>; Mon, 19 Apr 2010 12:04:02 -0700 (PDT)
Received: from p4fff2afb.dip.t-dialin.net ([79.255.42.251] helo=[127.0.0.1]) by smtprelay04.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O3wG7-0007ME-WA; Mon, 19 Apr 2010 21:03:52 +0200
Message-ID: <4BCCA913.3010800@lodderstedt.net>
Date: Mon, 19 Apr 2010 21:03:47 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Mike Moore <blowmage@gmail.com>
References: <h2yf5bedd151004190757q27927b65na3e5c5744a53526a@mail.gmail.com>	 <C7F1C3F0.327E6%eran@hueniverse.com> <n2lf5bedd151004190859u31ea13f4hbe2fbbe38d03de8f@mail.gmail.com>
In-Reply-To: <n2lf5bedd151004190859u31ea13f4hbe2fbbe38d03de8f@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------030600000005010901080002"
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 19:04:15 -0000

This is a multi-part message in MIME format.
--------------030600000005010901080002
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Am 19.04.2010 17:59, schrieb Mike Moore:
> On Mon, Apr 19, 2010 at 9:25 AM, Eran Hammer-Lahav 
> <eran@hueniverse.com <mailto:eran@hueniverse.com>> wrote:
>
>     You are missing the point.
>
>
> No, I get it. But what I like about OAuth 1.0 was its simplicity. I 
> don't see how allowing either the server or client 
> to suggest alternate encodings allows OAuth 2.0 to do more. I don't 
> think the added complexity is worth it. Not everything needs to be 
> configurable.

So what should be the singlemost encoding to be standardized? I would be 
unable to choose one.

 From my experiences, the optimal encoding primarily depends on the 
capabilities and style guides of a particular client platform. JSON is 
fine for JavaScript client, XML might be better for other client 
platforms, command line scripts can probably easier be implemented using 
plain text.

Our (proprietary) security token service offers different types of 
transport encoding, e.g. json and xml. This is highly appreciated by the 
client developers.

regards,
Torsten.

--------------030600000005010901080002
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Am 19.04.2010 17:59, schrieb Mike Moore:
<blockquote
 cite="mid:n2lf5bedd151004190859u31ea13f4hbe2fbbe38d03de8f@mail.gmail.com"
 type="cite">
  <div class="gmail_quote">On Mon, Apr 19, 2010 at 9:25 AM, Eran
Hammer-Lahav <span dir="ltr">&lt;<a moz-do-not-send="true"
 href="mailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt;</span>
wrote:<br>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">You
are missing the point.<br>
  </blockquote>
  <div><br>
  </div>
  <div>No, I get it. But what I like about OAuth 1.0 was its
simplicity. I don't see how allowing either the server or client
to&nbsp;suggest&nbsp;alternate encodings allows OAuth 2.0 to do more. I don't
think the added complexity is worth it. Not everything needs to be
configurable.</div>
  </div>
</blockquote>
<br>
So what should be the singlemost encoding to be standardized? I would
be unable to choose one.&nbsp; <br>
<br>
>From my experiences, the optimal encoding primarily depends on the
capabilities and style guides of a particular client platform. JSON is
fine for JavaScript client, XML might be better for other client
platforms, command line scripts can probably easier be implemented
using plain text. <br>
<br>
Our (proprietary) security token service offers different types of
transport encoding, e.g. json and xml. This is highly appreciated by
the client developers.<br>
<br>
regards,<br>
Torsten.<br>
</body>
</html>

--------------030600000005010901080002--


From torsten@lodderstedt.net  Mon Apr 19 12:19:14 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0AD443A68AB for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 12:19:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.965
X-Spam-Level: 
X-Spam-Status: No, score=-1.965 tagged_above=-999 required=5 tests=[AWL=0.283,  BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aUR1KAouEQ1C for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 12:19:12 -0700 (PDT)
Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.29.24]) by core3.amsl.com (Postfix) with ESMTP id A75823A6946 for <oauth@ietf.org>; Mon, 19 Apr 2010 12:19:11 -0700 (PDT)
Received: from p4fff2afb.dip.t-dialin.net ([79.255.42.251] helo=[127.0.0.1]) by smtprelay02.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O3wUn-00042b-98; Mon, 19 Apr 2010 21:19:01 +0200
Message-ID: <4BCCAC9F.6030208@lodderstedt.net>
Date: Mon, 19 Apr 2010 21:18:55 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com>	<C7F1C6AC.327EE%eran@hueniverse.com>	<u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET>
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Content-Type: multipart/alternative; boundary="------------070805030304090209060502"
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 19:19:14 -0000

This is a multi-part message in MIME format.
--------------070805030304090209060502
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

in oder to prevent such attacks, one could sign the inbound request

regards,
Torsten.

Am 19.04.2010 19:58, schrieb Eran Hammer-Lahav:
>
> Thanks. That makes sense.
>
> My concern is that the client will ask for a specific username but an 
> attacker will change that request before it hits the server. The 
> server then asks the (wrong) user to authenticate and returns a token. 
> The client has no way of knowing it got an access token for the wrong 
> user. Does requiring that the server returns the token with the 
> username solves this? Is this a real issue?
>
> I have no objections to this proposal but wanted to see some 
> discussion and support from others before adding it to the spec.
>
> EHL
>
> *From:* Evan Gilbert [mailto:uidude@google.com]
> *Sent:* Monday, April 19, 2010 10:06 AM
> *To:* Eran Hammer-Lahav
> *Cc:* OAuth WG
> *Subject:* Re: [OAUTH-WG] Issue: 'username' parameter proposal
>
> User 1 is logged into Client site
>
> User 2 is logged into IDP site
>
> This can happen quite frequently, as client sites often have 
> long-lived cookies and may only be visited by one user on a shared 
> computer.
>
> Right now client site has no way to ask for a token for User 1, and 
> end result will be that User 1 starts seeing User 2's data.
>
> On Mon, Apr 19, 2010 at 8:37 AM, Eran Hammer-Lahav 
> <eran@hueniverse.com <mailto:eran@hueniverse.com>> wrote:
>
> How can they both be logged in? I have never seen a case where two 
> users can be both logged into to the same service at the same time...
>
> EHL
>
>
>
>
> On 4/19/10 8:33 AM, "Evan Gilbert" <uidude@google.com 
> <http://uidude@google.com>> wrote:
>
>     More details on this enhancement.
>
>     Goal: Make sure you get an access token for the right user in
>     immediate mode.
>
>     Use case where we have problems if we don't have username parameter:
>
>        1. Bob is logged into a web site as bob@IDP.com
>           <http://bob@IDP.com>.
>        2. Mary (his wife) is logged into IDP on the same computer as
>           mary@IDP.com <http://mary@IDP.com>
>        3. A request is made to get an access token via the User-Agent
>           flow in immediate mode (or with any redirect without
>           prompting the user)
>        4. -ob now has an access token for Mary and (posts activities,
>           schedules events, gets contacts) as Mary
>        5. Hilarity ensues
>
>
>     Secondary goal: Provide a hint for non-immediate mode
>
>     On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav
>     <eran@hueniverse.com <http://eran@hueniverse.com>> wrote:
>
>     Evan Gilbert proposed a 'username' request parameter to allow the
>     client to
>     limit the end user to authenticate using the provided
>     authorization server
>     identifier. The proposal has not been discussed or supported by
>     others, and
>     has not received a security review.
>
>     Proposal: Obtain further discussion and support from others, as
>     well as a
>     security review of the proposal. Otherwise, do nothing.
>
>     EHL
>
>     _______________________________________________
>     OAuth mailing list
>     OAuth@ietf.org <http://OAuth@ietf.org>
>     https://www.ietf.org/mailman/listinfo/oauth
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    


--------------070805030304090209060502
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
in oder to prevent such attacks, one could sign the inbound request <br>
<br>
regards,<br>
Torsten.<br>
<br>
Am 19.04.2010 19:58, schrieb Eran Hammer-Lahav:
<blockquote
 cite="mid:90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET"
 type="cite">
  <meta http-equiv="Content-Type"
 content="text/html; charset=ISO-8859-1">
  <meta name="Generator" content="Microsoft Word 14 (filtered medium)">
  <style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri","sans-serif";}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:1829903801;
	mso-list-template-ids:-677484336;}
@list l1
	{mso-list-id:2128740967;
	mso-list-template-ids:-773153652;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
  <div class="WordSection1">
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">Thanks.
That makes sense.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>&nbsp;</o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">My
concern is that the client will ask for a specific username but an
attacker will change that request before it hits the server. The server
then asks the (wrong) user to authenticate and returns a token. The
client has no way of knowing it got an access token for the wrong user.
Does requiring that the server returns the token with the username
solves this? Is this a real issue?<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>&nbsp;</o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">I
have no objections to this proposal but wanted to see some discussion
and support from others before adding it to the spec.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>&nbsp;</o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">EHL<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>&nbsp;</o:p></span></p>
  <div
 style="border-style: none none none solid; border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color blue; border-width: medium medium medium 1.5pt; padding: 0in 0in 0in 4pt;">
  <div>
  <div
 style="border-style: solid none none; border-color: rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">
  <p class="MsoNormal"><b><span
 style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;">From:</span></b><span
 style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;"> Evan
Gilbert [<a class="moz-txt-link-freetext" href="mailto:uidude@google.com">mailto:uidude@google.com</a>] <br>
  <b>Sent:</b> Monday, April 19, 2010 10:06 AM<br>
  <b>To:</b> Eran Hammer-Lahav<br>
  <b>Cc:</b> OAuth WG<br>
  <b>Subject:</b> Re: [OAUTH-WG] Issue: 'username' parameter proposal<o:p></o:p></span></p>
  </div>
  </div>
  <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
  <p class="MsoNormal">User 1 is logged into Client site<o:p></o:p></p>
  <div>
  <p class="MsoNormal">User 2 is logged into IDP site<o:p></o:p></p>
  </div>
  <div>
  <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
  </div>
  <div>
  <p class="MsoNormal">This can happen quite frequently, as client
sites often have long-lived cookies and may only be visited by one user
on a shared computer.<o:p></o:p></p>
  </div>
  <div>
  <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
  </div>
  <div>
  <p class="MsoNormal">Right now client site has no way to ask for a
token for User 1, and end result will be that User 1 starts seeing User
2's data.<o:p></o:p></p>
  </div>
  <div>
  <div>
  <div>
  <div>
  <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
  <div>
  <p class="MsoNormal">On Mon, Apr 19, 2010 at 8:37 AM, Eran
Hammer-Lahav &lt;<a moz-do-not-send="true"
 href="mailto:eran@hueniverse.com" target="_blank">eran@hueniverse.com</a>&gt;
wrote:<o:p></o:p></p>
  <div>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">How can
they both be logged in? I have never seen a case where two users can be
both logged into to the same service at the same time...<br>
  <span style="color: rgb(136, 136, 136);"><br>
EHL</span><o:p></o:p></span></p>
  <div>
  <div>
  <p class="MsoNormal" style="margin-bottom: 12pt;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;"><br>
  <br>
  <br>
On 4/19/10 8:33 AM, "Evan Gilbert" &lt;<a moz-do-not-send="true"
 href="http://uidude@google.com" target="_blank">uidude@google.com</a>&gt;
wrote:<o:p></o:p></span></p>
  </div>
  </div>
  <div>
  <div>
  <blockquote style="margin-top: 5pt; margin-bottom: 5pt;">
    <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">More
details on this enhancement.<br>
    <br>
Goal: Make sure you get an access token for the right user in immediate
mode.<br>
    <br>
Use case where we have problems if we don't have username parameter:</span><o:p></o:p></p>
    <ol start="1" type="1">
      <li class="MsoNormal" style=""><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">Bob is
logged into a web site as <a moz-do-not-send="true"
 href="http://bob@IDP.com" target="_blank">bob@IDP.com</a>. </span><o:p></o:p></li>
      <li class="MsoNormal" style=""><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">Mary
(his wife) is logged into IDP on the same computer as <a
 moz-do-not-send="true" href="http://mary@IDP.com" target="_blank">mary@IDP.com</a>
        </span><o:p></o:p></li>
      <li class="MsoNormal" style=""><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">A
request is made to get an access token via the User-Agent flow in
immediate mode (or with any redirect without prompting the user) </span><o:p></o:p></li>
      <li class="MsoNormal" style=""><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">-ob now
has an access token for Mary and (posts activities, schedules events,
gets contacts) as Mary </span><o:p></o:p></li>
      <li class="MsoNormal" style=""><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">Hilarity
ensues</span><o:p></o:p></li>
    </ol>
    <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;"><br>
Secondary goal: Provide a hint for non-immediate mode<br>
    <br>
On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav &lt;<a
 moz-do-not-send="true" href="http://eran@hueniverse.com"
 target="_blank">eran@hueniverse.com</a>&gt; wrote:</span><o:p></o:p></p>
    <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">Evan
Gilbert proposed a 'username' request parameter to allow the client to<br>
limit the end user to authenticate using the provided authorization
server<br>
identifier. The proposal has not been discussed or supported by others,
and<br>
has not received a security review.<br>
    <br>
Proposal: Obtain further discussion and support from others, as well as
a<br>
security review of the proposal. Otherwise, do nothing.<br>
    <br>
EHL<br>
    <br>
_______________________________________________<br>
OAuth mailing list<br>
    <a moz-do-not-send="true" href="http://OAuth@ietf.org"
 target="_blank">OAuth@ietf.org</a><br>
    <a moz-do-not-send="true"
 href="https://www.ietf.org/mailman/listinfo/oauth" target="_blank">https://www.ietf.org/mailman/listinfo/oauth</a></span><o:p></o:p></p>
    <p class="MsoNormal" style="margin-bottom: 12pt;"><o:p>&nbsp;</o:p></p>
  </blockquote>
  </div>
  </div>
  </div>
  </div>
  <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
  </div>
  </div>
  </div>
  </div>
  </div>
  </div>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>
  </pre>
</blockquote>
<br>
</body>
</html>

--------------070805030304090209060502--


From blowmage@gmail.com  Mon Apr 19 12:38:02 2010
Return-Path: <blowmage@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D89043A6A12 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 12:38:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dAsAVPdTcED2 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 12:38:02 -0700 (PDT)
Received: from mail-pz0-f191.google.com (mail-pz0-f191.google.com [209.85.222.191]) by core3.amsl.com (Postfix) with ESMTP id 466603A68BA for <oauth@ietf.org>; Mon, 19 Apr 2010 12:38:00 -0700 (PDT)
Received: by pzk29 with SMTP id 29so4621824pzk.29 for <oauth@ietf.org>; Mon, 19 Apr 2010 12:37:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=wQaG1t+ud+pwuj3z1DvN51QMWsOpeUQv+IP6WY/cFOk=; b=DZBB+mz0L/0CyCYR101C9TmaChYAhCSa/ZCzvT+BrpZ43qSnyTgwprUvkfg0C2wLXy zrw5x91g6pENiuWq1a/6Hp1OkdhXECb0aFPcu5WGNUat9rEK0BhRRKDp2xImzq1ZLqD9 CKeQYvsebRSh06wlVn+afV/xGtD/JWVpcG1Dg=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=tuvUeqFcsDydkC8Povv3SukaKBOoom/UFX76k7fTxxfKLhWMQym/p8hblzps5+HDiZ KpRqcLYarDZtpfZ/AYS3r48iYxnVYrjwZ/qLgpA+8TYMZNAQGMvPdJhINezycPSlBZHr FBMhhy/PtQR9N3A1uh1h778ayWIGmztNEtrZ8=
MIME-Version: 1.0
Received: by 10.231.192.138 with HTTP; Mon, 19 Apr 2010 12:37:48 -0700 (PDT)
In-Reply-To: <4BCCA913.3010800@lodderstedt.net>
References: <h2yf5bedd151004190757q27927b65na3e5c5744a53526a@mail.gmail.com> <C7F1C3F0.327E6%eran@hueniverse.com> <n2lf5bedd151004190859u31ea13f4hbe2fbbe38d03de8f@mail.gmail.com> <4BCCA913.3010800@lodderstedt.net>
Date: Mon, 19 Apr 2010 13:37:48 -0600
Received: by 10.140.82.9 with SMTP id f9mr4728591rvb.130.1271705868993; Mon,  19 Apr 2010 12:37:48 -0700 (PDT)
Message-ID: <k2mf5bedd151004191237k27923ecfo1af9e591582027fa@mail.gmail.com>
From: Mike Moore <blowmage@gmail.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Content-Type: multipart/alternative; boundary=000e0cd146f89483d904849c1819
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 19:38:03 -0000

--000e0cd146f89483d904849c1819
Content-Type: text/plain; charset=ISO-8859-1

On Mon, Apr 19, 2010 at 1:03 PM, Torsten Lodderstedt <
torsten@lodderstedt.net> wrote:

>
> So what should be the singlemost encoding to be standardized? I would be
> unable to choose one.
>

I think form encoding is just fine. Its lightweight, minimalistic, and easy
to implement. I don't see a reason to switch from the 1.0 spec.

If the issue is poor implementations or devs not reading the spec, then
perhaps we should discuss a series of executable specs or a reference
implementation. (I know I sure could have used that when I implemented
OAuth.) Just my two cents.

--000e0cd146f89483d904849c1819
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div class=3D"gmail_quote">On Mon, Apr 19, 2010 at 1:03 PM, Torsten Lodders=
tedt <span dir=3D"ltr">&lt;<a href=3D"mailto:torsten@lodderstedt.net">torst=
en@lodderstedt.net</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quot=
e" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"=
>



 =20

<div bgcolor=3D"#ffffff" text=3D"#000000"><div class=3D"im"><br></div>
So what should be the singlemost encoding to be standardized? I would
be unable to choose one.=A0 <br></div></blockquote><div><br></div><div>I th=
ink form encoding is just fine. Its lightweight, minimalistic, and easy to =
implement. I don&#39;t see a reason to switch from the 1.0 spec.</div><div>
<br></div><div>If the issue is poor implementations or devs not reading the=
 spec, then perhaps we should discuss a series of executable specs or a ref=
erence implementation. (I know I sure could have used that when I implement=
ed OAuth.) Just my two cents.</div>
</div>

--000e0cd146f89483d904849c1819--

From eran@hueniverse.com  Mon Apr 19 13:14:46 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9C76528C101 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 13:14:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.471
X-Spam-Level: 
X-Spam-Status: No, score=-2.471 tagged_above=-999 required=5 tests=[AWL=0.127,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EaYLwQh2iHlH for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 13:14:43 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 22BC53A6B09 for <oauth@ietf.org>; Mon, 19 Apr 2010 13:14:38 -0700 (PDT)
Received: (qmail 19650 invoked from network); 19 Apr 2010 20:14:29 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 20:14:28 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Mon, 19 Apr 2010 13:14:28 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Date: Mon, 19 Apr 2010 13:14:31 -0700
Thread-Topic: [OAUTH-WG] Issue: 'username' parameter proposal
Thread-Index: Acrf9S1B8+VNvy7RQqGX/ycvc960uAAB6faA
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F23D@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com> <C7F1C6AC.327EE%eran@hueniverse.com> <u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BCCAC9F.6030208@lodderstedt.net>
In-Reply-To: <4BCCAC9F.6030208@lodderstedt.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F23DP3PW5EX1MB01E_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 20:14:46 -0000

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F23DP3PW5EX1MB01E_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Which is something we decided not to do when we discussed the use of signat=
ures.

EHL

From: Torsten Lodderstedt [mailto:torsten@lodderstedt.net]
Sent: Monday, April 19, 2010 12:19 PM
To: Eran Hammer-Lahav
Cc: Evan Gilbert; OAuth WG
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal

in oder to prevent such attacks, one could sign the inbound request

regards,
Torsten.

Am 19.04.2010 19:58, schrieb Eran Hammer-Lahav:
Thanks. That makes sense.

My concern is that the client will ask for a specific username but an attac=
ker will change that request before it hits the server. The server then ask=
s the (wrong) user to authenticate and returns a token. The client has no w=
ay of knowing it got an access token for the wrong user. Does requiring tha=
t the server returns the token with the username solves this? Is this a rea=
l issue?

I have no objections to this proposal but wanted to see some discussion and=
 support from others before adding it to the spec.

EHL

From: Evan Gilbert [mailto:uidude@google.com]
Sent: Monday, April 19, 2010 10:06 AM
To: Eran Hammer-Lahav
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal

User 1 is logged into Client site
User 2 is logged into IDP site

This can happen quite frequently, as client sites often have long-lived coo=
kies and may only be visited by one user on a shared computer.

Right now client site has no way to ask for a token for User 1, and end res=
ult will be that User 1 starts seeing User 2's data.

On Mon, Apr 19, 2010 at 8:37 AM, Eran Hammer-Lahav <eran@hueniverse.com<mai=
lto:eran@hueniverse.com>> wrote:
How can they both be logged in? I have never seen a case where two users ca=
n be both logged into to the same service at the same time...

EHL



On 4/19/10 8:33 AM, "Evan Gilbert" <uidude@google.com<http://uidude@google.=
com>> wrote:
More details on this enhancement.

Goal: Make sure you get an access token for the right user in immediate mod=
e.

Use case where we have problems if we don't have username parameter:

 1.  Bob is logged into a web site as bob@IDP.com<http://bob@IDP.com>.
 2.  Mary (his wife) is logged into IDP on the same computer as mary@IDP.co=
m<http://mary@IDP.com>
 3.  A request is made to get an access token via the User-Agent flow in im=
mediate mode (or with any redirect without prompting the user)
 4.  -ob now has an access token for Mary and (posts activities, schedules =
events, gets contacts) as Mary
 5.  Hilarity ensues

Secondary goal: Provide a hint for non-immediate mode

On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav <eran@hueniverse.com<ht=
tp://eran@hueniverse.com>> wrote:
Evan Gilbert proposed a 'username' request parameter to allow the client to
limit the end user to authenticate using the provided authorization server
identifier. The proposal has not been discussed or supported by others, and
has not received a security review.

Proposal: Obtain further discussion and support from others, as well as a
security review of the proposal. Otherwise, do nothing.

EHL

_______________________________________________
OAuth mailing list
OAuth@ietf.org<http://OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth







_______________________________________________

OAuth mailing list

OAuth@ietf.org<mailto:OAuth@ietf.org>

https://www.ietf.org/mailman/listinfo/oauth




--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F23DP3PW5EX1MB01E_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV=3D"Content-Type" CONTENT=
=3D"text/html; charset=3Dus-ascii"><meta name=3DGenerator content=3D"Micros=
oft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	color:black;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";
	color:black;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";
	color:black;}
span.EmailStyle17
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:Consolas;
	color:black;}
span.EmailStyle20
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";
	font-family:"Tahoma","sans-serif";
	color:black;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:1270549835;
	mso-list-template-ids:775606150;}
@list l1
	{mso-list-id:1623875999;
	mso-list-template-ids:-1439133174;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body bgcolor=3Dwhite lang=3DEN-US=
 link=3Dblue vlink=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal>=
<span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1=
F497D'>Which is something we decided not to do when we discussed the use of=
 signatures.<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-=
size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</=
o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-fa=
mily:"Calibri","sans-serif";color:#1F497D'>EHL<o:p></o:p></span></p><p clas=
s=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-s=
erif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div style=3D'border:none;=
border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div style=3D'=
border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p cl=
ass=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma","sa=
ns-serif";color:windowtext'>From:</span></b><span style=3D'font-size:10.0pt=
;font-family:"Tahoma","sans-serif";color:windowtext'> Torsten Lodderstedt [=
mailto:torsten@lodderstedt.net] <br><b>Sent:</b> Monday, April 19, 2010 12:=
19 PM<br><b>To:</b> Eran Hammer-Lahav<br><b>Cc:</b> Evan Gilbert; OAuth WG<=
br><b>Subject:</b> Re: [OAUTH-WG] Issue: 'username' parameter proposal<o:p>=
</o:p></span></p></div></div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p c=
lass=3DMsoNormal>in oder to prevent such attacks, one could sign the inboun=
d request <br><br>regards,<br>Torsten.<br><br>Am 19.04.2010 19:58, schrieb =
Eran Hammer-Lahav: <o:p></o:p></p><p class=3DMsoNormal><span style=3D'font-=
size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Thanks. That =
makes sense.</span><o:p></o:p></p><p class=3DMsoNormal><span style=3D'font-=
size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>&nbsp;</span>=
<o:p></o:p></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-fa=
mily:"Calibri","sans-serif";color:#1F497D'>My concern is that the client wi=
ll ask for a specific username but an attacker will change that request bef=
ore it hits the server. The server then asks the (wrong) user to authentica=
te and returns a token. The client has no way of knowing it got an access t=
oken for the wrong user. Does requiring that the server returns the token w=
ith the username solves this? Is this a real issue?</span><o:p></o:p></p><p=
 class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","s=
ans-serif";color:#1F497D'>&nbsp;</span><o:p></o:p></p><p class=3DMsoNormal>=
<span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1=
F497D'>I have no objections to this proposal but wanted to see some discuss=
ion and support from others before adding it to the spec.</span><o:p></o:p>=
</p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calib=
ri","sans-serif";color:#1F497D'>&nbsp;</span><o:p></o:p></p><p class=3DMsoN=
ormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";co=
lor:#1F497D'>EHL</span><o:p></o:p></p><p class=3DMsoNormal><span style=3D'f=
ont-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>&nbsp;</s=
pan><o:p></o:p></p><div style=3D'border:none;border-left:solid windowtext 1=
.5pt;padding:0in 0in 0in 4.0pt;border-color:-moz-use-text-color -moz-use-te=
xt-color -moz-use-text-color blue'><div><div style=3D'border:none;border-to=
p:solid windowtext 1.0pt;padding:3.0pt 0in 0in 0in;border-color:-moz-use-te=
xt-color -moz-use-text-color'><p class=3DMsoNormal><b><span style=3D'font-s=
ize:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style=
=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Evan Gilbert [<a h=
ref=3D"mailto:uidude@google.com">mailto:uidude@google.com</a>] <br><b>Sent:=
</b> Monday, April 19, 2010 10:06 AM<br><b>To:</b> Eran Hammer-Lahav<br><b>=
Cc:</b> OAuth WG<br><b>Subject:</b> Re: [OAUTH-WG] Issue: 'username' parame=
ter proposal</span><o:p></o:p></p></div></div><p class=3DMsoNormal>&nbsp;<o=
:p></o:p></p><p class=3DMsoNormal>User 1 is logged into Client site<o:p></o=
:p></p><div><p class=3DMsoNormal>User 2 is logged into IDP site<o:p></o:p><=
/p></div><div><p class=3DMsoNormal>&nbsp;<o:p></o:p></p></div><div><p class=
=3DMsoNormal>This can happen quite frequently, as client sites often have l=
ong-lived cookies and may only be visited by one user on a shared computer.=
<o:p></o:p></p></div><div><p class=3DMsoNormal>&nbsp;<o:p></o:p></p></div><=
div><p class=3DMsoNormal>Right now client site has no way to ask for a toke=
n for User 1, and end result will be that User 1 starts seeing User 2's dat=
a.<o:p></o:p></p></div><div><div><div><div><p class=3DMsoNormal>&nbsp;<o:p>=
</o:p></p><div><p class=3DMsoNormal>On Mon, Apr 19, 2010 at 8:37 AM, Eran H=
ammer-Lahav &lt;<a href=3D"mailto:eran@hueniverse.com" target=3D"_blank">er=
an@hueniverse.com</a>&gt; wrote:<o:p></o:p></p><div><p class=3DMsoNormal><s=
pan style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'>How can t=
hey both be logged in? I have never seen a case where two users can be both=
 logged into to the same service at the same time...<br></span><span style=
=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#888888'><br>=
EHL</span><o:p></o:p></p><div><div><p class=3DMsoNormal style=3D'margin-bot=
tom:12.0pt'><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-ser=
if"'><br><br><br>On 4/19/10 8:33 AM, &quot;Evan Gilbert&quot; &lt;<a href=
=3D"http://uidude@google.com" target=3D"_blank">uidude@google.com</a>&gt; w=
rote:</span><o:p></o:p></p></div></div><div><div><blockquote style=3D'margi=
n-top:5.0pt;margin-bottom:5.0pt'><p class=3DMsoNormal><span style=3D'font-s=
ize:11.0pt;font-family:"Calibri","sans-serif"'>More details on this enhance=
ment.<br><br>Goal: Make sure you get an access token for the right user in =
immediate mode.<br><br>Use case where we have problems if we don't have use=
rname parameter:</span><o:p></o:p></p><ol style=3D'margin-top:0in' start=3D=
1 type=3D1><li class=3DMsoNormal style=3D'mso-list:l0 level1 lfo2'><span st=
yle=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'>Bob is logged i=
nto a web site as <a href=3D"http://bob@IDP.com" target=3D"_blank">bob@IDP.=
com</a>. </span><o:p></o:p></li><li class=3DMsoNormal style=3D'mso-list:l0 =
level1 lfo2'><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-se=
rif"'>Mary (his wife) is logged into IDP on the same computer as <a href=3D=
"http://mary@IDP.com" target=3D"_blank">mary@IDP.com</a> </span><o:p></o:p>=
</li><li class=3DMsoNormal style=3D'mso-list:l0 level1 lfo2'><span style=3D=
'font-size:11.0pt;font-family:"Calibri","sans-serif"'>A request is made to =
get an access token via the User-Agent flow in immediate mode (or with any =
redirect without prompting the user) </span><o:p></o:p></li><li class=3DMso=
Normal style=3D'mso-list:l0 level1 lfo2'><span style=3D'font-size:11.0pt;fo=
nt-family:"Calibri","sans-serif"'>-ob now has an access token for Mary and =
(posts activities, schedules events, gets contacts) as Mary </span><o:p></o=
:p></li><li class=3DMsoNormal style=3D'mso-list:l0 level1 lfo2'><span style=
=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'>Hilarity ensues</s=
pan><o:p></o:p></li></ol><p class=3DMsoNormal><span style=3D'font-size:11.0=
pt;font-family:"Calibri","sans-serif"'><br>Secondary goal: Provide a hint f=
or non-immediate mode<br><br>On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-=
Lahav &lt;<a href=3D"http://eran@hueniverse.com" target=3D"_blank">eran@hue=
niverse.com</a>&gt; wrote:</span><o:p></o:p></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'>Evan Gilbert =
proposed a 'username' request parameter to allow the client to<br>limit the=
 end user to authenticate using the provided authorization server<br>identi=
fier. The proposal has not been discussed or supported by others, and<br>ha=
s not received a security review.<br><br>Proposal: Obtain further discussio=
n and support from others, as well as a<br>security review of the proposal.=
 Otherwise, do nothing.<br><br>EHL<br><br>_________________________________=
______________<br>OAuth mailing list<br><a href=3D"http://OAuth@ietf.org" t=
arget=3D"_blank">OAuth@ietf.org</a><br><a href=3D"https://www.ietf.org/mail=
man/listinfo/oauth" target=3D"_blank">https://www.ietf.org/mailman/listinfo=
/oauth</a></span><o:p></o:p></p><p class=3DMsoNormal style=3D'margin-bottom=
:12.0pt'>&nbsp;<o:p></o:p></p></blockquote></div></div></div></div><p class=
=3DMsoNormal>&nbsp;<o:p></o:p></p></div></div></div></div></div><pre><o:p>&=
nbsp;</o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>_________________________=
______________________<o:p></o:p></pre><pre>OAuth mailing list<o:p></o:p></=
pre><pre><a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><o:p></o:p></p=
re><pre><a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www=
.ietf.org/mailman/listinfo/oauth</a><o:p></o:p></pre><pre>&nbsp; <o:p></o:p=
></pre><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div></div></body></html>=

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F23DP3PW5EX1MB01E_--

From torsten@lodderstedt.net  Mon Apr 19 13:34:37 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B96CB3A67FA for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 13:34:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.976
X-Spam-Level: 
X-Spam-Status: No, score=-1.976 tagged_above=-999 required=5 tests=[AWL=0.272,  BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pmIEHqTzN1ge for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 13:34:36 -0700 (PDT)
Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.31.29]) by core3.amsl.com (Postfix) with ESMTP id D11163A63EB for <oauth@ietf.org>; Mon, 19 Apr 2010 13:34:34 -0700 (PDT)
Received: from p4fff2afb.dip.t-dialin.net ([79.255.42.251] helo=[127.0.0.1]) by smtprelay02.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O3xfk-0001C6-3z; Mon, 19 Apr 2010 22:34:24 +0200
Message-ID: <4BCCBE4C.2040802@lodderstedt.net>
Date: Mon, 19 Apr 2010 22:34:20 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com>	<C7F1C6AC.327EE%eran@hueniverse.com>	<u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BCCAC9F.6030208@lodderstedt.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F23D@P3PW5EX1MB01.EX1.SECURESERVER.NET>
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F23D@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Content-Type: multipart/alternative; boundary="------------010902070708040005080808"
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 20:34:37 -0000

This is a multi-part message in MIME format.
--------------010902070708040005080808
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Do you mean the thread "Signatures, Why?" 
(http://trac.tools.ietf.org/wg/oauth/trac/wiki/SignaturesWhy)?

I cannot remember that there was a consensus not to use signatures on 
requests to the authorization server.

regards,
Torsten.

Am 19.04.2010 22:14, schrieb Eran Hammer-Lahav:
>
> Which is something we decided not to do when we discussed the use of 
> signatures.
>
> EHL
>
> *From:* Torsten Lodderstedt [mailto:torsten@lodderstedt.net]
> *Sent:* Monday, April 19, 2010 12:19 PM
> *To:* Eran Hammer-Lahav
> *Cc:* Evan Gilbert; OAuth WG
> *Subject:* Re: [OAUTH-WG] Issue: 'username' parameter proposal
>
> in oder to prevent such attacks, one could sign the inbound request
>
> regards,
> Torsten.
>
> Am 19.04.2010 19:58, schrieb Eran Hammer-Lahav:
>
> Thanks. That makes sense.
>
> My concern is that the client will ask for a specific username but an 
> attacker will change that request before it hits the server. The 
> server then asks the (wrong) user to authenticate and returns a token. 
> The client has no way of knowing it got an access token for the wrong 
> user. Does requiring that the server returns the token with the 
> username solves this? Is this a real issue?
>
> I have no objections to this proposal but wanted to see some 
> discussion and support from others before adding it to the spec.
>
> EHL
>
> *From:* Evan Gilbert [mailto:uidude@google.com]
> *Sent:* Monday, April 19, 2010 10:06 AM
> *To:* Eran Hammer-Lahav
> *Cc:* OAuth WG
> *Subject:* Re: [OAUTH-WG] Issue: 'username' parameter proposal
>
> User 1 is logged into Client site
>
> User 2 is logged into IDP site
>
> This can happen quite frequently, as client sites often have 
> long-lived cookies and may only be visited by one user on a shared 
> computer.
>
> Right now client site has no way to ask for a token for User 1, and 
> end result will be that User 1 starts seeing User 2's data.
>
> On Mon, Apr 19, 2010 at 8:37 AM, Eran Hammer-Lahav 
> <eran@hueniverse.com <mailto:eran@hueniverse.com>> wrote:
>
> How can they both be logged in? I have never seen a case where two 
> users can be both logged into to the same service at the same time...
>
> EHL
>
>
>
>
> On 4/19/10 8:33 AM, "Evan Gilbert" <uidude@google.com 
> <http://uidude@google.com>> wrote:
>
>     More details on this enhancement.
>
>     Goal: Make sure you get an access token for the right user in
>     immediate mode.
>
>     Use case where we have problems if we don't have username parameter:
>
>        1. Bob is logged into a web site as bob@IDP.com
>           <http://bob@IDP.com>.
>        2. Mary (his wife) is logged into IDP on the same computer as
>           mary@IDP.com <http://mary@IDP.com>
>        3. A request is made to get an access token via the User-Agent
>           flow in immediate mode (or with any redirect without
>           prompting the user)
>        4. -ob now has an access token for Mary and (posts activities,
>           schedules events, gets contacts) as Mary
>        5. Hilarity ensues
>
>
>     Secondary goal: Provide a hint for non-immediate mode
>
>     On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav
>     <eran@hueniverse.com <http://eran@hueniverse.com>> wrote:
>
>     Evan Gilbert proposed a 'username' request parameter to allow the
>     client to
>     limit the end user to authenticate using the provided
>     authorization server
>     identifier. The proposal has not been discussed or supported by
>     others, and
>     has not received a security review.
>
>     Proposal: Obtain further discussion and support from others, as
>     well as a
>     security review of the proposal. Otherwise, do nothing.
>
>     EHL
>
>     _______________________________________________
>     OAuth mailing list
>     OAuth@ietf.org <http://OAuth@ietf.org>
>     https://www.ietf.org/mailman/listinfo/oauth
>
>   
>   
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org  <mailto:OAuth@ietf.org>
> https://www.ietf.org/mailman/listinfo/oauth
>    
>


--------------010902070708040005080808
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Do you mean the thread "Signatures, Why?"
(<a class="moz-txt-link-freetext" href="http://trac.tools.ietf.org/wg/oauth/trac/wiki/SignaturesWhy">http://trac.tools.ietf.org/wg/oauth/trac/wiki/SignaturesWhy</a>)? <br>
<br>
I cannot remember that there was a consensus not to use signatures on
requests to the authorization server. <br>
<br>
regards,<br>
Torsten.<br>
<br>
Am 19.04.2010 22:14, schrieb Eran Hammer-Lahav:
<blockquote
 cite="mid:90C41DD21FB7C64BB94121FBBC2E723438E5C7F23D@P3PW5EX1MB01.EX1.SECURESERVER.NET"
 type="cite">
  <meta http-equiv="Content-Type"
 content="text/html; charset=ISO-8859-1">
  <meta name="Generator" content="Microsoft Word 14 (filtered medium)">
  <style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	color:black;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";
	color:black;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";
	color:black;}
span.EmailStyle17
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:Consolas;
	color:black;}
span.EmailStyle20
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";
	font-family:"Tahoma","sans-serif";
	color:black;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:1270549835;
	mso-list-template-ids:775606150;}
@list l1
	{mso-list-id:1623875999;
	mso-list-template-ids:-1439133174;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
  <div class="WordSection1">
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">Which
is something we decided not to do when we discussed the use of
signatures.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>&nbsp;</o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">EHL<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>&nbsp;</o:p></span></p>
  <div
 style="border-style: none none none solid; border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color blue; border-width: medium medium medium 1.5pt; padding: 0in 0in 0in 4pt;">
  <div>
  <div
 style="border-style: solid none none; border-color: rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">
  <p class="MsoNormal"><b><span
 style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;; color: windowtext;">From:</span></b><span
 style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;; color: windowtext;">
Torsten Lodderstedt [<a class="moz-txt-link-freetext" href="mailto:torsten@lodderstedt.net">mailto:torsten@lodderstedt.net</a>] <br>
  <b>Sent:</b> Monday, April 19, 2010 12:19 PM<br>
  <b>To:</b> Eran Hammer-Lahav<br>
  <b>Cc:</b> Evan Gilbert; OAuth WG<br>
  <b>Subject:</b> Re: [OAUTH-WG] Issue: 'username' parameter proposal<o:p></o:p></span></p>
  </div>
  </div>
  <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
  <p class="MsoNormal">in oder to prevent such attacks, one could sign
the inbound request <br>
  <br>
regards,<br>
Torsten.<br>
  <br>
Am 19.04.2010 19:58, schrieb Eran Hammer-Lahav: <o:p></o:p></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">Thanks.
That makes sense.</span><o:p></o:p></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">&nbsp;</span><o:p></o:p></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">My
concern is that the client will ask for a specific username but an
attacker will change that request before it hits the server. The server
then asks the (wrong) user to authenticate and returns a token. The
client has no way of knowing it got an access token for the wrong user.
Does requiring that the server returns the token with the username
solves this? Is this a real issue?</span><o:p></o:p></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">&nbsp;</span><o:p></o:p></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">I
have no objections to this proposal but wanted to see some discussion
and support from others before adding it to the spec.</span><o:p></o:p></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">&nbsp;</span><o:p></o:p></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">EHL</span><o:p></o:p></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">&nbsp;</span><o:p></o:p></p>
  <div
 style="border-style: none none none solid; border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color blue; border-width: medium medium medium 1.5pt; padding: 0in 0in 0in 4pt;">
  <div>
  <div
 style="border-style: solid none none; border-color: -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">
  <p class="MsoNormal"><b><span
 style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;">From:</span></b><span
 style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;"> Evan
Gilbert [<a moz-do-not-send="true" href="mailto:uidude@google.com">mailto:uidude@google.com</a>]
  <br>
  <b>Sent:</b> Monday, April 19, 2010 10:06 AM<br>
  <b>To:</b> Eran Hammer-Lahav<br>
  <b>Cc:</b> OAuth WG<br>
  <b>Subject:</b> Re: [OAUTH-WG] Issue: 'username' parameter proposal</span><o:p></o:p></p>
  </div>
  </div>
  <p class="MsoNormal">&nbsp;<o:p></o:p></p>
  <p class="MsoNormal">User 1 is logged into Client site<o:p></o:p></p>
  <div>
  <p class="MsoNormal">User 2 is logged into IDP site<o:p></o:p></p>
  </div>
  <div>
  <p class="MsoNormal">&nbsp;<o:p></o:p></p>
  </div>
  <div>
  <p class="MsoNormal">This can happen quite frequently, as client
sites often have long-lived cookies and may only be visited by one user
on a shared computer.<o:p></o:p></p>
  </div>
  <div>
  <p class="MsoNormal">&nbsp;<o:p></o:p></p>
  </div>
  <div>
  <p class="MsoNormal">Right now client site has no way to ask for a
token for User 1, and end result will be that User 1 starts seeing User
2's data.<o:p></o:p></p>
  </div>
  <div>
  <div>
  <div>
  <div>
  <p class="MsoNormal">&nbsp;<o:p></o:p></p>
  <div>
  <p class="MsoNormal">On Mon, Apr 19, 2010 at 8:37 AM, Eran
Hammer-Lahav &lt;<a moz-do-not-send="true"
 href="mailto:eran@hueniverse.com" target="_blank">eran@hueniverse.com</a>&gt;
wrote:<o:p></o:p></p>
  <div>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">How can
they both be logged in? I have never seen a case where two users can be
both logged into to the same service at the same time...<br>
  </span><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(136, 136, 136);"><br>
EHL</span><o:p></o:p></p>
  <div>
  <div>
  <p class="MsoNormal" style="margin-bottom: 12pt;"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;"><br>
  <br>
  <br>
On 4/19/10 8:33 AM, "Evan Gilbert" &lt;<a moz-do-not-send="true"
 href="http://uidude@google.com" target="_blank">uidude@google.com</a>&gt;
wrote:</span><o:p></o:p></p>
  </div>
  </div>
  <div>
  <div>
  <blockquote style="margin-top: 5pt; margin-bottom: 5pt;">
    <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">More
details on this enhancement.<br>
    <br>
Goal: Make sure you get an access token for the right user in immediate
mode.<br>
    <br>
Use case where we have problems if we don't have username parameter:</span><o:p></o:p></p>
    <ol style="margin-top: 0in;" start="1" type="1">
      <li class="MsoNormal" style=""><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">Bob is
logged into a web site as <a moz-do-not-send="true"
 href="http://bob@IDP.com" target="_blank">bob@IDP.com</a>. </span><o:p></o:p></li>
      <li class="MsoNormal" style=""><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">Mary
(his wife) is logged into IDP on the same computer as <a
 moz-do-not-send="true" href="http://mary@IDP.com" target="_blank">mary@IDP.com</a>
        </span><o:p></o:p></li>
      <li class="MsoNormal" style=""><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">A
request is made to get an access token via the User-Agent flow in
immediate mode (or with any redirect without prompting the user) </span><o:p></o:p></li>
      <li class="MsoNormal" style=""><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">-ob now
has an access token for Mary and (posts activities, schedules events,
gets contacts) as Mary </span><o:p></o:p></li>
      <li class="MsoNormal" style=""><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">Hilarity
ensues</span><o:p></o:p></li>
    </ol>
    <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;"><br>
Secondary goal: Provide a hint for non-immediate mode<br>
    <br>
On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav &lt;<a
 moz-do-not-send="true" href="http://eran@hueniverse.com"
 target="_blank">eran@hueniverse.com</a>&gt; wrote:</span><o:p></o:p></p>
    <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;">Evan
Gilbert proposed a 'username' request parameter to allow the client to<br>
limit the end user to authenticate using the provided authorization
server<br>
identifier. The proposal has not been discussed or supported by others,
and<br>
has not received a security review.<br>
    <br>
Proposal: Obtain further discussion and support from others, as well as
a<br>
security review of the proposal. Otherwise, do nothing.<br>
    <br>
EHL<br>
    <br>
_______________________________________________<br>
OAuth mailing list<br>
    <a moz-do-not-send="true" href="http://OAuth@ietf.org"
 target="_blank">OAuth@ietf.org</a><br>
    <a moz-do-not-send="true"
 href="https://www.ietf.org/mailman/listinfo/oauth" target="_blank">https://www.ietf.org/mailman/listinfo/oauth</a></span><o:p></o:p></p>
    <p class="MsoNormal" style="margin-bottom: 12pt;">&nbsp;<o:p></o:p></p>
  </blockquote>
  </div>
  </div>
  </div>
  </div>
  <p class="MsoNormal">&nbsp;<o:p></o:p></p>
  </div>
  </div>
  </div>
  </div>
  </div>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre>_______________________________________________<o:p></o:p></pre>
  <pre>OAuth mailing list<o:p></o:p></pre>
  <pre><a moz-do-not-send="true" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a><o:p></o:p></pre>
  <pre><a moz-do-not-send="true"
 href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a><o:p></o:p></pre>
  <pre>&nbsp; <o:p></o:p></pre>
  <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
  </div>
  </div>
</blockquote>
<br>
</body>
</html>

--------------010902070708040005080808--


From torsten@lodderstedt.net  Mon Apr 19 13:35:01 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7F2483A6893 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 13:35:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.986
X-Spam-Level: 
X-Spam-Status: No, score=-1.986 tagged_above=-999 required=5 tests=[AWL=0.263,  BAYES_00=-2.599, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7FQ4ghtYK489 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 13:35:00 -0700 (PDT)
Received: from smtprelay03.ispgateway.de (smtprelay03.ispgateway.de [80.67.29.28]) by core3.amsl.com (Postfix) with ESMTP id 941473A6872 for <oauth@ietf.org>; Mon, 19 Apr 2010 13:35:00 -0700 (PDT)
Received: from p4fff2afb.dip.t-dialin.net ([79.255.42.251] helo=[127.0.0.1]) by smtprelay03.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O3xgA-00063t-MY; Mon, 19 Apr 2010 22:34:50 +0200
Message-ID: <4BCCBE6A.6060300@lodderstedt.net>
Date: Mon, 19 Apr 2010 22:34:50 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <C7F1D1FC.32809%eran@hueniverse.com>
In-Reply-To: <C7F1D1FC.32809%eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 20:35:01 -0000

+1

Am 19.04.2010 18:25, schrieb Eran Hammer-Lahav:
> Proposal:
>
> 'scope' is defined as a comma-separated list of resource URIs or resource
> groups (e.g. contacts, photos). The server can provide a list of values for
> the client to use in its documentation, or the client can use the URIs or
> scope identifier of the protected resources it is trying to access (before
> or after getting a 401 response).
>
> For example:
>
> 1. Client requests resource
>
>      GET /resource HTTP/1.1
>      Host: example.com
>
> 2. Server requires authentication
>
>      HTTP/1.1 401 Unauthorized
>      WWW-Authenticate: Token realm='Example', scope='x2'
>
> 3. Client requests an access token by including scope=x2 in the request
>
> Alternatively, the client can ask for an access token with
> scope=http://example.com/resource.
>
> If the client needs access to two resource with different scopes, it
> requests an access token for scope=x2,x1.
>
> That's it!
>
> It allows the client to figure out what value to put in the scope parameter
> and how to encode multiple scopes without any server-specific documentation.
> Servers that wish to rely exclusively on paperwork can just omit the scope
> parameter from the WWW-Authenticate header.
>
> We can pick a different separator (space, semicolon, etc.) or different
> parameter name (resource(s)).
>
> EHL
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    



From beaton@google.com  Mon Apr 19 13:38:15 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 28CEC3A6A27 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 13:38:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level: 
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aI26EFITcU5g for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 13:38:14 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 0125B3A6891 for <oauth@ietf.org>; Mon, 19 Apr 2010 13:38:13 -0700 (PDT)
Received: from kpbe16.cbf.corp.google.com (kpbe16.cbf.corp.google.com [172.25.105.80]) by smtp-out.google.com with ESMTP id o3JKc0CN002284 for <oauth@ietf.org>; Mon, 19 Apr 2010 13:38:03 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271709483; bh=Q3vS670xLNoyCM4mAg1i8EHfY9A=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=YHg/F3AHJiosDUyU7Am7tp/WJYhPTTiMeaiTHMOP8qBlPbNcqWzKHgYXRXY5+g1Cz Rs/IACLUcqTuz+aUCEtKg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=LQjKGcYUCDn6Af0k4GN6IUvwF64qNdvJ4LS3F2hfQUHwGw6IEEhz31rivJYoLXf2t 1x5A3mZwqlS+bWcK+0Qfg==
Received: from vws4 (vws4.prod.google.com [10.241.21.132]) by kpbe16.cbf.corp.google.com with ESMTP id o3JKbx4S017637 for <oauth@ietf.org>; Mon, 19 Apr 2010 13:37:59 -0700
Received: by vws4 with SMTP id 4so325230vws.6 for <oauth@ietf.org>; Mon, 19 Apr 2010 13:37:59 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.109.99 with HTTP; Mon, 19 Apr 2010 13:37:58 -0700 (PDT)
In-Reply-To: <4BCCBE4C.2040802@lodderstedt.net>
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com> <C7F1C6AC.327EE%eran@hueniverse.com> <u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BCCAC9F.6030208@lodderstedt.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F23D@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BCCBE4C.2040802@lodderstedt.net>
Date: Mon, 19 Apr 2010 13:37:58 -0700
Received: by 10.220.60.140 with SMTP id p12mr3963052vch.57.1271709479027; Mon,  19 Apr 2010 13:37:59 -0700 (PDT)
Message-ID: <y2ldaf5b9571004191337i7f186455p4c34b0d3db0e5318@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 20:38:15 -0000

On Mon, Apr 19, 2010 at 1:34 PM, Torsten Lodderstedt
<torsten@lodderstedt.net> wrote:
> Do you mean the thread "Signatures, Why?"
> (http://trac.tools.ietf.org/wg/oauth/trac/wiki/SignaturesWhy)?
>
> I cannot remember that there was a consensus not to use signatures on
> requests to the authorization server.

I can. =)

From mscurtescu@google.com  Mon Apr 19 13:50:16 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7E1E53A6B06 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 13:50:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.766
X-Spam-Level: 
X-Spam-Status: No, score=-101.766 tagged_above=-999 required=5 tests=[AWL=0.211, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Lf+tsG22FwHq for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 13:50:15 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 6D3623A67FB for <oauth@ietf.org>; Mon, 19 Apr 2010 13:50:15 -0700 (PDT)
Received: from wpaz1.hot.corp.google.com (wpaz1.hot.corp.google.com [172.24.198.65]) by smtp-out.google.com with ESMTP id o3JKo4xD022349 for <oauth@ietf.org>; Mon, 19 Apr 2010 22:50:05 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271710205; bh=J6uFHXBY5eb40Lyg6PvWJjEnfn4=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=CqJFp2OKJeUB376t+y05giVgn1cbZIOH1d6k4fuh1Gxzv+vvqXp1PjxpJpuQ9k1gX iJ6rJbe06Dm9e2aXUqR7A==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=Zwo0B21+kF6D5hQp6ogdxxCCaLdiAbTGPAKaUr8V57vTfo84oltNBfB77p80di8NX wroL1JFub52C4gKawoJFQ==
Received: from pvd12 (pvd12.prod.google.com [10.241.209.204]) by wpaz1.hot.corp.google.com with ESMTP id o3JKo3Lg006184 for <oauth@ietf.org>; Mon, 19 Apr 2010 13:50:03 -0700
Received: by pvd12 with SMTP id 12so3189943pvd.4 for <oauth@ietf.org>; Mon, 19 Apr 2010 13:50:03 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Mon, 19 Apr 2010 13:49:43 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F17F@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <j2q74caaad21004191103l488ae334j78d5546479f66cb8@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F17F@P3PW5EX1MB01.EX1.SECURESERVER.NET>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 19 Apr 2010 13:49:43 -0700
Received: by 10.140.247.21 with SMTP id u21mr4966159rvh.148.1271710203150;  Mon, 19 Apr 2010 13:50:03 -0700 (PDT)
Message-ID: <x2q74caaad21004191349p9969878aob14135d7069dd593@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 20:50:16 -0000

On Mon, Apr 19, 2010 at 11:14 AM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
>
>> -----Original Message-----
>> From: Marius Scurtescu [mailto:mscurtescu@google.com]
>> Sent: Monday, April 19, 2010 11:04 AM
>> To: Eran Hammer-Lahav
>> Cc: OAuth WG
>> Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
>>
>> On Mon, Apr 19, 2010 at 9:25 AM, Eran Hammer-Lahav
>> <eran@hueniverse.com> wrote:
>> > Proposal:
>> >
>> > 'scope' is defined as a comma-separated list of resource URIs or
>> > resource groups (e.g. contacts, photos).
>>
>> How will commas in URIs be escaped? We just forbid them?
>>
>> If the scope elements are URIs then a space separated list is much safer, URIs
>> cannot contain spaces.
>
> Yep. I noted that in my proposal.
>
>> But, I still don't see the point on trying to define the scope structure.
>
> The same point in defining any other parameter - interop. I still haven't heard an argument for not defining it. By definition everything we add to the spec is meant to increase interop and should be well specified.

How does defining the scope structure help interop?

There was a good argument why not define it. Getting everyone to agree
on one definition can be hard, and you cannot be sure everyone was
consulted. There are lots of service providers out there that use
scopes today. Are we sure that a space separated list of URIs will
work for all of them?


> If you want to leave someone under specified, the burden is on your to argue why, not on me to argue for it.

When you wanted to leave scopes out altogether, you wanted proof they
are needed :-)

I did a proof of concept implementation, with client, server and
protected resource support libraries, and the scope structure was
never an issue. Actual client, server and resource code, does need to
deal with scopes, but this is not the generic code that would go into
a library.


I do agree that it would be nice to have a defined structure for
scopes, I just don't think it is that important and that it is hard to
get right.


Marius

From mscurtescu@google.com  Mon Apr 19 13:59:02 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id EE3573A6926 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 13:59:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.778
X-Spam-Level: 
X-Spam-Status: No, score=-101.778 tagged_above=-999 required=5 tests=[AWL=0.199, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id r9qgvZSLbeed for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 13:59:02 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 0701E3A6959 for <oauth@ietf.org>; Mon, 19 Apr 2010 13:58:57 -0700 (PDT)
Received: from hpaq14.eem.corp.google.com (hpaq14.eem.corp.google.com [10.3.21.14]) by smtp-out.google.com with ESMTP id o3JKwlkw003466 for <oauth@ietf.org>; Mon, 19 Apr 2010 22:58:48 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271710728; bh=qq/X3QfH6rzftMh9PoXFKas9D+8=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=cDyJ/3Oi+MkEv9hMXSfdMO0GAgO4BuLtWCHHg9ZiPHmZZMVd7veD2KtgDzz1J8/nD Y19RWDYBsVPy+rXGED/4w==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=UkFN5PcOmTpEt6XKmgYvqlRckTZZOWdQ+oO4P3svggvC0DRPkOLyjJvK2Mu58uF4H HCMQDsPFz1RnS9yiU7FLg==
Received: from pvg11 (pvg11.prod.google.com [10.241.210.139]) by hpaq14.eem.corp.google.com with ESMTP id o3JKwjFN016661 for <oauth@ietf.org>; Mon, 19 Apr 2010 22:58:46 +0200
Received: by pvg11 with SMTP id 11so4351247pvg.0 for <oauth@ietf.org>; Mon, 19 Apr 2010 13:58:45 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Mon, 19 Apr 2010 13:58:25 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F1BF@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <1E39CE38-763E-4E3D-96D4-DC757BD53B9D@gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E30A379E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4776FFF7-45E6-4945-9548-382A9DB84A95@gmail.com> <r2v74caaad21004191017id7c48d54lc5ced6e9e164591e@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F1BF@P3PW5EX1MB01.EX1.SECURESERVER.NET>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 19 Apr 2010 13:58:25 -0700
Received: by 10.141.187.9 with SMTP id o9mr4865740rvp.211.1271710725284; Mon,  19 Apr 2010 13:58:45 -0700 (PDT)
Message-ID: <t2s74caaad21004191358h3527f320u61c6a958cda1d652@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: state in web server flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 20:59:03 -0000

On Mon, Apr 19, 2010 at 11:53 AM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
>
>
>> -----Original Message-----
>> From: Marius Scurtescu [mailto:mscurtescu@google.com]
>> Sent: Monday, April 19, 2010 10:18 AM
>
>> I don't think it is possible to enforce callbacks without any query parameters.
>> See the Drupal example.
>
> In the Drupal example the client server adds its silly parameters internally. They are not included in what the client provides as its callback URI.

Silly?

The query parameter may or may not be visible in the registered callback.


> Can you give an actual callback URI example?

http://example.com/oauth2/callback
equivalent with:
http://example.com/index.php?q=oauth2/callback


> Also, if the client requires query parameters in its callback, it just means it cannot use the client state OAuth parameter.

Sure it can, perfectly valid to redirect to:
http://example.com/oauth2/callback?code=123&state=qwerty
which is the same as:
http://example.com/index.php?q=oauth2/callback&code=123&state=qwerty


Justin Richer pointed out that MediaWiki has an identical issue. My
guess is that most PHP frameworks will have this problem.


Marius

From mscurtescu@google.com  Mon Apr 19 14:07:05 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D47A93A67BD for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 14:07:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.789
X-Spam-Level: 
X-Spam-Status: No, score=-101.789 tagged_above=-999 required=5 tests=[AWL=0.188, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xikuSWYlB7yq for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 14:07:04 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 33B293A691D for <oauth@ietf.org>; Mon, 19 Apr 2010 14:07:04 -0700 (PDT)
Received: from wpaz17.hot.corp.google.com (wpaz17.hot.corp.google.com [172.24.198.81]) by smtp-out.google.com with ESMTP id o3JL6s3m019157 for <oauth@ietf.org>; Mon, 19 Apr 2010 23:06:54 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271711214; bh=7DtSGiKQkiTUM6fL4K7b5v7brKI=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=IQrG8H0LDhvWbeFrJ2lrJsWh6fZATPQOPsmf4viG+8UtmWIcMkIda6qbwsOCM+Ng0 QzThks3A1Uk60DvvkCbIA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=kMX0CggZArj2Y016PY3ymxAA4anvLHHBsLBphP4ZQrjV4lgLXB5xAXvzY5MwKCQrW TXfD8A7IxWS2Du/yIvMkg==
Received: from pvg4 (pvg4.prod.google.com [10.241.210.132]) by wpaz17.hot.corp.google.com with ESMTP id o3JL6qdm019163 for <oauth@ietf.org>; Mon, 19 Apr 2010 14:06:53 -0700
Received: by pvg4 with SMTP id 4so2938527pvg.9 for <oauth@ietf.org>; Mon, 19 Apr 2010 14:06:52 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Mon, 19 Apr 2010 14:06:32 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F16D@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <9CEC5DA2-6D5F-4CDB-80CD-D24F80E19969@gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E30A3796@P3PW5EX1MB01.EX1.SECURESERVER.NET> <s2t74caaad21004191006rb29139f6lc9082b6b94afbec9@mail.gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E5C7F16D@P3PW5EX1MB01.EX1.SECURESERVER.NET>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 19 Apr 2010 14:06:32 -0700
Received: by 10.141.214.6 with SMTP id r6mr4902560rvq.138.1271711212365; Mon,  19 Apr 2010 14:06:52 -0700 (PDT)
Message-ID: <u2x74caaad21004191406g4558df0arcf3b9e3ba04ce8e7@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Clarification: Authorization scheme :: Token vs OAuth
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 21:07:05 -0000

On Mon, Apr 19, 2010 at 11:06 AM, Eran Hammer-Lahav <eran@hueniverse.com> w=
rote:
> Initially I don't think it is a problem because only OAuth 2 servers will=
 use it. Later it becomes a question of discovery and what you do once you =
get such a challenge from a server you are unfamiliar with.

I think that many protected resource that will support OAuth 2 will
also support other protocols, at least OAuth 1.0.


> I proposed Token because it is in line with other HTTP authentication sch=
emes: Basic and Digest.
>
> The name really doesn't matter that much, but I rather not use OAuth (to =
avoid the need to add oauth_version=3D2.0 to every header), and I rather no=
t use a version number in the scheme name. If you don't like Token, feel fr=
ee to suggest something else. I think it is very accurate to what is being =
done.

Being so generic at some point it may require a parameter to tell what
type of token is this. At that point I think that OAuth with a version
or OAuth2 is better.


> Also keep in mind that there are going to be other flows issuing tokens, =
and we already have both delegation and autonomous flows using the same sch=
eme. So calling it OAuth doesn't really tell much more than Token. If I use=
 a new flow to get a token, it doesn't really matter what happens as long a=
s I end up with a token (with or without a secret).

True, but I don't think we are trying to solve token based
authentication in general.


Marius

>
> Does this make sense?
>
> EHL
>
>> -----Original Message-----
>> From: Marius Scurtescu [mailto:mscurtescu@google.com]
>> Sent: Monday, April 19, 2010 10:06 AM
>> To: Eran Hammer-Lahav
>> Cc: Dick Hardt; OAuth WG
>> Subject: Re: [OAUTH-WG] Clarification: Authorization scheme :: Token vs
>> OAuth
>>
>> Isn't "Token" as a scheme to generic/ambiguous?
>>
>> If a protected resource accepts several types of Authorization headers, =
how
>> can it be sure this is an OAuth 2.0 token and not some other kind?
>>
>> If adding a version parameter is too verbose, how about "OAuth2" as
>> scheme?
>>
>> Marius
>>
>>
>>
>> On Sun, Apr 18, 2010 at 10:05 PM, Eran Hammer-Lahav
>> <eran@hueniverse.com> wrote:
>> > Scheme is always case-insensitive per 2617.
>> >
>> >
>> >
>> > My reasons for using Token:
>> >
>> >
>> >
>> > 1. The scheme isn't specific to OAuth (which defines a model for
>> > obtaining tokens). It is a generic way to use tokens for
>> > authentication. Similar to how services use OAuth today for "2-legged"
>> > authentication (using the signature method without an access token at
>> > all), I expect services to use the Token scheme.
>> >
>> >
>> >
>> > 2. Doesn't conflict with OAuth 1.0, and doesn't require adding
>> > oauth_version=3D2.0 to every request. The fact that 1.0 used a paramet=
er
>> > name prefix in the *header* was bad enough.
>> >
>> >
>> >
>> > That discussion did not reach any consensus so I used the last
>> > proposed text. If people have a problem with that I'll add it to the
>> > open issues list.
>> >
>> >
>> >
>> > EHL
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
>> > Of Dick Hardt
>> > Sent: Sunday, April 18, 2010 9:33 PM
>> > To: OAuth WG
>> > Subject: [OAUTH-WG] Clarification: Authorization scheme :: Token vs
>> > OAuth
>> >
>> >
>> >
>> > I recall some earlier discussion on calling the scheme Token vs OAuth
>> > and see that it is now Token per the example:
>> >
>> >
>> >
>> > Authorization: Token token=3D"vF9dft4qmT"
>> >
>> >
>> >
>> > Would explain or point out the logic of using Token rather than OAuth?
>> >
>> >
>> >
>> > A related question: is the scheme case sensitive?
>> >
>> > _______________________________________________
>> > OAuth mailing list
>> > OAuth@ietf.org
>> > https://www.ietf.org/mailman/listinfo/oauth
>> >
>> >
>

From eran@hueniverse.com  Mon Apr 19 14:21:35 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4DF793A6B32 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 14:21:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.472
X-Spam-Level: 
X-Spam-Status: No, score=-2.472 tagged_above=-999 required=5 tests=[AWL=0.127,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uuyEuOZjzFCO for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 14:21:32 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id B25193A6B30 for <oauth@ietf.org>; Mon, 19 Apr 2010 14:21:06 -0700 (PDT)
Received: (qmail 13712 invoked from network); 19 Apr 2010 21:20:57 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 21:20:57 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Mon, 19 Apr 2010 14:20:57 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 19 Apr 2010 14:20:56 -0700
Thread-Topic: [OAUTH-WG] 'Scope' parameter proposal
Thread-Index: AcrgAeXKiZIKTVBoQleEBqLZ4pZd7wAAbIBQ
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F2BC@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <j2q74caaad21004191103l488ae334j78d5546479f66cb8@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F17F@P3PW5EX1MB01.EX1.SECURESERVER.NET> <x2q74caaad21004191349p9969878aob14135d7069dd593@mail.gmail.com>
In-Reply-To: <x2q74caaad21004191349p9969878aob14135d7069dd593@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 21:21:35 -0000

> -----Original Message-----
> From: Marius Scurtescu [mailto:mscurtescu@google.com]
> Sent: Monday, April 19, 2010 1:50 PM

> How does defining the scope structure help interop?

Clients can use scopes the same way across provides and don't need to read =
paperwork to figure out how to use the parameter. It allows smooth and seam=
less interaction with an unfamiliar server using an open API format.
=20
> There was a good argument why not define it. Getting everyone to agree on
> one definition can be hard, and you cannot be sure everyone was consulted=
.
> There are lots of service providers out there that use scopes today. Are =
we
> sure that a space separated list of URIs will work for all of them?

Everything is hard to agree on - welcome to the wonderful work of standards=
. The signatures discussion took months for example. But you can't make thi=
s argument without even trying. Let's spend a week discussing a proposal (o=
r others if people want to submit more) and see where we end up. As for tho=
se not participating, well, that's their problem. Seriously, if you don't b=
other to show up and participate you have absolutely no say. Specs are crea=
ted by those who show up.

> When you wanted to leave scopes out altogether, you wanted proof they
> are needed :-)

That wasn't my position. My position was that the parameter was underspecif=
ied and as such added no value. I tried repeatedly to discuss ideas on how =
to define it but you and others just shot me down every time arguing it mus=
t be vendor-specific.
=20
> I did a proof of concept implementation, with client, server and protecte=
d
> resource support libraries, and the scope structure was never an issue.
> Actual client, server and resource code, does need to deal with scopes, b=
ut
> this is not the generic code that would go into a library.

Did your library handle unknown parameters, passing them through the call s=
tack?

> I do agree that it would be nice to have a defined structure for scopes, =
I just
> don't think it is that important and that it is hard to get right.

I disagree on both. It is important and not so hard to get right, just like=
 any other feature we decide to include. How would you know if we don't eve=
n try?

This exact argument was made 3 years ago. Dick Hardt asked for a scope para=
meter. As editor I added a generic scope parameter to the spec called oauth=
_token_attributes. However the group consensus was that it was underspecifi=
ed and lacked any implementation experience. We drop it and decided to revi=
sit in an extension. That never happened. Instead, each vendor made up thei=
r own parameter. We are back where we started now, with the same arguments.=
 I think 3 years is plenty experience to get this done right.

EHL




From recordond@gmail.com  Mon Apr 19 14:23:26 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BFABA3A696D for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 14:23:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bWRP7nddqKtE for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 14:23:25 -0700 (PDT)
Received: from mail-pw0-f44.google.com (mail-pw0-f44.google.com [209.85.160.44]) by core3.amsl.com (Postfix) with ESMTP id 1D0A53A688B for <oauth@ietf.org>; Mon, 19 Apr 2010 14:23:21 -0700 (PDT)
Received: by pwj2 with SMTP id 2so3776871pwj.31 for <oauth@ietf.org>; Mon, 19 Apr 2010 14:23:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=pX30jfP/qhnLdS21ukxmOMoZLR3plzhJxyw761F2j4E=; b=we4lpVefsr/0+0wyyzL+T0HJKKZM61K6lzNHq4htFqYqkL1tIlJ85Q0soOGwgL3llh nLJvymdJ9+IsOB9eWBRHjI7c7MiAFxZqjGTBKw0iFyx3Ry0LDG11mviNcfq9Gnc5va4/ UNGBNQXRof7nfNxqtcuv0naN6XaV4u8JvAPm8=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=e1zv/+5fwug4O2Xgy7KyPGV0ikTGJC7ic2DbKZI/Fx2j/IghY2tKX6s6Ngz6DtCJ00 yb0gcL5p0E1HgS+rcxGhViAIHIRJiL14SGHV0NltnhDYiO1bxmmxhVUezSNbvlTOJcdT rGcD/U+YQ7bFw88fDM5GBL2DxEo3ZmWzBfk8o=
MIME-Version: 1.0
Received: by 10.231.182.196 with HTTP; Mon, 19 Apr 2010 14:23:10 -0700 (PDT)
In-Reply-To: <4BCCBE6A.6060300@lodderstedt.net>
References: <C7F1D1FC.32809%eran@hueniverse.com> <4BCCBE6A.6060300@lodderstedt.net>
Date: Mon, 19 Apr 2010 14:23:10 -0700
Received: by 10.114.236.22 with SMTP id j22mr4792486wah.5.1271712190956; Mon,  19 Apr 2010 14:23:10 -0700 (PDT)
Message-ID: <q2ifd6741651004191423se250189dnd6a1b0af27bf8ad7@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 21:23:26 -0000

+1 Eran's proposal as well

On Mon, Apr 19, 2010 at 1:34 PM, Torsten Lodderstedt
<torsten@lodderstedt.net> wrote:
> +1
>
> Am 19.04.2010 18:25, schrieb Eran Hammer-Lahav:
>>
>> Proposal:
>>
>> 'scope' is defined as a comma-separated list of resource URIs or resourc=
e
>> groups (e.g. contacts, photos). The server can provide a list of values
>> for
>> the client to use in its documentation, or the client can use the URIs o=
r
>> scope identifier of the protected resources it is trying to access (befo=
re
>> or after getting a 401 response).
>>
>> For example:
>>
>> 1. Client requests resource
>>
>> =A0 =A0 GET /resource HTTP/1.1
>> =A0 =A0 Host: example.com
>>
>> 2. Server requires authentication
>>
>> =A0 =A0 HTTP/1.1 401 Unauthorized
>> =A0 =A0 WWW-Authenticate: Token realm=3D'Example', scope=3D'x2'
>>
>> 3. Client requests an access token by including scope=3Dx2 in the reques=
t
>>
>> Alternatively, the client can ask for an access token with
>> scope=3Dhttp://example.com/resource.
>>
>> If the client needs access to two resource with different scopes, it
>> requests an access token for scope=3Dx2,x1.
>>
>> That's it!
>>
>> It allows the client to figure out what value to put in the scope
>> parameter
>> and how to encode multiple scopes without any server-specific
>> documentation.
>> Servers that wish to rely exclusively on paperwork can just omit the sco=
pe
>> parameter from the WWW-Authenticate header.
>>
>> We can pick a different separator (space, semicolon, etc.) or different
>> parameter name (resource(s)).
>>
>> EHL
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From wwwrun@core3.amsl.com  Mon Apr 19 14:23:31 2010
Return-Path: <wwwrun@core3.amsl.com>
X-Original-To: oauth@ietf.org
Delivered-To: oauth@core3.amsl.com
Received: by core3.amsl.com (Postfix, from userid 30) id D039E3A6B1A; Mon, 19 Apr 2010 14:23:31 -0700 (PDT)
From: IESG Secretary <iesg-secretary@ietf.org>
To: IETF Announcement list <ietf-announce@ietf.org>
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0
Message-Id: <20100419212331.D039E3A6B1A@core3.amsl.com>
Date: Mon, 19 Apr 2010 14:23:31 -0700 (PDT)
Cc: oauth@ietf.org
Subject: [OAUTH-WG] 1st OAUTH WG Face-to-Face Interim Meeting - May 20, 2010
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 21:23:32 -0000

Location:

This interim meeting is attached to the Internet Identity Workshop
(see http://www.internetidentityworkshop.com/) in Mountain View, CA.

Time:

20th of May, 8:30am - 6pm

Meeting Host:

Yahoo
(address & room to be announced)

Agenda:

Discussion of open issues around OAuth 2.0.

Up-to-date information can be found at the OAuth WG Wiki page:
http://trac.tools.ietf.org/wg/oauth/trac/wiki/InterimMeeting


From eran@hueniverse.com  Mon Apr 19 14:25:38 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DAA6B3A67BD for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 14:25:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.473
X-Spam-Level: 
X-Spam-Status: No, score=-2.473 tagged_above=-999 required=5 tests=[AWL=0.126,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JncMryhRGYgH for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 14:25:38 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 60F9528C11B for <oauth@ietf.org>; Mon, 19 Apr 2010 14:24:48 -0700 (PDT)
Received: (qmail 18331 invoked from network); 19 Apr 2010 21:24:39 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 21:24:39 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Mon, 19 Apr 2010 14:24:36 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 19 Apr 2010 14:24:41 -0700
Thread-Topic: [OAUTH-WG] Issue: state in web server flow
Thread-Index: AcrgAxwvGsx7C7LpQmiw1xH4qjfa9QAA1djA
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F2C8@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <1E39CE38-763E-4E3D-96D4-DC757BD53B9D@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4776FFF7-45E6-4945-9548-382A9DB84A95@gmail.com> <r2v74caaad21004191017id7c48d54lc5ced6e9e164591e@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F1BF@P3PW5EX1MB01.EX1.SECURESERVER.NET> <t2s74caaad21004191358h3527f320u61c6a958cda1d652@mail.gmail.com>
In-Reply-To: <t2s74caaad21004191358h3527f320u61c6a958cda1d652@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: state in web server flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 21:25:39 -0000

> -----Original Message-----
> From: Marius Scurtescu [mailto:mscurtescu@google.com]
> Sent: Monday, April 19, 2010 1:58 PM
> To: Eran Hammer-Lahav
> Cc: Dick Hardt; OAuth WG
> Subject: Re: [OAUTH-WG] Issue: state in web server flow
>=20
> On Mon, Apr 19, 2010 at 11:53 AM, Eran Hammer-Lahav
> <eran@hueniverse.com> wrote:
> >
> >
> >> -----Original Message-----
> >> From: Marius Scurtescu [mailto:mscurtescu@google.com]
> >> Sent: Monday, April 19, 2010 10:18 AM
> >
> >> I don't think it is possible to enforce callbacks without any query
> parameters.
> >> See the Drupal example.
> >
> > In the Drupal example the client server adds its silly parameters inter=
nally.
> They are not included in what the client provides as its callback URI.
>=20
> Silly?

Yes.

> The query parameter may or may not be visible in the registered callback.
>=20
>=20
> > Can you give an actual callback URI example?
>=20
> http://example.com/oauth2/callback
> equivalent with:
> http://example.com/index.php?q=3Doauth2/callback

Why can't the client always use the first?
=20
> > Also, if the client requires query parameters in its callback, it just =
means it
> cannot use the client state OAuth parameter.
>=20
> Sure it can, perfectly valid to redirect to:
> http://example.com/oauth2/callback?code=3D123&state=3Dqwerty
> which is the same as:
> http://example.com/index.php?q=3Doauth2/callback&code=3D123&state=3Dqwert
> y

No, I meant according to the last proposal, the state parameter will be lim=
ited to cases where there is no query in the callback URI. This makes it ea=
sy for servers to validate the pre-registered URI.

EHL

From rbarnes@bbn.com  Mon Apr 19 14:29:24 2010
Return-Path: <rbarnes@bbn.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4C08928C101 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 14:29:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.395
X-Spam-Level: 
X-Spam-Status: No, score=-2.395 tagged_above=-999 required=5 tests=[AWL=0.204,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yb9vaRrb7DtR for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 14:29:23 -0700 (PDT)
Received: from smtp.bbn.com (smtp.bbn.com [128.33.0.80]) by core3.amsl.com (Postfix) with ESMTP id 4DB5B28B23E for <oauth@ietf.org>; Mon, 19 Apr 2010 14:29:23 -0700 (PDT)
Received: from [192.1.255.202] (port=62483 helo=col-dhcp-192-1-255-202.bbn.com) by smtp.bbn.com with esmtp (Exim 4.71 (FreeBSD)) (envelope-from <rbarnes@bbn.com>) id 1O3yWn-0001an-B4; Mon, 19 Apr 2010 17:29:13 -0400
Message-Id: <8B217DDB-7871-4728-AFE4-9F418CC3576A@bbn.com>
From: Richard Barnes <rbarnes@bbn.com>
To: Mike Moore <blowmage@gmail.com>
In-Reply-To: <k2mf5bedd151004191237k27923ecfo1af9e591582027fa@mail.gmail.com>
Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (Apple Message framework v936)
Date: Mon, 19 Apr 2010 17:29:11 -0400
References: <h2yf5bedd151004190757q27927b65na3e5c5744a53526a@mail.gmail.com> <C7F1C3F0.327E6%eran@hueniverse.com> <n2lf5bedd151004190859u31ea13f4hbe2fbbe38d03de8f@mail.gmail.com> <4BCCA913.3010800@lodderstedt.net> <k2mf5bedd151004191237k27923ecfo1af9e591582027fa@mail.gmail.com>
X-Mailer: Apple Mail (2.936)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 21:29:24 -0000

On the other hand, if you've already got a JSON or XML library on hand  
(as many apps these days do), then JSON/XML is a lot easier to handle  
than form-encoded.  Plus, if you're not re-using form-encoding, then  
there's no risk of being confused with actual "forms" / request  
parameters.  Not trying to argue one side or the other, just noting  
that there are trade-offs.

To refine Eran's point a little, how about this proposal?
1. Define N encodings of the OAuth parameters
2. Require servers to support *all* encodings
3. Require clients to support *one* encoding (and to send only one at  
a time!)
4. Require servers to respond in the encoding they receive

Seems like that would minimize the burden on clients, without placing  
a huge burden on servers.

--Richard



On Apr 19, 2010, at 3:37 PM, Mike Moore wrote:

> On Mon, Apr 19, 2010 at 1:03 PM, Torsten Lodderstedt <torsten@lodderstedt.net 
> > wrote:
>
> So what should be the singlemost encoding to be standardized? I  
> would be unable to choose one.
>
> I think form encoding is just fine. Its lightweight, minimalistic,  
> and easy to implement. I don't see a reason to switch from the 1.0  
> spec.
>
> If the issue is poor implementations or devs not reading the spec,  
> then perhaps we should discuss a series of executable specs or a  
> reference implementation. (I know I sure could have used that when I  
> implemented OAuth.) Just my two cents.
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From eran@hueniverse.com  Mon Apr 19 14:31:50 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BFF8D3A6ABB for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 14:31:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.474
X-Spam-Level: 
X-Spam-Status: No, score=-2.474 tagged_above=-999 required=5 tests=[AWL=0.125,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bz4VPZcl883c for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 14:31:49 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id CD57C3A6937 for <oauth@ietf.org>; Mon, 19 Apr 2010 14:31:49 -0700 (PDT)
Received: (qmail 27380 invoked from network); 19 Apr 2010 21:31:41 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 21:31:40 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Mon, 19 Apr 2010 14:31:40 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 19 Apr 2010 14:31:45 -0700
Thread-Topic: [OAUTH-WG] Clarification: Authorization scheme :: Token vs OAuth
Thread-Index: AcrgBEEWzqeEMeGZQOKPNbCKNHkPawAAqSRw
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F2D2@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <9CEC5DA2-6D5F-4CDB-80CD-D24F80E19969@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A3796@P3PW5EX1MB01.EX1.SECURESERVER.NET> <s2t74caaad21004191006rb29139f6lc9082b6b94afbec9@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F16D@P3PW5EX1MB01.EX1.SECURESERVER.NET> <u2x74caaad21004191406g4558df0arcf3b9e3ba04ce8e7@mail.gmail.com>
In-Reply-To: <u2x74caaad21004191406g4558df0arcf3b9e3ba04ce8e7@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Clarification: Authorization scheme :: Token vs OAuth
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 21:31:51 -0000

> -----Original Message-----
> From: Marius Scurtescu [mailto:mscurtescu@google.com]
> Sent: Monday, April 19, 2010 2:07 PM
> To: Eran Hammer-Lahav
> Cc: OAuth WG
> Subject: Re: [OAUTH-WG] Clarification: Authorization scheme :: Token vs
> OAuth
>=20
> On Mon, Apr 19, 2010 at 11:06 AM, Eran Hammer-Lahav
> <eran@hueniverse.com> wrote:
> > Initially I don't think it is a problem because only OAuth 2 servers wi=
ll use it.
> Later it becomes a question of discovery and what you do once you get suc=
h
> a challenge from a server you are unfamiliar with.
>=20
> I think that many protected resource that will support OAuth 2 will also
> support other protocols, at least OAuth 1.0.

Ok. Don't see how this is relevant. Each will use its own WWW-Authenticate =
header.

> > I proposed Token because it is in line with other HTTP authentication
> schemes: Basic and Digest.
> >
> > The name really doesn't matter that much, but I rather not use OAuth (t=
o
> avoid the need to add oauth_version=3D2.0 to every header), and I rather =
not
> use a version number in the scheme name. If you don't like Token, feel fr=
ee
> to suggest something else. I think it is very accurate to what is being d=
one.
>=20
> Being so generic at some point it may require a parameter to tell what ty=
pe
> of token is this. At that point I think that OAuth with a version or OAut=
h2 is
> better.

Same is true if we call it OAuth and someone will try to use it for somethi=
ng else. The exact thing happened with 1.0 with the so-called 2-legged use =
case. It had nothing to do with the original use case of the spec, but peop=
le found it very useful. At some point you have to use some form of discove=
ry.

> > Also keep in mind that there are going to be other flows issuing tokens=
, and
> we already have both delegation and autonomous flows using the same
> scheme. So calling it OAuth doesn't really tell much more than Token. If =
I use
> a new flow to get a token, it doesn't really matter what happens as long =
as I
> end up with a token (with or without a secret).
>=20
> True, but I don't think we are trying to solve token based authentication=
 in
> general.

Actually, we are chartered to do just that [1]:

"The Working Group will also define a generally applicable HTTP authenticat=
ion mechanism (i.e., browser-based "2-leg" scenerio)."

We can define an OAuth scheme and then another Token scheme. I just don't s=
ee the point.

EHL

[1] http://datatracker.ietf.org/wg/oauth/charter/



From eran@hueniverse.com  Mon Apr 19 14:41:11 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 970803A698F for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 14:41:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.475
X-Spam-Level: 
X-Spam-Status: No, score=-2.475 tagged_above=-999 required=5 tests=[AWL=0.124,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6iLKiDJs2UbV for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 14:41:10 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 41B8D3A6A81 for <oauth@ietf.org>; Mon, 19 Apr 2010 14:40:54 -0700 (PDT)
Received: (qmail 23561 invoked from network); 19 Apr 2010 21:40:45 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 21:40:45 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Mon, 19 Apr 2010 14:40:45 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Richard Barnes <rbarnes@bbn.com>, Mike Moore <blowmage@gmail.com>
Date: Mon, 19 Apr 2010 14:40:50 -0700
Thread-Topic: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
Thread-Index: AcrgB14JoBOtLlRwTkamwwy5BnIdsgAAXJ/Q
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F2E0@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <h2yf5bedd151004190757q27927b65na3e5c5744a53526a@mail.gmail.com> <C7F1C3F0.327E6%eran@hueniverse.com> <n2lf5bedd151004190859u31ea13f4hbe2fbbe38d03de8f@mail.gmail.com> <4BCCA913.3010800@lodderstedt.net> <k2mf5bedd151004191237k27923ecfo1af9e591582027fa@mail.gmail.com> <8B217DDB-7871-4728-AFE4-9F418CC3576A@bbn.com>
In-Reply-To: <8B217DDB-7871-4728-AFE4-9F418CC3576A@bbn.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 21:41:11 -0000

> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> Of Richard Barnes
> Sent: Monday, April 19, 2010 2:29 PM
> To: Mike Moore
> Cc: OAuth WG
> Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>=20
> On the other hand, if you've already got a JSON or XML library on hand (a=
s
> many apps these days do), then JSON/XML is a lot easier to handle than
> form-encoded.  Plus, if you're not re-using form-encoding, then there's n=
o
> risk of being confused with actual "forms" / request parameters.  Not try=
ing
> to argue one side or the other, just noting that there are trade-offs.
>=20
> To refine Eran's point a little, how about this proposal?

My point is that it doesn't have to cause client problems. I am not advocat=
ing (or objecting) to this approach.

> 1. Define N encodings of the OAuth parameters 2. Require servers to suppo=
rt
> *all* encodings 3. Require clients to support *one* encoding (and to send
> only one at a time!) 4. Require servers to respond in the encoding they
> receive
>=20
> Seems like that would minimize the burden on clients, without placing a h=
uge
> burden on servers.

This looks like a good way to do it, but it does add complexity.

EHL

From john@jkemp.net  Mon Apr 19 14:58:56 2010
Return-Path: <john@jkemp.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D00EB3A69D3 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 14:58:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.924
X-Spam-Level: 
X-Spam-Status: No, score=-1.924 tagged_above=-999 required=5 tests=[AWL=0.341,  BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6xa5wwp5kLxU for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 14:58:55 -0700 (PDT)
Received: from outbound-mail-313.bluehost.com (cpoproxy3-pub.bluehost.com [67.222.54.6]) by core3.amsl.com (Postfix) with SMTP id 93F053A69CE for <oauth@ietf.org>; Mon, 19 Apr 2010 14:58:55 -0700 (PDT)
Received: (qmail 3794 invoked by uid 0); 19 Apr 2010 21:58:47 -0000
Received: from unknown (HELO box320.bluehost.com) (69.89.31.120) by cpoproxy3.bluehost.com with SMTP; 19 Apr 2010 21:58:47 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=jkemp.net; h=Received:Subject:Mime-Version:Content-Type:From:In-Reply-To:Date:Cc:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=quthc+7Zzy33Q2bVzn31ZGm//FG3VKRGY+J3bDUNsd8jn5AO4KzDOnPHfEBhOSQTZFWXwcV07lbLx0GrDZqyLbj05H3KcycenpRoSiz5ps8kfFBbH3n4Ar2YxxngMkSI;
Received: from cpe-69-205-56-47.nycap.res.rr.com ([69.205.56.47] helo=[192.168.1.103]) by box320.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from <john@jkemp.net>) id 1O3yzO-0002uX-K7; Mon, 19 Apr 2010 15:58:47 -0600
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: John Kemp <john@jkemp.net>
In-Reply-To: <C7F1D1FC.32809%eran@hueniverse.com>
Date: Mon, 19 Apr 2010 17:58:44 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net>
References: <C7F1D1FC.32809%eran@hueniverse.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
X-Mailer: Apple Mail (2.1078)
X-Identified-User: {1122:box320.bluehost.com:jkempnet:jkemp.net} {sentby:smtp auth 69.205.56.47 authed with john+jkemp.net}
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 21:58:56 -0000

On Apr 19, 2010, at 12:25 PM, Eran Hammer-Lahav wrote:

> Proposal:
>=20
> 'scope' is defined as a comma-separated list of resource URIs or =
resource
> groups (e.g. contacts, photos).

So, 'scope' at the authenticating (via OAuth) server is simply a list of =
one or more URIs? There are no defined, interoperable, semantics that a =
server should use here - is that correct?

> The server can provide a list of values for
> the client to use in its documentation, or the client can use the URIs =
or
> scope identifier of the protected resources it is trying to access =
(before
> or after getting a 401 response).
>=20
> For example:
>=20
> 1. Client requests resource
>=20
>    GET /resource HTTP/1.1
>    Host: example.com
>=20
> 2. Server requires authentication
>=20
>    HTTP/1.1 401 Unauthorized
>    WWW-Authenticate: Token realm=3D'Example', scope=3D'x2'

No (implied or otherwise) relationship between the realm and the scope?=20=


The scope doesn't have to match the base URI of the resource which the =
client tried and got the 401 from?

>=20
> 3. Client requests an access token by including scope=3Dx2 in the =
request
>=20
> Alternatively, the client can ask for an access token with
> scope=3Dhttp://example.com/resource.
>=20
> If the client needs access to two resource with different scopes, it
> requests an access token for scope=3Dx2,x1.

Is the "effective" scope a URI, or a list of URIs?

>=20
> That's it!
>=20
> It allows the client to figure out what value to put in the scope =
parameter

It doesn't tell the client where to go to get a token related to that =
scope (nor should it).=20

> and how to encode multiple scopes without any server-specific =
documentation.
> Servers that wish to rely exclusively on paperwork can just omit the =
scope
> parameter from the WWW-Authenticate header.

I think that there is much that is unspecified in this model and thus it =
doesn't provide much interoperability. If we don't tell the client what =
to do with the scope, and we don't specify what a server means by =
supplying a scope, I'm not sure what the point is to specifying this at =
all as clients will still need some documentation or be hard-coded =
(which token service do I get such a token from?)=20

What am I missing here?

Cheers,

- johnk

>=20
> We can pick a different separator (space, semicolon, etc.) or =
different
> parameter name (resource(s)).
>=20
> EHL
>=20
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From eran@hueniverse.com  Mon Apr 19 15:17:35 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 3FAC23A68D4 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 15:17:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.876
X-Spam-Level: 
X-Spam-Status: No, score=-1.876 tagged_above=-999 required=5 tests=[AWL=-0.477, BAYES_00=-2.599, J_CHICKENPOX_55=0.6, J_CHICKENPOX_57=0.6]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XazjOY6krhdP for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 15:17:32 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 47F013A6903 for <oauth@ietf.org>; Mon, 19 Apr 2010 15:17:32 -0700 (PDT)
Received: (qmail 19665 invoked from network); 19 Apr 2010 22:17:19 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 19 Apr 2010 22:17:19 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Mon, 19 Apr 2010 15:17:17 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: John Kemp <john@jkemp.net>
Date: Mon, 19 Apr 2010 15:17:21 -0700
Thread-Topic: [OAUTH-WG] 'Scope' parameter proposal
Thread-Index: AcrgC31ks1BgIM71TyC59g1LkjHBTwAABHwg
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net>
In-Reply-To: <0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 22:17:35 -0000

> -----Original Message-----
> From: John Kemp [mailto:john@jkemp.net]
> Sent: Monday, April 19, 2010 2:59 PM
> To: Eran Hammer-Lahav
> Cc: OAuth WG
> Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
>=20
> On Apr 19, 2010, at 12:25 PM, Eran Hammer-Lahav wrote:
>=20
> > Proposal:
> >
> > 'scope' is defined as a comma-separated list of resource URIs or
> > resource groups (e.g. contacts, photos).
>=20
> So, 'scope' at the authenticating (via OAuth) server is simply a list of =
one or
> more URIs? There are no defined, interoperable, semantics that a server
> should use here - is that correct?

Yes. Servers can use whatever they like. We can say the values are URIs (ab=
solute or relative) - this allows short names but helps future interop or s=
tandard URI-based values. The client finds out what value(s) to request fro=
m documentation or a 401 challenge.

> > The server can provide a list of values for the client to use in its
> > documentation, or the client can use the URIs or scope identifier of
> > the protected resources it is trying to access (before or after
> > getting a 401 response).
> >
> > For example:
> >
> > 1. Client requests resource
> >
> >    GET /resource HTTP/1.1
> >    Host: example.com
> >
> > 2. Server requires authentication
> >
> >    HTTP/1.1 401 Unauthorized
> >    WWW-Authenticate: Token realm=3D'Example', scope=3D'x2'
>=20
> No (implied or otherwise) relationship between the realm and the scope?

No. Realm is too limited for many use cases. For example:

Resource A: scopes a and b
Resource B: scopes b and c
Resource C: scope b

If you want to access B and C you need a token scoped for b and c. No way t=
o express this with realm.
=20
> The scope doesn't have to match the base URI of the resource which the
> client tried and got the 401 from?

That's a security issue we need to address (when to trust the resource serv=
er and reuse an existing token). We need to figure it out either way.
=20
> >
> > 3. Client requests an access token by including scope=3Dx2 in the
> > request
> >
> > Alternatively, the client can ask for an access token with
> > scope=3Dhttp://example.com/resource.
> >
> > If the client needs access to two resource with different scopes, it
> > requests an access token for scope=3Dx2,x1.
>=20
> Is the "effective" scope a URI, or a list of URIs?

A list.

> >
> > That's it!
> >
> > It allows the client to figure out what value to put in the scope
> > parameter
>=20
> It doesn't tell the client where to go to get a token related to that sco=
pe (nor
> should it).

Yes. That's for another parameter and/or discovery flow.

> > and how to encode multiple scopes without any server-specific
> documentation.
> > Servers that wish to rely exclusively on paperwork can just omit the
> > scope parameter from the WWW-Authenticate header.
>=20
> I think that there is much that is unspecified in this model and thus it =
doesn't
> provide much interoperability. If we don't tell the client what to do wit=
h the
> scope, and we don't specify what a server means by supplying a scope, I'm
> not sure what the point is to specifying this at all as clients will stil=
l need some
> documentation or be hard-coded (which token service do I get such a token
> from?)

Why?

The server tells the client what scope is needed for each resource. It can =
be a single scope id or multiple. The client checks to see if it has an acc=
ess token issued with that scope combination. If it doesn't it goes and req=
uest an access token, and includes the required scope in the request. We ca=
n also allow the server to tell the client what scope an issued token inclu=
des in the token reply.

The client doesn't need to understand the internal structure of the scope i=
dentifiers. It just need to know what to ask for when trying to access an u=
nfamiliar resource. No documentation is needed.

Client: I want to get an address book record with the latest email to that =
person.
Server: You need an access token scoped for "Contact" and "Email".
Client: Can I get an access token for scope=3Dcontact,email?
Server: Sure, here is an access token for scope=3Demail,contact (order does=
n't matter).

EHL


From john@jkemp.net  Mon Apr 19 16:01:23 2010
Return-Path: <john@jkemp.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DE2943A6958 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 16:01:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.373
X-Spam-Level: 
X-Spam-Status: No, score=-0.373 tagged_above=-999 required=5 tests=[AWL=-1.308, BAYES_50=0.001, IP_NOT_FRIENDLY=0.334, J_CHICKENPOX_57=0.6]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id e1nrX-BH7mrW for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 16:01:22 -0700 (PDT)
Received: from outbound-mail-158.bluehost.com (cpoproxy2-pub.bluehost.com [67.222.39.38]) by core3.amsl.com (Postfix) with SMTP id 860243A6978 for <oauth@ietf.org>; Mon, 19 Apr 2010 16:01:21 -0700 (PDT)
Received: (qmail 2615 invoked by uid 0); 19 Apr 2010 23:01:13 -0000
Received: from unknown (HELO box320.bluehost.com) (69.89.31.120) by cpoproxy2.bluehost.com with SMTP; 19 Apr 2010 23:01:13 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=jkemp.net; h=Received:Subject:Mime-Version:Content-Type:From:In-Reply-To:Date:Cc:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=UWAgatPFgqyayuDFt6IrRbidDA71WiXuSKQrtDzTtRl6jJiLGM/LLMuyMW4O9L86pVjia9r13RE6toJo4RLIdH/ZrfVMXARI45YtvsYONn1LZriP6vnbb0IiEPXbBm34;
Received: from cpe-69-205-56-47.nycap.res.rr.com ([69.205.56.47] helo=[192.168.1.103]) by box320.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from <john@jkemp.net>) id 1O3zxo-0001Xq-Nd; Mon, 19 Apr 2010 17:01:13 -0600
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: John Kemp <john@jkemp.net>
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Date: Mon, 19 Apr 2010 19:01:10 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <8A2051B5-184E-43F8-9000-01273790505C@jkemp.net>
References: <C7F1D1FC.32809%eran@hueniverse.com> <0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET>
To: Eran Hammer-Lahav <eran@hueniverse.com>
X-Mailer: Apple Mail (2.1078)
X-Identified-User: {1122:box320.bluehost.com:jkempnet:jkemp.net} {sentby:smtp auth 69.205.56.47 authed with john+jkemp.net}
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 23:01:24 -0000

On Apr 19, 2010, at 6:17 PM, Eran Hammer-Lahav wrote:

[...]


>>>=20
>>=20
>> I think that there is much that is unspecified in this model and thus =
it doesn't
>> provide much interoperability. If we don't tell the client what to do =
with the
>> scope, and we don't specify what a server means by supplying a scope, =
I'm
>> not sure what the point is to specifying this at all as clients will =
still need some
>> documentation or be hard-coded (which token service do I get such a =
token
>> from?)
>=20
> Why?
>=20
> The server tells the client what scope is needed for each resource. It =
can be a single scope id or multiple. The client checks to see if it has =
an access token issued with that scope combination. If it doesn't it =
goes and request an access token, and includes the required scope in the =
request. We can also allow the server to tell the client what scope an =
issued token includes in the token reply.
>=20
> The client doesn't need to understand the internal structure of the =
scope identifiers. It just need to know what to ask for when trying to =
access an unfamiliar resource. No documentation is needed.

Which server does the client ask to get a token with the particular =
scope which was asked for? How does the client determine that it's OK to =
ask server B for a token with scope X at server A?

>=20
> Client: I want to get an address book record with the latest email to =
that person.
> Server: You need an access token scoped for "Contact" and "Email".
> Client: Can I get an access token for scope=3Dcontact,email?

To whom does the client address the above question? How does the client =
know that server's URL without it either being available in =
documentation or hard-coded inside the client?=20

I'm just questioning whether the "amount of interoperability" you get =
(client still needs to read some documentation in order to participate) =
is sufficient to make the specification of 'scope' worthwhile on its =
own, unless we supply it with some more shared semantics.=20

- johnk=

From mscurtescu@google.com  Mon Apr 19 16:37:29 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 16AE43A68F7 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 16:37:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.798
X-Spam-Level: 
X-Spam-Status: No, score=-101.798 tagged_above=-999 required=5 tests=[AWL=0.179, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id enI+706UZe6M for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 16:37:28 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 211D83A6961 for <oauth@ietf.org>; Mon, 19 Apr 2010 16:37:20 -0700 (PDT)
Received: from hpaq11.eem.corp.google.com (hpaq11.eem.corp.google.com [10.3.21.11]) by smtp-out.google.com with ESMTP id o3JNbBeX010072 for <oauth@ietf.org>; Tue, 20 Apr 2010 01:37:11 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271720231; bh=vr1YrBeFDigpuEasjzQXMcT95zU=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=EVDPzqdUwsRbpk+VAndgu7PNyGygSxolaaVCvRktfJn0xA5ajesm9KggfVawjsgHk JbZCT3BvKI+GbpEJeYlfg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=syWg7sB85Fzzbth+bOOvP3k8kvhH/+SZZDga9g3yt+DFwBHRNaHvxI0pEVwJVWrcp DQmEtMsMlwaZzx8C6lEzw==
Received: from pzk40 (pzk40.prod.google.com [10.243.19.168]) by hpaq11.eem.corp.google.com with ESMTP id o3JNb94R029360 for <oauth@ietf.org>; Tue, 20 Apr 2010 01:37:10 +0200
Received: by pzk40 with SMTP id 40so3746415pzk.23 for <oauth@ietf.org>; Mon, 19 Apr 2010 16:37:09 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Mon, 19 Apr 2010 16:36:49 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F2BC@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <j2q74caaad21004191103l488ae334j78d5546479f66cb8@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F17F@P3PW5EX1MB01.EX1.SECURESERVER.NET> <x2q74caaad21004191349p9969878aob14135d7069dd593@mail.gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E5C7F2BC@P3PW5EX1MB01.EX1.SECURESERVER.NET>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 19 Apr 2010 16:36:49 -0700
Received: by 10.140.88.33 with SMTP id l33mr5071614rvb.4.1271720229102; Mon,  19 Apr 2010 16:37:09 -0700 (PDT)
Message-ID: <n2v74caaad21004191636m578f3elf77501a28297dba9@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 23:37:29 -0000

On Mon, Apr 19, 2010 at 2:20 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
>
>> -----Original Message-----
>> From: Marius Scurtescu [mailto:mscurtescu@google.com]
>> Sent: Monday, April 19, 2010 1:50 PM
>
>> I did a proof of concept implementation, with client, server and protected
>> resource support libraries, and the scope structure was never an issue.
>> Actual client, server and resource code, does need to deal with scopes, but
>> this is not the generic code that would go into a library.
>
> Did your library handle unknown parameters, passing them through the call stack?

Yes, it did.


Marius

From mscurtescu@google.com  Mon Apr 19 16:41:22 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B91823A67A3 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 16:41:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.888
X-Spam-Level: 
X-Spam-Status: No, score=-105.888 tagged_above=-999 required=5 tests=[AWL=0.089, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id B9+PkSjQFuiE for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 16:41:22 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 6A86B3A689C for <oauth@ietf.org>; Mon, 19 Apr 2010 16:41:21 -0700 (PDT)
Received: from wpaz17.hot.corp.google.com (wpaz17.hot.corp.google.com [172.24.198.81]) by smtp-out.google.com with ESMTP id o3JNfBZ5032430 for <oauth@ietf.org>; Mon, 19 Apr 2010 16:41:12 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271720472; bh=VckmHSrCAN+GRGi8eey9d7oSLhI=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=iUdg1VhhjDfNdDUR0SQorxICm/QUhd3HyOLwpj87nstA4PrppKV3IG49ivmAnBdCu 5RDJ00KJwfuXibC7NJUXw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=uL4eHPY7gJ3IO0LCm2/sH/g+Vt46vWF61e32wnOCXCwDI0+Tcra0AuH7qejEnlFZB wWfnBZdAlAyYl4CSsmwzA==
Received: from pzk10 (pzk10.prod.google.com [10.243.19.138]) by wpaz17.hot.corp.google.com with ESMTP id o3JNaBci015051 for <oauth@ietf.org>; Mon, 19 Apr 2010 16:36:11 -0700
Received: by pzk10 with SMTP id 10so240868pzk.20 for <oauth@ietf.org>; Mon, 19 Apr 2010 16:36:11 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Mon, 19 Apr 2010 16:30:08 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F2C8@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <1E39CE38-763E-4E3D-96D4-DC757BD53B9D@gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E30A379E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4776FFF7-45E6-4945-9548-382A9DB84A95@gmail.com> <r2v74caaad21004191017id7c48d54lc5ced6e9e164591e@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F1BF@P3PW5EX1MB01.EX1.SECURESERVER.NET> <t2s74caaad21004191358h3527f320u61c6a958cda1d652@mail.gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E5C7F2C8@P3PW5EX1MB01.EX1.SECURESERVER.NET>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 19 Apr 2010 16:30:08 -0700
Received: by 10.140.58.5 with SMTP id g5mr709503rva.157.1271719828214; Mon, 19  Apr 2010 16:30:28 -0700 (PDT)
Message-ID: <k2h74caaad21004191630k4f6cf28ar5f5949955c26ff04@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: state in web server flow
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 23:41:22 -0000

On Mon, Apr 19, 2010 at 2:24 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
>
>> -----Original Message-----
>> From: Marius Scurtescu [mailto:mscurtescu@google.com]
>> Sent: Monday, April 19, 2010 1:58 PM
>> To: Eran Hammer-Lahav
>> Cc: Dick Hardt; OAuth WG
>> Subject: Re: [OAUTH-WG] Issue: state in web server flow
>>
>> On Mon, Apr 19, 2010 at 11:53 AM, Eran Hammer-Lahav
>> <eran@hueniverse.com> wrote:
>> >
>> >
>> >> -----Original Message-----
>> >> From: Marius Scurtescu [mailto:mscurtescu@google.com]
>> >> Sent: Monday, April 19, 2010 10:18 AM
>> >
>> >> I don't think it is possible to enforce callbacks without any query
>> parameters.
>> >> See the Drupal example.
>> >
>> > In the Drupal example the client server adds its silly parameters internally.
>> They are not included in what the client provides as its callback URI.
>>
>> Silly?
>
> Yes.
>
>> The query parameter may or may not be visible in the registered callback.
>>
>>
>> > Can you give an actual callback URI example?
>>
>> http://example.com/oauth2/callback
>> equivalent with:
>> http://example.com/index.php?q=oauth2/callback
>
> Why can't the client always use the first?

For the PHP code receiving the callback makes absolutely no
difference, in both cases it sees the second.

The first URL is achieved with Apache doing a rewrite, it acts as a
reverse proxy. The backend code is always called with the query
parameters.


>> > Also, if the client requires query parameters in its callback, it just means it
>> cannot use the client state OAuth parameter.
>>
>> Sure it can, perfectly valid to redirect to:
>> http://example.com/oauth2/callback?code=123&state=qwerty
>> which is the same as:
>> http://example.com/index.php?q=oauth2/callback&code=123&state=qwert
>> y
>
> No, I meant according to the last proposal, the state parameter will be limited to cases where there is no query in the callback URI. This makes it easy for servers to validate the pre-registered URI.

Servers can validate pre-registered URIs even of the callback has
query parameters, including strict matching.


Marius

From uidude@google.com  Mon Apr 19 17:17:15 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 799593A685A for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 17:17:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.719
X-Spam-Level: 
X-Spam-Status: No, score=-105.719 tagged_above=-999 required=5 tests=[AWL=0.257, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ne7FUW4Sd4eI for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 17:17:13 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 20A9F3A6874 for <oauth@ietf.org>; Mon, 19 Apr 2010 17:17:13 -0700 (PDT)
Received: from kpbe16.cbf.corp.google.com (kpbe16.cbf.corp.google.com [172.25.105.80]) by smtp-out.google.com with ESMTP id o3K0H149022039 for <oauth@ietf.org>; Mon, 19 Apr 2010 17:17:02 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271722622; bh=hY+wyD3pGcPi92BrPdbr2wC3c0I=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=T46+JaVloX5w8MNGreb7s9a92c1eujYoVPxmaYcIsqMY3Uk+P96f+m9CyiI50Ju0Z bUl44IjvUExPfxQ8UrNUA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=d5kR4bRSsvw0zWTyBW3GYei7EOaChrbRuyfFwfBx/ttfiuJgTJQyZXNtmp4HcyGJf ougwv04XDPbXuJaJhRHfQ==
Received: from qyk26 (qyk26.prod.google.com [10.241.83.154]) by kpbe16.cbf.corp.google.com with ESMTP id o3K0GkL4006421 for <oauth@ietf.org>; Mon, 19 Apr 2010 17:17:00 -0700
Received: by qyk26 with SMTP id 26so5686553qyk.19 for <oauth@ietf.org>; Mon, 19 Apr 2010 17:17:00 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.16.148 with HTTP; Mon, 19 Apr 2010 17:16:40 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com>  <C7F1C6AC.327EE%eran@hueniverse.com> <u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET>
From: Evan Gilbert <uidude@google.com>
Date: Mon, 19 Apr 2010 17:16:40 -0700
Received: by 10.229.218.21 with SMTP id ho21mr2008568qcb.79.1271722620175;  Mon, 19 Apr 2010 17:17:00 -0700 (PDT)
Message-ID: <o2wc8689b661004191716o69966d5di900c07737d3be568@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=0016362842fa07452704849ffff4
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 00:17:15 -0000

--0016362842fa07452704849ffff4
Content-Type: text/plain; charset=ISO-8859-1

On Mon, Apr 19, 2010 at 10:58 AM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

> Thanks. That makes sense.
>
>
>
> My concern is that the client will ask for a specific username but an
> attacker will change that request before it hits the server. The server then
> asks the (wrong) user to authenticate and returns a token. The client has no
> way of knowing it got an access token for the wrong user. Does requiring
> that the server returns the token with the username solves this? Is this a
> real issue?
>

This particular attack wasn't of concern to me, for a few of reasons:
- The request is HTTPS, hard to modify the request before it hits the server
- There are probably other, more dangerous attacks if you can modify request
parameters (for example, you can modify the client_id and get the user to
authorize the wrong app)

I'm willing to be convinced otherwise

>
>
> I have no objections to this proposal but wanted to see some discussion and
> support from others before adding it to the spec.
>
>
>
> EHL
>
>
>
> *From:* Evan Gilbert [mailto:uidude@google.com]
> *Sent:* Monday, April 19, 2010 10:06 AM
> *To:* Eran Hammer-Lahav
> *Cc:* OAuth WG
>
> *Subject:* Re: [OAUTH-WG] Issue: 'username' parameter proposal
>
>
>
> User 1 is logged into Client site
>
> User 2 is logged into IDP site
>
>
>
> This can happen quite frequently, as client sites often have long-lived
> cookies and may only be visited by one user on a shared computer.
>
>
>
> Right now client site has no way to ask for a token for User 1, and end
> result will be that User 1 starts seeing User 2's data.
>
>
>
> On Mon, Apr 19, 2010 at 8:37 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>
> How can they both be logged in? I have never seen a case where two users
> can be both logged into to the same service at the same time...
>
> EHL
>
>
>
>
> On 4/19/10 8:33 AM, "Evan Gilbert" <uidude@google.com> wrote:
>
> More details on this enhancement.
>
> Goal: Make sure you get an access token for the right user in immediate
> mode.
>
> Use case where we have problems if we don't have username parameter:
>
>    1. Bob is logged into a web site as bob@IDP.com.
>    2. Mary (his wife) is logged into IDP on the same computer as
>    mary@IDP.com
>    3. A request is made to get an access token via the User-Agent flow in
>    immediate mode (or with any redirect without prompting the user)
>    4. -ob now has an access token for Mary and (posts activities,
>    schedules events, gets contacts) as Mary
>    5. Hilarity ensues
>
>
> Secondary goal: Provide a hint for non-immediate mode
>
> On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>
> Evan Gilbert proposed a 'username' request parameter to allow the client to
> limit the end user to authenticate using the provided authorization server
> identifier. The proposal has not been discussed or supported by others, and
> has not received a security review.
>
> Proposal: Obtain further discussion and support from others, as well as a
> security review of the proposal. Otherwise, do nothing.
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>
>
>
>

--0016362842fa07452704849ffff4
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Mon, Apr 19, 2010 at 10:58 AM, Eran H=
ammer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com">er=
an@hueniverse.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote=
" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div lang=3D"EN-US" link=3D"blue" vlink=3D"purple"><div><p class=3D"MsoNorm=
al"><span style=3D"font-size:11.0pt;color:#1F497D">Thanks. That makes sense=
.</span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1=
F497D">=A0</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">My co=
ncern is that the client will ask for a specific username but an attacker w=
ill change that request before it hits the server. The server then asks the=
 (wrong) user to authenticate and returns a token. The client has no way of=
 knowing it got an access token for the wrong user. Does requiring that the=
 server returns the token with the username solves this? Is this a real iss=
ue?</span></p>

</div></div></blockquote><div><br></div><div>This particular attack wasn&#3=
9;t of concern to me, for a few of reasons:</div><div>- The request is HTTP=
S, hard to modify the request before it hits the server</div><div>- There a=
re probably other, more dangerous attacks if you can modify request paramet=
ers (for example, you can modify the client_id and get the user to authoriz=
e the wrong app)</div>

<div><br>I&#39;m willing to be convinced otherwise</div><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex;"><div lang=3D"EN-US" link=3D"blue" vlink=3D"purple"><div><p c=
lass=3D"MsoNormal">

<span style=3D"font-size:11.0pt;color:#1F497D">=A0</span></p><p class=3D"Ms=
oNormal"><span style=3D"font-size:11.0pt;color:#1F497D">I have no objection=
s to this proposal but wanted to see some discussion and support from other=
s before adding it to the spec.</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">EHL</span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;co=
lor:#1F497D">=A0</span></p>

<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in =
4.0pt"><div><div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;paddin=
g:3.0pt 0in 0in 0in"><p class=3D"MsoNormal"><b><span style=3D"font-size:10.=
0pt">From:</span></b><span style=3D"font-size:10.0pt"> Evan Gilbert [mailto=
:<a href=3D"mailto:uidude@google.com" target=3D"_blank">uidude@google.com</=
a>] <br>

<b>Sent:</b> Monday, April 19, 2010 10:06 AM<br><b>To:</b> Eran Hammer-Laha=
v<br><b>Cc:</b> OAuth WG</span></p><div class=3D"im"><br><b>Subject:</b> Re=
: [OAUTH-WG] Issue: &#39;username&#39; parameter proposal</div><p></p></div=
>

</div><p class=3D"MsoNormal">=A0</p><p class=3D"MsoNormal">User 1 is logged=
 into Client site</p><div><div></div><div class=3D"h5"><div><p class=3D"Mso=
Normal">User 2 is logged into IDP site</p></div><div><p class=3D"MsoNormal"=
>=A0</p></div>

<div><p class=3D"MsoNormal">This can happen quite frequently, as client sit=
es often have long-lived cookies and may only be visited by one user on a s=
hared computer.</p></div><div><p class=3D"MsoNormal">=A0</p></div><div><p c=
lass=3D"MsoNormal">

Right now client site has no way to ask for a token for User 1, and end res=
ult will be that User 1 starts seeing User 2&#39;s data.</p></div><div><div=
><div><div><p class=3D"MsoNormal">=A0</p><div><p class=3D"MsoNormal">On Mon=
, Apr 19, 2010 at 8:37 AM, Eran Hammer-Lahav &lt;<a href=3D"mailto:eran@hue=
niverse.com" target=3D"_blank">eran@hueniverse.com</a>&gt; wrote:</p>

<div><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">How can they b=
oth be logged in? I have never seen a case where two users can be both logg=
ed into to the same service at the same time...<br><span style=3D"color:#88=
8888"><br>

EHL</span></span></p><div><div><p class=3D"MsoNormal" style=3D"margin-botto=
m:12.0pt"><span style=3D"font-size:11.0pt"><br><br><br>On 4/19/10 8:33 AM, =
&quot;Evan Gilbert&quot; &lt;<a href=3D"http://uidude@google.com" target=3D=
"_blank">uidude@google.com</a>&gt; wrote:</span></p>

</div></div><div><div><blockquote style=3D"margin-top:5.0pt;margin-bottom:5=
.0pt"><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">More details =
on this enhancement.<br><br>Goal: Make sure you get an access token for the=
 right user in immediate mode.<br>

<br>Use case where we have problems if we don&#39;t have username parameter=
:</span></p><ol start=3D"1" type=3D"1"><li class=3D"MsoNormal"><span style=
=3D"font-size:11.0pt">Bob is logged into a web site as <a href=3D"http://bo=
b@IDP.com" target=3D"_blank">bob@IDP.com</a>. </span></li>

<li class=3D"MsoNormal"><span style=3D"font-size:11.0pt">Mary (his wife) is=
 logged into IDP on the same computer as <a href=3D"http://mary@IDP.com" ta=
rget=3D"_blank">mary@IDP.com</a> </span></li><li class=3D"MsoNormal"><span =
style=3D"font-size:11.0pt">A request is made to get an access token via the=
 User-Agent flow in immediate mode (or with any redirect without prompting =
the user) </span></li>

<li class=3D"MsoNormal"><span style=3D"font-size:11.0pt">-ob now has an acc=
ess token for Mary and (posts activities, schedules events, gets contacts) =
as Mary </span></li><li class=3D"MsoNormal"><span style=3D"font-size:11.0pt=
">Hilarity ensues</span></li>

</ol><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt"><br>Secondary =
goal: Provide a hint for non-immediate mode<br><br>On Thu, Apr 15, 2010 at =
11:55 AM, Eran Hammer-Lahav &lt;<a href=3D"http://eran@hueniverse.com" targ=
et=3D"_blank">eran@hueniverse.com</a>&gt; wrote:</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">Evan Gilbert propos=
ed a &#39;username&#39; request parameter to allow the client to<br>limit t=
he end user to authenticate using the provided authorization server<br>iden=
tifier. The proposal has not been discussed or supported by others, and<br>

has not received a security review.<br><br>Proposal: Obtain further discuss=
ion and support from others, as well as a<br>security review of the proposa=
l. Otherwise, do nothing.<br><br>EHL<br><br>_______________________________=
________________<br>

OAuth mailing list<br><a href=3D"http://OAuth@ietf.org" target=3D"_blank">O=
Auth@ietf.org</a><br><a href=3D"https://www.ietf.org/mailman/listinfo/oauth=
" target=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a></span><=
/p>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt">
=A0</p></blockquote></div></div></div></div><p class=3D"MsoNormal">=A0</p><=
/div></div></div></div></div></div></div></div></div></blockquote></div><br=
>

--0016362842fa07452704849ffff4--

From mscurtescu@google.com  Mon Apr 19 20:04:10 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1C68C3A6931 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 20:04:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -99.985
X-Spam-Level: 
X-Spam-Status: No, score=-99.985 tagged_above=-999 required=5 tests=[AWL=-1.651, BAYES_05=-1.11, FM_FORGED_GMAIL=0.622, FRT_BELOW2=2.154, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0z-NxDvIxZW6 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 20:04:09 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 043CD3A6922 for <oauth@ietf.org>; Mon, 19 Apr 2010 20:04:08 -0700 (PDT)
Received: from kpbe20.cbf.corp.google.com (kpbe20.cbf.corp.google.com [172.25.105.84]) by smtp-out.google.com with ESMTP id o3K33u5U004823 for <oauth@ietf.org>; Tue, 20 Apr 2010 05:03:58 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271732638; bh=KWMIgVxB+565TG68/gMnY893VZ8=; h=MIME-Version:From:Date:Message-ID:Subject:To:Content-Type; b=R4ijYCc1Bnhv4pDPMKAIXmQEFMTGGP/JODc8WaYPXxRheUHsIeNkhkEfKOQ4woMaP r4U7xU6CZQ3xRX4CCZ3vw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:from:date:message-id:subject:to:content-type:x-system-of-record; b=lMPy3iPAAiyxgPH2OMw2WO34i/Mx7NY0xxPxsSgxdz5Vfo8EouZTExYiDJXvj6L7t B0+B9CGvnfgCLeL7cgvgg==
Received: from pwj1 (pwj1.prod.google.com [10.241.219.65]) by kpbe20.cbf.corp.google.com with ESMTP id o3K33tWJ019713 for <oauth@ietf.org>; Mon, 19 Apr 2010 20:03:55 -0700
Received: by pwj1 with SMTP id 1so3945561pwj.23 for <oauth@ietf.org>; Mon, 19 Apr 2010 20:03:55 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Mon, 19 Apr 2010 20:03:35 -0700 (PDT)
From: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 19 Apr 2010 20:03:35 -0700
Received: by 10.141.139.21 with SMTP id r21mr4943362rvn.2.1271732635164; Mon,  19 Apr 2010 20:03:55 -0700 (PDT)
Message-ID: <u2o74caaad21004192003rfe0b25ffpbbe648e6e493b568@mail.gmail.com>
To: OAuth WG <oauth@ietf.org>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Subject: [OAUTH-WG] feedback on 4/17 draft
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 03:04:10 -0000

Hi Eran,

The spec looks really good, thanks for all the work you put into it.

I think it was a good idea to remove the 401 responses and use only 400.

A few minor comments bellow:


3.5.1

The client is described as being incapable to act as a HTTP server,
and of receiving incoming request. The client must provide a callback,
so it is acting as a HTTP server and it is also receiving requests. In
theory a JavaScript client could work with the Web Server flow, it
would extract the verification code from the URL and then make a
direct call to get the access token. I think it is more accurate to
describe the client as not being capable of storing secrets?


3.5.2.1

The client must direct the user agent to the authorization server
using GET. Why is this a MUST? A POST should also work if the client
prefers that, no? Can at least this be changed to SHOULD?


3.5.2.1.1

Same as above, the authorization server directs the user agent back to
the redirection URI with a GET. Why MUST?


3.5.3.1

"an HTTP GET request to the authorization endpoint", should probably
read: "an HTTP POST request to the token endpoint" (POST and token
endpoint).


3.5.3.2.3

The response HTTP status code should probably be 400, not 401.


3.7.1.1

client_secret is marked as OPTIONAL. Maybe for this flow it should
always be REQUIRED?

For invalid requests there are two error codes: incorrect_credentials
and unauthorized_client. Since only client credentials are present in
the request, it is not clear what the difference is. I do agree that
both codes are useful, the second makes reference to an invisible
scope, if the scope was present it would be easier to explain that
case.


3.7.2.1

For invalid assertions there are two error codes:
incorrect_credentials and unauthorized_client. The first one does not
make sense in this context. Maybe invalid_assertion?


5

Second to last paragraph ends in the middle of a sentence.


5.2.2

If the entity body includes other parameters, is it worth requiring
that oauth_token be the first one?



Marius

From dick.hardt@gmail.com  Mon Apr 19 20:07:01 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DB7793A69B7 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 20:07:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.42
X-Spam-Level: 
X-Spam-Status: No, score=-2.42 tagged_above=-999 required=5 tests=[AWL=0.179,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5YVEphP8zeAt for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 20:07:01 -0700 (PDT)
Received: from mail-vw0-f44.google.com (mail-vw0-f44.google.com [209.85.212.44]) by core3.amsl.com (Postfix) with ESMTP id 6DEC23A69B5 for <oauth@ietf.org>; Mon, 19 Apr 2010 20:07:00 -0700 (PDT)
Received: by vws12 with SMTP id 12so341126vws.31 for <oauth@ietf.org>; Mon, 19 Apr 2010 20:06:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=MPEIaXuJQF03KoHLaXhJKZBH3CiCx1Y7/NrL4NBAWYs=; b=BAL/G0Qo6JFX8lRBc40BtzpftIIQCOYbNA/7y+FlNfb1NBTJWHvo4wbTa0EYe6Q53v j7KDMVSfYfiMKxEk+bOVSxehj/fRJZAePOcv2OxNVNbtnE+xvfI2HNBRBU5pqhKuqxsC W8ceTLrwDqa3jLwubpI6o0Y/85fNkEuTVmfjE=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=EAoC6l9OmyVjc9eX9H/jkecTBs9p58EUoI23ASuB1zeGdQr+37GNdCvqc2IKFXkSW1 bpUqQlM8j0UKkhBFy0GUs6FOdP1slkRQ9+XcJ6UXPh7X2XQyxLkAQ0rHw3bnQv/xW5Wy Gpvm9sV64q4dBGXgFK334upB64/j9bh5adGiU=
Received: by 10.220.107.4 with SMTP id z4mr4227037vco.147.1271732804155; Mon, 19 Apr 2010 20:06:44 -0700 (PDT)
Received: from [10.0.1.4] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id z17sm21552516vco.5.2010.04.19.20.06.42 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 19 Apr 2010 20:06:43 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: Dick Hardt <dick.hardt@gmail.com>
In-Reply-To: <C7F1D1FC.32809%eran@hueniverse.com>
Date: Mon, 19 Apr 2010 20:06:40 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <620F3756-E159-4EF3-99DC-6D74CC869739@gmail.com>
References: <C7F1D1FC.32809%eran@hueniverse.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
X-Mailer: Apple Mail (2.1078)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 03:07:02 -0000

On 2010-04-19, at 9:25 AM, Eran Hammer-Lahav wrote:
> 2. Server requires authentication
>=20
>    HTTP/1.1 401 Unauthorized
>    WWW-Authenticate: Token realm=3D'Example', scope=3D'x2'

Can more than one scope be returned? Is it a comma delimited list?

I wonder how much value this will provide. (I like the idea, but teasing =
out the implications.)

Imagine we have a resource that can have READ or  WRITE access granted.

An unauthenticated GET on the resource could return the scope URI needed =
for READ, an unauthenticated PUT on the resource could return the scope =
URI for WRITE. What if you want to both do READs and WRITEs? There may =
be another scope that is READ/WRITE. READ and WRITE are pretty common =
capabilities, but one can imagine much more complex capabilities at =
resources.

The exact semantics to the resource are likely going to very contextual.

Given that, returning a single scope value if that is all that makes =
sense to the resource will likely address many use cases.

(+1 to Eran's proposal given all the other factors)

-- Dick


From dick.hardt@gmail.com  Mon Apr 19 21:03:08 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0B2C23A6990 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 21:03:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IrkEqsldXOoh for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 21:03:06 -0700 (PDT)
Received: from mail-pw0-f44.google.com (mail-pw0-f44.google.com [209.85.160.44]) by core3.amsl.com (Postfix) with ESMTP id E2CD73A67A1 for <oauth@ietf.org>; Mon, 19 Apr 2010 21:03:06 -0700 (PDT)
Received: by pwj2 with SMTP id 2so3930864pwj.31 for <oauth@ietf.org>; Mon, 19 Apr 2010 21:02:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:content-type; bh=g16NZKikK4baHyVsWQvKyDD09EaVn+WVf9vVpK7KKeE=; b=GwmUqKncHhXuepuJjT2wDPyOIxOqFx0nryTTnQN0gK5RjrFVsrlNvoXi4N+VkyLJXe pnO7QydBzjTAvPpUM/9n8o98Y/Hm8B9prXP+u8+trpyH7KeyHwa7uQ/x4KG+7MSHUmOd pBEtXqhzDZeQhhiwO/X/EE/mLpW9UzkIqRDvU=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=mOjXSu4xYYVPxFPnhepnWxUh55iYX0uU1PAdJEVhWgjOoM6hoqg4cUDSBbO1C2TO8d Oqpb5BkWW9caE4YLtyAZKBQIG/nBRroIbFIALtN24yPqdJIxZYF8tpi+ZOXU9mh5VuhE MX/X5n5nZ9pj4EV5KWfSUtChOSD5aLMQvts54=
MIME-Version: 1.0
Received: by 10.142.58.3 with HTTP; Mon, 19 Apr 2010 21:02:55 -0700 (PDT)
In-Reply-To: <20100419212331.D039E3A6B1A@core3.amsl.com>
References: <20100419212331.D039E3A6B1A@core3.amsl.com>
Date: Mon, 19 Apr 2010 21:02:55 -0700
Received: by 10.142.75.17 with SMTP id x17mr2569097wfa.46.1271736175444; Mon,  19 Apr 2010 21:02:55 -0700 (PDT)
Message-ID: <h2w987bab591004192102kcf0e298fqda2085269c748539@mail.gmail.com>
From: Dick Hardt <dick.hardt@gmail.com>
To: oauth@ietf.org
Content-Type: multipart/alternative; boundary=001636e1fb60fc42da0484a32692
Subject: Re: [OAUTH-WG] 1st OAUTH WG Face-to-Face Interim Meeting - May 20, 2010
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 04:03:08 -0000

--001636e1fb60fc42da0484a32692
Content-Type: text/plain; charset=ISO-8859-1

8:30am might be a tad early ...

On Mon, Apr 19, 2010 at 2:23 PM, IESG Secretary <iesg-secretary@ietf.org>wrote:

> Location:
>
> This interim meeting is attached to the Internet Identity Workshop
> (see http://www.internetidentityworkshop.com/) in Mountain View, CA.
>
> Time:
>
> 20th of May, 8:30am - 6pm
>
> Meeting Host:
>
> Yahoo
> (address & room to be announced)
>
> Agenda:
>
> Discussion of open issues around OAuth 2.0.
>
> Up-to-date information can be found at the OAuth WG Wiki page:
> http://trac.tools.ietf.org/wg/oauth/trac/wiki/InterimMeeting
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--001636e1fb60fc42da0484a32692
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

8:30am might be a tad early ...=A0<br><br><div class=3D"gmail_quote">On Mon=
, Apr 19, 2010 at 2:23 PM, IESG Secretary <span dir=3D"ltr">&lt;<a href=3D"=
mailto:iesg-secretary@ietf.org">iesg-secretary@ietf.org</a>&gt;</span> wrot=
e:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">Location:<br>
<br>
This interim meeting is attached to the Internet Identity Workshop<br>
(see <a href=3D"http://www.internetidentityworkshop.com/" target=3D"_blank"=
>http://www.internetidentityworkshop.com/</a>) in Mountain View, CA.<br>
<br>
Time:<br>
<br>
20th of May, 8:30am - 6pm<br>
<br>
Meeting Host:<br>
<br>
Yahoo<br>
(address &amp; room to be announced)<br>
<br>
Agenda:<br>
<br>
Discussion of open issues around OAuth 2.0.<br>
<br>
Up-to-date information can be found at the OAuth WG Wiki page:<br>
<a href=3D"http://trac.tools.ietf.org/wg/oauth/trac/wiki/InterimMeeting" ta=
rget=3D"_blank">http://trac.tools.ietf.org/wg/oauth/trac/wiki/InterimMeetin=
g</a><br>
<div><div></div><div class=3D"h5"><br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br>

--001636e1fb60fc42da0484a32692--

From James.H.Manger@team.telstra.com  Mon Apr 19 21:06:01 2010
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A0E403A67A1 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 21:06:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.26
X-Spam-Level: 
X-Spam-Status: No, score=-0.26 tagged_above=-999 required=5 tests=[AWL=0.641,  BAYES_00=-2.599, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id X2HufC7Qm3jg for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 21:06:00 -0700 (PDT)
Received: from ipxano.tcif.telstra.com.au (ipxano.tcif.telstra.com.au [203.35.82.200]) by core3.amsl.com (Postfix) with ESMTP id 924343A6968 for <oauth@ietf.org>; Mon, 19 Apr 2010 21:06:00 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.52,239,1270389600";  d="scan'208";a="1584363"
Received: from unknown (HELO ipcbni.tcif.telstra.com.au) ([10.97.216.204]) by ipoani.tcif.telstra.com.au with ESMTP; 20 Apr 2010 14:05:51 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,5956"; a="938255"
Received: from wsmsg3756.srv.dir.telstra.com ([172.49.40.84]) by ipcbni.tcif.telstra.com.au with ESMTP; 20 Apr 2010 14:05:51 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by wsmsg3756.srv.dir.telstra.com ([172.49.40.84]) with mapi; Tue, 20 Apr 2010 14:05:50 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Date: Tue, 20 Apr 2010 14:05:48 +1000
Thread-Topic: [OAUTH-WG] 'Scope' parameter proposal
Thread-Index: AcrgNopPKcA99eyRTky8xQ/Bn86fRAAA3Ifw
Message-ID: <255B9BB34FB7D647A506DC292726F6E112577842AD@WSMSG3153V.srv.dir.telstra.com>
References: <C7F1D1FC.32809%eran@hueniverse.com> <620F3756-E159-4EF3-99DC-6D74CC869739@gmail.com>
In-Reply-To: <620F3756-E159-4EF3-99DC-6D74CC869739@gmail.com>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-AU
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 04:06:01 -0000

PiAgICBIVFRQLzEuMSA0MDEgVW5hdXRob3JpemVkDQo+ICAgIFdXVy1BdXRoZW50aWNhdGU6IFRv
a2VuIHJlYWxtPSdFeGFtcGxlJywgc2NvcGU9J3gyJw0KDQpJIGFzc3VtZSB0aGUgV1dXLUF1dGhl
bnRpY2F0ZSByZXNwb25zZSBoZWFkZXIgYWxzbyBoYXMgYW4gImF1dGh6LXVyaSIgcGFyYW1ldGVy
Lg0KDQogICAgIFdXVy1BdXRoZW50aWNhdGU6IFRva2VuIHJlYWxtPSdFeGFtcGxlJywgc2NvcGU9
J3gyJywgYXV0aHotdXJpPSJodHRwczovL2FzLmV4YW1wbGUuY29tLyINCg0KVGhlIGZpcnN0IHRp
bWUgYSBjbGllbnQgYXBwIGdldHMgdGhpcyByZXNwb25zZSBhbGwgaXQgY2FuIGRvIGlzIGFkZCB0
aGUgJ3Njb3BlJyB0byB0aGUgJ2F1dGh6LXVyaScuIEluIHdoaWNoIGNhc2UgdGhlIHNlcGFyYXRl
ICdzY29wZScgcGFyYW1ldGVyIG9mZmVyZWQgbm8gYWR2YW50YWdlLiBUaGUgcmVzb3VyY2Ugc2Vy
dmVyIGNvdWxkIGhhdmUgbW9yZSBzaW1wbHkgcmV0dXJuZWQ6DQoNCiAgICAgV1dXLUF1dGhlbnRp
Y2F0ZTogVG9rZW4gcmVhbG09J0V4YW1wbGUnLCBhdXRoei11cmk9Imh0dHBzOi8vYXMuZXhhbXBs
ZS5jb20vP3Njb3BlPXgyIg0KDQoNClRoZSBvbmUgc2l0dWF0aW9uIHdoZXJlIGEgJ3Njb3BlJyBw
YXJhbWV0ZXIgY2FuIGhlbHAgaW50ZXJvcCAoYmV0d2VlbiBjbGllbnQgd2l0aCBubyBzZXJ2ZXIt
c3BlY2lmaWMga25vd2xlZGdlIGFuZCB0aGUgc2VydmVyKSBpcyB3aGVuIHNjb3BlcyBhcmUgY29t
YmluZWQuDQoNCkEgY2xpZW50IHdpdGggYSB0b2tlbiBmb3Igc2NvcGUgJ3gxJyB0aGF0IHJlY2Vp
dmVzIGEgNDAxIGNhbiByZXF1ZXN0IGEgbmV3IHRva2VuIHRoYXQgaW5jbHVkZXMgdGhlIGV4dHJh
IHNjb3BlICd4MicgYXMgd2VsbC4gRXZlbiBpbiB0aGlzIHNpdHVhdGlvbiwgZGVmaW5pbmcgYSAn
c2NvcGUnIHBhcmFtZXRlciBpcyBub3QgbmVjZXNzYXJ5LiBUaGUgcmVzb3VyY2Ugc2VydmVyIGtu
b3dzIHRoZSBvZmZlcmVkIHRva2VuIHdhcyBmb3Igc2NvcGUgJ3gxJywgYnV0IHNjb3BlICd4Micg
aXMgcmVxdWlyZWQgc28gdGhlIHJlc3BvbnNlIGNhbiBiZToNCg0KICAgICBXV1ctQXV0aGVudGlj
YXRlOiBUb2tlbiByZWFsbT0nRXhhbXBsZScsIGF1dGh6LXVyaT0iaHR0cHM6Ly9hcy5leGFtcGxl
LmNvbS8/c2NvcGU9eDIseDEiDQoNClRoZSBjbGllbnQganVzdCBzZWVzIGEgVVJJIGFuZCB1c2Vz
IGl0IHRvIGdldCBhIG5ldyB0b2tlbi4gVGhpcyBhcHByb2FjaCBtaWdodCByZXF1aXJlIHNvbWUg
cmVzb3VyY2Ugc2VydmVycyB0byBkeW5hbWljYWxseSBnZW5lcmF0ZSB0aGUgJ2F1dGh6LXVyaScg
dmFsdWUgaW4gZXJyb3IgcmVzcG9uc2VzLiBJIGRvdWJ0IHRoYXQgaXMgdG9vIG9uZXJvdXMuDQoN
Cg0KQW4gYWx0ZXJuYXRpdmUgd2F5IHRvIHN1cHBvcnQgY29tYmluaW5nIHNjb3BlcyB3b3VsZCBi
ZSB0byBpbmNsdWRlIChvciByZWZlcmVuY2UpIGFuIGV4aXN0aW5nIHRva2VuIHdoZW4gcmVxdWVz
dGluZyBhIG5ldyBvbmUuIEZvciBpbnN0YW5jZSwgZGVmaW5lIGFuICdhY2Nlc3NfdG9rZW4nIHBh
cmFtZXRlciB0byBpbmNsdWRlIHdoZW4gcmVkaXJlY3RpbmcgYSB1c2VyIHRvIHRoZSBBUy4gVGhp
cyB3b3VsZCB3b3JrIGZvciB1cGRhdGluZyBhIHRva2VuIGZvciBhbm90aGVyICdzY29wZScsIGZv
ciBhIGxvbmdlciBkdXJhdGlvbiwgZm9yIGV4dHJhICdwZXJtaXNzaW9ucycgZXRjLg0KVGhpcyBp
cyBub3QgYWJzb2x1dGVseSBuZWNlc3NhcnkgdG8gZGVmaW5lIHRoaXMgZXh0cmEgJ2FjY2Vzc190
b2tlbicgcGFyYW1ldGVyIHNpbmNlIHRoZSByZXNvdXJjZSBzZXJ2ZXIgY291bGQgZHluYW1pY2Fs
bHkgaW5zZXJ0IHRoZSBjdXJyZW50IHRva2VuIGludG8gdGhlIHJldHVybmVkICdhdXRoel91cmkn
IHZhbHVlIGJ5IGl0c2VsZiwgd2l0aG91dCByZXF1aXJpbmcgY2xpZW50IGNvZGUgdG8gZG8gc28u
DQpBbm90aGVyIGRpZmZpY3VsdHkgaXMgdGhhdCBzb21lIGFjY2Vzc190b2tlbnMgc2hvdWxkIG5v
dCBiZSBleHBvc2VkIHRvIHVzZXJzLiBUaGVyZSBtYXkgbmVlZCB0byBiZSBhbiAnYWNjZXNzX3Rv
a2VuX2lkJyBzZXBhcmF0ZSBmcm9tIHRoZSBhY3R1YWwgJ2FjY2Vzc190b2tlbicgdmFsdWUuDQoN
Cg0KSW4gY29uY2x1c2lvbiwNCiogLTEgdG8gRXJhbuKAmXMgJ3Njb3BlJyBwcm9wb3NhbDsNCiog
cGVyaGFwcyBhZGQgZXhwbGljaXQgc3VwcG9ydCBmb3IgdXBkYXRpbmcgYSB0b2tlbiAoYXMgb3Bw
b3NlZCB0byByZWZyZXNoaW5nKSBieSByZWZlcmVuY2luZyBhbiBleGlzdGluZyB0b2tlbiB3aGVu
IGdldHRpbmcgYSBuZXcgb25lLg0KDQoNCi0tIA0KSmFtZXMgTWFuZ2VyDQoNCg0K

From dick.hardt@gmail.com  Mon Apr 19 21:06:53 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4E1583A6968 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 21:06:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WcIgKH4R2me3 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 21:06:50 -0700 (PDT)
Received: from mail-px0-f172.google.com (mail-px0-f172.google.com [209.85.212.172]) by core3.amsl.com (Postfix) with ESMTP id 2C6AF3A67A1 for <oauth@ietf.org>; Mon, 19 Apr 2010 21:06:47 -0700 (PDT)
Received: by pxi19 with SMTP id 19so152190pxi.31 for <oauth@ietf.org>; Mon, 19 Apr 2010 21:06:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=DCO8p3KDRvybF6K4+ABkUTxR1GrCQbJ2QJNJwBVWybQ=; b=vUoJVUokh2vBC36cP3PEVVilHIIG4+4FHsfUWXh+dIDJWoy6BC5PBK+Djx41L+4eNc nMVOuZphOvxKZfcUZXSfyDJXjlUPuRabqjR+DvapHh4t6whVSmPokipqWHFunUmqUR+X hOny84xOi57oVnzT6q/xDbVf6+zaw45WBZqso=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=YM5m2hJ6N9DZEvbFmQExFf21BrIT/9jGDvHFI84fg8h22Ow/xPdFZsnJwFx4S5hq0d LX2reRM9VmMw98cd6N0L28yLyz+s6zpjwsIg9Gbb0NqpihZkMidX6yezHVWbdBHWGc2B XgyXw2AThnxBR6or8lTTt8tjAhsFNDXzSVOvA=
MIME-Version: 1.0
Received: by 10.142.58.3 with HTTP; Mon, 19 Apr 2010 21:06:34 -0700 (PDT)
In-Reply-To: <u2o74caaad21004192003rfe0b25ffpbbe648e6e493b568@mail.gmail.com>
References: <u2o74caaad21004192003rfe0b25ffpbbe648e6e493b568@mail.gmail.com>
Date: Mon, 19 Apr 2010 21:06:34 -0700
Received: by 10.142.75.17 with SMTP id x17mr2569992wfa.46.1271736394610; Mon,  19 Apr 2010 21:06:34 -0700 (PDT)
Message-ID: <h2x987bab591004192106pc573babak8d7c6e810dd7c970@mail.gmail.com>
From: Dick Hardt <dick.hardt@gmail.com>
To: Marius Scurtescu <mscurtescu@google.com>
Content-Type: multipart/alternative; boundary=001636e1fb600cced70484a334c5
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] feedback on 4/17 draft
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 04:06:53 -0000

--001636e1fb600cced70484a334c5
Content-Type: text/plain; charset=ISO-8859-1

On Mon, Apr 19, 2010 at 8:03 PM, Marius Scurtescu <mscurtescu@google.com>wrote:

> Hi Eran,
>
> The spec looks really good, thanks for all the work you put into it.
>
> I think it was a good idea to remove the 401 responses and use only 400.
>
>
In WRAP we had used 401s when the client credentials were invalid and 400
when the parameters were invalid in an attempt to stick with HTTP error
codes.

I agree that is is better to consistently return 400 and an optional error
parameter that provides more clarity to the developer on what caused the
error.

-- Dick

--001636e1fb600cced70484a334c5
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div class=3D"gmail_quote">On Mon, Apr 19, 2010 at 8:03 PM, Marius Scurtesc=
u <span dir=3D"ltr">&lt;<a href=3D"mailto:mscurtescu@google.com">mscurtescu=
@google.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" styl=
e=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi Eran,<br>
<br>
The spec looks really good, thanks for all the work you put into it.<br>
<br>
I think it was a good idea to remove the 401 responses and use only 400.<br=
><br></blockquote><div>=A0</div></div>In WRAP we had used 401s when the cli=
ent credentials were invalid and 400 when the parameters were invalid in an=
 attempt to stick with HTTP error codes.<div>
<br></div><div>I agree that is is better to consistently return 400 and an =
optional error parameter that provides more clarity to the developer on wha=
t caused the error.</div><div><br></div><div>-- Dick</div>

--001636e1fb600cced70484a334c5--

From eran@hueniverse.com  Mon Apr 19 21:30:31 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 39FB63A6A04 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 21:30:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.472
X-Spam-Level: 
X-Spam-Status: No, score=-2.472 tagged_above=-999 required=5 tests=[AWL=0.127,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NZd48cRPELUh for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 21:30:30 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 1BE1128C0DF for <oauth@ietf.org>; Mon, 19 Apr 2010 21:30:21 -0700 (PDT)
Received: (qmail 29577 invoked from network); 20 Apr 2010 04:30:12 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 20 Apr 2010 04:30:12 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Mon, 19 Apr 2010 21:30:12 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 19 Apr 2010 21:30:16 -0700
Thread-Topic: [OAUTH-WG] 'Scope' parameter proposal
Thread-Index: AcrgGUJZgoVEJs7IThKmr9zsr4D5RwAKNpSQ
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F38E@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <j2q74caaad21004191103l488ae334j78d5546479f66cb8@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F17F@P3PW5EX1MB01.EX1.SECURESERVER.NET> <x2q74caaad21004191349p9969878aob14135d7069dd593@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F2BC@P3PW5EX1MB01.EX1.SECURESERVER.NET> <n2v74caaad21004191636m578f3elf77501a28297dba9@mail.gmail.com>
In-Reply-To: <n2v74caaad21004191636m578f3elf77501a28297dba9@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 04:30:31 -0000

> -----Original Message-----
> From: Marius Scurtescu [mailto:mscurtescu@google.com]
> Sent: Monday, April 19, 2010 4:37 PM
> To: Eran Hammer-Lahav
> Cc: OAuth WG
> Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
>=20
> On Mon, Apr 19, 2010 at 2:20 PM, Eran Hammer-Lahav
> <eran@hueniverse.com> wrote:
> >
> >> -----Original Message-----
> >> From: Marius Scurtescu [mailto:mscurtescu@google.com]
> >> Sent: Monday, April 19, 2010 1:50 PM
> >
> >> I did a proof of concept implementation, with client, server and
> >> protected resource support libraries, and the scope structure was neve=
r
> an issue.
> >> Actual client, server and resource code, does need to deal with
> >> scopes, but this is not the generic code that would go into a library.
> >
> > Did your library handle unknown parameters, passing them through the ca=
ll
> stack?
>=20
> Yes, it did.

Did it hurt? :-)

EHL

From stpeter@stpeter.im  Mon Apr 19 21:47:23 2010
Return-Path: <stpeter@stpeter.im>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9AB033A6A1B for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 21:47:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.32
X-Spam-Level: 
X-Spam-Status: No, score=-2.32 tagged_above=-999 required=5 tests=[AWL=0.279,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uHRHrS9z9y8U for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 21:47:22 -0700 (PDT)
Received: from stpeter.im (stpeter.im [207.210.219.233]) by core3.amsl.com (Postfix) with ESMTP id A9E0B3A6A17 for <oauth@ietf.org>; Mon, 19 Apr 2010 21:47:17 -0700 (PDT)
Received: from squire.local (dsl-240-138.dynamic-dsl.frii.net [216.17.240.138]) (Authenticated sender: stpeter) by stpeter.im (Postfix) with ESMTPSA id 332E340E15; Mon, 19 Apr 2010 22:47:08 -0600 (MDT)
Message-ID: <4BCD31BF.5090701@stpeter.im>
Date: Mon, 19 Apr 2010 22:46:55 -0600
From: Peter Saint-Andre <stpeter@stpeter.im>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Dick Hardt <dick.hardt@gmail.com>
References: <14411661-A227-4DCA-86B3-A9C5FB8055D7@gmail.com>
In-Reply-To: <14411661-A227-4DCA-86B3-A9C5FB8055D7@gmail.com>
X-Enigmail-Version: 1.0.1
OpenPGP: url=http://www.saint-andre.com/me/stpeter.asc
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms060803010406060307070200"
Cc: Marius Scurtescu <marius.scurtescu@gmail.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 04:47:23 -0000

This is a cryptographically signed message in MIME format.

--------------ms060803010406060307070200
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 4/18/10 6:46 PM, Dick Hardt wrote:

> Given the practice that the authorization endpoint and the redirect_uri=

> can contain URI query parameters, then differentiating between
> application specific query parameters and OAuth protocol parameters by
> prefixing the OAuth parameters with oauth_ would seem a useful way to
> minimize conflicts.

Can't application developers avoid conflicts by giving their parameters
names other than those already used in OAuth?

Peter

--=20
Peter Saint-Andre
https://stpeter.im/




--------------ms060803010406060307070200
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIWnDCC
B1cwggY/oAMCAQICAVUwDQYJKoZIhvcNAQEFBQAwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQK
Ew1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBT
aWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRl
IENsaWVudCBDQTAeFw0wOTA3MDYwMDAwMDFaFw0xMDA3MDYyMzU5NTlaMIHCMQswCQYDVQQG
EwJVUzERMA8GA1UECBMIQ29sb3JhZG8xDzANBgNVBAcTBkRlbnZlcjEiMCAGA1UEChMZWE1Q
UCBTdGFuZGFyZHMgRm91bmRhdGlvbjEsMCoGA1UECxMjU3RhcnRDb20gVHJ1c3RlZCBDZXJ0
aWZpY2F0ZSBNZW1iZXIxGjAYBgNVBAMTEVBldGVyIFNhaW50LUFuZHJlMSEwHwYJKoZIhvcN
AQkBFhJzdHBldGVyQHN0cGV0ZXIuaW0wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQCas7Mrnh02GakN8sft+HJpU4MwBxEgrGDZ2ZzUxDDt2sEhM+9Q74h955MtgMhK3TeBf6Hs
hDh/8Z9G//k2qNA0M2S5rejTqrmW0Jabca/L7BUZ0GhnU2N/2zeciFUmuZ4A2l1T5IMX2ZVP
XnNIaefBtbImJAbDz3T0vxkzTtcqgW3wL83PMDiqiuM+e1k+VPvOW4f5ZSGkPIhYCDpWqNE5
wZvjrLNMc8jZOPs9DrsYuIVwU72Vhy1tkEh+w6YpYHrdEUAe+eKe6TuxqZ60e9z3O36uiV//
Ms274iD6PbA/IGazJgaAdg6tvPehwTYGJAGmv3PsJKkLGjgoh+RrrM1LAgMBAAGjggOKMIID
hjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
AwQwHQYDVR0OBBYEFOyws3XWgIY9FP1POVqjdZP9Lu38MB0GA1UdEQQWMBSBEnN0cGV0ZXJA
c3RwZXRlci5pbTCBqAYDVR0jBIGgMIGdgBR7iZySlyShhEcCy3T8LvSs3DLl86GBgaR/MH0x
CzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUg
RGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZp
Y2F0aW9uIEF1dGhvcml0eYIBDzCCAUcGA1UdIASCAT4wggE6MIIBNgYLKwYBBAGBtTcBAgAw
ggElMC4GCCsGAQUFBwIBFiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMDQG
CCsGAQUFBwIBFihodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMIG8
BggrBgEFBQcCAjCBrzAUFg1TdGFydENvbSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0
eSwgcmVhZCB0aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENv
bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93
d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwYwYDVR0fBFwwWjAroCmgJ4YlaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vY3J0dTMtY3JsLmNybDAroCmgJ4YlaHR0cDovL2NybC5zdGFydHNz
bC5jb20vY3J0dTMtY3JsLmNybDCBjgYIKwYBBQUHAQEEgYEwfzA5BggrBgEFBQcwAYYtaHR0
cDovL29jc3Auc3RhcnRzc2wuY29tL3N1Yi9jbGFzczMvY2xpZW50L2NhMEIGCCsGAQUFBzAC
hjZodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9jZXJ0cy9zdWIuY2xhc3MzLmNsaWVudC5jYS5j
cnQwIwYDVR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMA0GCSqGSIb3DQEBBQUA
A4IBAQBgv4xFXZqDKSOtnPOVbqOh1brj7oxRaVYk7N0MJG7x9Y/wkO3iwRwizVLcC1bA+D/R
gyFilXx6IQWE63Ge2tu+Y4w5QoHYwuUFQuBZuxvZpOa3ykdgPlBQaBM8m+Ien0skwNggaizA
X9Pc/sMLpP3jkO1iSF4agy4r5Ed+4G10mP5X0zO3gQwq9Uj4F9tX+58kU+fM1P8Sh+BYR4r/
kSbKE3tWcMaKblWPGwX0nYD26Je7Qb+uX/J5lCgozBrHXQWq8N98iklASf2pv+32Oi1dEjmM
UgAm/J2+YmxaI02+c+H6QH8+F3RUjCiRg9XqUNjcrNrnTFnm/iMMZADktsXPMIIHVzCCBj+g
AwIBAgIBVTANBgkqhkiG9w0BAQUFADCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBMB4XDTA5MDcwNjAwMDAwMVoXDTEwMDcwNjIzNTk1OVowgcIxCzAJBgNVBAYTAlVTMREw
DwYDVQQIEwhDb2xvcmFkbzEPMA0GA1UEBxMGRGVudmVyMSIwIAYDVQQKExlYTVBQIFN0YW5k
YXJkcyBGb3VuZGF0aW9uMSwwKgYDVQQLEyNTdGFydENvbSBUcnVzdGVkIENlcnRpZmljYXRl
IE1lbWJlcjEaMBgGA1UEAxMRUGV0ZXIgU2FpbnQtQW5kcmUxITAfBgkqhkiG9w0BCQEWEnN0
cGV0ZXJAc3RwZXRlci5pbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJqzsyue
HTYZqQ3yx+34cmlTgzAHESCsYNnZnNTEMO3awSEz71DviH3nky2AyErdN4F/oeyEOH/xn0b/
+Tao0DQzZLmt6NOquZbQlptxr8vsFRnQaGdTY3/bN5yIVSa5ngDaXVPkgxfZlU9ec0hp58G1
siYkBsPPdPS/GTNO1yqBbfAvzc8wOKqK4z57WT5U+85bh/llIaQ8iFgIOlao0TnBm+Oss0xz
yNk4+z0Ouxi4hXBTvZWHLW2QSH7Dpilget0RQB754p7pO7GpnrR73Pc7fq6JX/8yzbviIPo9
sD8gZrMmBoB2Dq2896HBNgYkAaa/c+wkqQsaOCiH5GuszUsCAwEAAaOCA4owggOGMAkGA1Ud
EwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNV
HQ4EFgQU7LCzddaAhj0U/U85WqN1k/0u7fwwHQYDVR0RBBYwFIESc3RwZXRlckBzdHBldGVy
LmltMIGoBgNVHSMEgaAwgZ2AFHuJnJKXJKGERwLLdPwu9KzcMuXzoYGBpH8wfTELMAkGA1UE
BhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFs
IENlcnRpZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24g
QXV0aG9yaXR5ggEPMIIBRwYDVR0gBIIBPjCCATowggE2BgsrBgEEAYG1NwECADCCASUwLgYI
KwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUH
AgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgbwGCCsGAQUF
BwICMIGvMBQWDVN0YXJ0Q29tIEx0ZC4wAwIBARqBlkxpbWl0ZWQgTGlhYmlsaXR5LCByZWFk
IHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5zdGFy
dHNzbC5jb20vcG9saWN5LnBkZjBjBgNVHR8EXDBaMCugKaAnhiVodHRwOi8vd3d3LnN0YXJ0
c3NsLmNvbS9jcnR1My1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9j
cnR1My1jcmwuY3JsMIGOBggrBgEFBQcBAQSBgTB/MDkGCCsGAQUFBzABhi1odHRwOi8vb2Nz
cC5zdGFydHNzbC5jb20vc3ViL2NsYXNzMy9jbGllbnQvY2EwQgYIKwYBBQUHMAKGNmh0dHA6
Ly93d3cuc3RhcnRzc2wuY29tL2NlcnRzL3N1Yi5jbGFzczMuY2xpZW50LmNhLmNydDAjBgNV
HRIEHDAahhhodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS8wDQYJKoZIhvcNAQEFBQADggEBAGC/
jEVdmoMpI62c85Vuo6HVuuPujFFpViTs3QwkbvH1j/CQ7eLBHCLNUtwLVsD4P9GDIWKVfHoh
BYTrcZ7a275jjDlCgdjC5QVC4Fm7G9mk5rfKR2A+UFBoEzyb4h6fSyTA2CBqLMBf09z+wwuk
/eOQ7WJIXhqDLivkR37gbXSY/lfTM7eBDCr1SPgX21f7nyRT58zU/xKH4FhHiv+RJsoTe1Zw
xopuVY8bBfSdgPbol7tBv65f8nmUKCjMGsddBarw33yKSUBJ/am/7fY6LV0SOYxSACb8nb5i
bFojTb5z4fpAfz4XdFSMKJGD1epQ2Nys2udMWeb+IwxkAOS2xc8wggfiMIIFyqADAgECAgEP
MA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQu
MSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQD
EyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNzEwMjQyMTAzMzJaFw0x
MjEwMjIyMTAzMzJaMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEr
MCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMv
U3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5o0luEj4gypQIp71Xi2TlXyLYrj9WkRy+d9BO
0FHPYnAsC99/jx/ibNRwIfAoFhZd+LDscdRSckvwuFSz0bKg3z+9o7cwlVAC9AwMWe8IM0Lx
c+8etYxsX4WIamG9fjzzi5GAW5ESKzzIN3SxHSplyGCWFwx/pgf1f4y6O9/ym+4f6zaDYP6B
x0r+SaJcr6eSGNm7X3EwX1v7XpRBY+aw019o7k72d0IX910F+XGt0OwNdM61Ff3FiTiexeUZ
bWxCGm6GZl+SQVG9xYVIgHQaLXoQF+g2wzrmKCbVcZhqH+hrlRnD6PfCuEyX/BR6PlAPRDlQ
6f1u3wqik+LF5P15AgMBAAGjggNbMIIDVzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBpjAd
BgNVHQ4EFgQUe4mckpckoYRHAst0/C70rNwy5fMwgagGA1UdIwSBoDCBnYAUTgvvGqRAW6UX
aYcwyjRoQ9BBrvKhgYGkfzB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UE
AxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHmCAQEwCQYDVR0SBAIwADA9Bggr
BgEFBQcBAQQxMC8wLQYIKwYBBQUHMAKGIWh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2Nh
LmNydDBgBgNVHR8EWTBXMCygKqAohiZodHRwOi8vY2VydC5zdGFydGNvbS5vcmcvc2ZzY2Et
Y3JsLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20vc2ZzY2EuY3JsMIIBXQYD
VR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBBDCCATswLwYIKwYBBQUHAgEWI2h0dHA6Ly9j
ZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRwOi8vY2VydC5z
dGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYgU3RhcnQg
Q29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5LCBy
ZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQu
c3RhcnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMFAGCWCGSAGG+EIB
DQRDFkFTdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRlIEZyZWUgU1NMIEVt
YWlsIENlcnRpZmljYXRlczANBgkqhkiG9w0BAQUFAAOCAgEAUpcEDdsKFRCxFBxcSm+8oMTT
fpS7fbZkxWHx5fHDjvAgaBQ+oY0tk4xtbD6VxeHYjxI63+hj8jICnqeVXPe34Bu+XzekIn2T
lrnPCQobKdQF2p52QgUvIxSURed0jcBaCBV22DSKaUqDOzD/Tx6VQy78zpblXjRH7OALE/+H
jzJVmspdnBUUtQOLYgPo924xkxR25VDdgtEE5vAXa/g2oCeZhy0ZEO4NbgIayAYCJcJRDz0h
dD2Ahec65Kw6LB3N7VXEjiRR5/WoKwH/QteRzPJbFDc1somrApjm2cyg+5nbm1RHeFIz+GxX
luRrPztvhNcby0PtAjqwY1txi4sW0R6ZJPuZ2DZ1/dzckoFhyZgFyOX3SEkNXVLldjTzneFJ
FnVSzDbc720vq184jR7pYoI9+f5QJ96a0iLxEAG8SJ5auBwXI/w2FmKmwmdMvJ8/17+B4sMC
IRrXrDQl2xzpVXh/Qcmk5nf+w8HFmqATGy1OUAQbXga7AySAUaYhvvFk50u0bO5DiUGwzrJO
3TrwvaC2Ei4EFaBmIVgG7TfU5TaaY9IcJSCQ7AGUYE3RFSRpsLOoA3DsxP42YERgS/Nxw29+
YqZtPoO2QPbNpI7xnHVCfNBabx3oDIf438nFfv8spw5BQqBSbEF1izJA57eE64CzHnt7lB20
OFD11avYopwxggPKMIIDxgIBATCBkjCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBAgFVMAkGBSsOAwIaBQCgggIMMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZI
hvcNAQkFMQ8XDTEwMDQyMDA0NDY1NVowIwYJKoZIhvcNAQkEMRYEFDF6hkwozYSgYhIrjzYn
Dd7nGbZcMF8GCSqGSIb3DQEJDzFSMFAwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqG
SIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBowYJ
KwYBBAGCNxAEMYGVMIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UE
AxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0ECAVUw
gaUGCyqGSIb3DQEJEAILMYGVoIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRD
b20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4
MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQg
Q0ECAVUwDQYJKoZIhvcNAQEBBQAEggEALlgdkXVagfxivC1uLkMnaSkSXm9uWgA8hE8C2/Mp
ncCgRqUZZCs0hGIki6b/yt3LX30LVVZzJQUIIhqW8SLqBz6gWs2Ha+xmuoUBUaVx9wrp6/j+
D3AYKDcAodonHW3Pe0+ikDO8Nk5KeGHvr7VK9uo/FiyCxgwtL6oyz2IrzaBWPz/IPs4nyGD7
pRLYfxaDchD/YBfohurodyVIzSOHSlqut1g9te+FJCDixjIRvAOaWtq36dgj0o2BhgJxAWir
EHxA85E1i0hWdJ34DkDtQ4SuhlMcq1ge5wOLhbNmmgvc4rFlZI3EJ/flxHHJtHXfrkjm+NJA
q28QIMDMTx6thwAAAAAAAA==
--------------ms060803010406060307070200--

From dick.hardt@gmail.com  Mon Apr 19 21:51:05 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 3F8043A689D for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 21:51:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.43
X-Spam-Level: 
X-Spam-Status: No, score=-2.43 tagged_above=-999 required=5 tests=[AWL=0.169,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ULchOoV3kz+Q for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 21:51:04 -0700 (PDT)
Received: from mail-gy0-f172.google.com (mail-gy0-f172.google.com [209.85.160.172]) by core3.amsl.com (Postfix) with ESMTP id 4C5583A6817 for <oauth@ietf.org>; Mon, 19 Apr 2010 21:51:04 -0700 (PDT)
Received: by gyh4 with SMTP id 4so3057457gyh.31 for <oauth@ietf.org>; Mon, 19 Apr 2010 21:50:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=OaEaAqVs2DU6KhOcICdvsGxeUOFFJDtgYiWUhrtrOug=; b=Rqvf4z4EFp0NQVR5Da/IGXoYQaroTUEbfgz6V7sVF+Nae7v7C9UjAnZhokNS2yaIVg MxhWH+KFWHg7uG2v2wGx21JOrb8nGvwFa3id+RWiOnzRDZ64zOSOAHo12zuypmCPanff Jt1UcJl3dNs2C4Cfd5NwvyuIVStZ9JUoW/MqE=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=klwEolA6EsWpCFqNmSWVK7dE6dmY8ngoI8Iqv/o+HwhJb2PzxM5mTN3Qo5wC8nnTm4 DztJ899qvCpgagZgtBGgPNrRm7ZX9P59F86MyHWhNWbu108/KisZzld5DYIyd5I9U9ch blkyjXD4U4+Mc4aYon3fNQ39KNYDMpvYi0Ugo=
Received: by 10.101.136.1 with SMTP id o1mr14799525ann.226.1271739048582; Mon, 19 Apr 2010 21:50:48 -0700 (PDT)
Received: from [10.0.1.4] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id i8sm53205459ana.9.2010.04.19.21.50.46 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 19 Apr 2010 21:50:47 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: Dick Hardt <dick.hardt@gmail.com>
In-Reply-To: <4BCD31BF.5090701@stpeter.im>
Date: Mon, 19 Apr 2010 21:50:42 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <CB3B4494-2A0B-4CEC-9BE4-0EF06FA6AB94@gmail.com>
References: <14411661-A227-4DCA-86B3-A9C5FB8055D7@gmail.com> <4BCD31BF.5090701@stpeter.im>
To: Peter Saint-Andre <stpeter@stpeter.im>
X-Mailer: Apple Mail (2.1078)
Cc: Marius Scurtescu <marius.scurtescu@gmail.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 04:51:05 -0000

On 2010-04-19, at 9:46 PM, Peter Saint-Andre wrote:

> On 4/18/10 6:46 PM, Dick Hardt wrote:
>=20
>> Given the practice that the authorization endpoint and the =
redirect_uri
>> can contain URI query parameters, then differentiating between
>> application specific query parameters and OAuth protocol parameters =
by
>> prefixing the OAuth parameters with oauth_ would seem a useful way to
>> minimize conflicts.
>=20
> Can't application developers avoid conflicts by giving their =
parameters
> names other than those already used in OAuth?

If changing the parameters is available to them. They may be trying to =
shimmy OAuth into an existing system.=20

I don't know how common the issue is, just pointing out why the prefix =
was there in the past.

-- Dick


From mscurtescu@google.com  Mon Apr 19 22:01:52 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C890C3A6A21 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 22:01:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.732
X-Spam-Level: 
X-Spam-Status: No, score=-101.732 tagged_above=-999 required=5 tests=[AWL=0.245, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id W5fn0D+AM4FH for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 22:01:52 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id C45A03A6A2A for <oauth@ietf.org>; Mon, 19 Apr 2010 22:01:51 -0700 (PDT)
Received: from wpaz17.hot.corp.google.com (wpaz17.hot.corp.google.com [172.24.198.81]) by smtp-out.google.com with ESMTP id o3K51a7C009184 for <oauth@ietf.org>; Tue, 20 Apr 2010 07:01:40 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271739700; bh=bJK+0C0VAdR9ibnFOjC/xA7ZHMc=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=SbkscyT79ye3jr50eaUraUZspYfRXQmnsRUIfAyb4SVywScJmbRGphC+xFk6h/+WA 3De0fHvP4OxzzVlzowJBg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=NpgNHIDBJF/qaA8Y0bl5Rhwp/iGLUSC+WMFGmlMltIMN75RqLsfP3Ycq6ouJZlgge WMPOHKjUj85rc/0zNGE3A==
Received: from pva18 (pva18.prod.google.com [10.241.209.18]) by wpaz17.hot.corp.google.com with ESMTP id o3K51ZwW007486 for <oauth@ietf.org>; Mon, 19 Apr 2010 22:01:35 -0700
Received: by pva18 with SMTP id 18so3457716pva.5 for <oauth@ietf.org>; Mon, 19 Apr 2010 22:01:35 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Mon, 19 Apr 2010 22:01:15 -0700 (PDT)
In-Reply-To: <CB3B4494-2A0B-4CEC-9BE4-0EF06FA6AB94@gmail.com>
References: <14411661-A227-4DCA-86B3-A9C5FB8055D7@gmail.com>  <4BCD31BF.5090701@stpeter.im> <CB3B4494-2A0B-4CEC-9BE4-0EF06FA6AB94@gmail.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 19 Apr 2010 22:01:15 -0700
Received: by 10.141.187.9 with SMTP id o9mr5113126rvp.211.1271739695109; Mon,  19 Apr 2010 22:01:35 -0700 (PDT)
Message-ID: <m2w74caaad21004192201k4eb9af84q20cb10f7a44d9edd@mail.gmail.com>
To: Dick Hardt <dick.hardt@gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 05:01:52 -0000

On Mon, Apr 19, 2010 at 9:50 PM, Dick Hardt <dick.hardt@gmail.com> wrote:
>
> On 2010-04-19, at 9:46 PM, Peter Saint-Andre wrote:
>
>> On 4/18/10 6:46 PM, Dick Hardt wrote:
>>
>>> Given the practice that the authorization endpoint and the redirect_uri
>>> can contain URI query parameters, then differentiating between
>>> application specific query parameters and OAuth protocol parameters by
>>> prefixing the OAuth parameters with oauth_ would seem a useful way to
>>> minimize conflicts.
>>
>> Can't application developers avoid conflicts by giving their parameters
>> names other than those already used in OAuth?
>
> If changing the parameters is available to them. They may be trying to shimmy OAuth into an existing system.

Even if the developer can chose a parameter that is not used  by OAuth
right now, he/she has no guarantee that this parameter name will not
be introduced by a future version of the spec.


> I don't know how common the issue is, just pointing out why the prefix was there in the past.

Yes, chances for a collision are very small, but still, well worth
using the prefix IMO.


Marius

From torsten@lodderstedt.net  Mon Apr 19 22:28:55 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C3F273A6A3B for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 22:28:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.996
X-Spam-Level: 
X-Spam-Status: No, score=-1.996 tagged_above=-999 required=5 tests=[AWL=0.253,  BAYES_00=-2.599, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qOdV7uKHn3zJ for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 22:28:54 -0700 (PDT)
Received: from smtprelay04.ispgateway.de (smtprelay04.ispgateway.de [80.67.31.32]) by core3.amsl.com (Postfix) with ESMTP id 6776A3A6A3C for <oauth@ietf.org>; Mon, 19 Apr 2010 22:27:36 -0700 (PDT)
Received: from p4fff22c1.dip.t-dialin.net ([79.255.34.193] helo=[127.0.0.1]) by smtprelay04.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O45yR-0003uB-Il; Tue, 20 Apr 2010 07:26:15 +0200
Message-ID: <4BCD3AF6.3050505@lodderstedt.net>
Date: Tue, 20 Apr 2010 07:26:14 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Dick Hardt <dick.hardt@gmail.com>
References: <C7F1D1FC.32809%eran@hueniverse.com> <620F3756-E159-4EF3-99DC-6D74CC869739@gmail.com>
In-Reply-To: <620F3756-E159-4EF3-99DC-6D74CC869739@gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 05:28:55 -0000

Am 20.04.2010 05:06, schrieb Dick Hardt:
> On 2010-04-19, at 9:25 AM, Eran Hammer-Lahav wrote:
>    
>> 2. Server requires authentication
>>
>>     HTTP/1.1 401 Unauthorized
>>     WWW-Authenticate: Token realm='Example', scope='x2'
>>      
> Can more than one scope be returned? Is it a comma delimited list?
>
> I wonder how much value this will provide. (I like the idea, but teasing out the implications.)
>
> Imagine we have a resource that can have READ or  WRITE access granted.
>
> An unauthenticated GET on the resource could return the scope URI needed for READ, an unauthenticated PUT on the resource could return the scope URI for WRITE. What if you want to both do READs and WRITEs? There may be another scope that is READ/WRITE. READ and WRITE are pretty common capabilities, but one can imagine much more complex capabilities at resources.
>
> The exact semantics to the resource are likely going to very contextual.
>
> Given that, returning a single scope value if that is all that makes sense to the resource will likely address many use cases.
>    
I also think, the WWW-Authenticate header should only contain the scope 
required for the particular request. The get the whole picture of 
scope/request relations, the resource server could offer some kind of 
discovery.

regards,
Torsten.
> (+1 to Eran's proposal given all the other factors)
>
> -- Dick
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    



From torsten@lodderstedt.net  Mon Apr 19 22:29:28 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 857563A6A41 for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 22:29:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.004
X-Spam-Level: 
X-Spam-Status: No, score=-2.004 tagged_above=-999 required=5 tests=[AWL=0.245,  BAYES_00=-2.599, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yjBFuKJik44K for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 22:29:27 -0700 (PDT)
Received: from smtprelay04.ispgateway.de (smtprelay04.ispgateway.de [80.67.31.31]) by core3.amsl.com (Postfix) with ESMTP id CAD963A6A4C for <oauth@ietf.org>; Mon, 19 Apr 2010 22:28:46 -0700 (PDT)
Received: from p4fff22c1.dip.t-dialin.net ([79.255.34.193] helo=[127.0.0.1]) by smtprelay04.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O460j-0005tV-FV; Tue, 20 Apr 2010 07:28:37 +0200
Message-ID: <4BCD3B85.3080809@lodderstedt.net>
Date: Tue, 20 Apr 2010 07:28:37 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <C7F1D1FC.32809%eran@hueniverse.com>
In-Reply-To: <C7F1D1FC.32809%eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 05:29:29 -0000

please, add the scope parameter to the flows and the refresh token 
request as well. This way, client can obtain refresh tokens with broad 
scope and narrow down it for particular request (least privileges principle)

regards,
Torsten.

Am 19.04.2010 18:25, schrieb Eran Hammer-Lahav:
> Proposal:
>
> 'scope' is defined as a comma-separated list of resource URIs or resource
> groups (e.g. contacts, photos). The server can provide a list of values for
> the client to use in its documentation, or the client can use the URIs or
> scope identifier of the protected resources it is trying to access (before
> or after getting a 401 response).
>
> For example:
>
> 1. Client requests resource
>
>      GET /resource HTTP/1.1
>      Host: example.com
>
> 2. Server requires authentication
>
>      HTTP/1.1 401 Unauthorized
>      WWW-Authenticate: Token realm='Example', scope='x2'
>
> 3. Client requests an access token by including scope=x2 in the request
>
> Alternatively, the client can ask for an access token with
> scope=http://example.com/resource.
>
> If the client needs access to two resource with different scopes, it
> requests an access token for scope=x2,x1.
>
> That's it!
>
> It allows the client to figure out what value to put in the scope parameter
> and how to encode multiple scopes without any server-specific documentation.
> Servers that wish to rely exclusively on paperwork can just omit the scope
> parameter from the WWW-Authenticate header.
>
> We can pick a different separator (space, semicolon, etc.) or different
> parameter name (resource(s)).
>
> EHL
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    



From torsten@lodderstedt.net  Mon Apr 19 22:45:57 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 73DA63A6A3B for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 22:45:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.013
X-Spam-Level: 
X-Spam-Status: No, score=-2.013 tagged_above=-999 required=5 tests=[AWL=0.236,  BAYES_00=-2.599, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qQf+g105i2xi for <oauth@core3.amsl.com>; Mon, 19 Apr 2010 22:45:56 -0700 (PDT)
Received: from smtprelay03.ispgateway.de (smtprelay03.ispgateway.de [80.67.29.28]) by core3.amsl.com (Postfix) with ESMTP id 807523A6A95 for <oauth@ietf.org>; Mon, 19 Apr 2010 22:45:18 -0700 (PDT)
Received: from p4fff22c1.dip.t-dialin.net ([79.255.34.193] helo=[127.0.0.1]) by smtprelay03.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O46Gf-0000Kp-22; Tue, 20 Apr 2010 07:45:05 +0200
Message-ID: <4BCD3F61.6040408@lodderstedt.net>
Date: Tue, 20 Apr 2010 07:45:05 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Brian Eaton <beaton@google.com>
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com>	 <C7F1C6AC.327EE%eran@hueniverse.com>	 <u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com>	 <90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET>	 <4BCCAC9F.6030208@lodderstedt.net>	 <90C41DD21FB7C64BB94121FBBC2E723438E5C7F23D@P3PW5EX1MB01.EX1.SECURESERVER.NET>	 <4BCCBE4C.2040802@lodderstedt.net> <y2ldaf5b9571004191337i7f186455p4c34b0d3db0e5318@mail.gmail.com>
In-Reply-To: <y2ldaf5b9571004191337i7f186455p4c34b0d3db0e5318@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 05:45:57 -0000

Am 19.04.2010 22:37, schrieb Brian Eaton:
> On Mon, Apr 19, 2010 at 1:34 PM, Torsten Lodderstedt
> <torsten@lodderstedt.net>  wrote:
>    
>> Do you mean the thread "Signatures, Why?"
>> (http://trac.tools.ietf.org/wg/oauth/trac/wiki/SignaturesWhy)?
>>
>> I cannot remember that there was a consensus not to use signatures on
>> requests to the authorization server.
>>      
> I can. =)
>    

Can you please refer to the respective postings?

I wonder why a whole category of security measures is left out when 
designing a security sensitive protocol like OAUTH.

Eran gave an example of an attack that could be prevented using 
signatures, and there are others. Moreover, authenticating clients using 
public keys was an option in OAuth 1.0a. Why isn't that an option any 
longer?

regards,
Torsten.


From lshepard@facebook.com  Tue Apr 20 00:46:55 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 325563A6813 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 00:46:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.055
X-Spam-Level: 
X-Spam-Status: No, score=-3.055 tagged_above=-999 required=5 tests=[AWL=0.210,  BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eVPDL1kP0Of1 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 00:46:54 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id AB9923A6B29 for <oauth@ietf.org>; Tue, 20 Apr 2010 00:46:44 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.212]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3K7juZl016337 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT) for <oauth@ietf.org>; Tue, 20 Apr 2010 00:45:56 -0700
Received: from sc-hub02.TheFacebook.com (192.168.18.105) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.689.0; Tue, 20 Apr 2010 00:46:30 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub02.TheFacebook.com ([192.168.18.105]) with mapi; Tue, 20 Apr 2010 00:46:30 -0700
From: Luke Shepard <lshepard@facebook.com>
To: "oauth@ietf.org" <oauth@ietf.org>
Date: Tue, 20 Apr 2010 00:46:25 -0700
Thread-Topic: Consistency in access token parameter
Thread-Index: AcrgSm+6UKont5YdTGazxhgA27Mu7AAEr7ew
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66DEAB@SC-MBXC1.TheFacebook.com>
References: <C7F1D1FC.32809%eran@hueniverse.com> <4BCD3B85.3080809@lodderstedt.net>
In-Reply-To: <4BCD3B85.3080809@lodderstedt.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-cr-puzzleid: {2BBCFF38-8532-4610-BC8C-3EC2E71DB140}
x-cr-hashedpuzzle: YQI= AfIv Akce B0p7 Czoy C77z DjvK EJrS FUZQ GVlU HEFI H1UT IcF1 JCB+ KUoe K4pe; 1; bwBhAHUAdABoAEAAaQBlAHQAZgAuAG8AcgBnAA==; Sosha1_v1; 7; {2BBCFF38-8532-4610-BC8C-3EC2E71DB140}; bABzAGgAZQBwAGEAcgBkAEAAZgBhAGMAZQBiAG8AbwBrAC4AYwBvAG0A; Tue, 20 Apr 2010 07:46:25 GMT; QwBvAG4AcwBpAHMAdABlAG4AYwB5ACAAaQBuACAAYQBjAGMAZQBzAHMAIAB0AG8AawBlAG4AIABwAGEAcgBhAG0AZQB0AGUAcgA=
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-20_05:2010-02-06, 2010-04-20, 2010-04-19 signatures=0
Subject: [OAUTH-WG] Consistency in access token parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 07:46:55 -0000

There are potentially three names for access tokens in this spec:

- token
- access_token
- oauth_token

You hit the /oauth/access_token endpoint, and get back access_token=3Dblah.=
 Then you take that string and pass it to the protected resource as oauth_t=
oken=3Dblah.

Developers that have prototyped things over here have found this to be conf=
using. It's simpler to just take the same named param everywhere.

I vote that one of two things happen:

1/ Return oauth_token from the access token endpoint.
2/ Accept access_token on the protected resource endpoint.
3/ Return "token" (and still "refresh_token") from the access_token endpoin=
t, and accept "token" on the protected resource.

I know there will be infinite debate about the right way to do this, but ju=
st wanted some thoughts for now. I will probably choose #2 as that seems mo=
st explicit, even though it's a few more characters.


From john@jkemp.net  Tue Apr 20 03:38:20 2010
Return-Path: <john@jkemp.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 225AD3A67D7 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 03:38:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.88
X-Spam-Level: 
X-Spam-Status: No, score=-0.88 tagged_above=-999 required=5 tests=[AWL=-0.474,  BAYES_20=-0.74, IP_NOT_FRIENDLY=0.334]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EcckB9Akq9am for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 03:38:19 -0700 (PDT)
Received: from outbound-mail-158.bluehost.com (cpoproxy2-pub.bluehost.com [67.222.39.38]) by core3.amsl.com (Postfix) with SMTP id 2192E3A6801 for <oauth@ietf.org>; Tue, 20 Apr 2010 03:38:10 -0700 (PDT)
Received: (qmail 22677 invoked by uid 0); 20 Apr 2010 10:38:01 -0000
Received: from unknown (HELO box320.bluehost.com) (69.89.31.120) by cpoproxy2.bluehost.com with SMTP; 20 Apr 2010 10:38:01 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=jkemp.net; h=Received:Subject:Mime-Version:Content-Type:From:In-Reply-To:Date:Cc:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=xLd97U797ccWgADHLB+dqPDluypwtOE2FMwho/qvhml5uirVcGcV4s9xmncId42n/0W0Jl5Ler3LnK3GvK4PSO9YXOONbMSQwVlUjWIxbd6RhfBqSU1GTT5dFcszDVKt;
Received: from cpe-69-205-56-47.nycap.res.rr.com ([69.205.56.47] helo=[192.168.1.103]) by box320.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from <john@jkemp.net>) id 1O4Aq9-00029I-7r; Tue, 20 Apr 2010 04:38:01 -0600
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: John Kemp <john@jkemp.net>
In-Reply-To: <4BCD31BF.5090701@stpeter.im>
Date: Tue, 20 Apr 2010 06:37:59 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <0420973C-FE87-4969-9986-889173D74342@jkemp.net>
References: <14411661-A227-4DCA-86B3-A9C5FB8055D7@gmail.com> <4BCD31BF.5090701@stpeter.im>
To: Peter Saint-Andre <stpeter@stpeter.im>
X-Mailer: Apple Mail (2.1078)
X-Identified-User: {1122:box320.bluehost.com:jkempnet:jkemp.net} {sentby:smtp auth 69.205.56.47 authed with john+jkemp.net}
Cc: Marius Scurtescu <marius.scurtescu@gmail.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 10:38:20 -0000

On Apr 20, 2010, at 12:46 AM, Peter Saint-Andre wrote:

> On 4/18/10 6:46 PM, Dick Hardt wrote:
>=20
>> Given the practice that the authorization endpoint and the =
redirect_uri
>> can contain URI query parameters, then differentiating between
>> application specific query parameters and OAuth protocol parameters =
by
>> prefixing the OAuth parameters with oauth_ would seem a useful way to
>> minimize conflicts.
>=20
> Can't application developers avoid conflicts by giving their =
parameters
> names other than those already used in OAuth?

Is every application developer (those using an OAuth library, or =
product) familiar with the names that are used in the OAuth spec?

- johnk=

From stpeter@stpeter.im  Tue Apr 20 04:58:30 2010
Return-Path: <stpeter@stpeter.im>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A16633A6889 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 04:58:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.351
X-Spam-Level: 
X-Spam-Status: No, score=-2.351 tagged_above=-999 required=5 tests=[AWL=0.248,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 11Y4H97j6VtA for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 04:58:29 -0700 (PDT)
Received: from stpeter.im (stpeter.im [207.210.219.233]) by core3.amsl.com (Postfix) with ESMTP id 760A53A67FE for <oauth@ietf.org>; Tue, 20 Apr 2010 04:58:29 -0700 (PDT)
Received: from squire.local (dsl-240-138.dynamic-dsl.frii.net [216.17.240.138]) (Authenticated sender: stpeter) by stpeter.im (Postfix) with ESMTPSA id A697940E15; Tue, 20 Apr 2010 05:58:19 -0600 (MDT)
Message-ID: <4BCD96DA.8050208@stpeter.im>
Date: Tue, 20 Apr 2010 05:58:18 -0600
From: Peter Saint-Andre <stpeter@stpeter.im>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Marius Scurtescu <mscurtescu@google.com>
References: <14411661-A227-4DCA-86B3-A9C5FB8055D7@gmail.com> <4BCD31BF.5090701@stpeter.im> <CB3B4494-2A0B-4CEC-9BE4-0EF06FA6AB94@gmail.com> <m2w74caaad21004192201k4eb9af84q20cb10f7a44d9edd@mail.gmail.com>
In-Reply-To: <m2w74caaad21004192201k4eb9af84q20cb10f7a44d9edd@mail.gmail.com>
X-Enigmail-Version: 1.0.1
OpenPGP: url=http://www.saint-andre.com/me/stpeter.asc
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms050403060906020101000706"
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 11:58:30 -0000

This is a cryptographically signed message in MIME format.

--------------ms050403060906020101000706
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 4/19/10 11:01 PM, Marius Scurtescu wrote:
> On Mon, Apr 19, 2010 at 9:50 PM, Dick Hardt <dick.hardt@gmail.com> wrot=
e:
>>
>> On 2010-04-19, at 9:46 PM, Peter Saint-Andre wrote:
>>
>>> On 4/18/10 6:46 PM, Dick Hardt wrote:
>>>
>>>> Given the practice that the authorization endpoint and the redirect_=
uri
>>>> can contain URI query parameters, then differentiating between
>>>> application specific query parameters and OAuth protocol parameters =
by
>>>> prefixing the OAuth parameters with oauth_ would seem a useful way t=
o
>>>> minimize conflicts.
>>>
>>> Can't application developers avoid conflicts by giving their paramete=
rs
>>> names other than those already used in OAuth?
>>
>> If changing the parameters is available to them. They may be trying to=
 shimmy OAuth into an existing system.
>=20
> Even if the developer can chose a parameter that is not used  by OAuth
> right now, he/she has no guarantee that this parameter name will not
> be introduced by a future version of the spec.

True.

>> I don't know how common the issue is, just pointing out why the prefix=
 was there in the past.
>=20
> Yes, chances for a collision are very small, but still, well worth
> using the prefix IMO.

Sure, I see your point.

I have no deep objections to prefixing, and it does seem as if it would
make collisions less likely (although not impossible).

Peter

--=20
Peter Saint-Andre
https://stpeter.im/




--------------ms050403060906020101000706
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIWnDCC
B1cwggY/oAMCAQICAVUwDQYJKoZIhvcNAQEFBQAwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQK
Ew1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBT
aWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRl
IENsaWVudCBDQTAeFw0wOTA3MDYwMDAwMDFaFw0xMDA3MDYyMzU5NTlaMIHCMQswCQYDVQQG
EwJVUzERMA8GA1UECBMIQ29sb3JhZG8xDzANBgNVBAcTBkRlbnZlcjEiMCAGA1UEChMZWE1Q
UCBTdGFuZGFyZHMgRm91bmRhdGlvbjEsMCoGA1UECxMjU3RhcnRDb20gVHJ1c3RlZCBDZXJ0
aWZpY2F0ZSBNZW1iZXIxGjAYBgNVBAMTEVBldGVyIFNhaW50LUFuZHJlMSEwHwYJKoZIhvcN
AQkBFhJzdHBldGVyQHN0cGV0ZXIuaW0wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQCas7Mrnh02GakN8sft+HJpU4MwBxEgrGDZ2ZzUxDDt2sEhM+9Q74h955MtgMhK3TeBf6Hs
hDh/8Z9G//k2qNA0M2S5rejTqrmW0Jabca/L7BUZ0GhnU2N/2zeciFUmuZ4A2l1T5IMX2ZVP
XnNIaefBtbImJAbDz3T0vxkzTtcqgW3wL83PMDiqiuM+e1k+VPvOW4f5ZSGkPIhYCDpWqNE5
wZvjrLNMc8jZOPs9DrsYuIVwU72Vhy1tkEh+w6YpYHrdEUAe+eKe6TuxqZ60e9z3O36uiV//
Ms274iD6PbA/IGazJgaAdg6tvPehwTYGJAGmv3PsJKkLGjgoh+RrrM1LAgMBAAGjggOKMIID
hjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
AwQwHQYDVR0OBBYEFOyws3XWgIY9FP1POVqjdZP9Lu38MB0GA1UdEQQWMBSBEnN0cGV0ZXJA
c3RwZXRlci5pbTCBqAYDVR0jBIGgMIGdgBR7iZySlyShhEcCy3T8LvSs3DLl86GBgaR/MH0x
CzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUg
RGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZp
Y2F0aW9uIEF1dGhvcml0eYIBDzCCAUcGA1UdIASCAT4wggE6MIIBNgYLKwYBBAGBtTcBAgAw
ggElMC4GCCsGAQUFBwIBFiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMDQG
CCsGAQUFBwIBFihodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMIG8
BggrBgEFBQcCAjCBrzAUFg1TdGFydENvbSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0
eSwgcmVhZCB0aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENv
bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93
d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwYwYDVR0fBFwwWjAroCmgJ4YlaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vY3J0dTMtY3JsLmNybDAroCmgJ4YlaHR0cDovL2NybC5zdGFydHNz
bC5jb20vY3J0dTMtY3JsLmNybDCBjgYIKwYBBQUHAQEEgYEwfzA5BggrBgEFBQcwAYYtaHR0
cDovL29jc3Auc3RhcnRzc2wuY29tL3N1Yi9jbGFzczMvY2xpZW50L2NhMEIGCCsGAQUFBzAC
hjZodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9jZXJ0cy9zdWIuY2xhc3MzLmNsaWVudC5jYS5j
cnQwIwYDVR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMA0GCSqGSIb3DQEBBQUA
A4IBAQBgv4xFXZqDKSOtnPOVbqOh1brj7oxRaVYk7N0MJG7x9Y/wkO3iwRwizVLcC1bA+D/R
gyFilXx6IQWE63Ge2tu+Y4w5QoHYwuUFQuBZuxvZpOa3ykdgPlBQaBM8m+Ien0skwNggaizA
X9Pc/sMLpP3jkO1iSF4agy4r5Ed+4G10mP5X0zO3gQwq9Uj4F9tX+58kU+fM1P8Sh+BYR4r/
kSbKE3tWcMaKblWPGwX0nYD26Je7Qb+uX/J5lCgozBrHXQWq8N98iklASf2pv+32Oi1dEjmM
UgAm/J2+YmxaI02+c+H6QH8+F3RUjCiRg9XqUNjcrNrnTFnm/iMMZADktsXPMIIHVzCCBj+g
AwIBAgIBVTANBgkqhkiG9w0BAQUFADCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBMB4XDTA5MDcwNjAwMDAwMVoXDTEwMDcwNjIzNTk1OVowgcIxCzAJBgNVBAYTAlVTMREw
DwYDVQQIEwhDb2xvcmFkbzEPMA0GA1UEBxMGRGVudmVyMSIwIAYDVQQKExlYTVBQIFN0YW5k
YXJkcyBGb3VuZGF0aW9uMSwwKgYDVQQLEyNTdGFydENvbSBUcnVzdGVkIENlcnRpZmljYXRl
IE1lbWJlcjEaMBgGA1UEAxMRUGV0ZXIgU2FpbnQtQW5kcmUxITAfBgkqhkiG9w0BCQEWEnN0
cGV0ZXJAc3RwZXRlci5pbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJqzsyue
HTYZqQ3yx+34cmlTgzAHESCsYNnZnNTEMO3awSEz71DviH3nky2AyErdN4F/oeyEOH/xn0b/
+Tao0DQzZLmt6NOquZbQlptxr8vsFRnQaGdTY3/bN5yIVSa5ngDaXVPkgxfZlU9ec0hp58G1
siYkBsPPdPS/GTNO1yqBbfAvzc8wOKqK4z57WT5U+85bh/llIaQ8iFgIOlao0TnBm+Oss0xz
yNk4+z0Ouxi4hXBTvZWHLW2QSH7Dpilget0RQB754p7pO7GpnrR73Pc7fq6JX/8yzbviIPo9
sD8gZrMmBoB2Dq2896HBNgYkAaa/c+wkqQsaOCiH5GuszUsCAwEAAaOCA4owggOGMAkGA1Ud
EwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNV
HQ4EFgQU7LCzddaAhj0U/U85WqN1k/0u7fwwHQYDVR0RBBYwFIESc3RwZXRlckBzdHBldGVy
LmltMIGoBgNVHSMEgaAwgZ2AFHuJnJKXJKGERwLLdPwu9KzcMuXzoYGBpH8wfTELMAkGA1UE
BhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFs
IENlcnRpZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24g
QXV0aG9yaXR5ggEPMIIBRwYDVR0gBIIBPjCCATowggE2BgsrBgEEAYG1NwECADCCASUwLgYI
KwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUH
AgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgbwGCCsGAQUF
BwICMIGvMBQWDVN0YXJ0Q29tIEx0ZC4wAwIBARqBlkxpbWl0ZWQgTGlhYmlsaXR5LCByZWFk
IHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5zdGFy
dHNzbC5jb20vcG9saWN5LnBkZjBjBgNVHR8EXDBaMCugKaAnhiVodHRwOi8vd3d3LnN0YXJ0
c3NsLmNvbS9jcnR1My1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9j
cnR1My1jcmwuY3JsMIGOBggrBgEFBQcBAQSBgTB/MDkGCCsGAQUFBzABhi1odHRwOi8vb2Nz
cC5zdGFydHNzbC5jb20vc3ViL2NsYXNzMy9jbGllbnQvY2EwQgYIKwYBBQUHMAKGNmh0dHA6
Ly93d3cuc3RhcnRzc2wuY29tL2NlcnRzL3N1Yi5jbGFzczMuY2xpZW50LmNhLmNydDAjBgNV
HRIEHDAahhhodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS8wDQYJKoZIhvcNAQEFBQADggEBAGC/
jEVdmoMpI62c85Vuo6HVuuPujFFpViTs3QwkbvH1j/CQ7eLBHCLNUtwLVsD4P9GDIWKVfHoh
BYTrcZ7a275jjDlCgdjC5QVC4Fm7G9mk5rfKR2A+UFBoEzyb4h6fSyTA2CBqLMBf09z+wwuk
/eOQ7WJIXhqDLivkR37gbXSY/lfTM7eBDCr1SPgX21f7nyRT58zU/xKH4FhHiv+RJsoTe1Zw
xopuVY8bBfSdgPbol7tBv65f8nmUKCjMGsddBarw33yKSUBJ/am/7fY6LV0SOYxSACb8nb5i
bFojTb5z4fpAfz4XdFSMKJGD1epQ2Nys2udMWeb+IwxkAOS2xc8wggfiMIIFyqADAgECAgEP
MA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQu
MSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQD
EyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNzEwMjQyMTAzMzJaFw0x
MjEwMjIyMTAzMzJaMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEr
MCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMv
U3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5o0luEj4gypQIp71Xi2TlXyLYrj9WkRy+d9BO
0FHPYnAsC99/jx/ibNRwIfAoFhZd+LDscdRSckvwuFSz0bKg3z+9o7cwlVAC9AwMWe8IM0Lx
c+8etYxsX4WIamG9fjzzi5GAW5ESKzzIN3SxHSplyGCWFwx/pgf1f4y6O9/ym+4f6zaDYP6B
x0r+SaJcr6eSGNm7X3EwX1v7XpRBY+aw019o7k72d0IX910F+XGt0OwNdM61Ff3FiTiexeUZ
bWxCGm6GZl+SQVG9xYVIgHQaLXoQF+g2wzrmKCbVcZhqH+hrlRnD6PfCuEyX/BR6PlAPRDlQ
6f1u3wqik+LF5P15AgMBAAGjggNbMIIDVzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBpjAd
BgNVHQ4EFgQUe4mckpckoYRHAst0/C70rNwy5fMwgagGA1UdIwSBoDCBnYAUTgvvGqRAW6UX
aYcwyjRoQ9BBrvKhgYGkfzB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UE
AxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHmCAQEwCQYDVR0SBAIwADA9Bggr
BgEFBQcBAQQxMC8wLQYIKwYBBQUHMAKGIWh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2Nh
LmNydDBgBgNVHR8EWTBXMCygKqAohiZodHRwOi8vY2VydC5zdGFydGNvbS5vcmcvc2ZzY2Et
Y3JsLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20vc2ZzY2EuY3JsMIIBXQYD
VR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBBDCCATswLwYIKwYBBQUHAgEWI2h0dHA6Ly9j
ZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRwOi8vY2VydC5z
dGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYgU3RhcnQg
Q29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5LCBy
ZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQu
c3RhcnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMFAGCWCGSAGG+EIB
DQRDFkFTdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRlIEZyZWUgU1NMIEVt
YWlsIENlcnRpZmljYXRlczANBgkqhkiG9w0BAQUFAAOCAgEAUpcEDdsKFRCxFBxcSm+8oMTT
fpS7fbZkxWHx5fHDjvAgaBQ+oY0tk4xtbD6VxeHYjxI63+hj8jICnqeVXPe34Bu+XzekIn2T
lrnPCQobKdQF2p52QgUvIxSURed0jcBaCBV22DSKaUqDOzD/Tx6VQy78zpblXjRH7OALE/+H
jzJVmspdnBUUtQOLYgPo924xkxR25VDdgtEE5vAXa/g2oCeZhy0ZEO4NbgIayAYCJcJRDz0h
dD2Ahec65Kw6LB3N7VXEjiRR5/WoKwH/QteRzPJbFDc1somrApjm2cyg+5nbm1RHeFIz+GxX
luRrPztvhNcby0PtAjqwY1txi4sW0R6ZJPuZ2DZ1/dzckoFhyZgFyOX3SEkNXVLldjTzneFJ
FnVSzDbc720vq184jR7pYoI9+f5QJ96a0iLxEAG8SJ5auBwXI/w2FmKmwmdMvJ8/17+B4sMC
IRrXrDQl2xzpVXh/Qcmk5nf+w8HFmqATGy1OUAQbXga7AySAUaYhvvFk50u0bO5DiUGwzrJO
3TrwvaC2Ei4EFaBmIVgG7TfU5TaaY9IcJSCQ7AGUYE3RFSRpsLOoA3DsxP42YERgS/Nxw29+
YqZtPoO2QPbNpI7xnHVCfNBabx3oDIf438nFfv8spw5BQqBSbEF1izJA57eE64CzHnt7lB20
OFD11avYopwxggPKMIIDxgIBATCBkjCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBAgFVMAkGBSsOAwIaBQCgggIMMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZI
hvcNAQkFMQ8XDTEwMDQyMDExNTgxOFowIwYJKoZIhvcNAQkEMRYEFDHb4Oa/5GqSNPBKTEq4
kpoCf1kbMF8GCSqGSIb3DQEJDzFSMFAwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqG
SIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBowYJ
KwYBBAGCNxAEMYGVMIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UE
AxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0ECAVUw
gaUGCyqGSIb3DQEJEAILMYGVoIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRD
b20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4
MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQg
Q0ECAVUwDQYJKoZIhvcNAQEBBQAEggEAQQ8OsX4TBh3bu6tp0jyrz54TV+NiXMVHqk/itUZF
2FSHbcO5fwNPI9LLkyLr1uKdDFlE4yeYVZpcDupJuDfIsaWHiqvPe1us1a0lna37MjJp6xLs
03rXeaj1Xd8RiuqB9xTdb0w0OEI+hVCSpAmEKgHispv65HV4MEMNXyXu6pv9cztyMaiKK0i9
ZwdPhRM5Yz1Hxc8XXww88xswKfdN9BQrrrgxQf/CTk1VaMEt8vbMfS+A92HZ4vGqs2izCt8k
Fx7tqRssXRmfSghEQZUegQQWmg7DvLmSB1IJhNbnIUON1SOh8+3yX+IsQOFkdWwIiUbNc+0e
EEiUDTtNiccejwAAAAAAAA==
--------------ms050403060906020101000706--

From BeckW@telekom.de  Tue Apr 20 05:41:35 2010
Return-Path: <BeckW@telekom.de>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id CCBD73A693A for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 05:41:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.649
X-Spam-Level: 
X-Spam-Status: No, score=-0.649 tagged_above=-999 required=5 tests=[BAYES_50=0.001, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XtVsmQw9BM9M for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 05:41:34 -0700 (PDT)
Received: from tcmail73.telekom.de (tcmail73.telekom.de [217.243.239.135]) by core3.amsl.com (Postfix) with ESMTP id 045693A67E6 for <oauth@ietf.org>; Tue, 20 Apr 2010 05:41:32 -0700 (PDT)
Received: from s4de8psaanq.blf.telekom.de (HELO S4DE8PSAANQ.mitte.t-com.de) ([10.151.180.166]) by tcmail71.telekom.de with ESMTP; 20 Apr 2010 14:41:14 +0200
Received: from S4DE8PSAAQC.mitte.t-com.de ([10.151.229.14]) by S4DE8PSAANQ.mitte.t-com.de with Microsoft SMTPSVC(6.0.3790.3959);  Tue, 20 Apr 2010 14:41:14 +0200
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Date: Tue, 20 Apr 2010 14:41:13 +0200
Message-ID: <4A956CE47D1066408D5C7EB34368A511061A77BA@S4DE8PSAAQC.mitte.t-com.de>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: Discussion Transparency -- github vs tools.ietf.org
Thread-Index: AcrghsMomGd4IYpJRVCy5ZlXAUUCJA==
From: <BeckW@telekom.de>
To: <oauth@ietf.org>
X-OriginalArrivalTime: 20 Apr 2010 12:41:14.0655 (UTC) FILETIME=[C3AC02F0:01CAE086]
Subject: [OAUTH-WG] Discussion Transparency -- github vs tools.ietf.org
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 12:41:36 -0000

It's kind of hard to follow the discussion and to argue when the text =
being discussed changes without notice. Uploading draft versions to =
tools.ietf.org is really easy and the diff display is nicer. Btw, is it =
a working group draft already? If it is, it really should be on =
tools.ietf.org so we get notifications about document changes. If not, =
calling it 'draft-ietf-oauth' is misleading for implementers not =
familiar with the WG's discussions.

Regards,

Wolfgang Beck


Deutsche Telekom Netzproduktion GmbH
Zentrum Technik Einf=FChrung
Wolfgang Beck
Heinrich-Hertz-Stra=DFe 3-7, 64295 Darmstadt
+49 6151 628 2832 (Tel.)
www.telekom.com =20

Erleben, was verbindet.=20

Deutsche Telekom Netzproduktion GmbH
Aufsichtsrat: Dr. Steffen Roehn (Vorsitzender)
Gesch=E4ftsf=FChrung: Dr. Bruno Jacobfeuerborn (Vorsitzender), Albert =
Matheis, Klaus Peren
Handelsregister: Amtsgericht Bonn HRB 14190
Sitz der Gesellschaft: Bonn
USt-IdNr. DE 814645262



From eran@hueniverse.com  Tue Apr 20 07:55:17 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 778C928C13A for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 07:55:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.473
X-Spam-Level: 
X-Spam-Status: No, score=-2.473 tagged_above=-999 required=5 tests=[AWL=0.126,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ly+E28EBh4wB for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 07:55:16 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 001C228C0FE for <oauth@ietf.org>; Tue, 20 Apr 2010 07:55:14 -0700 (PDT)
Received: (qmail 13000 invoked from network); 20 Apr 2010 14:55:04 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 20 Apr 2010 14:55:04 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Tue, 20 Apr 2010 07:55:04 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: John Kemp <john@jkemp.net>, Peter Saint-Andre <stpeter@stpeter.im>
Date: Tue, 20 Apr 2010 07:55:10 -0700
Thread-Topic: [OAUTH-WG] Issue: prefixing parameters with oauth_
Thread-Index: AcrgdZULybGviQvdTTm3vWz58Mp66gAIbp+g
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F44B@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <14411661-A227-4DCA-86B3-A9C5FB8055D7@gmail.com> <4BCD31BF.5090701@stpeter.im> <0420973C-FE87-4969-9986-889173D74342@jkemp.net>
In-Reply-To: <0420973C-FE87-4969-9986-889173D74342@jkemp.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: Marius Scurtescu <marius.scurtescu@gmail.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 14:55:17 -0000

> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> Of John Kemp
> Sent: Tuesday, April 20, 2010 3:38 AM
> To: Peter Saint-Andre
> Cc: Marius Scurtescu; OAuth WG
> Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_
>=20
> On Apr 20, 2010, at 12:46 AM, Peter Saint-Andre wrote:
>=20
> > On 4/18/10 6:46 PM, Dick Hardt wrote:
> >
> >> Given the practice that the authorization endpoint and the
> >> redirect_uri can contain URI query parameters, then differentiating
> >> between application specific query parameters and OAuth protocol
> >> parameters by prefixing the OAuth parameters with oauth_ would seem
> a
> >> useful way to minimize conflicts.
> >
> > Can't application developers avoid conflicts by giving their
> > parameters names other than those already used in OAuth?
>=20
> Is every application developer (those using an OAuth library, or product)
> familiar with the names that are used in the OAuth spec?

First, the must be or how else would they interact with it or support their=
 developers. If they are installing a client and server products, their ven=
dor should make sure to provide a fully working solution.

The OAuth flow endpoints (as opposed to protected resource endpoints) are a=
n *application* endpoint. This is not some add-on protocol or an extension =
of existing framework, or a hack. This is a fully specified application API=
 which requires and deserves treatment like a separate, standalone applicat=
ion. This is not the case when accessing a protected resource which belongs=
 to another application.

It is odd to me that none of these arguments are made for other application=
 APIs such as Portable Contacts [1], Open Social [2], and others, all meant=
 to be implemented within the same platforms and servers as the OAuth flow =
endpoints. OpenSocial for example, is implemented by a wide range of differ=
ent platforms, but yet does not have an opensocial_ prefix. Are there repor=
ts of conflicts and deployment problems because of that?

The argument made for a prefix is that is *seems* to be useful. However, ex=
perience seems to point the other way that a lack of prefix does not break =
the web. If "seems to be useful" is the bar this working group is setting, =
we are going to end up with a much bigger, more complex specification.

EHL

[1] http://portablecontacts.net/draft-spec.html
[2] http://www.opensocial.org/Technical-Resources/opensocial-spec-v081/rest=
ful-protocol.html

From eran@hueniverse.com  Tue Apr 20 08:04:29 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7BA9028C11E for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 08:04:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.474
X-Spam-Level: 
X-Spam-Status: No, score=-2.474 tagged_above=-999 required=5 tests=[AWL=0.125,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zvVTJQfum1on for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 08:04:28 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id C76533A6AE4 for <oauth@ietf.org>; Tue, 20 Apr 2010 08:04:27 -0700 (PDT)
Received: (qmail 5845 invoked from network); 20 Apr 2010 15:04:18 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 20 Apr 2010 15:04:18 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Tue, 20 Apr 2010 08:04:11 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Luke Shepard <lshepard@facebook.com>, "oauth@ietf.org" <oauth@ietf.org>
Date: Tue, 20 Apr 2010 08:04:18 -0700
Thread-Topic: Consistency in access token parameter
Thread-Index: AcrgSm+6UKont5YdTGazxhgA27Mu7AAEr7ewAA8jqNA=
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F456@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <4BCD3B85.3080809@lodderstedt.net> <2513A610118CC14C8E622C376C8DEC93D54D66DEAB@SC-MBXC1.TheFacebook.com>
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DEAB@SC-MBXC1.TheFacebook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Consistency in access token parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 15:04:29 -0000

There is an explanation (I'm not defending it, just explaining).

In the flow endpoint I chose 'access_token' over token because of the refre=
sh token. It seems better to talk about two different kinds of tokens than =
to have one generic 'token' and one with special meaning 'refresh_token'.

The protected resource endpoint is the only place I agree requires a prefix=
 because it always intrudes on another namespace or platform and the likeli=
hood of a conflict is high. I used 'oauth_token' instead of 'oauth_access_t=
oken' for brevity thinking that it should be trivial to figure out what to =
put there (the only other option is a refresh token which isn't likely to b=
e confused here).

The header uses 'token' because it is a generic authentication scheme which=
 doesn't mandate you use the OAuth flows to get a token. This is the only p=
lace I feel strongly about not changing it.

Feel free to propose new names.

EHL

> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> Of Luke Shepard
> Sent: Tuesday, April 20, 2010 12:46 AM
> To: oauth@ietf.org
> Subject: [OAUTH-WG] Consistency in access token parameter
>=20
> There are potentially three names for access tokens in this spec:
>=20
> - token
> - access_token
> - oauth_token
>=20
> You hit the /oauth/access_token endpoint, and get back access_token=3Dbla=
h.
> Then you take that string and pass it to the protected resource as
> oauth_token=3Dblah.
>=20
> Developers that have prototyped things over here have found this to be
> confusing. It's simpler to just take the same named param everywhere.
>=20
> I vote that one of two things happen:
>=20
> 1/ Return oauth_token from the access token endpoint.
> 2/ Accept access_token on the protected resource endpoint.
> 3/ Return "token" (and still "refresh_token") from the access_token
> endpoint, and accept "token" on the protected resource.
>=20
> I know there will be infinite debate about the right way to do this, but =
just
> wanted some thoughts for now. I will probably choose #2 as that seems mos=
t
> explicit, even though it's a few more characters.
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth

From eran@hueniverse.com  Tue Apr 20 08:08:54 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1A66828C18B for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 08:08:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.475
X-Spam-Level: 
X-Spam-Status: No, score=-2.475 tagged_above=-999 required=5 tests=[AWL=0.123,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mqy2OZkhpso8 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 08:08:52 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id DD66F3A6AFD for <oauth@ietf.org>; Tue, 20 Apr 2010 08:08:31 -0700 (PDT)
Received: (qmail 31356 invoked from network); 20 Apr 2010 15:08:23 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 20 Apr 2010 15:08:22 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Tue, 20 Apr 2010 08:08:22 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Evan Gilbert <uidude@google.com>
Date: Tue, 20 Apr 2010 08:08:29 -0700
Thread-Topic: [OAUTH-WG] Issue: 'username' parameter proposal
Thread-Index: AcrgHtAsMYbs6eHOQGKTjgk0AbXNoQAfC3uQ
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45A@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com> <C7F1C6AC.327EE%eran@hueniverse.com> <u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET> <o2wc8689b661004191716o69966d5di900c07737d3be568@mail.gmail.com>
In-Reply-To: <o2wc8689b661004191716o69966d5di900c07737d3be568@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F45AP3PW5EX1MB01E_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 15:08:54 -0000

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F45AP3PW5EX1MB01E_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

This attack is why the flow requires the client to present the callback it =
used again when getting the token.

EHL


From: Evan Gilbert [mailto:uidude@google.com]
Sent: Monday, April 19, 2010 5:17 PM
To: Eran Hammer-Lahav
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal


On Mon, Apr 19, 2010 at 10:58 AM, Eran Hammer-Lahav <eran@hueniverse.com<ma=
ilto:eran@hueniverse.com>> wrote:
Thanks. That makes sense.

My concern is that the client will ask for a specific username but an attac=
ker will change that request before it hits the server. The server then ask=
s the (wrong) user to authenticate and returns a token. The client has no w=
ay of knowing it got an access token for the wrong user. Does requiring tha=
t the server returns the token with the username solves this? Is this a rea=
l issue?

This particular attack wasn't of concern to me, for a few of reasons:
- The request is HTTPS, hard to modify the request before it hits the serve=
r
- There are probably other, more dangerous attacks if you can modify reques=
t parameters (for example, you can modify the client_id and get the user to=
 authorize the wrong app)

I'm willing to be convinced otherwise

I have no objections to this proposal but wanted to see some discussion and=
 support from others before adding it to the spec.

EHL

From: Evan Gilbert [mailto:uidude@google.com<mailto:uidude@google.com>]
Sent: Monday, April 19, 2010 10:06 AM
To: Eran Hammer-Lahav
Cc: OAuth WG

Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal

User 1 is logged into Client site
User 2 is logged into IDP site

This can happen quite frequently, as client sites often have long-lived coo=
kies and may only be visited by one user on a shared computer.

Right now client site has no way to ask for a token for User 1, and end res=
ult will be that User 1 starts seeing User 2's data.

On Mon, Apr 19, 2010 at 8:37 AM, Eran Hammer-Lahav <eran@hueniverse.com<mai=
lto:eran@hueniverse.com>> wrote:
How can they both be logged in? I have never seen a case where two users ca=
n be both logged into to the same service at the same time...

EHL



On 4/19/10 8:33 AM, "Evan Gilbert" <uidude@google.com<http://uidude@google.=
com>> wrote:
More details on this enhancement.

Goal: Make sure you get an access token for the right user in immediate mod=
e.

Use case where we have problems if we don't have username parameter:

 1.  Bob is logged into a web site as bob@IDP.com<http://bob@IDP.com>.
 2.  Mary (his wife) is logged into IDP on the same computer as mary@IDP.co=
m<http://mary@IDP.com>
 3.  A request is made to get an access token via the User-Agent flow in im=
mediate mode (or with any redirect without prompting the user)
 4.  -ob now has an access token for Mary and (posts activities, schedules =
events, gets contacts) as Mary
 5.  Hilarity ensues

Secondary goal: Provide a hint for non-immediate mode

On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav <eran@hueniverse.com<ht=
tp://eran@hueniverse.com>> wrote:
Evan Gilbert proposed a 'username' request parameter to allow the client to
limit the end user to authenticate using the provided authorization server
identifier. The proposal has not been discussed or supported by others, and
has not received a security review.

Proposal: Obtain further discussion and support from others, as well as a
security review of the proposal. Otherwise, do nothing.

EHL

_______________________________________________
OAuth mailing list
OAuth@ietf.org<http://OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth




--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F45AP3PW5EX1MB01E_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV=3D"Content-Type" CONTENT=
=3D"text/html; charset=3Dus-ascii"><meta name=3DGenerator content=3D"Micros=
oft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p
	{mso-style-priority:99;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";}
span.EmailStyle18
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";
	font-family:"Tahoma","sans-serif";}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri","sans-serif";}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:861166840;
	mso-list-template-ids:-562551330;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue vli=
nk=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span style=3D'f=
ont-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>This atta=
ck is why the flow requires the client to present the callback it used agai=
n when getting the token.<o:p></o:p></span></p><p class=3DMsoNormal><span s=
tyle=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>=
<o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:1=
1.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>EHL<o:p></o:p></spa=
n></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Cal=
ibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMs=
oNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";=
color:#1F497D'><o:p>&nbsp;</o:p></span></p><div style=3D'border:none;border=
-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div style=3D'border=
:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=3D=
MsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma","sans-ser=
if"'>From:</span></b><span style=3D'font-size:10.0pt;font-family:"Tahoma","=
sans-serif"'> Evan Gilbert [mailto:uidude@google.com] <br><b>Sent:</b> Mond=
ay, April 19, 2010 5:17 PM<br><b>To:</b> Eran Hammer-Lahav<br><b>Cc:</b> OA=
uth WG<br><b>Subject:</b> Re: [OAUTH-WG] Issue: 'username' parameter propos=
al<o:p></o:p></span></p></div></div><p class=3DMsoNormal><o:p>&nbsp;</o:p><=
/p><p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><o:p>&nbsp;</o:p></p=
><div><p class=3DMsoNormal>On Mon, Apr 19, 2010 at 10:58 AM, Eran Hammer-La=
hav &lt;<a href=3D"mailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt; =
wrote:<o:p></o:p></p><div><div><p class=3DMsoNormal style=3D'mso-margin-top=
-alt:auto;mso-margin-bottom-alt:auto'><span style=3D'font-size:11.0pt;color=
:#1F497D'>Thanks. That makes sense.</span><o:p></o:p></p><p class=3DMsoNorm=
al style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style=
=3D'font-size:11.0pt;color:#1F497D'>&nbsp;</span><o:p></o:p></p><p class=3D=
MsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><spa=
n style=3D'font-size:11.0pt;color:#1F497D'>My concern is that the client wi=
ll ask for a specific username but an attacker will change that request bef=
ore it hits the server. The server then asks the (wrong) user to authentica=
te and returns a token. The client has no way of knowing it got an access t=
oken for the wrong user. Does requiring that the server returns the token w=
ith the username solves this? Is this a real issue?</span><o:p></o:p></p></=
div></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p clas=
s=3DMsoNormal>This particular attack wasn't of concern to me, for a few of =
reasons:<o:p></o:p></p></div><div><p class=3DMsoNormal>- The request is HTT=
PS, hard to modify the request before it hits the server<o:p></o:p></p></di=
v><div><p class=3DMsoNormal>- There are probably other, more dangerous atta=
cks if you can modify request parameters (for example, you can modify the c=
lient_id and get the user to authorize the wrong app)<o:p></o:p></p></div><=
div><p class=3DMsoNormal><br>I'm willing to be convinced otherwise<o:p></o:=
p></p></div><blockquote style=3D'border:none;border-left:solid #CCCCCC 1.0p=
t;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><div><=
p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:=
auto'><span style=3D'font-size:11.0pt;color:#1F497D'>&nbsp;</span><o:p></o:=
p></p><p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bott=
om-alt:auto'><span style=3D'font-size:11.0pt;color:#1F497D'>I have no objec=
tions to this proposal but wanted to see some discussion and support from o=
thers before adding it to the spec.</span><o:p></o:p></p><p class=3DMsoNorm=
al style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style=
=3D'font-size:11.0pt;color:#1F497D'>&nbsp;</span><o:p></o:p></p><p class=3D=
MsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><spa=
n style=3D'font-size:11.0pt;color:#1F497D'>EHL</span><o:p></o:p></p><p clas=
s=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>=
<span style=3D'font-size:11.0pt;color:#1F497D'>&nbsp;</span><o:p></o:p></p>=
<div style=3D'border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in =
4.0pt'><div><div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;paddin=
g:3.0pt 0in 0in 0in'><p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;=
mso-margin-bottom-alt:auto'><b><span style=3D'font-size:10.0pt'>From:</span=
></b><span style=3D'font-size:10.0pt'> Evan Gilbert [mailto:<a href=3D"mail=
to:uidude@google.com" target=3D"_blank">uidude@google.com</a>] <br><b>Sent:=
</b> Monday, April 19, 2010 10:06 AM<br><b>To:</b> Eran Hammer-Lahav<br><b>=
Cc:</b> OAuth WG</span><o:p></o:p></p><div><p class=3DMsoNormal><br><b>Subj=
ect:</b> Re: [OAUTH-WG] Issue: 'username' parameter proposal<o:p></o:p></p>=
</div></div></div><p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso=
-margin-bottom-alt:auto'>&nbsp;<o:p></o:p></p><p class=3DMsoNormal style=3D=
'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>User 1 is logged into =
Client site<o:p></o:p></p><div><div><div><p class=3DMsoNormal style=3D'mso-=
margin-top-alt:auto;mso-margin-bottom-alt:auto'>User 2 is logged into IDP s=
ite<o:p></o:p></p></div><div><p class=3DMsoNormal style=3D'mso-margin-top-a=
lt:auto;mso-margin-bottom-alt:auto'>&nbsp;<o:p></o:p></p></div><div><p clas=
s=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>=
This can happen quite frequently, as client sites often have long-lived coo=
kies and may only be visited by one user on a shared computer.<o:p></o:p></=
p></div><div><p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-marg=
in-bottom-alt:auto'>&nbsp;<o:p></o:p></p></div><div><p class=3DMsoNormal st=
yle=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Right now client=
 site has no way to ask for a token for User 1, and end result will be that=
 User 1 starts seeing User 2's data.<o:p></o:p></p></div><div><div><div><di=
v><p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto'>&nbsp;<o:p></o:p></p><div><p class=3DMsoNormal style=3D'mso-margin=
-top-alt:auto;mso-margin-bottom-alt:auto'>On Mon, Apr 19, 2010 at 8:37 AM, =
Eran Hammer-Lahav &lt;<a href=3D"mailto:eran@hueniverse.com" target=3D"_bla=
nk">eran@hueniverse.com</a>&gt; wrote:<o:p></o:p></p><div><p class=3DMsoNor=
mal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span styl=
e=3D'font-size:11.0pt'>How can they both be logged in? I have never seen a =
case where two users can be both logged into to the same service at the sam=
e time...<br><span style=3D'color:#888888'><br>EHL</span></span><o:p></o:p>=
</p><div><div><p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;margin-=
bottom:12.0pt'><span style=3D'font-size:11.0pt'><br><br><br>On 4/19/10 8:33=
 AM, &quot;Evan Gilbert&quot; &lt;<a href=3D"http://uidude@google.com" targ=
et=3D"_blank">uidude@google.com</a>&gt; wrote:</span><o:p></o:p></p></div><=
/div><div><div><blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt'><=
p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:=
auto'><span style=3D'font-size:11.0pt'>More details on this enhancement.<br=
><br>Goal: Make sure you get an access token for the right user in immediat=
e mode.<br><br>Use case where we have problems if we don't have username pa=
rameter:</span><o:p></o:p></p><ol start=3D1 type=3D1><li class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 lev=
el1 lfo1'><span style=3D'font-size:11.0pt'>Bob is logged into a web site as=
 <a href=3D"http://bob@IDP.com" target=3D"_blank">bob@IDP.com</a>. </span><=
o:p></o:p></li><li class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-m=
argin-bottom-alt:auto;mso-list:l0 level1 lfo1'><span style=3D'font-size:11.=
0pt'>Mary (his wife) is logged into IDP on the same computer as <a href=3D"=
http://mary@IDP.com" target=3D"_blank">mary@IDP.com</a> </span><o:p></o:p><=
/li><li class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-botto=
m-alt:auto;mso-list:l0 level1 lfo1'><span style=3D'font-size:11.0pt'>A requ=
est is made to get an access token via the User-Agent flow in immediate mod=
e (or with any redirect without prompting the user) </span><o:p></o:p></li>=
<li class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-al=
t:auto;mso-list:l0 level1 lfo1'><span style=3D'font-size:11.0pt'>-ob now ha=
s an access token for Mary and (posts activities, schedules events, gets co=
ntacts) as Mary </span><o:p></o:p></li><li class=3DMsoNormal style=3D'mso-m=
argin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1'><spa=
n style=3D'font-size:11.0pt'>Hilarity ensues</span><o:p></o:p></li></ol><p =
class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:au=
to'><span style=3D'font-size:11.0pt'><br>Secondary goal: Provide a hint for=
 non-immediate mode<br><br>On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-La=
hav &lt;<a href=3D"http://eran@hueniverse.com" target=3D"_blank">eran@hueni=
verse.com</a>&gt; wrote:</span><o:p></o:p></p><p class=3DMsoNormal style=3D=
'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style=3D'font-si=
ze:11.0pt'>Evan Gilbert proposed a 'username' request parameter to allow th=
e client to<br>limit the end user to authenticate using the provided author=
ization server<br>identifier. The proposal has not been discussed or suppor=
ted by others, and<br>has not received a security review.<br><br>Proposal: =
Obtain further discussion and support from others, as well as a<br>security=
 review of the proposal. Otherwise, do nothing.<br><br>EHL<br><br>_________=
______________________________________<br>OAuth mailing list<br><a href=3D"=
http://OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br><a href=3D"h=
ttps://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">https://www.i=
etf.org/mailman/listinfo/oauth</a></span><o:p></o:p></p><p class=3DMsoNorma=
l style=3D'mso-margin-top-alt:auto;margin-bottom:12.0pt'>&nbsp;<o:p></o:p><=
/p></blockquote></div></div></div></div><p class=3DMsoNormal style=3D'mso-m=
argin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;<o:p></o:p></p></div><=
/div></div></div></div></div></div></div></div></blockquote></div><p class=
=3DMsoNormal><o:p>&nbsp;</o:p></p></div></div></body></html>=

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F45AP3PW5EX1MB01E_--

From eran@hueniverse.com  Tue Apr 20 08:11:10 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8B2C028C0CF for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 08:11:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.476
X-Spam-Level: 
X-Spam-Status: No, score=-2.476 tagged_above=-999 required=5 tests=[AWL=0.123,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vlDOHb5R7L8n for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 08:11:09 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 106523A69E3 for <oauth@ietf.org>; Tue, 20 Apr 2010 08:11:03 -0700 (PDT)
Received: (qmail 2713 invoked from network); 20 Apr 2010 15:10:54 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 20 Apr 2010 15:10:54 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Tue, 20 Apr 2010 08:10:45 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Date: Tue, 20 Apr 2010 08:10:52 -0700
Thread-Topic: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
Thread-Index: AcrftjtAcJa2QiAqRPWWsp0surawHwA5UwXg
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu>
In-Reply-To: <20100419134825.134951nuzvi35hk4@webmail.df.eu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 15:11:10 -0000

There seems to be support for this idea with some concerns about complexity=
. Someone needs to propose text for this including defining the request par=
ameter and schema of the various reply formats.

EHL

> -----Original Message-----
> From: Torsten Lodderstedt [mailto:torsten@lodderstedt.net]
> Sent: Monday, April 19, 2010 4:48 AM
> To: Eran Hammer-Lahav
> Cc: Dick Hardt; OAuth WG
> Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>=20
>=20
> > We can also offer both and define a client request parameter (as long
> > as the server is required to make at least one format available).
>=20
> +1 on this
>=20
> regards,
> Torsten.
>=20
> >
> > EHL
> >
> >> -----Original Message-----
> >> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
> >> Behalf Of Dick Hardt
> >> Sent: Sunday, April 18, 2010 9:30 PM
> >> To: OAuth WG
> >> Subject: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
> >>
> >> The AS token endpoint response is encoded as application/x-www-form-
> >> urlencoded
> >>
> >> While this reuses a well known and understood encoding standard, it
> >> is uncommon for a client to receive a message encoded like this. Most
> >> server responses are encoded as XML or JSON. Libraries are NOT
> >> reedily available to parse application/x-www-form-urlencoded results
> >> as this is something that is typically done in the web servers
> >> framework. While parsing the name value pairs and URL un-encoding
> >> them is not hard, many developers have been caught just splitting the
> parameters and forgetting to URL decode the token.
> >> Since the token is opaque and may contain characters that are
> >> escaped, it is a difficult bug to detect.
> >>
> >> Potential options:
> >>
> >> 1) Do nothing, developers should read the specs and do the right thing=
.
> >>
> >> 2) Require that all parameters are URL safe so that there is no
> >> encoding issue.
> >>
> >> 3) Return results as JSON, and recommend that parameters be URL safe.
> >>
> >> -- Dick
> >> _______________________________________________
> >> OAuth mailing list
> >> OAuth@ietf.org
> >> https://www.ietf.org/mailman/listinfo/oauth
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> >
>=20
>=20
>=20


From eran@hueniverse.com  Tue Apr 20 08:19:52 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8F82F3A6AE0 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 08:19:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.477
X-Spam-Level: 
X-Spam-Status: No, score=-2.477 tagged_above=-999 required=5 tests=[AWL=0.122,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id l9EOx7-ISmDj for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 08:19:49 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 916303A68C0 for <oauth@ietf.org>; Tue, 20 Apr 2010 08:19:36 -0700 (PDT)
Received: (qmail 16974 invoked from network); 20 Apr 2010 15:19:28 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 20 Apr 2010 15:19:27 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Tue, 20 Apr 2010 08:19:27 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Luke Shepard <lshepard@facebook.com>, OAuth WG <oauth@ietf.org>
Date: Tue, 20 Apr 2010 08:19:34 -0700
Thread-Topic: 'Scope' parameter proposal
Thread-Index: Acrf3OTsH3nwWGe+ikabEbV7IE0sxQABSTMAAC6AZzA=
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F46A@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <2513A610118CC14C8E622C376C8DEC93D54D66DE26@SC-MBXC1.TheFacebook.com>
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DE26@SC-MBXC1.TheFacebook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 15:19:53 -0000

> -----Original Message-----
> From: Luke Shepard [mailto:lshepard@facebook.com]
> Sent: Monday, April 19, 2010 10:21 AM
> To: Eran Hammer-Lahav; OAuth WG
> Subject: RE: 'Scope' parameter proposal
>=20
> This seems pretty elegant to me. I like that in the general case, the pro=
tected
> resource can give an error saying the scope required.
>=20
> As a specific example of how Facebook could use this, we have an extended
> permission for an app to publish to a user's stream. If an app tries to p=
ublish
> to the stream today, and they don't have the permission, we give an error
> that says "You need the publish_stream permission." With this extension, =
we
> could also add a header like:
>=20
> WWW-Authenticate: Token realm=3D"http://www.facebook.com",
> scope=3D"publish_stream"
>=20
> Then client libraries could craft an OAuth authorize URL for that scope,
> without having to refer to documentation.
>=20
> One issue is how this would work with more complicated scenarios. There
> are resources that require multiple scopes, or even one of a few possible
> scopes (i.e., either "publish_stream" or "add_photo" to post a photo stor=
y).
> What are the semantics of the response header listing multiple scopes - a=
re
> they all required, or just some?

The more complex the endpoint scope is, the more complex the "scope discove=
ry" becomes. The trick is keeping the simple cases simple.

I would suggest this:

- If an endpoint requires a single or a set of scope identifiers, is uses a=
 single WWW-Authenticate header with a scope parameter listing all the requ=
ired values. They are all required (i.e. you need a token that covers them =
all). Anything else will not work.

- If an endpoint requires different sets of scope identifiers for different=
 parameters or parameter values, it should reply with the required scope fo=
r the *failed* request only. It should help the client make the specific re=
quest it was attempting, not provide generic documentation for the entire e=
ndpoint capabilities.

EHL

> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> Of Eran Hammer-Lahav
> Sent: Monday, April 19, 2010 9:25 AM
> To: OAuth WG
> Subject: [OAUTH-WG] 'Scope' parameter proposal
>=20
> Proposal:
>=20
> 'scope' is defined as a comma-separated list of resource URIs or resource
> groups (e.g. contacts, photos). The server can provide a list of values f=
or the
> client to use in its documentation, or the client can use the URIs or sco=
pe
> identifier of the protected resources it is trying to access (before or a=
fter
> getting a 401 response).
>=20
> For example:
>=20
> 1. Client requests resource
>=20
>     GET /resource HTTP/1.1
>     Host: example.com
>=20
> 2. Server requires authentication
>=20
>     HTTP/1.1 401 Unauthorized
>     WWW-Authenticate: Token realm=3D'Example', scope=3D'x2'
>=20
> 3. Client requests an access token by including scope=3Dx2 in the request
>=20
> Alternatively, the client can ask for an access token with
> scope=3Dhttp://example.com/resource.
>=20
> If the client needs access to two resource with different scopes, it requ=
ests
> an access token for scope=3Dx2,x1.
>=20
> That's it!
>=20
> It allows the client to figure out what value to put in the scope paramet=
er and
> how to encode multiple scopes without any server-specific documentation.
> Servers that wish to rely exclusively on paperwork can just omit the scop=
e
> parameter from the WWW-Authenticate header.
>=20
> We can pick a different separator (space, semicolon, etc.) or different
> parameter name (resource(s)).
>=20
> EHL
>=20
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth

From eran@hueniverse.com  Tue Apr 20 08:32:58 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 097AE28C1C2 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 08:32:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.178
X-Spam-Level: 
X-Spam-Status: No, score=-2.178 tagged_above=-999 required=5 tests=[AWL=-0.179, BAYES_00=-2.599, J_CHICKENPOX_51=0.6]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kU1alEIXGqp3 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 08:32:53 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 118AA3A6B27 for <oauth@ietf.org>; Tue, 20 Apr 2010 08:32:07 -0700 (PDT)
Received: (qmail 1884 invoked from network); 20 Apr 2010 15:31:58 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 20 Apr 2010 15:31:58 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Tue, 20 Apr 2010 08:31:56 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: "Manger, James H" <James.H.Manger@team.telstra.com>
Date: Tue, 20 Apr 2010 08:32:03 -0700
Thread-Topic: [OAUTH-WG] 'Scope' parameter proposal
Thread-Index: AcrgNopPKcA99eyRTky8xQ/Bn86fRAAA3IfwABjbyuA=
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F47E@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <620F3756-E159-4EF3-99DC-6D74CC869739@gmail.com> <255B9BB34FB7D647A506DC292726F6E112577842AD@WSMSG3153V.srv.dir.telstra.com>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E112577842AD@WSMSG3153V.srv.dir.telstra.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 15:32:58 -0000

LSBIb3cgaXMgdGhpcyBwcm9wb3NhbCAqYmV0dGVyKiB0aGFuIGEgc2VwYXJhdGUgc2NvcGUgcGFy
YW1ldGVyPw0KDQpJbnN0ZWFkIG9mIGdpdmluZyBkZXZlbG9wZXJzIGFuIG91dGxpbmUgb2YgaG93
IHRvIGltcGxlbWVudCBzY29wZSwgeW91IGFyZSBiYXNpY2FsbHkgc2F5aW5nIHRoYXQgdGhleSBj
YW4gYWxyZWFkeSBkbyB3aXRoIHdpdGhvdXQgYW4gZXh0cmEgcHJvdG9jb2wgcGFyYW1ldGVyIGFu
ZCBzaG91bGQgZ28gZmlndXJlIGl0IG91dCBvbiB0aGVpciBvd24gKHlvdXIgcHJvcG9zYWwgaXMg
cGF0dGVybiwgbm90IG5vcm1hdGl2ZSBsYW5ndWFnZSkuIFRoZSBncm91cCBzZWVtcyBzZXQgb24g
dGhlIG5lZWQgdG8gaGF2ZSBhIHNjb3BlIHBhcmFtZXRlciAodW5sZXNzIHlvdSBjYW4gY29udmlu
Y2UgdGhlbSBvdGhlcndpc2UpLiBZb3VyIHByb3Bvc2FsIHdpbGwgcHJvZHVjZSBhIHNob3J0ZXIg
c3BlY2lmaWNhdGlvbiwgYnV0IG5vdCBhIHNpbXBsZXIgZGV2ZWxvcGVyIGV4cGVyaWVuY2UuDQoN
Ci0gSG93IGNhbiB0aGUgY2xpZW50IHRlbGwgaWYgYSB0b2tlbiBpdCBhbHJlYWR5IGhhcyBpcyB2
YWxpZCBmb3IgYSBnaXZlbiBwcm90ZWN0ZWQgcmVzb3VyY2U/DQoNCkJlY2F1c2UgdGhlcmUgaXMg
bm8gc2NvcGUgcGFyYW1ldGVyLCBhIGNsaWVudCBpcyBmb3JjZWQgdG8gYWx3YXlzIGdldCBhIG5l
dyB0b2tlbiB3aGVuIGEgcmVxdWVzdCBmYWlscy4gSSBleHBlY3Qgc2VydmVycyB0byBpc3N1ZSB0
b2tlbnMgYW5kIHNheSB3aGF0IHRoZXkgYXJlIGZvci4gRm9yIGV4YW1wbGUsIHdoZW4gcmV0dXJu
aW5nIGFuIGFjY2VzcyB0b2tlbiB0aGUgc2VydmVyIHdpbGwgaW5jbHVkZSBhIHNjb3BlPWEsYixj
LiBXaGVuIHRoZSBjbGllbnQgaXMgZmFjZWQgd2l0aCBhbiBhdXRoZW50aWNhdGlvbiBjaGFsbGVu
Z2UgcmVxdWlyaW5nIGEgdG9rZW4gY2FwYWJsZSBvZiBhIGFuZCBiLCBpdCBrbm93cyBpdCBhbHJl
YWR5IGhhdmUgc3VjaCBhIHRva2VuLiBDbGllbnRzIGNhbiBlbmQgdXAgd2l0aCBtdWx0aXBsZSB0
b2tlbnMsIGVhY2ggd2l0aCBhIGRpZmZlcmVudCBzY29wZS4gVGhpcyBpcyBhIHVzZWZ1bCBwcm9w
ZXJ0eSBvZiB0aGUgcHJvdG9jb2wuIEl0IHNob3VsZCBiZSBhYmxlIHRvIHRlbGwgd2hpY2ggdG9r
ZW4gdG8gdXNlIHdoZXJlLg0KDQpFSEwNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K
PiBGcm9tOiBNYW5nZXIsIEphbWVzIEggW21haWx0bzpKYW1lcy5ILk1hbmdlckB0ZWFtLnRlbHN0
cmEuY29tXQ0KPiBTZW50OiBNb25kYXksIEFwcmlsIDE5LCAyMDEwIDk6MDYgUE0NCj4gVG86IEVy
YW4gSGFtbWVyLUxhaGF2DQo+IENjOiBPQXV0aCBXRw0KPiBTdWJqZWN0OiBSRTogW09BVVRILVdH
XSAnU2NvcGUnIHBhcmFtZXRlciBwcm9wb3NhbA0KPiANCj4gPiAgICBIVFRQLzEuMSA0MDEgVW5h
dXRob3JpemVkDQo+ID4gICAgV1dXLUF1dGhlbnRpY2F0ZTogVG9rZW4gcmVhbG09J0V4YW1wbGUn
LCBzY29wZT0neDInDQo+IA0KPiBJIGFzc3VtZSB0aGUgV1dXLUF1dGhlbnRpY2F0ZSByZXNwb25z
ZSBoZWFkZXIgYWxzbyBoYXMgYW4gImF1dGh6LXVyaSINCj4gcGFyYW1ldGVyLg0KPiANCj4gICAg
ICBXV1ctQXV0aGVudGljYXRlOiBUb2tlbiByZWFsbT0nRXhhbXBsZScsIHNjb3BlPSd4MicsIGF1
dGh6LQ0KPiB1cmk9Imh0dHBzOi8vYXMuZXhhbXBsZS5jb20vIg0KPiANCj4gVGhlIGZpcnN0IHRp
bWUgYSBjbGllbnQgYXBwIGdldHMgdGhpcyByZXNwb25zZSBhbGwgaXQgY2FuIGRvIGlzIGFkZCB0
aGUgJ3Njb3BlJyB0bw0KPiB0aGUgJ2F1dGh6LXVyaScuIEluIHdoaWNoIGNhc2UgdGhlIHNlcGFy
YXRlICdzY29wZScgcGFyYW1ldGVyIG9mZmVyZWQgbm8NCj4gYWR2YW50YWdlLiBUaGUgcmVzb3Vy
Y2Ugc2VydmVyIGNvdWxkIGhhdmUgbW9yZSBzaW1wbHkgcmV0dXJuZWQ6DQo+IA0KPiAgICAgIFdX
Vy1BdXRoZW50aWNhdGU6IFRva2VuIHJlYWxtPSdFeGFtcGxlJywgYXV0aHotDQo+IHVyaT0iaHR0
cHM6Ly9hcy5leGFtcGxlLmNvbS8/c2NvcGU9eDIiDQo+IA0KPiANCj4gVGhlIG9uZSBzaXR1YXRp
b24gd2hlcmUgYSAnc2NvcGUnIHBhcmFtZXRlciBjYW4gaGVscCBpbnRlcm9wIChiZXR3ZWVuDQo+
IGNsaWVudCB3aXRoIG5vIHNlcnZlci1zcGVjaWZpYyBrbm93bGVkZ2UgYW5kIHRoZSBzZXJ2ZXIp
IGlzIHdoZW4gc2NvcGVzIGFyZQ0KPiBjb21iaW5lZC4NCj4gDQo+IEEgY2xpZW50IHdpdGggYSB0
b2tlbiBmb3Igc2NvcGUgJ3gxJyB0aGF0IHJlY2VpdmVzIGEgNDAxIGNhbiByZXF1ZXN0IGEgbmV3
DQo+IHRva2VuIHRoYXQgaW5jbHVkZXMgdGhlIGV4dHJhIHNjb3BlICd4MicgYXMgd2VsbC4gRXZl
biBpbiB0aGlzIHNpdHVhdGlvbiwNCj4gZGVmaW5pbmcgYSAnc2NvcGUnIHBhcmFtZXRlciBpcyBu
b3QgbmVjZXNzYXJ5LiBUaGUgcmVzb3VyY2Ugc2VydmVyIGtub3dzIHRoZQ0KPiBvZmZlcmVkIHRv
a2VuIHdhcyBmb3Igc2NvcGUgJ3gxJywgYnV0IHNjb3BlICd4MicgaXMgcmVxdWlyZWQgc28gdGhl
IHJlc3BvbnNlDQo+IGNhbiBiZToNCj4gDQo+ICAgICAgV1dXLUF1dGhlbnRpY2F0ZTogVG9rZW4g
cmVhbG09J0V4YW1wbGUnLCBhdXRoei0NCj4gdXJpPSJodHRwczovL2FzLmV4YW1wbGUuY29tLz9z
Y29wZT14Mix4MSINCj4gDQo+IFRoZSBjbGllbnQganVzdCBzZWVzIGEgVVJJIGFuZCB1c2VzIGl0
IHRvIGdldCBhIG5ldyB0b2tlbi4gVGhpcyBhcHByb2FjaCBtaWdodA0KPiByZXF1aXJlIHNvbWUg
cmVzb3VyY2Ugc2VydmVycyB0byBkeW5hbWljYWxseSBnZW5lcmF0ZSB0aGUgJ2F1dGh6LXVyaScg
dmFsdWUNCj4gaW4gZXJyb3IgcmVzcG9uc2VzLiBJIGRvdWJ0IHRoYXQgaXMgdG9vIG9uZXJvdXMu
DQo+IA0KPiANCj4gQW4gYWx0ZXJuYXRpdmUgd2F5IHRvIHN1cHBvcnQgY29tYmluaW5nIHNjb3Bl
cyB3b3VsZCBiZSB0byBpbmNsdWRlIChvcg0KPiByZWZlcmVuY2UpIGFuIGV4aXN0aW5nIHRva2Vu
IHdoZW4gcmVxdWVzdGluZyBhIG5ldyBvbmUuIEZvciBpbnN0YW5jZSwNCj4gZGVmaW5lIGFuICdh
Y2Nlc3NfdG9rZW4nIHBhcmFtZXRlciB0byBpbmNsdWRlIHdoZW4gcmVkaXJlY3RpbmcgYSB1c2Vy
IHRvIHRoZQ0KPiBBUy4gVGhpcyB3b3VsZCB3b3JrIGZvciB1cGRhdGluZyBhIHRva2VuIGZvciBh
bm90aGVyICdzY29wZScsIGZvciBhIGxvbmdlcg0KPiBkdXJhdGlvbiwgZm9yIGV4dHJhICdwZXJt
aXNzaW9ucycgZXRjLg0KPiBUaGlzIGlzIG5vdCBhYnNvbHV0ZWx5IG5lY2Vzc2FyeSB0byBkZWZp
bmUgdGhpcyBleHRyYSAnYWNjZXNzX3Rva2VuJyBwYXJhbWV0ZXINCj4gc2luY2UgdGhlIHJlc291
cmNlIHNlcnZlciBjb3VsZCBkeW5hbWljYWxseSBpbnNlcnQgdGhlIGN1cnJlbnQgdG9rZW4gaW50
byB0aGUNCj4gcmV0dXJuZWQgJ2F1dGh6X3VyaScgdmFsdWUgYnkgaXRzZWxmLCB3aXRob3V0IHJl
cXVpcmluZyBjbGllbnQgY29kZSB0byBkbyBzby4NCj4gQW5vdGhlciBkaWZmaWN1bHR5IGlzIHRo
YXQgc29tZSBhY2Nlc3NfdG9rZW5zIHNob3VsZCBub3QgYmUgZXhwb3NlZCB0bw0KPiB1c2Vycy4g
VGhlcmUgbWF5IG5lZWQgdG8gYmUgYW4gJ2FjY2Vzc190b2tlbl9pZCcgc2VwYXJhdGUgZnJvbSB0
aGUgYWN0dWFsDQo+ICdhY2Nlc3NfdG9rZW4nIHZhbHVlLg0KPiANCj4gDQo+IEluIGNvbmNsdXNp
b24sDQo+ICogLTEgdG8gRXJhbuKAmXMgJ3Njb3BlJyBwcm9wb3NhbDsNCj4gKiBwZXJoYXBzIGFk
ZCBleHBsaWNpdCBzdXBwb3J0IGZvciB1cGRhdGluZyBhIHRva2VuIChhcyBvcHBvc2VkIHRvDQo+
IHJlZnJlc2hpbmcpIGJ5IHJlZmVyZW5jaW5nIGFuIGV4aXN0aW5nIHRva2VuIHdoZW4gZ2V0dGlu
ZyBhIG5ldyBvbmUuDQo+IA0KPiANCj4gLS0NCj4gSmFtZXMgTWFuZ2VyDQo+IA0KDQo=

From eran@hueniverse.com  Tue Apr 20 08:43:07 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C5F003A68C0 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 08:43:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.877
X-Spam-Level: 
X-Spam-Status: No, score=-1.877 tagged_above=-999 required=5 tests=[AWL=-0.478, BAYES_00=-2.599, J_CHICKENPOX_54=0.6, J_CHICKENPOX_55=0.6]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Dv1AcOAJx9MG for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 08:43:07 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id F068A3A68AE for <oauth@ietf.org>; Tue, 20 Apr 2010 08:43:06 -0700 (PDT)
Received: (qmail 19185 invoked from network); 20 Apr 2010 15:42:58 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 20 Apr 2010 15:42:58 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Tue, 20 Apr 2010 08:42:53 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Dick Hardt <dick.hardt@gmail.com>
Date: Tue, 20 Apr 2010 08:42:59 -0700
Thread-Topic: [OAUTH-WG] 'Scope' parameter proposal
Thread-Index: AcrgNoKADcPsuIgYSr61xTiTI6bV+AAaIdoQ
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F48B@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <620F3756-E159-4EF3-99DC-6D74CC869739@gmail.com>
In-Reply-To: <620F3756-E159-4EF3-99DC-6D74CC869739@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 15:43:07 -0000

> -----Original Message-----
> From: Dick Hardt [mailto:dick.hardt@gmail.com]
> Sent: Monday, April 19, 2010 8:07 PM
> To: Eran Hammer-Lahav
> Cc: OAuth WG
> Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
>=20
>=20
> On 2010-04-19, at 9:25 AM, Eran Hammer-Lahav wrote:
> > 2. Server requires authentication
> >
> >    HTTP/1.1 401 Unauthorized
> >    WWW-Authenticate: Token realm=3D'Example', scope=3D'x2'
>=20
> Can more than one scope be returned? Is it a comma delimited list?

One scope parameter with one or more comma-delimited values (we can change =
this to space delimited if people would like to use URIs for scope identifi=
ers).

> Imagine we have a resource that can have READ or  WRITE access granted.
>=20
> An unauthenticated GET on the resource could return the scope URI needed
> for READ, an unauthenticated PUT on the resource could return the scope
> URI for WRITE. What if you want to both do READs and WRITEs? There may
> be another scope that is READ/WRITE. READ and WRITE are pretty common
> capabilities, but one can imagine much more complex capabilities at
> resources.

A failed GET will return scope=3Dread and a failed PUT will return scope=3D=
write. The server can issue an access token with:

scope=3Dread
scope=3Dwrite
scope=3Dread,write

The last can be used for both. In other words, there should not be a read_w=
rite scope, instead, the token should have two scopes.

> The exact semantics to the resource are likely going to very contextual.

Yes, and this can get very complicated if people want an extremely granular=
 way of doing permissions. For example, if you want to issue a token that c=
an read contacts and write email, you will need to define a bigger set: ema=
il_read, email_write, contacts_read, contacts_write. On the other hand, if =
a write access is for all authorized resources, you need: email, contacts, =
read, write.

> Given that, returning a single scope value if that is all that makes sens=
e to the
> resource will likely address many use cases.

This is true when looking at a single resource.

EHL


From jsmarr@gmail.com  Tue Apr 20 09:08:57 2010
Return-Path: <jsmarr@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D55CB3A6AF8 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 09:08:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id An9T2dld-iQK for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 09:08:56 -0700 (PDT)
Received: from mail-pw0-f44.google.com (mail-pw0-f44.google.com [209.85.160.44]) by core3.amsl.com (Postfix) with ESMTP id 6A53F3A6AE9 for <oauth@ietf.org>; Tue, 20 Apr 2010 09:08:56 -0700 (PDT)
Received: by pwj2 with SMTP id 2so4361841pwj.31 for <oauth@ietf.org>; Tue, 20 Apr 2010 09:08:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:reply-to:in-reply-to :references:from:date:received:message-id:subject:to:cc:content-type; bh=QAKirlalGnEatuklE6nluMZaKd+3RwLB1u83dU0K0jk=; b=L4eXgvbBsKiDcbPsdwRDyCqitu9CvYRTuwFFJ9UsihwFVrMmXDHoNxIHB/dZ7J9oOb 8Jwy4GQJpeiwH0ARQumfQQzyL12ACoi4bO1EoSboJnbkgeajywAKsCHhjtWGzV66acor wHF53EuvZWigampM4AIu6Pdrp873HKHeOCrRw=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:reply-to:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; b=GXfC+lXOMNeYQHuE3wL8XNWYZNpXG0hdzGFKyNQ7iXVntL2EDdtbe3nYShFYQHMy3i t3v3Ab4wklxmHopqZn1ZTs6XeFRgx5GxNBHPM2LBO91DB1oG105wYZTUceA2mdTcx0dB E03I/b+pxvdsncEvSMYQL4hwczCP52qZ5edEI=
MIME-Version: 1.0
Received: by 10.143.164.14 with HTTP; Tue, 20 Apr 2010 09:08:25 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F44B@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <14411661-A227-4DCA-86B3-A9C5FB8055D7@gmail.com>  <4BCD31BF.5090701@stpeter.im> <0420973C-FE87-4969-9986-889173D74342@jkemp.net>  <90C41DD21FB7C64BB94121FBBC2E723438E5C7F44B@P3PW5EX1MB01.EX1.SECURESERVER.NET>
From: Joseph Smarr <jsmarr@gmail.com>
Date: Tue, 20 Apr 2010 09:08:25 -0700
Received: by 10.142.152.39 with SMTP id z39mr2920144wfd.336.1271779725141;  Tue, 20 Apr 2010 09:08:45 -0700 (PDT)
Message-ID: <w2sc334d54e1004200908j99461f8egc1d19e90f2eb87c6@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=000e0cd2e198bfe7710484ad4a48
Cc: Marius Scurtescu <marius.scurtescu@gmail.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: jsmarr@stanfordalumni.org
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 16:08:57 -0000

--000e0cd2e198bfe7710484ad4a48
Content-Type: text/plain; charset=ISO-8859-1

I'm normally no fan of namespaces or other forms of needless complexity, and
it's true that PoCo dropped the pdata_ prefixes to all its query parameters
that we'd originally proposed, but I do think there's something helpful and
and clear about oauth_ because it makes it so clear which parameters are
part of OAuth--it's visually concise and readable, without the mechanical
headaches of say XML namespaces. I'll agree that we can probably all learn
to live without it (assuming collisions are empirically rare and there isn't
code that needs to easily glob "all oauth parameters, including any future
ones", e.g. the way OpenID does for signing), but I still feel a bit queasy
doing so, and it's not obvious to me how much simplicity/performance/etc we
buy for dropping them, so my (weak) preference would be to keep them, but I
won't fight too hard if there are lots of people passionate about dropping
them. :)

Thanks, js

On Tue, Apr 20, 2010 at 7:55 AM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

>
>
> > -----Original Message-----
> > From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> > Of John Kemp
> > Sent: Tuesday, April 20, 2010 3:38 AM
> > To: Peter Saint-Andre
> > Cc: Marius Scurtescu; OAuth WG
> > Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_
> >
> > On Apr 20, 2010, at 12:46 AM, Peter Saint-Andre wrote:
> >
> > > On 4/18/10 6:46 PM, Dick Hardt wrote:
> > >
> > >> Given the practice that the authorization endpoint and the
> > >> redirect_uri can contain URI query parameters, then differentiating
> > >> between application specific query parameters and OAuth protocol
> > >> parameters by prefixing the OAuth parameters with oauth_ would seem
> > a
> > >> useful way to minimize conflicts.
> > >
> > > Can't application developers avoid conflicts by giving their
> > > parameters names other than those already used in OAuth?
> >
> > Is every application developer (those using an OAuth library, or product)
> > familiar with the names that are used in the OAuth spec?
>
> First, the must be or how else would they interact with it or support their
> developers. If they are installing a client and server products, their
> vendor should make sure to provide a fully working solution.
>
> The OAuth flow endpoints (as opposed to protected resource endpoints) are
> an *application* endpoint. This is not some add-on protocol or an extension
> of existing framework, or a hack. This is a fully specified application API
> which requires and deserves treatment like a separate, standalone
> application. This is not the case when accessing a protected resource which
> belongs to another application.
>
> It is odd to me that none of these arguments are made for other application
> APIs such as Portable Contacts [1], Open Social [2], and others, all meant
> to be implemented within the same platforms and servers as the OAuth flow
> endpoints. OpenSocial for example, is implemented by a wide range of
> different platforms, but yet does not have an opensocial_ prefix. Are there
> reports of conflicts and deployment problems because of that?
>
> The argument made for a prefix is that is *seems* to be useful. However,
> experience seems to point the other way that a lack of prefix does not break
> the web. If "seems to be useful" is the bar this working group is setting,
> we are going to end up with a much bigger, more complex specification.
>
> EHL
>
> [1] http://portablecontacts.net/draft-spec.html
> [2]
> http://www.opensocial.org/Technical-Resources/opensocial-spec-v081/restful-protocol.html
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--000e0cd2e198bfe7710484ad4a48
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I&#39;m normally no fan of namespaces or other forms of needless complexity=
, and it&#39;s true that PoCo dropped the pdata_ prefixes to all its query =
parameters that we&#39;d originally proposed, but I do think there&#39;s so=
mething helpful and and clear about oauth_ because it makes it so clear whi=
ch parameters are part of OAuth--it&#39;s visually concise and readable, wi=
thout the mechanical headaches of say XML namespaces. I&#39;ll agree that w=
e can probably all learn to live without it (assuming collisions are empiri=
cally rare and there isn&#39;t code that needs to easily glob &quot;all oau=
th parameters, including any future ones&quot;, e.g. the way OpenID does fo=
r signing), but I still feel a bit queasy doing so, and it&#39;s not obviou=
s to me how much simplicity/performance/etc we buy for dropping them, so my=
 (weak) preference would be to keep them, but I won&#39;t fight too hard if=
 there are lots of people passionate about dropping them. :)<div>

<br></div><div>Thanks, js<br><br><div class=3D"gmail_quote">On Tue, Apr 20,=
 2010 at 7:55 AM, Eran Hammer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto=
:eran@hueniverse.com">eran@hueniverse.com</a>&gt;</span> wrote:<br><blockqu=
ote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc s=
olid;padding-left:1ex;">

<div class=3D"im"><br>
<br>
&gt; -----Original Message-----<br>
&gt; From: <a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.org=
</a> [mailto:<a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.o=
rg</a>] On Behalf<br>
&gt; Of John Kemp<br>
&gt; Sent: Tuesday, April 20, 2010 3:38 AM<br>
&gt; To: Peter Saint-Andre<br>
&gt; Cc: Marius Scurtescu; OAuth WG<br>
&gt; Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_<br>
&gt;<br>
&gt; On Apr 20, 2010, at 12:46 AM, Peter Saint-Andre wrote:<br>
&gt;<br>
&gt; &gt; On 4/18/10 6:46 PM, Dick Hardt wrote:<br>
&gt; &gt;<br>
&gt; &gt;&gt; Given the practice that the authorization endpoint and the<br=
>
&gt; &gt;&gt; redirect_uri can contain URI query parameters, then different=
iating<br>
&gt; &gt;&gt; between application specific query parameters and OAuth proto=
col<br>
&gt; &gt;&gt; parameters by prefixing the OAuth parameters with oauth_ woul=
d seem<br>
&gt; a<br>
&gt; &gt;&gt; useful way to minimize conflicts.<br>
&gt; &gt;<br>
&gt; &gt; Can&#39;t application developers avoid conflicts by giving their<=
br>
&gt; &gt; parameters names other than those already used in OAuth?<br>
&gt;<br>
&gt; Is every application developer (those using an OAuth library, or produ=
ct)<br>
&gt; familiar with the names that are used in the OAuth spec?<br>
<br>
</div>First, the must be or how else would they interact with it or support=
 their developers. If they are installing a client and server products, the=
ir vendor should make sure to provide a fully working solution.<br>
<br>
The OAuth flow endpoints (as opposed to protected resource endpoints) are a=
n *application* endpoint. This is not some add-on protocol or an extension =
of existing framework, or a hack. This is a fully specified application API=
 which requires and deserves treatment like a separate, standalone applicat=
ion. This is not the case when accessing a protected resource which belongs=
 to another application.<br>


<br>
It is odd to me that none of these arguments are made for other application=
 APIs such as Portable Contacts [1], Open Social [2], and others, all meant=
 to be implemented within the same platforms and servers as the OAuth flow =
endpoints. OpenSocial for example, is implemented by a wide range of differ=
ent platforms, but yet does not have an opensocial_ prefix. Are there repor=
ts of conflicts and deployment problems because of that?<br>


<br>
The argument made for a prefix is that is *seems* to be useful. However, ex=
perience seems to point the other way that a lack of prefix does not break =
the web. If &quot;seems to be useful&quot; is the bar this working group is=
 setting, we are going to end up with a much bigger, more complex specifica=
tion.<br>


<br>
EHL<br>
<br>
[1] <a href=3D"http://portablecontacts.net/draft-spec.html" target=3D"_blan=
k">http://portablecontacts.net/draft-spec.html</a><br>
[2] <a href=3D"http://www.opensocial.org/Technical-Resources/opensocial-spe=
c-v081/restful-protocol.html" target=3D"_blank">http://www.opensocial.org/T=
echnical-Resources/opensocial-spec-v081/restful-protocol.html</a><br>
<div><div></div><div class=3D"h5">_________________________________________=
______<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br></div>

--000e0cd2e198bfe7710484ad4a48--

From jsmarr@gmail.com  Tue Apr 20 09:18:55 2010
Return-Path: <jsmarr@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id ED2713A69DF for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 09:18:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level: 
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[AWL=-0.600, BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_54=0.6, J_CHICKENPOX_55=0.6]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nmm+JMHHt6p2 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 09:18:52 -0700 (PDT)
Received: from mail-pz0-f191.google.com (mail-pz0-f191.google.com [209.85.222.191]) by core3.amsl.com (Postfix) with ESMTP id D5B933A68BC for <oauth@ietf.org>; Tue, 20 Apr 2010 09:18:51 -0700 (PDT)
Received: by pzk29 with SMTP id 29so5285743pzk.29 for <oauth@ietf.org>; Tue, 20 Apr 2010 09:18:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:reply-to:in-reply-to :references:from:date:received:message-id:subject:to:cc:content-type; bh=fW5yX1z+Y1zIjKDuyzrVaJss6PAGo4be/nBgFSVk/pQ=; b=PpzYJbTZJ0B+xNZkYxoQWCTHcujE1UfJu1Tl1s0lXCT+zjzob65VGYIa6GtneEV5Vd qcs1tAEvM84Jc3jKd2/yGdfUrtuQLEGE2Iz+84ZAnWetqxBfLUdoWV/UB1yaows+lr8k KGypt4tTKzv5de48ql0TUhTZMF3g3SRF5Du4k=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:reply-to:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; b=g6Sa6gfub2k24guWgfCJkkCVqhkZ8b7GV/YkHl4SazyjyyvLyrwtywzSTepyI6FgmJ CRKn9utJcvGxFoXGxMdJgAtDsPk0TZfQbC3C1OmOzRNB9E/pfcsMyTrn9A0HArTTjFXr vyQtH0mNcZRqtDx1Ukx5QrLSTL+8oHf/VPjL0=
MIME-Version: 1.0
Received: by 10.143.164.14 with HTTP; Tue, 20 Apr 2010 09:18:20 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F48B@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <620F3756-E159-4EF3-99DC-6D74CC869739@gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E5C7F48B@P3PW5EX1MB01.EX1.SECURESERVER.NET>
From: Joseph Smarr <jsmarr@gmail.com>
Date: Tue, 20 Apr 2010 09:18:20 -0700
Received: by 10.142.247.7 with SMTP id u7mr2934412wfh.95.1271780320119; Tue,  20 Apr 2010 09:18:40 -0700 (PDT)
Message-ID: <h2xc334d54e1004200918s4bea7c3ez8ce69bb1a9c18151@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=00504502cc30368b010484ad6e28
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: jsmarr@stanfordalumni.org
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 16:18:55 -0000

--00504502cc30368b010484ad6e28
Content-Type: text/plain; charset=ISO-8859-1

+1 to nailing down how to pass scopes, as Eran suggests (I think
space-delimited URLs is best, but that's a detail). Having implemented OAuth
with probably a dozen different providers (while at Plaxo), scopes were
always one of those things that just didn't fit cleanly into my libraries
and abstractions. Specifying a standard place for scope to go is one step,
but the choice of scopes were all still hardcoded in a per-domain config
file, which is a pain.

Worse, it makes it very hard to handle standard protocols like Portable
Contacts -- I want to be able to write a "contact importer from any Portable
Contacts provider", where the user types in the domain of their provider,
and the rest is automagic. Achieving this goal probably requires some amount
of discovery, and some ability to use "unregistered/anonymous mode", but it
also requires knowing which scopes to pass in. And the first two are pretty
easy to solve (include a PoCo entry in your site's /.well-known/host-meta
and allow anonymous/anonymous as consumer key/secret), so the scopes thing
is really the gating factor here.

Also +1 to Eran's meta-point that the job of a spec like this should be to
reach as far as possible towards specified behavior for interop. Just like
we defined a large number of contact fields in PoCo, the point was not
"everyone has to support all of these", but rather "if multiple parties want
to support any of these, now they have an agreed-upon way to do so". And
with scope, I hope by now it's well established that scopes are going to be
common and the status quo badly under-specifies how to query for them and
use them.

Thanks, js

On Tue, Apr 20, 2010 at 8:42 AM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

>
>
> > -----Original Message-----
> > From: Dick Hardt [mailto:dick.hardt@gmail.com]
> > Sent: Monday, April 19, 2010 8:07 PM
> > To: Eran Hammer-Lahav
> > Cc: OAuth WG
> > Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
> >
> >
> > On 2010-04-19, at 9:25 AM, Eran Hammer-Lahav wrote:
> > > 2. Server requires authentication
> > >
> > >    HTTP/1.1 401 Unauthorized
> > >    WWW-Authenticate: Token realm='Example', scope='x2'
> >
> > Can more than one scope be returned? Is it a comma delimited list?
>
> One scope parameter with one or more comma-delimited values (we can change
> this to space delimited if people would like to use URIs for scope
> identifiers).
>
> > Imagine we have a resource that can have READ or  WRITE access granted.
> >
> > An unauthenticated GET on the resource could return the scope URI needed
> > for READ, an unauthenticated PUT on the resource could return the scope
> > URI for WRITE. What if you want to both do READs and WRITEs? There may
> > be another scope that is READ/WRITE. READ and WRITE are pretty common
> > capabilities, but one can imagine much more complex capabilities at
> > resources.
>
> A failed GET will return scope=read and a failed PUT will return
> scope=write. The server can issue an access token with:
>
> scope=read
> scope=write
> scope=read,write
>
> The last can be used for both. In other words, there should not be a
> read_write scope, instead, the token should have two scopes.
>
> > The exact semantics to the resource are likely going to very contextual.
>
> Yes, and this can get very complicated if people want an extremely granular
> way of doing permissions. For example, if you want to issue a token that can
> read contacts and write email, you will need to define a bigger set:
> email_read, email_write, contacts_read, contacts_write. On the other hand,
> if a write access is for all authorized resources, you need: email,
> contacts, read, write.
>
> > Given that, returning a single scope value if that is all that makes
> sense to the
> > resource will likely address many use cases.
>
> This is true when looking at a single resource.
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--00504502cc30368b010484ad6e28
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

+1 to nailing down how to pass scopes, as Eran suggests (I think space-deli=
mited URLs is best, but that&#39;s a detail). Having implemented OAuth with=
 probably a dozen different providers (while at Plaxo), scopes were always =
one of those things that just didn&#39;t fit cleanly into my libraries and =
abstractions. Specifying a standard place for scope to go is one step, but =
the choice of scopes were all still hardcoded in a per-domain config file, =
which is a pain.=A0<div>

<br></div><div>Worse, it makes it very hard to handle standard protocols li=
ke Portable Contacts -- I want to be able to write a &quot;contact importer=
 from any Portable Contacts provider&quot;, where the user types in the dom=
ain of their provider, and the rest is automagic. Achieving this goal proba=
bly requires some amount of discovery, and some ability to use &quot;unregi=
stered/anonymous mode&quot;, but it also requires knowing which scopes to p=
ass in. And the first two are pretty easy to solve (include a PoCo entry in=
 your site&#39;s /.well-known/host-meta and allow anonymous/anonymous as co=
nsumer key/secret), so the scopes thing is really the gating factor here.</=
div>

<div><br></div><div>Also +1 to Eran&#39;s meta-point that the job of a spec=
 like this should be to reach as far as possible towards specified behavior=
 for interop. Just like we defined a large number of contact fields in PoCo=
, the point was not &quot;everyone has to support all of these&quot;, but r=
ather &quot;if multiple parties want to support any of these, now they have=
 an agreed-upon way to do so&quot;. And with scope, I hope by now it&#39;s =
well established that scopes are going to be common and the status quo badl=
y under-specifies how to query for them and use them.</div>

<div><br></div><div>Thanks, js<br><br><div class=3D"gmail_quote">On Tue, Ap=
r 20, 2010 at 8:42 AM, Eran Hammer-Lahav <span dir=3D"ltr">&lt;<a href=3D"m=
ailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt;</span> wrote:<br><bl=
ockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #=
ccc solid;padding-left:1ex;">

<div class=3D"im"><br>
<br>
&gt; -----Original Message-----<br>
&gt; From: Dick Hardt [mailto:<a href=3D"mailto:dick.hardt@gmail.com">dick.=
hardt@gmail.com</a>]<br>
&gt; Sent: Monday, April 19, 2010 8:07 PM<br>
&gt; To: Eran Hammer-Lahav<br>
&gt; Cc: OAuth WG<br>
</div><div class=3D"im">&gt; Subject: Re: [OAUTH-WG] &#39;Scope&#39; parame=
ter proposal<br>
&gt;<br>
&gt;<br>
&gt; On 2010-04-19, at 9:25 AM, Eran Hammer-Lahav wrote:<br>
&gt; &gt; 2. Server requires authentication<br>
&gt; &gt;<br>
&gt; &gt; =A0 =A0HTTP/1.1 401 Unauthorized<br>
&gt; &gt; =A0 =A0WWW-Authenticate: Token realm=3D&#39;Example&#39;, scope=
=3D&#39;x2&#39;<br>
&gt;<br>
&gt; Can more than one scope be returned? Is it a comma delimited list?<br>
<br>
</div>One scope parameter with one or more comma-delimited values (we can c=
hange this to space delimited if people would like to use URIs for scope id=
entifiers).<br>
<div class=3D"im"><br>
&gt; Imagine we have a resource that can have READ or =A0WRITE access grant=
ed.<br>
&gt;<br>
&gt; An unauthenticated GET on the resource could return the scope URI need=
ed<br>
&gt; for READ, an unauthenticated PUT on the resource could return the scop=
e<br>
&gt; URI for WRITE. What if you want to both do READs and WRITEs? There may=
<br>
&gt; be another scope that is READ/WRITE. READ and WRITE are pretty common<=
br>
&gt; capabilities, but one can imagine much more complex capabilities at<br=
>
&gt; resources.<br>
<br>
</div>A failed GET will return scope=3Dread and a failed PUT will return sc=
ope=3Dwrite. The server can issue an access token with:<br>
<br>
scope=3Dread<br>
scope=3Dwrite<br>
scope=3Dread,write<br>
<br>
The last can be used for both. In other words, there should not be a read_w=
rite scope, instead, the token should have two scopes.<br>
<div class=3D"im"><br>
&gt; The exact semantics to the resource are likely going to very contextua=
l.<br>
<br>
</div>Yes, and this can get very complicated if people want an extremely gr=
anular way of doing permissions. For example, if you want to issue a token =
that can read contacts and write email, you will need to define a bigger se=
t: email_read, email_write, contacts_read, contacts_write. On the other han=
d, if a write access is for all authorized resources, you need: email, cont=
acts, read, write.<br>


<div class=3D"im"><br>
&gt; Given that, returning a single scope value if that is all that makes s=
ense to the<br>
&gt; resource will likely address many use cases.<br>
<br>
</div>This is true when looking at a single resource.<br>
<font color=3D"#888888"><br>
EHL<br>
</font><div><div></div><div class=3D"h5"><br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br></div>

--00504502cc30368b010484ad6e28--

From jsmarr@gmail.com  Tue Apr 20 09:25:28 2010
Return-Path: <jsmarr@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 691683A699D for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 09:25:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RuSh+y1YWSzR for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 09:25:26 -0700 (PDT)
Received: from mail-pv0-f172.google.com (mail-pv0-f172.google.com [74.125.83.172]) by core3.amsl.com (Postfix) with ESMTP id 9DAF93A69E7 for <oauth@ietf.org>; Tue, 20 Apr 2010 09:25:21 -0700 (PDT)
Received: by pvf33 with SMTP id 33so4095797pvf.31 for <oauth@ietf.org>; Tue, 20 Apr 2010 09:25:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:reply-to:in-reply-to :references:from:date:received:message-id:subject:to:cc:content-type; bh=LT1YHE5VjVAcAG4JEjVGRDETG1fYXX0EzgjgcMnZ//Y=; b=U23m7e/W58/z3KQyhKiDNgGDWxEHPyIhxFaBJKBPohHwEXdhBLmDFhV6/LJC3+eIrQ meq9riqOWvmjumTHf7jTpP+hVMy90gigGhvxNXwe18EdWZ3of1UbfbG80F//ogR79ssp 4nGEkUfhw2F7WbI/9Wv4z2j4xgUJCcMq24iiU=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:reply-to:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; b=SbU+6zHSlNL+PoXiTI3WGEvH+HUcaG5FLfQMFK9LVFNXht2y2H8IsLqPiqilu8aYw5 z0X9iD7Atk0QhzJY3a3gGsBOovt7x4y9hxKj3YrET2AwP/57wXC58vQt7SMyn2zjGEUJ Z2ADIlh4jzmULgJ1d5eBvSX4gCrxSsZao2jnw=
MIME-Version: 1.0
Received: by 10.143.164.14 with HTTP; Tue, 20 Apr 2010 09:24:50 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET>
From: Joseph Smarr <jsmarr@gmail.com>
Date: Tue, 20 Apr 2010 09:24:50 -0700
Received: by 10.142.67.30 with SMTP id p30mr3046790wfa.154.1271780710183; Tue,  20 Apr 2010 09:25:10 -0700 (PDT)
Message-ID: <t2wc334d54e1004200924ja0e7786u9b349a1931098f2a@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=001636e0a5e97673ba0484ad85d4
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: jsmarr@stanfordalumni.org
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 16:25:28 -0000

--001636e0a5e97673ba0484ad85d4
Content-Type: text/plain; charset=ISO-8859-1

+1 to including JSON format, and perhaps making it the required format. In
my experience helping numerous developers debug their OAuth implementations,
url-encoding/decoding was often a source of bugs, since a) the libraries are
usually hand-built, b) url-encoding is known to be funky/inconsistent wrt +
vs. %20 and other such things, and c) it's very sensitive to things like a
trailing newline at the end of the response, which can easily be tokenized
as part of the the last value (since the normal implementations just split
on & and =). In contrast, I've never heard of any problems parsing JSON, nor
any encoding/decoding bugs related to working with JSON in other APIs
(something I *cannot* say about XML, which is way more finicky about
requiring its values to be properly encoded or escaped in CDATA etc.; I've
also seen way more inconsistency in support of XML parsers and their output
formats, whereas JSON always works exactly the same way and always "just
works").

So in conclusion, url-encoding has caused a lot of pain in OAuth 1.0, and
JSON is already widely supported (presumably including by most APIs that
you're building OAuth support to be able to access!), so I think it would
simplify the spec and increase ease/success of development to use JSON as a
request format. In fact, I think I'd like to push for it to be the
default/required format, given the positive attributes above. Does anyone
object, and if so, why?

Thanks, js

On Tue, Apr 20, 2010 at 8:10 AM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

> There seems to be support for this idea with some concerns about
> complexity. Someone needs to propose text for this including defining the
> request parameter and schema of the various reply formats.
>
> EHL
>
> > -----Original Message-----
> > From: Torsten Lodderstedt [mailto:torsten@lodderstedt.net]
> > Sent: Monday, April 19, 2010 4:48 AM
> > To: Eran Hammer-Lahav
> > Cc: Dick Hardt; OAuth WG
> > Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
> >
> >
> > > We can also offer both and define a client request parameter (as long
> > > as the server is required to make at least one format available).
> >
> > +1 on this
> >
> > regards,
> > Torsten.
> >
> > >
> > > EHL
> > >
> > >> -----Original Message-----
> > >> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
> > >> Behalf Of Dick Hardt
> > >> Sent: Sunday, April 18, 2010 9:30 PM
> > >> To: OAuth WG
> > >> Subject: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
> > >>
> > >> The AS token endpoint response is encoded as application/x-www-form-
> > >> urlencoded
> > >>
> > >> While this reuses a well known and understood encoding standard, it
> > >> is uncommon for a client to receive a message encoded like this. Most
> > >> server responses are encoded as XML or JSON. Libraries are NOT
> > >> reedily available to parse application/x-www-form-urlencoded results
> > >> as this is something that is typically done in the web servers
> > >> framework. While parsing the name value pairs and URL un-encoding
> > >> them is not hard, many developers have been caught just splitting the
> > parameters and forgetting to URL decode the token.
> > >> Since the token is opaque and may contain characters that are
> > >> escaped, it is a difficult bug to detect.
> > >>
> > >> Potential options:
> > >>
> > >> 1) Do nothing, developers should read the specs and do the right
> thing.
> > >>
> > >> 2) Require that all parameters are URL safe so that there is no
> > >> encoding issue.
> > >>
> > >> 3) Return results as JSON, and recommend that parameters be URL safe.
> > >>
> > >> -- Dick
> > >> _______________________________________________
> > >> OAuth mailing list
> > >> OAuth@ietf.org
> > >> https://www.ietf.org/mailman/listinfo/oauth
> > > _______________________________________________
> > > OAuth mailing list
> > > OAuth@ietf.org
> > > https://www.ietf.org/mailman/listinfo/oauth
> > >
> >
> >
> >
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--001636e0a5e97673ba0484ad85d4
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

+1 to including JSON format, and perhaps making it the required format. In =
my experience helping numerous developers debug their OAuth implementations=
, url-encoding/decoding was often a source of bugs, since a) the libraries =
are usually hand-built, b) url-encoding is known to be funky/inconsistent w=
rt + vs. %20 and other such things, and c) it&#39;s very sensitive to thing=
s like a trailing newline at the end of the response, which can easily be t=
okenized as part of the the last value (since the normal implementations ju=
st split on &amp; and =3D). In contrast, I&#39;ve never heard of any proble=
ms parsing JSON, nor any encoding/decoding bugs related to working with JSO=
N in other APIs (something I *cannot* say about XML, which is way more fini=
cky about requiring its values to be properly encoded or escaped in CDATA e=
tc.; I&#39;ve also seen way more inconsistency in support of XML parsers an=
d their output formats, whereas JSON always works exactly the same way and =
always &quot;just works&quot;).<div>

<br></div><div>So in conclusion, url-encoding has caused a lot of pain in O=
Auth 1.0, and JSON is already widely supported (presumably including by mos=
t APIs that you&#39;re building OAuth support to be able to access!), so I =
think it would simplify the spec and increase ease/success of development t=
o use JSON as a request format. In fact, I think I&#39;d like to push for i=
t to be the default/required format, given the positive attributes above. D=
oes anyone object, and if so, why?</div>

<div><br></div><div>Thanks, js<br><br><div class=3D"gmail_quote">On Tue, Ap=
r 20, 2010 at 8:10 AM, Eran Hammer-Lahav <span dir=3D"ltr">&lt;<a href=3D"m=
ailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt;</span> wrote:<br><bl=
ockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #=
ccc solid;padding-left:1ex;">

There seems to be support for this idea with some concerns about complexity=
. Someone needs to propose text for this including defining the request par=
ameter and schema of the various reply formats.<br>
<font color=3D"#888888"><br>
EHL<br>
</font><div class=3D"im"><br>
&gt; -----Original Message-----<br>
&gt; From: Torsten Lodderstedt [mailto:<a href=3D"mailto:torsten@loddersted=
t.net">torsten@lodderstedt.net</a>]<br>
&gt; Sent: Monday, April 19, 2010 4:48 AM<br>
&gt; To: Eran Hammer-Lahav<br>
</div><div><div></div><div class=3D"h5">&gt; Cc: Dick Hardt; OAuth WG<br>
&gt; Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON<br>
&gt;<br>
&gt;<br>
&gt; &gt; We can also offer both and define a client request parameter (as =
long<br>
&gt; &gt; as the server is required to make at least one format available).=
<br>
&gt;<br>
&gt; +1 on this<br>
&gt;<br>
&gt; regards,<br>
&gt; Torsten.<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; EHL<br>
&gt; &gt;<br>
&gt; &gt;&gt; -----Original Message-----<br>
&gt; &gt;&gt; From: <a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces=
@ietf.org</a> [mailto:<a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounc=
es@ietf.org</a>] On<br>
&gt; &gt;&gt; Behalf Of Dick Hardt<br>
&gt; &gt;&gt; Sent: Sunday, April 18, 2010 9:30 PM<br>
&gt; &gt;&gt; To: OAuth WG<br>
&gt; &gt;&gt; Subject: [OAUTH-WG] application/x-www-form-urlencoded vs JSON=
<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; The AS token endpoint response is encoded as application/x-ww=
w-form-<br>
&gt; &gt;&gt; urlencoded<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; While this reuses a well known and understood encoding standa=
rd, it<br>
&gt; &gt;&gt; is uncommon for a client to receive a message encoded like th=
is. Most<br>
&gt; &gt;&gt; server responses are encoded as XML or JSON. Libraries are NO=
T<br>
&gt; &gt;&gt; reedily available to parse application/x-www-form-urlencoded =
results<br>
&gt; &gt;&gt; as this is something that is typically done in the web server=
s<br>
&gt; &gt;&gt; framework. While parsing the name value pairs and URL un-enco=
ding<br>
&gt; &gt;&gt; them is not hard, many developers have been caught just split=
ting the<br>
&gt; parameters and forgetting to URL decode the token.<br>
&gt; &gt;&gt; Since the token is opaque and may contain characters that are=
<br>
&gt; &gt;&gt; escaped, it is a difficult bug to detect.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Potential options:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; 1) Do nothing, developers should read the specs and do the ri=
ght thing.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; 2) Require that all parameters are URL safe so that there is =
no<br>
&gt; &gt;&gt; encoding issue.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; 3) Return results as JSON, and recommend that parameters be U=
RL safe.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; -- Dick<br>
&gt; &gt;&gt; _______________________________________________<br>
&gt; &gt;&gt; OAuth mailing list<br>
&gt; &gt;&gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt; &gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" targe=
t=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; OAuth mailing list<br>
&gt; &gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt; &gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D=
"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br></div>

--001636e0a5e97673ba0484ad85d4--

From jsmarr@gmail.com  Tue Apr 20 09:28:15 2010
Return-Path: <jsmarr@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 02AE03A6802 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 09:28:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.298
X-Spam-Level: 
X-Spam-Status: No, score=-2.298 tagged_above=-999 required=5 tests=[AWL=0.300,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SehZZmIYsijD for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 09:28:13 -0700 (PDT)
Received: from mail-pw0-f44.google.com (mail-pw0-f44.google.com [209.85.160.44]) by core3.amsl.com (Postfix) with ESMTP id 0965F3A6ACE for <oauth@ietf.org>; Tue, 20 Apr 2010 09:28:11 -0700 (PDT)
Received: by pwj2 with SMTP id 2so4382589pwj.31 for <oauth@ietf.org>; Tue, 20 Apr 2010 09:27:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:reply-to:in-reply-to :references:from:date:received:message-id:subject:to:cc:content-type; bh=zDG8dcJFDlO9XOeDHViB8e0Osnu4X9Hl7aLihjm1/WI=; b=Lh60zmZAzJTFMsgB+JvadObo25v42abnkRRy0WxetqG5YnrfiqWsWZ/MNKoqVkBNwo lGCqZNW5OIWnPs7HlXYGu8OyrQ55pILMlMm1EUVD+7Y3OBKkd771f8spOneXl4v8pgY1 BK1r9i3FcD07t0NyOmdGYG7sov9k/PRukJb8Y=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:reply-to:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; b=ZUi2aSGrhV4qHcStqmiuJslbUjO4+rlAzkSQl9WRfe16QW12umyulaLl6qdPbBq6DT auddRWgLfb/dm3nYY0tkgedc5YbpWwmm19HeszLXqkr2ZuDCDXiwaDpQzFv2riQboFA5 xmZ7p93wKOu2JuqtHFQI+/2TmCvkgLXCq9f84=
MIME-Version: 1.0
Received: by 10.143.164.14 with HTTP; Tue, 20 Apr 2010 09:27:32 -0700 (PDT)
In-Reply-To: <t2wc334d54e1004200924ja0e7786u9b349a1931098f2a@mail.gmail.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <t2wc334d54e1004200924ja0e7786u9b349a1931098f2a@mail.gmail.com>
From: Joseph Smarr <jsmarr@gmail.com>
Date: Tue, 20 Apr 2010 09:27:32 -0700
Received: by 10.143.132.6 with SMTP id j6mr2916207wfn.278.1271780877120; Tue,  20 Apr 2010 09:27:57 -0700 (PDT)
Message-ID: <w2lc334d54e1004200927k3c599ab9tf84aa04d2ce8a007@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=000e0cd5f50a69bd340484ad8fda
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: jsmarr@stanfordalumni.org
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 16:28:15 -0000

--000e0cd5f50a69bd340484ad8fda
Content-Type: text/plain; charset=ISO-8859-1

...and of course by "request format", I mean "response format". :)

BTW, note that the "trailing newline problem" with url-encoding is
particularly pernicious because a) it messes up the signature, and b) you
often can't see it when you print out your variables, so everything looks ok
and yet the signature is garbled. I've seen this multiple times, and IMO
that alone is reason enough to get rid of this serialization format in favor
of something more robust and widely implemented like JSON.

On Tue, Apr 20, 2010 at 9:24 AM, Joseph Smarr <jsmarr@gmail.com> wrote:

> +1 to including JSON format, and perhaps making it the required format. In
> my experience helping numerous developers debug their OAuth implementations,
> url-encoding/decoding was often a source of bugs, since a) the libraries are
> usually hand-built, b) url-encoding is known to be funky/inconsistent wrt +
> vs. %20 and other such things, and c) it's very sensitive to things like a
> trailing newline at the end of the response, which can easily be tokenized
> as part of the the last value (since the normal implementations just split
> on & and =). In contrast, I've never heard of any problems parsing JSON, nor
> any encoding/decoding bugs related to working with JSON in other APIs
> (something I *cannot* say about XML, which is way more finicky about
> requiring its values to be properly encoded or escaped in CDATA etc.; I've
> also seen way more inconsistency in support of XML parsers and their output
> formats, whereas JSON always works exactly the same way and always "just
> works").
>
> So in conclusion, url-encoding has caused a lot of pain in OAuth 1.0, and
> JSON is already widely supported (presumably including by most APIs that
> you're building OAuth support to be able to access!), so I think it would
> simplify the spec and increase ease/success of development to use JSON as a
> request format. In fact, I think I'd like to push for it to be the
> default/required format, given the positive attributes above. Does anyone
> object, and if so, why?
>
> Thanks, js
>
>
> On Tue, Apr 20, 2010 at 8:10 AM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:
>
>> There seems to be support for this idea with some concerns about
>> complexity. Someone needs to propose text for this including defining the
>> request parameter and schema of the various reply formats.
>>
>> EHL
>>
>> > -----Original Message-----
>> > From: Torsten Lodderstedt [mailto:torsten@lodderstedt.net]
>> > Sent: Monday, April 19, 2010 4:48 AM
>> > To: Eran Hammer-Lahav
>> > Cc: Dick Hardt; OAuth WG
>> > Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>> >
>> >
>> > > We can also offer both and define a client request parameter (as long
>> > > as the server is required to make at least one format available).
>> >
>> > +1 on this
>> >
>> > regards,
>> > Torsten.
>> >
>> > >
>> > > EHL
>> > >
>> > >> -----Original Message-----
>> > >> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
>> > >> Behalf Of Dick Hardt
>> > >> Sent: Sunday, April 18, 2010 9:30 PM
>> > >> To: OAuth WG
>> > >> Subject: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>> > >>
>> > >> The AS token endpoint response is encoded as application/x-www-form-
>> > >> urlencoded
>> > >>
>> > >> While this reuses a well known and understood encoding standard, it
>> > >> is uncommon for a client to receive a message encoded like this. Most
>> > >> server responses are encoded as XML or JSON. Libraries are NOT
>> > >> reedily available to parse application/x-www-form-urlencoded results
>> > >> as this is something that is typically done in the web servers
>> > >> framework. While parsing the name value pairs and URL un-encoding
>> > >> them is not hard, many developers have been caught just splitting the
>> > parameters and forgetting to URL decode the token.
>> > >> Since the token is opaque and may contain characters that are
>> > >> escaped, it is a difficult bug to detect.
>> > >>
>> > >> Potential options:
>> > >>
>> > >> 1) Do nothing, developers should read the specs and do the right
>> thing.
>> > >>
>> > >> 2) Require that all parameters are URL safe so that there is no
>> > >> encoding issue.
>> > >>
>> > >> 3) Return results as JSON, and recommend that parameters be URL safe.
>> > >>
>> > >> -- Dick
>> > >> _______________________________________________
>> > >> OAuth mailing list
>> > >> OAuth@ietf.org
>> > >> https://www.ietf.org/mailman/listinfo/oauth
>> > > _______________________________________________
>> > > OAuth mailing list
>> > > OAuth@ietf.org
>> > > https://www.ietf.org/mailman/listinfo/oauth
>> > >
>> >
>> >
>> >
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>
>

--000e0cd5f50a69bd340484ad8fda
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

...and of course by &quot;request format&quot;, I mean &quot;response forma=
t&quot;. :)<div><br></div><div>BTW, note that the &quot;trailing newline pr=
oblem&quot; with url-encoding is particularly pernicious because a) it mess=
es up the signature, and b) you often can&#39;t see it when you print out y=
our variables, so everything looks ok and yet the signature is garbled. I&#=
39;ve seen this multiple times, and IMO that alone is reason enough to get =
rid of this serialization format in favor of something more robust and wide=
ly implemented like JSON.<br>

<br><div class=3D"gmail_quote">On Tue, Apr 20, 2010 at 9:24 AM, Joseph Smar=
r <span dir=3D"ltr">&lt;<a href=3D"mailto:jsmarr@gmail.com">jsmarr@gmail.co=
m</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margi=
n:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

+1 to including JSON format, and perhaps making it the required format. In =
my experience helping numerous developers debug their OAuth implementations=
, url-encoding/decoding was often a source of bugs, since a) the libraries =
are usually hand-built, b) url-encoding is known to be funky/inconsistent w=
rt + vs. %20 and other such things, and c) it&#39;s very sensitive to thing=
s like a trailing newline at the end of the response, which can easily be t=
okenized as part of the the last value (since the normal implementations ju=
st split on &amp; and =3D). In contrast, I&#39;ve never heard of any proble=
ms parsing JSON, nor any encoding/decoding bugs related to working with JSO=
N in other APIs (something I *cannot* say about XML, which is way more fini=
cky about requiring its values to be properly encoded or escaped in CDATA e=
tc.; I&#39;ve also seen way more inconsistency in support of XML parsers an=
d their output formats, whereas JSON always works exactly the same way and =
always &quot;just works&quot;).<div>


<br></div><div>So in conclusion, url-encoding has caused a lot of pain in O=
Auth 1.0, and JSON is already widely supported (presumably including by mos=
t APIs that you&#39;re building OAuth support to be able to access!), so I =
think it would simplify the spec and increase ease/success of development t=
o use JSON as a request format. In fact, I think I&#39;d like to push for i=
t to be the default/required format, given the positive attributes above. D=
oes anyone object, and if so, why?</div>


<div><br></div><div>Thanks, js<div><div></div><div class=3D"h5"><br><br><di=
v class=3D"gmail_quote">On Tue, Apr 20, 2010 at 8:10 AM, Eran Hammer-Lahav =
<span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com" target=3D"_bla=
nk">eran@hueniverse.com</a>&gt;</span> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
There seems to be support for this idea with some concerns about complexity=
. Someone needs to propose text for this including defining the request par=
ameter and schema of the various reply formats.<br>
<font color=3D"#888888"><br>
EHL<br>
</font><div><br>
&gt; -----Original Message-----<br>
&gt; From: Torsten Lodderstedt [mailto:<a href=3D"mailto:torsten@loddersted=
t.net" target=3D"_blank">torsten@lodderstedt.net</a>]<br>
&gt; Sent: Monday, April 19, 2010 4:48 AM<br>
&gt; To: Eran Hammer-Lahav<br>
</div><div><div></div><div>&gt; Cc: Dick Hardt; OAuth WG<br>
&gt; Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON<br>
&gt;<br>
&gt;<br>
&gt; &gt; We can also offer both and define a client request parameter (as =
long<br>
&gt; &gt; as the server is required to make at least one format available).=
<br>
&gt;<br>
&gt; +1 on this<br>
&gt;<br>
&gt; regards,<br>
&gt; Torsten.<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; EHL<br>
&gt; &gt;<br>
&gt; &gt;&gt; -----Original Message-----<br>
&gt; &gt;&gt; From: <a href=3D"mailto:oauth-bounces@ietf.org" target=3D"_bl=
ank">oauth-bounces@ietf.org</a> [mailto:<a href=3D"mailto:oauth-bounces@iet=
f.org" target=3D"_blank">oauth-bounces@ietf.org</a>] On<br>
&gt; &gt;&gt; Behalf Of Dick Hardt<br>
&gt; &gt;&gt; Sent: Sunday, April 18, 2010 9:30 PM<br>
&gt; &gt;&gt; To: OAuth WG<br>
&gt; &gt;&gt; Subject: [OAUTH-WG] application/x-www-form-urlencoded vs JSON=
<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; The AS token endpoint response is encoded as application/x-ww=
w-form-<br>
&gt; &gt;&gt; urlencoded<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; While this reuses a well known and understood encoding standa=
rd, it<br>
&gt; &gt;&gt; is uncommon for a client to receive a message encoded like th=
is. Most<br>
&gt; &gt;&gt; server responses are encoded as XML or JSON. Libraries are NO=
T<br>
&gt; &gt;&gt; reedily available to parse application/x-www-form-urlencoded =
results<br>
&gt; &gt;&gt; as this is something that is typically done in the web server=
s<br>
&gt; &gt;&gt; framework. While parsing the name value pairs and URL un-enco=
ding<br>
&gt; &gt;&gt; them is not hard, many developers have been caught just split=
ting the<br>
&gt; parameters and forgetting to URL decode the token.<br>
&gt; &gt;&gt; Since the token is opaque and may contain characters that are=
<br>
&gt; &gt;&gt; escaped, it is a difficult bug to detect.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Potential options:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; 1) Do nothing, developers should read the specs and do the ri=
ght thing.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; 2) Require that all parameters are URL safe so that there is =
no<br>
&gt; &gt;&gt; encoding issue.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; 3) Return results as JSON, and recommend that parameters be U=
RL safe.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; -- Dick<br>
&gt; &gt;&gt; _______________________________________________<br>
&gt; &gt;&gt; OAuth mailing list<br>
&gt; &gt;&gt; <a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@iet=
f.org</a><br>
&gt; &gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" targe=
t=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; OAuth mailing list<br>
&gt; &gt; <a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.or=
g</a><br>
&gt; &gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D=
"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br></div></div></div>
</blockquote></div><br></div>

--000e0cd5f50a69bd340484ad8fda--

From jsmarr@gmail.com  Tue Apr 20 09:36:45 2010
Return-Path: <jsmarr@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C2D053A6B18 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 09:36:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.398
X-Spam-Level: 
X-Spam-Status: No, score=-2.398 tagged_above=-999 required=5 tests=[AWL=0.200,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wZ+WCPyXg42W for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 09:36:38 -0700 (PDT)
Received: from mail-pz0-f191.google.com (mail-pz0-f191.google.com [209.85.222.191]) by core3.amsl.com (Postfix) with ESMTP id BA48A3A69DF for <oauth@ietf.org>; Tue, 20 Apr 2010 09:36:38 -0700 (PDT)
Received: by pzk29 with SMTP id 29so5304364pzk.29 for <oauth@ietf.org>; Tue, 20 Apr 2010 09:36:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:reply-to:in-reply-to :references:from:date:received:message-id:subject:to:cc:content-type; bh=/LYX+jgqQxJHl31geN9vJywKqsYGeHKH235kqL5GbLE=; b=kyp8lBGEEdSdoMn34kgEaDBufmQfcXcueFE9BIiJcb/wnAqnRwYhdBClfF1zz0toDA QZOO5wfeN2RnoofqrU/pwcwwkALS71mhAqEE+TLb9ZzXoIq+WP8LKUYCDPNVIgctW5u9 0FeErpg10J0lq37/IYqvv/rk1fy/KqASYjzbM=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:reply-to:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; b=qNXBBtEOPmLaoBHqoCso8qc1+YXB2z9NwOzugcShqvGui5NrasX9CUxNixAR/R0A7E 89ihQdu+ppval8K/GIU+l9EBvkjCvKOZVVnAotHNFWJJXIJJyQZ/xU/mHqWxK2cQ+W2R 7q4b4H4zOn0QLhD1L7oCZ1QrUDz98esflZbL4=
MIME-Version: 1.0
Received: by 10.143.164.14 with HTTP; Tue, 20 Apr 2010 09:36:07 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45A@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com>  <C7F1C6AC.327EE%eran@hueniverse.com> <u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET> <o2wc8689b661004191716o69966d5di900c07737d3be568@mail.gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45A@P3PW5EX1MB01.EX1.SECURESERVER.NET>
From: Joseph Smarr <jsmarr@gmail.com>
Date: Tue, 20 Apr 2010 09:36:07 -0700
Received: by 10.143.27.33 with SMTP id e33mr2957307wfj.54.1271781387289; Tue,  20 Apr 2010 09:36:27 -0700 (PDT)
Message-ID: <z2xc334d54e1004200936s57f06dedt8e0e46df3480f8d4@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=00504502c5c8d246bf0484adad25
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: jsmarr@stanfordalumni.org
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 16:36:45 -0000

--00504502c5c8d246bf0484adad25
Content-Type: text/plain; charset=ISO-8859-1

Just to add some more context from experience, this "two users getting mixed
together" problem happens a lot in practice, esp. when you have a mix of
server-side and client-side auth. For instance, we saw this in our Facebook
Connect integration in Plaxo--normally the user connects and Plaxo stores
their session key in our databases, so when the user returns and logs in as
plaxo-user-123, we look it up and know that he's also facebook-user-456. But
some of Facebook Connect's UI widgets just look at the browser cookies on
facebook.com, where facebook-user-789 may be currently logged in (happens
all the time with shared computers at home). Thus we often had pages that
pulled some Facebook info server-side (as facebook-user-456) and some
client-side (as facebook-user-789) and it was very confusing and potentially
harmful (e.g. easy to accidentally post a story to the wrong account). The
solution would be for Plaxo to be able to pass facebook-user-456 down to the
JavaScript library, so it wouldn't just "silently auth" as a different
user--presumably, it would just treat it as if no one was logged into
facebook, if the passed-in user is not logged in. I think this is what Evan
is proposing we enable for OAuth, especially if we want it to work
client-side with immediate-mode (which I think we do).

Another related example of this problem we saw was with our photo-uploader
plug-in inside Picasa Desktop for sharing photos on Plaxo. During the upload
flow, it embeds a web browser, which lets you log in as plaxo-user-123, but
when it's done uploading, it opens a default web browser, where you might be
logged in as plaxo-user-456, leading again to a confusing mix-up of
identities. We solved this by appending the session-info of the user from
the embedded web browser on the URL of the main browser that gets opened, so
it can clobber the session as needed and maintain continuity of session.

Hope these experiences provide some useful and concrete context for
evaluating whether/how to support a username parameter in OAuth.

Thanks, js

On Tue, Apr 20, 2010 at 8:08 AM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

> This attack is why the flow requires the client to present the callback it
> used again when getting the token.
>
>
>
> EHL
>
>
>
>
>
> *From:* Evan Gilbert [mailto:uidude@google.com]
> *Sent:* Monday, April 19, 2010 5:17 PM
>
> *To:* Eran Hammer-Lahav
> *Cc:* OAuth WG
> *Subject:* Re: [OAUTH-WG] Issue: 'username' parameter proposal
>
>
>
>
>
> On Mon, Apr 19, 2010 at 10:58 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>
> Thanks. That makes sense.
>
>
>
> My concern is that the client will ask for a specific username but an
> attacker will change that request before it hits the server. The server then
> asks the (wrong) user to authenticate and returns a token. The client has no
> way of knowing it got an access token for the wrong user. Does requiring
> that the server returns the token with the username solves this? Is this a
> real issue?
>
>
>
> This particular attack wasn't of concern to me, for a few of reasons:
>
> - The request is HTTPS, hard to modify the request before it hits the
> server
>
> - There are probably other, more dangerous attacks if you can modify
> request parameters (for example, you can modify the client_id and get the
> user to authorize the wrong app)
>
>
> I'm willing to be convinced otherwise
>
>
>
> I have no objections to this proposal but wanted to see some discussion and
> support from others before adding it to the spec.
>
>
>
> EHL
>
>
>
> *From:* Evan Gilbert [mailto:uidude@google.com]
> *Sent:* Monday, April 19, 2010 10:06 AM
> *To:* Eran Hammer-Lahav
> *Cc:* OAuth WG
>
>
> *Subject:* Re: [OAUTH-WG] Issue: 'username' parameter proposal
>
>
>
> User 1 is logged into Client site
>
> User 2 is logged into IDP site
>
>
>
> This can happen quite frequently, as client sites often have long-lived
> cookies and may only be visited by one user on a shared computer.
>
>
>
> Right now client site has no way to ask for a token for User 1, and end
> result will be that User 1 starts seeing User 2's data.
>
>
>
> On Mon, Apr 19, 2010 at 8:37 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>
> How can they both be logged in? I have never seen a case where two users
> can be both logged into to the same service at the same time...
>
> EHL
>
>
>
>
> On 4/19/10 8:33 AM, "Evan Gilbert" <uidude@google.com> wrote:
>
> More details on this enhancement.
>
> Goal: Make sure you get an access token for the right user in immediate
> mode.
>
> Use case where we have problems if we don't have username parameter:
>
>    1. Bob is logged into a web site as bob@IDP.com.
>    2. Mary (his wife) is logged into IDP on the same computer as
>    mary@IDP.com
>    3. A request is made to get an access token via the User-Agent flow in
>    immediate mode (or with any redirect without prompting the user)
>    4. -ob now has an access token for Mary and (posts activities,
>    schedules events, gets contacts) as Mary
>    5. Hilarity ensues
>
>
> Secondary goal: Provide a hint for non-immediate mode
>
> On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>
> Evan Gilbert proposed a 'username' request parameter to allow the client to
> limit the end user to authenticate using the provided authorization server
> identifier. The proposal has not been discussed or supported by others, and
> has not received a security review.
>
> Proposal: Obtain further discussion and support from others, as well as a
> security review of the proposal. Otherwise, do nothing.
>
> EHL
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>
>
>
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

--00504502c5c8d246bf0484adad25
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Just to add some more context from experience, this &quot;two users getting=
 mixed together&quot; problem happens a lot in practice, esp. when you have=
 a mix of server-side and client-side auth. For instance, we saw this in ou=
r Facebook Connect integration in Plaxo--normally the user connects and Pla=
xo stores their session key in our databases, so when the user returns and =
logs in as plaxo-user-123, we look it up and know that he&#39;s also facebo=
ok-user-456. But some of Facebook Connect&#39;s UI widgets just look at the=
 browser cookies on <a href=3D"http://facebook.com">facebook.com</a>, where=
 facebook-user-789 may be currently logged in (happens all the time with sh=
ared computers at home). Thus we often had pages that pulled some Facebook =
info server-side (as facebook-user-456) and some client-side (as facebook-u=
ser-789) and it was very confusing and potentially harmful (e.g. easy to ac=
cidentally post a story to the wrong account). The solution would be for Pl=
axo to be able to pass facebook-user-456 down to the JavaScript library, so=
 it wouldn&#39;t just &quot;silently auth&quot; as a different user--presum=
ably, it would just treat it as if no one was logged into facebook, if the =
passed-in user is not logged in. I think this is what Evan is proposing we =
enable for OAuth, especially if we want it to work client-side with immedia=
te-mode (which I think we do).<div>

<br></div><div>Another related example of this problem we saw was with our =
photo-uploader plug-in inside Picasa Desktop for sharing photos on Plaxo. D=
uring the upload flow, it embeds a web browser, which lets you log in as pl=
axo-user-123, but when it&#39;s done uploading, it opens a default web brow=
ser, where you might be logged in as plaxo-user-456, leading again to a con=
fusing mix-up of identities. We solved this by appending the session-info o=
f the user from the embedded web browser on the URL of the main browser tha=
t gets opened, so it can clobber the session as needed and maintain continu=
ity of session.</div>

<div><br></div><div>Hope these experiences provide some useful and concrete=
 context for evaluating whether/how to support a username parameter in OAut=
h.</div><div><br></div><div>Thanks, js<br><br><div class=3D"gmail_quote">

On Tue, Apr 20, 2010 at 8:08 AM, Eran Hammer-Lahav <span dir=3D"ltr">&lt;<a=
 href=3D"mailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt;</span> wro=
te:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-=
left:1px #ccc solid;padding-left:1ex;">

<div lang=3D"EN-US" link=3D"blue" vlink=3D"purple"><div><p class=3D"MsoNorm=
al"><span style=3D"font-size:11.0pt;color:#1F497D">This attack is why the f=
low requires the client to present the callback it used again when getting =
the token.</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">EHL</span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;co=
lor:#1F497D">=A0</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><div style=3D"border:none;border-left:solid blue 1.5pt;padding:0in=
 0in 0in 4.0pt"><div><div style=3D"border:none;border-top:solid #B5C4DF 1.0=
pt;padding:3.0pt 0in 0in 0in">

<p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt">From:</span></b>=
<span style=3D"font-size:10.0pt"> Evan Gilbert [mailto:<a href=3D"mailto:ui=
dude@google.com" target=3D"_blank">uidude@google.com</a>] <br><b>Sent:</b> =
Monday, April 19, 2010 5:17 PM</span></p>

<div><div></div><div class=3D"h5"><br><b>To:</b> Eran Hammer-Lahav<br><b>Cc=
:</b> OAuth WG<br><b>Subject:</b> Re: [OAUTH-WG] Issue: &#39;username&#39; =
parameter proposal</div></div><p></p></div></div><div><div></div><div class=
=3D"h5">

<p class=3D"MsoNormal">=A0</p><p class=3D"MsoNormal" style=3D"margin-bottom=
:12.0pt">=A0</p><div><p class=3D"MsoNormal">On Mon, Apr 19, 2010 at 10:58 A=
M, Eran Hammer-Lahav &lt;<a href=3D"mailto:eran@hueniverse.com" target=3D"_=
blank">eran@hueniverse.com</a>&gt; wrote:</p>

<div><div><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F4=
97D">Thanks. That makes sense.</span></p><p class=3D"MsoNormal"><span style=
=3D"font-size:11.0pt;color:#1F497D">=A0</span></p><p class=3D"MsoNormal"><s=
pan style=3D"font-size:11.0pt;color:#1F497D">My concern is that the client =
will ask for a specific username but an attacker will change that request b=
efore it hits the server. The server then asks the (wrong) user to authenti=
cate and returns a token. The client has no way of knowing it got an access=
 token for the wrong user. Does requiring that the server returns the token=
 with the username solves this? Is this a real issue?</span></p>

</div></div><div><p class=3D"MsoNormal">=A0</p></div><div><p class=3D"MsoNo=
rmal">This particular attack wasn&#39;t of concern to me, for a few of reas=
ons:</p></div><div><p class=3D"MsoNormal">- The request is HTTPS, hard to m=
odify the request before it hits the server</p>

</div><div><p class=3D"MsoNormal">- There are probably other, more dangerou=
s attacks if you can modify request parameters (for example, you can modify=
 the client_id and get the user to authorize the wrong app)</p></div><div>

<p class=3D"MsoNormal"><br>I&#39;m willing to be convinced otherwise</p></d=
iv><blockquote style=3D"border:none;border-left:solid #CCCCCC 1.0pt;padding=
:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in"><div><div><p class=
=3D"MsoNormal">

<span style=3D"font-size:11.0pt;color:#1F497D">=A0</span></p><p class=3D"Ms=
oNormal"><span style=3D"font-size:11.0pt;color:#1F497D">I have no objection=
s to this proposal but wanted to see some discussion and support from other=
s before adding it to the spec.</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">=A0</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">EHL</span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;co=
lor:#1F497D">=A0</span></p>

<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in =
4.0pt"><div><div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;paddin=
g:3.0pt 0in 0in 0in"><p class=3D"MsoNormal"><b><span style=3D"font-size:10.=
0pt">From:</span></b><span style=3D"font-size:10.0pt"> Evan Gilbert [mailto=
:<a href=3D"mailto:uidude@google.com" target=3D"_blank">uidude@google.com</=
a>] <br>

<b>Sent:</b> Monday, April 19, 2010 10:06 AM<br><b>To:</b> Eran Hammer-Laha=
v<br><b>Cc:</b> OAuth WG</span></p><div><p class=3D"MsoNormal"><br><b>Subje=
ct:</b> Re: [OAUTH-WG] Issue: &#39;username&#39; parameter proposal</p></di=
v>

</div></div><p class=3D"MsoNormal">=A0</p><p class=3D"MsoNormal">User 1 is =
logged into Client site</p><div><div><div><p class=3D"MsoNormal">User 2 is =
logged into IDP site</p></div><div><p class=3D"MsoNormal">=A0</p></div><div=
><p class=3D"MsoNormal">

This can happen quite frequently, as client sites often have long-lived coo=
kies and may only be visited by one user on a shared computer.</p></div><di=
v><p class=3D"MsoNormal">=A0</p></div><div><p class=3D"MsoNormal">Right now=
 client site has no way to ask for a token for User 1, and end result will =
be that User 1 starts seeing User 2&#39;s data.</p>

</div><div><div><div><div><p class=3D"MsoNormal">=A0</p><div><p class=3D"Ms=
oNormal">On Mon, Apr 19, 2010 at 8:37 AM, Eran Hammer-Lahav &lt;<a href=3D"=
mailto:eran@hueniverse.com" target=3D"_blank">eran@hueniverse.com</a>&gt; w=
rote:</p>

<div><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">How can they b=
oth be logged in? I have never seen a case where two users can be both logg=
ed into to the same service at the same time...<br><span style=3D"color:#88=
8888"><br>

EHL</span></span></p><div><div><p class=3D"MsoNormal" style=3D"margin-botto=
m:12.0pt"><span style=3D"font-size:11.0pt"><br><br><br>On 4/19/10 8:33 AM, =
&quot;Evan Gilbert&quot; &lt;<a href=3D"http://uidude@google.com" target=3D=
"_blank">uidude@google.com</a>&gt; wrote:</span></p>

</div></div><div><div><blockquote style=3D"margin-top:5.0pt;margin-bottom:5=
.0pt"><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">More details =
on this enhancement.<br><br>Goal: Make sure you get an access token for the=
 right user in immediate mode.<br>

<br>Use case where we have problems if we don&#39;t have username parameter=
:</span></p><ol start=3D"1" type=3D"1"><li class=3D"MsoNormal"><span style=
=3D"font-size:11.0pt">Bob is logged into a web site as <a href=3D"http://bo=
b@IDP.com" target=3D"_blank">bob@IDP.com</a>. </span></li>

<li class=3D"MsoNormal"><span style=3D"font-size:11.0pt">Mary (his wife) is=
 logged into IDP on the same computer as <a href=3D"http://mary@IDP.com" ta=
rget=3D"_blank">mary@IDP.com</a> </span></li><li class=3D"MsoNormal"><span =
style=3D"font-size:11.0pt">A request is made to get an access token via the=
 User-Agent flow in immediate mode (or with any redirect without prompting =
the user) </span></li>

<li class=3D"MsoNormal"><span style=3D"font-size:11.0pt">-ob now has an acc=
ess token for Mary and (posts activities, schedules events, gets contacts) =
as Mary </span></li><li class=3D"MsoNormal"><span style=3D"font-size:11.0pt=
">Hilarity ensues</span></li>

</ol><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt"><br>Secondary =
goal: Provide a hint for non-immediate mode<br><br>On Thu, Apr 15, 2010 at =
11:55 AM, Eran Hammer-Lahav &lt;<a href=3D"http://eran@hueniverse.com" targ=
et=3D"_blank">eran@hueniverse.com</a>&gt; wrote:</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">Evan Gilbert propos=
ed a &#39;username&#39; request parameter to allow the client to<br>limit t=
he end user to authenticate using the provided authorization server<br>iden=
tifier. The proposal has not been discussed or supported by others, and<br>

has not received a security review.<br><br>Proposal: Obtain further discuss=
ion and support from others, as well as a<br>security review of the proposa=
l. Otherwise, do nothing.<br><br>EHL<br><br>_______________________________=
________________<br>

OAuth mailing list<br><a href=3D"http://OAuth@ietf.org" target=3D"_blank">O=
Auth@ietf.org</a><br><a href=3D"https://www.ietf.org/mailman/listinfo/oauth=
" target=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a></span><=
/p>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt">
=A0</p></blockquote></div></div></div></div><p class=3D"MsoNormal">=A0</p><=
/div></div></div></div></div></div></div></div></div></blockquote></div><p =
class=3D"MsoNormal">=A0</p></div></div></div></div></div><br>______________=
_________________________________<br>


OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></blockquote></div><br></div>

--00504502c5c8d246bf0484adad25--

From mscurtescu@google.com  Tue Apr 20 09:40:40 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B1D173A6AAB for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 09:40:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.893
X-Spam-Level: 
X-Spam-Status: No, score=-105.893 tagged_above=-999 required=5 tests=[AWL=0.084, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6++ZZLrSgQ32 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 09:40:39 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 659703A6944 for <oauth@ietf.org>; Tue, 20 Apr 2010 09:40:39 -0700 (PDT)
Received: from hpaq13.eem.corp.google.com (hpaq13.eem.corp.google.com [10.3.21.13]) by smtp-out.google.com with ESMTP id o3KGeSBI019804 for <oauth@ietf.org>; Tue, 20 Apr 2010 09:40:29 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271781630; bh=X5dWDRuGhABwOKGaSM2aLQjtMXc=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=r6qLmE5dv1ll3iD4fIm8Q4mtw7XO2F3EgMctshu2DYgUowQAaYuzvo7OonHKYRMa7 5cCTGbXZxPtXiQR0baUqg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=fwaJg/QWyITaohxoBtRla7YVVS9xgNTqiyiAmavy/rL3nHMwwxbN3n3mYCGcJGVTy 4ej3ijJzaVVFkGU6jBmxQ==
Received: from pzk30 (pzk30.prod.google.com [10.243.19.158]) by hpaq13.eem.corp.google.com with ESMTP id o3KGeQe8030391 for <oauth@ietf.org>; Tue, 20 Apr 2010 18:40:27 +0200
Received: by pzk30 with SMTP id 30so3628503pzk.12 for <oauth@ietf.org>; Tue, 20 Apr 2010 09:40:26 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Tue, 20 Apr 2010 09:40:06 -0700 (PDT)
In-Reply-To: <w2lc334d54e1004200927k3c599ab9tf84aa04d2ce8a007@mail.gmail.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <t2wc334d54e1004200924ja0e7786u9b349a1931098f2a@mail.gmail.com>  <w2lc334d54e1004200927k3c599ab9tf84aa04d2ce8a007@mail.gmail.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Tue, 20 Apr 2010 09:40:06 -0700
Received: by 10.141.15.4 with SMTP id s4mr1948124rvi.112.1271781626112; Tue,  20 Apr 2010 09:40:26 -0700 (PDT)
Message-ID: <w2p74caaad21004200940t7bbf5153g605508cf3a07984@mail.gmail.com>
To: jsmarr@stanfordalumni.org
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 16:40:40 -0000

How about encoding requests as well. The request json blob could be
then URL encoded and added to the endpoint/callback URL with a
parameter like "oauth_json_request". This would solve the
prefix/collision problem.

Marius



On Tue, Apr 20, 2010 at 9:27 AM, Joseph Smarr <jsmarr@gmail.com> wrote:
> ...and of course by "request format", I mean "response format". :)
> BTW, note that the "trailing newline problem" with url-encoding is
> particularly pernicious because a) it messes up the signature, and b) you
> often can't see it when you print out your variables, so everything looks ok
> and yet the signature is garbled. I've seen this multiple times, and IMO
> that alone is reason enough to get rid of this serialization format in favor
> of something more robust and widely implemented like JSON.
>
> On Tue, Apr 20, 2010 at 9:24 AM, Joseph Smarr <jsmarr@gmail.com> wrote:
>>
>> +1 to including JSON format, and perhaps making it the required format. In
>> my experience helping numerous developers debug their OAuth implementations,
>> url-encoding/decoding was often a source of bugs, since a) the libraries are
>> usually hand-built, b) url-encoding is known to be funky/inconsistent wrt +
>> vs. %20 and other such things, and c) it's very sensitive to things like a
>> trailing newline at the end of the response, which can easily be tokenized
>> as part of the the last value (since the normal implementations just split
>> on & and =). In contrast, I've never heard of any problems parsing JSON, nor
>> any encoding/decoding bugs related to working with JSON in other APIs
>> (something I *cannot* say about XML, which is way more finicky about
>> requiring its values to be properly encoded or escaped in CDATA etc.; I've
>> also seen way more inconsistency in support of XML parsers and their output
>> formats, whereas JSON always works exactly the same way and always "just
>> works").
>> So in conclusion, url-encoding has caused a lot of pain in OAuth 1.0, and
>> JSON is already widely supported (presumably including by most APIs that
>> you're building OAuth support to be able to access!), so I think it would
>> simplify the spec and increase ease/success of development to use JSON as a
>> request format. In fact, I think I'd like to push for it to be the
>> default/required format, given the positive attributes above. Does anyone
>> object, and if so, why?
>> Thanks, js
>>
>> On Tue, Apr 20, 2010 at 8:10 AM, Eran Hammer-Lahav <eran@hueniverse.com>
>> wrote:
>>>
>>> There seems to be support for this idea with some concerns about
>>> complexity. Someone needs to propose text for this including defining the
>>> request parameter and schema of the various reply formats.
>>>
>>> EHL
>>>
>>> > -----Original Message-----
>>> > From: Torsten Lodderstedt [mailto:torsten@lodderstedt.net]
>>> > Sent: Monday, April 19, 2010 4:48 AM
>>> > To: Eran Hammer-Lahav
>>> > Cc: Dick Hardt; OAuth WG
>>> > Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>>> >
>>> >
>>> > > We can also offer both and define a client request parameter (as long
>>> > > as the server is required to make at least one format available).
>>> >
>>> > +1 on this
>>> >
>>> > regards,
>>> > Torsten.
>>> >
>>> > >
>>> > > EHL
>>> > >
>>> > >> -----Original Message-----
>>> > >> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
>>> > >> Behalf Of Dick Hardt
>>> > >> Sent: Sunday, April 18, 2010 9:30 PM
>>> > >> To: OAuth WG
>>> > >> Subject: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>>> > >>
>>> > >> The AS token endpoint response is encoded as application/x-www-form-
>>> > >> urlencoded
>>> > >>
>>> > >> While this reuses a well known and understood encoding standard, it
>>> > >> is uncommon for a client to receive a message encoded like this.
>>> > >> Most
>>> > >> server responses are encoded as XML or JSON. Libraries are NOT
>>> > >> reedily available to parse application/x-www-form-urlencoded results
>>> > >> as this is something that is typically done in the web servers
>>> > >> framework. While parsing the name value pairs and URL un-encoding
>>> > >> them is not hard, many developers have been caught just splitting
>>> > >> the
>>> > parameters and forgetting to URL decode the token.
>>> > >> Since the token is opaque and may contain characters that are
>>> > >> escaped, it is a difficult bug to detect.
>>> > >>
>>> > >> Potential options:
>>> > >>
>>> > >> 1) Do nothing, developers should read the specs and do the right
>>> > >> thing.
>>> > >>
>>> > >> 2) Require that all parameters are URL safe so that there is no
>>> > >> encoding issue.
>>> > >>
>>> > >> 3) Return results as JSON, and recommend that parameters be URL
>>> > >> safe.
>>> > >>
>>> > >> -- Dick
>>> > >> _______________________________________________
>>> > >> OAuth mailing list
>>> > >> OAuth@ietf.org
>>> > >> https://www.ietf.org/mailman/listinfo/oauth
>>> > > _______________________________________________
>>> > > OAuth mailing list
>>> > > OAuth@ietf.org
>>> > > https://www.ietf.org/mailman/listinfo/oauth
>>> > >
>>> >
>>> >
>>> >
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

From jsmarr@gmail.com  Tue Apr 20 09:42:08 2010
Return-Path: <jsmarr@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 12BA13A6AE0 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 09:42:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id W+wJTO2lq0CK for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 09:42:05 -0700 (PDT)
Received: from mail-pv0-f172.google.com (mail-pv0-f172.google.com [74.125.83.172]) by core3.amsl.com (Postfix) with ESMTP id D5ADD3A6912 for <oauth@ietf.org>; Tue, 20 Apr 2010 09:42:05 -0700 (PDT)
Received: by pvf33 with SMTP id 33so4113559pvf.31 for <oauth@ietf.org>; Tue, 20 Apr 2010 09:41:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:reply-to:in-reply-to :references:from:date:received:message-id:subject:to:cc:content-type; bh=W+HQ62kP04kiKGrW0qsewaGaH34hBplPPYZSmIRjeO8=; b=JNu9po3x6BNz9P6Ggll1SxHJwUam1Tn4ONhvLJ8EGtPrKQ65SvNmWanElFWOEmlspz T76E2inekgHpO7XE+WU7T8OHimotNp3CL9G0AwZpiJArM658mWUHmO7s8+b663UfJlwi fnxP0XEDft56qbN2TUAg/lE/BIIG9aqwz+s/0=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:reply-to:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; b=GX6bNEtev9tkOas8Bz3iWxpjDU+iOrvWns9ym7z4dLCeCevcCRFZC/60q6Vp9qtISq /6vi0WoOrhN0dEaIxTW++SsA1LxkSzvcgJogjXeJWmq4qA8T57606J3dVvlG1BWzXXYE gqoM5XPSbuDFfbCi3kGNfZM4v3LQNppwBiH3o=
MIME-Version: 1.0
Received: by 10.143.164.14 with HTTP; Tue, 20 Apr 2010 09:41:34 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F456@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <4BCD3B85.3080809@lodderstedt.net>  <2513A610118CC14C8E622C376C8DEC93D54D66DEAB@SC-MBXC1.TheFacebook.com>  <90C41DD21FB7C64BB94121FBBC2E723438E5C7F456@P3PW5EX1MB01.EX1.SECURESERVER.NET>
From: Joseph Smarr <jsmarr@gmail.com>
Date: Tue, 20 Apr 2010 09:41:34 -0700
Received: by 10.142.249.27 with SMTP id w27mr1581500wfh.188.1271781714193;  Tue, 20 Apr 2010 09:41:54 -0700 (PDT)
Message-ID: <r2lc334d54e1004200941r3c3461c2va51384d26b3b5e5b@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=00504502cec44e6d280484adc1ff
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Consistency in access token parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: jsmarr@stanfordalumni.org
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 16:42:08 -0000

--00504502cec44e6d280484adc1ff
Content-Type: text/plain; charset=ISO-8859-1

In my experience, a frequent source of bugs/frustration for developers
implementing OAuth 1.0 was the fact that we have multiple "tokens" that are
easy to mix up and use in the wrong place. For instance, when I helped Dave
Winer debug his implementation (see
http://josephsmarr.com/2009/02/17/implementing-oauth-is-still-too-hard-but-it-doesnt-have-to-be/),
the problem ended up being that he was passing his request-token instead of
his access-token when making API requests (they're both returned as
oauth_token, after all). (So I'd strongly urge us to pick as disparate names
for the various "tokens" in OAuth 2.0 as possible, and to not use similar
variable names when returning them, to minimize these chances of mix-up.
It's probably also helpful if they look visually distinct, so it would be
more obvious "oh, you're using the wrong kind of token here", but that may
be too hard to enforce in practice.)

Thanks, js

On Tue, Apr 20, 2010 at 8:04 AM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

> There is an explanation (I'm not defending it, just explaining).
>
> In the flow endpoint I chose 'access_token' over token because of the
> refresh token. It seems better to talk about two different kinds of tokens
> than to have one generic 'token' and one with special meaning
> 'refresh_token'.
>
> The protected resource endpoint is the only place I agree requires a prefix
> because it always intrudes on another namespace or platform and the
> likelihood of a conflict is high. I used 'oauth_token' instead of
> 'oauth_access_token' for brevity thinking that it should be trivial to
> figure out what to put there (the only other option is a refresh token which
> isn't likely to be confused here).
>
> The header uses 'token' because it is a generic authentication scheme which
> doesn't mandate you use the OAuth flows to get a token. This is the only
> place I feel strongly about not changing it.
>
> Feel free to propose new names.
>
> EHL
>
> > -----Original Message-----
> > From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> > Of Luke Shepard
> > Sent: Tuesday, April 20, 2010 12:46 AM
> > To: oauth@ietf.org
> > Subject: [OAUTH-WG] Consistency in access token parameter
> >
> > There are potentially three names for access tokens in this spec:
> >
> > - token
> > - access_token
> > - oauth_token
> >
> > You hit the /oauth/access_token endpoint, and get back access_token=blah.
> > Then you take that string and pass it to the protected resource as
> > oauth_token=blah.
> >
> > Developers that have prototyped things over here have found this to be
> > confusing. It's simpler to just take the same named param everywhere.
> >
> > I vote that one of two things happen:
> >
> > 1/ Return oauth_token from the access token endpoint.
> > 2/ Accept access_token on the protected resource endpoint.
> > 3/ Return "token" (and still "refresh_token") from the access_token
> > endpoint, and accept "token" on the protected resource.
> >
> > I know there will be infinite debate about the right way to do this, but
> just
> > wanted some thoughts for now. I will probably choose #2 as that seems
> most
> > explicit, even though it's a few more characters.
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--00504502cec44e6d280484adc1ff
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

In my experience, a frequent source of bugs/frustration for developers impl=
ementing OAuth 1.0 was the fact that we have multiple &quot;tokens&quot; th=
at are easy to mix up and use in the wrong place. For instance, when I help=
ed Dave Winer debug his implementation (see=A0<a href=3D"http://josephsmarr=
.com/2009/02/17/implementing-oauth-is-still-too-hard-but-it-doesnt-have-to-=
be/">http://josephsmarr.com/2009/02/17/implementing-oauth-is-still-too-hard=
-but-it-doesnt-have-to-be/</a>), the problem ended up being that he was pas=
sing his request-token instead of his access-token when making API requests=
 (they&#39;re both returned as oauth_token, after all). (So I&#39;d strongl=
y urge us to pick as disparate names for the various &quot;tokens&quot; in =
OAuth 2.0 as possible, and to not use similar variable names when returning=
 them, to minimize these chances of mix-up. It&#39;s probably also helpful =
if they look visually distinct, so it would be more obvious &quot;oh, you&#=
39;re using the wrong kind of token here&quot;, but that may be too hard to=
 enforce in practice.)<div>

<br></div><div>Thanks, js<br><br><div class=3D"gmail_quote">On Tue, Apr 20,=
 2010 at 8:04 AM, Eran Hammer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto=
:eran@hueniverse.com">eran@hueniverse.com</a>&gt;</span> wrote:<br><blockqu=
ote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc s=
olid;padding-left:1ex;">

There is an explanation (I&#39;m not defending it, just explaining).<br>
<br>
In the flow endpoint I chose &#39;access_token&#39; over token because of t=
he refresh token. It seems better to talk about two different kinds of toke=
ns than to have one generic &#39;token&#39; and one with special meaning &#=
39;refresh_token&#39;.<br>


<br>
The protected resource endpoint is the only place I agree requires a prefix=
 because it always intrudes on another namespace or platform and the likeli=
hood of a conflict is high. I used &#39;oauth_token&#39; instead of &#39;oa=
uth_access_token&#39; for brevity thinking that it should be trivial to fig=
ure out what to put there (the only other option is a refresh token which i=
sn&#39;t likely to be confused here).<br>


<br>
The header uses &#39;token&#39; because it is a generic authentication sche=
me which doesn&#39;t mandate you use the OAuth flows to get a token. This i=
s the only place I feel strongly about not changing it.<br>
<br>
Feel free to propose new names.<br>
<div class=3D"im"><br>
EHL<br>
<br>
&gt; -----Original Message-----<br>
&gt; From: <a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.org=
</a> [mailto:<a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.o=
rg</a>] On Behalf<br>
</div><div><div></div><div class=3D"h5">&gt; Of Luke Shepard<br>
&gt; Sent: Tuesday, April 20, 2010 12:46 AM<br>
&gt; To: <a href=3D"mailto:oauth@ietf.org">oauth@ietf.org</a><br>
&gt; Subject: [OAUTH-WG] Consistency in access token parameter<br>
&gt;<br>
&gt; There are potentially three names for access tokens in this spec:<br>
&gt;<br>
&gt; - token<br>
&gt; - access_token<br>
&gt; - oauth_token<br>
&gt;<br>
&gt; You hit the /oauth/access_token endpoint, and get back access_token=3D=
blah.<br>
&gt; Then you take that string and pass it to the protected resource as<br>
&gt; oauth_token=3Dblah.<br>
&gt;<br>
&gt; Developers that have prototyped things over here have found this to be=
<br>
&gt; confusing. It&#39;s simpler to just take the same named param everywhe=
re.<br>
&gt;<br>
&gt; I vote that one of two things happen:<br>
&gt;<br>
&gt; 1/ Return oauth_token from the access token endpoint.<br>
&gt; 2/ Accept access_token on the protected resource endpoint.<br>
&gt; 3/ Return &quot;token&quot; (and still &quot;refresh_token&quot;) from=
 the access_token<br>
&gt; endpoint, and accept &quot;token&quot; on the protected resource.<br>
&gt;<br>
&gt; I know there will be infinite debate about the right way to do this, b=
ut just<br>
&gt; wanted some thoughts for now. I will probably choose #2 as that seems =
most<br>
&gt; explicit, even though it&#39;s a few more characters.<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_bla=
nk">https://www.ietf.org/mailman/listinfo/oauth</a><br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br></div>

--00504502cec44e6d280484adc1ff--

From lshepard@facebook.com  Tue Apr 20 10:05:00 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B235228C1B9 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 10:05:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.062
X-Spam-Level: 
X-Spam-Status: No, score=-3.062 tagged_above=-999 required=5 tests=[AWL=0.202,  BAYES_00=-2.599, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tyYB2jhjEXFS for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 10:04:54 -0700 (PDT)
Received: from mailout-snc1.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 283CF28C13E for <oauth@ietf.org>; Tue, 20 Apr 2010 10:04:22 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.198]) by pp01.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3KH3q0u024028 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Tue, 20 Apr 2010 10:03:52 -0700
Received: from sc-hub06.TheFacebook.com (192.168.18.83) by sc-hub03.TheFacebook.com (192.168.18.198) with Microsoft SMTP Server (TLS) id 14.0.689.0; Tue, 20 Apr 2010 10:04:09 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub06.TheFacebook.com ([192.168.18.83]) with mapi; Tue, 20 Apr 2010 10:04:09 -0700
From: Luke Shepard <lshepard@facebook.com>
To: "jsmarr@stanfordalumni.org" <jsmarr@stanfordalumni.org>, Eran Hammer-Lahav <eran@hueniverse.com>
Date: Tue, 20 Apr 2010 10:04:06 -0700
Thread-Topic: [OAUTH-WG] Issue: prefixing parameters with oauth_
Thread-Index: Acrgo8rSKoVZCpVbQYe3E4TET4pH9AAB34jg
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66DEC0@SC-MBXC1.TheFacebook.com>
References: <14411661-A227-4DCA-86B3-A9C5FB8055D7@gmail.com> <4BCD31BF.5090701@stpeter.im> <0420973C-FE87-4969-9986-889173D74342@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F44B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <w2sc334d54e1004200908j99461f8egc1d19e90f2eb87c6@mail.gmail.com>
In-Reply-To: <w2sc334d54e1004200908j99461f8egc1d19e90f2eb87c6@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_2513A610118CC14C8E622C376C8DEC93D54D66DEC0SCMBXC1TheFac_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-20_07:2010-02-06, 2010-04-20, 2010-04-20 signatures=0
Cc: Marius Scurtescu <marius.scurtescu@gmail.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 17:05:00 -0000

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DEC0SCMBXC1TheFac_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

I know we are all identity geeks and love to know the protocol we're using,=
 but most developers will just want to get the auth token and be done with =
it. They don't care that they are using OAuth. There's no reason to beat th=
em over the head with it all over the place.

Having just implemented this, and now writing docs for it, I can say that I=
 have a pretty strong preference for no prefix. It makes things so much eas=
ier to read.


From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of J=
oseph Smarr
Sent: Tuesday, April 20, 2010 9:08 AM
To: Eran Hammer-Lahav
Cc: Marius Scurtescu; OAuth WG
Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_

I'm normally no fan of namespaces or other forms of needless complexity, an=
d it's true that PoCo dropped the pdata_ prefixes to all its query paramete=
rs that we'd originally proposed, but I do think there's something helpful =
and and clear about oauth_ because it makes it so clear which parameters ar=
e part of OAuth--it's visually concise and readable, without the mechanical=
 headaches of say XML namespaces. I'll agree that we can probably all learn=
 to live without it (assuming collisions are empirically rare and there isn=
't code that needs to easily glob "all oauth parameters, including any futu=
re ones", e.g. the way OpenID does for signing), but I still feel a bit que=
asy doing so, and it's not obvious to me how much simplicity/performance/et=
c we buy for dropping them, so my (weak) preference would be to keep them, =
but I won't fight too hard if there are lots of people passionate about dro=
pping them. :)

Thanks, js
On Tue, Apr 20, 2010 at 7:55 AM, Eran Hammer-Lahav <eran@hueniverse.com<mai=
lto:eran@hueniverse.com>> wrote:


> -----Original Message-----
> From: oauth-bounces@ietf.org<mailto:oauth-bounces@ietf.org> [mailto:oauth=
-bounces@ietf.org<mailto:oauth-bounces@ietf.org>] On Behalf
> Of John Kemp
> Sent: Tuesday, April 20, 2010 3:38 AM
> To: Peter Saint-Andre
> Cc: Marius Scurtescu; OAuth WG
> Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_
>
> On Apr 20, 2010, at 12:46 AM, Peter Saint-Andre wrote:
>
> > On 4/18/10 6:46 PM, Dick Hardt wrote:
> >
> >> Given the practice that the authorization endpoint and the
> >> redirect_uri can contain URI query parameters, then differentiating
> >> between application specific query parameters and OAuth protocol
> >> parameters by prefixing the OAuth parameters with oauth_ would seem
> a
> >> useful way to minimize conflicts.
> >
> > Can't application developers avoid conflicts by giving their
> > parameters names other than those already used in OAuth?
>
> Is every application developer (those using an OAuth library, or product)
> familiar with the names that are used in the OAuth spec?
First, the must be or how else would they interact with it or support their=
 developers. If they are installing a client and server products, their ven=
dor should make sure to provide a fully working solution.

The OAuth flow endpoints (as opposed to protected resource endpoints) are a=
n *application* endpoint. This is not some add-on protocol or an extension =
of existing framework, or a hack. This is a fully specified application API=
 which requires and deserves treatment like a separate, standalone applicat=
ion. This is not the case when accessing a protected resource which belongs=
 to another application.

It is odd to me that none of these arguments are made for other application=
 APIs such as Portable Contacts [1], Open Social [2], and others, all meant=
 to be implemented within the same platforms and servers as the OAuth flow =
endpoints. OpenSocial for example, is implemented by a wide range of differ=
ent platforms, but yet does not have an opensocial_ prefix. Are there repor=
ts of conflicts and deployment problems because of that?

The argument made for a prefix is that is *seems* to be useful. However, ex=
perience seems to point the other way that a lack of prefix does not break =
the web. If "seems to be useful" is the bar this working group is setting, =
we are going to end up with a much bigger, more complex specification.

EHL

[1] http://portablecontacts.net/draft-spec.html
[2] http://www.opensocial.org/Technical-Resources/opensocial-spec-v081/rest=
ful-protocol.html
_______________________________________________
OAuth mailing list
OAuth@ietf.org<mailto:OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth


--_000_2513A610118CC14C8E622C376C8DEC93D54D66DEC0SCMBXC1TheFac_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>I know we are all identity geeks and love to know the protoc=
ol
we&#8217;re using, but most developers will just want to get the auth token=
 and be
done with it. They don&#8217;t care that they are using OAuth. There&#8217;=
s no reason to
beat them over the head with it all over the place.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>Having just implemented this, and now writing docs for it, I=
 can
say that I have a pretty strong preference for no prefix. It makes things s=
o
much easier to read.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in'>

<p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma=
","sans-serif"'>From:</span></b><span
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> oauth-bounces=
@ietf.org
[mailto:oauth-bounces@ietf.org] <b>On Behalf Of </b>Joseph Smarr<br>
<b>Sent:</b> Tuesday, April 20, 2010 9:08 AM<br>
<b>To:</b> Eran Hammer-Lahav<br>
<b>Cc:</b> Marius Scurtescu; OAuth WG<br>
<b>Subject:</b> Re: [OAUTH-WG] Issue: prefixing parameters with oauth_<o:p>=
</o:p></span></p>

</div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

<p class=3DMsoNormal>I'm normally no fan of namespaces or other forms of ne=
edless
complexity, and it's true that PoCo dropped the pdata_ prefixes to all its
query parameters that we'd originally proposed, but I do think there's
something helpful and and clear about oauth_ because it makes it so clear w=
hich
parameters are part of OAuth--it's visually concise and readable, without t=
he
mechanical headaches of say XML namespaces. I'll agree that we can probably=
 all
learn to live without it (assuming collisions are empirically rare and ther=
e
isn't code that needs to easily glob &quot;all oauth parameters, including =
any
future ones&quot;, e.g. the way OpenID does for signing), but I still feel =
a
bit queasy doing so, and it's not obvious to me how much
simplicity/performance/etc we buy for dropping them, so my (weak) preferenc=
e
would be to keep them, but I won't fight too hard if there are lots of peop=
le
passionate about dropping them. :)<o:p></o:p></p>

<div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'>Thanks, js<o:p></o:p></=
p>

<div>

<p class=3DMsoNormal>On Tue, Apr 20, 2010 at 7:55 AM, Eran Hammer-Lahav &lt=
;<a
href=3D"mailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt; wrote:<o:p>=
</o:p></p>

<div>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><br>
<br>
&gt; -----Original Message-----<br>
&gt; From: <a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.org=
</a>
[mailto:<a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.org</a=
>] On
Behalf<br>
&gt; Of John Kemp<br>
&gt; Sent: Tuesday, April 20, 2010 3:38 AM<br>
&gt; To: Peter Saint-Andre<br>
&gt; Cc: Marius Scurtescu; OAuth WG<br>
&gt; Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_<br>
&gt;<br>
&gt; On Apr 20, 2010, at 12:46 AM, Peter Saint-Andre wrote:<br>
&gt;<br>
&gt; &gt; On 4/18/10 6:46 PM, Dick Hardt wrote:<br>
&gt; &gt;<br>
&gt; &gt;&gt; Given the practice that the authorization endpoint and the<br=
>
&gt; &gt;&gt; redirect_uri can contain URI query parameters, then
differentiating<br>
&gt; &gt;&gt; between application specific query parameters and OAuth proto=
col<br>
&gt; &gt;&gt; parameters by prefixing the OAuth parameters with oauth_ woul=
d
seem<br>
&gt; a<br>
&gt; &gt;&gt; useful way to minimize conflicts.<br>
&gt; &gt;<br>
&gt; &gt; Can't application developers avoid conflicts by giving their<br>
&gt; &gt; parameters names other than those already used in OAuth?<br>
&gt;<br>
&gt; Is every application developer (those using an OAuth library, or produ=
ct)<br>
&gt; familiar with the names that are used in the OAuth spec?<o:p></o:p></p=
>

</div>

<p class=3DMsoNormal>First, the must be or how else would they interact wit=
h it
or support their developers. If they are installing a client and server
products, their vendor should make sure to provide a fully working solution=
.<br>
<br>
The OAuth flow endpoints (as opposed to protected resource endpoints) are a=
n
*application* endpoint. This is not some add-on protocol or an extension of
existing framework, or a hack. This is a fully specified application API wh=
ich
requires and deserves treatment like a separate, standalone application. Th=
is
is not the case when accessing a protected resource which belongs to anothe=
r
application.<br>
<br>
It is odd to me that none of these arguments are made for other application
APIs such as Portable Contacts [1], Open Social [2], and others, all meant =
to
be implemented within the same platforms and servers as the OAuth flow
endpoints. OpenSocial for example, is implemented by a wide range of differ=
ent
platforms, but yet does not have an opensocial_ prefix. Are there reports o=
f
conflicts and deployment problems because of that?<br>
<br>
The argument made for a prefix is that is *seems* to be useful. However,
experience seems to point the other way that a lack of prefix does not brea=
k
the web. If &quot;seems to be useful&quot; is the bar this working group is
setting, we are going to end up with a much bigger, more complex specificat=
ion.<br>
<br>
EHL<br>
<br>
[1] <a href=3D"http://portablecontacts.net/draft-spec.html" target=3D"_blan=
k">http://portablecontacts.net/draft-spec.html</a><br>
[2] <a
href=3D"http://www.opensocial.org/Technical-Resources/opensocial-spec-v081/=
restful-protocol.html"
target=3D"_blank">http://www.opensocial.org/Technical-Resources/opensocial-=
spec-v081/restful-protocol.html</a><o:p></o:p></p>

<div>

<div>

<p class=3DMsoNormal>_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><o:p></o:p></p>

</div>

</div>

</div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

</div>

</div>

</body>

</html>

--_000_2513A610118CC14C8E622C376C8DEC93D54D66DEC0SCMBXC1TheFac_--

From eran@hueniverse.com  Tue Apr 20 10:11:19 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8B8083A63D3 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 10:11:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.473
X-Spam-Level: 
X-Spam-Status: No, score=-2.473 tagged_above=-999 required=5 tests=[AWL=0.125,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sUKDJrtCfZPW for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 10:11:09 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 312FF3A6851 for <oauth@ietf.org>; Tue, 20 Apr 2010 10:11:08 -0700 (PDT)
Received: (qmail 1265 invoked from network); 20 Apr 2010 17:10:59 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 20 Apr 2010 17:10:59 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Tue, 20 Apr 2010 10:10:56 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Luke Shepard <lshepard@facebook.com>, "jsmarr@stanfordalumni.org" <jsmarr@stanfordalumni.org>
Date: Tue, 20 Apr 2010 10:11:03 -0700
Thread-Topic: [OAUTH-WG] Issue: prefixing parameters with oauth_
Thread-Index: Acrgo8rSKoVZCpVbQYe3E4TET4pH9AAB34jgAAA82pA=
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F525@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <14411661-A227-4DCA-86B3-A9C5FB8055D7@gmail.com> <4BCD31BF.5090701@stpeter.im> <0420973C-FE87-4969-9986-889173D74342@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F44B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <w2sc334d54e1004200908j99461f8egc1d19e90f2eb87c6@mail.gmail.com> <2513A610118CC14C8E622C376C8DEC93D54D66DEC0@SC-MBXC1.TheFacebook.com>
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66DEC0@SC-MBXC1.TheFacebook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F525P3PW5EX1MB01E_"
MIME-Version: 1.0
Cc: Marius Scurtescu <marius.scurtescu@gmail.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 17:11:19 -0000

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F525P3PW5EX1MB01E_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

In an effort to move one:

Does anyone have a *blocking* objection to not adding a parameter name pref=
ix to the authorization and token endpoints? In other words, are you going =
to block the specification (ask the chairs not to issue a consensus call) i=
f it doesn't have a prefix?

EHL

From: Luke Shepard [mailto:lshepard@facebook.com]
Sent: Tuesday, April 20, 2010 10:04 AM
To: jsmarr@stanfordalumni.org; Eran Hammer-Lahav
Cc: Marius Scurtescu; OAuth WG
Subject: RE: [OAUTH-WG] Issue: prefixing parameters with oauth_

I know we are all identity geeks and love to know the protocol we're using,=
 but most developers will just want to get the auth token and be done with =
it. They don't care that they are using OAuth. There's no reason to beat th=
em over the head with it all over the place.

Having just implemented this, and now writing docs for it, I can say that I=
 have a pretty strong preference for no prefix. It makes things so much eas=
ier to read.


From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of J=
oseph Smarr
Sent: Tuesday, April 20, 2010 9:08 AM
To: Eran Hammer-Lahav
Cc: Marius Scurtescu; OAuth WG
Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_

I'm normally no fan of namespaces or other forms of needless complexity, an=
d it's true that PoCo dropped the pdata_ prefixes to all its query paramete=
rs that we'd originally proposed, but I do think there's something helpful =
and and clear about oauth_ because it makes it so clear which parameters ar=
e part of OAuth--it's visually concise and readable, without the mechanical=
 headaches of say XML namespaces. I'll agree that we can probably all learn=
 to live without it (assuming collisions are empirically rare and there isn=
't code that needs to easily glob "all oauth parameters, including any futu=
re ones", e.g. the way OpenID does for signing), but I still feel a bit que=
asy doing so, and it's not obvious to me how much simplicity/performance/et=
c we buy for dropping them, so my (weak) preference would be to keep them, =
but I won't fight too hard if there are lots of people passionate about dro=
pping them. :)

Thanks, js
On Tue, Apr 20, 2010 at 7:55 AM, Eran Hammer-Lahav <eran@hueniverse.com<mai=
lto:eran@hueniverse.com>> wrote:


> -----Original Message-----
> From: oauth-bounces@ietf.org<mailto:oauth-bounces@ietf.org> [mailto:oauth=
-bounces@ietf.org<mailto:oauth-bounces@ietf.org>] On Behalf
> Of John Kemp
> Sent: Tuesday, April 20, 2010 3:38 AM
> To: Peter Saint-Andre
> Cc: Marius Scurtescu; OAuth WG
> Subject: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_
>
> On Apr 20, 2010, at 12:46 AM, Peter Saint-Andre wrote:
>
> > On 4/18/10 6:46 PM, Dick Hardt wrote:
> >
> >> Given the practice that the authorization endpoint and the
> >> redirect_uri can contain URI query parameters, then differentiating
> >> between application specific query parameters and OAuth protocol
> >> parameters by prefixing the OAuth parameters with oauth_ would seem
> a
> >> useful way to minimize conflicts.
> >
> > Can't application developers avoid conflicts by giving their
> > parameters names other than those already used in OAuth?
>
> Is every application developer (those using an OAuth library, or product)
> familiar with the names that are used in the OAuth spec?
First, the must be or how else would they interact with it or support their=
 developers. If they are installing a client and server products, their ven=
dor should make sure to provide a fully working solution.

The OAuth flow endpoints (as opposed to protected resource endpoints) are a=
n *application* endpoint. This is not some add-on protocol or an extension =
of existing framework, or a hack. This is a fully specified application API=
 which requires and deserves treatment like a separate, standalone applicat=
ion. This is not the case when accessing a protected resource which belongs=
 to another application.

It is odd to me that none of these arguments are made for other application=
 APIs such as Portable Contacts [1], Open Social [2], and others, all meant=
 to be implemented within the same platforms and servers as the OAuth flow =
endpoints. OpenSocial for example, is implemented by a wide range of differ=
ent platforms, but yet does not have an opensocial_ prefix. Are there repor=
ts of conflicts and deployment problems because of that?

The argument made for a prefix is that is *seems* to be useful. However, ex=
perience seems to point the other way that a lack of prefix does not break =
the web. If "seems to be useful" is the bar this working group is setting, =
we are going to end up with a much bigger, more complex specification.

EHL

[1] http://portablecontacts.net/draft-spec.html
[2] http://www.opensocial.org/Technical-Resources/opensocial-spec-v081/rest=
ful-protocol.html
_______________________________________________
OAuth mailing list
OAuth@ietf.org<mailto:OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth


--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F525P3PW5EX1MB01E_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV=3D"Content-Type" CONTENT=
=3D"text/html; charset=3Dus-ascii"><meta name=3DGenerator content=3D"Micros=
oft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";}
span.EmailStyle17
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle18
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";
	font-family:"Tahoma","sans-serif";}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue vli=
nk=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span style=3D'f=
ont-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>In an eff=
ort to move one:<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'f=
ont-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbs=
p;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;fon=
t-family:"Calibri","sans-serif";color:#1F497D'>Does anyone have a *<b>block=
ing</b>* objection to not adding a parameter name prefix to the authorizati=
on and token endpoints? In other words, are you going to block the specific=
ation (ask the chairs not to issue a consensus call) if it doesn&#8217;t ha=
ve a prefix?<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-=
size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</=
o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-fa=
mily:"Calibri","sans-serif";color:#1F497D'>EHL<o:p></o:p></span></p><p clas=
s=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-s=
erif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div style=3D'border:none;=
border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div style=3D'=
border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p cl=
ass=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma","sa=
ns-serif"'>From:</span></b><span style=3D'font-size:10.0pt;font-family:"Tah=
oma","sans-serif"'> Luke Shepard [mailto:lshepard@facebook.com] <br><b>Sent=
:</b> Tuesday, April 20, 2010 10:04 AM<br><b>To:</b> jsmarr@stanfordalumni.=
org; Eran Hammer-Lahav<br><b>Cc:</b> Marius Scurtescu; OAuth WG<br><b>Subje=
ct:</b> RE: [OAUTH-WG] Issue: prefixing parameters with oauth_<o:p></o:p></=
span></p></div></div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DM=
soNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"=
;color:#1F497D'>I know we are all identity geeks and love to know the proto=
col we&#8217;re using, but most developers will just want to get the auth t=
oken and be done with it. They don&#8217;t care that they are using OAuth. =
There&#8217;s no reason to beat them over the head with it all over the pla=
ce.<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0=
pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></spa=
n></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Cal=
ibri","sans-serif";color:#1F497D'>Having just implemented this, and now wri=
ting docs for it, I can say that I have a pretty strong preference for no p=
refix. It makes things so much easier to read.<o:p></o:p></span></p><p clas=
s=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-s=
erif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span=
 style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D=
'><o:p>&nbsp;</o:p></span></p><div style=3D'border:none;border-top:solid #B=
5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=3DMsoNormal><b><span style=
=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><sp=
an style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> oauth-boun=
ces@ietf.org [mailto:oauth-bounces@ietf.org] <b>On Behalf Of </b>Joseph Sma=
rr<br><b>Sent:</b> Tuesday, April 20, 2010 9:08 AM<br><b>To:</b> Eran Hamme=
r-Lahav<br><b>Cc:</b> Marius Scurtescu; OAuth WG<br><b>Subject:</b> Re: [OA=
UTH-WG] Issue: prefixing parameters with oauth_<o:p></o:p></span></p></div>=
<p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>I'm normally=
 no fan of namespaces or other forms of needless complexity, and it's true =
that PoCo dropped the pdata_ prefixes to all its query parameters that we'd=
 originally proposed, but I do think there's something helpful and and clea=
r about oauth_ because it makes it so clear which parameters are part of OA=
uth--it's visually concise and readable, without the mechanical headaches o=
f say XML namespaces. I'll agree that we can probably all learn to live wit=
hout it (assuming collisions are empirically rare and there isn't code that=
 needs to easily glob &quot;all oauth parameters, including any future ones=
&quot;, e.g. the way OpenID does for signing), but I still feel a bit queas=
y doing so, and it's not obvious to me how much simplicity/performance/etc =
we buy for dropping them, so my (weak) preference would be to keep them, bu=
t I won't fight too hard if there are lots of people passionate about dropp=
ing them. :)<o:p></o:p></p><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><=
/div><div><p class=3DMsoNormal style=3D'margin-bottom:12.0pt'>Thanks, js<o:=
p></o:p></p><div><p class=3DMsoNormal>On Tue, Apr 20, 2010 at 7:55 AM, Eran=
 Hammer-Lahav &lt;<a href=3D"mailto:eran@hueniverse.com">eran@hueniverse.co=
m</a>&gt; wrote:<o:p></o:p></p><div><p class=3DMsoNormal style=3D'margin-bo=
ttom:12.0pt'><br><br>&gt; -----Original Message-----<br>&gt; From: <a href=
=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> [mailto:<a hr=
ef=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.org</a>] On Behalf<=
br>&gt; Of John Kemp<br>&gt; Sent: Tuesday, April 20, 2010 3:38 AM<br>&gt; =
To: Peter Saint-Andre<br>&gt; Cc: Marius Scurtescu; OAuth WG<br>&gt; Subjec=
t: Re: [OAUTH-WG] Issue: prefixing parameters with oauth_<br>&gt;<br>&gt; O=
n Apr 20, 2010, at 12:46 AM, Peter Saint-Andre wrote:<br>&gt;<br>&gt; &gt; =
On 4/18/10 6:46 PM, Dick Hardt wrote:<br>&gt; &gt;<br>&gt; &gt;&gt; Given t=
he practice that the authorization endpoint and the<br>&gt; &gt;&gt; redire=
ct_uri can contain URI query parameters, then differentiating<br>&gt; &gt;&=
gt; between application specific query parameters and OAuth protocol<br>&gt=
; &gt;&gt; parameters by prefixing the OAuth parameters with oauth_ would s=
eem<br>&gt; a<br>&gt; &gt;&gt; useful way to minimize conflicts.<br>&gt; &g=
t;<br>&gt; &gt; Can't application developers avoid conflicts by giving thei=
r<br>&gt; &gt; parameters names other than those already used in OAuth?<br>=
&gt;<br>&gt; Is every application developer (those using an OAuth library, =
or product)<br>&gt; familiar with the names that are used in the OAuth spec=
?<o:p></o:p></p></div><p class=3DMsoNormal>First, the must be or how else w=
ould they interact with it or support their developers. If they are install=
ing a client and server products, their vendor should make sure to provide =
a fully working solution.<br><br>The OAuth flow endpoints (as opposed to pr=
otected resource endpoints) are an *application* endpoint. This is not some=
 add-on protocol or an extension of existing framework, or a hack. This is =
a fully specified application API which requires and deserves treatment lik=
e a separate, standalone application. This is not the case when accessing a=
 protected resource which belongs to another application.<br><br>It is odd =
to me that none of these arguments are made for other application APIs such=
 as Portable Contacts [1], Open Social [2], and others, all meant to be imp=
lemented within the same platforms and servers as the OAuth flow endpoints.=
 OpenSocial for example, is implemented by a wide range of different platfo=
rms, but yet does not have an opensocial_ prefix. Are there reports of conf=
licts and deployment problems because of that?<br><br>The argument made for=
 a prefix is that is *seems* to be useful. However, experience seems to poi=
nt the other way that a lack of prefix does not break the web. If &quot;see=
ms to be useful&quot; is the bar this working group is setting, we are goin=
g to end up with a much bigger, more complex specification.<br><br>EHL<br><=
br>[1] <a href=3D"http://portablecontacts.net/draft-spec.html" target=3D"_b=
lank">http://portablecontacts.net/draft-spec.html</a><br>[2] <a href=3D"htt=
p://www.opensocial.org/Technical-Resources/opensocial-spec-v081/restful-pro=
tocol.html" target=3D"_blank">http://www.opensocial.org/Technical-Resources=
/opensocial-spec-v081/restful-protocol.html</a><o:p></o:p></p><div><div><p =
class=3DMsoNormal>_______________________________________________<br>OAuth =
mailing list<br><a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br><a =
href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">http=
s://www.ietf.org/mailman/listinfo/oauth</a><o:p></o:p></p></div></div></div=
><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div></div></div></body></html>=

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F525P3PW5EX1MB01E_--

From eran@hueniverse.com  Tue Apr 20 10:12:44 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8C6A63A68F8 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 10:12:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.474
X-Spam-Level: 
X-Spam-Status: No, score=-2.474 tagged_above=-999 required=5 tests=[AWL=0.124,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lG23gcZLreuc for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 10:12:37 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 2F74D3A6851 for <oauth@ietf.org>; Tue, 20 Apr 2010 10:12:31 -0700 (PDT)
Received: (qmail 17048 invoked from network); 20 Apr 2010 17:12:22 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 20 Apr 2010 17:12:21 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Tue, 20 Apr 2010 10:12:21 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: "jsmarr@stanfordalumni.org" <jsmarr@stanfordalumni.org>
Date: Tue, 20 Apr 2010 10:12:28 -0700
Thread-Topic: [OAUTH-WG] Consistency in access token parameter
Thread-Index: AcrgqGYk6w2KL3q2RliGTWsxMrxFzAABCnyQ
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F52A@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <4BCD3B85.3080809@lodderstedt.net> <2513A610118CC14C8E622C376C8DEC93D54D66DEAB@SC-MBXC1.TheFacebook.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F456@P3PW5EX1MB01.EX1.SECURESERVER.NET> <r2lc334d54e1004200941r3c3461c2va51384d26b3b5e5b@mail.gmail.com>
In-Reply-To: <r2lc334d54e1004200941r3c3461c2va51384d26b3b5e5b@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F52AP3PW5EX1MB01E_"
MIME-Version: 1.0
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Consistency in access token parameter
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 17:12:45 -0000

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F52AP3PW5EX1MB01E_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

I still don't know where you stand on the actual proposal. Is the spec curr=
ently confusing? If it is, please suggest alternatives.

EHL

From: Joseph Smarr [mailto:jsmarr@gmail.com]
Sent: Tuesday, April 20, 2010 9:42 AM
To: Eran Hammer-Lahav
Cc: Luke Shepard; oauth@ietf.org
Subject: Re: [OAUTH-WG] Consistency in access token parameter

In my experience, a frequent source of bugs/frustration for developers impl=
ementing OAuth 1.0 was the fact that we have multiple "tokens" that are eas=
y to mix up and use in the wrong place. For instance, when I helped Dave Wi=
ner debug his implementation (see http://josephsmarr.com/2009/02/17/impleme=
nting-oauth-is-still-too-hard-but-it-doesnt-have-to-be/), the problem ended=
 up being that he was passing his request-token instead of his access-token=
 when making API requests (they're both returned as oauth_token, after all)=
. (So I'd strongly urge us to pick as disparate names for the various "toke=
ns" in OAuth 2.0 as possible, and to not use similar variable names when re=
turning them, to minimize these chances of mix-up. It's probably also helpf=
ul if they look visually distinct, so it would be more obvious "oh, you're =
using the wrong kind of token here", but that may be too hard to enforce in=
 practice.)

Thanks, js
On Tue, Apr 20, 2010 at 8:04 AM, Eran Hammer-Lahav <eran@hueniverse.com<mai=
lto:eran@hueniverse.com>> wrote:
There is an explanation (I'm not defending it, just explaining).

In the flow endpoint I chose 'access_token' over token because of the refre=
sh token. It seems better to talk about two different kinds of tokens than =
to have one generic 'token' and one with special meaning 'refresh_token'.

The protected resource endpoint is the only place I agree requires a prefix=
 because it always intrudes on another namespace or platform and the likeli=
hood of a conflict is high. I used 'oauth_token' instead of 'oauth_access_t=
oken' for brevity thinking that it should be trivial to figure out what to =
put there (the only other option is a refresh token which isn't likely to b=
e confused here).

The header uses 'token' because it is a generic authentication scheme which=
 doesn't mandate you use the OAuth flows to get a token. This is the only p=
lace I feel strongly about not changing it.

Feel free to propose new names.

EHL

> -----Original Message-----
> From: oauth-bounces@ietf.org<mailto:oauth-bounces@ietf.org> [mailto:oauth=
-bounces@ietf.org<mailto:oauth-bounces@ietf.org>] On Behalf
> Of Luke Shepard
> Sent: Tuesday, April 20, 2010 12:46 AM
> To: oauth@ietf.org<mailto:oauth@ietf.org>
> Subject: [OAUTH-WG] Consistency in access token parameter
>
> There are potentially three names for access tokens in this spec:
>
> - token
> - access_token
> - oauth_token
>
> You hit the /oauth/access_token endpoint, and get back access_token=3Dbla=
h.
> Then you take that string and pass it to the protected resource as
> oauth_token=3Dblah.
>
> Developers that have prototyped things over here have found this to be
> confusing. It's simpler to just take the same named param everywhere.
>
> I vote that one of two things happen:
>
> 1/ Return oauth_token from the access token endpoint.
> 2/ Accept access_token on the protected resource endpoint.
> 3/ Return "token" (and still "refresh_token") from the access_token
> endpoint, and accept "token" on the protected resource.
>
> I know there will be infinite debate about the right way to do this, but =
just
> wanted some thoughts for now. I will probably choose #2 as that seems mos=
t
> explicit, even though it's a few more characters.
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org<mailto:OAuth@ietf.org>
> https://www.ietf.org/mailman/listinfo/oauth
_______________________________________________
OAuth mailing list
OAuth@ietf.org<mailto:OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth


--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F52AP3PW5EX1MB01E_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV=3D"Content-Type" CONTENT=
=3D"text/html; charset=3Dus-ascii"><meta name=3DGenerator content=3D"Micros=
oft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri","sans-serif";}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue vli=
nk=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span style=3D'f=
ont-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I still d=
on&#8217;t know where you stand on the actual proposal. Is the spec current=
ly confusing? If it is, please suggest alternatives.<o:p></o:p></span></p><=
p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","=
sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal=
><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#=
1F497D'>EHL<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-s=
ize:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o=
:p></span></p><div style=3D'border:none;border-left:solid blue 1.5pt;paddin=
g:0in 0in 0in 4.0pt'><div><div style=3D'border:none;border-top:solid #B5C4D=
F 1.0pt;padding:3.0pt 0in 0in 0in'><p class=3DMsoNormal><b><span style=3D'f=
ont-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span st=
yle=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Joseph Smarr [m=
ailto:jsmarr@gmail.com] <br><b>Sent:</b> Tuesday, April 20, 2010 9:42 AM<br=
><b>To:</b> Eran Hammer-Lahav<br><b>Cc:</b> Luke Shepard; oauth@ietf.org<br=
><b>Subject:</b> Re: [OAUTH-WG] Consistency in access token parameter<o:p><=
/o:p></span></p></div></div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p cl=
ass=3DMsoNormal>In my experience, a frequent source of bugs/frustration for=
 developers implementing OAuth 1.0 was the fact that we have multiple &quot=
;tokens&quot; that are easy to mix up and use in the wrong place. For insta=
nce, when I helped Dave Winer debug his implementation (see&nbsp;<a href=3D=
"http://josephsmarr.com/2009/02/17/implementing-oauth-is-still-too-hard-but=
-it-doesnt-have-to-be/">http://josephsmarr.com/2009/02/17/implementing-oaut=
h-is-still-too-hard-but-it-doesnt-have-to-be/</a>), the problem ended up be=
ing that he was passing his request-token instead of his access-token when =
making API requests (they're both returned as oauth_token, after all). (So =
I'd strongly urge us to pick as disparate names for the various &quot;token=
s&quot; in OAuth 2.0 as possible, and to not use similar variable names whe=
n returning them, to minimize these chances of mix-up. It's probably also h=
elpful if they look visually distinct, so it would be more obvious &quot;oh=
, you're using the wrong kind of token here&quot;, but that may be too hard=
 to enforce in practice.)<o:p></o:p></p><div><p class=3DMsoNormal><o:p>&nbs=
p;</o:p></p></div><div><p class=3DMsoNormal style=3D'margin-bottom:12.0pt'>=
Thanks, js<o:p></o:p></p><div><p class=3DMsoNormal>On Tue, Apr 20, 2010 at =
8:04 AM, Eran Hammer-Lahav &lt;<a href=3D"mailto:eran@hueniverse.com">eran@=
hueniverse.com</a>&gt; wrote:<o:p></o:p></p><p class=3DMsoNormal>There is a=
n explanation (I'm not defending it, just explaining).<br><br>In the flow e=
ndpoint I chose 'access_token' over token because of the refresh token. It =
seems better to talk about two different kinds of tokens than to have one g=
eneric 'token' and one with special meaning 'refresh_token'.<br><br>The pro=
tected resource endpoint is the only place I agree requires a prefix becaus=
e it always intrudes on another namespace or platform and the likelihood of=
 a conflict is high. I used 'oauth_token' instead of 'oauth_access_token' f=
or brevity thinking that it should be trivial to figure out what to put the=
re (the only other option is a refresh token which isn't likely to be confu=
sed here).<br><br>The header uses 'token' because it is a generic authentic=
ation scheme which doesn't mandate you use the OAuth flows to get a token. =
This is the only place I feel strongly about not changing it.<br><br>Feel f=
ree to propose new names.<o:p></o:p></p><div><p class=3DMsoNormal><br>EHL<b=
r><br>&gt; -----Original Message-----<br>&gt; From: <a href=3D"mailto:oauth=
-bounces@ietf.org">oauth-bounces@ietf.org</a> [mailto:<a href=3D"mailto:oau=
th-bounces@ietf.org">oauth-bounces@ietf.org</a>] On Behalf<o:p></o:p></p></=
div><div><div><p class=3DMsoNormal>&gt; Of Luke Shepard<br>&gt; Sent: Tuesd=
ay, April 20, 2010 12:46 AM<br>&gt; To: <a href=3D"mailto:oauth@ietf.org">o=
auth@ietf.org</a><br>&gt; Subject: [OAUTH-WG] Consistency in access token p=
arameter<br>&gt;<br>&gt; There are potentially three names for access token=
s in this spec:<br>&gt;<br>&gt; - token<br>&gt; - access_token<br>&gt; - oa=
uth_token<br>&gt;<br>&gt; You hit the /oauth/access_token endpoint, and get=
 back access_token=3Dblah.<br>&gt; Then you take that string and pass it to=
 the protected resource as<br>&gt; oauth_token=3Dblah.<br>&gt;<br>&gt; Deve=
lopers that have prototyped things over here have found this to be<br>&gt; =
confusing. It's simpler to just take the same named param everywhere.<br>&g=
t;<br>&gt; I vote that one of two things happen:<br>&gt;<br>&gt; 1/ Return =
oauth_token from the access token endpoint.<br>&gt; 2/ Accept access_token =
on the protected resource endpoint.<br>&gt; 3/ Return &quot;token&quot; (an=
d still &quot;refresh_token&quot;) from the access_token<br>&gt; endpoint, =
and accept &quot;token&quot; on the protected resource.<br>&gt;<br>&gt; I k=
now there will be infinite debate about the right way to do this, but just<=
br>&gt; wanted some thoughts for now. I will probably choose #2 as that see=
ms most<br>&gt; explicit, even though it's a few more characters.<br>&gt;<b=
r>&gt; _______________________________________________<br>&gt; OAuth mailin=
g list<br>&gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>&gt;=
 <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">=
https://www.ietf.org/mailman/listinfo/oauth</a><br>________________________=
_______________________<br>OAuth mailing list<br><a href=3D"mailto:OAuth@ie=
tf.org">OAuth@ietf.org</a><br><a href=3D"https://www.ietf.org/mailman/listi=
nfo/oauth" target=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a=
><o:p></o:p></p></div></div></div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p=
></div></div></div></body></html>=

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F52AP3PW5EX1MB01E_--

From eran@hueniverse.com  Tue Apr 20 10:24:41 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E7CC128C199 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 10:24:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.475
X-Spam-Level: 
X-Spam-Status: No, score=-2.475 tagged_above=-999 required=5 tests=[AWL=0.123,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id F03O9vkpkuDA for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 10:24:31 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id D344E28C0CF for <oauth@ietf.org>; Tue, 20 Apr 2010 10:23:26 -0700 (PDT)
Received: (qmail 9342 invoked from network); 20 Apr 2010 17:23:15 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 20 Apr 2010 17:23:15 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Tue, 20 Apr 2010 10:23:13 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: "jsmarr@stanfordalumni.org" <jsmarr@stanfordalumni.org>
Date: Tue, 20 Apr 2010 10:23:20 -0700
Thread-Topic: [OAUTH-WG] Issue: 'username' parameter proposal
Thread-Index: Acrgp6chsJRtO1QYQPCaEndCTogqLgABlzIg
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F533@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com> <C7F1C6AC.327EE%eran@hueniverse.com> <u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET> <o2wc8689b661004191716o69966d5di900c07737d3be568@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <z2xc334d54e1004200936s57f06dedt8e0e46df3480f8d4@mail.gmail.com>
In-Reply-To: <z2xc334d54e1004200936s57f06dedt8e0e46df3480f8d4@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F533P3PW5EX1MB01E_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 17:24:42 -0000

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F533P3PW5EX1MB01E_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

I'm not aware of anyone arguing against this feature. The only issue is a f=
ull security review before we add it to the spec. If one of the security ex=
perts here can spend a few minutes to review this, we can move forward and =
add it to the draft.

EHL

From: Joseph Smarr [mailto:jsmarr@gmail.com]
Sent: Tuesday, April 20, 2010 9:36 AM
To: Eran Hammer-Lahav
Cc: Evan Gilbert; OAuth WG
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal

Just to add some more context from experience, this "two users getting mixe=
d together" problem happens a lot in practice, esp. when you have a mix of =
server-side and client-side auth. For instance, we saw this in our Facebook=
 Connect integration in Plaxo--normally the user connects and Plaxo stores =
their session key in our databases, so when the user returns and logs in as=
 plaxo-user-123, we look it up and know that he's also facebook-user-456. B=
ut some of Facebook Connect's UI widgets just look at the browser cookies o=
n facebook.com<http://facebook.com>, where facebook-user-789 may be current=
ly logged in (happens all the time with shared computers at home). Thus we =
often had pages that pulled some Facebook info server-side (as facebook-use=
r-456) and some client-side (as facebook-user-789) and it was very confusin=
g and potentially harmful (e.g. easy to accidentally post a story to the wr=
ong account). The solution would be for Plaxo to be able to pass facebook-u=
ser-456 down to the JavaScript library, so it wouldn't just "silently auth"=
 as a different user--presumably, it would just treat it as if no one was l=
ogged into facebook, if the passed-in user is not logged in. I think this i=
s what Evan is proposing we enable for OAuth, especially if we want it to w=
ork client-side with immediate-mode (which I think we do).

Another related example of this problem we saw was with our photo-uploader =
plug-in inside Picasa Desktop for sharing photos on Plaxo. During the uploa=
d flow, it embeds a web browser, which lets you log in as plaxo-user-123, b=
ut when it's done uploading, it opens a default web browser, where you migh=
t be logged in as plaxo-user-456, leading again to a confusing mix-up of id=
entities. We solved this by appending the session-info of the user from the=
 embedded web browser on the URL of the main browser that gets opened, so i=
t can clobber the session as needed and maintain continuity of session.

Hope these experiences provide some useful and concrete context for evaluat=
ing whether/how to support a username parameter in OAuth.

Thanks, js
On Tue, Apr 20, 2010 at 8:08 AM, Eran Hammer-Lahav <eran@hueniverse.com<mai=
lto:eran@hueniverse.com>> wrote:
This attack is why the flow requires the client to present the callback it =
used again when getting the token.

EHL


From: Evan Gilbert [mailto:uidude@google.com<mailto:uidude@google.com>]
Sent: Monday, April 19, 2010 5:17 PM

To: Eran Hammer-Lahav
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal


On Mon, Apr 19, 2010 at 10:58 AM, Eran Hammer-Lahav <eran@hueniverse.com<ma=
ilto:eran@hueniverse.com>> wrote:
Thanks. That makes sense.

My concern is that the client will ask for a specific username but an attac=
ker will change that request before it hits the server. The server then ask=
s the (wrong) user to authenticate and returns a token. The client has no w=
ay of knowing it got an access token for the wrong user. Does requiring tha=
t the server returns the token with the username solves this? Is this a rea=
l issue?

This particular attack wasn't of concern to me, for a few of reasons:
- The request is HTTPS, hard to modify the request before it hits the serve=
r
- There are probably other, more dangerous attacks if you can modify reques=
t parameters (for example, you can modify the client_id and get the user to=
 authorize the wrong app)

I'm willing to be convinced otherwise

I have no objections to this proposal but wanted to see some discussion and=
 support from others before adding it to the spec.

EHL

From: Evan Gilbert [mailto:uidude@google.com<mailto:uidude@google.com>]
Sent: Monday, April 19, 2010 10:06 AM
To: Eran Hammer-Lahav
Cc: OAuth WG

Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal

User 1 is logged into Client site
User 2 is logged into IDP site

This can happen quite frequently, as client sites often have long-lived coo=
kies and may only be visited by one user on a shared computer.

Right now client site has no way to ask for a token for User 1, and end res=
ult will be that User 1 starts seeing User 2's data.

On Mon, Apr 19, 2010 at 8:37 AM, Eran Hammer-Lahav <eran@hueniverse.com<mai=
lto:eran@hueniverse.com>> wrote:
How can they both be logged in? I have never seen a case where two users ca=
n be both logged into to the same service at the same time...

EHL



On 4/19/10 8:33 AM, "Evan Gilbert" <uidude@google.com<http://uidude@google.=
com>> wrote:
More details on this enhancement.

Goal: Make sure you get an access token for the right user in immediate mod=
e.

Use case where we have problems if we don't have username parameter:

 1.  Bob is logged into a web site as bob@IDP.com<http://bob@IDP.com>.
 2.  Mary (his wife) is logged into IDP on the same computer as mary@IDP.co=
m<http://mary@IDP.com>
 3.  A request is made to get an access token via the User-Agent flow in im=
mediate mode (or with any redirect without prompting the user)
 4.  -ob now has an access token for Mary and (posts activities, schedules =
events, gets contacts) as Mary
 5.  Hilarity ensues

Secondary goal: Provide a hint for non-immediate mode

On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav <eran@hueniverse.com<ht=
tp://eran@hueniverse.com>> wrote:
Evan Gilbert proposed a 'username' request parameter to allow the client to
limit the end user to authenticate using the provided authorization server
identifier. The proposal has not been discussed or supported by others, and
has not received a security review.

Proposal: Obtain further discussion and support from others, as well as a
security review of the proposal. Otherwise, do nothing.

EHL

_______________________________________________
OAuth mailing list
OAuth@ietf.org<http://OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth




_______________________________________________
OAuth mailing list
OAuth@ietf.org<mailto:OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth


--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F533P3PW5EX1MB01E_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV=3D"Content-Type" CONTENT=
=3D"text/html; charset=3Dus-ascii"><meta name=3DGenerator content=3D"Micros=
oft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p
	{mso-style-priority:99;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";}
span.EmailStyle18
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";
	font-family:"Tahoma","sans-serif";}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri","sans-serif";}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:1616450495;
	mso-list-template-ids:1400805724;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue vli=
nk=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span style=3D'f=
ont-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I&#8217;m=
 not aware of anyone arguing against this feature. The only issue is a full=
 security review before we add it to the spec. If one of the security exper=
ts here can spend a few minutes to review this, we can move forward and add=
 it to the draft.<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'=
font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nb=
sp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;fo=
nt-family:"Calibri","sans-serif";color:#1F497D'>EHL<o:p></o:p></span></p><p=
 class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","s=
ans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div style=3D'border:=
none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div styl=
e=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>=
<p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma=
","sans-serif"'>From:</span></b><span style=3D'font-size:10.0pt;font-family=
:"Tahoma","sans-serif"'> Joseph Smarr [mailto:jsmarr@gmail.com] <br><b>Sent=
:</b> Tuesday, April 20, 2010 9:36 AM<br><b>To:</b> Eran Hammer-Lahav<br><b=
>Cc:</b> Evan Gilbert; OAuth WG<br><b>Subject:</b> Re: [OAUTH-WG] Issue: 'u=
sername' parameter proposal<o:p></o:p></span></p></div></div><p class=3DMso=
Normal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>Just to add some more cont=
ext from experience, this &quot;two users getting mixed together&quot; prob=
lem happens a lot in practice, esp. when you have a mix of server-side and =
client-side auth. For instance, we saw this in our Facebook Connect integra=
tion in Plaxo--normally the user connects and Plaxo stores their session ke=
y in our databases, so when the user returns and logs in as plaxo-user-123,=
 we look it up and know that he's also facebook-user-456. But some of Faceb=
ook Connect's UI widgets just look at the browser cookies on <a href=3D"htt=
p://facebook.com">facebook.com</a>, where facebook-user-789 may be currentl=
y logged in (happens all the time with shared computers at home). Thus we o=
ften had pages that pulled some Facebook info server-side (as facebook-user=
-456) and some client-side (as facebook-user-789) and it was very confusing=
 and potentially harmful (e.g. easy to accidentally post a story to the wro=
ng account). The solution would be for Plaxo to be able to pass facebook-us=
er-456 down to the JavaScript library, so it wouldn't just &quot;silently a=
uth&quot; as a different user--presumably, it would just treat it as if no =
one was logged into facebook, if the passed-in user is not logged in. I thi=
nk this is what Evan is proposing we enable for OAuth, especially if we wan=
t it to work client-side with immediate-mode (which I think we do).<o:p></o=
:p></p><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=
=3DMsoNormal>Another related example of this problem we saw was with our ph=
oto-uploader plug-in inside Picasa Desktop for sharing photos on Plaxo. Dur=
ing the upload flow, it embeds a web browser, which lets you log in as plax=
o-user-123, but when it's done uploading, it opens a default web browser, w=
here you might be logged in as plaxo-user-456, leading again to a confusing=
 mix-up of identities. We solved this by appending the session-info of the =
user from the embedded web browser on the URL of the main browser that gets=
 opened, so it can clobber the session as needed and maintain continuity of=
 session.<o:p></o:p></p></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></=
p></div><div><p class=3DMsoNormal>Hope these experiences provide some usefu=
l and concrete context for evaluating whether/how to support a username par=
ameter in OAuth.<o:p></o:p></p></div><div><p class=3DMsoNormal><o:p>&nbsp;<=
/o:p></p></div><div><p class=3DMsoNormal style=3D'margin-bottom:12.0pt'>Tha=
nks, js<o:p></o:p></p><div><p class=3DMsoNormal>On Tue, Apr 20, 2010 at 8:0=
8 AM, Eran Hammer-Lahav &lt;<a href=3D"mailto:eran@hueniverse.com">eran@hue=
niverse.com</a>&gt; wrote:<o:p></o:p></p><div><div><p class=3DMsoNormal sty=
le=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style=3D'fo=
nt-size:11.0pt;color:#1F497D'>This attack is why the flow requires the clie=
nt to present the callback it used again when getting the token.</span><o:p=
></o:p></p><p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin=
-bottom-alt:auto'><span style=3D'font-size:11.0pt;color:#1F497D'>&nbsp;</sp=
an><o:p></o:p></p><p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso=
-margin-bottom-alt:auto'><span style=3D'font-size:11.0pt;color:#1F497D'>EHL=
</span><o:p></o:p></p><p class=3DMsoNormal style=3D'mso-margin-top-alt:auto=
;mso-margin-bottom-alt:auto'><span style=3D'font-size:11.0pt;color:#1F497D'=
>&nbsp;</span><o:p></o:p></p><p class=3DMsoNormal style=3D'mso-margin-top-a=
lt:auto;mso-margin-bottom-alt:auto'><span style=3D'font-size:11.0pt;color:#=
1F497D'>&nbsp;</span><o:p></o:p></p><div style=3D'border:none;border-left:s=
olid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div style=3D'border:none;b=
order-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=3DMsoNorm=
al style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b><span st=
yle=3D'font-size:10.0pt'>From:</span></b><span style=3D'font-size:10.0pt'> =
Evan Gilbert [mailto:<a href=3D"mailto:uidude@google.com" target=3D"_blank"=
>uidude@google.com</a>] <br><b>Sent:</b> Monday, April 19, 2010 5:17 PM</sp=
an><o:p></o:p></p><div><div><p class=3DMsoNormal><br><b>To:</b> Eran Hammer=
-Lahav<br><b>Cc:</b> OAuth WG<br><b>Subject:</b> Re: [OAUTH-WG] Issue: 'use=
rname' parameter proposal<o:p></o:p></p></div></div></div></div><div><div><=
p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:=
auto'>&nbsp;<o:p></o:p></p><p class=3DMsoNormal style=3D'mso-margin-top-alt=
:auto;margin-bottom:12.0pt'>&nbsp;<o:p></o:p></p><div><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>On Mon, Apr 19=
, 2010 at 10:58 AM, Eran Hammer-Lahav &lt;<a href=3D"mailto:eran@hueniverse=
.com" target=3D"_blank">eran@hueniverse.com</a>&gt; wrote:<o:p></o:p></p><d=
iv><div><p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bo=
ttom-alt:auto'><span style=3D'font-size:11.0pt;color:#1F497D'>Thanks. That =
makes sense.</span><o:p></o:p></p><p class=3DMsoNormal style=3D'mso-margin-=
top-alt:auto;mso-margin-bottom-alt:auto'><span style=3D'font-size:11.0pt;co=
lor:#1F497D'>&nbsp;</span><o:p></o:p></p><p class=3DMsoNormal style=3D'mso-=
margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style=3D'font-size:11=
.0pt;color:#1F497D'>My concern is that the client will ask for a specific u=
sername but an attacker will change that request before it hits the server.=
 The server then asks the (wrong) user to authenticate and returns a token.=
 The client has no way of knowing it got an access token for the wrong user=
. Does requiring that the server returns the token with the username solves=
 this? Is this a real issue?</span><o:p></o:p></p></div></div><div><p class=
=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&=
nbsp;<o:p></o:p></p></div><div><p class=3DMsoNormal style=3D'mso-margin-top=
-alt:auto;mso-margin-bottom-alt:auto'>This particular attack wasn't of conc=
ern to me, for a few of reasons:<o:p></o:p></p></div><div><p class=3DMsoNor=
mal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>- The requ=
est is HTTPS, hard to modify the request before it hits the server<o:p></o:=
p></p></div><div><p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-=
margin-bottom-alt:auto'>- There are probably other, more dangerous attacks =
if you can modify request parameters (for example, you can modify the clien=
t_id and get the user to authorize the wrong app)<o:p></o:p></p></div><div>=
<p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt=
:auto'><br>I'm willing to be convinced otherwise<o:p></o:p></p></div><block=
quote style=3D'border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in =
0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom=
:5.0pt'><div><div><p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso=
-margin-bottom-alt:auto'><span style=3D'font-size:11.0pt;color:#1F497D'>&nb=
sp;</span><o:p></o:p></p><p class=3DMsoNormal style=3D'mso-margin-top-alt:a=
uto;mso-margin-bottom-alt:auto'><span style=3D'font-size:11.0pt;color:#1F49=
7D'>I have no objections to this proposal but wanted to see some discussion=
 and support from others before adding it to the spec.</span><o:p></o:p></p=
><p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-al=
t:auto'><span style=3D'font-size:11.0pt;color:#1F497D'>&nbsp;</span><o:p></=
o:p></p><p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bo=
ttom-alt:auto'><span style=3D'font-size:11.0pt;color:#1F497D'>EHL</span><o:=
p></o:p></p><p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margi=
n-bottom-alt:auto'><span style=3D'font-size:11.0pt;color:#1F497D'>&nbsp;</s=
pan><o:p></o:p></p><div style=3D'border:none;border-left:solid blue 1.5pt;p=
adding:0in 0in 0in 4.0pt'><div><div style=3D'border:none;border-top:solid #=
B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=3DMsoNormal style=3D'mso-m=
argin-top-alt:auto;mso-margin-bottom-alt:auto'><b><span style=3D'font-size:=
10.0pt'>From:</span></b><span style=3D'font-size:10.0pt'> Evan Gilbert [mai=
lto:<a href=3D"mailto:uidude@google.com" target=3D"_blank">uidude@google.co=
m</a>] <br><b>Sent:</b> Monday, April 19, 2010 10:06 AM<br><b>To:</b> Eran =
Hammer-Lahav<br><b>Cc:</b> OAuth WG</span><o:p></o:p></p><div><p class=3DMs=
oNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><br><b=
>Subject:</b> Re: [OAUTH-WG] Issue: 'username' parameter proposal<o:p></o:p=
></p></div></div></div><p class=3DMsoNormal style=3D'mso-margin-top-alt:aut=
o;mso-margin-bottom-alt:auto'>&nbsp;<o:p></o:p></p><p class=3DMsoNormal sty=
le=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>User 1 is logged =
into Client site<o:p></o:p></p><div><div><div><p class=3DMsoNormal style=3D=
'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>User 2 is logged into =
IDP site<o:p></o:p></p></div><div><p class=3DMsoNormal style=3D'mso-margin-=
top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;<o:p></o:p></p></div><div><p=
 class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:a=
uto'>This can happen quite frequently, as client sites often have long-live=
d cookies and may only be visited by one user on a shared computer.<o:p></o=
:p></p></div><div><p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso=
-margin-bottom-alt:auto'>&nbsp;<o:p></o:p></p></div><div><p class=3DMsoNorm=
al style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Right now c=
lient site has no way to ask for a token for User 1, and end result will be=
 that User 1 starts seeing User 2's data.<o:p></o:p></p></div><div><div><di=
v><div><p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bot=
tom-alt:auto'>&nbsp;<o:p></o:p></p><div><p class=3DMsoNormal style=3D'mso-m=
argin-top-alt:auto;mso-margin-bottom-alt:auto'>On Mon, Apr 19, 2010 at 8:37=
 AM, Eran Hammer-Lahav &lt;<a href=3D"mailto:eran@hueniverse.com" target=3D=
"_blank">eran@hueniverse.com</a>&gt; wrote:<o:p></o:p></p><div><p class=3DM=
soNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span=
 style=3D'font-size:11.0pt'>How can they both be logged in? I have never se=
en a case where two users can be both logged into to the same service at th=
e same time...<br><span style=3D'color:#888888'><br>EHL</span></span><o:p><=
/o:p></p><div><div><p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;ma=
rgin-bottom:12.0pt'><span style=3D'font-size:11.0pt'><br><br><br>On 4/19/10=
 8:33 AM, &quot;Evan Gilbert&quot; &lt;<a href=3D"http://uidude@google.com"=
 target=3D"_blank">uidude@google.com</a>&gt; wrote:</span><o:p></o:p></p></=
div></div><div><div><blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0=
pt'><p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom=
-alt:auto'><span style=3D'font-size:11.0pt'>More details on this enhancemen=
t.<br><br>Goal: Make sure you get an access token for the right user in imm=
ediate mode.<br><br>Use case where we have problems if we don't have userna=
me parameter:</span><o:p></o:p></p><ol start=3D1 type=3D1><li class=3DMsoNo=
rmal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l=
0 level1 lfo1'><span style=3D'font-size:11.0pt'>Bob is logged into a web si=
te as <a href=3D"http://bob@IDP.com" target=3D"_blank">bob@IDP.com</a>. </s=
pan><o:p></o:p></li><li class=3DMsoNormal style=3D'mso-margin-top-alt:auto;=
mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1'><span style=3D'font-siz=
e:11.0pt'>Mary (his wife) is logged into IDP on the same computer as <a hre=
f=3D"http://mary@IDP.com" target=3D"_blank">mary@IDP.com</a> </span><o:p></=
o:p></li><li class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-=
bottom-alt:auto;mso-list:l0 level1 lfo1'><span style=3D'font-size:11.0pt'>A=
 request is made to get an access token via the User-Agent flow in immediat=
e mode (or with any redirect without prompting the user) </span><o:p></o:p>=
</li><li class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bott=
om-alt:auto;mso-list:l0 level1 lfo1'><span style=3D'font-size:11.0pt'>-ob n=
ow has an access token for Mary and (posts activities, schedules events, ge=
ts contacts) as Mary </span><o:p></o:p></li><li class=3DMsoNormal style=3D'=
mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1'=
><span style=3D'font-size:11.0pt'>Hilarity ensues</span><o:p></o:p></li></o=
l><p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto'><span style=3D'font-size:11.0pt'><br>Secondary goal: Provide a hin=
t for non-immediate mode<br><br>On Thu, Apr 15, 2010 at 11:55 AM, Eran Hamm=
er-Lahav &lt;<a href=3D"http://eran@hueniverse.com" target=3D"_blank">eran@=
hueniverse.com</a>&gt; wrote:</span><o:p></o:p></p><p class=3DMsoNormal sty=
le=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style=3D'fo=
nt-size:11.0pt'>Evan Gilbert proposed a 'username' request parameter to all=
ow the client to<br>limit the end user to authenticate using the provided a=
uthorization server<br>identifier. The proposal has not been discussed or s=
upported by others, and<br>has not received a security review.<br><br>Propo=
sal: Obtain further discussion and support from others, as well as a<br>sec=
urity review of the proposal. Otherwise, do nothing.<br><br>EHL<br><br>____=
___________________________________________<br>OAuth mailing list<br><a hre=
f=3D"http://OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br><a href=
=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">https://=
www.ietf.org/mailman/listinfo/oauth</a></span><o:p></o:p></p><p class=3DMso=
Normal style=3D'mso-margin-top-alt:auto;margin-bottom:12.0pt'>&nbsp;<o:p></=
o:p></p></blockquote></div></div></div></div><p class=3DMsoNormal style=3D'=
mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;<o:p></o:p></p></=
div></div></div></div></div></div></div></div></div></blockquote></div><p c=
lass=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:aut=
o'>&nbsp;<o:p></o:p></p></div></div></div></div></div><p class=3DMsoNormal =
style=3D'margin-bottom:12.0pt'><br>________________________________________=
_______<br>OAuth mailing list<br><a href=3D"mailto:OAuth@ietf.org">OAuth@ie=
tf.org</a><br><a href=3D"https://www.ietf.org/mailman/listinfo/oauth" targe=
t=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><o:p></o:p></p>=
</div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div></div></div></body></=
html>=

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F533P3PW5EX1MB01E_--

From beaton@google.com  Tue Apr 20 11:03:48 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1995A3A6A53 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 11:03:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level: 
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id e1cooUOxOUzH for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 11:03:47 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 2074B3A67E5 for <oauth@ietf.org>; Tue, 20 Apr 2010 11:03:47 -0700 (PDT)
Received: from hpaq12.eem.corp.google.com (hpaq12.eem.corp.google.com [10.3.21.12]) by smtp-out.google.com with ESMTP id o3KI3Ys9017614 for <oauth@ietf.org>; Tue, 20 Apr 2010 11:03:34 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271786615; bh=GcYLx+F5S74V+o1X1eNbz4AONLo=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type:Content-Transfer-Encoding; b=COvMwPWM8kbYhs7lJCsUe0w3os4SEj4UYeRxvCq3RdGFao43XjA4kg1OXyvjEcVEM vpw6MqBsF1eKJXyqBvW3w==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:content-transfer-encoding:x-system-of-record; b=YJcdgzYnhv4b6L6eIoAUL0m98A0nhYnYRtNqbspxs92zjy9njYCwyc+2ptyuyfDyo L1U1ViM1U+VwsNeB24R/A==
Received: from pzk10 (pzk10.prod.google.com [10.243.19.138]) by hpaq12.eem.corp.google.com with ESMTP id o3KI3VuQ007437 for <oauth@ietf.org>; Tue, 20 Apr 2010 20:03:33 +0200
Received: by pzk10 with SMTP id 10so897108pzk.20 for <oauth@ietf.org>; Tue, 20 Apr 2010 11:03:31 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.142.202.10 with HTTP; Tue, 20 Apr 2010 11:03:31 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F533@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com> <C7F1C6AC.327EE%eran@hueniverse.com> <u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET> <o2wc8689b661004191716o69966d5di900c07737d3be568@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <z2xc334d54e1004200936s57f06dedt8e0e46df3480f8d4@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F533@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Date: Tue, 20 Apr 2010 11:03:31 -0700
Received: by 10.142.247.28 with SMTP id u28mr3152968wfh.69.1271786611260; Tue,  20 Apr 2010 11:03:31 -0700 (PDT)
Message-ID: <s2odaf5b9571004201103w17ade392j91727ced1dc39072@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: "jsmarr@stanfordalumni.org" <jsmarr@stanfordalumni.org>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 18:03:48 -0000

On Tue, Apr 20, 2010 at 10:23 AM, Eran Hammer-Lahav <eran@hueniverse.com> w=
rote:
> I=92m not aware of anyone arguing against this feature. The only issue is=
 a
> full security review before we add it to the spec. If one of the security
> experts here can spend a few minutes to review this, we can move forward =
and
> add it to the draft.

I'd like to see some solutions mature in the wild.  Once we figure out
best practices in the real world, it'll be a lot easier to put good
policy on paper.

I just don't think we have a solid answer, and I don't want something
ending up in the spec that we will regret later.

Cheers,
Brian

From sayrer@gmail.com  Tue Apr 20 11:05:50 2010
Return-Path: <sayrer@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7A2773A67E5 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 11:05:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.74
X-Spam-Level: 
X-Spam-Status: No, score=-2.74 tagged_above=-999 required=5 tests=[BAYES_20=-0.74, GB_I_LETTER=-2]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aL226QWMBtSl for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 11:05:49 -0700 (PDT)
Received: from mail-qy0-f181.google.com (mail-qy0-f181.google.com [209.85.221.181]) by core3.amsl.com (Postfix) with ESMTP id 4F58E3A67A5 for <oauth@ietf.org>; Tue, 20 Apr 2010 11:05:49 -0700 (PDT)
Received: by qyk11 with SMTP id 11so6844723qyk.13 for <oauth@ietf.org>; Tue, 20 Apr 2010 11:05:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:received:message-id :subject:from:to:content-type; bh=W9GdarYd7L82dWvOC3j3vprql/w34yJ5HnG2osEk+YU=; b=oSDwKTy4bgIefA9z55zT51Otvpn3sPlV8fLeznDhF0Qy8ttOQkkYyvHZFD9csjhS2Y S1c2qprnOS8a7B6/0bTQs/d7MyNe10CMJKZV93l9EdXQHxrjvwHpiYbLUnEKRxExii5U D3y/+KRr+bBmuKlf/F2ENW9ohNZBX+1qiOlhs=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=JE7V0K5g3Uai39Jn6o3p7rcXGSeeNVazxsJDb6a11t7O8hrwqIlQAhl3Jn5lc0iJ5h 8eSegtIUYkiI0o3YI9080nSvKmtcjpsfeXCq8EyV12I1by5q0yMnKPQPsRxXczYHE33+ 0OmIcp7uLHUSZlnrJN80KXYgwMxTUu8DLa4rg=
MIME-Version: 1.0
Received: by 10.229.99.142 with HTTP; Tue, 20 Apr 2010 11:05:37 -0700 (PDT)
Date: Tue, 20 Apr 2010 14:05:37 -0400
Received: by 10.229.215.72 with SMTP id hd8mr60850qcb.43.1271786737386; Tue,  20 Apr 2010 11:05:37 -0700 (PDT)
Message-ID: <i2p68fba5c51004201105g88f8dadfqfb65f515da0c3e70@mail.gmail.com>
From: Robert Sayre <sayrer@gmail.com>
To: oauth@ietf.org
Content-Type: text/plain; charset=ISO-8859-1
Subject: [OAUTH-WG] Internationalization
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 18:05:50 -0000

Having examined the draft on github, it looks to me like the document
should be much more specific about the character encoding of
parameters that require internationalization. These include username,
password, and realm. I see a UTF-8 reference in the footnotes, but it
isn't used anywhere in the draft.

RFC2617 really drops the ball on this, so we need to be careful when
we reference it.

Since this data needs to be passed over HTTP request lines and
headers, it needs to be ASCII.

That suggests specifying something like the text below for parameters
requiring internationalization:

> The username/password/realm/etc parameter is a character normalized UTF-8 string encoded as Modified Base64 for URLs.

-- 

Robert Sayre

"I would have written a shorter letter, but I did not have the time."

From eran@hueniverse.com  Tue Apr 20 11:17:15 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 596BB3A67D3 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 11:17:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.476
X-Spam-Level: 
X-Spam-Status: No, score=-2.476 tagged_above=-999 required=5 tests=[AWL=0.123,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CpGkNsGeePeQ for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 11:17:14 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id D06A828C1AA for <oauth@ietf.org>; Tue, 20 Apr 2010 11:16:36 -0700 (PDT)
Received: (qmail 17146 invoked from network); 20 Apr 2010 18:16:26 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 20 Apr 2010 18:16:26 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Tue, 20 Apr 2010 11:16:16 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Brian Eaton <beaton@google.com>
Date: Tue, 20 Apr 2010 11:16:23 -0700
Thread-Topic: [OAUTH-WG] Issue: 'username' parameter proposal
Thread-Index: Acrgs9m9P4b44bKcQYu/5b5WmmQKtgAAbR7Q
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F585@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com> <C7F1C6AC.327EE%eran@hueniverse.com> <u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET> <o2wc8689b661004191716o69966d5di900c07737d3be568@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <z2xc334d54e1004200936s57f06dedt8e0e46df3480f8d4@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F533@P3PW5EX1MB01.EX1.SECURESERVER.NET> <s2odaf5b9571004201103w17ade392j91727ced1dc39072@mail.gmail.com>
In-Reply-To: <s2odaf5b9571004201103w17ade392j91727ced1dc39072@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "jsmarr@stanfordalumni.org" <jsmarr@stanfordalumni.org>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 18:17:15 -0000

Is that an objection to including a username parameter in the spec?

EHL

> -----Original Message-----
> From: Brian Eaton [mailto:beaton@google.com]
> Sent: Tuesday, April 20, 2010 11:04 AM
> To: Eran Hammer-Lahav
> Cc: jsmarr@stanfordalumni.org; OAuth WG
> Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
>=20
> On Tue, Apr 20, 2010 at 10:23 AM, Eran Hammer-Lahav
> <eran@hueniverse.com> wrote:
> > I'm not aware of anyone arguing against this feature. The only issue
> > is a full security review before we add it to the spec. If one of the
> > security experts here can spend a few minutes to review this, we can
> > move forward and add it to the draft.
>=20
> I'd like to see some solutions mature in the wild.  Once we figure out be=
st
> practices in the real world, it'll be a lot easier to put good policy on =
paper.
>=20
> I just don't think we have a solid answer, and I don't want something end=
ing
> up in the spec that we will regret later.
>=20
> Cheers,
> Brian

From beaton@google.com  Tue Apr 20 11:22:14 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 97A6C3A6A53 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 11:22:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.977
X-Spam-Level: 
X-Spam-Status: No, score=-101.977 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Wy9tsjNqxfxk for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 11:22:13 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 4772F28C1D1 for <oauth@ietf.org>; Tue, 20 Apr 2010 11:20:12 -0700 (PDT)
Received: from hpaq5.eem.corp.google.com (hpaq5.eem.corp.google.com [10.3.21.5]) by smtp-out.google.com with ESMTP id o3KIJrFx032516 for <oauth@ietf.org>; Tue, 20 Apr 2010 20:19:53 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271787593; bh=PBNO2G9I7ULCbWWPrIFMgR+A2O4=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=J4WvpWjvqeO+WgrX7koce9R3XSmTVB00OWswsgFYO04OmQ0E498HsgCMkwiW+ebWB RmpL/kanvf9E2TADX4V6Q==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=ASbVtFjkKnBR5bFWGfASXffmcMPca2hH7RqHMxH/4JtpRjuyCZqlyEvtaRuR/r9cr HC4IbTYeKUydta9zhw1Nw==
Received: from pvg7 (pvg7.prod.google.com [10.241.210.135]) by hpaq5.eem.corp.google.com with ESMTP id o3KIJpbJ011469 for <oauth@ietf.org>; Tue, 20 Apr 2010 20:19:51 +0200
Received: by pvg7 with SMTP id 7so4081881pvg.7 for <oauth@ietf.org>; Tue, 20 Apr 2010 11:19:51 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.142.202.10 with HTTP; Tue, 20 Apr 2010 11:19:50 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F585@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com> <C7F1C6AC.327EE%eran@hueniverse.com> <u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET> <o2wc8689b661004191716o69966d5di900c07737d3be568@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <z2xc334d54e1004200936s57f06dedt8e0e46df3480f8d4@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F533@P3PW5EX1MB01.EX1.SECURESERVER.NET> <s2odaf5b9571004201103w17ade392j91727ced1dc39072@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F585@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Date: Tue, 20 Apr 2010 11:19:50 -0700
Received: by 10.115.113.22 with SMTP id q22mr1948135wam.62.1271787590617; Tue,  20 Apr 2010 11:19:50 -0700 (PDT)
Message-ID: <y2idaf5b9571004201119q62fbc5ffy65e846288d0a59c3@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: "jsmarr@stanfordalumni.org" <jsmarr@stanfordalumni.org>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 18:22:14 -0000

On Tue, Apr 20, 2010 at 11:16 AM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> Is that an objection to including a username parameter in the spec?

Damn skippy.

From torsten@lodderstedt.net  Tue Apr 20 11:55:12 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2A8A33A6B94 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 11:55:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.02
X-Spam-Level: 
X-Spam-Status: No, score=-2.02 tagged_above=-999 required=5 tests=[AWL=0.228,  BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lkqyHbiIo-EL for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 11:55:04 -0700 (PDT)
Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.18.14]) by core3.amsl.com (Postfix) with ESMTP id 8B70F3A6B93 for <oauth@ietf.org>; Tue, 20 Apr 2010 11:54:48 -0700 (PDT)
Received: from p4fff22c1.dip.t-dialin.net ([79.255.34.193] helo=[127.0.0.1]) by smtprelay02.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O4Iai-00024M-W6; Tue, 20 Apr 2010 20:54:37 +0200
Message-ID: <4BCDF86C.9080003@lodderstedt.net>
Date: Tue, 20 Apr 2010 20:54:36 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com>	<C7F1C6AC.327EE%eran@hueniverse.com>	<u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<o2wc8689b661004191716o69966d5di900c07737d3be568@mail.gmail.com>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7F45A@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<z2xc334d54e1004200936s57f06dedt8e0e46df3480f8d4@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F533@P3PW5EX1MB01.EX1.SECURESERVER.NET>
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F533@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Content-Type: multipart/alternative; boundary="------------000706080300050900020101"
X-Df-Sender: 141509
Cc: "jsmarr@stanfordalumni.org" <jsmarr@stanfordalumni.org>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 18:55:12 -0000

This is a multi-part message in MIME format.
--------------000706080300050900020101
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

In my experiences, such a review takes much longer than a few minutes.

I think the whole specification should be subject to a comprehensive and 
in-depth security analysis (threat modeling, counter measures and so 
on). So why not adding this parameter and examine its implications in 
this context?

regards,
Torsten.

Am 20.04.2010 19:23, schrieb Eran Hammer-Lahav:
>
> I'm not aware of anyone arguing against this feature. The only issue 
> is a full security review before we add it to the spec. If one of the 
> security experts here can spend a few minutes to review this, we can 
> move forward and add it to the draft.
>
> EHL
>
> *From:* Joseph Smarr [mailto:jsmarr@gmail.com]
> *Sent:* Tuesday, April 20, 2010 9:36 AM
> *To:* Eran Hammer-Lahav
> *Cc:* Evan Gilbert; OAuth WG
> *Subject:* Re: [OAUTH-WG] Issue: 'username' parameter proposal
>
> Just to add some more context from experience, this "two users getting 
> mixed together" problem happens a lot in practice, esp. when you have 
> a mix of server-side and client-side auth. For instance, we saw this 
> in our Facebook Connect integration in Plaxo--normally the user 
> connects and Plaxo stores their session key in our databases, so when 
> the user returns and logs in as plaxo-user-123, we look it up and know 
> that he's also facebook-user-456. But some of Facebook Connect's UI 
> widgets just look at the browser cookies on facebook.com 
> <http://facebook.com>, where facebook-user-789 may be currently logged 
> in (happens all the time with shared computers at home). Thus we often 
> had pages that pulled some Facebook info server-side (as 
> facebook-user-456) and some client-side (as facebook-user-789) and it 
> was very confusing and potentially harmful (e.g. easy to accidentally 
> post a story to the wrong account). The solution would be for Plaxo to 
> be able to pass facebook-user-456 down to the JavaScript library, so 
> it wouldn't just "silently auth" as a different user--presumably, it 
> would just treat it as if no one was logged into facebook, if the 
> passed-in user is not logged in. I think this is what Evan is 
> proposing we enable for OAuth, especially if we want it to work 
> client-side with immediate-mode (which I think we do).
>
> Another related example of this problem we saw was with our 
> photo-uploader plug-in inside Picasa Desktop for sharing photos on 
> Plaxo. During the upload flow, it embeds a web browser, which lets you 
> log in as plaxo-user-123, but when it's done uploading, it opens a 
> default web browser, where you might be logged in as plaxo-user-456, 
> leading again to a confusing mix-up of identities. We solved this by 
> appending the session-info of the user from the embedded web browser 
> on the URL of the main browser that gets opened, so it can clobber the 
> session as needed and maintain continuity of session.
>
> Hope these experiences provide some useful and concrete context for 
> evaluating whether/how to support a username parameter in OAuth.
>
> Thanks, js
>
> On Tue, Apr 20, 2010 at 8:08 AM, Eran Hammer-Lahav 
> <eran@hueniverse.com <mailto:eran@hueniverse.com>> wrote:
>
> This attack is why the flow requires the client to present the 
> callback it used again when getting the token.
>
> EHL
>
> *From:* Evan Gilbert [mailto:uidude@google.com 
> <mailto:uidude@google.com>]
> *Sent:* Monday, April 19, 2010 5:17 PM
>
>
> *To:* Eran Hammer-Lahav
> *Cc:* OAuth WG
> *Subject:* Re: [OAUTH-WG] Issue: 'username' parameter proposal
>
> On Mon, Apr 19, 2010 at 10:58 AM, Eran Hammer-Lahav 
> <eran@hueniverse.com <mailto:eran@hueniverse.com>> wrote:
>
> Thanks. That makes sense.
>
> My concern is that the client will ask for a specific username but an 
> attacker will change that request before it hits the server. The 
> server then asks the (wrong) user to authenticate and returns a token. 
> The client has no way of knowing it got an access token for the wrong 
> user. Does requiring that the server returns the token with the 
> username solves this? Is this a real issue?
>
> This particular attack wasn't of concern to me, for a few of reasons:
>
> - The request is HTTPS, hard to modify the request before it hits the 
> server
>
> - There are probably other, more dangerous attacks if you can modify 
> request parameters (for example, you can modify the client_id and get 
> the user to authorize the wrong app)
>
>
> I'm willing to be convinced otherwise
>
>     I have no objections to this proposal but wanted to see some
>     discussion and support from others before adding it to the spec.
>
>     EHL
>
>     *From:* Evan Gilbert [mailto:uidude@google.com
>     <mailto:uidude@google.com>]
>     *Sent:* Monday, April 19, 2010 10:06 AM
>     *To:* Eran Hammer-Lahav
>     *Cc:* OAuth WG
>
>
>     *Subject:* Re: [OAUTH-WG] Issue: 'username' parameter proposal
>
>     User 1 is logged into Client site
>
>     User 2 is logged into IDP site
>
>     This can happen quite frequently, as client sites often have
>     long-lived cookies and may only be visited by one user on a shared
>     computer.
>
>     Right now client site has no way to ask for a token for User 1,
>     and end result will be that User 1 starts seeing User 2's data.
>
>     On Mon, Apr 19, 2010 at 8:37 AM, Eran Hammer-Lahav
>     <eran@hueniverse.com <mailto:eran@hueniverse.com>> wrote:
>
>     How can they both be logged in? I have never seen a case where two
>     users can be both logged into to the same service at the same time...
>
>     EHL
>
>
>
>
>     On 4/19/10 8:33 AM, "Evan Gilbert" <uidude@google.com
>     <http://uidude@google.com>> wrote:
>
>         More details on this enhancement.
>
>         Goal: Make sure you get an access token for the right user in
>         immediate mode.
>
>         Use case where we have problems if we don't have username
>         parameter:
>
>            1. Bob is logged into a web site as bob@IDP.com
>               <http://bob@IDP.com>.
>            2. Mary (his wife) is logged into IDP on the same computer
>               as mary@IDP.com <http://mary@IDP.com>
>            3. A request is made to get an access token via the
>               User-Agent flow in immediate mode (or with any redirect
>               without prompting the user)
>            4. -ob now has an access token for Mary and (posts
>               activities, schedules events, gets contacts) as Mary
>            5. Hilarity ensues
>
>
>         Secondary goal: Provide a hint for non-immediate mode
>
>         On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav
>         <eran@hueniverse.com <http://eran@hueniverse.com>> wrote:
>
>         Evan Gilbert proposed a 'username' request parameter to allow
>         the client to
>         limit the end user to authenticate using the provided
>         authorization server
>         identifier. The proposal has not been discussed or supported
>         by others, and
>         has not received a security review.
>
>         Proposal: Obtain further discussion and support from others,
>         as well as a
>         security review of the proposal. Otherwise, do nothing.
>
>         EHL
>
>         _______________________________________________
>         OAuth mailing list
>         OAuth@ietf.org <http://OAuth@ietf.org>
>         https://www.ietf.org/mailman/listinfo/oauth
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org <mailto:OAuth@ietf.org>
> https://www.ietf.org/mailman/listinfo/oauth
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    


--------------000706080300050900020101
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
In my experiences, such a review takes much longer than a few minutes. <br>
<br>
I think the whole specification should be subject to a comprehensive
and in-depth security analysis (threat modeling, counter measures and
so on). So why not adding this parameter and examine its implications
in this context? <br>
<br>
regards,<br>
Torsten. &nbsp; <br>
&nbsp;<br>
Am 20.04.2010 19:23, schrieb Eran Hammer-Lahav:
<blockquote
 cite="mid:90C41DD21FB7C64BB94121FBBC2E723438E5C7F533@P3PW5EX1MB01.EX1.SECURESERVER.NET"
 type="cite">
  <meta http-equiv="Content-Type"
 content="text/html; charset=ISO-8859-1">
  <meta name="Generator" content="Microsoft Word 14 (filtered medium)">
  <style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p
	{mso-style-priority:99;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";}
span.EmailStyle18
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";
	font-family:"Tahoma","sans-serif";}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri","sans-serif";}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:1616450495;
	mso-list-template-ids:1400805724;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
  <div class="WordSection1">
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">I&#8217;m
not aware of anyone arguing against this feature. The only issue is a
full security review before we add it to the spec. If one of the
security experts here can spend a few minutes to review this, we can
move forward and add it to the draft.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>&nbsp;</o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">EHL<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>&nbsp;</o:p></span></p>
  <div
 style="border-style: none none none solid; border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color blue; border-width: medium medium medium 1.5pt; padding: 0in 0in 0in 4pt;">
  <div>
  <div
 style="border-style: solid none none; border-color: rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">
  <p class="MsoNormal"><b><span
 style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;">From:</span></b><span
 style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;"> Joseph
Smarr [<a class="moz-txt-link-freetext" href="mailto:jsmarr@gmail.com">mailto:jsmarr@gmail.com</a>] <br>
  <b>Sent:</b> Tuesday, April 20, 2010 9:36 AM<br>
  <b>To:</b> Eran Hammer-Lahav<br>
  <b>Cc:</b> Evan Gilbert; OAuth WG<br>
  <b>Subject:</b> Re: [OAUTH-WG] Issue: 'username' parameter proposal<o:p></o:p></span></p>
  </div>
  </div>
  <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
  <p class="MsoNormal">Just to add some more context from experience,
this "two users getting mixed together" problem happens a lot in
practice, esp. when you have a mix of server-side and client-side auth.
For instance, we saw this in our Facebook Connect integration in
Plaxo--normally the user connects and Plaxo stores their session key in
our databases, so when the user returns and logs in as plaxo-user-123,
we look it up and know that he's also facebook-user-456. But some of
Facebook Connect's UI widgets just look at the browser cookies on <a
 moz-do-not-send="true" href="http://facebook.com">facebook.com</a>,
where facebook-user-789 may be currently logged in (happens all the
time with shared computers at home). Thus we often had pages that
pulled some Facebook info server-side (as facebook-user-456) and some
client-side (as facebook-user-789) and it was very confusing and
potentially harmful (e.g. easy to accidentally post a story to the
wrong account). The solution would be for Plaxo to be able to pass
facebook-user-456 down to the JavaScript library, so it wouldn't just
"silently auth" as a different user--presumably, it would just treat it
as if no one was logged into facebook, if the passed-in user is not
logged in. I think this is what Evan is proposing we enable for OAuth,
especially if we want it to work client-side with immediate-mode (which
I think we do).<o:p></o:p></p>
  <div>
  <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
  </div>
  <div>
  <p class="MsoNormal">Another related example of this problem we saw
was with our photo-uploader plug-in inside Picasa Desktop for sharing
photos on Plaxo. During the upload flow, it embeds a web browser, which
lets you log in as plaxo-user-123, but when it's done uploading, it
opens a default web browser, where you might be logged in as
plaxo-user-456, leading again to a confusing mix-up of identities. We
solved this by appending the session-info of the user from the embedded
web browser on the URL of the main browser that gets opened, so it can
clobber the session as needed and maintain continuity of session.<o:p></o:p></p>
  </div>
  <div>
  <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
  </div>
  <div>
  <p class="MsoNormal">Hope these experiences provide some useful and
concrete context for evaluating whether/how to support a username
parameter in OAuth.<o:p></o:p></p>
  </div>
  <div>
  <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
  </div>
  <div>
  <p class="MsoNormal" style="margin-bottom: 12pt;">Thanks, js<o:p></o:p></p>
  <div>
  <p class="MsoNormal">On Tue, Apr 20, 2010 at 8:08 AM, Eran
Hammer-Lahav &lt;<a moz-do-not-send="true"
 href="mailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt; wrote:<o:p></o:p></p>
  <div>
  <div>
  <p class="MsoNormal" style=""><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">This attack is why
the flow requires the client to present the callback it used again when
getting the token.</span><o:p></o:p></p>
  <p class="MsoNormal" style=""><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">&nbsp;</span><o:p></o:p></p>
  <p class="MsoNormal" style=""><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">EHL</span><o:p></o:p></p>
  <p class="MsoNormal" style=""><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">&nbsp;</span><o:p></o:p></p>
  <p class="MsoNormal" style=""><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">&nbsp;</span><o:p></o:p></p>
  <div
 style="border-style: none none none solid; border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color blue; border-width: medium medium medium 1.5pt; padding: 0in 0in 0in 4pt;">
  <div>
  <div
 style="border-style: solid none none; border-color: rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">
  <p class="MsoNormal" style=""><b><span style="font-size: 10pt;">From:</span></b><span
 style="font-size: 10pt;"> Evan Gilbert [mailto:<a
 moz-do-not-send="true" href="mailto:uidude@google.com" target="_blank">uidude@google.com</a>]
  <br>
  <b>Sent:</b> Monday, April 19, 2010 5:17 PM</span><o:p></o:p></p>
  <div>
  <div>
  <p class="MsoNormal"><br>
  <b>To:</b> Eran Hammer-Lahav<br>
  <b>Cc:</b> OAuth WG<br>
  <b>Subject:</b> Re: [OAUTH-WG] Issue: 'username' parameter proposal<o:p></o:p></p>
  </div>
  </div>
  </div>
  </div>
  <div>
  <div>
  <p class="MsoNormal" style="">&nbsp;<o:p></o:p></p>
  <p class="MsoNormal" style="margin-bottom: 12pt;">&nbsp;<o:p></o:p></p>
  <div>
  <p class="MsoNormal" style="">On Mon, Apr 19, 2010 at 10:58 AM, Eran
Hammer-Lahav &lt;<a moz-do-not-send="true"
 href="mailto:eran@hueniverse.com" target="_blank">eran@hueniverse.com</a>&gt;
wrote:<o:p></o:p></p>
  <div>
  <div>
  <p class="MsoNormal" style=""><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">Thanks. That makes
sense.</span><o:p></o:p></p>
  <p class="MsoNormal" style=""><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">&nbsp;</span><o:p></o:p></p>
  <p class="MsoNormal" style=""><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">My concern is that
the client will ask for a specific username but an attacker will change
that request before it hits the server. The server then asks the
(wrong) user to authenticate and returns a token. The client has no way
of knowing it got an access token for the wrong user. Does requiring
that the server returns the token with the username solves this? Is
this a real issue?</span><o:p></o:p></p>
  </div>
  </div>
  <div>
  <p class="MsoNormal" style="">&nbsp;<o:p></o:p></p>
  </div>
  <div>
  <p class="MsoNormal" style="">This particular attack wasn't of
concern to me, for a few of reasons:<o:p></o:p></p>
  </div>
  <div>
  <p class="MsoNormal" style="">- The request is HTTPS, hard to modify
the request before it hits the server<o:p></o:p></p>
  </div>
  <div>
  <p class="MsoNormal" style="">- There are probably other, more
dangerous attacks if you can modify request parameters (for example,
you can modify the client_id and get the user to authorize the wrong
app)<o:p></o:p></p>
  </div>
  <div>
  <p class="MsoNormal" style=""><br>
I'm willing to be convinced otherwise<o:p></o:p></p>
  </div>
  <blockquote
 style="border-style: none none none solid; border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(204, 204, 204); border-width: medium medium medium 1pt; margin: 5pt 0in 5pt 4.8pt; padding: 0in 0in 0in 6pt;">
    <div>
    <div>
    <p class="MsoNormal" style=""><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">&nbsp;</span><o:p></o:p></p>
    <p class="MsoNormal" style=""><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">I have no objections
to this proposal but wanted to see some discussion and support from
others before adding it to the spec.</span><o:p></o:p></p>
    <p class="MsoNormal" style=""><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">&nbsp;</span><o:p></o:p></p>
    <p class="MsoNormal" style=""><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">EHL</span><o:p></o:p></p>
    <p class="MsoNormal" style=""><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">&nbsp;</span><o:p></o:p></p>
    <div
 style="border-style: none none none solid; border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color blue; border-width: medium medium medium 1.5pt; padding: 0in 0in 0in 4pt;">
    <div>
    <div
 style="border-style: solid none none; border-color: rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">
    <p class="MsoNormal" style=""><b><span style="font-size: 10pt;">From:</span></b><span
 style="font-size: 10pt;"> Evan Gilbert [mailto:<a
 moz-do-not-send="true" href="mailto:uidude@google.com" target="_blank">uidude@google.com</a>]
    <br>
    <b>Sent:</b> Monday, April 19, 2010 10:06 AM<br>
    <b>To:</b> Eran Hammer-Lahav<br>
    <b>Cc:</b> OAuth WG</span><o:p></o:p></p>
    <div>
    <p class="MsoNormal" style=""><br>
    <b>Subject:</b> Re: [OAUTH-WG] Issue: 'username' parameter proposal<o:p></o:p></p>
    </div>
    </div>
    </div>
    <p class="MsoNormal" style="">&nbsp;<o:p></o:p></p>
    <p class="MsoNormal" style="">User 1 is logged into Client site<o:p></o:p></p>
    <div>
    <div>
    <div>
    <p class="MsoNormal" style="">User 2 is logged into IDP site<o:p></o:p></p>
    </div>
    <div>
    <p class="MsoNormal" style="">&nbsp;<o:p></o:p></p>
    </div>
    <div>
    <p class="MsoNormal" style="">This can happen quite frequently, as
client sites often have long-lived cookies and may only be visited by
one user on a shared computer.<o:p></o:p></p>
    </div>
    <div>
    <p class="MsoNormal" style="">&nbsp;<o:p></o:p></p>
    </div>
    <div>
    <p class="MsoNormal" style="">Right now client site has no way to
ask for a token for User 1, and end result will be that User 1 starts
seeing User 2's data.<o:p></o:p></p>
    </div>
    <div>
    <div>
    <div>
    <div>
    <p class="MsoNormal" style="">&nbsp;<o:p></o:p></p>
    <div>
    <p class="MsoNormal" style="">On Mon, Apr 19, 2010 at 8:37 AM, Eran
Hammer-Lahav &lt;<a moz-do-not-send="true"
 href="mailto:eran@hueniverse.com" target="_blank">eran@hueniverse.com</a>&gt;
wrote:<o:p></o:p></p>
    <div>
    <p class="MsoNormal" style=""><span style="font-size: 11pt;">How
can they both be logged in? I have never seen a case where two users
can be both logged into to the same service at the same time...<br>
    <span style="color: rgb(136, 136, 136);"><br>
EHL</span></span><o:p></o:p></p>
    <div>
    <div>
    <p class="MsoNormal" style="margin-bottom: 12pt;"><span
 style="font-size: 11pt;"><br>
    <br>
    <br>
On 4/19/10 8:33 AM, "Evan Gilbert" &lt;<a moz-do-not-send="true"
 href="http://uidude@google.com" target="_blank">uidude@google.com</a>&gt;
wrote:</span><o:p></o:p></p>
    </div>
    </div>
    <div>
    <div>
    <blockquote style="margin-top: 5pt; margin-bottom: 5pt;">
      <p class="MsoNormal" style=""><span style="font-size: 11pt;">More
details on this enhancement.<br>
      <br>
Goal: Make sure you get an access token for the right user in immediate
mode.<br>
      <br>
Use case where we have problems if we don't have username parameter:</span><o:p></o:p></p>
      <ol start="1" type="1">
        <li class="MsoNormal" style=""><span style="font-size: 11pt;">Bob
is logged into a web site as <a moz-do-not-send="true"
 href="http://bob@IDP.com" target="_blank">bob@IDP.com</a>. </span><o:p></o:p></li>
        <li class="MsoNormal" style=""><span style="font-size: 11pt;">Mary
(his wife) is logged into IDP on the same computer as <a
 moz-do-not-send="true" href="http://mary@IDP.com" target="_blank">mary@IDP.com</a>
          </span><o:p></o:p></li>
        <li class="MsoNormal" style=""><span style="font-size: 11pt;">A
request is made to get an access token via the User-Agent flow in
immediate mode (or with any redirect without prompting the user) </span><o:p></o:p></li>
        <li class="MsoNormal" style=""><span style="font-size: 11pt;">-ob
now has an access token for Mary and (posts activities, schedules
events, gets contacts) as Mary </span><o:p></o:p></li>
        <li class="MsoNormal" style=""><span style="font-size: 11pt;">Hilarity
ensues</span><o:p></o:p></li>
      </ol>
      <p class="MsoNormal" style=""><span style="font-size: 11pt;"><br>
Secondary goal: Provide a hint for non-immediate mode<br>
      <br>
On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav &lt;<a
 moz-do-not-send="true" href="http://eran@hueniverse.com"
 target="_blank">eran@hueniverse.com</a>&gt; wrote:</span><o:p></o:p></p>
      <p class="MsoNormal" style=""><span style="font-size: 11pt;">Evan
Gilbert proposed a 'username' request parameter to allow the client to<br>
limit the end user to authenticate using the provided authorization
server<br>
identifier. The proposal has not been discussed or supported by others,
and<br>
has not received a security review.<br>
      <br>
Proposal: Obtain further discussion and support from others, as well as
a<br>
security review of the proposal. Otherwise, do nothing.<br>
      <br>
EHL<br>
      <br>
_______________________________________________<br>
OAuth mailing list<br>
      <a moz-do-not-send="true" href="http://OAuth@ietf.org"
 target="_blank">OAuth@ietf.org</a><br>
      <a moz-do-not-send="true"
 href="https://www.ietf.org/mailman/listinfo/oauth" target="_blank">https://www.ietf.org/mailman/listinfo/oauth</a></span><o:p></o:p></p>
      <p class="MsoNormal" style="margin-bottom: 12pt;">&nbsp;<o:p></o:p></p>
    </blockquote>
    </div>
    </div>
    </div>
    </div>
    <p class="MsoNormal" style="">&nbsp;<o:p></o:p></p>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
  </blockquote>
  </div>
  <p class="MsoNormal" style="">&nbsp;<o:p></o:p></p>
  </div>
  </div>
  </div>
  </div>
  </div>
  <p class="MsoNormal" style="margin-bottom: 12pt;"><br>
_______________________________________________<br>
OAuth mailing list<br>
  <a moz-do-not-send="true" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
  <a moz-do-not-send="true"
 href="https://www.ietf.org/mailman/listinfo/oauth" target="_blank">https://www.ietf.org/mailman/listinfo/oauth</a><o:p></o:p></p>
  </div>
  <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
  </div>
  </div>
  </div>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>
  </pre>
</blockquote>
<br>
</body>
</html>

--------------000706080300050900020101--


From eran@hueniverse.com  Tue Apr 20 11:59:33 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 72FBF3A6BA2 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 11:59:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.476
X-Spam-Level: 
X-Spam-Status: No, score=-2.476 tagged_above=-999 required=5 tests=[AWL=0.122,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0Q+a8s76N9SP for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 11:59:25 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 020333A6B73 for <oauth@ietf.org>; Tue, 20 Apr 2010 11:59:24 -0700 (PDT)
Received: (qmail 7357 invoked from network); 20 Apr 2010 18:59:15 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 20 Apr 2010 18:59:14 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Tue, 20 Apr 2010 11:59:12 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Date: Tue, 20 Apr 2010 11:59:19 -0700
Thread-Topic: [OAUTH-WG] Issue: 'username' parameter proposal
Thread-Index: AcrguvJU5HlBYgoiS3qPkJw7bR4kpQAACf2Q
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F5D9@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com> <C7F1C6AC.327EE%eran@hueniverse.com> <u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET> <o2wc8689b661004191716o69966d5di900c07737d3be568@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <z2xc334d54e1004200936s57f06dedt8e0e46df3480f8d4@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F533@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BCDF86C.9080003@lodderstedt.net>
In-Reply-To: <4BCDF86C.9080003@lodderstedt.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F5D9P3PW5EX1MB01E_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 18:59:33 -0000

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F5D9P3PW5EX1MB01E_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Because the rest of the spec did receive extensive review from both early a=
dopters and from the previous drafts it borrowed from. Nothing so far is a =
new concept. The concept of an identity is new in OAuth, and while offers i=
mportant benefits, should not be added to the spec when there are actual se=
curity concerns around it.

I raised a specific issue that was not addressed. Brian seems to have other=
 concerns.

I don't like the policy of add-first-discuss-later.

EHL

From: Torsten Lodderstedt [mailto:torsten@lodderstedt.net]
Sent: Tuesday, April 20, 2010 11:55 AM
To: Eran Hammer-Lahav
Cc: jsmarr@stanfordalumni.org; OAuth WG
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal

In my experiences, such a review takes much longer than a few minutes.

I think the whole specification should be subject to a comprehensive and in=
-depth security analysis (threat modeling, counter measures and so on). So =
why not adding this parameter and examine its implications in this context?

regards,
Torsten.

Am 20.04.2010 19:23, schrieb Eran Hammer-Lahav:
I'm not aware of anyone arguing against this feature. The only issue is a f=
ull security review before we add it to the spec. If one of the security ex=
perts here can spend a few minutes to review this, we can move forward and =
add it to the draft.

EHL

From: Joseph Smarr [mailto:jsmarr@gmail.com]
Sent: Tuesday, April 20, 2010 9:36 AM
To: Eran Hammer-Lahav
Cc: Evan Gilbert; OAuth WG
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal

Just to add some more context from experience, this "two users getting mixe=
d together" problem happens a lot in practice, esp. when you have a mix of =
server-side and client-side auth. For instance, we saw this in our Facebook=
 Connect integration in Plaxo--normally the user connects and Plaxo stores =
their session key in our databases, so when the user returns and logs in as=
 plaxo-user-123, we look it up and know that he's also facebook-user-456. B=
ut some of Facebook Connect's UI widgets just look at the browser cookies o=
n facebook.com<http://facebook.com>, where facebook-user-789 may be current=
ly logged in (happens all the time with shared computers at home). Thus we =
often had pages that pulled some Facebook info server-side (as facebook-use=
r-456) and some client-side (as facebook-user-789) and it was very confusin=
g and potentially harmful (e.g. easy to accidentally post a story to the wr=
ong account). The solution would be for Plaxo to be able to pass facebook-u=
ser-456 down to the JavaScript library, so it wouldn't just "silently auth"=
 as a different user--presumably, it would just treat it as if no one was l=
ogged into facebook, if the passed-in user is not logged in. I think this i=
s what Evan is proposing we enable for OAuth, especially if we want it to w=
ork client-side with immediate-mode (which I think we do).

Another related example of this problem we saw was with our photo-uploader =
plug-in inside Picasa Desktop for sharing photos on Plaxo. During the uploa=
d flow, it embeds a web browser, which lets you log in as plaxo-user-123, b=
ut when it's done uploading, it opens a default web browser, where you migh=
t be logged in as plaxo-user-456, leading again to a confusing mix-up of id=
entities. We solved this by appending the session-info of the user from the=
 embedded web browser on the URL of the main browser that gets opened, so i=
t can clobber the session as needed and maintain continuity of session.

Hope these experiences provide some useful and concrete context for evaluat=
ing whether/how to support a username parameter in OAuth.

Thanks, js
On Tue, Apr 20, 2010 at 8:08 AM, Eran Hammer-Lahav <eran@hueniverse.com<mai=
lto:eran@hueniverse.com>> wrote:
This attack is why the flow requires the client to present the callback it =
used again when getting the token.

EHL


From: Evan Gilbert [mailto:uidude@google.com<mailto:uidude@google.com>]
Sent: Monday, April 19, 2010 5:17 PM

To: Eran Hammer-Lahav
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal


On Mon, Apr 19, 2010 at 10:58 AM, Eran Hammer-Lahav <eran@hueniverse.com<ma=
ilto:eran@hueniverse.com>> wrote:
Thanks. That makes sense.

My concern is that the client will ask for a specific username but an attac=
ker will change that request before it hits the server. The server then ask=
s the (wrong) user to authenticate and returns a token. The client has no w=
ay of knowing it got an access token for the wrong user. Does requiring tha=
t the server returns the token with the username solves this? Is this a rea=
l issue?

This particular attack wasn't of concern to me, for a few of reasons:
- The request is HTTPS, hard to modify the request before it hits the serve=
r
- There are probably other, more dangerous attacks if you can modify reques=
t parameters (for example, you can modify the client_id and get the user to=
 authorize the wrong app)

I'm willing to be convinced otherwise

I have no objections to this proposal but wanted to see some discussion and=
 support from others before adding it to the spec.

EHL

From: Evan Gilbert [mailto:uidude@google.com<mailto:uidude@google.com>]
Sent: Monday, April 19, 2010 10:06 AM
To: Eran Hammer-Lahav
Cc: OAuth WG

Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal

User 1 is logged into Client site
User 2 is logged into IDP site

This can happen quite frequently, as client sites often have long-lived coo=
kies and may only be visited by one user on a shared computer.

Right now client site has no way to ask for a token for User 1, and end res=
ult will be that User 1 starts seeing User 2's data.

On Mon, Apr 19, 2010 at 8:37 AM, Eran Hammer-Lahav <eran@hueniverse.com<mai=
lto:eran@hueniverse.com>> wrote:
How can they both be logged in? I have never seen a case where two users ca=
n be both logged into to the same service at the same time...

EHL



On 4/19/10 8:33 AM, "Evan Gilbert" <uidude@google.com<http://uidude@google.=
com>> wrote:
More details on this enhancement.

Goal: Make sure you get an access token for the right user in immediate mod=
e.

Use case where we have problems if we don't have username parameter:

 1.  Bob is logged into a web site as bob@IDP.com<http://bob@IDP.com>.
 2.  Mary (his wife) is logged into IDP on the same computer as mary@IDP.co=
m<http://mary@IDP.com>
 3.  A request is made to get an access token via the User-Agent flow in im=
mediate mode (or with any redirect without prompting the user)
 4.  -ob now has an access token for Mary and (posts activities, schedules =
events, gets contacts) as Mary
 5.  Hilarity ensues

Secondary goal: Provide a hint for non-immediate mode

On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav <eran@hueniverse.com<ht=
tp://eran@hueniverse.com>> wrote:
Evan Gilbert proposed a 'username' request parameter to allow the client to
limit the end user to authenticate using the provided authorization server
identifier. The proposal has not been discussed or supported by others, and
has not received a security review.

Proposal: Obtain further discussion and support from others, as well as a
security review of the proposal. Otherwise, do nothing.

EHL

_______________________________________________
OAuth mailing list
OAuth@ietf.org<http://OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth




_______________________________________________
OAuth mailing list
OAuth@ietf.org<mailto:OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth






_______________________________________________

OAuth mailing list

OAuth@ietf.org<mailto:OAuth@ietf.org>

https://www.ietf.org/mailman/listinfo/oauth




--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F5D9P3PW5EX1MB01E_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><meta http-equiv=3DContent-Type content=
=3D"text/html; charset=3Dus-ascii"><meta name=3DGenerator content=3D"Micros=
oft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	color:black;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p
	{mso-style-priority:99;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	color:black;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";
	color:black;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";
	color:black;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";
	font-family:"Tahoma","sans-serif";}
span.EmailStyle20
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:Consolas;
	color:black;}
span.EmailStyle23
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:1371033953;
	mso-list-template-ids:1972115134;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body bgcolor=3Dwhite lang=3DEN-US=
 link=3Dblue vlink=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal>=
<span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1=
F497D'>Because the rest of the spec did receive extensive review from both =
early adopters and from the previous drafts it borrowed from. Nothing so fa=
r is a new concept. The concept of an identity is new in OAuth, and while o=
ffers important benefits, should not be added to the spec when there are ac=
tual security concerns around it.<o:p></o:p></span></p><p class=3DMsoNormal=
><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#=
1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'fon=
t-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I raised a =
specific issue that was not addressed. Brian seems to have other concerns.<=
o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;f=
ont-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></=
p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri=
","sans-serif";color:#1F497D'>I don&#8217;t like the policy of add-first-di=
scuss-later.<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-=
size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</=
o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-fa=
mily:"Calibri","sans-serif";color:#1F497D'>EHL<o:p></o:p></span></p><p clas=
s=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-s=
erif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div style=3D'border:none;=
border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div style=3D'=
border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p cl=
ass=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma","sa=
ns-serif";color:windowtext'>From:</span></b><span style=3D'font-size:10.0pt=
;font-family:"Tahoma","sans-serif";color:windowtext'> Torsten Lodderstedt [=
mailto:torsten@lodderstedt.net] <br><b>Sent:</b> Tuesday, April 20, 2010 11=
:55 AM<br><b>To:</b> Eran Hammer-Lahav<br><b>Cc:</b> jsmarr@stanfordalumni.=
org; OAuth WG<br><b>Subject:</b> Re: [OAUTH-WG] Issue: 'username' parameter=
 proposal<o:p></o:p></span></p></div></div><p class=3DMsoNormal><o:p>&nbsp;=
</o:p></p><p class=3DMsoNormal>In my experiences, such a review takes much =
longer than a few minutes. <br><br>I think the whole specification should b=
e subject to a comprehensive and in-depth security analysis (threat modelin=
g, counter measures and so on). So why not adding this parameter and examin=
e its implications in this context? <br><br>regards,<br>Torsten. &nbsp; <br=
>&nbsp;<br>Am 20.04.2010 19:23, schrieb Eran Hammer-Lahav: <o:p></o:p></p><=
p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","=
sans-serif";color:#1F497D'>I&#8217;m not aware of anyone arguing against th=
is feature. The only issue is a full security review before we add it to th=
e spec. If one of the security experts here can spend a few minutes to revi=
ew this, we can move forward and add it to the draft.</span><o:p></o:p></p>=
<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";color:#1F497D'>&nbsp;</span><o:p></o:p></p><p class=3DMsoNorma=
l><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:=
#1F497D'>EHL</span><o:p></o:p></p><p class=3DMsoNormal><span style=3D'font-=
size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>&nbsp;</span>=
<o:p></o:p></p><div style=3D'border:none;border-left:solid windowtext 1.5pt=
;padding:0in 0in 0in 4.0pt;border-color:-moz-use-text-color -moz-use-text-c=
olor -moz-use-text-color blue'><div><div style=3D'border:none;border-top:so=
lid windowtext 1.0pt;padding:3.0pt 0in 0in 0in;border-color:-moz-use-text-c=
olor -moz-use-text-color'><p class=3DMsoNormal><b><span style=3D'font-size:=
10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style=3D'fo=
nt-size:10.0pt;font-family:"Tahoma","sans-serif"'> Joseph Smarr [<a href=3D=
"mailto:jsmarr@gmail.com">mailto:jsmarr@gmail.com</a>] <br><b>Sent:</b> Tue=
sday, April 20, 2010 9:36 AM<br><b>To:</b> Eran Hammer-Lahav<br><b>Cc:</b> =
Evan Gilbert; OAuth WG<br><b>Subject:</b> Re: [OAUTH-WG] Issue: 'username' =
parameter proposal</span><o:p></o:p></p></div></div><p class=3DMsoNormal>&n=
bsp;<o:p></o:p></p><p class=3DMsoNormal>Just to add some more context from =
experience, this &quot;two users getting mixed together&quot; problem happe=
ns a lot in practice, esp. when you have a mix of server-side and client-si=
de auth. For instance, we saw this in our Facebook Connect integration in P=
laxo--normally the user connects and Plaxo stores their session key in our =
databases, so when the user returns and logs in as plaxo-user-123, we look =
it up and know that he's also facebook-user-456. But some of Facebook Conne=
ct's UI widgets just look at the browser cookies on <a href=3D"http://faceb=
ook.com">facebook.com</a>, where facebook-user-789 may be currently logged =
in (happens all the time with shared computers at home). Thus we often had =
pages that pulled some Facebook info server-side (as facebook-user-456) and=
 some client-side (as facebook-user-789) and it was very confusing and pote=
ntially harmful (e.g. easy to accidentally post a story to the wrong accoun=
t). The solution would be for Plaxo to be able to pass facebook-user-456 do=
wn to the JavaScript library, so it wouldn't just &quot;silently auth&quot;=
 as a different user--presumably, it would just treat it as if no one was l=
ogged into facebook, if the passed-in user is not logged in. I think this i=
s what Evan is proposing we enable for OAuth, especially if we want it to w=
ork client-side with immediate-mode (which I think we do).<o:p></o:p></p><d=
iv><p class=3DMsoNormal>&nbsp;<o:p></o:p></p></div><div><p class=3DMsoNorma=
l>Another related example of this problem we saw was with our photo-uploade=
r plug-in inside Picasa Desktop for sharing photos on Plaxo. During the upl=
oad flow, it embeds a web browser, which lets you log in as plaxo-user-123,=
 but when it's done uploading, it opens a default web browser, where you mi=
ght be logged in as plaxo-user-456, leading again to a confusing mix-up of =
identities. We solved this by appending the session-info of the user from t=
he embedded web browser on the URL of the main browser that gets opened, so=
 it can clobber the session as needed and maintain continuity of session.<o=
:p></o:p></p></div><div><p class=3DMsoNormal>&nbsp;<o:p></o:p></p></div><di=
v><p class=3DMsoNormal>Hope these experiences provide some useful and concr=
ete context for evaluating whether/how to support a username parameter in O=
Auth.<o:p></o:p></p></div><div><p class=3DMsoNormal>&nbsp;<o:p></o:p></p></=
div><div><p class=3DMsoNormal style=3D'margin-bottom:12.0pt'>Thanks, js<o:p=
></o:p></p><div><p class=3DMsoNormal>On Tue, Apr 20, 2010 at 8:08 AM, Eran =
Hammer-Lahav &lt;<a href=3D"mailto:eran@hueniverse.com">eran@hueniverse.com=
</a>&gt; wrote:<o:p></o:p></p><div><div><p class=3DMsoNormal><span style=3D=
'font-size:11.0pt;color:#1F497D'>This attack is why the flow requires the c=
lient to present the callback it used again when getting the token.</span><=
o:p></o:p></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;color:#1=
F497D'>&nbsp;</span><o:p></o:p></p><p class=3DMsoNormal><span style=3D'font=
-size:11.0pt;color:#1F497D'>EHL</span><o:p></o:p></p><p class=3DMsoNormal><=
span style=3D'font-size:11.0pt;color:#1F497D'>&nbsp;</span><o:p></o:p></p><=
p class=3DMsoNormal><span style=3D'font-size:11.0pt;color:#1F497D'>&nbsp;</=
span><o:p></o:p></p><div style=3D'border:none;border-left:solid windowtext =
1.5pt;padding:0in 0in 0in 4.0pt;border-color:-moz-use-text-color -moz-use-t=
ext-color -moz-use-text-color blue'><div><div style=3D'border:none;border-t=
op:solid windowtext 1.0pt;padding:3.0pt 0in 0in 0in;border-color:-moz-use-t=
ext-color -moz-use-text-color'><p class=3DMsoNormal><b><span style=3D'font-=
size:10.0pt'>From:</span></b><span style=3D'font-size:10.0pt'> Evan Gilbert=
 [mailto:<a href=3D"mailto:uidude@google.com" target=3D"_blank">uidude@goog=
le.com</a>] <br><b>Sent:</b> Monday, April 19, 2010 5:17 PM</span><o:p></o:=
p></p><div><div><p class=3DMsoNormal><br><b>To:</b> Eran Hammer-Lahav<br><b=
>Cc:</b> OAuth WG<br><b>Subject:</b> Re: [OAUTH-WG] Issue: 'username' param=
eter proposal<o:p></o:p></p></div></div></div></div><div><div><p class=3DMs=
oNormal>&nbsp;<o:p></o:p></p><p class=3DMsoNormal style=3D'margin-bottom:12=
.0pt'>&nbsp;<o:p></o:p></p><div><p class=3DMsoNormal>On Mon, Apr 19, 2010 a=
t 10:58 AM, Eran Hammer-Lahav &lt;<a href=3D"mailto:eran@hueniverse.com" ta=
rget=3D"_blank">eran@hueniverse.com</a>&gt; wrote:<o:p></o:p></p><div><div>=
<p class=3DMsoNormal><span style=3D'font-size:11.0pt;color:#1F497D'>Thanks.=
 That makes sense.</span><o:p></o:p></p><p class=3DMsoNormal><span style=3D=
'font-size:11.0pt;color:#1F497D'>&nbsp;</span><o:p></o:p></p><p class=3DMso=
Normal><span style=3D'font-size:11.0pt;color:#1F497D'>My concern is that th=
e client will ask for a specific username but an attacker will change that =
request before it hits the server. The server then asks the (wrong) user to=
 authenticate and returns a token. The client has no way of knowing it got =
an access token for the wrong user. Does requiring that the server returns =
the token with the username solves this? Is this a real issue?</span><o:p><=
/o:p></p></div></div><div><p class=3DMsoNormal>&nbsp;<o:p></o:p></p></div><=
div><p class=3DMsoNormal>This particular attack wasn't of concern to me, fo=
r a few of reasons:<o:p></o:p></p></div><div><p class=3DMsoNormal>- The req=
uest is HTTPS, hard to modify the request before it hits the server<o:p></o=
:p></p></div><div><p class=3DMsoNormal>- There are probably other, more dan=
gerous attacks if you can modify request parameters (for example, you can m=
odify the client_id and get the user to authorize the wrong app)<o:p></o:p>=
</p></div><div><p class=3DMsoNormal><br>I'm willing to be convinced otherwi=
se<o:p></o:p></p></div><blockquote style=3D'border:none;border-left:solid w=
indowtext 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0p=
t;margin-right:0in;margin-bottom:5.0pt;border-color:-moz-use-text-color -mo=
z-use-text-color -moz-use-text-color rgb(204, 204, 204)'><div><div><p class=
=3DMsoNormal><span style=3D'font-size:11.0pt;color:#1F497D'>&nbsp;</span><o=
:p></o:p></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;color:#1F=
497D'>I have no objections to this proposal but wanted to see some discussi=
on and support from others before adding it to the spec.</span><o:p></o:p><=
/p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;color:#1F497D'>&nbs=
p;</span><o:p></o:p></p><p class=3DMsoNormal><span style=3D'font-size:11.0p=
t;color:#1F497D'>EHL</span><o:p></o:p></p><p class=3DMsoNormal><span style=
=3D'font-size:11.0pt;color:#1F497D'>&nbsp;</span><o:p></o:p></p><div style=
=3D'border:none;border-left:solid windowtext 1.5pt;padding:0in 0in 0in 4.0p=
t;border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color =
blue'><div><div style=3D'border:none;border-top:solid windowtext 1.0pt;padd=
ing:3.0pt 0in 0in 0in;border-color:-moz-use-text-color -moz-use-text-color'=
><p class=3DMsoNormal><b><span style=3D'font-size:10.0pt'>From:</span></b><=
span style=3D'font-size:10.0pt'> Evan Gilbert [mailto:<a href=3D"mailto:uid=
ude@google.com" target=3D"_blank">uidude@google.com</a>] <br><b>Sent:</b> M=
onday, April 19, 2010 10:06 AM<br><b>To:</b> Eran Hammer-Lahav<br><b>Cc:</b=
> OAuth WG</span><o:p></o:p></p><div><p class=3DMsoNormal><br><b>Subject:</=
b> Re: [OAUTH-WG] Issue: 'username' parameter proposal<o:p></o:p></p></div>=
</div></div><p class=3DMsoNormal>&nbsp;<o:p></o:p></p><p class=3DMsoNormal>=
User 1 is logged into Client site<o:p></o:p></p><div><div><div><p class=3DM=
soNormal>User 2 is logged into IDP site<o:p></o:p></p></div><div><p class=
=3DMsoNormal>&nbsp;<o:p></o:p></p></div><div><p class=3DMsoNormal>This can =
happen quite frequently, as client sites often have long-lived cookies and =
may only be visited by one user on a shared computer.<o:p></o:p></p></div><=
div><p class=3DMsoNormal>&nbsp;<o:p></o:p></p></div><div><p class=3DMsoNorm=
al>Right now client site has no way to ask for a token for User 1, and end =
result will be that User 1 starts seeing User 2's data.<o:p></o:p></p></div=
><div><div><div><div><p class=3DMsoNormal>&nbsp;<o:p></o:p></p><div><p clas=
s=3DMsoNormal>On Mon, Apr 19, 2010 at 8:37 AM, Eran Hammer-Lahav &lt;<a hre=
f=3D"mailto:eran@hueniverse.com" target=3D"_blank">eran@hueniverse.com</a>&=
gt; wrote:<o:p></o:p></p><div><p class=3DMsoNormal><span style=3D'font-size=
:11.0pt'>How can they both be logged in? I have never seen a case where two=
 users can be both logged into to the same service at the same time...<br><=
/span><span style=3D'font-size:11.0pt;color:#888888'><br>EHL</span><o:p></o=
:p></p><div><div><p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><span =
style=3D'font-size:11.0pt'><br><br><br>On 4/19/10 8:33 AM, &quot;Evan Gilbe=
rt&quot; &lt;<a href=3D"http://uidude@google.com" target=3D"_blank">uidude@=
google.com</a>&gt; wrote:</span><o:p></o:p></p></div></div><div><div><block=
quote style=3D'margin-top:5.0pt;margin-bottom:5.0pt'><p class=3DMsoNormal><=
span style=3D'font-size:11.0pt'>More details on this enhancement.<br><br>Go=
al: Make sure you get an access token for the right user in immediate mode.=
<br><br>Use case where we have problems if we don't have username parameter=
:</span><o:p></o:p></p><ol style=3D'margin-top:0in' start=3D1 type=3D1><li =
class=3DMsoNormal style=3D'mso-list:l0 level1 lfo1'><span style=3D'font-siz=
e:11.0pt'>Bob is logged into a web site as <a href=3D"http://bob@IDP.com" t=
arget=3D"_blank">bob@IDP.com</a>. </span><o:p></o:p></li><li class=3DMsoNor=
mal style=3D'mso-list:l0 level1 lfo1'><span style=3D'font-size:11.0pt'>Mary=
 (his wife) is logged into IDP on the same computer as <a href=3D"http://ma=
ry@IDP.com" target=3D"_blank">mary@IDP.com</a> </span><o:p></o:p></li><li c=
lass=3DMsoNormal style=3D'mso-list:l0 level1 lfo1'><span style=3D'font-size=
:11.0pt'>A request is made to get an access token via the User-Agent flow i=
n immediate mode (or with any redirect without prompting the user) </span><=
o:p></o:p></li><li class=3DMsoNormal style=3D'mso-list:l0 level1 lfo1'><spa=
n style=3D'font-size:11.0pt'>-ob now has an access token for Mary and (post=
s activities, schedules events, gets contacts) as Mary </span><o:p></o:p></=
li><li class=3DMsoNormal style=3D'mso-list:l0 level1 lfo1'><span style=3D'f=
ont-size:11.0pt'>Hilarity ensues</span><o:p></o:p></li></ol><p class=3DMsoN=
ormal><span style=3D'font-size:11.0pt'><br>Secondary goal: Provide a hint f=
or non-immediate mode<br><br>On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-=
Lahav &lt;<a href=3D"http://eran@hueniverse.com" target=3D"_blank">eran@hue=
niverse.com</a>&gt; wrote:</span><o:p></o:p></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt'>Evan Gilbert proposed a 'username' request param=
eter to allow the client to<br>limit the end user to authenticate using the=
 provided authorization server<br>identifier. The proposal has not been dis=
cussed or supported by others, and<br>has not received a security review.<b=
r><br>Proposal: Obtain further discussion and support from others, as well =
as a<br>security review of the proposal. Otherwise, do nothing.<br><br>EHL<=
br><br>_______________________________________________<br>OAuth mailing lis=
t<br><a href=3D"http://OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a>=
<br><a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blan=
k">https://www.ietf.org/mailman/listinfo/oauth</a></span><o:p></o:p></p><p =
class=3DMsoNormal style=3D'margin-bottom:12.0pt'>&nbsp;<o:p></o:p></p></blo=
ckquote></div></div></div></div><p class=3DMsoNormal>&nbsp;<o:p></o:p></p><=
/div></div></div></div></div></div></div></div></div></blockquote></div><p =
class=3DMsoNormal>&nbsp;<o:p></o:p></p></div></div></div></div></div><p cla=
ss=3DMsoNormal style=3D'margin-bottom:12.0pt'><br>_________________________=
______________________<br>OAuth mailing list<br><a href=3D"mailto:OAuth@iet=
f.org">OAuth@ietf.org</a><br><a href=3D"https://www.ietf.org/mailman/listin=
fo/oauth" target=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a>=
<o:p></o:p></p></div><p class=3DMsoNormal>&nbsp;<o:p></o:p></p></div></div>=
<pre><o:p>&nbsp;</o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>______________=
_________________________________<o:p></o:p></pre><pre>OAuth mailing list<o=
:p></o:p></pre><pre><a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><o:=
p></o:p></pre><pre><a href=3D"https://www.ietf.org/mailman/listinfo/oauth">=
https://www.ietf.org/mailman/listinfo/oauth</a><o:p></o:p></pre><pre>&nbsp;=
 <o:p></o:p></pre><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div></div></b=
ody></html>=

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F5D9P3PW5EX1MB01E_--

From recordond@gmail.com  Tue Apr 20 12:45:21 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D91EA28C156 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 12:45:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id o2Y9rkVtjGn7 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 12:45:20 -0700 (PDT)
Received: from mail-pv0-f172.google.com (mail-pv0-f172.google.com [74.125.83.172]) by core3.amsl.com (Postfix) with ESMTP id C0FE73A6765 for <oauth@ietf.org>; Tue, 20 Apr 2010 12:45:20 -0700 (PDT)
Received: by pvf33 with SMTP id 33so4293723pvf.31 for <oauth@ietf.org>; Tue, 20 Apr 2010 12:45:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=4zzBih7liof4NqlnLky0Rz3lzhBFkiyCha99pb5Usyw=; b=jaxNgPjXA4SorKaAzBTDpFX6Zd+ySrbGm103ZHund8aE6wRuuwxyiR0/bcROt6oI7z cR6QTlQj9mvd7NHLQoMrb/nOTbtSzIuavxv752YqDZLgS96Pfl1FJ3UQ4zeBEUszG+7K zgIdq9Q/c3JTJEBdI63etVIIvJ1vvyLEulmao=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=OaINf0FeRtUS92qusXeAgbEfjmCySyN6A4FT0ItcuSUKLjieBnJYX2jt49pEb/fjeP smgpoOm6XCOYY4pp8Oki+qidM7wj9ajerXQ24KGi5atdJ4KwpoMBrGOlAECiKTq2rTuA eVHWmm8Ccqs6xhl8xssXtXPk0bkxd02I8ZFGM=
MIME-Version: 1.0
Received: by 10.231.182.196 with HTTP; Tue, 20 Apr 2010 12:45:05 -0700 (PDT)
In-Reply-To: <t2wc334d54e1004200924ja0e7786u9b349a1931098f2a@mail.gmail.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <t2wc334d54e1004200924ja0e7786u9b349a1931098f2a@mail.gmail.com>
Date: Tue, 20 Apr 2010 12:45:05 -0700
Received: by 10.114.237.3 with SMTP id k3mr6168347wah.219.1271792706880; Tue,  20 Apr 2010 12:45:06 -0700 (PDT)
Message-ID: <l2ofd6741651004201245gdfc6e2a3j10a6e8a3e59f2072@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: jsmarr@stanfordalumni.org
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 19:45:21 -0000

Having written an implementation last night against the web server
flow, I'm worried about adding JSON as a requirement for the response.
While it might be easier for environments with JSON libraries, it's
drastically more complex for environments (like embedded hardware)
which doesn't support JSON. And writing basic form encoded parsing
code really isn't that hard =96=A0especially if I can do it!


On Tue, Apr 20, 2010 at 9:24 AM, Joseph Smarr <jsmarr@gmail.com> wrote:
> +1 to including JSON format, and perhaps making it the required format. I=
n
> my experience helping numerous developers debug their OAuth implementatio=
ns,
> url-encoding/decoding was often a source of bugs, since a) the libraries =
are
> usually hand-built, b) url-encoding is known to be funky/inconsistent wrt=
 +
> vs. %20 and other such things, and c) it's very sensitive to things like =
a
> trailing newline at the end of the response, which can easily be tokenize=
d
> as part of the the last value (since the normal implementations just spli=
t
> on & and =3D). In contrast, I've never heard of any problems parsing JSON=
, nor
> any encoding/decoding bugs related to working with JSON in other APIs
> (something I *cannot* say about XML, which is way more finicky about
> requiring its values to be properly encoded or escaped in CDATA etc.; I'v=
e
> also seen way more inconsistency in support of XML parsers and their outp=
ut
> formats, whereas JSON always works exactly the same way and always "just
> works").
> So in conclusion, url-encoding has caused a lot of pain in OAuth 1.0, and
> JSON is already widely supported (presumably including by most APIs that
> you're building OAuth support to be able to access!), so I think it would
> simplify the spec and increase ease/success of development to use JSON as=
 a
> request format. In fact, I think I'd like to push for it to be the
> default/required format, given the positive attributes above. Does anyone
> object, and if so, why?
> Thanks, js
>
> On Tue, Apr 20, 2010 at 8:10 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>>
>> There seems to be support for this idea with some concerns about
>> complexity. Someone needs to propose text for this including defining th=
e
>> request parameter and schema of the various reply formats.
>>
>> EHL
>>
>> > -----Original Message-----
>> > From: Torsten Lodderstedt [mailto:torsten@lodderstedt.net]
>> > Sent: Monday, April 19, 2010 4:48 AM
>> > To: Eran Hammer-Lahav
>> > Cc: Dick Hardt; OAuth WG
>> > Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>> >
>> >
>> > > We can also offer both and define a client request parameter (as lon=
g
>> > > as the server is required to make at least one format available).
>> >
>> > +1 on this
>> >
>> > regards,
>> > Torsten.
>> >
>> > >
>> > > EHL
>> > >
>> > >> -----Original Message-----
>> > >> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
>> > >> Behalf Of Dick Hardt
>> > >> Sent: Sunday, April 18, 2010 9:30 PM
>> > >> To: OAuth WG
>> > >> Subject: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>> > >>
>> > >> The AS token endpoint response is encoded as application/x-www-form=
-
>> > >> urlencoded
>> > >>
>> > >> While this reuses a well known and understood encoding standard, it
>> > >> is uncommon for a client to receive a message encoded like this. Mo=
st
>> > >> server responses are encoded as XML or JSON. Libraries are NOT
>> > >> reedily available to parse application/x-www-form-urlencoded result=
s
>> > >> as this is something that is typically done in the web servers
>> > >> framework. While parsing the name value pairs and URL un-encoding
>> > >> them is not hard, many developers have been caught just splitting t=
he
>> > parameters and forgetting to URL decode the token.
>> > >> Since the token is opaque and may contain characters that are
>> > >> escaped, it is a difficult bug to detect.
>> > >>
>> > >> Potential options:
>> > >>
>> > >> 1) Do nothing, developers should read the specs and do the right
>> > >> thing.
>> > >>
>> > >> 2) Require that all parameters are URL safe so that there is no
>> > >> encoding issue.
>> > >>
>> > >> 3) Return results as JSON, and recommend that parameters be URL saf=
e.
>> > >>
>> > >> -- Dick
>> > >> _______________________________________________
>> > >> OAuth mailing list
>> > >> OAuth@ietf.org
>> > >> https://www.ietf.org/mailman/listinfo/oauth
>> > > _______________________________________________
>> > > OAuth mailing list
>> > > OAuth@ietf.org
>> > > https://www.ietf.org/mailman/listinfo/oauth
>> > >
>> >
>> >
>> >
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

From email@pbryan.net  Tue Apr 20 12:55:09 2010
Return-Path: <email@pbryan.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 5C33028C1B9 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 12:55:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qlqRMgyPy9WW for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 12:55:08 -0700 (PDT)
Received: from maple.anode.ca (maple.anode.ca [72.14.183.184]) by core3.amsl.com (Postfix) with ESMTP id 346423A6946 for <oauth@ietf.org>; Tue, 20 Apr 2010 12:55:08 -0700 (PDT)
Received: from [192.168.1.3] (S0106001346fbe4af.vf.shawcable.net [174.1.44.35]) by maple.anode.ca (Postfix) with ESMTPSA id 2B60F6451; Tue, 20 Apr 2010 19:54:53 +0000 (UTC)
From: "Paul C. Bryan" <email@pbryan.net>
To: David Recordon <recordond@gmail.com>
In-Reply-To: <l2ofd6741651004201245gdfc6e2a3j10a6e8a3e59f2072@mail.gmail.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <t2wc334d54e1004200924ja0e7786u9b349a1931098f2a@mail.gmail.com> <l2ofd6741651004201245gdfc6e2a3j10a6e8a3e59f2072@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"
Date: Tue, 20 Apr 2010 12:56:03 -0700
Message-ID: <1271793363.20679.6.camel@Dynamo>
Mime-Version: 1.0
X-Mailer: Evolution 2.28.1 
Content-Transfer-Encoding: 8bit
Cc: jsmarr@stanfordalumni.org, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 19:55:09 -0000

I'm struggling to imagine hardware that on the one hand would support
OAuth, but on the other would be incapable of supporting JSON...

-----Original Message-----
From: David Recordon <recordond@gmail.com>
To: jsmarr@stanfordalumni.org
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
Date: Tue, 20 Apr 2010 12:45:05 -0700

Having written an implementation last night against the web server
flow, I'm worried about adding JSON as a requirement for the response.
While it might be easier for environments with JSON libraries, it's
drastically more complex for environments (like embedded hardware)
which doesn't support JSON. And writing basic form encoded parsing
code really isn't that hard â€“ especially if I can do it!


On Tue, Apr 20, 2010 at 9:24 AM, Joseph Smarr <jsmarr@gmail.com> wrote:
> +1 to including JSON format, and perhaps making it the required format. In
> my experience helping numerous developers debug their OAuth implementations,
> url-encoding/decoding was often a source of bugs, since a) the libraries are
> usually hand-built, b) url-encoding is known to be funky/inconsistent wrt +
> vs. %20 and other such things, and c) it's very sensitive to things like a
> trailing newline at the end of the response, which can easily be tokenized
> as part of the the last value (since the normal implementations just split
> on & and =). In contrast, I've never heard of any problems parsing JSON, nor
> any encoding/decoding bugs related to working with JSON in other APIs
> (something I *cannot* say about XML, which is way more finicky about
> requiring its values to be properly encoded or escaped in CDATA etc.; I've
> also seen way more inconsistency in support of XML parsers and their output
> formats, whereas JSON always works exactly the same way and always "just
> works").
> So in conclusion, url-encoding has caused a lot of pain in OAuth 1.0, and
> JSON is already widely supported (presumably including by most APIs that
> you're building OAuth support to be able to access!), so I think it would
> simplify the spec and increase ease/success of development to use JSON as a
> request format. In fact, I think I'd like to push for it to be the
> default/required format, given the positive attributes above. Does anyone
> object, and if so, why?
> Thanks, js
>
> On Tue, Apr 20, 2010 at 8:10 AM, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
>>
>> There seems to be support for this idea with some concerns about
>> complexity. Someone needs to propose text for this including defining the
>> request parameter and schema of the various reply formats.
>>
>> EHL
>>
>> > -----Original Message-----
>> > From: Torsten Lodderstedt [mailto:torsten@lodderstedt.net]
>> > Sent: Monday, April 19, 2010 4:48 AM
>> > To: Eran Hammer-Lahav
>> > Cc: Dick Hardt; OAuth WG
>> > Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>> >
>> >
>> > > We can also offer both and define a client request parameter (as long
>> > > as the server is required to make at least one format available).
>> >
>> > +1 on this
>> >
>> > regards,
>> > Torsten.
>> >
>> > >
>> > > EHL
>> > >
>> > >> -----Original Message-----
>> > >> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
>> > >> Behalf Of Dick Hardt
>> > >> Sent: Sunday, April 18, 2010 9:30 PM
>> > >> To: OAuth WG
>> > >> Subject: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>> > >>
>> > >> The AS token endpoint response is encoded as application/x-www-form-
>> > >> urlencoded
>> > >>
>> > >> While this reuses a well known and understood encoding standard, it
>> > >> is uncommon for a client to receive a message encoded like this. Most
>> > >> server responses are encoded as XML or JSON. Libraries are NOT
>> > >> reedily available to parse application/x-www-form-urlencoded results
>> > >> as this is something that is typically done in the web servers
>> > >> framework. While parsing the name value pairs and URL un-encoding
>> > >> them is not hard, many developers have been caught just splitting the
>> > parameters and forgetting to URL decode the token.
>> > >> Since the token is opaque and may contain characters that are
>> > >> escaped, it is a difficult bug to detect.
>> > >>
>> > >> Potential options:
>> > >>
>> > >> 1) Do nothing, developers should read the specs and do the right
>> > >> thing.
>> > >>
>> > >> 2) Require that all parameters are URL safe so that there is no
>> > >> encoding issue.
>> > >>
>> > >> 3) Return results as JSON, and recommend that parameters be URL safe.
>> > >>
>> > >> -- Dick
>> > >> _______________________________________________
>> > >> OAuth mailing list
>> > >> OAuth@ietf.org
>> > >> https://www.ietf.org/mailman/listinfo/oauth
>> > > _______________________________________________
>> > > OAuth mailing list
>> > > OAuth@ietf.org
>> > > https://www.ietf.org/mailman/listinfo/oauth
>> > >
>> >
>> >
>> >
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth



From torsten@lodderstedt.net  Tue Apr 20 12:57:30 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B4EAE3A683F for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 12:57:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.727
X-Spam-Level: 
X-Spam-Status: No, score=-0.727 tagged_above=-999 required=5 tests=[AWL=-1.078, BAYES_50=0.001, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4s83-xNlaaxQ for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 12:57:30 -0700 (PDT)
Received: from smtprelay04.ispgateway.de (smtprelay04.ispgateway.de [80.67.31.27]) by core3.amsl.com (Postfix) with ESMTP id A51233A659A for <oauth@ietf.org>; Tue, 20 Apr 2010 12:57:29 -0700 (PDT)
Received: from p4fff22c1.dip.t-dialin.net ([79.255.34.193] helo=[127.0.0.1]) by smtprelay04.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O4JZP-0006fa-63 for oauth@ietf.org; Tue, 20 Apr 2010 21:57:19 +0200
Message-ID: <4BCE071E.5030008@lodderstedt.net>
Date: Tue, 20 Apr 2010 21:57:18 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: "OAuth WG (oauth@ietf.org)" <oauth@ietf.org>
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Subject: [OAUTH-WG] Variant of Web Server Flow w/o direct communication
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 19:57:30 -0000

Hi all,

I would like to propose an additional variant of the Web Server Flow w/o 
the need for direct communication between client and authorization 
server in order to obtain authorized access/refresh tokens. Instead 
access and refresh tokens should directly be send back with the redirect 
to the client as it is the case in the User-Agent Flow.

As a major advantage the authorization server can be stateless with 
respect to authorization transaction data because there is no need to 
hold such data until the client obtains the tokens from the 
authorization server (callback, client, verification code, identity and 
so on). This simplifies the cluster/loadbalancing/fail-over architecture 
of the authorization server. Moreover, the load on the authz server 
should be reduced and the client saves the roundtrip time of the second 
call. This is even more important if clients extensively use the new 
"immediate" parameter to implement a SSO alike behavior and use this 
flow very often.

The pattern proposed can be found in SAML and is very similar to the 
OpenId authentication process.

Proposal: Add an optional parameter "verification_code" to the request 
(section 3.5.2.1.).

verification_code
OPTIONAL. The parameter value must be set to "true" or "false"
          (case sensitive). If set to "true" and the end user grants 
access,
          the redirection URI includes a code the client uses to obtain
         refresh and access token via a direct POST request. If set to
         "false" and the end user grants access, the redirection URI 
includes
         access and refresh token as well as the expires_in value in
         query parameters.
         Defaults to "true" if omitted.

Security Considerations

Threats:
A malicious client may pretend to be a legitimate client well-known to 
the authorization server. It may attain an access token approved by the 
end user and misuse it.

Countermeasures:
I see two potential countermeasures:
a) The response is encrypted with the client_secret and thus can only be 
decrypted by the legitmate client (similar to the way Kerberos handles 
such things).
- The authorization process is not refused early
- requires an encrypted container as parameter
+ identity theft is prevented
b) The request is signed (and thus authenticated) with an HMAC-256 based 
on the client_secret.
+ The inbound request can already be refused if a signature is missing 
or invalid.
- token data are sent over the use agent in plaint text (which might be 
acceptable since this are user data)

Is there support for this proposal?

regards,
Torsten.




From mscurtescu@google.com  Tue Apr 20 13:20:00 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 56E7C28C1D4 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 13:20:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.813
X-Spam-Level: 
X-Spam-Status: No, score=-100.813 tagged_above=-999 required=5 tests=[AWL=-0.695, BAYES_20=-0.74, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id movx1sTpspFh for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 13:19:59 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 7234528C1DA for <oauth@ietf.org>; Tue, 20 Apr 2010 13:19:38 -0700 (PDT)
Received: from wpaz9.hot.corp.google.com (wpaz9.hot.corp.google.com [172.24.198.73]) by smtp-out.google.com with ESMTP id o3KKJRvD029587 for <oauth@ietf.org>; Tue, 20 Apr 2010 22:19:27 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271794768; bh=5SzdvbdUEfehCQt4FRld0ovW78I=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=xF/bclA4bIMo2g8eO6/4TfxoZ4FawHGv7uAcccs/IVgYFlnD/+xNc2hmXR6RpSowH u8zwlANIAXq7VhNg02HYQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=b6nQALZ3Tt+0slQC6zrZglG4cypk3jAQQDWOda0/9EZPmyB8iWsKXEXm35bdWSN7a rAlOODOuEebGYBQvPTLAA==
Received: from pzk28 (pzk28.prod.google.com [10.243.19.156]) by wpaz9.hot.corp.google.com with ESMTP id o3KKJPC4032456 for <oauth@ietf.org>; Tue, 20 Apr 2010 13:19:26 -0700
Received: by pzk28 with SMTP id 28so4715328pzk.11 for <oauth@ietf.org>; Tue, 20 Apr 2010 13:19:25 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Tue, 20 Apr 2010 13:19:05 -0700 (PDT)
In-Reply-To: <4BCE071E.5030008@lodderstedt.net>
References: <4BCE071E.5030008@lodderstedt.net>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Tue, 20 Apr 2010 13:19:05 -0700
Received: by 10.141.187.3 with SMTP id o3mr734035rvp.224.1271794765180; Tue,  20 Apr 2010 13:19:25 -0700 (PDT)
Message-ID: <v2g74caaad21004201319i83a523e2s8d0ae1b829b90506@mail.gmail.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: "OAuth WG \(oauth@ietf.org\)" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Variant of Web Server Flow w/o direct communication
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 20:20:01 -0000

On Tue, Apr 20, 2010 at 12:57 PM, Torsten Lodderstedt
<torsten@lodderstedt.net> wrote:
> As a major advantage the authorization server can be stateless with respect
> to authorization transaction data because there is no need to hold such data
> until the client obtains the tokens from the authorization server (callback,
> client, verification code, identity and so on). This simplifies the
> cluster/loadbalancing/fail-over architecture of the authorization server.

If making the authz server stateless is the major goal, you can
probably achieve that by encoding and encrypting all relevant data in
the verification code and set a short lifetime on it. Would that work?


> Moreover, the load on the authz server should be reduced and the client
> saves the roundtrip time of the second call. This is even more important if
> clients extensively use the new "immediate" parameter to implement a SSO
> alike behavior and use this flow very often.

True, there is a small gain here, but on the other hand you don't have
do deal with crypto.

Marius

From jsmarr@gmail.com  Tue Apr 20 14:19:36 2010
Return-Path: <jsmarr@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6A66B28C217 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 14:19:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FpDjahHe8k6g for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 14:19:34 -0700 (PDT)
Received: from mail-pv0-f172.google.com (mail-pv0-f172.google.com [74.125.83.172]) by core3.amsl.com (Postfix) with ESMTP id E5A9228C1FE for <oauth@ietf.org>; Tue, 20 Apr 2010 14:18:07 -0700 (PDT)
Received: by pvf33 with SMTP id 33so4373587pvf.31 for <oauth@ietf.org>; Tue, 20 Apr 2010 14:17:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:reply-to:in-reply-to :references:from:date:received:message-id:subject:to:cc:content-type; bh=gQNPOCZoYC6pM18obawacCaP+OORc3dEXTvXctj4Nvs=; b=AIdiBsCh3YubD6gJE9k9/Bmv/cVxJlSLg3s8Q6DVi3hdabbCmPjRe2uLQ/F34aC/iQ 8pWYLSqt2ZlnDsOfsbRLVWlej/VnBTlIQkqhanrX7BC5a9QHddx/6Yc9vy5xGftMQknL LWe8M/IHqZUGsp+GhZXCEU8Gsf93rhcSL/JKY=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:reply-to:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; b=EHGO78ltmWwzTJR61vnaPJaU9Z0+zvKrWn/KjtcY9HsZdJXOeTS/ARJK1bQGmtHsiH oW0L9fgEXQTMyVaqCa8Wa0ezejK6LdJjICBFtRODNgdFVxF3vaS1i4aQzbCOU2CvUKbY ovl9uxyBaYTXdjdVXLrolSpCIbHLECPuoQFMo=
MIME-Version: 1.0
Received: by 10.143.164.14 with HTTP; Tue, 20 Apr 2010 14:17:36 -0700 (PDT)
In-Reply-To: <1271793363.20679.6.camel@Dynamo>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <t2wc334d54e1004200924ja0e7786u9b349a1931098f2a@mail.gmail.com>  <l2ofd6741651004201245gdfc6e2a3j10a6e8a3e59f2072@mail.gmail.com>  <1271793363.20679.6.camel@Dynamo>
From: Joseph Smarr <jsmarr@gmail.com>
Date: Tue, 20 Apr 2010 14:17:36 -0700
Received: by 10.142.3.35 with SMTP id 35mr3259791wfc.74.1271798276086; Tue, 20  Apr 2010 14:17:56 -0700 (PDT)
Message-ID: <j2wc334d54e1004201417s1bbcc025r76fdb607295f384c@mail.gmail.com>
To: "Paul C. Bryan" <email@pbryan.net>
Content-Type: multipart/alternative; boundary=00504502c10d78e6e60484b19c0c
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: jsmarr@stanfordalumni.org
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 21:19:37 -0000

--00504502c10d78e6e60484b19c0c
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

On the one hand, I'm sympathetic to the "easy to write a parser yourself"
argument for url-encoding, since in general I think you want to minimize an=
y
toolchain/library requirements to maximize adoption. On the other hand, I'd
argue that OAuth 1.0 has shows url-encoding to be "deceptively easy" to
implement yourself, plus there are *fewer* easy/good parsing libraries
available, and that leads more developers to try and hand-code parsers that
actually contain bugs.

Now David, I'm sure your implementation has no bugs, but lots of "official
OAuth libraries" did have bugs in their parsers, whereas JSON does have
widely available, high-quality support, and it's just complex enough that
you're not tempted to try and write a (buggy) version yourself, yet not so
painful that it would be unthinkable to do so (compared to, say, a complian=
t
XML parser).

Thanks, js

On Tue, Apr 20, 2010 at 12:56 PM, Paul C. Bryan <email@pbryan.net> wrote:

> I'm struggling to imagine hardware that on the one hand would support
> OAuth, but on the other would be incapable of supporting JSON...
>
> -----Original Message-----
> From: David Recordon <recordond@gmail.com>
> To: jsmarr@stanfordalumni.org
> Cc: OAuth WG <oauth@ietf.org>
> Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
> Date: Tue, 20 Apr 2010 12:45:05 -0700
>
> Having written an implementation last night against the web server
> flow, I'm worried about adding JSON as a requirement for the response.
> While it might be easier for environments with JSON libraries, it's
> drastically more complex for environments (like embedded hardware)
> which doesn't support JSON. And writing basic form encoded parsing
> code really isn't that hard =96 especially if I can do it!
>
>
> On Tue, Apr 20, 2010 at 9:24 AM, Joseph Smarr <jsmarr@gmail.com> wrote:
> > +1 to including JSON format, and perhaps making it the required format.
> In
> > my experience helping numerous developers debug their OAuth
> implementations,
> > url-encoding/decoding was often a source of bugs, since a) the librarie=
s
> are
> > usually hand-built, b) url-encoding is known to be funky/inconsistent w=
rt
> +
> > vs. %20 and other such things, and c) it's very sensitive to things lik=
e
> a
> > trailing newline at the end of the response, which can easily be
> tokenized
> > as part of the the last value (since the normal implementations just
> split
> > on & and =3D). In contrast, I've never heard of any problems parsing JS=
ON,
> nor
> > any encoding/decoding bugs related to working with JSON in other APIs
> > (something I *cannot* say about XML, which is way more finicky about
> > requiring its values to be properly encoded or escaped in CDATA etc.;
> I've
> > also seen way more inconsistency in support of XML parsers and their
> output
> > formats, whereas JSON always works exactly the same way and always "jus=
t
> > works").
> > So in conclusion, url-encoding has caused a lot of pain in OAuth 1.0, a=
nd
> > JSON is already widely supported (presumably including by most APIs tha=
t
> > you're building OAuth support to be able to access!), so I think it wou=
ld
> > simplify the spec and increase ease/success of development to use JSON =
as
> a
> > request format. In fact, I think I'd like to push for it to be the
> > default/required format, given the positive attributes above. Does anyo=
ne
> > object, and if so, why?
> > Thanks, js
> >
> > On Tue, Apr 20, 2010 at 8:10 AM, Eran Hammer-Lahav <eran@hueniverse.com=
>
> > wrote:
> >>
> >> There seems to be support for this idea with some concerns about
> >> complexity. Someone needs to propose text for this including defining
> the
> >> request parameter and schema of the various reply formats.
> >>
> >> EHL
> >>
> >> > -----Original Message-----
> >> > From: Torsten Lodderstedt [mailto:torsten@lodderstedt.net]
> >> > Sent: Monday, April 19, 2010 4:48 AM
> >> > To: Eran Hammer-Lahav
> >> > Cc: Dick Hardt; OAuth WG
> >> > Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
> >> >
> >> >
> >> > > We can also offer both and define a client request parameter (as
> long
> >> > > as the server is required to make at least one format available).
> >> >
> >> > +1 on this
> >> >
> >> > regards,
> >> > Torsten.
> >> >
> >> > >
> >> > > EHL
> >> > >
> >> > >> -----Original Message-----
> >> > >> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
> >> > >> Behalf Of Dick Hardt
> >> > >> Sent: Sunday, April 18, 2010 9:30 PM
> >> > >> To: OAuth WG
> >> > >> Subject: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
> >> > >>
> >> > >> The AS token endpoint response is encoded as
> application/x-www-form-
> >> > >> urlencoded
> >> > >>
> >> > >> While this reuses a well known and understood encoding standard, =
it
> >> > >> is uncommon for a client to receive a message encoded like this.
> Most
> >> > >> server responses are encoded as XML or JSON. Libraries are NOT
> >> > >> reedily available to parse application/x-www-form-urlencoded
> results
> >> > >> as this is something that is typically done in the web servers
> >> > >> framework. While parsing the name value pairs and URL un-encoding
> >> > >> them is not hard, many developers have been caught just splitting
> the
> >> > parameters and forgetting to URL decode the token.
> >> > >> Since the token is opaque and may contain characters that are
> >> > >> escaped, it is a difficult bug to detect.
> >> > >>
> >> > >> Potential options:
> >> > >>
> >> > >> 1) Do nothing, developers should read the specs and do the right
> >> > >> thing.
> >> > >>
> >> > >> 2) Require that all parameters are URL safe so that there is no
> >> > >> encoding issue.
> >> > >>
> >> > >> 3) Return results as JSON, and recommend that parameters be URL
> safe.
> >> > >>
> >> > >> -- Dick
> >> > >> _______________________________________________
> >> > >> OAuth mailing list
> >> > >> OAuth@ietf.org
> >> > >> https://www.ietf.org/mailman/listinfo/oauth
> >> > > _______________________________________________
> >> > > OAuth mailing list
> >> > > OAuth@ietf.org
> >> > > https://www.ietf.org/mailman/listinfo/oauth
> >> > >
> >> >
> >> >
> >> >
> >>
> >> _______________________________________________
> >> OAuth mailing list
> >> OAuth@ietf.org
> >> https://www.ietf.org/mailman/listinfo/oauth
> >
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> >
> >
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>
>
>
>
>

--00504502c10d78e6e60484b19c0c
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

On the one hand, I&#39;m sympathetic to the &quot;easy to write a parser yo=
urself&quot; argument for url-encoding, since in general I think you want t=
o minimize any toolchain/library requirements to maximize adoption. On the =
other hand, I&#39;d argue that OAuth 1.0 has shows url-encoding to be &quot=
;deceptively easy&quot; to implement yourself, plus there are *fewer* easy/=
good parsing libraries available, and that leads more developers to try and=
 hand-code parsers that actually contain bugs.=A0<div>

<br></div><div>Now David, I&#39;m sure your implementation has no bugs, but=
 lots of &quot;official OAuth libraries&quot; did have bugs in their parser=
s, whereas JSON does have widely available, high-quality support, and it&#3=
9;s just complex enough that you&#39;re not tempted to try and write a (bug=
gy) version yourself, yet not so painful that it would be unthinkable to do=
 so (compared to, say, a compliant XML parser).</div>

<div><br></div><div>Thanks, js<br><br><div class=3D"gmail_quote">On Tue, Ap=
r 20, 2010 at 12:56 PM, Paul C. Bryan <span dir=3D"ltr">&lt;<a href=3D"mail=
to:email@pbryan.net">email@pbryan.net</a>&gt;</span> wrote:<br><blockquote =
class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid=
;padding-left:1ex;">

I&#39;m struggling to imagine hardware that on the one hand would support<b=
r>
OAuth, but on the other would be incapable of supporting JSON...<br>
<div class=3D"im"><br>
-----Original Message-----<br>
From: David Recordon &lt;<a href=3D"mailto:recordond@gmail.com">recordond@g=
mail.com</a>&gt;<br>
To: <a href=3D"mailto:jsmarr@stanfordalumni.org">jsmarr@stanfordalumni.org<=
/a><br>
Cc: OAuth WG &lt;<a href=3D"mailto:oauth@ietf.org">oauth@ietf.org</a>&gt;<b=
r>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON<br>
</div><div><div></div><div class=3D"h5">Date: Tue, 20 Apr 2010 12:45:05 -07=
00<br>
<br>
Having written an implementation last night against the web server<br>
flow, I&#39;m worried about adding JSON as a requirement for the response.<=
br>
While it might be easier for environments with JSON libraries, it&#39;s<br>
drastically more complex for environments (like embedded hardware)<br>
which doesn&#39;t support JSON. And writing basic form encoded parsing<br>
code really isn&#39;t that hard =96 especially if I can do it!<br>
<br>
<br>
On Tue, Apr 20, 2010 at 9:24 AM, Joseph Smarr &lt;<a href=3D"mailto:jsmarr@=
gmail.com">jsmarr@gmail.com</a>&gt; wrote:<br>
&gt; +1 to including JSON format, and perhaps making it the required format=
. In<br>
&gt; my experience helping numerous developers debug their OAuth implementa=
tions,<br>
&gt; url-encoding/decoding was often a source of bugs, since a) the librari=
es are<br>
&gt; usually hand-built, b) url-encoding is known to be funky/inconsistent =
wrt +<br>
&gt; vs. %20 and other such things, and c) it&#39;s very sensitive to thing=
s like a<br>
&gt; trailing newline at the end of the response, which can easily be token=
ized<br>
&gt; as part of the the last value (since the normal implementations just s=
plit<br>
&gt; on &amp; and =3D). In contrast, I&#39;ve never heard of any problems p=
arsing JSON, nor<br>
&gt; any encoding/decoding bugs related to working with JSON in other APIs<=
br>
&gt; (something I *cannot* say about XML, which is way more finicky about<b=
r>
&gt; requiring its values to be properly encoded or escaped in CDATA etc.; =
I&#39;ve<br>
&gt; also seen way more inconsistency in support of XML parsers and their o=
utput<br>
&gt; formats, whereas JSON always works exactly the same way and always &qu=
ot;just<br>
&gt; works&quot;).<br>
&gt; So in conclusion, url-encoding has caused a lot of pain in OAuth 1.0, =
and<br>
&gt; JSON is already widely supported (presumably including by most APIs th=
at<br>
&gt; you&#39;re building OAuth support to be able to access!), so I think i=
t would<br>
&gt; simplify the spec and increase ease/success of development to use JSON=
 as a<br>
&gt; request format. In fact, I think I&#39;d like to push for it to be the=
<br>
&gt; default/required format, given the positive attributes above. Does any=
one<br>
&gt; object, and if so, why?<br>
&gt; Thanks, js<br>
&gt;<br>
&gt; On Tue, Apr 20, 2010 at 8:10 AM, Eran Hammer-Lahav &lt;<a href=3D"mail=
to:eran@hueniverse.com">eran@hueniverse.com</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; There seems to be support for this idea with some concerns about<b=
r>
&gt;&gt; complexity. Someone needs to propose text for this including defin=
ing the<br>
&gt;&gt; request parameter and schema of the various reply formats.<br>
&gt;&gt;<br>
&gt;&gt; EHL<br>
&gt;&gt;<br>
&gt;&gt; &gt; -----Original Message-----<br>
&gt;&gt; &gt; From: Torsten Lodderstedt [mailto:<a href=3D"mailto:torsten@l=
odderstedt.net">torsten@lodderstedt.net</a>]<br>
&gt;&gt; &gt; Sent: Monday, April 19, 2010 4:48 AM<br>
&gt;&gt; &gt; To: Eran Hammer-Lahav<br>
&gt;&gt; &gt; Cc: Dick Hardt; OAuth WG<br>
&gt;&gt; &gt; Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs =
JSON<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; &gt; We can also offer both and define a client request param=
eter (as long<br>
&gt;&gt; &gt; &gt; as the server is required to make at least one format av=
ailable).<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; +1 on this<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; regards,<br>
&gt;&gt; &gt; Torsten.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt; &gt; EHL<br>
&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt; &gt;&gt; -----Original Message-----<br>
&gt;&gt; &gt; &gt;&gt; From: <a href=3D"mailto:oauth-bounces@ietf.org">oaut=
h-bounces@ietf.org</a> [mailto:<a href=3D"mailto:oauth-bounces@ietf.org">oa=
uth-bounces@ietf.org</a>] On<br>
&gt;&gt; &gt; &gt;&gt; Behalf Of Dick Hardt<br>
&gt;&gt; &gt; &gt;&gt; Sent: Sunday, April 18, 2010 9:30 PM<br>
&gt;&gt; &gt; &gt;&gt; To: OAuth WG<br>
&gt;&gt; &gt; &gt;&gt; Subject: [OAUTH-WG] application/x-www-form-urlencode=
d vs JSON<br>
&gt;&gt; &gt; &gt;&gt;<br>
&gt;&gt; &gt; &gt;&gt; The AS token endpoint response is encoded as applica=
tion/x-www-form-<br>
&gt;&gt; &gt; &gt;&gt; urlencoded<br>
&gt;&gt; &gt; &gt;&gt;<br>
&gt;&gt; &gt; &gt;&gt; While this reuses a well known and understood encodi=
ng standard, it<br>
&gt;&gt; &gt; &gt;&gt; is uncommon for a client to receive a message encode=
d like this. Most<br>
&gt;&gt; &gt; &gt;&gt; server responses are encoded as XML or JSON. Librari=
es are NOT<br>
&gt;&gt; &gt; &gt;&gt; reedily available to parse application/x-www-form-ur=
lencoded results<br>
&gt;&gt; &gt; &gt;&gt; as this is something that is typically done in the w=
eb servers<br>
&gt;&gt; &gt; &gt;&gt; framework. While parsing the name value pairs and UR=
L un-encoding<br>
&gt;&gt; &gt; &gt;&gt; them is not hard, many developers have been caught j=
ust splitting the<br>
&gt;&gt; &gt; parameters and forgetting to URL decode the token.<br>
&gt;&gt; &gt; &gt;&gt; Since the token is opaque and may contain characters=
 that are<br>
&gt;&gt; &gt; &gt;&gt; escaped, it is a difficult bug to detect.<br>
&gt;&gt; &gt; &gt;&gt;<br>
&gt;&gt; &gt; &gt;&gt; Potential options:<br>
&gt;&gt; &gt; &gt;&gt;<br>
&gt;&gt; &gt; &gt;&gt; 1) Do nothing, developers should read the specs and =
do the right<br>
&gt;&gt; &gt; &gt;&gt; thing.<br>
&gt;&gt; &gt; &gt;&gt;<br>
&gt;&gt; &gt; &gt;&gt; 2) Require that all parameters are URL safe so that =
there is no<br>
&gt;&gt; &gt; &gt;&gt; encoding issue.<br>
&gt;&gt; &gt; &gt;&gt;<br>
&gt;&gt; &gt; &gt;&gt; 3) Return results as JSON, and recommend that parame=
ters be URL safe.<br>
&gt;&gt; &gt; &gt;&gt;<br>
&gt;&gt; &gt; &gt;&gt; -- Dick<br>
&gt;&gt; &gt; &gt;&gt; _______________________________________________<br>
&gt;&gt; &gt; &gt;&gt; OAuth mailing list<br>
&gt;&gt; &gt; &gt;&gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a>=
<br>
&gt;&gt; &gt; &gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oau=
th" target=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;&gt; &gt; &gt; _______________________________________________<br>
&gt;&gt; &gt; &gt; OAuth mailing list<br>
&gt;&gt; &gt; &gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt;&gt; &gt; &gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" =
target=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; OAuth mailing list<br>
&gt;&gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"=
_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_bla=
nk">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt;<br>
&gt;<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br>
<br>
<br>
<br>
<br>
</div></div></blockquote></div><br></div>

--00504502c10d78e6e60484b19c0c--

From eran@hueniverse.com  Tue Apr 20 14:32:13 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7E0B33A6977 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 14:32:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.477
X-Spam-Level: 
X-Spam-Status: No, score=-2.477 tagged_above=-999 required=5 tests=[AWL=0.121,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R+Cgl6OvAamB for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 14:32:11 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id BE5213A689B for <oauth@ietf.org>; Tue, 20 Apr 2010 14:31:47 -0700 (PDT)
Received: (qmail 4986 invoked from network); 20 Apr 2010 21:31:38 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 20 Apr 2010 21:31:38 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Tue, 20 Apr 2010 14:31:38 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: "jsmarr@stanfordalumni.org" <jsmarr@stanfordalumni.org>
Date: Tue, 20 Apr 2010 14:31:26 -0700
Thread-Topic: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
Thread-Index: Acrg0NuNNWRZGnXGQgmBDzZbSI5UKQ==
Message-ID: <9FB1C9A1-6E27-45B8-AFD5-649AD8591AFF@hueniverse.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <t2wc334d54e1004200924ja0e7786u9b349a1931098f2a@mail.gmail.com> <l2ofd6741651004201245gdfc6e2a3j10a6e8a3e59f2072@mail.gmail.com> <1271793363.20679.6.camel@Dynamo> <j2wc334d54e1004201417s1bbcc025r76fdb607295f384c@mail.gmail.com>
In-Reply-To: <j2wc334d54e1004201417s1bbcc025r76fdb607295f384c@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_9FB1C9A16E2745B8AFD5649AD8591AFFhueniversecom_"
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2010 21:32:13 -0000

--_000_9FB1C9A16E2745B8AFD5649AD8591AFFhueniversecom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

QWxsIHRoZSBpc3N1ZXMgYXJvdW5kIGVuY29kaW5nIGluIDEuMCB3ZXJlIGFib3V0IHNpZ25hdHVy
ZXMuIFRoaXMgaXMgbm8gbG9uZ2VyIGFuIGlzc3VlLg0KDQpFSEwNCg0KT24gQXByIDIwLCAyMDEw
LCBhdCAxNDoxOSwgIkpvc2VwaCBTbWFyciIgPGpzbWFyckBnbWFpbC5jb208bWFpbHRvOmpzbWFy
ckBnbWFpbC5jb20+PiB3cm90ZToNCg0KT24gdGhlIG9uZSBoYW5kLCBJJ20gc3ltcGF0aGV0aWMg
dG8gdGhlICJlYXN5IHRvIHdyaXRlIGEgcGFyc2VyIHlvdXJzZWxmIiBhcmd1bWVudCBmb3IgdXJs
LWVuY29kaW5nLCBzaW5jZSBpbiBnZW5lcmFsIEkgdGhpbmsgeW91IHdhbnQgdG8gbWluaW1pemUg
YW55IHRvb2xjaGFpbi9saWJyYXJ5IHJlcXVpcmVtZW50cyB0byBtYXhpbWl6ZSBhZG9wdGlvbi4g
T24gdGhlIG90aGVyIGhhbmQsIEknZCBhcmd1ZSB0aGF0IE9BdXRoIDEuMCBoYXMgc2hvd3MgdXJs
LWVuY29kaW5nIHRvIGJlICJkZWNlcHRpdmVseSBlYXN5IiB0byBpbXBsZW1lbnQgeW91cnNlbGYs
IHBsdXMgdGhlcmUgYXJlICpmZXdlciogZWFzeS9nb29kIHBhcnNpbmcgbGlicmFyaWVzIGF2YWls
YWJsZSwgYW5kIHRoYXQgbGVhZHMgbW9yZSBkZXZlbG9wZXJzIHRvIHRyeSBhbmQgaGFuZC1jb2Rl
IHBhcnNlcnMgdGhhdCBhY3R1YWxseSBjb250YWluIGJ1Z3MuDQoNCk5vdyBEYXZpZCwgSSdtIHN1
cmUgeW91ciBpbXBsZW1lbnRhdGlvbiBoYXMgbm8gYnVncywgYnV0IGxvdHMgb2YgIm9mZmljaWFs
IE9BdXRoIGxpYnJhcmllcyIgZGlkIGhhdmUgYnVncyBpbiB0aGVpciBwYXJzZXJzLCB3aGVyZWFz
IEpTT04gZG9lcyBoYXZlIHdpZGVseSBhdmFpbGFibGUsIGhpZ2gtcXVhbGl0eSBzdXBwb3J0LCBh
bmQgaXQncyBqdXN0IGNvbXBsZXggZW5vdWdoIHRoYXQgeW91J3JlIG5vdCB0ZW1wdGVkIHRvIHRy
eSBhbmQgd3JpdGUgYSAoYnVnZ3kpIHZlcnNpb24geW91cnNlbGYsIHlldCBub3Qgc28gcGFpbmZ1
bCB0aGF0IGl0IHdvdWxkIGJlIHVudGhpbmthYmxlIHRvIGRvIHNvIChjb21wYXJlZCB0bywgc2F5
LCBhIGNvbXBsaWFudCBYTUwgcGFyc2VyKS4NCg0KVGhhbmtzLCBqcw0KDQpPbiBUdWUsIEFwciAy
MCwgMjAxMCBhdCAxMjo1NiBQTSwgUGF1bCBDLiBCcnlhbiA8PG1haWx0bzplbWFpbEBwYnJ5YW4u
bmV0PmVtYWlsQHBicnlhbi5uZXQ8bWFpbHRvOmVtYWlsQHBicnlhbi5uZXQ+PiB3cm90ZToNCkkn
bSBzdHJ1Z2dsaW5nIHRvIGltYWdpbmUgaGFyZHdhcmUgdGhhdCBvbiB0aGUgb25lIGhhbmQgd291
bGQgc3VwcG9ydA0KT0F1dGgsIGJ1dCBvbiB0aGUgb3RoZXIgd291bGQgYmUgaW5jYXBhYmxlIG9m
IHN1cHBvcnRpbmcgSlNPTi4uLg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTog
RGF2aWQgUmVjb3Jkb24gPDxtYWlsdG86cmVjb3Jkb25kQGdtYWlsLmNvbT5yZWNvcmRvbmRAZ21h
aWwuY29tPG1haWx0bzpyZWNvcmRvbmRAZ21haWwuY29tPj4NClRvOiA8bWFpbHRvOmpzbWFyckBz
dGFuZm9yZGFsdW1uaS5vcmc+IGpzbWFyckBzdGFuZm9yZGFsdW1uaS5vcmc8bWFpbHRvOmpzbWFy
ckBzdGFuZm9yZGFsdW1uaS5vcmc+DQpDYzogT0F1dGggV0cgPDxtYWlsdG86b2F1dGhAaWV0Zi5v
cmc+b2F1dGhAaWV0Zi5vcmc8bWFpbHRvOm9hdXRoQGlldGYub3JnPj4NClN1YmplY3Q6IFJlOiBb
T0FVVEgtV0ddIGFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCB2cyBKU09ODQpEYXRl
OiBUdWUsIDIwIEFwciAyMDEwIDEyOjQ1OjA1IC0wNzAwDQoNCkhhdmluZyB3cml0dGVuIGFuIGlt
cGxlbWVudGF0aW9uIGxhc3QgbmlnaHQgYWdhaW5zdCB0aGUgd2ViIHNlcnZlcg0KZmxvdywgSSdt
IHdvcnJpZWQgYWJvdXQgYWRkaW5nIEpTT04gYXMgYSByZXF1aXJlbWVudCBmb3IgdGhlIHJlc3Bv
bnNlLg0KV2hpbGUgaXQgbWlnaHQgYmUgZWFzaWVyIGZvciBlbnZpcm9ubWVudHMgd2l0aCBKU09O
IGxpYnJhcmllcywgaXQncw0KZHJhc3RpY2FsbHkgbW9yZSBjb21wbGV4IGZvciBlbnZpcm9ubWVu
dHMgKGxpa2UgZW1iZWRkZWQgaGFyZHdhcmUpDQp3aGljaCBkb2Vzbid0IHN1cHBvcnQgSlNPTi4g
QW5kIHdyaXRpbmcgYmFzaWMgZm9ybSBlbmNvZGVkIHBhcnNpbmcNCmNvZGUgcmVhbGx5IGlzbid0
IHRoYXQgaGFyZCDigJMgZXNwZWNpYWxseSBpZiBJIGNhbiBkbyBpdCENCg0KDQpPbiBUdWUsIEFw
ciAyMCwgMjAxMCBhdCA5OjI0IEFNLCBKb3NlcGggU21hcnIgPDxtYWlsdG86anNtYXJyQGdtYWls
LmNvbT5qc21hcnJAZ21haWwuY29tPG1haWx0bzpqc21hcnJAZ21haWwuY29tPj4gd3JvdGU6DQo+
ICsxIHRvIGluY2x1ZGluZyBKU09OIGZvcm1hdCwgYW5kIHBlcmhhcHMgbWFraW5nIGl0IHRoZSBy
ZXF1aXJlZCBmb3JtYXQuIEluDQo+IG15IGV4cGVyaWVuY2UgaGVscGluZyBudW1lcm91cyBkZXZl
bG9wZXJzIGRlYnVnIHRoZWlyIE9BdXRoIGltcGxlbWVudGF0aW9ucywNCj4gdXJsLWVuY29kaW5n
L2RlY29kaW5nIHdhcyBvZnRlbiBhIHNvdXJjZSBvZiBidWdzLCBzaW5jZSBhKSB0aGUgbGlicmFy
aWVzIGFyZQ0KPiB1c3VhbGx5IGhhbmQtYnVpbHQsIGIpIHVybC1lbmNvZGluZyBpcyBrbm93biB0
byBiZSBmdW5reS9pbmNvbnNpc3RlbnQgd3J0ICsNCj4gdnMuICUyMCBhbmQgb3RoZXIgc3VjaCB0
aGluZ3MsIGFuZCBjKSBpdCdzIHZlcnkgc2Vuc2l0aXZlIHRvIHRoaW5ncyBsaWtlIGENCj4gdHJh
aWxpbmcgbmV3bGluZSBhdCB0aGUgZW5kIG9mIHRoZSByZXNwb25zZSwgd2hpY2ggY2FuIGVhc2ls
eSBiZSB0b2tlbml6ZWQNCj4gYXMgcGFydCBvZiB0aGUgdGhlIGxhc3QgdmFsdWUgKHNpbmNlIHRo
ZSBub3JtYWwgaW1wbGVtZW50YXRpb25zIGp1c3Qgc3BsaXQNCj4gb24gJiBhbmQgPSkuIEluIGNv
bnRyYXN0LCBJJ3ZlIG5ldmVyIGhlYXJkIG9mIGFueSBwcm9ibGVtcyBwYXJzaW5nIEpTT04sIG5v
cg0KPiBhbnkgZW5jb2RpbmcvZGVjb2RpbmcgYnVncyByZWxhdGVkIHRvIHdvcmtpbmcgd2l0aCBK
U09OIGluIG90aGVyIEFQSXMNCj4gKHNvbWV0aGluZyBJICpjYW5ub3QqIHNheSBhYm91dCBYTUws
IHdoaWNoIGlzIHdheSBtb3JlIGZpbmlja3kgYWJvdXQNCj4gcmVxdWlyaW5nIGl0cyB2YWx1ZXMg
dG8gYmUgcHJvcGVybHkgZW5jb2RlZCBvciBlc2NhcGVkIGluIENEQVRBIGV0Yy47IEkndmUNCj4g
YWxzbyBzZWVuIHdheSBtb3JlIGluY29uc2lzdGVuY3kgaW4gc3VwcG9ydCBvZiBYTUwgcGFyc2Vy
cyBhbmQgdGhlaXIgb3V0cHV0DQo+IGZvcm1hdHMsIHdoZXJlYXMgSlNPTiBhbHdheXMgd29ya3Mg
ZXhhY3RseSB0aGUgc2FtZSB3YXkgYW5kIGFsd2F5cyAianVzdA0KPiB3b3JrcyIpLg0KPiBTbyBp
biBjb25jbHVzaW9uLCB1cmwtZW5jb2RpbmcgaGFzIGNhdXNlZCBhIGxvdCBvZiBwYWluIGluIE9B
dXRoIDEuMCwgYW5kDQo+IEpTT04gaXMgYWxyZWFkeSB3aWRlbHkgc3VwcG9ydGVkIChwcmVzdW1h
Ymx5IGluY2x1ZGluZyBieSBtb3N0IEFQSXMgdGhhdA0KPiB5b3UncmUgYnVpbGRpbmcgT0F1dGgg
c3VwcG9ydCB0byBiZSBhYmxlIHRvIGFjY2VzcyEpLCBzbyBJIHRoaW5rIGl0IHdvdWxkDQo+IHNp
bXBsaWZ5IHRoZSBzcGVjIGFuZCBpbmNyZWFzZSBlYXNlL3N1Y2Nlc3Mgb2YgZGV2ZWxvcG1lbnQg
dG8gdXNlIEpTT04gYXMgYQ0KPiByZXF1ZXN0IGZvcm1hdC4gSW4gZmFjdCwgSSB0aGluayBJJ2Qg
bGlrZSB0byBwdXNoIGZvciBpdCB0byBiZSB0aGUNCj4gZGVmYXVsdC9yZXF1aXJlZCBmb3JtYXQs
IGdpdmVuIHRoZSBwb3NpdGl2ZSBhdHRyaWJ1dGVzIGFib3ZlLiBEb2VzIGFueW9uZQ0KPiBvYmpl
Y3QsIGFuZCBpZiBzbywgd2h5Pw0KPiBUaGFua3MsIGpzDQo+DQo+IE9uIFR1ZSwgQXByIDIwLCAy
MDEwIGF0IDg6MTAgQU0sIEVyYW4gSGFtbWVyLUxhaGF2IDw8bWFpbHRvOmVyYW5AaHVlbml2ZXJz
ZS5jb20+ZXJhbkBodWVuaXZlcnNlLmNvbTxtYWlsdG86ZXJhbkBodWVuaXZlcnNlLmNvbT4+DQo+
IHdyb3RlOg0KPj4NCj4+IFRoZXJlIHNlZW1zIHRvIGJlIHN1cHBvcnQgZm9yIHRoaXMgaWRlYSB3
aXRoIHNvbWUgY29uY2VybnMgYWJvdXQNCj4+IGNvbXBsZXhpdHkuIFNvbWVvbmUgbmVlZHMgdG8g
cHJvcG9zZSB0ZXh0IGZvciB0aGlzIGluY2x1ZGluZyBkZWZpbmluZyB0aGUNCj4+IHJlcXVlc3Qg
cGFyYW1ldGVyIGFuZCBzY2hlbWEgb2YgdGhlIHZhcmlvdXMgcmVwbHkgZm9ybWF0cy4NCj4+DQo+
PiBFSEwNCj4+DQo+PiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+PiA+IEZyb206IFRv
cnN0ZW4gTG9kZGVyc3RlZHQgW21haWx0bzo8bWFpbHRvOnRvcnN0ZW5AbG9kZGVyc3RlZHQubmV0
PnRvcnN0ZW5AbG9kZGVyc3RlZHQubmV0PG1haWx0bzp0b3JzdGVuQGxvZGRlcnN0ZWR0Lm5ldD5d
DQo+PiA+IFNlbnQ6IE1vbmRheSwgQXByaWwgMTksIDIwMTAgNDo0OCBBTQ0KPj4gPiBUbzogRXJh
biBIYW1tZXItTGFoYXYNCj4+ID4gQ2M6IERpY2sgSGFyZHQ7IE9BdXRoIFdHDQo+PiA+IFN1Ympl
Y3Q6IFJlOiBbT0FVVEgtV0ddIGFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCB2cyBK
U09ODQo+PiA+DQo+PiA+DQo+PiA+ID4gV2UgY2FuIGFsc28gb2ZmZXIgYm90aCBhbmQgZGVmaW5l
IGEgY2xpZW50IHJlcXVlc3QgcGFyYW1ldGVyIChhcyBsb25nDQo+PiA+ID4gYXMgdGhlIHNlcnZl
ciBpcyByZXF1aXJlZCB0byBtYWtlIGF0IGxlYXN0IG9uZSBmb3JtYXQgYXZhaWxhYmxlKS4NCj4+
ID4NCj4+ID4gKzEgb24gdGhpcw0KPj4gPg0KPj4gPiByZWdhcmRzLA0KPj4gPiBUb3JzdGVuLg0K
Pj4gPg0KPj4gPiA+DQo+PiA+ID4gRUhMDQo+PiA+ID4NCj4+ID4gPj4gLS0tLS1PcmlnaW5hbCBN
ZXNzYWdlLS0tLS0NCj4+ID4gPj4gRnJvbTogPG1haWx0bzpvYXV0aC1ib3VuY2VzQGlldGYub3Jn
PiBvYXV0aC1ib3VuY2VzQGlldGYub3JnPG1haWx0bzpvYXV0aC1ib3VuY2VzQGlldGYub3JnPiBb
bWFpbHRvOjxtYWlsdG86b2F1dGgtYm91bmNlc0BpZXRmLm9yZz5vYXV0aC1ib3VuY2VzQGlldGYu
b3JnPG1haWx0bzpvYXV0aC1ib3VuY2VzQGlldGYub3JnPl0gT24NCj4+ID4gPj4gQmVoYWxmIE9m
IERpY2sgSGFyZHQNCj4+ID4gPj4gU2VudDogU3VuZGF5LCBBcHJpbCAxOCwgMjAxMCA5OjMwIFBN
DQo+PiA+ID4+IFRvOiBPQXV0aCBXRw0KPj4gPiA+PiBTdWJqZWN0OiBbT0FVVEgtV0ddIGFwcGxp
Y2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCB2cyBKU09ODQo+PiA+ID4+DQo+PiA+ID4+IFRo
ZSBBUyB0b2tlbiBlbmRwb2ludCByZXNwb25zZSBpcyBlbmNvZGVkIGFzIGFwcGxpY2F0aW9uL3gt
d3d3LWZvcm0tDQo+PiA+ID4+IHVybGVuY29kZWQNCj4+ID4gPj4NCj4+ID4gPj4gV2hpbGUgdGhp
cyByZXVzZXMgYSB3ZWxsIGtub3duIGFuZCB1bmRlcnN0b29kIGVuY29kaW5nIHN0YW5kYXJkLCBp
dA0KPj4gPiA+PiBpcyB1bmNvbW1vbiBmb3IgYSBjbGllbnQgdG8gcmVjZWl2ZSBhIG1lc3NhZ2Ug
ZW5jb2RlZCBsaWtlIHRoaXMuIE1vc3QNCj4+ID4gPj4gc2VydmVyIHJlc3BvbnNlcyBhcmUgZW5j
b2RlZCBhcyBYTUwgb3IgSlNPTi4gTGlicmFyaWVzIGFyZSBOT1QNCj4+ID4gPj4gcmVlZGlseSBh
dmFpbGFibGUgdG8gcGFyc2UgYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIHJlc3Vs
dHMNCj4+ID4gPj4gYXMgdGhpcyBpcyBzb21ldGhpbmcgdGhhdCBpcyB0eXBpY2FsbHkgZG9uZSBp
biB0aGUgd2ViIHNlcnZlcnMNCj4+ID4gPj4gZnJhbWV3b3JrLiBXaGlsZSBwYXJzaW5nIHRoZSBu
YW1lIHZhbHVlIHBhaXJzIGFuZCBVUkwgdW4tZW5jb2RpbmcNCj4+ID4gPj4gdGhlbSBpcyBub3Qg
aGFyZCwgbWFueSBkZXZlbG9wZXJzIGhhdmUgYmVlbiBjYXVnaHQganVzdCBzcGxpdHRpbmcgdGhl
DQo+PiA+IHBhcmFtZXRlcnMgYW5kIGZvcmdldHRpbmcgdG8gVVJMIGRlY29kZSB0aGUgdG9rZW4u
DQo+PiA+ID4+IFNpbmNlIHRoZSB0b2tlbiBpcyBvcGFxdWUgYW5kIG1heSBjb250YWluIGNoYXJh
Y3RlcnMgdGhhdCBhcmUNCj4+ID4gPj4gZXNjYXBlZCwgaXQgaXMgYSBkaWZmaWN1bHQgYnVnIHRv
IGRldGVjdC4NCj4+ID4gPj4NCj4+ID4gPj4gUG90ZW50aWFsIG9wdGlvbnM6DQo+PiA+ID4+DQo+
PiA+ID4+IDEpIERvIG5vdGhpbmcsIGRldmVsb3BlcnMgc2hvdWxkIHJlYWQgdGhlIHNwZWNzIGFu
ZCBkbyB0aGUgcmlnaHQNCj4+ID4gPj4gdGhpbmcuDQo+PiA+ID4+DQo+PiA+ID4+IDIpIFJlcXVp
cmUgdGhhdCBhbGwgcGFyYW1ldGVycyBhcmUgVVJMIHNhZmUgc28gdGhhdCB0aGVyZSBpcyBubw0K
Pj4gPiA+PiBlbmNvZGluZyBpc3N1ZS4NCj4+ID4gPj4NCj4+ID4gPj4gMykgUmV0dXJuIHJlc3Vs
dHMgYXMgSlNPTiwgYW5kIHJlY29tbWVuZCB0aGF0IHBhcmFtZXRlcnMgYmUgVVJMIHNhZmUuDQo+
PiA+ID4+DQo+PiA+ID4+IC0tIERpY2sNCj4+ID4gPj4gX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18NCj4+ID4gPj4gT0F1dGggbWFpbGluZyBsaXN0DQo+PiA+
ID4+IDxtYWlsdG86T0F1dGhAaWV0Zi5vcmc+IE9BdXRoQGlldGYub3JnPG1haWx0bzpPQXV0aEBp
ZXRmLm9yZz4NCj4+ID4gPj4gPGh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8v
b2F1dGg+IGh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vb2F1dGgNCj4+ID4g
PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPj4gPiA+
IE9BdXRoIG1haWxpbmcgbGlzdA0KPj4gPiA+IDxtYWlsdG86T0F1dGhAaWV0Zi5vcmc+IE9BdXRo
QGlldGYub3JnPG1haWx0bzpPQXV0aEBpZXRmLm9yZz4NCj4+ID4gPiA8aHR0cHM6Ly93d3cuaWV0
Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9vYXV0aD4gaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1h
bi9saXN0aW5mby9vYXV0aA0KPj4gPiA+DQo+PiA+DQo+PiA+DQo+PiA+DQo+Pg0KPj4gX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4+IE9BdXRoIG1haWxp
bmcgbGlzdA0KPj4gPG1haWx0bzpPQXV0aEBpZXRmLm9yZz4gT0F1dGhAaWV0Zi5vcmc8bWFpbHRv
Ok9BdXRoQGlldGYub3JnPg0KPj4gPGh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGlu
Zm8vb2F1dGg+IGh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vb2F1dGgNCj4N
Cj4NCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4g
T0F1dGggbWFpbGluZyBsaXN0DQo+IDxtYWlsdG86T0F1dGhAaWV0Zi5vcmc+IE9BdXRoQGlldGYu
b3JnPG1haWx0bzpPQXV0aEBpZXRmLm9yZz4NCj4gPGh0dHBzOi8vd3d3LmlldGYub3JnL21haWxt
YW4vbGlzdGluZm8vb2F1dGg+IGh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8v
b2F1dGgNCj4NCj4NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fDQpPQXV0aCBtYWlsaW5nIGxpc3QNCjxtYWlsdG86T0F1dGhAaWV0Zi5vcmc+T0F1dGhAaWV0
Zi5vcmc8bWFpbHRvOk9BdXRoQGlldGYub3JnPg0KPGh0dHBzOi8vd3d3LmlldGYub3JnL21haWxt
YW4vbGlzdGluZm8vb2F1dGg+aHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9v
YXV0aA0KDQoNCg0KDQoNCg0KPEFUVDAwMDAxLi50eHQ+DQo=

--_000_9FB1C9A16E2745B8AFD5649AD8591AFFhueniversecom_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWw+PGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiI+PGRpdj5BbGwgdGhlIGlzc3VlcyBhcm91bmQg
ZW5jb2RpbmcgaW4gMS4wIHdlcmUgYWJvdXQgc2lnbmF0dXJlcy4gVGhpcyBpcyBubyBsb25nZXIg
YW4gaXNzdWUuJm5ic3A7PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5FSEwmbmJzcDs8YnI+PGJy
Pk9uIEFwciAyMCwgMjAxMCwgYXQgMTQ6MTksICJKb3NlcGggU21hcnIiICZsdDs8YSBocmVmPSJt
YWlsdG86anNtYXJyQGdtYWlsLmNvbSI+anNtYXJyQGdtYWlsLmNvbTwvYT4mZ3Q7IHdyb3RlOjxi
cj48YnI+PC9kaXY+PGRpdj48L2Rpdj48YmxvY2txdW90ZSB0eXBlPSJjaXRlIj48ZGl2Pk9uIHRo
ZSBvbmUgaGFuZCwgSSdtIHN5bXBhdGhldGljIHRvIHRoZSAiZWFzeSB0byB3cml0ZSBhIHBhcnNl
ciB5b3Vyc2VsZiIgYXJndW1lbnQgZm9yIHVybC1lbmNvZGluZywgc2luY2UgaW4gZ2VuZXJhbCBJ
IHRoaW5rIHlvdSB3YW50IHRvIG1pbmltaXplIGFueSB0b29sY2hhaW4vbGlicmFyeSByZXF1aXJl
bWVudHMgdG8gbWF4aW1pemUgYWRvcHRpb24uIE9uIHRoZSBvdGhlciBoYW5kLCBJJ2QgYXJndWUg
dGhhdCBPQXV0aCAxLjAgaGFzIHNob3dzIHVybC1lbmNvZGluZyB0byBiZSAiZGVjZXB0aXZlbHkg
ZWFzeSIgdG8gaW1wbGVtZW50IHlvdXJzZWxmLCBwbHVzIHRoZXJlIGFyZSAqZmV3ZXIqIGVhc3kv
Z29vZCBwYXJzaW5nIGxpYnJhcmllcyBhdmFpbGFibGUsIGFuZCB0aGF0IGxlYWRzIG1vcmUgZGV2
ZWxvcGVycyB0byB0cnkgYW5kIGhhbmQtY29kZSBwYXJzZXJzIHRoYXQgYWN0dWFsbHkgY29udGFp
biBidWdzLiZuYnNwOzxkaXY+DQoNCjxicj48L2Rpdj48ZGl2Pk5vdyBEYXZpZCwgSSdtIHN1cmUg
eW91ciBpbXBsZW1lbnRhdGlvbiBoYXMgbm8gYnVncywgYnV0IGxvdHMgb2YgIm9mZmljaWFsIE9B
dXRoIGxpYnJhcmllcyIgZGlkIGhhdmUgYnVncyBpbiB0aGVpciBwYXJzZXJzLCB3aGVyZWFzIEpT
T04gZG9lcyBoYXZlIHdpZGVseSBhdmFpbGFibGUsIGhpZ2gtcXVhbGl0eSBzdXBwb3J0LCBhbmQg
aXQncyBqdXN0IGNvbXBsZXggZW5vdWdoIHRoYXQgeW91J3JlIG5vdCB0ZW1wdGVkIHRvIHRyeSBh
bmQgd3JpdGUgYSAoYnVnZ3kpIHZlcnNpb24geW91cnNlbGYsIHlldCBub3Qgc28gcGFpbmZ1bCB0
aGF0IGl0IHdvdWxkIGJlIHVudGhpbmthYmxlIHRvIGRvIHNvIChjb21wYXJlZCB0bywgc2F5LCBh
IGNvbXBsaWFudCBYTUwgcGFyc2VyKS48L2Rpdj4NCg0KPGRpdj48YnI+PC9kaXY+PGRpdj5UaGFu
a3MsIGpzPGJyPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gVHVlLCBBcHIgMjAsIDIw
MTAgYXQgMTI6NTYgUE0sIFBhdWwgQy4gQnJ5YW4gPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVm
PSJtYWlsdG86ZW1haWxAcGJyeWFuLm5ldCI+PGEgaHJlZj0ibWFpbHRvOmVtYWlsQHBicnlhbi5u
ZXQiPmVtYWlsQHBicnlhbi5uZXQ8L2E+PC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj48YmxvY2tx
dW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXIt
bGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4OyI+DQoNCkknbSBzdHJ1Z2dsaW5n
IHRvIGltYWdpbmUgaGFyZHdhcmUgdGhhdCBvbiB0aGUgb25lIGhhbmQgd291bGQgc3VwcG9ydDxi
cj4NCk9BdXRoLCBidXQgb24gdGhlIG90aGVyIHdvdWxkIGJlIGluY2FwYWJsZSBvZiBzdXBwb3J0
aW5nIEpTT04uLi48YnI+DQo8ZGl2IGNsYXNzPSJpbSI+PGJyPg0KLS0tLS1PcmlnaW5hbCBNZXNz
YWdlLS0tLS08YnI+DQpGcm9tOiBEYXZpZCBSZWNvcmRvbiAmbHQ7PGEgaHJlZj0ibWFpbHRvOnJl
Y29yZG9uZEBnbWFpbC5jb20iPjxhIGhyZWY9Im1haWx0bzpyZWNvcmRvbmRAZ21haWwuY29tIj5y
ZWNvcmRvbmRAZ21haWwuY29tPC9hPjwvYT4mZ3Q7PGJyPg0KVG86IDxhIGhyZWY9Im1haWx0bzpq
c21hcnJAc3RhbmZvcmRhbHVtbmkub3JnIj48YSBocmVmPSJtYWlsdG86anNtYXJyQHN0YW5mb3Jk
YWx1bW5pLm9yZyI+anNtYXJyQHN0YW5mb3JkYWx1bW5pLm9yZzwvYT48L2E+PGJyPg0KQ2M6IE9B
dXRoIFdHICZsdDs8YSBocmVmPSJtYWlsdG86b2F1dGhAaWV0Zi5vcmciPjxhIGhyZWY9Im1haWx0
bzpvYXV0aEBpZXRmLm9yZyI+b2F1dGhAaWV0Zi5vcmc8L2E+PC9hPiZndDs8YnI+DQpTdWJqZWN0
OiBSZTogW09BVVRILVdHXSBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQgdnMgSlNP
Tjxicj4NCjwvZGl2PjxkaXY+PGRpdj48L2Rpdj48ZGl2IGNsYXNzPSJoNSI+RGF0ZTogVHVlLCAy
MCBBcHIgMjAxMCAxMjo0NTowNSAtMDcwMDxicj4NCjxicj4NCkhhdmluZyB3cml0dGVuIGFuIGlt
cGxlbWVudGF0aW9uIGxhc3QgbmlnaHQgYWdhaW5zdCB0aGUgd2ViIHNlcnZlcjxicj4NCmZsb3cs
IEknbSB3b3JyaWVkIGFib3V0IGFkZGluZyBKU09OIGFzIGEgcmVxdWlyZW1lbnQgZm9yIHRoZSBy
ZXNwb25zZS48YnI+DQpXaGlsZSBpdCBtaWdodCBiZSBlYXNpZXIgZm9yIGVudmlyb25tZW50cyB3
aXRoIEpTT04gbGlicmFyaWVzLCBpdCdzPGJyPg0KZHJhc3RpY2FsbHkgbW9yZSBjb21wbGV4IGZv
ciBlbnZpcm9ubWVudHMgKGxpa2UgZW1iZWRkZWQgaGFyZHdhcmUpPGJyPg0Kd2hpY2ggZG9lc24n
dCBzdXBwb3J0IEpTT04uIEFuZCB3cml0aW5nIGJhc2ljIGZvcm0gZW5jb2RlZCBwYXJzaW5nPGJy
Pg0KY29kZSByZWFsbHkgaXNuJ3QgdGhhdCBoYXJkIOKAkyBlc3BlY2lhbGx5IGlmIEkgY2FuIGRv
IGl0ITxicj4NCjxicj4NCjxicj4NCk9uIFR1ZSwgQXByIDIwLCAyMDEwIGF0IDk6MjQgQU0sIEpv
c2VwaCBTbWFyciAmbHQ7PGEgaHJlZj0ibWFpbHRvOmpzbWFyckBnbWFpbC5jb20iPjxhIGhyZWY9
Im1haWx0bzpqc21hcnJAZ21haWwuY29tIj5qc21hcnJAZ21haWwuY29tPC9hPjwvYT4mZ3Q7IHdy
b3RlOjxicj4NCiZndDsgKzEgdG8gaW5jbHVkaW5nIEpTT04gZm9ybWF0LCBhbmQgcGVyaGFwcyBt
YWtpbmcgaXQgdGhlIHJlcXVpcmVkIGZvcm1hdC4gSW48YnI+DQomZ3Q7IG15IGV4cGVyaWVuY2Ug
aGVscGluZyBudW1lcm91cyBkZXZlbG9wZXJzIGRlYnVnIHRoZWlyIE9BdXRoIGltcGxlbWVudGF0
aW9ucyw8YnI+DQomZ3Q7IHVybC1lbmNvZGluZy9kZWNvZGluZyB3YXMgb2Z0ZW4gYSBzb3VyY2Ug
b2YgYnVncywgc2luY2UgYSkgdGhlIGxpYnJhcmllcyBhcmU8YnI+DQomZ3Q7IHVzdWFsbHkgaGFu
ZC1idWlsdCwgYikgdXJsLWVuY29kaW5nIGlzIGtub3duIHRvIGJlIGZ1bmt5L2luY29uc2lzdGVu
dCB3cnQgKzxicj4NCiZndDsgdnMuICUyMCBhbmQgb3RoZXIgc3VjaCB0aGluZ3MsIGFuZCBjKSBp
dCdzIHZlcnkgc2Vuc2l0aXZlIHRvIHRoaW5ncyBsaWtlIGE8YnI+DQomZ3Q7IHRyYWlsaW5nIG5l
d2xpbmUgYXQgdGhlIGVuZCBvZiB0aGUgcmVzcG9uc2UsIHdoaWNoIGNhbiBlYXNpbHkgYmUgdG9r
ZW5pemVkPGJyPg0KJmd0OyBhcyBwYXJ0IG9mIHRoZSB0aGUgbGFzdCB2YWx1ZSAoc2luY2UgdGhl
IG5vcm1hbCBpbXBsZW1lbnRhdGlvbnMganVzdCBzcGxpdDxicj4NCiZndDsgb24gJmFtcDsgYW5k
ID0pLiBJbiBjb250cmFzdCwgSSd2ZSBuZXZlciBoZWFyZCBvZiBhbnkgcHJvYmxlbXMgcGFyc2lu
ZyBKU09OLCBub3I8YnI+DQomZ3Q7IGFueSBlbmNvZGluZy9kZWNvZGluZyBidWdzIHJlbGF0ZWQg
dG8gd29ya2luZyB3aXRoIEpTT04gaW4gb3RoZXIgQVBJczxicj4NCiZndDsgKHNvbWV0aGluZyBJ
ICpjYW5ub3QqIHNheSBhYm91dCBYTUwsIHdoaWNoIGlzIHdheSBtb3JlIGZpbmlja3kgYWJvdXQ8
YnI+DQomZ3Q7IHJlcXVpcmluZyBpdHMgdmFsdWVzIHRvIGJlIHByb3Blcmx5IGVuY29kZWQgb3Ig
ZXNjYXBlZCBpbiBDREFUQSBldGMuOyBJJ3ZlPGJyPg0KJmd0OyBhbHNvIHNlZW4gd2F5IG1vcmUg
aW5jb25zaXN0ZW5jeSBpbiBzdXBwb3J0IG9mIFhNTCBwYXJzZXJzIGFuZCB0aGVpciBvdXRwdXQ8
YnI+DQomZ3Q7IGZvcm1hdHMsIHdoZXJlYXMgSlNPTiBhbHdheXMgd29ya3MgZXhhY3RseSB0aGUg
c2FtZSB3YXkgYW5kIGFsd2F5cyAianVzdDxicj4NCiZndDsgd29ya3MiKS48YnI+DQomZ3Q7IFNv
IGluIGNvbmNsdXNpb24sIHVybC1lbmNvZGluZyBoYXMgY2F1c2VkIGEgbG90IG9mIHBhaW4gaW4g
T0F1dGggMS4wLCBhbmQ8YnI+DQomZ3Q7IEpTT04gaXMgYWxyZWFkeSB3aWRlbHkgc3VwcG9ydGVk
IChwcmVzdW1hYmx5IGluY2x1ZGluZyBieSBtb3N0IEFQSXMgdGhhdDxicj4NCiZndDsgeW91J3Jl
IGJ1aWxkaW5nIE9BdXRoIHN1cHBvcnQgdG8gYmUgYWJsZSB0byBhY2Nlc3MhKSwgc28gSSB0aGlu
ayBpdCB3b3VsZDxicj4NCiZndDsgc2ltcGxpZnkgdGhlIHNwZWMgYW5kIGluY3JlYXNlIGVhc2Uv
c3VjY2VzcyBvZiBkZXZlbG9wbWVudCB0byB1c2UgSlNPTiBhcyBhPGJyPg0KJmd0OyByZXF1ZXN0
IGZvcm1hdC4gSW4gZmFjdCwgSSB0aGluayBJJ2QgbGlrZSB0byBwdXNoIGZvciBpdCB0byBiZSB0
aGU8YnI+DQomZ3Q7IGRlZmF1bHQvcmVxdWlyZWQgZm9ybWF0LCBnaXZlbiB0aGUgcG9zaXRpdmUg
YXR0cmlidXRlcyBhYm92ZS4gRG9lcyBhbnlvbmU8YnI+DQomZ3Q7IG9iamVjdCwgYW5kIGlmIHNv
LCB3aHk/PGJyPg0KJmd0OyBUaGFua3MsIGpzPGJyPg0KJmd0Ozxicj4NCiZndDsgT24gVHVlLCBB
cHIgMjAsIDIwMTAgYXQgODoxMCBBTSwgRXJhbiBIYW1tZXItTGFoYXYgJmx0OzxhIGhyZWY9Im1h
aWx0bzplcmFuQGh1ZW5pdmVyc2UuY29tIj48YSBocmVmPSJtYWlsdG86ZXJhbkBodWVuaXZlcnNl
LmNvbSI+ZXJhbkBodWVuaXZlcnNlLmNvbTwvYT48L2E+Jmd0Ozxicj4NCiZndDsgd3JvdGU6PGJy
Pg0KJmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyBUaGVyZSBzZWVtcyB0byBiZSBzdXBwb3J0IGZvciB0
aGlzIGlkZWEgd2l0aCBzb21lIGNvbmNlcm5zIGFib3V0PGJyPg0KJmd0OyZndDsgY29tcGxleGl0
eS4gU29tZW9uZSBuZWVkcyB0byBwcm9wb3NlIHRleHQgZm9yIHRoaXMgaW5jbHVkaW5nIGRlZmlu
aW5nIHRoZTxicj4NCiZndDsmZ3Q7IHJlcXVlc3QgcGFyYW1ldGVyIGFuZCBzY2hlbWEgb2YgdGhl
IHZhcmlvdXMgcmVwbHkgZm9ybWF0cy48YnI+DQomZ3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7IEVITDxi
cj4NCiZndDsmZ3Q7PGJyPg0KJmd0OyZndDsgJmd0OyAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t
LTxicj4NCiZndDsmZ3Q7ICZndDsgRnJvbTogVG9yc3RlbiBMb2RkZXJzdGVkdCBbbWFpbHRvOjxh
IGhyZWY9Im1haWx0bzp0b3JzdGVuQGxvZGRlcnN0ZWR0Lm5ldCI+PGEgaHJlZj0ibWFpbHRvOnRv
cnN0ZW5AbG9kZGVyc3RlZHQubmV0Ij50b3JzdGVuQGxvZGRlcnN0ZWR0Lm5ldDwvYT48L2E+XTxi
cj4NCiZndDsmZ3Q7ICZndDsgU2VudDogTW9uZGF5LCBBcHJpbCAxOSwgMjAxMCA0OjQ4IEFNPGJy
Pg0KJmd0OyZndDsgJmd0OyBUbzogRXJhbiBIYW1tZXItTGFoYXY8YnI+DQomZ3Q7Jmd0OyAmZ3Q7
IENjOiBEaWNrIEhhcmR0OyBPQXV0aCBXRzxicj4NCiZndDsmZ3Q7ICZndDsgU3ViamVjdDogUmU6
IFtPQVVUSC1XR10gYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIHZzIEpTT048YnI+
DQomZ3Q7Jmd0OyAmZ3Q7PGJyPg0KJmd0OyZndDsgJmd0Ozxicj4NCiZndDsmZ3Q7ICZndDsgJmd0
OyBXZSBjYW4gYWxzbyBvZmZlciBib3RoIGFuZCBkZWZpbmUgYSBjbGllbnQgcmVxdWVzdCBwYXJh
bWV0ZXIgKGFzIGxvbmc8YnI+DQomZ3Q7Jmd0OyAmZ3Q7ICZndDsgYXMgdGhlIHNlcnZlciBpcyBy
ZXF1aXJlZCB0byBtYWtlIGF0IGxlYXN0IG9uZSBmb3JtYXQgYXZhaWxhYmxlKS48YnI+DQomZ3Q7
Jmd0OyAmZ3Q7PGJyPg0KJmd0OyZndDsgJmd0OyArMSBvbiB0aGlzPGJyPg0KJmd0OyZndDsgJmd0
Ozxicj4NCiZndDsmZ3Q7ICZndDsgcmVnYXJkcyw8YnI+DQomZ3Q7Jmd0OyAmZ3Q7IFRvcnN0ZW4u
PGJyPg0KJmd0OyZndDsgJmd0Ozxicj4NCiZndDsmZ3Q7ICZndDsgJmd0Ozxicj4NCiZndDsmZ3Q7
ICZndDsgJmd0OyBFSEw8YnI+DQomZ3Q7Jmd0OyAmZ3Q7ICZndDs8YnI+DQomZ3Q7Jmd0OyAmZ3Q7
ICZndDsmZ3Q7IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tPGJyPg0KJmd0OyZndDsgJmd0OyAm
Z3Q7Jmd0OyBGcm9tOiA8YSBocmVmPSJtYWlsdG86b2F1dGgtYm91bmNlc0BpZXRmLm9yZyI+PGEg
aHJlZj0ibWFpbHRvOm9hdXRoLWJvdW5jZXNAaWV0Zi5vcmciPm9hdXRoLWJvdW5jZXNAaWV0Zi5v
cmc8L2E+PC9hPiBbbWFpbHRvOjxhIGhyZWY9Im1haWx0bzpvYXV0aC1ib3VuY2VzQGlldGYub3Jn
Ij48YSBocmVmPSJtYWlsdG86b2F1dGgtYm91bmNlc0BpZXRmLm9yZyI+b2F1dGgtYm91bmNlc0Bp
ZXRmLm9yZzwvYT48L2E+XSBPbjxicj4NCiZndDsmZ3Q7ICZndDsgJmd0OyZndDsgQmVoYWxmIE9m
IERpY2sgSGFyZHQ8YnI+DQomZ3Q7Jmd0OyAmZ3Q7ICZndDsmZ3Q7IFNlbnQ6IFN1bmRheSwgQXBy
aWwgMTgsIDIwMTAgOTozMCBQTTxicj4NCiZndDsmZ3Q7ICZndDsgJmd0OyZndDsgVG86IE9BdXRo
IFdHPGJyPg0KJmd0OyZndDsgJmd0OyAmZ3Q7Jmd0OyBTdWJqZWN0OiBbT0FVVEgtV0ddIGFwcGxp
Y2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCB2cyBKU09OPGJyPg0KJmd0OyZndDsgJmd0OyAm
Z3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7ICZndDsgJmd0OyZndDsgVGhlIEFTIHRva2VuIGVuZHBvaW50
IHJlc3BvbnNlIGlzIGVuY29kZWQgYXMgYXBwbGljYXRpb24veC13d3ctZm9ybS08YnI+DQomZ3Q7
Jmd0OyAmZ3Q7ICZndDsmZ3Q7IHVybGVuY29kZWQ8YnI+DQomZ3Q7Jmd0OyAmZ3Q7ICZndDsmZ3Q7
PGJyPg0KJmd0OyZndDsgJmd0OyAmZ3Q7Jmd0OyBXaGlsZSB0aGlzIHJldXNlcyBhIHdlbGwga25v
d24gYW5kIHVuZGVyc3Rvb2QgZW5jb2Rpbmcgc3RhbmRhcmQsIGl0PGJyPg0KJmd0OyZndDsgJmd0
OyAmZ3Q7Jmd0OyBpcyB1bmNvbW1vbiBmb3IgYSBjbGllbnQgdG8gcmVjZWl2ZSBhIG1lc3NhZ2Ug
ZW5jb2RlZCBsaWtlIHRoaXMuIE1vc3Q8YnI+DQomZ3Q7Jmd0OyAmZ3Q7ICZndDsmZ3Q7IHNlcnZl
ciByZXNwb25zZXMgYXJlIGVuY29kZWQgYXMgWE1MIG9yIEpTT04uIExpYnJhcmllcyBhcmUgTk9U
PGJyPg0KJmd0OyZndDsgJmd0OyAmZ3Q7Jmd0OyByZWVkaWx5IGF2YWlsYWJsZSB0byBwYXJzZSBh
cHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQgcmVzdWx0czxicj4NCiZndDsmZ3Q7ICZn
dDsgJmd0OyZndDsgYXMgdGhpcyBpcyBzb21ldGhpbmcgdGhhdCBpcyB0eXBpY2FsbHkgZG9uZSBp
biB0aGUgd2ViIHNlcnZlcnM8YnI+DQomZ3Q7Jmd0OyAmZ3Q7ICZndDsmZ3Q7IGZyYW1ld29yay4g
V2hpbGUgcGFyc2luZyB0aGUgbmFtZSB2YWx1ZSBwYWlycyBhbmQgVVJMIHVuLWVuY29kaW5nPGJy
Pg0KJmd0OyZndDsgJmd0OyAmZ3Q7Jmd0OyB0aGVtIGlzIG5vdCBoYXJkLCBtYW55IGRldmVsb3Bl
cnMgaGF2ZSBiZWVuIGNhdWdodCBqdXN0IHNwbGl0dGluZyB0aGU8YnI+DQomZ3Q7Jmd0OyAmZ3Q7
IHBhcmFtZXRlcnMgYW5kIGZvcmdldHRpbmcgdG8gVVJMIGRlY29kZSB0aGUgdG9rZW4uPGJyPg0K
Jmd0OyZndDsgJmd0OyAmZ3Q7Jmd0OyBTaW5jZSB0aGUgdG9rZW4gaXMgb3BhcXVlIGFuZCBtYXkg
Y29udGFpbiBjaGFyYWN0ZXJzIHRoYXQgYXJlPGJyPg0KJmd0OyZndDsgJmd0OyAmZ3Q7Jmd0OyBl
c2NhcGVkLCBpdCBpcyBhIGRpZmZpY3VsdCBidWcgdG8gZGV0ZWN0Ljxicj4NCiZndDsmZ3Q7ICZn
dDsgJmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyAmZ3Q7ICZndDsmZ3Q7IFBvdGVudGlhbCBvcHRpb25z
Ojxicj4NCiZndDsmZ3Q7ICZndDsgJmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyAmZ3Q7ICZndDsmZ3Q7
IDEpIERvIG5vdGhpbmcsIGRldmVsb3BlcnMgc2hvdWxkIHJlYWQgdGhlIHNwZWNzIGFuZCBkbyB0
aGUgcmlnaHQ8YnI+DQomZ3Q7Jmd0OyAmZ3Q7ICZndDsmZ3Q7IHRoaW5nLjxicj4NCiZndDsmZ3Q7
ICZndDsgJmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyAmZ3Q7ICZndDsmZ3Q7IDIpIFJlcXVpcmUgdGhh
dCBhbGwgcGFyYW1ldGVycyBhcmUgVVJMIHNhZmUgc28gdGhhdCB0aGVyZSBpcyBubzxicj4NCiZn
dDsmZ3Q7ICZndDsgJmd0OyZndDsgZW5jb2RpbmcgaXNzdWUuPGJyPg0KJmd0OyZndDsgJmd0OyAm
Z3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7ICZndDsgJmd0OyZndDsgMykgUmV0dXJuIHJlc3VsdHMgYXMg
SlNPTiwgYW5kIHJlY29tbWVuZCB0aGF0IHBhcmFtZXRlcnMgYmUgVVJMIHNhZmUuPGJyPg0KJmd0
OyZndDsgJmd0OyAmZ3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7ICZndDsgJmd0OyZndDsgLS0gRGljazxi
cj4NCiZndDsmZ3Q7ICZndDsgJmd0OyZndDsgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX188YnI+DQomZ3Q7Jmd0OyAmZ3Q7ICZndDsmZ3Q7IE9BdXRoIG1haWxp
bmcgbGlzdDxicj4NCiZndDsmZ3Q7ICZndDsgJmd0OyZndDsgPGEgaHJlZj0ibWFpbHRvOk9BdXRo
QGlldGYub3JnIj48YSBocmVmPSJtYWlsdG86T0F1dGhAaWV0Zi5vcmciPk9BdXRoQGlldGYub3Jn
PC9hPjwvYT48YnI+DQomZ3Q7Jmd0OyAmZ3Q7ICZndDsmZ3Q7IDxhIGhyZWY9Imh0dHBzOi8vd3d3
LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vb2F1dGgiIHRhcmdldD0iX2JsYW5rIj48YSBocmVm
PSJodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29hdXRoIj5odHRwczovL3d3
dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29hdXRoPC9hPjwvYT48YnI+DQomZ3Q7Jmd0OyAm
Z3Q7ICZndDsgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188
YnI+DQomZ3Q7Jmd0OyAmZ3Q7ICZndDsgT0F1dGggbWFpbGluZyBsaXN0PGJyPg0KJmd0OyZndDsg
Jmd0OyAmZ3Q7IDxhIGhyZWY9Im1haWx0bzpPQXV0aEBpZXRmLm9yZyI+PGEgaHJlZj0ibWFpbHRv
Ok9BdXRoQGlldGYub3JnIj5PQXV0aEBpZXRmLm9yZzwvYT48L2E+PGJyPg0KJmd0OyZndDsgJmd0
OyAmZ3Q7IDxhIGhyZWY9Imh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vb2F1
dGgiIHRhcmdldD0iX2JsYW5rIj48YSBocmVmPSJodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFu
L2xpc3RpbmZvL29hdXRoIj5odHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29h
dXRoPC9hPjwvYT48YnI+DQomZ3Q7Jmd0OyAmZ3Q7ICZndDs8YnI+DQomZ3Q7Jmd0OyAmZ3Q7PGJy
Pg0KJmd0OyZndDsgJmd0Ozxicj4NCiZndDsmZ3Q7ICZndDs8YnI+DQomZ3Q7Jmd0Ozxicj4NCiZn
dDsmZ3Q7IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJy
Pg0KJmd0OyZndDsgT0F1dGggbWFpbGluZyBsaXN0PGJyPg0KJmd0OyZndDsgPGEgaHJlZj0ibWFp
bHRvOk9BdXRoQGlldGYub3JnIj48YSBocmVmPSJtYWlsdG86T0F1dGhAaWV0Zi5vcmciPk9BdXRo
QGlldGYub3JnPC9hPjwvYT48YnI+DQomZ3Q7Jmd0OyA8YSBocmVmPSJodHRwczovL3d3dy5pZXRm
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL29hdXRoIiB0YXJnZXQ9Il9ibGFuayI+PGEgaHJlZj0iaHR0
cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9vYXV0aCI+aHR0cHM6Ly93d3cuaWV0
Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9vYXV0aDwvYT48L2E+PGJyPg0KJmd0Ozxicj4NCiZndDs8
YnI+DQomZ3Q7IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
PGJyPg0KJmd0OyBPQXV0aCBtYWlsaW5nIGxpc3Q8YnI+DQomZ3Q7IDxhIGhyZWY9Im1haWx0bzpP
QXV0aEBpZXRmLm9yZyI+PGEgaHJlZj0ibWFpbHRvOk9BdXRoQGlldGYub3JnIj5PQXV0aEBpZXRm
Lm9yZzwvYT48L2E+PGJyPg0KJmd0OyA8YSBocmVmPSJodHRwczovL3d3dy5pZXRmLm9yZy9tYWls
bWFuL2xpc3RpbmZvL29hdXRoIiB0YXJnZXQ9Il9ibGFuayI+PGEgaHJlZj0iaHR0cHM6Ly93d3cu
aWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9vYXV0aCI+aHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFp
bG1hbi9saXN0aW5mby9vYXV0aDwvYT48L2E+PGJyPg0KJmd0Ozxicj4NCiZndDs8YnI+DQpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4NCk9BdXRoIG1h
aWxpbmcgbGlzdDxicj4NCjxhIGhyZWY9Im1haWx0bzpPQXV0aEBpZXRmLm9yZyI+PGEgaHJlZj0i
bWFpbHRvOk9BdXRoQGlldGYub3JnIj5PQXV0aEBpZXRmLm9yZzwvYT48L2E+PGJyPg0KPGEgaHJl
Zj0iaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9vYXV0aCIgdGFyZ2V0PSJf
YmxhbmsiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vb2F1
dGgiPmh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vb2F1dGg8L2E+PC9hPjxi
cj4NCjxicj4NCjxicj4NCjxicj4NCjxicj4NCjxicj4NCjwvZGl2PjwvZGl2PjwvYmxvY2txdW90
ZT48L2Rpdj48YnI+PC9kaXY+DQo8L2Rpdj48L2Jsb2NrcXVvdGU+PGJsb2NrcXVvdGUgdHlwZT0i
Y2l0ZSI+PGRpdj4mbHQ7QVRUMDAwMDEuLnR4dCZndDs8L2Rpdj48L2Jsb2NrcXVvdGU+PC9ib2R5
PjwvaHRtbD4=

--_000_9FB1C9A16E2745B8AFD5649AD8591AFFhueniversecom_--

From James.H.Manger@team.telstra.com  Tue Apr 20 17:05:16 2010
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2346B3A6995 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 17:05:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.295
X-Spam-Level: 
X-Spam-Status: No, score=-0.295 tagged_above=-999 required=5 tests=[AWL=0.605,  BAYES_00=-2.599, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, HTML_MESSAGE=0.001, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1gdo5zjwucvA for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 17:05:14 -0700 (PDT)
Received: from ipxavo.tcif.telstra.com.au (ipxavo.tcif.telstra.com.au [203.35.135.200]) by core3.amsl.com (Postfix) with ESMTP id CA3B13A698B for <oauth@ietf.org>; Tue, 20 Apr 2010 17:05:06 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.52,246,1270389600"; d="scan'208,217";a="1311609"
Received: from unknown (HELO ipcdvi.tcif.telstra.com.au) ([10.97.217.212]) by ipoavi.tcif.telstra.com.au with ESMTP; 21 Apr 2010 10:04:52 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,5957"; a="941341"
Received: from wsmsg3756.srv.dir.telstra.com ([172.49.40.84]) by ipcdvi.tcif.telstra.com.au with ESMTP; 21 Apr 2010 10:04:52 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by wsmsg3756.srv.dir.telstra.com ([172.49.40.84]) with mapi; Wed, 21 Apr 2010 10:04:52 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: OAuth WG <oauth@ietf.org>
Date: Wed, 21 Apr 2010 10:04:50 +1000
Thread-Topic: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
Thread-Index: Acrg0NuNNWRZGnXGQgmBDzZbSI5UKQAFCEsQ
Message-ID: <255B9BB34FB7D647A506DC292726F6E11257784CD4@WSMSG3153V.srv.dir.telstra.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <t2wc334d54e1004200924ja0e7786u9b349a1931098f2a@mail.gmail.com> <l2ofd6741651004201245gdfc6e2a3j10a6e8a3e59f2072@mail.gmail.com> <1271793363.20679.6.camel@Dynamo> <j2wc334d54e1004201417s1bbcc025r76fdb607295f384c@mail.gmail.com> <9FB1C9A1-6E27-45B8-AFD5-649AD8591AFF@hueniverse.com>
In-Reply-To: <9FB1C9A1-6E27-45B8-AFD5-649AD8591AFF@hueniverse.com>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-AU
Content-Type: multipart/alternative; boundary="_000_255B9BB34FB7D647A506DC292726F6E11257784CD4WSMSG3153Vsrv_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 00:05:16 -0000

--_000_255B9BB34FB7D647A506DC292726F6E11257784CD4WSMSG3153Vsrv_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

KzEgdG8gSlNPTiBhcyB0aGUgb25lIGFuZCBvbmx5IHJlc3BvbnNlIGZvcm1hdC4NCg0KSXQgaXMg
Y29tbW9uIGVub3VnaC4gSXQgaXMgc2ltcGxlIGVub3VnaC4gSXQgaXMgZmxleGlibGUgZW5vdWdo
LiBJdCBpcyB1bmFtYmlndW91c2x5IHNwZWNpZmllZCBlbm91Z2guDQoNCg0KDQpJIHN1Z2dlc3Rl
ZCBhIHN0cnVjdHVyZSBpbiB0aGUg4oCcYXBwbGljYXRpb24vY3JlZGVudGlhbHPigJ0gdGhyZWFk
Lg0KDQpodHRwOi8vd3d3LmlldGYub3JnL21haWwtYXJjaGl2ZS93ZWIvb2F1dGgvY3VycmVudC9t
c2cwMTkyMC5odG1sDQoNCg0KDQoNCg0KLS0NCg0KSmFtZXMgTWFuZ2VyDQoNCg==

--_000_255B9BB34FB7D647A506DC292726F6E11257784CD4WSMSG3153Vsrv_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTIgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
Pg0KPCEtLQ0KIC8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCiBAZm9udC1mYWNlDQoJe2ZvbnQtZmFt
aWx5OiJDYW1icmlhIE1hdGgiOw0KCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQ0KQGZv
bnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0
IDMgMiA0O30NCiAvKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KIHAuTXNvTm9ybWFsLCBsaS5Nc29O
b3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4wMDAx
cHQ7DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIiwi
c2VyaWYiO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5
Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQphOnZpc2l0
ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0K
CWNvbG9yOnB1cnBsZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCnNwYW4uRW1haWxT
dHlsZTE3DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJD
YWxpYnJpIiwic2Fucy1zZXJpZiI7DQoJY29sb3I6IzFGNDk3RDt9DQouTXNvQ2hwRGVmYXVsdA0K
CXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsNCglmb250LXNpemU6MTAuMHB0O30NCkBwYWdl
IFNlY3Rpb24xDQoJe3NpemU6NjEyLjBwdCA3OTIuMHB0Ow0KCW1hcmdpbjo3Mi4wcHQgNzIuMHB0
IDcyLjBwdCA3Mi4wcHQ7fQ0KZGl2LlNlY3Rpb24xDQoJe3BhZ2U6U2VjdGlvbjE7fQ0KLS0+DQo8
L3N0eWxlPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KIDxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9
ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBt
c28gOV0+PHhtbD4NCiA8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQogIDxvOmlkbWFwIHY6
ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0KIDwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0t
LT4NCjwvaGVhZD4NCjxib2R5IGJnY29sb3I9IndoaXRlIiBsYW5nPSJFTi1BVSIgbGluaz0iYmx1
ZSIgdmxpbms9InB1cnBsZSI+DQo8ZGl2IGNsYXNzPSJTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtD
YWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xvcjojMUY0OTdEIj4mIzQz
OzEgdG8gSlNPTiBhcyB0aGUgb25lIGFuZCBvbmx5IHJlc3BvbnNlIGZvcm1hdC48bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYm
cXVvdDs7DQpjb2xvcjojMUY0OTdEIj5JdCBpcyBjb21tb24gZW5vdWdoLiBJdCBpcyBzaW1wbGUg
ZW5vdWdoLiBJdCBpcyBmbGV4aWJsZSBlbm91Z2guIEl0IGlzIHVuYW1iaWd1b3VzbHkgc3BlY2lm
aWVkIGVub3VnaC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1
b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7DQpjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2Vy
aWYmcXVvdDs7DQpjb2xvcjojMUY0OTdEIj5JIHN1Z2dlc3RlZCBhIHN0cnVjdHVyZSBpbiB0aGUg
4oCcYXBwbGljYXRpb24vY3JlZGVudGlhbHPigJ0gdGhyZWFkLjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNv
bG9yOiMxRjQ5N0QiPjxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvbWFpbC1hcmNoaXZlL3dl
Yi9vYXV0aC9jdXJyZW50L21zZzAxOTIwLmh0bWwiPmh0dHA6Ly93d3cuaWV0Zi5vcmcvbWFpbC1h
cmNoaXZlL3dlYi9vYXV0aC9jdXJyZW50L21zZzAxOTIwLmh0bWw8L2E+PG86cD48L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7
Ow0KY29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ow0KY29sb3I6IzFGNDk3RCI+
PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsNCmNvbG9yOiMxRjQ5N0QiPi0tDQo8bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2Vy
aWYmcXVvdDs7DQpjb2xvcjojMUY0OTdEIj5KYW1lcyBNYW5nZXI8bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_255B9BB34FB7D647A506DC292726F6E11257784CD4WSMSG3153Vsrv_--

From uidude@google.com  Tue Apr 20 17:45:48 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C8DAB3A67E3 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 17:45:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.989
X-Spam-Level: 
X-Spam-Status: No, score=-104.989 tagged_above=-999 required=5 tests=[AWL=-0.502, BAYES_05=-1.11, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jxJTWtFDHIhQ for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 17:45:47 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 77DB73A67D4 for <oauth@ietf.org>; Tue, 20 Apr 2010 17:45:47 -0700 (PDT)
Received: from wpaz24.hot.corp.google.com (wpaz24.hot.corp.google.com [172.24.198.88]) by smtp-out.google.com with ESMTP id o3L0jXwV010883 for <oauth@ietf.org>; Tue, 20 Apr 2010 17:45:33 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271810733; bh=L4jsO8CzuYLRxTFyUD0Eez+ja+g=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=DXU7gq0mr4j331wMz073R+XgQSs6mOb+KrPBBVQidChvBIgrV+xSvwksVi9l/s068 YeIhLdBM6CWJZrILDtalQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=EY8KZ2oBGZ0rdfLOjmRfg3cyFzS+GAjWqvVTIJCnh9c4IXCEcCICHtl96B2qLOuAt NRCLKsY7no+8yyIk/gnig==
Received: from yxe41 (yxe41.prod.google.com [10.190.2.41]) by wpaz24.hot.corp.google.com with ESMTP id o3L0iwtG002455 for <oauth@ietf.org>; Tue, 20 Apr 2010 17:45:32 -0700
Received: by yxe41 with SMTP id 41so4414882yxe.14 for <oauth@ietf.org>; Tue, 20 Apr 2010 17:45:32 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.150.179.14 with HTTP; Tue, 20 Apr 2010 17:45:10 -0700 (PDT)
In-Reply-To: <4BCE071E.5030008@lodderstedt.net>
References: <4BCE071E.5030008@lodderstedt.net>
From: Evan Gilbert <uidude@google.com>
Date: Tue, 20 Apr 2010 17:45:10 -0700
Received: by 10.151.20.11 with SMTP id x11mr7685194ybi.216.1271810730468; Tue,  20 Apr 2010 17:45:30 -0700 (PDT)
Message-ID: <q2oc8689b661004201745wbf45d637w6c224d09513e7be2@mail.gmail.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Content-Type: multipart/alternative; boundary=000e0cd4b11acff1c90484b4820d
X-System-Of-Record: true
Cc: "OAuth WG \(oauth@ietf.org\)" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Variant of Web Server Flow w/o direct communication
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 00:45:49 -0000

--000e0cd4b11acff1c90484b4820d
Content-Type: text/plain; charset=ISO-8859-1

On Tue, Apr 20, 2010 at 12:57 PM, Torsten Lodderstedt <
torsten@lodderstedt.net> wrote:

> Hi all,
>
> I would like to propose an additional variant of the Web Server Flow w/o
> the need for direct communication between client and authorization server in
> order to obtain authorized access/refresh tokens. Instead access and refresh
> tokens should directly be send back with the redirect to the client as it is
> the case in the User-Agent Flow.
>

Question (and sorry if I'm being dense) - what is the delta between Web
Server flow + verification_code=false and User-Agent flow?


>
> As a major advantage the authorization server can be stateless with respect
> to authorization transaction data because there is no need to hold such data
> until the client obtains the tokens from the authorization server (callback,
> client, verification code, identity and so on). This simplifies the
> cluster/loadbalancing/fail-over architecture of the authorization server.
> Moreover, the load on the authz server should be reduced and the client
> saves the roundtrip time of the second call. This is even more important if
> clients extensively use the new "immediate" parameter to implement a SSO
> alike behavior and use this flow very often.
>
> The pattern proposed can be found in SAML and is very similar to the OpenId
> authentication process.
>
> Proposal: Add an optional parameter "verification_code" to the request
> (section 3.5.2.1.).
>
> verification_code
> OPTIONAL. The parameter value must be set to "true" or "false"
>         (case sensitive). If set to "true" and the end user grants access,
>         the redirection URI includes a code the client uses to obtain
>        refresh and access token via a direct POST request. If set to
>        "false" and the end user grants access, the redirection URI includes
>        access and refresh token as well as the expires_in value in
>        query parameters.
>        Defaults to "true" if omitted.
>
> Security Considerations
>
> Threats:
> A malicious client may pretend to be a legitimate client well-known to the
> authorization server. It may attain an access token approved by the end user
> and misuse it.
>
> Countermeasures:
> I see two potential countermeasures:
> a) The response is encrypted with the client_secret and thus can only be
> decrypted by the legitmate client (similar to the way Kerberos handles such
> things).
> - The authorization process is not refused early
> - requires an encrypted container as parameter
> + identity theft is prevented
> b) The request is signed (and thus authenticated) with an HMAC-256 based on
> the client_secret.
> + The inbound request can already be refused if a signature is missing or
> invalid.
> - token data are sent over the use agent in plaint text (which might be
> acceptable since this are user data)
>
> Is there support for this proposal?
>
> regards,
> Torsten.
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--000e0cd4b11acff1c90484b4820d
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Tue, Apr 20, 2010 at 12:57 PM, Torste=
n Lodderstedt <span dir=3D"ltr">&lt;<a href=3D"mailto:torsten@lodderstedt.n=
et">torsten@lodderstedt.net</a>&gt;</span> wrote:<br><blockquote class=3D"g=
mail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-l=
eft:1ex;">

Hi all,<br>
<br>
I would like to propose an additional variant of the Web Server Flow w/o th=
e need for direct communication between client and authorization server in =
order to obtain authorized access/refresh tokens. Instead access and refres=
h tokens should directly be send back with the redirect to the client as it=
 is the case in the User-Agent Flow.<br>

</blockquote><div><br>Question (and sorry if I&#39;m being dense) - what is=
 the delta between Web Server flow + verification_code=3Dfalse and User-Age=
nt flow?</div><div>=A0</div><blockquote class=3D"gmail_quote" style=3D"marg=
in:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


<br>
As a major advantage the authorization server can be stateless with respect=
 to authorization transaction data because there is no need to hold such da=
ta until the client obtains the tokens from the authorization server (callb=
ack, client, verification code, identity and so on). This simplifies the cl=
uster/loadbalancing/fail-over architecture of the authorization server. Mor=
eover, the load on the authz server should be reduced and the client saves =
the roundtrip time of the second call. This is even more important if clien=
ts extensively use the new &quot;immediate&quot; parameter to implement a S=
SO alike behavior and use this flow very often.<br>


<br>
The pattern proposed can be found in SAML and is very similar to the OpenId=
 authentication process.<br>
<br>
Proposal: Add an optional parameter &quot;verification_code&quot; to the re=
quest (section 3.5.2.1.).<br>
<br>
verification_code<br>
OPTIONAL. The parameter value must be set to &quot;true&quot; or &quot;fals=
e&quot;<br>
 =A0 =A0 =A0 =A0 (case sensitive). If set to &quot;true&quot; and the end u=
ser grants access,<br>
 =A0 =A0 =A0 =A0 the redirection URI includes a code the client uses to obt=
ain<br>
 =A0 =A0 =A0 =A0refresh and access token via a direct POST request. If set =
to<br>
 =A0 =A0 =A0 =A0&quot;false&quot; and the end user grants access, the redir=
ection URI includes<br>
 =A0 =A0 =A0 =A0access and refresh token as well as the expires_in value in=
<br>
 =A0 =A0 =A0 =A0query parameters.<br>
 =A0 =A0 =A0 =A0Defaults to &quot;true&quot; if omitted.<br>
<br>
Security Considerations<br>
<br>
Threats:<br>
A malicious client may pretend to be a legitimate client well-known to the =
authorization server. It may attain an access token approved by the end use=
r and misuse it.<br>
<br>
Countermeasures:<br>
I see two potential countermeasures:<br>
a) The response is encrypted with the client_secret and thus can only be de=
crypted by the legitmate client (similar to the way Kerberos handles such t=
hings).<br>
- The authorization process is not refused early<br>
- requires an encrypted container as parameter<br>
+ identity theft is prevented<br>
b) The request is signed (and thus authenticated) with an HMAC-256 based on=
 the client_secret.<br>
+ The inbound request can already be refused if a signature is missing or i=
nvalid.<br>
- token data are sent over the use agent in plaint text (which might be acc=
eptable since this are user data)<br>
<br>
Is there support for this proposal?<br>
<br>
regards,<br>
Torsten.<br>
<br>
<br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</blockquote></div><br>

--000e0cd4b11acff1c90484b4820d--

From sayrer@gmail.com  Tue Apr 20 18:02:06 2010
Return-Path: <sayrer@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DB1C43A67D4 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 18:02:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.67
X-Spam-Level: 
X-Spam-Status: No, score=-3.67 tagged_above=-999 required=5 tests=[AWL=0.929,  BAYES_00=-2.599, GB_I_LETTER=-2]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Anh4R5wNWcbF for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 18:02:06 -0700 (PDT)
Received: from mail-qy0-f181.google.com (mail-qy0-f181.google.com [209.85.221.181]) by core3.amsl.com (Postfix) with ESMTP id 0FE763A68CF for <oauth@ietf.org>; Tue, 20 Apr 2010 18:01:56 -0700 (PDT)
Received: by qyk11 with SMTP id 11so7364859qyk.13 for <oauth@ietf.org>; Tue, 20 Apr 2010 18:01:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:received:message-id :subject:from:to:content-type; bh=+QhNgKFGlZeAZxV//7G/KqYdDWPpIYl3ZZ1ImPcMPQc=; b=GgTXgSDimHhAynJabfFxlepG8pRXTdwlskiSvR9ucR7NHaiQf6oNUXcJOm7GAZX6mM C4irWfJSTQoGLWSHOYlNm0LPkkdq8bnCLGV0ScDywVOPYwMIbbtqC2V1Zcd9Oy1kAlfj DbyMWXLTq6sW/SDVotGutP2LJzqVz5DOXTVr4=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=WWYhFmxM2uwuOb5l/lcWFGo/qokSghxn15ZyixFmUPvAVwiFzP8v6DNdm2MXMuFJpy 2kqNckY6SDjMft5091xPfVLeJeS7kVYbYjJhkQoOB0AeywNDim/bQo8iqXd9mQbO0C2T VDEDX9ljq28LOmLqAijkcR4GqRYeUpqy7R1as=
MIME-Version: 1.0
Received: by 10.229.99.142 with HTTP; Tue, 20 Apr 2010 18:01:44 -0700 (PDT)
Date: Tue, 20 Apr 2010 21:01:44 -0400
Received: by 10.229.211.140 with SMTP id go12mr5372396qcb.32.1271811704893;  Tue, 20 Apr 2010 18:01:44 -0700 (PDT)
Message-ID: <y2q68fba5c51004201801r4d416c73hb45427e92e087829@mail.gmail.com>
From: Robert Sayre <sayrer@gmail.com>
To: oauth@ietf.org
Content-Type: text/plain; charset=ISO-8859-1
Subject: [OAUTH-WG] misuse of status code: 400 Bad Request
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 01:02:07 -0000

The OAuth 2.0 draft uses HTTP status code 400 for access token
requests that are denied.

Here is the definition of 400:

   The request could not be understood by the server due to malformed
   syntax.  The client SHOULD NOT repeat the request without
   modifications.

Status 400 should be used for malformed requests, not those that are
understood and rejected. 401 seems to be a better fit.

-- 

Robert Sayre

"I would have written a shorter letter, but I did not have the time."

From eve@xmlgrrl.com  Tue Apr 20 18:06:00 2010
Return-Path: <eve@xmlgrrl.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0361A3A68ED for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 18:06:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 2.508
X-Spam-Level: **
X-Spam-Status: No, score=2.508 tagged_above=-999 required=5 tests=[BAYES_50=0.001, FROM_DOMAIN_NOVOWEL=0.5, HTML_MESSAGE=0.001, J_CHICKENPOX_54=0.6, J_CHICKENPOX_55=0.6, SARE_URI_CONS7=0.306, URI_NOVOWEL=0.5]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PBPQ+2M2f-9e for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 18:05:57 -0700 (PDT)
Received: from mail.promanage-inc.com (eliasisrael.com [98.111.84.13]) by core3.amsl.com (Postfix) with ESMTP id 785033A67D4 for <oauth@ietf.org>; Tue, 20 Apr 2010 18:05:57 -0700 (PDT)
Received: from [192.168.168.185] ([192.168.168.185]) (authenticated bits=0) by mail.promanage-inc.com (8.14.3/8.14.3) with ESMTP id o3L15duu025043 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Tue, 20 Apr 2010 18:05:40 -0700
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: multipart/alternative; boundary=Apple-Mail-32--700520228
From: Eve Maler <eve@xmlgrrl.com>
In-Reply-To: <h2xc334d54e1004200918s4bea7c3ez8ce69bb1a9c18151@mail.gmail.com>
Date: Tue, 20 Apr 2010 18:05:39 -0700
Message-Id: <530467FD-2F27-4CF7-BEFF-07ACEAD6C2AD@xmlgrrl.com>
References: <C7F1D1FC.32809%eran@hueniverse.com> <620F3756-E159-4EF3-99DC-6D74CC869739@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F48B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <h2xc334d54e1004200918s4bea7c3ez8ce69bb1a9c18151@mail.gmail.com>
To: jsmarr@stanfordalumni.org
X-Mailer: Apple Mail (2.1078)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 01:06:00 -0000

--Apple-Mail-32--700520228
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Folks-- I'm desperately trying to catch up on the list traffic after an =
enforced couple of weeks away (pity me :-).  This seems to be the =
freshest scope thread; let me know if I'm missing a newer one. I just =
wanted to remind people about the previous JSON-flavored proposal from =
the UMA group for standardizing expressions of scope, e.g.:

[{"method": "GET", "uri": "http://example.com/foo"},
{"method": "POST", "uri": "http://example.com/*"}]
We were interested in this approach because many of UMA's use cases deal =
with protecting access to web resources for simple data-sharing, e.g. =
GET access to all the photos in a directory, or to a single web resource =
that represents some identified chunk of the user's identity data. But =
it could also be pretty useful for any API that achieves at least level =
1 in the "REST maturity model" =
(http://www.infoq.com/news/2010/03/RESTLevels -- obviously the =
particular semantics beyond the method/uri pair still needs to be =
documented, but this would encourage such documentation and =
more-standard APIs).

URL-encoding this obviously gets a bit ugly, but the basic form is =
otherwise readily processable. There was a bit of interest expressed on =
the OAuth Google group when I brought this up about a month ago, and I =
previously explored some of the implications in a discussion with Dick =
in the "Recent UMA work that may inform this group's deliberations" =
thread on this list about six weeks ago. (I couldn't find archives that =
went back this far in order to link to the thread. What am I missing?)

It seems like this proposal "goes there" in terms of getting as =
expressive as Eran fears, though the addition of the wildcard takes away =
a good deal of the pain depending on the particular interface at the =
endpoint(s). Is there any wider interest in "going there"?

	Eve

On 20 Apr 2010, at 9:18 AM, Joseph Smarr wrote:

> +1 to nailing down how to pass scopes, as Eran suggests (I think =
space-delimited URLs is best, but that's a detail). Having implemented =
OAuth with probably a dozen different providers (while at Plaxo), scopes =
were always one of those things that just didn't fit cleanly into my =
libraries and abstractions. Specifying a standard place for scope to go =
is one step, but the choice of scopes were all still hardcoded in a =
per-domain config file, which is a pain.=20
>=20
> Worse, it makes it very hard to handle standard protocols like =
Portable Contacts -- I want to be able to write a "contact importer from =
any Portable Contacts provider", where the user types in the domain of =
their provider, and the rest is automagic. Achieving this goal probably =
requires some amount of discovery, and some ability to use =
"unregistered/anonymous mode", but it also requires knowing which scopes =
to pass in. And the first two are pretty easy to solve (include a PoCo =
entry in your site's /.well-known/host-meta and allow =
anonymous/anonymous as consumer key/secret), so the scopes thing is =
really the gating factor here.
>=20
> Also +1 to Eran's meta-point that the job of a spec like this should =
be to reach as far as possible towards specified behavior for interop. =
Just like we defined a large number of contact fields in PoCo, the point =
was not "everyone has to support all of these", but rather "if multiple =
parties want to support any of these, now they have an agreed-upon way =
to do so". And with scope, I hope by now it's well established that =
scopes are going to be common and the status quo badly under-specifies =
how to query for them and use them.
>=20
> Thanks, js
>=20
> On Tue, Apr 20, 2010 at 8:42 AM, Eran Hammer-Lahav =
<eran@hueniverse.com> wrote:
>=20
>=20
> > -----Original Message-----
> > From: Dick Hardt [mailto:dick.hardt@gmail.com]
> > Sent: Monday, April 19, 2010 8:07 PM
> > To: Eran Hammer-Lahav
> > Cc: OAuth WG
> > Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
> >
> >
> > On 2010-04-19, at 9:25 AM, Eran Hammer-Lahav wrote:
> > > 2. Server requires authentication
> > >
> > >    HTTP/1.1 401 Unauthorized
> > >    WWW-Authenticate: Token realm=3D'Example', scope=3D'x2'
> >
> > Can more than one scope be returned? Is it a comma delimited list?
>=20
> One scope parameter with one or more comma-delimited values (we can =
change this to space delimited if people would like to use URIs for =
scope identifiers).
>=20
> > Imagine we have a resource that can have READ or  WRITE access =
granted.
> >
> > An unauthenticated GET on the resource could return the scope URI =
needed
> > for READ, an unauthenticated PUT on the resource could return the =
scope
> > URI for WRITE. What if you want to both do READs and WRITEs? There =
may
> > be another scope that is READ/WRITE. READ and WRITE are pretty =
common
> > capabilities, but one can imagine much more complex capabilities at
> > resources.
>=20
> A failed GET will return scope=3Dread and a failed PUT will return =
scope=3Dwrite. The server can issue an access token with:
>=20
> scope=3Dread
> scope=3Dwrite
> scope=3Dread,write
>=20
> The last can be used for both. In other words, there should not be a =
read_write scope, instead, the token should have two scopes.
>=20
> > The exact semantics to the resource are likely going to very =
contextual.
>=20
> Yes, and this can get very complicated if people want an extremely =
granular way of doing permissions. For example, if you want to issue a =
token that can read contacts and write email, you will need to define a =
bigger set: email_read, email_write, contacts_read, contacts_write. On =
the other hand, if a write access is for all authorized resources, you =
need: email, contacts, read, write.
>=20
> > Given that, returning a single scope value if that is all that makes =
sense to the
> > resource will likely address many use cases.
>=20
> This is true when looking at a single resource.
>=20
> EHL
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


Eve Maler
eve@xmlgrrl.com
http://www.xmlgrrl.com/blog


--Apple-Mail-32--700520228
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; =
"><div>Folks-- I'm desperately trying to catch up on the list traffic =
after an enforced couple of weeks away (pity me :-). &nbsp;This seems to =
be the freshest scope thread; let me know if I'm missing a newer one. I =
just wanted to remind people about the previous JSON-flavored proposal =
from the UMA group for standardizing expressions of scope, =
e.g.:</div><div><br></div><div><span class=3D"Apple-style-span" =
style=3D"font-family: Helvetica, Arial, sans-serif; font-size: 13px; =
line-height: 17px; "><pre class=3D"code-java" style=3D"padding-top: 0px; =
padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: =
10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; =
text-align: left; overflow-x: auto; overflow-y: auto; font-family: =
'Courier New', Courier, monospace; line-height: 1.3; ">[{<span =
class=3D"code-quote" style=3D"color: rgb(0, 145, 0); background-color: =
inherit; ">"method"</span>: <span class=3D"code-quote" style=3D"color: =
rgb(0, 145, 0); background-color: inherit; ">"GET"</span>, <span =
class=3D"code-quote" style=3D"color: rgb(0, 145, 0); background-color: =
inherit; ">"uri"</span>: <span class=3D"code-quote" style=3D"color: =
rgb(0, 145, 0); background-color: inherit; ">"http:<span =
class=3D"code-comment" style=3D"color: rgb(128, 128, 128); =
background-color: inherit; ">//example.com/foo"</span>},
</span>{<span class=3D"code-quote" style=3D"color: rgb(0, 145, 0); =
background-color: inherit; ">"method"</span>: <span class=3D"code-quote" =
style=3D"color: rgb(0, 145, 0); background-color: inherit; =
">"POST"</span>, <span class=3D"code-quote" style=3D"color: rgb(0, 145, =
0); background-color: inherit; ">"uri"</span>: <span class=3D"code-quote" =
style=3D"color: rgb(0, 145, 0); background-color: inherit; ">"http:<span =
class=3D"code-comment" style=3D"color: rgb(128, 128, 128); =
background-color: inherit; =
">//example.com/*"</span>}]</span></pre></span><div>We were interested =
in this approach because many of UMA's use cases deal with protecting =
access to web resources for simple data-sharing, e.g. GET access to all =
the photos in a directory, or to a single web resource that represents =
some identified chunk of the user's identity data. But it could also be =
pretty useful for any API that achieves at least level 1 in the "REST =
maturity model" (<a =
href=3D"http://www.infoq.com/news/2010/03/RESTLevels">http://www.infoq.com=
/news/2010/03/RESTLevels</a> -- obviously the particular semantics =
beyond the method/uri pair still needs to be documented, but this would =
encourage such documentation and more-standard =
APIs).</div><div><br></div><div>URL-encoding this obviously gets a bit =
ugly, but the basic form is otherwise readily processable. There was a =
bit of interest expressed on the OAuth Google group when I brought this =
up about a month ago, and I previously explored some of the implications =
in a discussion with Dick in the "Recent UMA work that may inform this =
group's deliberations" thread on this list about six weeks ago. (I =
couldn't find archives that went back this far in order to link to the =
thread. What am I missing?)</div><div><br></div><div>It seems like this =
proposal "goes there" in terms of getting as expressive as Eran fears, =
though the addition of the wildcard takes away a good deal of the pain =
depending on the particular interface at the endpoint(s). Is there any =
wider interest in "going there"?</div><div><br></div><div><span =
class=3D"Apple-tab-span" style=3D"white-space:pre">	=
</span>Eve</div></div><br><div><div>On 20 Apr 2010, at 9:18 AM, Joseph =
Smarr wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite">+1 to nailing down how to pass scopes, as Eran suggests (I =
think space-delimited URLs is best, but that's a detail). Having =
implemented OAuth with probably a dozen different providers (while at =
Plaxo), scopes were always one of those things that just didn't fit =
cleanly into my libraries and abstractions. Specifying a standard place =
for scope to go is one step, but the choice of scopes were all still =
hardcoded in a per-domain config file, which is a pain.&nbsp;<div>

<br></div><div>Worse, it makes it very hard to handle standard protocols =
like Portable Contacts -- I want to be able to write a "contact importer =
from any Portable Contacts provider", where the user types in the domain =
of their provider, and the rest is automagic. Achieving this goal =
probably requires some amount of discovery, and some ability to use =
"unregistered/anonymous mode", but it also requires knowing which scopes =
to pass in. And the first two are pretty easy to solve (include a PoCo =
entry in your site's /.well-known/host-meta and allow =
anonymous/anonymous as consumer key/secret), so the scopes thing is =
really the gating factor here.</div>

<div><br></div><div>Also +1 to Eran's meta-point that the job of a spec =
like this should be to reach as far as possible towards specified =
behavior for interop. Just like we defined a large number of contact =
fields in PoCo, the point was not "everyone has to support all of =
these", but rather "if multiple parties want to support any of these, =
now they have an agreed-upon way to do so". And with scope, I hope by =
now it's well established that scopes are going to be common and the =
status quo badly under-specifies how to query for them and use =
them.</div>

<div><br></div><div>Thanks, js<br><br><div class=3D"gmail_quote">On Tue, =
Apr 20, 2010 at 8:42 AM, Eran Hammer-Lahav <span dir=3D"ltr">&lt;<a =
href=3D"mailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt;</span> =
wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 =
.8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class=3D"im"><br>
<br>
&gt; -----Original Message-----<br>
&gt; From: Dick Hardt [mailto:<a =
href=3D"mailto:dick.hardt@gmail.com">dick.hardt@gmail.com</a>]<br>
&gt; Sent: Monday, April 19, 2010 8:07 PM<br>
&gt; To: Eran Hammer-Lahav<br>
&gt; Cc: OAuth WG<br>
</div><div class=3D"im">&gt; Subject: Re: [OAUTH-WG] 'Scope' parameter =
proposal<br>
&gt;<br>
&gt;<br>
&gt; On 2010-04-19, at 9:25 AM, Eran Hammer-Lahav wrote:<br>
&gt; &gt; 2. Server requires authentication<br>
&gt; &gt;<br>
&gt; &gt; &nbsp; &nbsp;HTTP/1.1 401 Unauthorized<br>
&gt; &gt; &nbsp; &nbsp;WWW-Authenticate: Token realm=3D'Example', =
scope=3D'x2'<br>
&gt;<br>
&gt; Can more than one scope be returned? Is it a comma delimited =
list?<br>
<br>
</div>One scope parameter with one or more comma-delimited values (we =
can change this to space delimited if people would like to use URIs for =
scope identifiers).<br>
<div class=3D"im"><br>
&gt; Imagine we have a resource that can have READ or &nbsp;WRITE access =
granted.<br>
&gt;<br>
&gt; An unauthenticated GET on the resource could return the scope URI =
needed<br>
&gt; for READ, an unauthenticated PUT on the resource could return the =
scope<br>
&gt; URI for WRITE. What if you want to both do READs and WRITEs? There =
may<br>
&gt; be another scope that is READ/WRITE. READ and WRITE are pretty =
common<br>
&gt; capabilities, but one can imagine much more complex capabilities =
at<br>
&gt; resources.<br>
<br>
</div>A failed GET will return scope=3Dread and a failed PUT will return =
scope=3Dwrite. The server can issue an access token with:<br>
<br>
scope=3Dread<br>
scope=3Dwrite<br>
scope=3Dread,write<br>
<br>
The last can be used for both. In other words, there should not be a =
read_write scope, instead, the token should have two scopes.<br>
<div class=3D"im"><br>
&gt; The exact semantics to the resource are likely going to very =
contextual.<br>
<br>
</div>Yes, and this can get very complicated if people want an extremely =
granular way of doing permissions. For example, if you want to issue a =
token that can read contacts and write email, you will need to define a =
bigger set: email_read, email_write, contacts_read, contacts_write. On =
the other hand, if a write access is for all authorized resources, you =
need: email, contacts, read, write.<br>


<div class=3D"im"><br>
&gt; Given that, returning a single scope value if that is all that =
makes sense to the<br>
&gt; resource will likely address many use cases.<br>
<br>
</div>This is true when looking at a single resource.<br>
<font color=3D"#888888"><br>
EHL<br>
</font><div><div></div><div class=3D"h5"><br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" =
target=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br></div>
_______________________________________________<br>OAuth mailing =
list<br><a =
href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>https://www.ietf.org/=
mailman/listinfo/oauth<br></blockquote></div><br><div>
<span class=3D"Apple-style-span" style=3D"border-collapse: separate; =
color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; =
font-style: normal; font-variant: normal; font-weight: normal; =
letter-spacing: normal; line-height: normal; orphans: 2; text-align: =
auto; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Courier; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div><br =
class=3D"Apple-interchange-newline">Eve Maler</div><div><a =
href=3D"mailto:eve@xmlgrrl.com">eve@xmlgrrl.com</a></div><div><a =
href=3D"http://www.xmlgrrl.com/blog">http://www.xmlgrrl.com/blog</a></div>=
</span></span>
</div>
<br></body></html>=

--Apple-Mail-32--700520228--

From James.H.Manger@team.telstra.com  Tue Apr 20 18:14:44 2010
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 33F3E3A6BE7 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 18:14:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.272
X-Spam-Level: *
X-Spam-Status: No, score=1.272 tagged_above=-999 required=5 tests=[AWL=-1.027,  BAYES_50=0.001, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, J_CHICKENPOX_51=0.6, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id G8f+V72H0U6K for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 18:14:32 -0700 (PDT)
Received: from ipxbno.tcif.telstra.com.au (ipxbno.tcif.telstra.com.au [203.35.82.204]) by core3.amsl.com (Postfix) with ESMTP id EA2263A6BD3 for <oauth@ietf.org>; Tue, 20 Apr 2010 18:14:02 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.52,247,1270389600";  d="scan'208";a="1290431"
Received: from unknown (HELO ipcdni.tcif.telstra.com.au) ([10.97.216.212]) by ipobni.tcif.telstra.com.au with ESMTP; 21 Apr 2010 11:13:45 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,5957"; a="979912"
Received: from wsmsg3703.srv.dir.telstra.com ([172.49.40.171]) by ipcdni.tcif.telstra.com.au with ESMTP; 21 Apr 2010 11:13:46 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by WSMSG3703.srv.dir.telstra.com ([172.49.40.171]) with mapi; Wed, 21 Apr 2010 11:13:45 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Date: Wed, 21 Apr 2010 11:13:44 +1000
Thread-Topic: [OAUTH-WG] 'Scope' parameter proposal
Thread-Index: AcrgNopPKcA99eyRTky8xQ/Bn86fRAAA3IfwABjbyuAAEpLvUA==
Message-ID: <255B9BB34FB7D647A506DC292726F6E11257837329@WSMSG3153V.srv.dir.telstra.com>
References: <C7F1D1FC.32809%eran@hueniverse.com> <620F3756-E159-4EF3-99DC-6D74CC869739@gmail.com> <255B9BB34FB7D647A506DC292726F6E112577842AD@WSMSG3153V.srv.dir.telstra.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F47E@P3PW5EX1MB01.EX1.SECURESERVER.NET>
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F47E@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-AU
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 01:14:45 -0000

RXJhbiwNCg0KPj4gImF1dGh6LXVyaT1odHRwOi8vYXMuZXhhbXBsZS5jb20vP3Njb3BlPXgyIg0K
Pj4gdnMgImF1dGh6LXVyaT1odHRwOi8vYXMuZXhhbXBsZS5jb20vIiBhbmQgInNjb3BlPXgyIg0K
DQo+IC0gSG93IGlzIHRoaXMgcHJvcG9zYWwgKmJldHRlciogdGhhbiBhIHNlcGFyYXRlIHNjb3Bl
IHBhcmFtZXRlcj8NCg0KMSBmaWVsZCBpcyBzaW1wbGVyIHRoYW4gMi4NCg0KPiBZb3VyIHByb3Bv
c2FsIHdpbGwgcHJvZHVjZSBhIHNob3J0ZXIgc3BlY2lmaWNhdGlvbiwNCj4gYnV0IG5vdCBhIHNp
bXBsZXIgZGV2ZWxvcGVyIGV4cGVyaWVuY2UuDQoNCkl0IGlzIG5vIHNpbXBsZXIgZm9yIHNlcnZp
Y2UgZGV2ZWxvcGVycyAtLSB0aGVzZSBzdGlsbCBuZWVkIHRvIGFncmVlIG9uIGhvdyB0byBvcmdh
bml6ZSBzY29wZXMvcGVybWlzc2lvbnMgd2l0aCB0aGVpciBhdXRob3JpemF0aW9uIHNlcnZlci4N
Cg0KSXQgd2lsbCBiZSBzaW1wbGVyIGZvciBjbGllbnQgZGV2ZWxvcGVycy4gVGhlIGNvbmNlcHQg
b2Ygc2NvcGVzIGRpc2FwcGVhcnMgd2hlbiB0aGV5IGFjY2VzcyBzZXJ2aWNlcyB0aGF0IHRoZXkg
ZG9uJ3QgaGF2ZSBzZXJ2aWNlLXNwZWNpZmljIGtub3dsZWRnZSBhYm91dC4NCg0KRGV2ZWxvcGVy
cyB3cml0aW5nIGZvciBhIHNwZWNpZmljIHNlcnZpY2UgZ2V0IGEgc2V0IG9mIGF1dGhvcml6YXRp
b24gVVJJcyBmcm9tIHRoZSBzZXJ2aWNlJ3MgZG9jcyBjb3ZlcmluZyB0aGUgZGlmZmVyZW50IHNj
b3BlcyAocmVzb3VyY2VzL3Blcm1pc3Npb24vZHVyYXRpb25zLy4uLikuIEdldHRpbmcgYSBzZXQg
b2YgVVJJcyB2cyBhIGJhc2UgVVJJIGFuZCBhIHNldCBvZiBzY29wZXMgaXMgYSB0cml2aWFsIChv
ciBub24tZXhpc3RlbnQpIGRpZmZlcmVuY2UuDQoNCg0KPiAtIEhvdyBjYW4gdGhlIGNsaWVudCB0
ZWxsIGlmIGEgdG9rZW4gaXQgYWxyZWFkeSBoYXMgaXMgdmFsaWQgZm9yIGEgZ2l2ZW4gcHJvdGVj
dGVkIHJlc291cmNlPw0KDQpUaGlzIGlzIGFic29sdXRlbHkgcmVxdWlyZWQgLS0gYmVmb3JlIG1h
a2luZyB0aGUgcmVxdWVzdCAoaWUgYmVmb3JlIGV4cG9zaW5nIHRoZSB0b2tlbikuDQpNeSBzdWdn
ZXN0aW9uIChpbiB0aGUgImFwcGxpY2F0aW9uL2NyZWRlbnRpYWxzIiB0aHJlYWQpIGlzIHRvIGlu
Y2x1ZGUgYSBsaXN0IG9mIGxvY2F0aW9ucyB3aGVuZXZlciBhIHRva2VuIGlzIGlzc3VlZC4gRm9y
IGV4YW1wbGUsIGEgcmVzcG9uc2UgdG8gYW4gYWNjZXNzIHRva2VuIHJlcXVlc3QgY291bGQgaW5j
bHVkZToNCiAgInNpdGVzIjpbImh0dHBzOi8vYXBpLmV4YW1wbGUuY29tIiwgImh0dHA6Ly9waG90
by5leGFtcGxlLmNvbSJdDQoNCg0KDQo+IEJlY2F1c2UgdGhlcmUgaXMgbm8gc2NvcGUgcGFyYW1l
dGVyLCBhIGNsaWVudCBpcyBmb3JjZWQgdG8gYWx3YXlzIGdldCBhIG5ldyB0b2tlbiB3aGVuIGEg
cmVxdWVzdCBmYWlscy4gSSBleHBlY3Qgc2VydmVycyB0byBpc3N1ZSB0b2tlbnMgYW5kIHNheSB3
aGF0IHRoZXkgYXJlIGZvci4gRm9yIGV4YW1wbGUsIHdoZW4gcmV0dXJuaW5nIGFuIGFjY2VzcyB0
b2tlbiB0aGUgc2VydmVyIHdpbGwgaW5jbHVkZSBhIHNjb3BlPWEsYixjLiBXaGVuIHRoZSBjbGll
bnQgaXMgZmFjZWQgd2l0aCBhbiBhdXRoZW50aWNhdGlvbiBjaGFsbGVuZ2UgcmVxdWlyaW5nIGEg
dG9rZW4gY2FwYWJsZSBvZiBhIGFuZCBiLCBpdCBrbm93cyBpdCBhbHJlYWR5IGhhdmUgc3VjaCBh
IHRva2VuLiBDbGllbnRzIGNhbiBlbmQgdXAgd2l0aCBtdWx0aXBsZSB0b2tlbnMsIGVhY2ggd2l0
aCBhIGRpZmZlcmVudCBzY29wZS4gVGhpcyBpcyBhIHVzZWZ1bCBwcm9wZXJ0eSBvZiB0aGUgcHJv
dG9jb2wuIEl0IHNob3VsZCBiZSBhYmxlIHRvIHRlbGwgd2hpY2ggdG9rZW4gdG8gdXNlIHdoZXJl
Lg0KDQoNClRoaXMgc291bmRzIG1lc3N5LiBBIGNsaWVudCBtaWdodCBnZXQgInJlZCIsICJibHVl
IiwgYW5kICJncmVlbiIgdG9rZW5zIGFsbCBmb3IgdGhlIHNhbWUgcmVzb3VyY2VzLiBJdCBjYW5u
b3QgdGVsbCB3aGljaCBpcyBhcHByb3ByaWF0ZSBmb3IgYW55IGdpdmVuIHJlcXVlc3QgdW50aWwg
YSA0MDEgcmVzcG9uc2UgdGVsbHMgaXQuIFl1Y2suIFRoaXMgbWlnaHQgYWxsb3cgdG9rZW5zLW9m
LWxlYXN0LXByaXZpbGVnZSwgYnV0IHRvIGJlIHVzYWJsZSBpdCBkZW1hbmRzIGZhciBtb3JlIGV4
dGVuc2l2ZSAiZGlzY292ZXJ5IiBtZWNoYW5pc21zIHRoYW4gcGVyLXJlcXVlc3QgNDAxIHJlc3Bv
bnNlcy4NCg0KQSBmYXIgbW9yZSBsaWtlbHkgYXBwcm9hY2ggaXMgdGhhdCBhbiBleGlzdGluZyB0
b2tlbiBpcyB1cGdyYWRlZCB0byBhIG1vcmUgcG93ZXJmdWwgdG9rZW4gKG1vcmUgc2NvcGVzKSBh
cyByZXF1aXJlZC4gSW4gdGhpcyBzaXR1YXRpb24sIGEgY2xpZW50IG5lZWQgdG8gc2F5IHRvIHRo
ZSBhdXRob3JpemF0aW9uIHNlcnZlciAodmlhIGEgdXNlcik6DQogICJQbGVhc2UgYXV0aG9yaXpl
IHtzdHVmZiB0aGUgcmVzb3VyY2Ugc2VydmVyIHNhaWQgSSBuZWVkfSwgSSBhbHJlYWR5IGhhdmUg
e3N0dWZmIHlvdSBnYXZlIG1lIHByZXZpb3VzbHl9LiINCg0KQSBzaW5nbGUgYXV0aHotdXJpIGlu
IGEgNDAxIHJlc3BvbnNlIGNhbiBlbmNvZGUgIntzdHVmZiB0aGUgcmVzb3VyY2Ugc2VydmVyIHNh
aWQgSSBuZWVkfSIuDQpBIGV4aXN0aW5nIHRva2VuIChvciBhbiBpZGVudGlmaWVyIGZvciBzdWNo
IGEgdG9rZW4pIGNhbiBlbmNvZGUgIntzdHVmZiB5b3UgZ2F2ZSBtZSBwcmV2aW91c2x5fSIuDQoN
CkNsaWVudCBkZXZlbG9wZXJzIHNob3VsZCBub3QgYmUgYnVyZGVuZWQgd2l0aCB0aGUgaW50ZXJu
YWwgc3RydWN0dXJlIG9mIHRoZSAic3R1ZmYiIHdpdGhvdXQgYSBnb29kIHJlYXNvbi4NCg0KLS0N
CkphbWVzIE1hbmdlcg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1h
bmdlciwgSmFtZXMgSCBbbWFpbHRvOkphbWVzLkguTWFuZ2VyQHRlYW0udGVsc3RyYS5jb21dDQo+
IFNlbnQ6IE1vbmRheSwgQXByaWwgMTksIDIwMTAgOTowNiBQTQ0KPiBUbzogRXJhbiBIYW1tZXIt
TGFoYXYNCj4gQ2M6IE9BdXRoIFdHDQo+IFN1YmplY3Q6IFJFOiBbT0FVVEgtV0ddICdTY29wZScg
cGFyYW1ldGVyIHByb3Bvc2FsDQo+IA0KPiA+ICAgIEhUVFAvMS4xIDQwMSBVbmF1dGhvcml6ZWQN
Cj4gPiAgICBXV1ctQXV0aGVudGljYXRlOiBUb2tlbiByZWFsbT0nRXhhbXBsZScsIHNjb3BlPSd4
MicNCj4gDQo+IEkgYXNzdW1lIHRoZSBXV1ctQXV0aGVudGljYXRlIHJlc3BvbnNlIGhlYWRlciBh
bHNvIGhhcyBhbiAiYXV0aHotdXJpIg0KPiBwYXJhbWV0ZXIuDQo+IA0KPiAgICAgIFdXVy1BdXRo
ZW50aWNhdGU6IFRva2VuIHJlYWxtPSdFeGFtcGxlJywgc2NvcGU9J3gyJywgYXV0aHotDQo+IHVy
aT0iaHR0cHM6Ly9hcy5leGFtcGxlLmNvbS8iDQo+IA0KPiBUaGUgZmlyc3QgdGltZSBhIGNsaWVu
dCBhcHAgZ2V0cyB0aGlzIHJlc3BvbnNlIGFsbCBpdCBjYW4gZG8gaXMgYWRkIHRoZSAnc2NvcGUn
IHRvDQo+IHRoZSAnYXV0aHotdXJpJy4gSW4gd2hpY2ggY2FzZSB0aGUgc2VwYXJhdGUgJ3Njb3Bl
JyBwYXJhbWV0ZXIgb2ZmZXJlZCBubw0KPiBhZHZhbnRhZ2UuIFRoZSByZXNvdXJjZSBzZXJ2ZXIg
Y291bGQgaGF2ZSBtb3JlIHNpbXBseSByZXR1cm5lZDoNCj4gDQo+ICAgICAgV1dXLUF1dGhlbnRp
Y2F0ZTogVG9rZW4gcmVhbG09J0V4YW1wbGUnLCBhdXRoei0NCj4gdXJpPSJodHRwczovL2FzLmV4
YW1wbGUuY29tLz9zY29wZT14MiINCj4gDQo+IA0KPiBUaGUgb25lIHNpdHVhdGlvbiB3aGVyZSBh
ICdzY29wZScgcGFyYW1ldGVyIGNhbiBoZWxwIGludGVyb3AgKGJldHdlZW4NCj4gY2xpZW50IHdp
dGggbm8gc2VydmVyLXNwZWNpZmljIGtub3dsZWRnZSBhbmQgdGhlIHNlcnZlcikgaXMgd2hlbiBz
Y29wZXMgYXJlDQo+IGNvbWJpbmVkLg0KPiANCj4gQSBjbGllbnQgd2l0aCBhIHRva2VuIGZvciBz
Y29wZSAneDEnIHRoYXQgcmVjZWl2ZXMgYSA0MDEgY2FuIHJlcXVlc3QgYSBuZXcNCj4gdG9rZW4g
dGhhdCBpbmNsdWRlcyB0aGUgZXh0cmEgc2NvcGUgJ3gyJyBhcyB3ZWxsLiBFdmVuIGluIHRoaXMg
c2l0dWF0aW9uLA0KPiBkZWZpbmluZyBhICdzY29wZScgcGFyYW1ldGVyIGlzIG5vdCBuZWNlc3Nh
cnkuIFRoZSByZXNvdXJjZSBzZXJ2ZXIga25vd3MgdGhlDQo+IG9mZmVyZWQgdG9rZW4gd2FzIGZv
ciBzY29wZSAneDEnLCBidXQgc2NvcGUgJ3gyJyBpcyByZXF1aXJlZCBzbyB0aGUgcmVzcG9uc2UN
Cj4gY2FuIGJlOg0KPiANCj4gICAgICBXV1ctQXV0aGVudGljYXRlOiBUb2tlbiByZWFsbT0nRXhh
bXBsZScsIGF1dGh6LQ0KPiB1cmk9Imh0dHBzOi8vYXMuZXhhbXBsZS5jb20vP3Njb3BlPXgyLHgx
Ig0KPiANCj4gVGhlIGNsaWVudCBqdXN0IHNlZXMgYSBVUkkgYW5kIHVzZXMgaXQgdG8gZ2V0IGEg
bmV3IHRva2VuLiBUaGlzIGFwcHJvYWNoIG1pZ2h0DQo+IHJlcXVpcmUgc29tZSByZXNvdXJjZSBz
ZXJ2ZXJzIHRvIGR5bmFtaWNhbGx5IGdlbmVyYXRlIHRoZSAnYXV0aHotdXJpJyB2YWx1ZQ0KPiBp
biBlcnJvciByZXNwb25zZXMuIEkgZG91YnQgdGhhdCBpcyB0b28gb25lcm91cy4NCj4gDQo+IA0K
PiBBbiBhbHRlcm5hdGl2ZSB3YXkgdG8gc3VwcG9ydCBjb21iaW5pbmcgc2NvcGVzIHdvdWxkIGJl
IHRvIGluY2x1ZGUgKG9yDQo+IHJlZmVyZW5jZSkgYW4gZXhpc3RpbmcgdG9rZW4gd2hlbiByZXF1
ZXN0aW5nIGEgbmV3IG9uZS4gRm9yIGluc3RhbmNlLA0KPiBkZWZpbmUgYW4gJ2FjY2Vzc190b2tl
bicgcGFyYW1ldGVyIHRvIGluY2x1ZGUgd2hlbiByZWRpcmVjdGluZyBhIHVzZXIgdG8gdGhlDQo+
IEFTLiBUaGlzIHdvdWxkIHdvcmsgZm9yIHVwZGF0aW5nIGEgdG9rZW4gZm9yIGFub3RoZXIgJ3Nj
b3BlJywgZm9yIGEgbG9uZ2VyDQo+IGR1cmF0aW9uLCBmb3IgZXh0cmEgJ3Blcm1pc3Npb25zJyBl
dGMuDQo+IFRoaXMgaXMgbm90IGFic29sdXRlbHkgbmVjZXNzYXJ5IHRvIGRlZmluZSB0aGlzIGV4
dHJhICdhY2Nlc3NfdG9rZW4nIHBhcmFtZXRlcg0KPiBzaW5jZSB0aGUgcmVzb3VyY2Ugc2VydmVy
IGNvdWxkIGR5bmFtaWNhbGx5IGluc2VydCB0aGUgY3VycmVudCB0b2tlbiBpbnRvIHRoZQ0KPiBy
ZXR1cm5lZCAnYXV0aHpfdXJpJyB2YWx1ZSBieSBpdHNlbGYsIHdpdGhvdXQgcmVxdWlyaW5nIGNs
aWVudCBjb2RlIHRvIGRvIHNvLg0KPiBBbm90aGVyIGRpZmZpY3VsdHkgaXMgdGhhdCBzb21lIGFj
Y2Vzc190b2tlbnMgc2hvdWxkIG5vdCBiZSBleHBvc2VkIHRvDQo+IHVzZXJzLiBUaGVyZSBtYXkg
bmVlZCB0byBiZSBhbiAnYWNjZXNzX3Rva2VuX2lkJyBzZXBhcmF0ZSBmcm9tIHRoZSBhY3R1YWwN
Cj4gJ2FjY2Vzc190b2tlbicgdmFsdWUuDQo+IA0KPiANCj4gSW4gY29uY2x1c2lvbiwNCj4gKiAt
MSB0byBFcmFu4oCZcyAnc2NvcGUnIHByb3Bvc2FsOw0KPiAqIHBlcmhhcHMgYWRkIGV4cGxpY2l0
IHN1cHBvcnQgZm9yIHVwZGF0aW5nIGEgdG9rZW4gKGFzIG9wcG9zZWQgdG8NCj4gcmVmcmVzaGlu
ZykgYnkgcmVmZXJlbmNpbmcgYW4gZXhpc3RpbmcgdG9rZW4gd2hlbiBnZXR0aW5nIGEgbmV3IG9u
ZS4NCj4gDQo+IA0KPiAtLQ0KPiBKYW1lcyBNYW5nZXINCj4gDQoNCg==

From stpeter@stpeter.im  Tue Apr 20 19:26:19 2010
Return-Path: <stpeter@stpeter.im>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A08073A67E7 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 19:26:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.376
X-Spam-Level: 
X-Spam-Status: No, score=-2.376 tagged_above=-999 required=5 tests=[AWL=0.223,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HrAxW-5mQgSk for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 19:26:18 -0700 (PDT)
Received: from stpeter.im (stpeter.im [207.210.219.233]) by core3.amsl.com (Postfix) with ESMTP id AAA2F3A6830 for <oauth@ietf.org>; Tue, 20 Apr 2010 19:26:18 -0700 (PDT)
Received: from squire.local (dsl-240-138.dynamic-dsl.frii.net [216.17.240.138]) (Authenticated sender: stpeter) by stpeter.im (Postfix) with ESMTPSA id C2D5B40E15 for <oauth@ietf.org>; Tue, 20 Apr 2010 20:26:08 -0600 (MDT)
Message-ID: <4BCE6236.4020803@stpeter.im>
Date: Tue, 20 Apr 2010 20:25:58 -0600
From: Peter Saint-Andre <stpeter@stpeter.im>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: OAuth WG <oauth@ietf.org>
X-Enigmail-Version: 1.0.1
OpenPGP: url=http://www.saint-andre.com/me/stpeter.asc
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms070607020504090000000407"
Subject: [OAUTH-WG] Fwd: RFC 5849 on The OAuth 1.0 Protocol
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 02:26:19 -0000

This is a cryptographically signed message in MIME format.

--------------ms070607020504090000000407
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

FYI.

-------- Original Message --------
Subject: RFC 5849 on The OAuth 1.0 Protocol
Date: Tue, 20 Apr 2010 16:58:22 -0700 (PDT)
From: rfc-editor@rfc-editor.org
To: ietf-announce@ietf.org, rfc-dist@rfc-editor.org
CC: rfc-editor@rfc-editor.org


A new Request for Comments is now available in online RFC libraries.


        RFC 5849

        Title:      The OAuth 1.0 Protocol
        Author:     E. Hammer-Lahav, Ed.
        Status:     Informational
        Stream:     IETF
        Date:       April 2010
        Mailbox:    eran@hueniverse.com
        Pages:      38
        Characters: 80786
        Updates/Obsoletes/SeeAlso:   None

        I-D Tag:    draft-hammer-oauth-10.txt

        URL:        http://www.rfc-editor.org/rfc/rfc5849.txt

OAuth provides a method for clients to access server resources on
behalf of a resource owner (such as a different client or an
end-user).  It also provides a process for end-users to authorize
third-party access to their server resources without sharing their
credentials (typically, a username and password pair), using
user-agent redirections.  This document is not an Internet
Standards Track specification; it is published for informational purposes=
=2E


INFORMATIONAL: This memo provides information for the Internet community.=

It does not specify an Internet standard of any kind. Distribution of
this memo is unlimited.

This announcement is sent to the IETF-Announce and rfc-dist lists.
To subscribe or unsubscribe, see
  http://www.ietf.org/mailman/listinfo/ietf-announce
  http://mailman.rfc-editor.org/mailman/listinfo/rfc-dist

For searching the RFC series, see http://www.rfc-editor.org/rfcsearch.htm=
l.
For downloading RFCs, see http://www.rfc-editor.org/rfc.html.

Requests for special distribution should be addressed to either the
author of the RFC in question, or to rfc-editor@rfc-editor.org.  Unless
specifically noted otherwise on the RFC itself, all RFCs are for
unlimited distribution.


The RFC Editor Team
Association Management Solutions, LLC


_______________________________________________
IETF-Announce mailing list
IETF-Announce@ietf.org
https://www.ietf.org/mailman/listinfo/ietf-announce


--------------ms070607020504090000000407
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIWnDCC
B1cwggY/oAMCAQICAVUwDQYJKoZIhvcNAQEFBQAwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQK
Ew1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBT
aWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRl
IENsaWVudCBDQTAeFw0wOTA3MDYwMDAwMDFaFw0xMDA3MDYyMzU5NTlaMIHCMQswCQYDVQQG
EwJVUzERMA8GA1UECBMIQ29sb3JhZG8xDzANBgNVBAcTBkRlbnZlcjEiMCAGA1UEChMZWE1Q
UCBTdGFuZGFyZHMgRm91bmRhdGlvbjEsMCoGA1UECxMjU3RhcnRDb20gVHJ1c3RlZCBDZXJ0
aWZpY2F0ZSBNZW1iZXIxGjAYBgNVBAMTEVBldGVyIFNhaW50LUFuZHJlMSEwHwYJKoZIhvcN
AQkBFhJzdHBldGVyQHN0cGV0ZXIuaW0wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQCas7Mrnh02GakN8sft+HJpU4MwBxEgrGDZ2ZzUxDDt2sEhM+9Q74h955MtgMhK3TeBf6Hs
hDh/8Z9G//k2qNA0M2S5rejTqrmW0Jabca/L7BUZ0GhnU2N/2zeciFUmuZ4A2l1T5IMX2ZVP
XnNIaefBtbImJAbDz3T0vxkzTtcqgW3wL83PMDiqiuM+e1k+VPvOW4f5ZSGkPIhYCDpWqNE5
wZvjrLNMc8jZOPs9DrsYuIVwU72Vhy1tkEh+w6YpYHrdEUAe+eKe6TuxqZ60e9z3O36uiV//
Ms274iD6PbA/IGazJgaAdg6tvPehwTYGJAGmv3PsJKkLGjgoh+RrrM1LAgMBAAGjggOKMIID
hjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
AwQwHQYDVR0OBBYEFOyws3XWgIY9FP1POVqjdZP9Lu38MB0GA1UdEQQWMBSBEnN0cGV0ZXJA
c3RwZXRlci5pbTCBqAYDVR0jBIGgMIGdgBR7iZySlyShhEcCy3T8LvSs3DLl86GBgaR/MH0x
CzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUg
RGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZp
Y2F0aW9uIEF1dGhvcml0eYIBDzCCAUcGA1UdIASCAT4wggE6MIIBNgYLKwYBBAGBtTcBAgAw
ggElMC4GCCsGAQUFBwIBFiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMDQG
CCsGAQUFBwIBFihodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMIG8
BggrBgEFBQcCAjCBrzAUFg1TdGFydENvbSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0
eSwgcmVhZCB0aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENv
bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93
d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwYwYDVR0fBFwwWjAroCmgJ4YlaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vY3J0dTMtY3JsLmNybDAroCmgJ4YlaHR0cDovL2NybC5zdGFydHNz
bC5jb20vY3J0dTMtY3JsLmNybDCBjgYIKwYBBQUHAQEEgYEwfzA5BggrBgEFBQcwAYYtaHR0
cDovL29jc3Auc3RhcnRzc2wuY29tL3N1Yi9jbGFzczMvY2xpZW50L2NhMEIGCCsGAQUFBzAC
hjZodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9jZXJ0cy9zdWIuY2xhc3MzLmNsaWVudC5jYS5j
cnQwIwYDVR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMA0GCSqGSIb3DQEBBQUA
A4IBAQBgv4xFXZqDKSOtnPOVbqOh1brj7oxRaVYk7N0MJG7x9Y/wkO3iwRwizVLcC1bA+D/R
gyFilXx6IQWE63Ge2tu+Y4w5QoHYwuUFQuBZuxvZpOa3ykdgPlBQaBM8m+Ien0skwNggaizA
X9Pc/sMLpP3jkO1iSF4agy4r5Ed+4G10mP5X0zO3gQwq9Uj4F9tX+58kU+fM1P8Sh+BYR4r/
kSbKE3tWcMaKblWPGwX0nYD26Je7Qb+uX/J5lCgozBrHXQWq8N98iklASf2pv+32Oi1dEjmM
UgAm/J2+YmxaI02+c+H6QH8+F3RUjCiRg9XqUNjcrNrnTFnm/iMMZADktsXPMIIHVzCCBj+g
AwIBAgIBVTANBgkqhkiG9w0BAQUFADCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBMB4XDTA5MDcwNjAwMDAwMVoXDTEwMDcwNjIzNTk1OVowgcIxCzAJBgNVBAYTAlVTMREw
DwYDVQQIEwhDb2xvcmFkbzEPMA0GA1UEBxMGRGVudmVyMSIwIAYDVQQKExlYTVBQIFN0YW5k
YXJkcyBGb3VuZGF0aW9uMSwwKgYDVQQLEyNTdGFydENvbSBUcnVzdGVkIENlcnRpZmljYXRl
IE1lbWJlcjEaMBgGA1UEAxMRUGV0ZXIgU2FpbnQtQW5kcmUxITAfBgkqhkiG9w0BCQEWEnN0
cGV0ZXJAc3RwZXRlci5pbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJqzsyue
HTYZqQ3yx+34cmlTgzAHESCsYNnZnNTEMO3awSEz71DviH3nky2AyErdN4F/oeyEOH/xn0b/
+Tao0DQzZLmt6NOquZbQlptxr8vsFRnQaGdTY3/bN5yIVSa5ngDaXVPkgxfZlU9ec0hp58G1
siYkBsPPdPS/GTNO1yqBbfAvzc8wOKqK4z57WT5U+85bh/llIaQ8iFgIOlao0TnBm+Oss0xz
yNk4+z0Ouxi4hXBTvZWHLW2QSH7Dpilget0RQB754p7pO7GpnrR73Pc7fq6JX/8yzbviIPo9
sD8gZrMmBoB2Dq2896HBNgYkAaa/c+wkqQsaOCiH5GuszUsCAwEAAaOCA4owggOGMAkGA1Ud
EwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNV
HQ4EFgQU7LCzddaAhj0U/U85WqN1k/0u7fwwHQYDVR0RBBYwFIESc3RwZXRlckBzdHBldGVy
LmltMIGoBgNVHSMEgaAwgZ2AFHuJnJKXJKGERwLLdPwu9KzcMuXzoYGBpH8wfTELMAkGA1UE
BhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFs
IENlcnRpZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24g
QXV0aG9yaXR5ggEPMIIBRwYDVR0gBIIBPjCCATowggE2BgsrBgEEAYG1NwECADCCASUwLgYI
KwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUH
AgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgbwGCCsGAQUF
BwICMIGvMBQWDVN0YXJ0Q29tIEx0ZC4wAwIBARqBlkxpbWl0ZWQgTGlhYmlsaXR5LCByZWFk
IHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5zdGFy
dHNzbC5jb20vcG9saWN5LnBkZjBjBgNVHR8EXDBaMCugKaAnhiVodHRwOi8vd3d3LnN0YXJ0
c3NsLmNvbS9jcnR1My1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9j
cnR1My1jcmwuY3JsMIGOBggrBgEFBQcBAQSBgTB/MDkGCCsGAQUFBzABhi1odHRwOi8vb2Nz
cC5zdGFydHNzbC5jb20vc3ViL2NsYXNzMy9jbGllbnQvY2EwQgYIKwYBBQUHMAKGNmh0dHA6
Ly93d3cuc3RhcnRzc2wuY29tL2NlcnRzL3N1Yi5jbGFzczMuY2xpZW50LmNhLmNydDAjBgNV
HRIEHDAahhhodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS8wDQYJKoZIhvcNAQEFBQADggEBAGC/
jEVdmoMpI62c85Vuo6HVuuPujFFpViTs3QwkbvH1j/CQ7eLBHCLNUtwLVsD4P9GDIWKVfHoh
BYTrcZ7a275jjDlCgdjC5QVC4Fm7G9mk5rfKR2A+UFBoEzyb4h6fSyTA2CBqLMBf09z+wwuk
/eOQ7WJIXhqDLivkR37gbXSY/lfTM7eBDCr1SPgX21f7nyRT58zU/xKH4FhHiv+RJsoTe1Zw
xopuVY8bBfSdgPbol7tBv65f8nmUKCjMGsddBarw33yKSUBJ/am/7fY6LV0SOYxSACb8nb5i
bFojTb5z4fpAfz4XdFSMKJGD1epQ2Nys2udMWeb+IwxkAOS2xc8wggfiMIIFyqADAgECAgEP
MA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQu
MSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQD
EyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNzEwMjQyMTAzMzJaFw0x
MjEwMjIyMTAzMzJaMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEr
MCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMv
U3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5o0luEj4gypQIp71Xi2TlXyLYrj9WkRy+d9BO
0FHPYnAsC99/jx/ibNRwIfAoFhZd+LDscdRSckvwuFSz0bKg3z+9o7cwlVAC9AwMWe8IM0Lx
c+8etYxsX4WIamG9fjzzi5GAW5ESKzzIN3SxHSplyGCWFwx/pgf1f4y6O9/ym+4f6zaDYP6B
x0r+SaJcr6eSGNm7X3EwX1v7XpRBY+aw019o7k72d0IX910F+XGt0OwNdM61Ff3FiTiexeUZ
bWxCGm6GZl+SQVG9xYVIgHQaLXoQF+g2wzrmKCbVcZhqH+hrlRnD6PfCuEyX/BR6PlAPRDlQ
6f1u3wqik+LF5P15AgMBAAGjggNbMIIDVzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBpjAd
BgNVHQ4EFgQUe4mckpckoYRHAst0/C70rNwy5fMwgagGA1UdIwSBoDCBnYAUTgvvGqRAW6UX
aYcwyjRoQ9BBrvKhgYGkfzB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UE
AxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHmCAQEwCQYDVR0SBAIwADA9Bggr
BgEFBQcBAQQxMC8wLQYIKwYBBQUHMAKGIWh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2Nh
LmNydDBgBgNVHR8EWTBXMCygKqAohiZodHRwOi8vY2VydC5zdGFydGNvbS5vcmcvc2ZzY2Et
Y3JsLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20vc2ZzY2EuY3JsMIIBXQYD
VR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBBDCCATswLwYIKwYBBQUHAgEWI2h0dHA6Ly9j
ZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRwOi8vY2VydC5z
dGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYgU3RhcnQg
Q29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5LCBy
ZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQu
c3RhcnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMFAGCWCGSAGG+EIB
DQRDFkFTdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRlIEZyZWUgU1NMIEVt
YWlsIENlcnRpZmljYXRlczANBgkqhkiG9w0BAQUFAAOCAgEAUpcEDdsKFRCxFBxcSm+8oMTT
fpS7fbZkxWHx5fHDjvAgaBQ+oY0tk4xtbD6VxeHYjxI63+hj8jICnqeVXPe34Bu+XzekIn2T
lrnPCQobKdQF2p52QgUvIxSURed0jcBaCBV22DSKaUqDOzD/Tx6VQy78zpblXjRH7OALE/+H
jzJVmspdnBUUtQOLYgPo924xkxR25VDdgtEE5vAXa/g2oCeZhy0ZEO4NbgIayAYCJcJRDz0h
dD2Ahec65Kw6LB3N7VXEjiRR5/WoKwH/QteRzPJbFDc1somrApjm2cyg+5nbm1RHeFIz+GxX
luRrPztvhNcby0PtAjqwY1txi4sW0R6ZJPuZ2DZ1/dzckoFhyZgFyOX3SEkNXVLldjTzneFJ
FnVSzDbc720vq184jR7pYoI9+f5QJ96a0iLxEAG8SJ5auBwXI/w2FmKmwmdMvJ8/17+B4sMC
IRrXrDQl2xzpVXh/Qcmk5nf+w8HFmqATGy1OUAQbXga7AySAUaYhvvFk50u0bO5DiUGwzrJO
3TrwvaC2Ei4EFaBmIVgG7TfU5TaaY9IcJSCQ7AGUYE3RFSRpsLOoA3DsxP42YERgS/Nxw29+
YqZtPoO2QPbNpI7xnHVCfNBabx3oDIf438nFfv8spw5BQqBSbEF1izJA57eE64CzHnt7lB20
OFD11avYopwxggPKMIIDxgIBATCBkjCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBAgFVMAkGBSsOAwIaBQCgggIMMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZI
hvcNAQkFMQ8XDTEwMDQyMTAyMjU1OFowIwYJKoZIhvcNAQkEMRYEFGqIar+Y1ZQudzLXJJLA
I9xhzTP/MF8GCSqGSIb3DQEJDzFSMFAwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqG
SIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBowYJ
KwYBBAGCNxAEMYGVMIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UE
AxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0ECAVUw
gaUGCyqGSIb3DQEJEAILMYGVoIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRD
b20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4
MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQg
Q0ECAVUwDQYJKoZIhvcNAQEBBQAEggEAY47gUvqczg+HXhbwVeu9wyVqg8ZLvUYy3QbSOsWX
n0AeXb7aUUrOcz5Y1/u/GL2TOAI6QknoVqwVx+72XggtMtXsRSLsXSd+Mg1g92bnPG+5a12D
gHPFNd5pLK2XEtdXOMla8pZMQdqvS4rueI/QV646SayFBEcpLUD9BF7Mq0h3RdgLZIVNc6f2
LVnUaANIZVXDqVVR3vCKgdpFBpyx2sBkg4XWLBAF1FdhXbr0y2aBOuzHZ29oPAgb0YcUfr8u
obyi1+alsq1Utwn54pWmgJ/D667HuUYurhMSCSXNzLg5dRGDtlkxrZRaFtbrIOvNwIelk6SC
/CZNRz0PMOvCeQAAAAAAAA==
--------------ms070607020504090000000407--

From torsten@lodderstedt.net  Tue Apr 20 22:30:30 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 40A4C3A6927 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 22:30:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.994
X-Spam-Level: 
X-Spam-Status: No, score=-1.994 tagged_above=-999 required=5 tests=[AWL=0.254,  BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yTHR4gSGlrX0 for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 22:30:29 -0700 (PDT)
Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.18.44]) by core3.amsl.com (Postfix) with ESMTP id B4E4D3A6A06 for <oauth@ietf.org>; Tue, 20 Apr 2010 22:30:12 -0700 (PDT)
Received: from p4fff2ac8.dip.t-dialin.net ([79.255.42.200] helo=[127.0.0.1]) by smtprelay02.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O4SVc-0004ID-OM; Wed, 21 Apr 2010 07:30:00 +0200
Message-ID: <4BCE8D55.4040708@lodderstedt.net>
Date: Wed, 21 Apr 2010 07:29:57 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Evan Gilbert <uidude@google.com>
References: <4BCE071E.5030008@lodderstedt.net> <q2oc8689b661004201745wbf45d637w6c224d09513e7be2@mail.gmail.com>
In-Reply-To: <q2oc8689b661004201745wbf45d637w6c224d09513e7be2@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------000104070406010908010401"
X-Df-Sender: 141509
Cc: "OAuth WG \(oauth@ietf.org\)" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Variant of Web Server Flow w/o direct communication
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 05:30:30 -0000

This is a multi-part message in MIME format.
--------------000104070406010908010401
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Am 21.04.2010 02:45, schrieb Evan Gilbert:
>
>
> On Tue, Apr 20, 2010 at 12:57 PM, Torsten Lodderstedt 
> <torsten@lodderstedt.net <mailto:torsten@lodderstedt.net>> wrote:
>
>     Hi all,
>
>     I would like to propose an additional variant of the Web Server
>     Flow w/o the need for direct communication between client and
>     authorization server in order to obtain authorized access/refresh
>     tokens. Instead access and refresh tokens should directly be send
>     back with the redirect to the client as it is the case in the
>     User-Agent Flow.
>
>
> Question (and sorry if I'm being dense) - what is the delta between 
> Web Server flow + verification_code=false and User-Agent flow?

This is not a dense question :-)

The User Agent Flow adds the data as URL fragment which is not passed to 
the web server (as far as I understand). My proposal adds this data as 
URL query parameters, which are passed to the web server by the user agent.

I think the delta is small in terms of specification but the benefit for 
large-scale OAuth 2.0 deployments would be significant.

regards,
Torsten.

--------------000104070406010908010401
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Am 21.04.2010 02:45, schrieb Evan Gilbert:
<blockquote
 cite="mid:q2oc8689b661004201745wbf45d637w6c224d09513e7be2@mail.gmail.com"
 type="cite"><br>
  <br>
  <div class="gmail_quote">On Tue, Apr 20, 2010 at 12:57 PM, Torsten
Lodderstedt <span dir="ltr">&lt;<a moz-do-not-send="true"
 href="mailto:torsten@lodderstedt.net">torsten@lodderstedt.net</a>&gt;</span>
wrote:<br>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi
all,<br>
    <br>
I would like to propose an additional variant of the Web Server Flow
w/o the need for direct communication between client and authorization
server in order to obtain authorized access/refresh tokens. Instead
access and refresh tokens should directly be send back with the
redirect to the client as it is the case in the User-Agent Flow.<br>
  </blockquote>
  <div><br>
Question (and sorry if I'm being dense) - what is the delta between Web
Server flow + verification_code=false and User-Agent flow?</div>
  </div>
</blockquote>
<br>
This is not a dense question :-) <br>
<br>
The User Agent Flow adds the data as URL fragment which is not passed
to the web server (as far as I understand). My proposal adds this data
as URL query parameters, which are passed to the web server by the user
agent.<br>
<br>
I think the delta is small in terms of specification but the benefit
for large-scale OAuth 2.0 deployments would be significant.<br>
<br>
regards,<br>
Torsten.<br>
</body>
</html>

--------------000104070406010908010401--


From torsten@lodderstedt.net  Tue Apr 20 22:43:51 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E75543A6A2B for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 22:43:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.002
X-Spam-Level: 
X-Spam-Status: No, score=-2.002 tagged_above=-999 required=5 tests=[AWL=0.246,  BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KdCvzyB9UOPE for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 22:43:49 -0700 (PDT)
Received: from smtprelay01.ispgateway.de (smtprelay01.ispgateway.de [80.67.18.13]) by core3.amsl.com (Postfix) with ESMTP id A67CB3A6872 for <oauth@ietf.org>; Tue, 20 Apr 2010 22:43:46 -0700 (PDT)
Received: from p4fff2ac8.dip.t-dialin.net ([79.255.42.200] helo=[127.0.0.1]) by smtprelay01.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O4Sif-0000mh-8F; Wed, 21 Apr 2010 07:43:29 +0200
Message-ID: <4BCE907E.1050509@lodderstedt.net>
Date: Wed, 21 Apr 2010 07:43:26 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: "Manger, James H" <James.H.Manger@team.telstra.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com>	<90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<20100419134825.134951nuzvi35hk4@webmail.df.eu>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<t2wc334d54e1004200924ja0e7786u9b349a1931098f2a@mail.gmail.com>	<l2ofd6741651004201245gdfc6e2a3j10a6e8a3e59f2072@mail.gmail.com>	<1271793363.20679.6.camel@Dynamo>	<j2wc334d54e1004201417s1bbcc025r76fdb607295f384c@mail.gmail.com>	<9FB1C9A1-6E27-45B8-AFD5-649AD8591AFF@hueniverse.com> <255B9BB34FB7D647A506DC292726F6E11257784CD4@WSMSG3153V.srv.dir.telstra.com>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E11257784CD4@WSMSG3153V.srv.dir.telstra.com>
Content-Type: multipart/alternative; boundary="------------050406010703030005020403"
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 05:43:51 -0000

This is a multi-part message in MIME format.
--------------050406010703030005020403
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

I'm indetermined. Using JSON exclusively instead of form encoded 
parameters would give us the possibility to use structured parameters 
(in and outbound) instead of a flat parameter list, which I would like 
very much. But there are propably use cases where form encoded 
parameters are better suited.

regards,
Torsten.

Am 21.04.2010 02:04, schrieb Manger, James H:
>
> +1 to JSON as the one and only response format.
>
> It is common enough. It is simple enough. It is flexible enough. It is 
> unambiguously specified enough.
>
> I suggested a structure in the â€œapplication/credentialsâ€ thread.
>
> http://www.ietf.org/mail-archive/web/oauth/current/msg01920.html
>
> -- 
>
> James Manger
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    


--------------050406010703030005020403
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
I'm indetermined. Using JSON exclusively instead of form encoded
parameters would give us the possibility to use structured parameters
(in and outbound) instead of a flat parameter list, which I would like
very much. But there are propably use cases where form encoded
parameters are better suited.<br>
<br>
regards,<br>
Torsten. <br>
<br>
Am 21.04.2010 02:04, schrieb Manger, James H:
<blockquote
 cite="mid:255B9BB34FB7D647A506DC292726F6E11257784CD4@WSMSG3153V.srv.dir.telstra.com"
 type="cite">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta name="Generator" content="Microsoft Word 12 (filtered medium)">
  <style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page Section1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
	{page:Section1;}
-->
  </style><!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
  <div class="Section1">
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">+1
to JSON as the one and only response format.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">It
is common enough. It is simple enough. It is flexible enough. It is
unambiguously specified enough.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>Â </o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">I
suggested a structure in the â€œapplication/credentialsâ€ thread.<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><a
 moz-do-not-send="true"
 href="http://www.ietf.org/mail-archive/web/oauth/current/msg01920.html">http://www.ietf.org/mail-archive/web/oauth/current/msg01920.html</a><o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>Â </o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>Â </o:p></span></p>
  <div>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">--
  <o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">James
Manger<o:p></o:p></span></p>
  </div>
  </div>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>
  </pre>
</blockquote>
<br>
</body>
</html>

--------------050406010703030005020403--


From torsten@lodderstedt.net  Tue Apr 20 22:49:07 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9E7353A6A2D for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 22:49:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.08
X-Spam-Level: 
X-Spam-Status: No, score=-1.08 tagged_above=-999 required=5 tests=[AWL=-0.690,  BAYES_20=-0.74, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id N35-hr2cL31O for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 22:49:06 -0700 (PDT)
Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.31.40]) by core3.amsl.com (Postfix) with ESMTP id D8D5A3A6A04 for <oauth@ietf.org>; Tue, 20 Apr 2010 22:49:05 -0700 (PDT)
Received: from p4fff2ac8.dip.t-dialin.net ([79.255.42.200] helo=[127.0.0.1]) by smtprelay02.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O4Snt-0001gE-Dl; Wed, 21 Apr 2010 07:48:53 +0200
Message-ID: <4BCE91C2.7070007@lodderstedt.net>
Date: Wed, 21 Apr 2010 07:48:50 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Robert Sayre <sayrer@gmail.com>
References: <y2q68fba5c51004201801r4d416c73hb45427e92e087829@mail.gmail.com>
In-Reply-To: <y2q68fba5c51004201801r4d416c73hb45427e92e087829@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] misuse of status code: 400 Bad Request
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 05:49:07 -0000

+1

I would propose to use appropriate HTTP status codes where possible. 
Especially wrong parameters (violated precodition) and 
authentication/authorization related errors should be signaled 
differently. I think status code 400 is ok for the first category, 
status codes 401 and probably 403 are good candidates for the other. 
Status code 401 could be combined w/ WW-Authenticate header.

regards,
Torsten.

Am 21.04.2010 03:01, schrieb Robert Sayre:
> The OAuth 2.0 draft uses HTTP status code 400 for access token
> requests that are denied.
>
> Here is the definition of 400:
>
>     The request could not be understood by the server due to malformed
>     syntax.  The client SHOULD NOT repeat the request without
>     modifications.
>
> Status 400 should be used for malformed requests, not those that are
> understood and rejected. 401 seems to be a better fit.
>
>    



From igor.faynberg@alcatel-lucent.com  Tue Apr 20 23:09:43 2010
Return-Path: <igor.faynberg@alcatel-lucent.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4E9C33A6C3E for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 23:09:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id db1MIGYIzgnA for <oauth@core3.amsl.com>; Tue, 20 Apr 2010 23:09:42 -0700 (PDT)
Received: from ihemail3.lucent.com (ihemail3.lucent.com [135.245.0.37]) by core3.amsl.com (Postfix) with ESMTP id 7F03F3A6C3D for <oauth@ietf.org>; Tue, 20 Apr 2010 23:09:42 -0700 (PDT)
Received: from umail.lucent.com (h135-3-40-63.lucent.com [135.3.40.63]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id o3L69TSd000598 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 21 Apr 2010 01:09:29 -0500 (CDT)
Received: from [135.244.33.165] (faynberg.lra.lucent.com [135.244.33.165]) by umail.lucent.com (8.13.8/TPES) with ESMTP id o3L69SCu025362; Wed, 21 Apr 2010 01:09:29 -0500 (CDT)
Message-ID: <4BCE9698.9090404@alcatel-lucent.com>
Date: Wed, 21 Apr 2010 02:09:28 -0400
From: Igor Faynberg <igor.faynberg@alcatel-lucent.com>
Organization: Alcatel-Lucent
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
To: Torsten Lodderstedt <torsten@lodderstedt.net>
References: <y2q68fba5c51004201801r4d416c73hb45427e92e087829@mail.gmail.com> <4BCE91C2.7070007@lodderstedt.net>
In-Reply-To: <4BCE91C2.7070007@lodderstedt.net>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.37
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] misuse of status code: 400 Bad Request
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: igor.faynberg@alcatel-lucent.com
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 06:09:43 -0000

+1, but why "where possible" (vs always)?

Igor

Torsten Lodderstedt wrote:
> +1
>
> I would propose to use appropriate HTTP status codes where possible. 
> Especially wrong parameters (violated precodition) and 
> authentication/authorization related errors should be signaled 
> differently. I think status code 400 is ok for the first category, 
> status codes 401 and probably 403 are good candidates for the other. 
> Status code 401 could be combined w/ WW-Authenticate header.
>
> regards,
> Torsten.
>
> Am 21.04.2010 03:01, schrieb Robert Sayre:
>> The OAuth 2.0 draft uses HTTP status code 400 for access token
>> requests that are denied.
>>
>> Here is the definition of 400:
>>
>>     The request could not be understood by the server due to malformed
>>     syntax.  The client SHOULD NOT repeat the request without
>>     modifications.
>>
>> Status 400 should be used for malformed requests, not those that are
>> understood and rejected. 401 seems to be a better fit.
>>
>>    
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth

From simoneg@apache.org  Wed Apr 21 04:49:54 2010
Return-Path: <simoneg@apache.org>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id CCB413A6B85 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 04:49:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.376
X-Spam-Level: 
X-Spam-Status: No, score=-7.376 tagged_above=-999 required=5 tests=[BAYES_50=0.001, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VhXhYxOPXrW3 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 04:49:53 -0700 (PDT)
Received: from minotaur.apache.org (minotaur.apache.org [140.211.11.9]) by core3.amsl.com (Postfix) with SMTP id 8A03E3A695A for <oauth@ietf.org>; Wed, 21 Apr 2010 04:49:53 -0700 (PDT)
Received: (qmail 92669 invoked by uid 99); 21 Apr 2010 11:49:43 -0000
Received: from localhost.apache.org (HELO mail-wy0-f172.google.com) (127.0.0.1) (smtp-auth username simoneg, mechanism plain) by minotaur.apache.org (qpsmtpd/0.29) with ESMTP; Wed, 21 Apr 2010 11:49:43 +0000
Received: by wyb40 with SMTP id 40so3332901wyb.31 for <oauth@ietf.org>; Wed, 21 Apr 2010 04:49:41 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.28.78 with HTTP; Wed, 21 Apr 2010 04:49:40 -0700 (PDT)
In-Reply-To: <4BC6FD62.2020203@pidster.com>
References: <4BC6FD62.2020203@pidster.com>
Date: Wed, 21 Apr 2010 13:49:40 +0200
Received: by 10.216.87.147 with SMTP id y19mr3397323wee.136.1271850580653;  Wed, 21 Apr 2010 04:49:40 -0700 (PDT)
Message-ID: <h2kbc03cd711004210449le80dd2d3q8eaf3b8696a994c1@mail.gmail.com>
From: Simone Gianni <simoneg@apache.org>
To: OAuth WG <oauth@ietf.org>
Content-Type: multipart/alternative; boundary=0016e6d64514113ca40484bdcaa1
Subject: Re: [OAUTH-WG] Standardisation of a Java API
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 11:49:54 -0000

--0016e6d64514113ca40484bdcaa1
Content-Type: text/plain; charset=ISO-8859-1

Hi Pid,
I'm also interested in developing a Java library for OAuth 2. There is an
Apache Lab (labs.apache.org , lab named Amber) working on an OAuth 1 Java
API, it could (will) eventually move to Incubator if we manage to get enough
momentum.

It would be nice to have a Java API that integrates with existing systems,
like JAAS and Spring Security (formerly known as Acegi). That would ease the
migration for all the frameworks and existing systems that already use those
libraries.

Simone

2010/4/15 Pid <pid@pidster.com>

> Hi all,
>
> I'm interested in working with other Java programmers to develop a
> standardised API for OAuth 2.0.
>
> I have reviewed the recent archives, but don't see anything in the way
> of discussion on this topic.  If anyone can point me to a location where
> it is being discussed I'd be grateful.
>
>
> I think it would be good if the OAuth community was able to agree a spec
> and then for implementors to have something to focus their efforts
> against, instead of produced many different and incompatible libraries.
>
> There are obviously challenges in attempting this before the v2.0 itself
> is final, but perhaps the effort will inform the overall debate.
>
>
> The different Java implementations of OAuth version 1.0 each have
> varying features and levels of complexity.  Most implementations focus
> on the client component and don't provide server components at all.
> I'd like to improve on that in a Java API.
>
> Some ideas I have include specifying that, in addition to programmatical
> configuration, an implementation should allow ServiceLoader and XML
> based configurations, and perhaps even an Annotation based config.
>
>
> I'd like to hear from anyone who'd be interested in combining efforts,
> Java programmer or not.
>
>
> Cheers,
>
>
> Pid
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

--0016e6d64514113ca40484bdcaa1
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi Pid,<br>I&#39;m also interested in developing a Java library for OAuth 2=
. There is an Apache Lab (<a href=3D"http://labs.apache.org">labs.apache.or=
g</a> , lab named Amber) working on an OAuth 1 Java API, it could (will) ev=
entually move to Incubator if we manage to get enough momentum.<br>
<br>It would be nice to have a Java API that integrates with existing syste=
ms, like JAAS and Spring Security (formerly known as Acegi). That would eas=
e the migration for all the frameworks and existing systems that already us=
e those libraries.<br>
<br>Simone<br><br><div class=3D"gmail_quote">2010/4/15 Pid <span dir=3D"ltr=
">&lt;<a href=3D"mailto:pid@pidster.com">pid@pidster.com</a>&gt;</span><br>=
<blockquote class=3D"gmail_quote" style=3D"border-left: 1px solid rgb(204, =
204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi all,<br>
<br>
I&#39;m interested in working with other Java programmers to develop a<br>
standardised API for OAuth 2.0.<br>
<br>
I have reviewed the recent archives, but don&#39;t see anything in the way<=
br>
of discussion on this topic. =A0If anyone can point me to a location where<=
br>
it is being discussed I&#39;d be grateful.<br>
<br>
<br>
I think it would be good if the OAuth community was able to agree a spec<br=
>
and then for implementors to have something to focus their efforts<br>
against, instead of produced many different and incompatible libraries.<br>
<br>
There are obviously challenges in attempting this before the v2.0 itself<br=
>
is final, but perhaps the effort will inform the overall debate.<br>
<br>
<br>
The different Java implementations of OAuth version 1.0 each have<br>
varying features and levels of complexity. =A0Most implementations focus<br=
>
on the client component and don&#39;t provide server components at all.<br>
I&#39;d like to improve on that in a Java API.<br>
<br>
Some ideas I have include specifying that, in addition to programmatical<br=
>
configuration, an implementation should allow ServiceLoader and XML<br>
based configurations, and perhaps even an Annotation based config.<br>
<br>
<br>
I&#39;d like to hear from anyone who&#39;d be interested in combining effor=
ts,<br>
Java programmer or not.<br>
<br>
<br>
Cheers,<br>
<font color=3D"#888888"><br>
<br>
Pid<br>
<br>
</font><br>_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></blockquote></div><br>

--0016e6d64514113ca40484bdcaa1--

From eran@hueniverse.com  Wed Apr 21 08:36:31 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 164083A6D41 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 08:36:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.479
X-Spam-Level: 
X-Spam-Status: No, score=-3.479 tagged_above=-999 required=5 tests=[AWL=1.120,  BAYES_00=-2.599, GB_I_LETTER=-2]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oZHCV8pPm0vq for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 08:36:30 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 01CC928C30E for <oauth@ietf.org>; Wed, 21 Apr 2010 08:11:17 -0700 (PDT)
Received: (qmail 28140 invoked from network); 21 Apr 2010 15:11:06 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 21 Apr 2010 15:11:04 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Wed, 21 Apr 2010 08:11:01 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Robert Sayre <sayrer@gmail.com>, "oauth@ietf.org" <oauth@ietf.org>
Date: Wed, 21 Apr 2010 08:11:11 -0700
Thread-Topic: [OAUTH-WG] misuse of status code: 400 Bad Request
Thread-Index: Acrg7j+9klK6FAsuRfibGPWKx5d65wAbyaiw
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F812@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <y2q68fba5c51004201801r4d416c73hb45427e92e087829@mail.gmail.com>
In-Reply-To: <y2q68fba5c51004201801r4d416c73hb45427e92e087829@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] misuse of status code: 400 Bad Request
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 15:36:31 -0000

The reason I used 400 in the flows (section 3) is that a 401 response requi=
res returning a challenge [1]:

   The request requires user authentication.  The response MUST include
   a WWW-Authenticate header field.

and we don't have a suitable challenge to return. We can't use the Token au=
th scheme here because the flow endpoints are not OAuth-protected resources=
. They use a mix of client credentials, user credentials, and verification =
codes.

(Yes James, your proposal will solve this...)

So instead of using a 401 without the required WWW-Authenticate header, I o=
pted to use 400.

EHL

[1] http://tools.ietf.org/html/draft-ietf-httpbis-p7-auth-09#section-2.1


> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> Of Robert Sayre
> Sent: Tuesday, April 20, 2010 6:02 PM
> To: oauth@ietf.org
> Subject: [OAUTH-WG] misuse of status code: 400 Bad Request
>=20
> The OAuth 2.0 draft uses HTTP status code 400 for access token requests t=
hat
> are denied.
>=20
> Here is the definition of 400:
>=20
>    The request could not be understood by the server due to malformed
>    syntax.  The client SHOULD NOT repeat the request without
>    modifications.
>=20
> Status 400 should be used for malformed requests, not those that are
> understood and rejected. 401 seems to be a better fit.
>=20
> --
>=20
> Robert Sayre
>=20
> "I would have written a shorter letter, but I did not have the time."
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth

From sayrer@gmail.com  Wed Apr 21 08:46:46 2010
Return-Path: <sayrer@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8CF4D28C3A0 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 08:46:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.134
X-Spam-Level: 
X-Spam-Status: No, score=-4.134 tagged_above=-999 required=5 tests=[AWL=0.465,  BAYES_00=-2.599, GB_I_LETTER=-2]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MYDp9gRUE+Vs for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 08:46:45 -0700 (PDT)
Received: from mail-vw0-f44.google.com (mail-vw0-f44.google.com [209.85.212.44]) by core3.amsl.com (Postfix) with ESMTP id BAA2F28C5A9 for <oauth@ietf.org>; Wed, 21 Apr 2010 08:24:19 -0700 (PDT)
Received: by vws10 with SMTP id 10so1166213vws.31 for <oauth@ietf.org>; Wed, 21 Apr 2010 08:24:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=Lqx3elHv1qXIJfYIw1UvYVxlMu0iFm3gfpvQREY78lw=; b=ua24EK2+oA8FZzglFFyikbxOcNyxuB52N4Yixlak92XO3sHdfONhDPdZEDT6RpCiIk 2E0asrWWEcuoZcw/Wjy+o7bH/ecUaF3Htx0n6qhU/nYK2evbLPJQeXm+mN7k2oQsb1P0 NM1eqCIIU8b9QG+49/XOL5HUXDCaIlCkKMdM8=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=TfV9FoFNPHRoHQqicR9piz83qYipAIv389zKOAqrpVPkREPZDhsDFCVbfr4WWEqbDh CGVRIgvKo2v5vcmELfIB0RTIaxZOGeg0JbSfHOc4UeOWA575Ha60sS4qySpJr8HAKitK ZNAHIwuvAj/ZrbAwQP8ZEaQ7aYjimFJbpezPw=
MIME-Version: 1.0
Received: by 10.229.99.142 with HTTP; Wed, 21 Apr 2010 08:24:05 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F812@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <y2q68fba5c51004201801r4d416c73hb45427e92e087829@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F812@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Date: Wed, 21 Apr 2010 11:24:05 -0400
Received: by 10.229.73.135 with SMTP id q7mr7531324qcj.41.1271863446014; Wed,  21 Apr 2010 08:24:06 -0700 (PDT)
Message-ID: <z2m68fba5c51004210824i7f5df902qd48229155ddb0b3c@mail.gmail.com>
From: Robert Sayre <sayrer@gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] misuse of status code: 400 Bad Request
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 15:46:46 -0000

On Wed, Apr 21, 2010 at 11:11 AM, Eran Hammer-Lahav <eran@hueniverse.com> w=
rote:
> The reason I used 400 in the flows (section 3) is that a 401 response req=
uires returning a challenge [1]:
>
> =A0 The request requires user authentication. =A0The response MUST includ=
e
> =A0 a WWW-Authenticate header field.
>
> and we don't have a suitable challenge to return. We can't use the Token =
auth scheme here because the flow endpoints are not OAuth-protected resourc=
es. They use a mix of client credentials, user credentials, and verificatio=
n codes.

Yes, well, what the spec calls "flows" look to me like authentication
schemes used to get a token. My (free) advice would be to move all of
the flows to their own specs, perhaps leaving one in the document that
works using only HTTP authentication headers. That way, you'll finish
a lot faster, and other flows can use the base OAuth 2.0 document as a
reference. I am willing to provide text to illustrate this point.

--=20

Robert Sayre

"I would have written a shorter letter, but I did not have the time."

From eran@hueniverse.com  Wed Apr 21 08:51:05 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 054AA28C25A for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 08:51:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.487
X-Spam-Level: 
X-Spam-Status: No, score=-3.487 tagged_above=-999 required=5 tests=[AWL=1.112,  BAYES_00=-2.599, GB_I_LETTER=-2]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IzkLMDbYZAbI for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 08:51:03 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 8EB4628C239 for <oauth@ietf.org>; Wed, 21 Apr 2010 08:30:30 -0700 (PDT)
Received: (qmail 29452 invoked from network); 21 Apr 2010 15:30:20 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 21 Apr 2010 15:30:20 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Wed, 21 Apr 2010 08:30:11 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Robert Sayre <sayrer@gmail.com>
Date: Wed, 21 Apr 2010 08:30:21 -0700
Thread-Topic: [OAUTH-WG] misuse of status code: 400 Bad Request
Thread-Index: AcrhZq8dRVR99TGuS8qrMy5c02YwXAAAFrNQ
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F831@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <y2q68fba5c51004201801r4d416c73hb45427e92e087829@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F812@P3PW5EX1MB01.EX1.SECURESERVER.NET> <z2m68fba5c51004210824i7f5df902qd48229155ddb0b3c@mail.gmail.com>
In-Reply-To: <z2m68fba5c51004210824i7f5df902qd48229155ddb0b3c@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] misuse of status code: 400 Bad Request
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 15:51:05 -0000

We tried something like this approach before but the group consensus was th=
at we should only have a single spec for now. I submitted a draft defining =
just the Token auth scheme with the expectation that another drafts define =
the flows, but the group didn't like this approach.

As for using Basic/Digest for flow authentication, that's a proposal made b=
y James Manger which so far received little support (though no hard objecti=
ons).

I don't have a strong preference either way.

EHL

> -----Original Message-----
> From: Robert Sayre [mailto:sayrer@gmail.com]
> Sent: Wednesday, April 21, 2010 8:24 AM
> To: Eran Hammer-Lahav
> Cc: oauth@ietf.org
> Subject: Re: [OAUTH-WG] misuse of status code: 400 Bad Request
>=20
> On Wed, Apr 21, 2010 at 11:11 AM, Eran Hammer-Lahav
> <eran@hueniverse.com> wrote:
> > The reason I used 400 in the flows (section 3) is that a 401 response
> requires returning a challenge [1]:
> >
> > =A0 The request requires user authentication. =A0The response MUST incl=
ude
> > =A0 a WWW-Authenticate header field.
> >
> > and we don't have a suitable challenge to return. We can't use the Toke=
n
> auth scheme here because the flow endpoints are not OAuth-protected
> resources. They use a mix of client credentials, user credentials, and
> verification codes.
>=20
> Yes, well, what the spec calls "flows" look to me like authentication sch=
emes
> used to get a token. My (free) advice would be to move all of the flows t=
o
> their own specs, perhaps leaving one in the document that works using onl=
y
> HTTP authentication headers. That way, you'll finish a lot faster, and ot=
her
> flows can use the base OAuth 2.0 document as a reference. I am willing to
> provide text to illustrate this point.
>=20
> --
>=20
> Robert Sayre
>=20
> "I would have written a shorter letter, but I did not have the time."

From uidude@google.com  Wed Apr 21 08:53:01 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C992728C464 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 08:53:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.883
X-Spam-Level: 
X-Spam-Status: No, score=-101.883 tagged_above=-999 required=5 tests=[AWL=0.093, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id r869XdAUIJEc for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 08:53:01 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 15ED23A6934 for <oauth@ietf.org>; Wed, 21 Apr 2010 08:32:19 -0700 (PDT)
Received: from hpaq1.eem.corp.google.com (hpaq1.eem.corp.google.com [10.3.21.1]) by smtp-out.google.com with ESMTP id o3LFW9ik026352 for <oauth@ietf.org>; Wed, 21 Apr 2010 17:32:09 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271863929; bh=Osx62b4MAKaRznqri0E82jEsrBg=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=Yh8xVHNTaANwDG/HqI5kIsu6bRnBkFTXeUI2tTIDLoGNXfsJuTN04tQt/r0VfcFbH Eq/6u+oJLbL4noTabS1/w==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=F5PBjr3LdJmdqbArZqJqJAp4araIu17z9rrLHibB9NoILVMTwuMgm8I/jJWv+r+e2 lPPnrlOsWGdZZBg1wfBJw==
Received: from qyk17 (qyk17.prod.google.com [10.241.83.145]) by hpaq1.eem.corp.google.com with ESMTP id o3LFVDHi015706 for <oauth@ietf.org>; Wed, 21 Apr 2010 17:32:08 +0200
Received: by qyk17 with SMTP id 17so2137843qyk.9 for <oauth@ietf.org>; Wed, 21 Apr 2010 08:32:07 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.16.148 with HTTP; Wed, 21 Apr 2010 08:31:47 -0700 (PDT)
In-Reply-To: <4BCE8D55.4040708@lodderstedt.net>
References: <4BCE071E.5030008@lodderstedt.net> <q2oc8689b661004201745wbf45d637w6c224d09513e7be2@mail.gmail.com> <4BCE8D55.4040708@lodderstedt.net>
From: Evan Gilbert <uidude@google.com>
Date: Wed, 21 Apr 2010 08:31:47 -0700
Received: by 10.224.79.155 with SMTP id p27mr171972qak.331.1271863927226; Wed,  21 Apr 2010 08:32:07 -0700 (PDT)
Message-ID: <y2pc8689b661004210831m7c246bffk3765fe5a2565b7bd@mail.gmail.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Content-Type: multipart/alternative; boundary=00c09f99dfea95c3120484c0e5a0
X-System-Of-Record: true
Cc: "OAuth WG \(oauth@ietf.org\)" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Variant of Web Server Flow w/o direct communication
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 15:53:01 -0000

--00c09f99dfea95c3120484c0e5a0
Content-Type: text/plain; charset=ISO-8859-1

On Tue, Apr 20, 2010 at 10:29 PM, Torsten Lodderstedt <
torsten@lodderstedt.net> wrote:

>  Am 21.04.2010 02:45, schrieb Evan Gilbert:
>
>
>
> On Tue, Apr 20, 2010 at 12:57 PM, Torsten Lodderstedt <
> torsten@lodderstedt.net> wrote:
>
>> Hi all,
>>
>> I would like to propose an additional variant of the Web Server Flow w/o
>> the need for direct communication between client and authorization server in
>> order to obtain authorized access/refresh tokens. Instead access and refresh
>> tokens should directly be send back with the redirect to the client as it is
>> the case in the User-Agent Flow.
>>
>
> Question (and sorry if I'm being dense) - what is the delta between Web
> Server flow + verification_code=false and User-Agent flow?
>
>
> This is not a dense question :-)
>
> The User Agent Flow adds the data as URL fragment which is not passed to
> the web server (as far as I understand). My proposal adds this data as URL
> query parameters, which are passed to the web server by the user agent.
>

At one point we had tokens in query string for the User-Agent flow, but
there were concerns about the security side. Query parameters are much more
likely to leak in logs and in referrers.

It's not a lot of work to support this functionality with the existing
User-Agent flow using a boilerplate response page. Page would:
1. Grab fragment
2. Make XMLHttpRequest with access token & refresh token to server, or POST
a form
3. Redirect to destination page.

Would this work?


> I think the delta is small in terms of specification but the benefit for
> large-scale OAuth 2.0 deployments would be significant.
>
> regards,
> Torsten.
>

--00c09f99dfea95c3120484c0e5a0
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Tue, Apr 20, 2010 at 10:29 PM, Torste=
n Lodderstedt <span dir=3D"ltr">&lt;<a href=3D"mailto:torsten@lodderstedt.n=
et" target=3D"_blank">torsten@lodderstedt.net</a>&gt;</span> wrote:<br><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #c=
cc solid;padding-left:1ex">





 =20

<div bgcolor=3D"#ffffff" text=3D"#000000">
Am 21.04.2010 02:45, schrieb Evan Gilbert:
<div><blockquote type=3D"cite"><br>
  <br>
  <div class=3D"gmail_quote">On Tue, Apr 20, 2010 at 12:57 PM, Torsten
Lodderstedt <span dir=3D"ltr">&lt;<a href=3D"mailto:torsten@lodderstedt.net=
" target=3D"_blank">torsten@lodderstedt.net</a>&gt;</span>
wrote:<br>
  <blockquote class=3D"gmail_quote" style=3D"border-left:1px solid rgb(204,=
 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">Hi
all,<br>
    <br>
I would like to propose an additional variant of the Web Server Flow
w/o the need for direct communication between client and authorization
server in order to obtain authorized access/refresh tokens. Instead
access and refresh tokens should directly be send back with the
redirect to the client as it is the case in the User-Agent Flow.<br>
  </blockquote>
  <div><br>
Question (and sorry if I&#39;m being dense) - what is the delta between Web
Server flow + verification_code=3Dfalse and User-Agent flow?</div>
  </div>
</blockquote>
<br></div>
This is not a dense question :-) <br>
<br>
The User Agent Flow adds the data as URL fragment which is not passed
to the web server (as far as I understand). My proposal adds this data
as URL query parameters, which are passed to the web server by the user
agent.<br></div></blockquote><div><br></div><div>At one point we had tokens=
 in query string for the User-Agent flow, but there were concerns about the=
 security side. Query parameters are much more likely to leak in logs and i=
n referrers.</div>

<div><br></div><div>It&#39;s not a lot of work to support this functionalit=
y with the existing User-Agent flow using a boilerplate response page. Page=
 would:</div><div>1. Grab fragment</div><div>2. Make XMLHttpRequest with ac=
cess token &amp; refresh token to server, or POST a form</div>

<div>3. Redirect to destination page.</div><div><br></div><div>Would this w=
ork?</div><div><br></div><blockquote class=3D"gmail_quote" style=3D"margin:=
0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor=3D"#ff=
ffff" text=3D"#000000">



<br>
I think the delta is small in terms of specification but the benefit
for large-scale OAuth 2.0 deployments would be significant.<br>
<br>
regards,<br>
Torsten.<br>
</div>

</blockquote></div><br>

--00c09f99dfea95c3120484c0e5a0--

From mscurtescu@google.com  Wed Apr 21 09:43:39 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 15AD328C2D5 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 09:43:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.897
X-Spam-Level: 
X-Spam-Status: No, score=-106.897 tagged_above=-999 required=5 tests=[AWL=1.080, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, GB_I_LETTER=-2, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id McCKNpbwE8wc for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 09:43:38 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id A58E73A6D63 for <oauth@ietf.org>; Wed, 21 Apr 2010 09:17:13 -0700 (PDT)
Received: from wpaz9.hot.corp.google.com (wpaz9.hot.corp.google.com [172.24.198.73]) by smtp-out.google.com with ESMTP id o3LGGvPG005595 for <oauth@ietf.org>; Wed, 21 Apr 2010 09:16:57 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271866617; bh=fcD0wtFc33S+ZPq8V2EhaQA73cg=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=uTQCNbzx1AvduA493y8nGn/Dx8d2wwMUKE5moNlCMSMejxP2AJZUH6X1Q9mWifoas M1M0a9BPJNGUF3sNPZC+Q==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=rHGq55ycGrAVKdKM8h8ezEDxMz5soQiFjGK8nfOdSd5GI+r1jbpjZry7UOpZTioat N2tJ3j3/LvXZecH4DQ4Aw==
Received: from pwi1 (pwi1.prod.google.com [10.241.219.1]) by wpaz9.hot.corp.google.com with ESMTP id o3LGGdVV011915 for <oauth@ietf.org>; Wed, 21 Apr 2010 09:16:57 -0700
Received: by pwi1 with SMTP id 1so5262702pwi.25 for <oauth@ietf.org>; Wed, 21 Apr 2010 09:16:56 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Wed, 21 Apr 2010 09:16:36 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F812@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <y2q68fba5c51004201801r4d416c73hb45427e92e087829@mail.gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E5C7F812@P3PW5EX1MB01.EX1.SECURESERVER.NET>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Wed, 21 Apr 2010 09:16:36 -0700
Received: by 10.141.22.16 with SMTP id z16mr7910101rvi.20.1271866616163; Wed,  21 Apr 2010 09:16:56 -0700 (PDT)
Message-ID: <k2k74caaad21004210916kc5be8e12i2ea612cf5ff6365d@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] misuse of status code: 400 Bad Request
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 16:43:39 -0000

+1

At first 401 may seem like the perfect status code in this case, but
because there is no real challenge response, it probably is a bad
choice.

Some HTTP libraries will try to automatically respond to a 401
challenge and if they are not configured to do so will generate noise
in the log files. I have seen Apache HttpClient doing that.

An alternative to 400 would be to return 200 and the OAuth 2 error
message. Would that work?

Marius



On Wed, Apr 21, 2010 at 8:11 AM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:
> The reason I used 400 in the flows (section 3) is that a 401 response req=
uires returning a challenge [1]:
>
> =A0 The request requires user authentication. =A0The response MUST includ=
e
> =A0 a WWW-Authenticate header field.
>
> and we don't have a suitable challenge to return. We can't use the Token =
auth scheme here because the flow endpoints are not OAuth-protected resourc=
es. They use a mix of client credentials, user credentials, and verificatio=
n codes.
>
> (Yes James, your proposal will solve this...)
>
> So instead of using a 401 without the required WWW-Authenticate header, I=
 opted to use 400.
>
> EHL
>
> [1] http://tools.ietf.org/html/draft-ietf-httpbis-p7-auth-09#section-2.1
>
>
>> -----Original Message-----
>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
>> Of Robert Sayre
>> Sent: Tuesday, April 20, 2010 6:02 PM
>> To: oauth@ietf.org
>> Subject: [OAUTH-WG] misuse of status code: 400 Bad Request
>>
>> The OAuth 2.0 draft uses HTTP status code 400 for access token requests =
that
>> are denied.
>>
>> Here is the definition of 400:
>>
>> =A0 =A0The request could not be understood by the server due to malforme=
d
>> =A0 =A0syntax. =A0The client SHOULD NOT repeat the request without
>> =A0 =A0modifications.
>>
>> Status 400 should be used for malformed requests, not those that are
>> understood and rejected. 401 seems to be a better fit.
>>
>> --
>>
>> Robert Sayre
>>
>> "I would have written a shorter letter, but I did not have the time."
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From sayrer@gmail.com  Wed Apr 21 09:53:12 2010
Return-Path: <sayrer@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 701723A6C47 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 09:53:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.289
X-Spam-Level: 
X-Spam-Status: No, score=-4.289 tagged_above=-999 required=5 tests=[AWL=0.310,  BAYES_00=-2.599, GB_I_LETTER=-2]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AGkiZpZPEBuL for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 09:53:11 -0700 (PDT)
Received: from mail-qy0-f181.google.com (mail-qy0-f181.google.com [209.85.221.181]) by core3.amsl.com (Postfix) with ESMTP id A0E5C28C441 for <oauth@ietf.org>; Wed, 21 Apr 2010 09:31:37 -0700 (PDT)
Received: by qyk11 with SMTP id 11so8373732qyk.13 for <oauth@ietf.org>; Wed, 21 Apr 2010 09:31:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=nf7xyzclvTmFuHqiQEgREgou9EVy9HNHGFRrGqKhKIE=; b=cm7+XelYcEoGfgb+V9kawc/Da6XiXBH98fKZQO4ZshhQ7lSNjzRXk1e8sTNqM2EKd/ 4zkPUPkfCHy09X9haW54pOWrAA9QFobe8fhZWZ5C+gAGPvz+TrpryEfD+q3I4E4aTQfX i0JHa0MYCEpQbv9Pg8nWnObpd3YSXhalvcEek=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=dflJU2X7Tx+kfLLWIEulEW0lruBGXLgKZme13d9LgltxIPiJk1agtvSLPdZ5ywr+8U g1JOcyGLB7lHWTMOyZ7uNBlpWH/exf4vlvifoz4VnGRhv8aB2OzRhVPzLNXqzZJRM782 6N2hjZ+BnQV+7SWEGxKxZSdlpLW3SgeXggBrg=
MIME-Version: 1.0
Received: by 10.229.99.142 with HTTP; Wed, 21 Apr 2010 09:31:22 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F831@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <y2q68fba5c51004201801r4d416c73hb45427e92e087829@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F812@P3PW5EX1MB01.EX1.SECURESERVER.NET> <z2m68fba5c51004210824i7f5df902qd48229155ddb0b3c@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F831@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Date: Wed, 21 Apr 2010 12:31:22 -0400
Received: by 10.229.188.212 with SMTP id db20mr9881231qcb.5.1271867482973;  Wed, 21 Apr 2010 09:31:22 -0700 (PDT)
Message-ID: <z2v68fba5c51004210931s438b81a6qbcaf3164cda3010@mail.gmail.com>
From: Robert Sayre <sayrer@gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] misuse of status code: 400 Bad Request
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 16:53:12 -0000

On Wed, Apr 21, 2010 at 11:30 AM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> We tried something like this approach before but the group consensus was that we should only have a single spec for now.

Eran kindly pointed me at this survey:
http://www.ietf.org/mail-archive/web/oauth/current/msg01214.html

It doesn't look like very strong consensus to me, but I can see how
the desire of everyone to call their thing "OAuth" can be a powerful
motivator. :)

> As for using Basic/Digest for flow authentication, that's a proposal made by James Manger which so far received little support (though no hard objections).
>
> I don't have a strong preference either way.
>

Well, regardless of how big the spec gets, this bit from 3.6.1.1. is a bug:

     HTTP/1.1 400 Bad Request
     Content-Type: application/x-www-form-urlencoded

     error=incorrect_credentials

If you imagine a client trying to do something special with OAuth
errors, there's nothing about this response that's self describing.
Something like this layers much better:

     HTTP/1.1 401 Unauthorized
     WWW-Authenticate: OAuthDelegatation
     Content-Type: application/x-www-form-urlencoded

     error=incorrect_credentials

On Wed, Apr 21, 2010 at 12:16 PM, Marius Scurtescu
<mscurtescu@google.com> wrote:
>
> At first 401 may seem like the perfect status code in this case, but
> because there is no real challenge response, it probably is a bad
> choice.
>

There certainly is, it just isn't an Authorization header. A client
receiving error=incorrect_credentials would change the creds and
respond, right?

>
> Some HTTP libraries will try to automatically respond to a 401
> challenge and if they are not configured to do so will generate noise
> in the log files. I have seen Apache HttpClient doing that.

People will write buggy OAuth clients too. Don't design around lame
bugs in Apache HttpClient. :)

-- 

Robert Sayre

"I would have written a shorter letter, but I did not have the time."

From eran@hueniverse.com  Wed Apr 21 09:57:34 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2BE2728C14D for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 09:57:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.495
X-Spam-Level: 
X-Spam-Status: No, score=-3.495 tagged_above=-999 required=5 tests=[AWL=1.104,  BAYES_00=-2.599, GB_I_LETTER=-2]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uoLlwzNEVEwe for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 09:57:33 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 7D86C28C197 for <oauth@ietf.org>; Wed, 21 Apr 2010 09:38:13 -0700 (PDT)
Received: (qmail 28401 invoked from network); 21 Apr 2010 16:38:03 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 21 Apr 2010 16:38:03 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Wed, 21 Apr 2010 09:38:00 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Robert Sayre <sayrer@gmail.com>
Date: Wed, 21 Apr 2010 09:38:07 -0700
Thread-Topic: [OAUTH-WG] misuse of status code: 400 Bad Request
Thread-Index: AcrhcBb0JIm00qgvSCu9xoDhW/J9nAAAH5GA
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F89E@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <y2q68fba5c51004201801r4d416c73hb45427e92e087829@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F812@P3PW5EX1MB01.EX1.SECURESERVER.NET> <z2m68fba5c51004210824i7f5df902qd48229155ddb0b3c@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F831@P3PW5EX1MB01.EX1.SECURESERVER.NET> <z2v68fba5c51004210931s438b81a6qbcaf3164cda3010@mail.gmail.com>
In-Reply-To: <z2v68fba5c51004210931s438b81a6qbcaf3164cda3010@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] misuse of status code: 400 Bad Request
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 16:57:34 -0000

How about Marius' suggestion to use a 200 response?

I'd rather not invent a new auth scheme that is used just to comply with HT=
TP requirements for a 401... I think we either keep this simple(r) by using=
 a 400 or 200, or take another look at James' proposal for using Basic auth=
 to send the client credentials. At that point a 401 will be used when the =
client credentials are wrong, and a 400 (or 200) when something else doesn'=
t match in the request (verification code, username/password).

Can others voice their support/dislike for the various options?

EHL

> -----Original Message-----
> From: Robert Sayre [mailto:sayrer@gmail.com]
> Sent: Wednesday, April 21, 2010 9:31 AM
> To: Eran Hammer-Lahav
> Cc: oauth@ietf.org
> Subject: Re: [OAUTH-WG] misuse of status code: 400 Bad Request
>=20
> On Wed, Apr 21, 2010 at 11:30 AM, Eran Hammer-Lahav
> <eran@hueniverse.com> wrote:
> > We tried something like this approach before but the group consensus wa=
s
> that we should only have a single spec for now.
>=20
> Eran kindly pointed me at this survey:
> http://www.ietf.org/mail-archive/web/oauth/current/msg01214.html
>=20
> It doesn't look like very strong consensus to me, but I can see how the d=
esire
> of everyone to call their thing "OAuth" can be a powerful motivator. :)
>=20
> > As for using Basic/Digest for flow authentication, that's a proposal ma=
de by
> James Manger which so far received little support (though no hard
> objections).
> >
> > I don't have a strong preference either way.
> >
>=20
> Well, regardless of how big the spec gets, this bit from 3.6.1.1. is a bu=
g:
>=20
>      HTTP/1.1 400 Bad Request
>      Content-Type: application/x-www-form-urlencoded
>=20
>      error=3Dincorrect_credentials
>=20
> If you imagine a client trying to do something special with OAuth errors,
> there's nothing about this response that's self describing.
> Something like this layers much better:
>=20
>      HTTP/1.1 401 Unauthorized
>      WWW-Authenticate: OAuthDelegatation
>      Content-Type: application/x-www-form-urlencoded
>=20
>      error=3Dincorrect_credentials
>=20
> On Wed, Apr 21, 2010 at 12:16 PM, Marius Scurtescu
> <mscurtescu@google.com> wrote:
> >
> > At first 401 may seem like the perfect status code in this case, but
> > because there is no real challenge response, it probably is a bad
> > choice.
> >
>=20
> There certainly is, it just isn't an Authorization header. A client recei=
ving
> error=3Dincorrect_credentials would change the creds and respond, right?
>=20
> >
> > Some HTTP libraries will try to automatically respond to a 401
> > challenge and if they are not configured to do so will generate noise
> > in the log files. I have seen Apache HttpClient doing that.
>=20
> People will write buggy OAuth clients too. Don't design around lame bugs =
in
> Apache HttpClient. :)
>=20
> --
>=20
> Robert Sayre
>=20
> "I would have written a shorter letter, but I did not have the time."

From torsten@lodderstedt.net  Wed Apr 21 10:17:14 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id CA3D93A6A5E for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 10:17:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.99
X-Spam-Level: 
X-Spam-Status: No, score=-2.99 tagged_above=-999 required=5 tests=[AWL=1.259,  BAYES_00=-2.599, GB_I_LETTER=-2, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JgHf6lnmRk5F for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 10:17:13 -0700 (PDT)
Received: from smtprelay04.ispgateway.de (smtprelay04.ispgateway.de [80.67.31.38]) by core3.amsl.com (Postfix) with ESMTP id 30E5C3A6B74 for <oauth@ietf.org>; Wed, 21 Apr 2010 10:03:29 -0700 (PDT)
Received: from p4fff2ac8.dip.t-dialin.net ([79.255.42.200] helo=[127.0.0.1]) by smtprelay04.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O4dKX-0000nb-Vk; Wed, 21 Apr 2010 19:03:18 +0200
Message-ID: <4BCF2FD0.4000205@lodderstedt.net>
Date: Wed, 21 Apr 2010 19:03:12 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <y2q68fba5c51004201801r4d416c73hb45427e92e087829@mail.gmail.com>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7F812@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<z2m68fba5c51004210824i7f5df902qd48229155ddb0b3c@mail.gmail.com>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7F831@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<z2v68fba5c51004210931s438b81a6qbcaf3164cda3010@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F89E@P3PW5EX1MB01.EX1.SECURESERVER.NET>
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F89E@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] misuse of status code: 400 Bad Request
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 17:17:14 -0000

+1 pro James' proposal

Am 21.04.2010 18:38, schrieb Eran Hammer-Lahav:
> How about Marius' suggestion to use a 200 response?
>
> I'd rather not invent a new auth scheme that is used just to comply with HTTP requirements for a 401... I think we either keep this simple(r) by using a 400 or 200, or take another look at James' proposal for using Basic auth to send the client credentials. At that point a 401 will be used when the client credentials are wrong, and a 400 (or 200) when something else doesn't match in the request (verification code, username/password).
>
> Can others voice their support/dislike for the various options?
>
> EHL
>
>    
>> -----Original Message-----
>> From: Robert Sayre [mailto:sayrer@gmail.com]
>> Sent: Wednesday, April 21, 2010 9:31 AM
>> To: Eran Hammer-Lahav
>> Cc: oauth@ietf.org
>> Subject: Re: [OAUTH-WG] misuse of status code: 400 Bad Request
>>
>> On Wed, Apr 21, 2010 at 11:30 AM, Eran Hammer-Lahav
>> <eran@hueniverse.com>  wrote:
>>      
>>> We tried something like this approach before but the group consensus was
>>>        
>> that we should only have a single spec for now.
>>
>> Eran kindly pointed me at this survey:
>> http://www.ietf.org/mail-archive/web/oauth/current/msg01214.html
>>
>> It doesn't look like very strong consensus to me, but I can see how the desire
>> of everyone to call their thing "OAuth" can be a powerful motivator. :)
>>
>>      
>>> As for using Basic/Digest for flow authentication, that's a proposal made by
>>>        
>> James Manger which so far received little support (though no hard
>> objections).
>>      
>>> I don't have a strong preference either way.
>>>
>>>        
>> Well, regardless of how big the spec gets, this bit from 3.6.1.1. is a bug:
>>
>>       HTTP/1.1 400 Bad Request
>>       Content-Type: application/x-www-form-urlencoded
>>
>>       error=incorrect_credentials
>>
>> If you imagine a client trying to do something special with OAuth errors,
>> there's nothing about this response that's self describing.
>> Something like this layers much better:
>>
>>       HTTP/1.1 401 Unauthorized
>>       WWW-Authenticate: OAuthDelegatation
>>       Content-Type: application/x-www-form-urlencoded
>>
>>       error=incorrect_credentials
>>
>> On Wed, Apr 21, 2010 at 12:16 PM, Marius Scurtescu
>> <mscurtescu@google.com>  wrote:
>>      
>>> At first 401 may seem like the perfect status code in this case, but
>>> because there is no real challenge response, it probably is a bad
>>> choice.
>>>
>>>        
>> There certainly is, it just isn't an Authorization header. A client receiving
>> error=incorrect_credentials would change the creds and respond, right?
>>
>>      
>>> Some HTTP libraries will try to automatically respond to a 401
>>> challenge and if they are not configured to do so will generate noise
>>> in the log files. I have seen Apache HttpClient doing that.
>>>        
>> People will write buggy OAuth clients too. Don't design around lame bugs in
>> Apache HttpClient. :)
>>
>> --
>>
>> Robert Sayre
>>
>> "I would have written a shorter letter, but I did not have the time."
>>      
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    



From john@jkemp.net  Wed Apr 21 10:26:54 2010
Return-Path: <john@jkemp.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id F12B128C18F for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 10:26:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.265
X-Spam-Level: 
X-Spam-Status: No, score=-3.265 tagged_above=-999 required=5 tests=[AWL=1.000,  BAYES_00=-2.599, GB_I_LETTER=-2, IP_NOT_FRIENDLY=0.334]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ox8W1aeQ3P5f for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 10:26:52 -0700 (PDT)
Received: from outbound-mail-01.bluehost.com (cpoproxy1-pub.bluehost.com [69.89.21.11]) by core3.amsl.com (Postfix) with SMTP id E3F7D3A6ABC for <oauth@ietf.org>; Wed, 21 Apr 2010 10:13:06 -0700 (PDT)
Received: (qmail 24468 invoked by uid 0); 21 Apr 2010 17:12:57 -0000
Received: from unknown (HELO box320.bluehost.com) (69.89.31.120) by cpoproxy1.bluehost.com with SMTP; 21 Apr 2010 17:12:57 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=jkemp.net; h=Received:Subject:Mime-Version:Content-Type:From:In-Reply-To:Date:Cc:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=uRhtFLFfFVxcSPRwVGaxUaqb3tqjPglNq0yZjhoEBWf5r8VqF0DXT4GoVx+QIsg03keD9cKXZsz4XLMbZax2I5DsC1GEiEOqZ8V+1bYsIt++Gf6+O37r5ZJlwvd9KlGf;
Received: from c-75-69-14-217.hsd1.vt.comcast.net ([75.69.14.217] helo=[192.168.0.64]) by box320.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from <john@jkemp.net>) id 1O4dTs-0000mg-R5; Wed, 21 Apr 2010 11:12:57 -0600
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: John Kemp <john@jkemp.net>
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F89E@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Date: Wed, 21 Apr 2010 13:12:55 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <7A08177F-92D1-4774-B4B0-D326C3BAFC88@jkemp.net>
References: <y2q68fba5c51004201801r4d416c73hb45427e92e087829@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F812@P3PW5EX1MB01.EX1.SECURESERVER.NET> <z2m68fba5c51004210824i7f5df902qd48229155ddb0b3c@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F831@P3PW5EX1MB01.EX1.SECURESERVER.NET> <z2v68fba5c51004210931s438b81a6qbcaf3164cda3010@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F89E@P3PW5EX1MB01.EX1.SECURESERVER.NET>
To: Eran Hammer-Lahav <eran@hueniverse.com>
X-Mailer: Apple Mail (2.1078)
X-Identified-User: {1122:box320.bluehost.com:jkempnet:jkemp.net} {sentby:smtp auth 75.69.14.217 authed with john+jkemp.net}
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] misuse of status code: 400 Bad Request
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 17:26:54 -0000

You all might want to take a look at Thomas Broyer's cookie-auth HTTP =
auth scheme: http://tools.ietf.org/html/draft-broyer-http-cookie-auth-00 =
for what he did to implement something reasonably similar.

I do think it would be nice if we don't abuse HTTP, which suggests we =
should define a new HTTP authentication scheme. So I would give a +1 to =
using HTTP 401 and doing some sort of a modification of the cookie-auth =
proposal to create the new scheme.

Regards,

- johnk

On Apr 21, 2010, at 12:38 PM, Eran Hammer-Lahav wrote:

> How about Marius' suggestion to use a 200 response?
>=20
> I'd rather not invent a new auth scheme that is used just to comply =
with HTTP requirements for a 401... I think we either keep this =
simple(r) by using a 400 or 200, or take another look at James' proposal =
for using Basic auth to send the client credentials. At that point a 401 =
will be used when the client credentials are wrong, and a 400 (or 200) =
when something else doesn't match in the request (verification code, =
username/password).
>=20
> Can others voice their support/dislike for the various options?
>=20
> EHL
>=20
>> -----Original Message-----
>> From: Robert Sayre [mailto:sayrer@gmail.com]
>> Sent: Wednesday, April 21, 2010 9:31 AM
>> To: Eran Hammer-Lahav
>> Cc: oauth@ietf.org
>> Subject: Re: [OAUTH-WG] misuse of status code: 400 Bad Request
>>=20
>> On Wed, Apr 21, 2010 at 11:30 AM, Eran Hammer-Lahav
>> <eran@hueniverse.com> wrote:
>>> We tried something like this approach before but the group consensus =
was
>> that we should only have a single spec for now.
>>=20
>> Eran kindly pointed me at this survey:
>> http://www.ietf.org/mail-archive/web/oauth/current/msg01214.html
>>=20
>> It doesn't look like very strong consensus to me, but I can see how =
the desire
>> of everyone to call their thing "OAuth" can be a powerful motivator. =
:)
>>=20
>>> As for using Basic/Digest for flow authentication, that's a proposal =
made by
>> James Manger which so far received little support (though no hard
>> objections).
>>>=20
>>> I don't have a strong preference either way.
>>>=20
>>=20
>> Well, regardless of how big the spec gets, this bit from 3.6.1.1. is =
a bug:
>>=20
>>     HTTP/1.1 400 Bad Request
>>     Content-Type: application/x-www-form-urlencoded
>>=20
>>     error=3Dincorrect_credentials
>>=20
>> If you imagine a client trying to do something special with OAuth =
errors,
>> there's nothing about this response that's self describing.
>> Something like this layers much better:
>>=20
>>     HTTP/1.1 401 Unauthorized
>>     WWW-Authenticate: OAuthDelegatation
>>     Content-Type: application/x-www-form-urlencoded
>>=20
>>     error=3Dincorrect_credentials
>>=20
>> On Wed, Apr 21, 2010 at 12:16 PM, Marius Scurtescu
>> <mscurtescu@google.com> wrote:
>>>=20
>>> At first 401 may seem like the perfect status code in this case, but
>>> because there is no real challenge response, it probably is a bad
>>> choice.
>>>=20
>>=20
>> There certainly is, it just isn't an Authorization header. A client =
receiving
>> error=3Dincorrect_credentials would change the creds and respond, =
right?
>>=20
>>>=20
>>> Some HTTP libraries will try to automatically respond to a 401
>>> challenge and if they are not configured to do so will generate =
noise
>>> in the log files. I have seen Apache HttpClient doing that.
>>=20
>> People will write buggy OAuth clients too. Don't design around lame =
bugs in
>> Apache HttpClient. :)
>>=20
>> --
>>=20
>> Robert Sayre
>>=20
>> "I would have written a shorter letter, but I did not have the time."
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From torsten@lodderstedt.net  Wed Apr 21 10:27:03 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D649028C0DE for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 10:27:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.024
X-Spam-Level: 
X-Spam-Status: No, score=-2.024 tagged_above=-999 required=5 tests=[AWL=0.224,  BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qQ-dIslmLqRr for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 10:27:02 -0700 (PDT)
Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.18.44]) by core3.amsl.com (Postfix) with ESMTP id 0300D3A68C0 for <oauth@ietf.org>; Wed, 21 Apr 2010 10:13:26 -0700 (PDT)
Received: from p4fff2ac8.dip.t-dialin.net ([79.255.42.200] helo=[127.0.0.1]) by smtprelay02.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O4dUB-0003gx-CR; Wed, 21 Apr 2010 19:13:15 +0200
Message-ID: <4BCF3226.2020002@lodderstedt.net>
Date: Wed, 21 Apr 2010 19:13:10 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Evan Gilbert <uidude@google.com>
References: <4BCE071E.5030008@lodderstedt.net> <q2oc8689b661004201745wbf45d637w6c224d09513e7be2@mail.gmail.com> <4BCE8D55.4040708@lodderstedt.net> <y2pc8689b661004210831m7c246bffk3765fe5a2565b7bd@mail.gmail.com>
In-Reply-To: <y2pc8689b661004210831m7c246bffk3765fe5a2565b7bd@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------010509010900020101090200"
X-Df-Sender: 141509
Cc: "OAuth WG \(oauth@ietf.org\)" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Variant of Web Server Flow w/o direct communication
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 17:27:03 -0000

This is a multi-part message in MIME format.
--------------010509010900020101090200
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Am 21.04.2010 17:31, schrieb Evan Gilbert:
>
>
> On Tue, Apr 20, 2010 at 10:29 PM, Torsten Lodderstedt 
> <torsten@lodderstedt.net <mailto:torsten@lodderstedt.net>> wrote:
>
>     Am 21.04.2010 02:45, schrieb Evan Gilbert:
>>
>>
>>     On Tue, Apr 20, 2010 at 12:57 PM, Torsten Lodderstedt
>>     <torsten@lodderstedt.net <mailto:torsten@lodderstedt.net>> wrote:
>>
>>         Hi all,
>>
>>         I would like to propose an additional variant of the Web
>>         Server Flow w/o the need for direct communication between
>>         client and authorization server in order to obtain authorized
>>         access/refresh tokens. Instead access and refresh tokens
>>         should directly be send back with the redirect to the client
>>         as it is the case in the User-Agent Flow.
>>
>>
>>     Question (and sorry if I'm being dense) - what is the delta
>>     between Web Server flow + verification_code=false and User-Agent
>>     flow?
>
>     This is not a dense question :-)
>
>     The User Agent Flow adds the data as URL fragment which is not
>     passed to the web server (as far as I understand). My proposal
>     adds this data as URL query parameters, which are passed to the
>     web server by the user agent.
>
>
> At one point we had tokens in query string for the User-Agent flow, 
> but there were concerns about the security side. Query parameters are 
> much more likely to leak in logs and in referrers.
>
> It's not a lot of work to support this functionality with the existing 
> User-Agent flow using a boilerplate response page. Page would:
> 1. Grab fragment
> 2. Make XMLHttpRequest with access token & refresh token to server, or 
> POST a form
> 3. Redirect to destination page.
>
> Would this work?

I think this would work but is IMHO somehow cumbersome and requires two 
requests to the service. Alternatively, the authorization server could 
directly respond with a HTML page containing a HTML form element with 
all response data. This form could automatically be submited to the 
service using JavaScript. This would be similar to OpenIds "HTML FORM 
Redirection".

regards,
Torsten.

--------------010509010900020101090200
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Am 21.04.2010 17:31, schrieb Evan Gilbert:
<blockquote
 cite="mid:y2pc8689b661004210831m7c246bffk3765fe5a2565b7bd@mail.gmail.com"
 type="cite"><br>
  <br>
  <div class="gmail_quote">On Tue, Apr 20, 2010 at 10:29 PM, Torsten
Lodderstedt <span dir="ltr">&lt;<a moz-do-not-send="true"
 href="mailto:torsten@lodderstedt.net" target="_blank">torsten@lodderstedt.net</a>&gt;</span>
wrote:<br>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    <div bgcolor="#ffffff" text="#000000">Am 21.04.2010 02:45, schrieb
Evan Gilbert:
    <div>
    <blockquote type="cite"><br>
      <br>
      <div class="gmail_quote">On Tue, Apr 20, 2010 at 12:57 PM,
Torsten
Lodderstedt <span dir="ltr">&lt;<a moz-do-not-send="true"
 href="mailto:torsten@lodderstedt.net" target="_blank">torsten@lodderstedt.net</a>&gt;</span>
wrote:<br>
      <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi
all,<br>
        <br>
I would like to propose an additional variant of the Web Server Flow
w/o the need for direct communication between client and authorization
server in order to obtain authorized access/refresh tokens. Instead
access and refresh tokens should directly be send back with the
redirect to the client as it is the case in the User-Agent Flow.<br>
      </blockquote>
      <div><br>
Question (and sorry if I'm being dense) - what is the delta between Web
Server flow + verification_code=false and User-Agent flow?</div>
      </div>
    </blockquote>
    <br>
    </div>
This is not a dense question :-) <br>
    <br>
The User Agent Flow adds the data as URL fragment which is not passed
to the web server (as far as I understand). My proposal adds this data
as URL query parameters, which are passed to the web server by the user
agent.<br>
    </div>
  </blockquote>
  <div><br>
  </div>
  <div>At one point we had tokens in query string for the User-Agent
flow, but there were concerns about the security side. Query parameters
are much more likely to leak in logs and in referrers.</div>
  <div><br>
  </div>
  <div>It's not a lot of work to support this functionality with the
existing User-Agent flow using a boilerplate response page. Page would:</div>
  <div>1. Grab fragment</div>
  <div>2. Make XMLHttpRequest with access token &amp; refresh token to
server, or POST a form</div>
  <div>3. Redirect to destination page.</div>
  <div><br>
  </div>
  <div>Would this work?</div>
  </div>
</blockquote>
<br>
I think this would work but is IMHO somehow cumbersome and requires two
requests to the service. Alternatively, the authorization server could
directly respond with a HTML page containing a HTML form element with
all response data. This form could automatically be submited to the
service using JavaScript. This would be similar to OpenIds "HTML FORM
Redirection".<br>
<br>
regards,<br>
Torsten.<br>
</body>
</html>

--------------010509010900020101090200--


From mscurtescu@google.com  Wed Apr 21 10:28:50 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E503D3A6CBF for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 10:28:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.713
X-Spam-Level: 
X-Spam-Status: No, score=-101.713 tagged_above=-999 required=5 tests=[AWL=0.264, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5AGAgtNGoN2g for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 10:28:50 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 1F3CB28C188 for <oauth@ietf.org>; Wed, 21 Apr 2010 10:16:40 -0700 (PDT)
Received: from wpaz1.hot.corp.google.com (wpaz1.hot.corp.google.com [172.24.198.65]) by smtp-out.google.com with ESMTP id o3LHGTbN012307 for <oauth@ietf.org>; Wed, 21 Apr 2010 19:16:30 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271870190; bh=FTZOmOpDJpcFK6xA6NjyoCM+v4Q=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=RU4is1LJvsxYk0fap6B8/YQgyyZVlR/pJotfn6somPdjhZDlDiuWeuNrxdYI7nQ1R g5uAduPdW8bJKtcNk8YLQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=QpzXdzE4Bm/aEM4DExQBCRgu/lOMvCUD76hVEwpZYlTZXTn8Gi81RYL0URFKNqHD9 SUxvED9pk2aYXAPss7hsg==
Received: from pwj2 (pwj2.prod.google.com [10.241.219.66]) by wpaz1.hot.corp.google.com with ESMTP id o3LHGSH9019069 for <oauth@ietf.org>; Wed, 21 Apr 2010 10:16:28 -0700
Received: by pwj2 with SMTP id 2so4713277pwj.17 for <oauth@ietf.org>; Wed, 21 Apr 2010 10:16:28 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.2 with HTTP; Wed, 21 Apr 2010 10:16:06 -0700 (PDT)
In-Reply-To: <z2v68fba5c51004210931s438b81a6qbcaf3164cda3010@mail.gmail.com>
References: <y2q68fba5c51004201801r4d416c73hb45427e92e087829@mail.gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E5C7F812@P3PW5EX1MB01.EX1.SECURESERVER.NET> <z2m68fba5c51004210824i7f5df902qd48229155ddb0b3c@mail.gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E5C7F831@P3PW5EX1MB01.EX1.SECURESERVER.NET> <z2v68fba5c51004210931s438b81a6qbcaf3164cda3010@mail.gmail.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Wed, 21 Apr 2010 10:16:06 -0700
Received: by 10.141.107.19 with SMTP id j19mr324493rvm.90.1271870188140; Wed,  21 Apr 2010 10:16:28 -0700 (PDT)
Message-ID: <h2y74caaad21004211016t7a3607fei8eedd5380ef75e0@mail.gmail.com>
To: Robert Sayre <sayrer@gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] misuse of status code: 400 Bad Request
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 17:28:51 -0000

On Wed, Apr 21, 2010 at 9:31 AM, Robert Sayre <sayrer@gmail.com> wrote:
> On Wed, Apr 21, 2010 at 12:16 PM, Marius Scurtescu
> <mscurtescu@google.com> wrote:
>>
>> At first 401 may seem like the perfect status code in this case, but
>> because there is no real challenge response, it probably is a bad
>> choice.
>>
>
> There certainly is, it just isn't an Authorization header. A client
> receiving error=incorrect_credentials would change the creds and
> respond, right?

Respond yes, but not with a proper 401 response which requires the
"Authorization" header.


>> Some HTTP libraries will try to automatically respond to a 401
>> challenge and if they are not configured to do so will generate noise
>> in the log files. I have seen Apache HttpClient doing that.
>
> People will write buggy OAuth clients too. Don't design around lame
> bugs in Apache HttpClient. :)

I don't think this is a bug. HttpClient can probably be configured to
ignore the 401, not sure, but this just shows that a half baked 401 is
used.


Marius

From torsten@lodderstedt.net  Wed Apr 21 10:48:24 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 66C693A6C4F for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 10:48:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.03
X-Spam-Level: 
X-Spam-Status: No, score=-3.03 tagged_above=-999 required=5 tests=[AWL=1.219,  BAYES_00=-2.599, GB_I_LETTER=-2, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id c5odVsXyvKe0 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 10:48:23 -0700 (PDT)
Received: from smtprelay04.ispgateway.de (smtprelay04.ispgateway.de [80.67.31.27]) by core3.amsl.com (Postfix) with ESMTP id 26DD33A6C6E for <oauth@ietf.org>; Wed, 21 Apr 2010 10:39:35 -0700 (PDT)
Received: from p4fff2ac8.dip.t-dialin.net ([79.255.42.200] helo=[127.0.0.1]) by smtprelay04.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O4dtV-0005gE-UH; Wed, 21 Apr 2010 19:39:25 +0200
Message-ID: <4BCF3849.7010008@lodderstedt.net>
Date: Wed, 21 Apr 2010 19:39:21 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: John Kemp <john@jkemp.net>
References: <y2q68fba5c51004201801r4d416c73hb45427e92e087829@mail.gmail.com>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7F812@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<z2m68fba5c51004210824i7f5df902qd48229155ddb0b3c@mail.gmail.com>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7F831@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<z2v68fba5c51004210931s438b81a6qbcaf3164cda3010@mail.gmail.com>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7F89E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <7A08177F-92D1-4774-B4B0-D326C3BAFC88@jkemp.net>
In-Reply-To: <7A08177F-92D1-4774-B4B0-D326C3BAFC88@jkemp.net>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] misuse of status code: 400 Bad Request
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 17:48:24 -0000

I agree, we should not abuse HTTP. Why not just use BASIC authentication?

More arguments pro HTTP authentication can be found in thread 
http://www.ietf.org/mail-archive/web/oauth/current/msg01952.html.

regards,
Torsten.


Am 21.04.2010 19:12, schrieb John Kemp:
> You all might want to take a look at Thomas Broyer's cookie-auth HTTP auth scheme: http://tools.ietf.org/html/draft-broyer-http-cookie-auth-00 for what he did to implement something reasonably similar.
>
> I do think it would be nice if we don't abuse HTTP, which suggests we should define a new HTTP authentication scheme. So I would give a +1 to using HTTP 401 and doing some sort of a modification of the cookie-auth proposal to create the new scheme.
>
> Regards,
>
> - johnk
>
> On Apr 21, 2010, at 12:38 PM, Eran Hammer-Lahav wrote:
>
>    
>> How about Marius' suggestion to use a 200 response?
>>
>> I'd rather not invent a new auth scheme that is used just to comply with HTTP requirements for a 401... I think we either keep this simple(r) by using a 400 or 200, or take another look at James' proposal for using Basic auth to send the client credentials. At that point a 401 will be used when the client credentials are wrong, and a 400 (or 200) when something else doesn't match in the request (verification code, username/password).
>>
>> Can others voice their support/dislike for the various options?
>>
>> EHL
>>
>>      
>>> -----Original Message-----
>>> From: Robert Sayre [mailto:sayrer@gmail.com]
>>> Sent: Wednesday, April 21, 2010 9:31 AM
>>> To: Eran Hammer-Lahav
>>> Cc: oauth@ietf.org
>>> Subject: Re: [OAUTH-WG] misuse of status code: 400 Bad Request
>>>
>>> On Wed, Apr 21, 2010 at 11:30 AM, Eran Hammer-Lahav
>>> <eran@hueniverse.com>  wrote:
>>>        
>>>> We tried something like this approach before but the group consensus was
>>>>          
>>> that we should only have a single spec for now.
>>>
>>> Eran kindly pointed me at this survey:
>>> http://www.ietf.org/mail-archive/web/oauth/current/msg01214.html
>>>
>>> It doesn't look like very strong consensus to me, but I can see how the desire
>>> of everyone to call their thing "OAuth" can be a powerful motivator. :)
>>>
>>>        
>>>> As for using Basic/Digest for flow authentication, that's a proposal made by
>>>>          
>>> James Manger which so far received little support (though no hard
>>> objections).
>>>        
>>>> I don't have a strong preference either way.
>>>>
>>>>          
>>> Well, regardless of how big the spec gets, this bit from 3.6.1.1. is a bug:
>>>
>>>      HTTP/1.1 400 Bad Request
>>>      Content-Type: application/x-www-form-urlencoded
>>>
>>>      error=incorrect_credentials
>>>
>>> If you imagine a client trying to do something special with OAuth errors,
>>> there's nothing about this response that's self describing.
>>> Something like this layers much better:
>>>
>>>      HTTP/1.1 401 Unauthorized
>>>      WWW-Authenticate: OAuthDelegatation
>>>      Content-Type: application/x-www-form-urlencoded
>>>
>>>      error=incorrect_credentials
>>>
>>> On Wed, Apr 21, 2010 at 12:16 PM, Marius Scurtescu
>>> <mscurtescu@google.com>  wrote:
>>>        
>>>> At first 401 may seem like the perfect status code in this case, but
>>>> because there is no real challenge response, it probably is a bad
>>>> choice.
>>>>
>>>>          
>>> There certainly is, it just isn't an Authorization header. A client receiving
>>> error=incorrect_credentials would change the creds and respond, right?
>>>
>>>        
>>>> Some HTTP libraries will try to automatically respond to a 401
>>>> challenge and if they are not configured to do so will generate noise
>>>> in the log files. I have seen Apache HttpClient doing that.
>>>>          
>>> People will write buggy OAuth clients too. Don't design around lame bugs in
>>> Apache HttpClient. :)
>>>
>>> --
>>>
>>> Robert Sayre
>>>
>>> "I would have written a shorter letter, but I did not have the time."
>>>        
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>      
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    



From lindner@inuus.com  Wed Apr 21 11:25:41 2010
Return-Path: <lindner@inuus.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 5C4903A6B0F for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 11:25:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.676
X-Spam-Level: 
X-Spam-Status: No, score=-0.676 tagged_above=-999 required=5 tests=[AWL=-1.300, BAYES_50=0.001, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NqxxMa7HK+mn for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 11:25:40 -0700 (PDT)
Received: from mail-pv0-f172.google.com (mail-pv0-f172.google.com [74.125.83.172]) by core3.amsl.com (Postfix) with ESMTP id 2BDD03A6B05 for <oauth@ietf.org>; Wed, 21 Apr 2010 11:18:26 -0700 (PDT)
Received: by pvg7 with SMTP id 7so607863pvg.31 for <oauth@ietf.org>; Wed, 21 Apr 2010 11:18:12 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.199.12 with HTTP; Wed, 21 Apr 2010 11:18:11 -0700 (PDT)
In-Reply-To: <h2kbc03cd711004210449le80dd2d3q8eaf3b8696a994c1@mail.gmail.com>
References: <4BC6FD62.2020203@pidster.com> <h2kbc03cd711004210449le80dd2d3q8eaf3b8696a994c1@mail.gmail.com>
Date: Wed, 21 Apr 2010 11:18:11 -0700
Received: by 10.140.83.22 with SMTP id g22mr1610559rvb.127.1271873892463; Wed,  21 Apr 2010 11:18:12 -0700 (PDT)
Message-ID: <y2zb71cdca91004211118we7ec7a05va4d439e8fbc7a80f@mail.gmail.com>
From: Paul Lindner <lindner@inuus.com>
To: Simone Gianni <simoneg@apache.org>
Content-Type: multipart/alternative; boundary=000e0cd23c828f34110484c337e8
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Standardisation of a Java API
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 18:25:41 -0000

--000e0cd23c828f34110484c337e8
Content-Type: text/plain; charset=ISO-8859-1

Ditto here.  Apache Shindig uses OAuth extensively and we would like to
upgrade it to OAuth 2.0.  The current stable java oauth library is okay, but
does not have an active developer community, and isn't even published to
maven central.

I just had a peek at Amber, looks fairly decent.  I can help move this to
Apache incubating if people are interested.

On Wed, Apr 21, 2010 at 4:49 AM, Simone Gianni <simoneg@apache.org> wrote:

> Hi Pid,
> I'm also interested in developing a Java library for OAuth 2. There is an
> Apache Lab (labs.apache.org , lab named Amber) working on an OAuth 1 Java
> API, it could (will) eventually move to Incubator if we manage to get enough
> momentum.
>
> It would be nice to have a Java API that integrates with existing systems,
> like JAAS and Spring Security (formerly known as Acegi). That would ease the
> migration for all the frameworks and existing systems that already use those
> libraries.
>
> Simone
>
> 2010/4/15 Pid <pid@pidster.com>
>
>> Hi all,
>>
>> I'm interested in working with other Java programmers to develop a
>> standardised API for OAuth 2.0.
>>
>> I have reviewed the recent archives, but don't see anything in the way
>> of discussion on this topic.  If anyone can point me to a location where
>> it is being discussed I'd be grateful.
>>
>>
>> I think it would be good if the OAuth community was able to agree a spec
>> and then for implementors to have something to focus their efforts
>> against, instead of produced many different and incompatible libraries.
>>
>> There are obviously challenges in attempting this before the v2.0 itself
>> is final, but perhaps the effort will inform the overall debate.
>>
>>
>> The different Java implementations of OAuth version 1.0 each have
>> varying features and levels of complexity.  Most implementations focus
>> on the client component and don't provide server components at all.
>> I'd like to improve on that in a Java API.
>>
>> Some ideas I have include specifying that, in addition to programmatical
>> configuration, an implementation should allow ServiceLoader and XML
>> based configurations, and perhaps even an Annotation based config.
>>
>>
>> I'd like to hear from anyone who'd be interested in combining efforts,
>> Java programmer or not.
>>
>>
>> Cheers,
>>
>>
>> Pid
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

--000e0cd23c828f34110484c337e8
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Ditto here. =A0Apache Shindig uses OAuth extensively and we would like to u=
pgrade it to OAuth 2.0. =A0The current stable java oauth library is okay, b=
ut does not have an active developer community, and isn&#39;t even publishe=
d to maven central.<div>
<br></div><div>I just had a peek at Amber, looks fairly decent. =A0I can he=
lp move this to Apache incubating if people are interested.<br><br><div cla=
ss=3D"gmail_quote">On Wed, Apr 21, 2010 at 4:49 AM, Simone Gianni <span dir=
=3D"ltr">&lt;<a href=3D"mailto:simoneg@apache.org">simoneg@apache.org</a>&g=
t;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">Hi Pid,<br>I&#39;m also interested in devel=
oping a Java library for OAuth 2. There is an Apache Lab (<a href=3D"http:/=
/labs.apache.org" target=3D"_blank">labs.apache.org</a> , lab named Amber) =
working on an OAuth 1 Java API, it could (will) eventually move to Incubato=
r if we manage to get enough momentum.<br>

<br>It would be nice to have a Java API that integrates with existing syste=
ms, like JAAS and Spring Security (formerly known as Acegi). That would eas=
e the migration for all the frameworks and existing systems that already us=
e those libraries.<br>

<br>Simone<br><br><div class=3D"gmail_quote">2010/4/15 Pid <span dir=3D"ltr=
">&lt;<a href=3D"mailto:pid@pidster.com" target=3D"_blank">pid@pidster.com<=
/a>&gt;</span><br><blockquote class=3D"gmail_quote" style=3D"border-left:1p=
x solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">
<div><div></div><div class=3D"h5">
Hi all,<br>
<br>
I&#39;m interested in working with other Java programmers to develop a<br>
standardised API for OAuth 2.0.<br>
<br>
I have reviewed the recent archives, but don&#39;t see anything in the way<=
br>
of discussion on this topic. =A0If anyone can point me to a location where<=
br>
it is being discussed I&#39;d be grateful.<br>
<br>
<br>
I think it would be good if the OAuth community was able to agree a spec<br=
>
and then for implementors to have something to focus their efforts<br>
against, instead of produced many different and incompatible libraries.<br>
<br>
There are obviously challenges in attempting this before the v2.0 itself<br=
>
is final, but perhaps the effort will inform the overall debate.<br>
<br>
<br>
The different Java implementations of OAuth version 1.0 each have<br>
varying features and levels of complexity. =A0Most implementations focus<br=
>
on the client component and don&#39;t provide server components at all.<br>
I&#39;d like to improve on that in a Java API.<br>
<br>
Some ideas I have include specifying that, in addition to programmatical<br=
>
configuration, an implementation should allow ServiceLoader and XML<br>
based configurations, and perhaps even an Annotation based config.<br>
<br>
<br>
I&#39;d like to hear from anyone who&#39;d be interested in combining effor=
ts,<br>
Java programmer or not.<br>
<br>
<br>
Cheers,<br>
<font color=3D"#888888"><br>
<br>
Pid<br>
<br>
</font><br></div></div>_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></blockquote></div><br>
<br>_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></blockquote></div><br></div>

--000e0cd23c828f34110484c337e8--

From grastogi@adobe.com  Wed Apr 21 11:41:36 2010
Return-Path: <grastogi@adobe.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E864D3A62C1 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 11:41:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level: 
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BNYrKANqHAfq for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 11:41:34 -0700 (PDT)
Received: from exprod6og105.obsmtp.com (exprod6og105.obsmtp.com [64.18.1.189]) by core3.amsl.com (Postfix) with ESMTP id E077E3A6AA2 for <oauth@ietf.org>; Wed, 21 Apr 2010 11:37:02 -0700 (PDT)
Received: from source ([192.150.8.22]) by exprod6ob105.postini.com ([64.18.5.12]) with SMTP ID DSNKS89FxOLRW2KipfD+cCr2b1Ux59c7y4ev@postini.com; Wed, 21 Apr 2010 11:36:55 PDT
Received: from inner-relay-1.corp.adobe.com ([153.32.1.51]) by outbound-smtp-2.corp.adobe.com (8.12.10/8.12.10) with ESMTP id o3LIais5024195; Wed, 21 Apr 2010 11:36:45 -0700 (PDT)
Received: from nacas01.corp.adobe.com (nacas01.corp.adobe.com [10.8.189.99]) by inner-relay-1.corp.adobe.com (8.12.10/8.12.10) with ESMTP id o3LIaiTe026246; Wed, 21 Apr 2010 11:36:44 -0700 (PDT)
Received: from excas02.corp.adobe.com (10.8.188.212) by nacas01.corp.adobe.com (10.8.189.99) with Microsoft SMTP Server (TLS) id 8.1.375.2; Wed, 21 Apr 2010 11:36:43 -0700
Received: from NAMBX02.corp.adobe.com ([10.8.127.96]) by excas02.corp.adobe.com ([10.8.188.212]) with mapi; Wed, 21 Apr 2010 11:36:43 -0700
From: Gaurav Rastogi <grastogi@adobe.com>
To: David Recordon <recordond@gmail.com>
Date: Wed, 21 Apr 2010 11:36:40 -0700
Thread-Topic: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
Thread-Index: AcrhgZaj5M8kZ/2kRG27vOGUfjZTAw==
Message-ID: <4B7104BF-B8C6-4707-B550-215970F82F3E@adobe.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <t2wc334d54e1004200924ja0e7786u9b349a1931098f2a@mail.gmail.com> <l2ofd6741651004201245gdfc6e2a3j10a6e8a3e59f2072@mail.gmail.com>
In-Reply-To: <l2ofd6741651004201245gdfc6e2a3j10a6e8a3e59f2072@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "jsmarr@stanfordalumni.org" <jsmarr@stanfordalumni.org>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 18:41:36 -0000

+1 on not requiring JSON exclusively. There are enough number of small embe=
dded software stack where JSON is not an option.=20

On Apr 20, 2010, at 12:45 PM, David Recordon wrote:

> Having written an implementation last night against the web server
> flow, I'm worried about adding JSON as a requirement for the response.
> While it might be easier for environments with JSON libraries, it's
> drastically more complex for environments (like embedded hardware)
> which doesn't support JSON. And writing basic form encoded parsing
> code really isn't that hard =96 especially if I can do it!
>=20
>=20
> On Tue, Apr 20, 2010 at 9:24 AM, Joseph Smarr <jsmarr@gmail.com> wrote:
>> +1 to including JSON format, and perhaps making it the required format. =
In
>> my experience helping numerous developers debug their OAuth implementati=
ons,
>> url-encoding/decoding was often a source of bugs, since a) the libraries=
 are
>> usually hand-built, b) url-encoding is known to be funky/inconsistent wr=
t +
>> vs. %20 and other such things, and c) it's very sensitive to things like=
 a
>> trailing newline at the end of the response, which can easily be tokeniz=
ed
>> as part of the the last value (since the normal implementations just spl=
it
>> on & and =3D). In contrast, I've never heard of any problems parsing JSO=
N, nor
>> any encoding/decoding bugs related to working with JSON in other APIs
>> (something I *cannot* say about XML, which is way more finicky about
>> requiring its values to be properly encoded or escaped in CDATA etc.; I'=
ve
>> also seen way more inconsistency in support of XML parsers and their out=
put
>> formats, whereas JSON always works exactly the same way and always "just
>> works").
>> So in conclusion, url-encoding has caused a lot of pain in OAuth 1.0, an=
d
>> JSON is already widely supported (presumably including by most APIs that
>> you're building OAuth support to be able to access!), so I think it woul=
d
>> simplify the spec and increase ease/success of development to use JSON a=
s a
>> request format. In fact, I think I'd like to push for it to be the
>> default/required format, given the positive attributes above. Does anyon=
e
>> object, and if so, why?
>> Thanks, js
>>=20
>> On Tue, Apr 20, 2010 at 8:10 AM, Eran Hammer-Lahav <eran@hueniverse.com>
>> wrote:
>>>=20
>>> There seems to be support for this idea with some concerns about
>>> complexity. Someone needs to propose text for this including defining t=
he
>>> request parameter and schema of the various reply formats.
>>>=20
>>> EHL
>>>=20
>>>> -----Original Message-----
>>>> From: Torsten Lodderstedt [mailto:torsten@lodderstedt.net]
>>>> Sent: Monday, April 19, 2010 4:48 AM
>>>> To: Eran Hammer-Lahav
>>>> Cc: Dick Hardt; OAuth WG
>>>> Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>>>>=20
>>>>=20
>>>>> We can also offer both and define a client request parameter (as long
>>>>> as the server is required to make at least one format available).
>>>>=20
>>>> +1 on this
>>>>=20
>>>> regards,
>>>> Torsten.
>>>>=20
>>>>>=20
>>>>> EHL
>>>>>=20
>>>>>> -----Original Message-----
>>>>>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
>>>>>> Behalf Of Dick Hardt
>>>>>> Sent: Sunday, April 18, 2010 9:30 PM
>>>>>> To: OAuth WG
>>>>>> Subject: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>>>>>>=20
>>>>>> The AS token endpoint response is encoded as application/x-www-form-
>>>>>> urlencoded
>>>>>>=20
>>>>>> While this reuses a well known and understood encoding standard, it
>>>>>> is uncommon for a client to receive a message encoded like this. Mos=
t
>>>>>> server responses are encoded as XML or JSON. Libraries are NOT
>>>>>> reedily available to parse application/x-www-form-urlencoded results
>>>>>> as this is something that is typically done in the web servers
>>>>>> framework. While parsing the name value pairs and URL un-encoding
>>>>>> them is not hard, many developers have been caught just splitting th=
e
>>>> parameters and forgetting to URL decode the token.
>>>>>> Since the token is opaque and may contain characters that are
>>>>>> escaped, it is a difficult bug to detect.
>>>>>>=20
>>>>>> Potential options:
>>>>>>=20
>>>>>> 1) Do nothing, developers should read the specs and do the right
>>>>>> thing.
>>>>>>=20
>>>>>> 2) Require that all parameters are URL safe so that there is no
>>>>>> encoding issue.
>>>>>>=20
>>>>>> 3) Return results as JSON, and recommend that parameters be URL safe=
.
>>>>>>=20
>>>>>> -- Dick
>>>>>> _______________________________________________
>>>>>> OAuth mailing list
>>>>>> OAuth@ietf.org
>>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>> _______________________________________________
>>>>> OAuth mailing list
>>>>> OAuth@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>>=20
>>>>=20
>>>>=20
>>>>=20
>>>=20
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>=20
>>=20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>=20
>>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From atom@yahoo-inc.com  Wed Apr 21 12:05:23 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DACB03A6AF3 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 12:05:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.408
X-Spam-Level: 
X-Spam-Status: No, score=-14.408 tagged_above=-999 required=5 tests=[AWL=-0.954, BAYES_40=-0.185, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, MIME_QP_LONG_LINE=1.396, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QLgRXk8McY62 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 12:05:23 -0700 (PDT)
Received: from mrout2-b.corp.re1.yahoo.com (mrout2-b.corp.re1.yahoo.com [69.147.107.21]) by core3.amsl.com (Postfix) with ESMTP id B9E563A6B18 for <oauth@ietf.org>; Wed, 21 Apr 2010 12:03:33 -0700 (PDT)
Received: from SNV-EXBH01.ds.corp.yahoo.com (snv-exbh01.ds.corp.yahoo.com [207.126.227.249]) by mrout2-b.corp.re1.yahoo.com (8.13.8/8.13.8/y.out) with ESMTP id o3LJ2N2o054310 for <oauth@ietf.org>; Wed, 21 Apr 2010 12:02:25 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:message-id: thread-topic:thread-index:mime-version:content-type:x-originalarrivaltime; b=nahTieY5rdz5NUCApF9Vz+JGPJHOVPo38cbliB5OCEllncqtQH3KGThmwZOqYX7K
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXBH01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.4675);  Wed, 21 Apr 2010 12:02:23 -0700
Received: from 10.72.168.121 ([10.72.168.121]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.59]) with Microsoft Exchange Server HTTP-DAV ; Wed, 21 Apr 2010 19:01:27 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Wed, 21 Apr 2010 12:01:27 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: OAuth WG <oauth@ietf.org>
Message-ID: <C7F49997.2BF3F%atom@yahoo-inc.com>
Thread-Topic: New service provider that supports OAuth 2.0
Thread-Index: AcrhhQtN8p28H01WOEuwlOj3MHqoEg==
Mime-version: 1.0
Content-type: multipart/alternative; boundary="B_3354696087_3636744"
X-OriginalArrivalTime: 21 Apr 2010 19:02:23.0639 (UTC) FILETIME=[2D0FCA70:01CAE185]
Subject: [OAUTH-WG] New service provider that supports OAuth 2.0
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 19:05:24 -0000

> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3354696087_3636744
Content-type: text/plain;
	charset="US-ASCII"
Content-transfer-encoding: 7bit

Well that was fast!

http://developers.facebook.com/docs/authentication/

Allen


--B_3354696087_3636744
Content-type: text/html;
	charset="US-ASCII"
Content-transfer-encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>New service provider that supports OAuth 2.0</TITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:11pt=
'>Well that was fast!<BR>
<BR>
<a href=3D"http://developers.facebook.com/docs/authentication/">http://develo=
pers.facebook.com/docs/authentication/</a><BR>
<BR>
Allen<BR>
</SPAN></FONT>
</BODY>
</HTML>


--B_3354696087_3636744--


From leah.culver@gmail.com  Wed Apr 21 12:28:47 2010
Return-Path: <leah.culver@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DF9773A6A85 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 12:28:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wDRfKjhMq8df for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 12:28:46 -0700 (PDT)
Received: from mail-gx0-f214.google.com (mail-gx0-f214.google.com [209.85.217.214]) by core3.amsl.com (Postfix) with ESMTP id D55B23A6B00 for <oauth@ietf.org>; Wed, 21 Apr 2010 12:27:05 -0700 (PDT)
Received: by gxk6 with SMTP id 6so851006gxk.14 for <oauth@ietf.org>; Wed, 21 Apr 2010 12:26:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :from:date:received:message-id:subject:to:cc:content-type; bh=ViDUiNlrxhZs6nN7NVODAbICHyuiHP+WV4ihjxllMHE=; b=YVyraZg7OuIpDrdU0zBJO3rdbqnEDmZPl0hSkZDXqyONawkJnzIclmvLUB+5SztLbG XtFGjj1qevfr7IDU9BSCfmMTMixPDwtv7yM0uJnsGj8eu1nPJDMhuN9TMDdOT9CPGYrC EY7J8nJJjl14aCGCOGo/LKv6Zk8yanh9Zd0BU=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; b=lk/iss+rtoFNdmDv/g3v8IDfS0/0kOxHMuEvGspoKVyjPvFQwMMORAzC1esbrYaZq3 BNzwpMXjrWFrTIHTI1nE90Np/RTzi0NK+wXtTwcA5lmqjcuh1WovczF0ss0ESEH/eWIl 187LY6tR+MJonhF0fDpLx+pU10amYrGK99Bzo=
MIME-Version: 1.0
Received: by 10.101.1.5 with HTTP; Wed, 21 Apr 2010 12:26:20 -0700 (PDT)
In-Reply-To: <C7F49997.2BF3F%atom@yahoo-inc.com>
References: <C7F49997.2BF3F%atom@yahoo-inc.com>
From: Leah Culver <leah.culver@gmail.com>
Date: Wed, 21 Apr 2010 12:26:20 -0700
Received: by 10.101.186.36 with SMTP id n36mr19336743anp.10.1271878011293;  Wed, 21 Apr 2010 12:26:51 -0700 (PDT)
Message-ID: <s2p9184e2a81004211226yd3e6064dw77ab8548cb2faa0f@mail.gmail.com>
To: Allen Tom <atom@yahoo-inc.com>
Content-Type: multipart/alternative; boundary=001636c5bcd50fde300484c42dfd
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] New service provider that supports OAuth 2.0
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 19:28:48 -0000

--001636c5bcd50fde300484c42dfd
Content-Type: text/plain; charset=ISO-8859-1

Nice!

On Wed, Apr 21, 2010 at 12:01 PM, Allen Tom <atom@yahoo-inc.com> wrote:

>  Well that was fast!
>
> http://developers.facebook.com/docs/authentication/
>
> Allen
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

--001636c5bcd50fde300484c42dfd
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Nice!<br><br><div class=3D"gmail_quote">On Wed, Apr 21, 2010 at 12:01 PM, A=
llen Tom <span dir=3D"ltr">&lt;<a href=3D"mailto:atom@yahoo-inc.com">atom@y=
ahoo-inc.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" sty=
le=3D"margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204);=
 padding-left: 1ex;">





<div>
<font face=3D"Calibri, Verdana, Helvetica, Arial"><span style=3D"font-size:=
 11pt;">Well that was fast!<br>
<br>
<a href=3D"http://developers.facebook.com/docs/authentication/" target=3D"_=
blank">http://developers.facebook.com/docs/authentication/</a><br>
<br>
Allen<br>
</span></font>
</div>


<br>_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></blockquote></div><br>

--001636c5bcd50fde300484c42dfd--

From sayrer@gmail.com  Wed Apr 21 12:50:54 2010
Return-Path: <sayrer@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 09BB63A6B4E for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 12:50:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.367
X-Spam-Level: 
X-Spam-Status: No, score=-4.367 tagged_above=-999 required=5 tests=[AWL=0.232,  BAYES_00=-2.599, GB_I_LETTER=-2]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id M2ed57M-nhKN for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 12:50:53 -0700 (PDT)
Received: from mail-qy0-f181.google.com (mail-qy0-f181.google.com [209.85.221.181]) by core3.amsl.com (Postfix) with ESMTP id 06B783A6AA2 for <oauth@ietf.org>; Wed, 21 Apr 2010 12:50:47 -0700 (PDT)
Received: by qyk11 with SMTP id 11so8620643qyk.13 for <oauth@ietf.org>; Wed, 21 Apr 2010 12:50:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=FdE/57dZ3rBwgDexQKYkhlTQZbJibF6hKIwYMX0UGM8=; b=chDmupn/9YufoHw5LbbTc6TUTE+XVayNfESUTx3FKZE9XOCVJdU577M+NXN3YjC/U+ SYqnDvFnI7k8CM9v0/lGTQbKhpMr6ibh0RCmp2V2xsp2+9TARp0h1gd1vRo4OJi8rvy4 hRicJ8EcmNCTfcyct2VUE5IvuTBFBLgIv2UZg=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=EMlDwgC33fgmGmV5M54FeH1dEFYNrcdiPy1llqhOFa4QqLCcbOCrZFXO9R7luqINSo 0ErhvyiSVBszk7vCZWI0mI9kfi5vHLl3+vDKO2dUjGD/toGjQw84NoG1CKJ9YrCWDye4 QkGlHy8GupVvL31VB+tDuLuySmMakE344n0KU=
MIME-Version: 1.0
Received: by 10.229.99.142 with HTTP; Wed, 21 Apr 2010 12:50:34 -0700 (PDT)
In-Reply-To: <h2y74caaad21004211016t7a3607fei8eedd5380ef75e0@mail.gmail.com>
References: <y2q68fba5c51004201801r4d416c73hb45427e92e087829@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F812@P3PW5EX1MB01.EX1.SECURESERVER.NET> <z2m68fba5c51004210824i7f5df902qd48229155ddb0b3c@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F831@P3PW5EX1MB01.EX1.SECURESERVER.NET> <z2v68fba5c51004210931s438b81a6qbcaf3164cda3010@mail.gmail.com> <h2y74caaad21004211016t7a3607fei8eedd5380ef75e0@mail.gmail.com>
Date: Wed, 21 Apr 2010 15:50:34 -0400
Received: by 10.229.181.16 with SMTP id bw16mr617465qcb.0.1271879434746; Wed,  21 Apr 2010 12:50:34 -0700 (PDT)
Message-ID: <t2r68fba5c51004211250xcb19cc7eq7b4fbdd72e2aaadb@mail.gmail.com>
From: Robert Sayre <sayrer@gmail.com>
To: Marius Scurtescu <mscurtescu@google.com>
Content-Type: text/plain; charset=ISO-8859-1
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] misuse of status code: 400 Bad Request
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 19:50:54 -0000

On Wed, Apr 21, 2010 at 1:16 PM, Marius Scurtescu <mscurtescu@google.com> wrote:
> On Wed, Apr 21, 2010 at 9:31 AM, Robert Sayre <sayrer@gmail.com> wrote:
>> On Wed, Apr 21, 2010 at 12:16 PM, Marius Scurtescu
>> <mscurtescu@google.com> wrote:
>>>
>>> At first 401 may seem like the perfect status code in this case, but
>>> because there is no real challenge response, it probably is a bad
>>> choice.
>>>
>>
>> There certainly is, it just isn't an Authorization header. A client
>> receiving error=incorrect_credentials would change the creds and
>> respond, right?
>
> Respond yes, but not with a proper 401 response which requires the
> "Authorization" header.
>

I did address the lack of an Authorization header in my last message.
I don't see why propriety is an issue.

-- 

Robert Sayre

"I would have written a shorter letter, but I did not have the time."

From eran@hueniverse.com  Wed Apr 21 12:57:10 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B2FE53A67FC for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 12:57:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.202
X-Spam-Level: 
X-Spam-Status: No, score=-1.202 tagged_above=-999 required=5 tests=[AWL=-1.203, BAYES_50=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OhtYfyAuJ8Es for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 12:57:09 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id D95583A67C2 for <oauth@ietf.org>; Wed, 21 Apr 2010 12:57:09 -0700 (PDT)
Received: (qmail 4841 invoked from network); 21 Apr 2010 19:56:58 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 21 Apr 2010 19:56:58 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Wed, 21 Apr 2010 12:56:58 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Dick Hardt <dick.hardt@gmail.com>
Date: Wed, 21 Apr 2010 12:56:45 -0700
Thread-Topic: Editorial feedback on 4/17 draft
Thread-Index: AcrfdELDvw3Azz4dR/G5G73hfJeyMgCD7DiA
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F9B4@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <B22B2652-4873-407C-A6B0-E229C334DFBF@gmail.com>
In-Reply-To: <B22B2652-4873-407C-A6B0-E229C334DFBF@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Editorial feedback on 4/17 draft
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 19:57:10 -0000

Thanks Dick!

Comments already applied are not listed below.

> -----Original Message-----
> From: Dick Hardt [mailto:dick.hardt@gmail.com]
> Sent: Sunday, April 18, 2010 8:56 PM
=20
> Use of "server" term. In numerous places, the term server is used instead=
 of
> authorization server or resource server (maybe even web server). To avoid
> ambiguity, I would suggest the term server is never used, and the spec is
> explicit on which server is being referred to.

In the user-agent flow, a web-server is another entity and is required.
=20
> User authentication at AS: Suggest putting this in one section and then
> referring to it in 3.5.2.1 and 3.5.3.1 (and adding into 3.5.1)

3.1 has that text. The rest just say 'authenticate the end user'.

> Having 5 levels of sections seems overly deep with the bulk of the docume=
nt
> being in 3.5 and 3.6.

True, but if you look at the TOC, the structure makes sense.

> Sections 4 and 5 seem weaker than the other sections.

Not sure about section 4, but section 5 needs review before I spend more ti=
me on editorial work.
=20
> Description of autonomous flow is missing.

Where?

> Why are verification code, user code, device code not defined?

I'm not sure they qualify as terms, but I can add them if people feel it is=
 helpful. I felt they are more flow specific.

> 3.3
>=20
> In WRAP we had a section entitled Parameter Considerations where many
> errata about parameters was contained.

I'll import the missing bits in a later draft.
=20
> 3.5.1.2
>=20
> It is unclear to me how to make the user-agent NOT include the fragment.

It is not supposed to. HTTP requests do not include the fragment. The user-=
agent removes it before making the request.

RFC 3986:

the fragment identifier is separated
   from the rest of the URI prior to a dereference, and thus the
   identifying information within the fragment itself is dereferenced
   solely by the user agent, regardless of the URI scheme.

> 3.5.3.2.3
>=20
> Great to have all the different error conditions. Spec should discuss wha=
t the
> client should do for each error code.

We need to review first if the error codes are complete. I'm sure there are=
 more.

> 3.7.2.1
>=20
> format parameter. Not sure why this undefined parameter is ok, but scope =
is
> not! :) The example needs a little fleshing out. :)

It's not ok. I need to incorporate text from Chuck's proposal.

> 4.
>=20
> While the section introduction describes how it can be used to obtain tok=
ens
> with different security parameters and getting a secret, how and when the
> developer would make different calls is unspecified.

What do you mean by different calls?

EHL

From eran@hueniverse.com  Wed Apr 21 13:00:36 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C1CC13A6B23 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 13:00:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.493
X-Spam-Level: 
X-Spam-Status: No, score=-2.493 tagged_above=-999 required=5 tests=[AWL=0.105,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cg2ANLieHHZ0 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 13:00:32 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 683633A67C2 for <oauth@ietf.org>; Wed, 21 Apr 2010 13:00:29 -0700 (PDT)
Received: (qmail 25226 invoked from network); 21 Apr 2010 20:00:19 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 21 Apr 2010 20:00:19 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Wed, 21 Apr 2010 13:00:11 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Dick Hardt <dick.hardt@gmail.com>, OAuth WG <oauth@ietf.org>
Date: Wed, 21 Apr 2010 12:59:58 -0700
Thread-Topic: [OAUTH-WG] 4/17 draft feedback: token != identifier
Thread-Index: AcrfZcU/kuYj2zrOTUCXbSObOKUynAAGimSAAINQjEA=
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F9B8@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <01F2E4CF-6B73-4FB7-9B36-9DB289B715E5@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379D@P3PW5EX1MB01.EX1.SECURESERVER.NET>
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E30A379D@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F9B8P3PW5EX1MB01E_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] 4/17 draft feedback: token != identifier
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 20:00:36 -0000

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F9B8P3PW5EX1MB01E_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

New text:

        When issuing an access token, the scope, duration, and other access=
 attributes granted by
        the resource owner must be retained and enforced by the resource se=
rver when receiving a
        protected resource request and by the authorization server when rec=
eiving a token refresh
        request made with the access token issued.


EHL

From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
ran Hammer-Lahav
Sent: Sunday, April 18, 2010 10:21 PM
To: Dick Hardt; OAuth WG
Subject: Re: [OAUTH-WG] 4/17 draft feedback: token !=3D identifier

Noted. I'll tweak the text to accommodate this scenario. Note that 'the aut=
horization server MUST retain the scope' is met if the scope is encoded int=
o the token and later verified when used. It doesn't say how the scope must=
 be retained. But I see your point.

EHL

From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of D=
ick Hardt
Sent: Sunday, April 18, 2010 7:12 PM
To: OAuth WG
Subject: [OAUTH-WG] 4/17 draft feedback: token !=3D identifier

The spec describes the access token as an identifier. One of the key capabi=
lities of WRAP was that the token could be self contained. The PR could mak=
e an access control decision by examining the access token and not calling =
the AS.

The token is referred to as an identifier in the Abstract, Introduction, an=
d in 2.1 access token.

Similarly, the Refresh Token can be a self contained token and not an ident=
ifier contrary to the definition in 2.1

This also comes up in S 3. Obtaining an Access Token

   When issuing an access token, the authorization server MUST retain the s=
cope, duration, and

        other access attributes granted by the resource owner, and enforce =
these restrictions when

        receiving a protected resource request made with the access token i=
ssued.
This paragraph is not true if the AS embeds the scope, duration etc. into t=
he token itself. This paragraph implies that the PR calls the AS with the a=
ccess token. This is not needed if the access token is self contained.

-- Dick


--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F9B8P3PW5EX1MB01E_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV=3D"Content-Type" CONTENT=
=3D"text/html; charset=3Dus-ascii"><meta name=3DGenerator content=3D"Micros=
oft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:Consolas;}
span.apple-style-span
	{mso-style-name:apple-style-span;}
span.EmailStyle20
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle21
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";
	font-family:"Tahoma","sans-serif";}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue vli=
nk=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span style=3D'f=
ont-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>New text:=
<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;=
font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span><=
/p><p class=3DMsoNormal style=3D'text-autospace:none'><span style=3D'font-s=
ize:9.5pt;font-family:Consolas'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
When issuing an access token, the scope, duration, and other access attribu=
tes granted by<o:p></o:p></span></p><p class=3DMsoNormal style=3D'text-auto=
space:none'><span style=3D'font-size:9.5pt;font-family:Consolas'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the resource owner must be retained and en=
forced by the resource server when receiving a<o:p></o:p></span></p><p clas=
s=3DMsoNormal style=3D'text-autospace:none'><span style=3D'font-size:9.5pt;=
font-family:Consolas'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected =
resource request and by the authorization server when receiving a token ref=
resh<o:p></o:p></span></p><p class=3DMsoNormal style=3D'text-autospace:none=
'><span style=3D'font-size:9.5pt;font-family:Consolas'>&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp; request made with the access token issued.<o:p></o:p=
></span></p><p class=3DMsoNormal style=3D'text-autospace:none'><span style=
=3D'font-size:9.5pt;font-family:Consolas'><o:p>&nbsp;</o:p></span></p><p cl=
ass=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans=
-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><sp=
an style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F49=
7D'>EHL<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:=
11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p><=
/span></p><div style=3D'border:none;border-left:solid blue 1.5pt;padding:0i=
n 0in 0in 4.0pt'><div><div style=3D'border:none;border-top:solid #B5C4DF 1.=
0pt;padding:3.0pt 0in 0in 0in'><p class=3DMsoNormal><b><span style=3D'font-=
size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style=
=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> oauth-bounces@ietf=
.org [mailto:oauth-bounces@ietf.org] <b>On Behalf Of </b>Eran Hammer-Lahav<=
br><b>Sent:</b> Sunday, April 18, 2010 10:21 PM<br><b>To:</b> Dick Hardt; O=
Auth WG<br><b>Subject:</b> Re: [OAUTH-WG] 4/17 draft feedback: token !=3D i=
dentifier<o:p></o:p></span></p></div></div><p class=3DMsoNormal><o:p>&nbsp;=
</o:p></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:=
"Calibri","sans-serif";color:#1F497D'>Noted. I&#8217;ll tweak the text to a=
ccommodate this scenario. Note that &#8216;the authorization server MUST re=
tain the scope&#8217; is met if the scope is encoded into the token and lat=
er verified when used. It doesn&#8217;t say how the scope must be retained.=
 But I see your point.<o:p></o:p></span></p><p class=3DMsoNormal><span styl=
e=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:=
p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0=
pt;font-family:"Calibri","sans-serif";color:#1F497D'>EHL<o:p></o:p></span><=
/p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibr=
i","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div style=3D'bo=
rder:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div=
 style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in =
0in'><p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"T=
ahoma","sans-serif"'>From:</span></b><span style=3D'font-size:10.0pt;font-f=
amily:"Tahoma","sans-serif"'> oauth-bounces@ietf.org [mailto:oauth-bounces@=
ietf.org] <b>On Behalf Of </b>Dick Hardt<br><b>Sent:</b> Sunday, April 18, =
2010 7:12 PM<br><b>To:</b> OAuth WG<br><b>Subject:</b> [OAUTH-WG] 4/17 draf=
t feedback: token !=3D identifier<o:p></o:p></span></p></div></div><p class=
=3DMsoNormal><o:p>&nbsp;</o:p></p><div><p class=3DMsoNormal>The spec descri=
bes the access token as an identifier.&nbsp;One of the key capabilities of =
WRAP was that the token could be self contained. The PR could make an acces=
s control decision by examining the access token and not calling the AS.&nb=
sp;<o:p></o:p></p></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></di=
v><p class=3DMsoNormal>The token is referred to as an identifier in the Abs=
tract, Introduction, and in 2.1 access token.<o:p></o:p></p><div><p class=
=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>Similarly=
, the Refresh Token can be a self contained token and not an identifier con=
trary to the definition in 2.1<o:p></o:p></p><div><p class=3DMsoNormal><o:p=
>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>This also comes up in S&nb=
sp;3. Obtaining an Access Token<o:p></o:p></p></div><div><blockquote style=
=3D'margin-top:5.0pt;margin-bottom:5.0pt'><pre style=3D'word-wrap: break-wo=
rd;white-space:pre-wrap'>&nbsp;&nbsp; When issuing an access token, the aut=
horization server MUST retain the scope, duration, and<o:p></o:p></pre><pre=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; other access attributes granted=
 by the resource owner, and enforce these restrictions when<o:p></o:p></pre=
><pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; receiving a protected reso=
urce request made with the access token issued.<o:p></o:p></pre></blockquot=
e><div><p class=3DMsoNormal>This paragraph is not true if the AS embeds the=
 scope, duration etc. into the token itself. This paragraph implies that th=
e PR calls the AS with the access token. This is not needed if the access t=
oken is self contained.<o:p></o:p></p></div><div><p class=3DMsoNormal><o:p>=
&nbsp;</o:p></p></div><div><p class=3DMsoNormal>-- Dick<o:p></o:p></p></div=
><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div></div></div></div></d=
iv></div></body></html>=

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7F9B8P3PW5EX1MB01E_--

From beaton@google.com  Wed Apr 21 13:00:46 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1DF203A6954 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 13:00:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.977
X-Spam-Level: 
X-Spam-Status: No, score=-101.977 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7kcb0lYscLI7 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 13:00:45 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 494653A6A0B for <oauth@ietf.org>; Wed, 21 Apr 2010 13:00:43 -0700 (PDT)
Received: from hpaq14.eem.corp.google.com (hpaq14.eem.corp.google.com [10.3.21.14]) by smtp-out.google.com with ESMTP id o3LK0WSl004825 for <oauth@ietf.org>; Wed, 21 Apr 2010 22:00:32 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271880032; bh=B+xlNaNLgBw6KRidZoOsx53tpXQ=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=YqCbpLWXlu6EPEFT5zs0E/HdL37sEeEF1bFcJtYWhJOOhUdePr6dd4uxZs+ffCr1F mTTSG5JpCstK1S89qFc7A==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=VIB2G8nY+5RmCeomseCI7zAdq6ZJhxD66jp5Zx2aIDsn1gKNruUfnjg/1SlqXH+sf Zv3mtthSc0ADYbHoVecgg==
Received: from pvc21 (pvc21.prod.google.com [10.241.209.149]) by hpaq14.eem.corp.google.com with ESMTP id o3LJxlXY028124 for <oauth@ietf.org>; Wed, 21 Apr 2010 22:00:31 +0200
Received: by pvc21 with SMTP id 21so164011pvc.25 for <oauth@ietf.org>; Wed, 21 Apr 2010 13:00:30 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.142.202.10 with HTTP; Wed, 21 Apr 2010 13:00:30 -0700 (PDT)
In-Reply-To: <s2p9184e2a81004211226yd3e6064dw77ab8548cb2faa0f@mail.gmail.com>
References: <C7F49997.2BF3F%atom@yahoo-inc.com> <s2p9184e2a81004211226yd3e6064dw77ab8548cb2faa0f@mail.gmail.com>
Date: Wed, 21 Apr 2010 13:00:30 -0700
Received: by 10.143.27.16 with SMTP id e16mr3981258wfj.24.1271880030453; Wed,  21 Apr 2010 13:00:30 -0700 (PDT)
Message-ID: <r2wdaf5b9571004211300j5d671920w38b87bff1ca912b1@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Leah Culver <leah.culver@gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] New service provider that supports OAuth 2.0
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 20:00:46 -0000

+1.

On Wed, Apr 21, 2010 at 12:26 PM, Leah Culver <leah.culver@gmail.com> wrote:
> Nice!
>
> On Wed, Apr 21, 2010 at 12:01 PM, Allen Tom <atom@yahoo-inc.com> wrote:
>>
>> Well that was fast!
>>
>> http://developers.facebook.com/docs/authentication/
>>
>> Allen
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

From gbrail@sonoasystems.com  Wed Apr 21 13:06:06 2010
Return-Path: <gbrail@sonoasystems.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C65E83A6B76 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 13:06:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.976
X-Spam-Level: 
X-Spam-Status: No, score=-1.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Bcyb2Q06hy3h for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 13:06:05 -0700 (PDT)
Received: from mail-qy0-f181.google.com (mail-qy0-f181.google.com [209.85.221.181]) by core3.amsl.com (Postfix) with ESMTP id A4D453A6AC2 for <oauth@ietf.org>; Wed, 21 Apr 2010 13:06:05 -0700 (PDT)
Received: by qyk11 with SMTP id 11so8639407qyk.13 for <oauth@ietf.org>; Wed, 21 Apr 2010 13:05:55 -0700 (PDT)
From: Greg Brail <gbrail@sonoasystems.com>
References: <C7F49997.2BF3F%atom@yahoo-inc.com>
In-Reply-To: <C7F49997.2BF3F%atom@yahoo-inc.com>
MIME-Version: 1.0
X-Mailer: Microsoft Office Outlook 12.0
Thread-Index: AcrhhQtN8p28H01WOEuwlOj3MHqoEgACH2ug
Date: Wed, 21 Apr 2010 16:05:54 -0400
Received: by 10.229.232.198 with SMTP id jv6mr5457919qcb.11.1271880355042;  Wed, 21 Apr 2010 13:05:55 -0700 (PDT)
Message-ID: <137315b9d471f0b8c28d76a393cb31ef@mail.gmail.com>
To: OAuth WG <oauth@ietf.org>
Content-Type: multipart/alternative; boundary=0016364edcdec255ab0484c4b818
Subject: Re: [OAUTH-WG] New service provider that supports OAuth 2.0
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 20:06:06 -0000

--0016364edcdec255ab0484c4b818
Content-Type: text/plain; charset=ISO-8859-1

  New service provider that supports OAuth 2.0

Whoa, it was!



So, does anyone know what Facebook is planning to do when the spec changes,
which I assume it's going to keep doing for a while?



I mean, the part of the spec that they're describing on the page has been
pretty stable, but if I were building an app for the Facebook platform I'd
be wondering.



*From:* oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] *On Behalf Of
*Allen Tom
*Sent:* Wednesday, April 21, 2010 3:01 PM
*To:* OAuth WG
*Subject:* [OAUTH-WG] New service provider that supports OAuth 2.0



Well that was fast!

http://developers.facebook.com/docs/authentication/

Allen

--0016364edcdec255ab0484c4b818
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<html>

<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 12 (filtered medium)">
<title>New service provider that supports OAuth 2.0</title>
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Arial","sans-serif";
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
-->
</style>

</head>

<body lang=3D"EN-US" link=3D"blue" vlink=3D"purple">

<div class=3D"Section1">

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Ar=
ial&quot;,&quot;sans-serif&quot;">Whoa,
it was!</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Ar=
ial&quot;,&quot;sans-serif&quot;">=A0</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Ar=
ial&quot;,&quot;sans-serif&quot;">So,
does anyone know what Facebook is planning to do when the spec changes, whi=
ch I
assume it&#39;s going to keep doing for a while? </span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Ar=
ial&quot;,&quot;sans-serif&quot;">=A0</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Ar=
ial&quot;,&quot;sans-serif&quot;">I
mean, the part of the spec that they&#39;re describing on the page has been=
 pretty
stable, but if I were building an app for the Facebook platform I&#39;d be
wondering.</span></p>

<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Ar=
ial&quot;,&quot;sans-serif&quot;">=A0</span></p>

<div>

<div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in">

<p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:&quot=
;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span style=3D"font-s=
ize:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">
<a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> [mailt=
o:<a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.org</a>] <b>=
On Behalf Of </b>Allen
Tom<br>
<b>Sent:</b> Wednesday, April 21, 2010 3:01 PM<br>
<b>To:</b> OAuth WG<br>
<b>Subject:</b> [OAUTH-WG] New service provider that supports OAuth 2.0</sp=
an></p>

</div>

</div>

<p class=3D"MsoNormal">=A0</p>

<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;">Well
that was fast!<br>
<br>
<a href=3D"http://developers.facebook.com/docs/authentication/">http://deve=
lopers.facebook.com/docs/authentication/</a><br>
<br>
Allen</span></p>

</div>

</body>

</html>

--0016364edcdec255ab0484c4b818--

From chasen@ironmoney.com  Wed Apr 21 13:24:05 2010
Return-Path: <chasen@ironmoney.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0E1963A6B3F for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 13:24:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.93
X-Spam-Level: 
X-Spam-Status: No, score=0.93 tagged_above=-999 required=5 tests=[BAYES_50=0.001, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, SARE_URI_CONS7=0.306]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oN5b3qhU6cmn for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 13:24:04 -0700 (PDT)
Received: from mail-iw0-f194.google.com (mail-iw0-f194.google.com [209.85.223.194]) by core3.amsl.com (Postfix) with ESMTP id B1FF53A6B67 for <oauth@ietf.org>; Wed, 21 Apr 2010 13:22:49 -0700 (PDT)
Received: by iwn32 with SMTP id 32so4885701iwn.18 for <oauth@ietf.org>; Wed, 21 Apr 2010 13:22:37 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.15.68 with HTTP; Wed, 21 Apr 2010 13:22:31 -0700 (PDT)
In-Reply-To: <530467FD-2F27-4CF7-BEFF-07ACEAD6C2AD@xmlgrrl.com>
References: <C7F1D1FC.32809%eran@hueniverse.com> <620F3756-E159-4EF3-99DC-6D74CC869739@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F48B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <h2xc334d54e1004200918s4bea7c3ez8ce69bb1a9c18151@mail.gmail.com> <530467FD-2F27-4CF7-BEFF-07ACEAD6C2AD@xmlgrrl.com>
Date: Wed, 21 Apr 2010 13:22:31 -0700
Received: by 10.231.152.79 with SMTP id f15mr2298363ibw.19.1271881352806; Wed,  21 Apr 2010 13:22:32 -0700 (PDT)
Message-ID: <z2y4c07358b1004211322j6b018305l50ad3e130b49a905@mail.gmail.com>
From: Chasen Le Hara <chasen@ironmoney.com>
To: Eve Maler <eve@xmlgrrl.com>
Content-Type: multipart/alternative; boundary=001636c92aa33b036a0484c4f48e
Cc: jsmarr@stanfordalumni.org, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 20:24:05 -0000

--001636c92aa33b036a0484c4f48e
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Hi all,

On Tue, Apr 20, 2010 at 6:05 PM, Eve Maler <eve@xmlgrrl.com> wrote:

> It seems like this proposal "goes there" in terms of getting as expressiv=
e
> as Eran fears, though the addition of the wildcard takes away a good deal=
 of
> the pain depending on the particular interface at the endpoint(s). Is the=
re
> any wider interest in "going there"?
>

Yes. A couple months ago Iron Money implemented a permissions system[1] tha=
t
includes read_permissions and write_permissions as parameters when getting =
a
request token. Those two parameters take a comma-separated list of
pre-defined resource values (such as "write_permissions=3Daccounts" for rea=
d
and write permissions for the /accounts/ resource).

If what is specified by OAuth 2.0 doesn=E2=80=99t meet Iron Money=E2=80=99s=
 needs, that=E2=80=99s
fine, but I wanted to raise my hand high as one of the people interested in
a high level of expressiveness.
-Chasen

[1] https://ironmoney.com/api/permissions/

--001636c92aa33b036a0484c4f48e
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Hi all,<div><br><div class=3D"gmail_quote">On Tue, Apr 20, 2010 at 6:05 PM,=
 Eve Maler <span dir=3D"ltr">&lt;<a href=3D"mailto:eve@xmlgrrl.com">eve@xml=
grrl.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div style=3D"word-wrap:break-word"><div>It seems like this proposal &quot;=
goes there&quot; in terms of getting as expressive as Eran fears, though th=
e addition of the wildcard takes away a good deal of the pain depending on =
the particular interface at the endpoint(s). Is there any wider interest in=
 &quot;going there&quot;?</div>
</div></blockquote><div><br></div><div>Yes. A couple months ago Iron Money =
implemented a permissions system[1] that includes read_permissions and writ=
e_permissions as parameters when getting a request token. Those two paramet=
ers take a comma-separated list of pre-defined resource values (such as &qu=
ot;write_permissions=3Daccounts&quot; for read and write permissions for th=
e /accounts/ resource).</div>
<div><br></div><div>If what is specified by OAuth 2.0 doesn=E2=80=99t meet =
Iron Money=E2=80=99s needs, that=E2=80=99s fine, but I wanted to raise my h=
and high as one of the people interested in a high level of expressiveness.=
</div><div>-Chasen</div>
<div><br></div><div>[1]=C2=A0<a href=3D"https://ironmoney.com/api/permissio=
ns/">https://ironmoney.com/api/permissions/</a></div></div></div>

--001636c92aa33b036a0484c4f48e--

From torsten@lodderstedt.net  Wed Apr 21 14:31:34 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 515713A6AB4 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 14:31:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.061
X-Spam-Level: 
X-Spam-Status: No, score=-2.061 tagged_above=-999 required=5 tests=[AWL=0.187,  BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TiaQZ6PP+kA9 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 14:31:23 -0700 (PDT)
Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.31.40]) by core3.amsl.com (Postfix) with ESMTP id 2106F3A688F for <oauth@ietf.org>; Wed, 21 Apr 2010 14:31:13 -0700 (PDT)
Received: from p4fff2ac8.dip.t-dialin.net ([79.255.42.200] helo=[127.0.0.1]) by smtprelay02.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O4hVe-0002VK-PF; Wed, 21 Apr 2010 23:31:02 +0200
Message-ID: <4BCF6E8F.6080802@lodderstedt.net>
Date: Wed, 21 Apr 2010 23:30:55 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com>	<C7F1C6AC.327EE%eran@hueniverse.com>	<u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<o2wc8689b661004191716o69966d5di900c07737d3be568@mail.gmail.com>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7F45A@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<z2xc334d54e1004200936s57f06dedt8e0e46df3480f8d4@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F533@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BCDF86C.9080003@lodderstedt.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F5D9@P3PW5EX1MB01.EX1.SECURESERVER.NET>
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F5D9@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Content-Type: multipart/alternative; boundary="------------090500090809070806070405"
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 21:31:35 -0000

This is a multi-part message in MIME format.
--------------090500090809070806070405
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Am 20.04.2010 20:59, schrieb Eran Hammer-Lahav:
>
> Because the rest of the spec did receive extensive review from both 
> early adopters and from the previous drafts it borrowed from. Nothing 
> so far is a new concept. The concept of an identity is new in OAuth, 
> and while offers important benefits, should not be added to the spec 
> when there are actual security concerns around it.
>

My impression is that the specification has undergone significant 
changes since its first version and cannot be compared to its 
predecessor in terms of security.

Let me give you some examples.

I wonder if anyone security reviewed the introduction of refresh tokens 
to the User Agent Flow? From my point of view, refresh tokens are 
dangerous in this flow.

First of all, where should a JavaScript client store this token 
securely? If someone is able to steal the token, it can use it to obtain 
access tokens.

Steps:
1) legitimate client is granted access by the end user
2) client stores refresh token in local storage (?)
3) malicious software reads refresh token from local storage
4) malicious software obtains access token from the authorization server 
(no client secret required)
5) malicious software uses token or sends it to a central storage for 
further abuse

Second, the immediate mode has been introduced to the User Agent flow 
recently. I don't know exactly but my feeling is that a malicious 
software can steal tokens.

Steps:
1) malicious software initiated authorization flow using immediate=true 
and a stolen client_id
2) Assuming this client has been granted access by the end user of the 
particular computer, the authorization server directly respondes with 
tokens w/o user interaction. The user does not realize what is happening.
3) malicious software uses token or sends it to a central storage for 
further abuse

The only countermesure I see is the redirect URL verification, which 
seams to be optional: "If the client has previously registered a 
redirection URI with the
    authorization server".

> I raised a specific issue that was not addressed. Brian seems to have 
> other concerns.
>

Other posts on the thread indicated a need for such an concept. We use 
such parameters, too.

I think, from a security standpoint, the problem is much more the 
immediate parameter then the username parameter. If the username is 
modified by an attacker, the user should see the username in 
authentication or authorization dialogs. So he/her can react. That's not 
the case in immediate mode, so there are only technical ways to prevent 
username modifications, HTTPS or signatures.

> I don't like the policy of add-first-discuss-later.
>

I don't like it either. But sometimes it is more efficient to make 
progress and discuss such aspects in-depth when reaching milestones.

regards,
Torsten.

> EHL
>
> *From:* Torsten Lodderstedt [mailto:torsten@lodderstedt.net]
> *Sent:* Tuesday, April 20, 2010 11:55 AM
> *To:* Eran Hammer-Lahav
> *Cc:* jsmarr@stanfordalumni.org; OAuth WG
> *Subject:* Re: [OAUTH-WG] Issue: 'username' parameter proposal
>
> In my experiences, such a review takes much longer than a few minutes.
>
> I think the whole specification should be subject to a comprehensive 
> and in-depth security analysis (threat modeling, counter measures and 
> so on). So why not adding this parameter and examine its implications 
> in this context?
>
> regards,
> Torsten.
>
> Am 20.04.2010 19:23, schrieb Eran Hammer-Lahav:
>
> I'm not aware of anyone arguing against this feature. The only issue 
> is a full security review before we add it to the spec. If one of the 
> security experts here can spend a few minutes to review this, we can 
> move forward and add it to the draft.
>
> EHL
>
> *From:* Joseph Smarr [mailto:jsmarr@gmail.com]
> *Sent:* Tuesday, April 20, 2010 9:36 AM
> *To:* Eran Hammer-Lahav
> *Cc:* Evan Gilbert; OAuth WG
> *Subject:* Re: [OAUTH-WG] Issue: 'username' parameter proposal
>
> Just to add some more context from experience, this "two users getting 
> mixed together" problem happens a lot in practice, esp. when you have 
> a mix of server-side and client-side auth. For instance, we saw this 
> in our Facebook Connect integration in Plaxo--normally the user 
> connects and Plaxo stores their session key in our databases, so when 
> the user returns and logs in as plaxo-user-123, we look it up and know 
> that he's also facebook-user-456. But some of Facebook Connect's UI 
> widgets just look at the browser cookies on facebook.com 
> <http://facebook.com>, where facebook-user-789 may be currently logged 
> in (happens all the time with shared computers at home). Thus we often 
> had pages that pulled some Facebook info server-side (as 
> facebook-user-456) and some client-side (as facebook-user-789) and it 
> was very confusing and potentially harmful (e.g. easy to accidentally 
> post a story to the wrong account). The solution would be for Plaxo to 
> be able to pass facebook-user-456 down to the JavaScript library, so 
> it wouldn't just "silently auth" as a different user--presumably, it 
> would just treat it as if no one was logged into facebook, if the 
> passed-in user is not logged in. I think this is what Evan is 
> proposing we enable for OAuth, especially if we want it to work 
> client-side with immediate-mode (which I think we do).
>
> Another related example of this problem we saw was with our 
> photo-uploader plug-in inside Picasa Desktop for sharing photos on 
> Plaxo. During the upload flow, it embeds a web browser, which lets you 
> log in as plaxo-user-123, but when it's done uploading, it opens a 
> default web browser, where you might be logged in as plaxo-user-456, 
> leading again to a confusing mix-up of identities. We solved this by 
> appending the session-info of the user from the embedded web browser 
> on the URL of the main browser that gets opened, so it can clobber the 
> session as needed and maintain continuity of session.
>
> Hope these experiences provide some useful and concrete context for 
> evaluating whether/how to support a username parameter in OAuth.
>
> Thanks, js
>
> On Tue, Apr 20, 2010 at 8:08 AM, Eran Hammer-Lahav 
> <eran@hueniverse.com <mailto:eran@hueniverse.com>> wrote:
>
> This attack is why the flow requires the client to present the 
> callback it used again when getting the token.
>
> EHL
>
> *From:* Evan Gilbert [mailto:uidude@google.com 
> <mailto:uidude@google.com>]
> *Sent:* Monday, April 19, 2010 5:17 PM
>
>
> *To:* Eran Hammer-Lahav
> *Cc:* OAuth WG
> *Subject:* Re: [OAUTH-WG] Issue: 'username' parameter proposal
>
> On Mon, Apr 19, 2010 at 10:58 AM, Eran Hammer-Lahav 
> <eran@hueniverse.com <mailto:eran@hueniverse.com>> wrote:
>
> Thanks. That makes sense.
>
> My concern is that the client will ask for a specific username but an 
> attacker will change that request before it hits the server. The 
> server then asks the (wrong) user to authenticate and returns a token. 
> The client has no way of knowing it got an access token for the wrong 
> user. Does requiring that the server returns the token with the 
> username solves this? Is this a real issue?
>
> This particular attack wasn't of concern to me, for a few of reasons:
>
> - The request is HTTPS, hard to modify the request before it hits the 
> server
>
> - There are probably other, more dangerous attacks if you can modify 
> request parameters (for example, you can modify the client_id and get 
> the user to authorize the wrong app)
>
>
> I'm willing to be convinced otherwise
>
>     I have no objections to this proposal but wanted to see some
>     discussion and support from others before adding it to the spec.
>
>     EHL
>
>     *From:* Evan Gilbert [mailto:uidude@google.com
>     <mailto:uidude@google.com>]
>     *Sent:* Monday, April 19, 2010 10:06 AM
>     *To:* Eran Hammer-Lahav
>     *Cc:* OAuth WG
>
>
>     *Subject:* Re: [OAUTH-WG] Issue: 'username' parameter proposal
>
>     User 1 is logged into Client site
>
>     User 2 is logged into IDP site
>
>     This can happen quite frequently, as client sites often have
>     long-lived cookies and may only be visited by one user on a shared
>     computer.
>
>     Right now client site has no way to ask for a token for User 1,
>     and end result will be that User 1 starts seeing User 2's data.
>
>     On Mon, Apr 19, 2010 at 8:37 AM, Eran Hammer-Lahav
>     <eran@hueniverse.com <mailto:eran@hueniverse.com>> wrote:
>
>     How can they both be logged in? I have never seen a case where two
>     users can be both logged into to the same service at the same time...
>
>     EHL
>
>
>
>
>     On 4/19/10 8:33 AM, "Evan Gilbert" <uidude@google.com
>     <http://uidude@google.com>> wrote:
>
>         More details on this enhancement.
>
>         Goal: Make sure you get an access token for the right user in
>         immediate mode.
>
>         Use case where we have problems if we don't have username
>         parameter:
>
>            1. Bob is logged into a web site as bob@IDP.com
>               <http://bob@IDP.com>.
>            2. Mary (his wife) is logged into IDP on the same computer
>               as mary@IDP.com <http://mary@IDP.com>
>            3. A request is made to get an access token via the
>               User-Agent flow in immediate mode (or with any redirect
>               without prompting the user)
>            4. -ob now has an access token for Mary and (posts
>               activities, schedules events, gets contacts) as Mary
>            5. Hilarity ensues
>
>
>         Secondary goal: Provide a hint for non-immediate mode
>
>         On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav
>         <eran@hueniverse.com <http://eran@hueniverse.com>> wrote:
>
>         Evan Gilbert proposed a 'username' request parameter to allow
>         the client to
>         limit the end user to authenticate using the provided
>         authorization server
>         identifier. The proposal has not been discussed or supported
>         by others, and
>         has not received a security review.
>
>         Proposal: Obtain further discussion and support from others,
>         as well as a
>         security review of the proposal. Otherwise, do nothing.
>
>         EHL
>
>         _______________________________________________
>         OAuth mailing list
>         OAuth@ietf.org <http://OAuth@ietf.org>
>         https://www.ietf.org/mailman/listinfo/oauth
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org <mailto:OAuth@ietf.org>
> https://www.ietf.org/mailman/listinfo/oauth
>
>   
>   
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org  <mailto:OAuth@ietf.org>
> https://www.ietf.org/mailman/listinfo/oauth
>    
>


--------------090500090809070806070405
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Am 20.04.2010 20:59, schrieb Eran Hammer-Lahav:<br>
<blockquote
 cite="mid:90C41DD21FB7C64BB94121FBBC2E723438E5C7F5D9@P3PW5EX1MB01.EX1.SECURESERVER.NET"
 type="cite">
  <meta http-equiv="Content-Type"
 content="text/html; charset=ISO-8859-1">
  <meta name="Generator" content="Microsoft Word 14 (filtered medium)">
  <style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	color:black;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p
	{mso-style-priority:99;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	color:black;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";
	color:black;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";
	color:black;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";
	font-family:"Tahoma","sans-serif";}
span.EmailStyle20
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:Consolas;
	color:black;}
span.EmailStyle23
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:1371033953;
	mso-list-template-ids:1972115134;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
  <div class="WordSection1">
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">Because
the rest of the spec did receive extensive review from both early
adopters and from the previous drafts it borrowed from. Nothing so far
is a new concept. The concept of an identity is new in OAuth, and while
offers important benefits, should not be added to the spec when there
are actual security concerns around it.</span></p>
  </div>
</blockquote>
<br>
My impression is that the specification has undergone significant
changes since its first version and cannot be compared to its
predecessor in terms of security. <br>
<br>
Let me give you some examples. <br>
<br>
I wonder if anyone security reviewed the introduction of refresh tokens
to the User Agent Flow? From my point of view, refresh tokens are
dangerous in this flow. <br>
<br>
First of all, where should a JavaScript client store this token
securely? If someone is able to steal the token, it can use it to
obtain access tokens.<br>
<br>
Steps:<br>
1) legitimate client is granted access by the end user <br>
2) client stores refresh token in local storage (?)<br>
3) malicious software reads refresh token from local storage <br>
4) malicious software obtains access token from the authorization
server (no client secret required)<br>
5) malicious software uses token or sends it to a central storage for
further abuse <br>
<br>
Second, the immediate mode has been introduced to the User Agent flow
recently. I don't know exactly but my feeling is that a malicious
software can steal tokens.<br>
<br>
Steps:<br>
1) malicious software initiated authorization flow using immediate=true
and a stolen client_id<br>
2) Assuming this client has been granted access by the end user of the
particular computer, the authorization server directly respondes with
tokens w/o user interaction. The user does not realize what is
happening.<br>
3) malicious software uses token or sends it to a central storage for
further abuse <br>
<br>
The only countermesure I see is the redirect URL verification, which
seams to be optional: "If the client has previously registered a
redirection URI with the
<div class="line" id="LC699">&nbsp;&nbsp;&nbsp;authorization server".<br>
</div>
&nbsp;<br>
<blockquote
 cite="mid:90C41DD21FB7C64BB94121FBBC2E723438E5C7F5D9@P3PW5EX1MB01.EX1.SECURESERVER.NET"
 type="cite">
  <div class="WordSection1">
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>&nbsp;</o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">I
raised a specific issue that was not addressed. Brian seems to have
other concerns.</span></p>
  </div>
</blockquote>
<br>
Other posts on the thread indicated a need for such an concept. We use
such parameters, too. <br>
<br>
I think, from a security standpoint, the problem is much more the
immediate parameter then the username parameter. If the username is
modified by an attacker, the user should see the username in
authentication or authorization dialogs. So he/her can react. That's
not the case in immediate mode, so there are only technical ways to
prevent username modifications, HTTPS or signatures. <br>
<br>
<blockquote
 cite="mid:90C41DD21FB7C64BB94121FBBC2E723438E5C7F5D9@P3PW5EX1MB01.EX1.SECURESERVER.NET"
 type="cite">
  <div class="WordSection1">
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>&nbsp;</o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">I
don&#8217;t like the policy of add-first-discuss-later.</span></p>
  </div>
</blockquote>
<br>
I don't like it either. But sometimes it is more efficient to make
progress and discuss such aspects in-depth when reaching milestones.<br>
<br>
regards,<br>
Torsten.<br>
<br>
<blockquote
 cite="mid:90C41DD21FB7C64BB94121FBBC2E723438E5C7F5D9@P3PW5EX1MB01.EX1.SECURESERVER.NET"
 type="cite">
  <div class="WordSection1">
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>&nbsp;</o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">EHL<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);"><o:p>&nbsp;</o:p></span></p>
  <div
 style="border-style: none none none solid; border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color blue; border-width: medium medium medium 1.5pt; padding: 0in 0in 0in 4pt;">
  <div>
  <div
 style="border-style: solid none none; border-color: rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">
  <p class="MsoNormal"><b><span
 style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;; color: windowtext;">From:</span></b><span
 style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;; color: windowtext;">
Torsten Lodderstedt [<a class="moz-txt-link-freetext" href="mailto:torsten@lodderstedt.net">mailto:torsten@lodderstedt.net</a>] <br>
  <b>Sent:</b> Tuesday, April 20, 2010 11:55 AM<br>
  <b>To:</b> Eran Hammer-Lahav<br>
  <b>Cc:</b> <a class="moz-txt-link-abbreviated" href="mailto:jsmarr@stanfordalumni.org">jsmarr@stanfordalumni.org</a>; OAuth WG<br>
  <b>Subject:</b> Re: [OAUTH-WG] Issue: 'username' parameter proposal<o:p></o:p></span></p>
  </div>
  </div>
  <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
  <p class="MsoNormal">In my experiences, such a review takes much
longer than a few minutes. <br>
  <br>
I think the whole specification should be subject to a comprehensive
and in-depth security analysis (threat modeling, counter measures and
so on). So why not adding this parameter and examine its implications
in this context? <br>
  <br>
regards,<br>
Torsten. &nbsp; <br>
&nbsp;<br>
Am 20.04.2010 19:23, schrieb Eran Hammer-Lahav: <o:p></o:p></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">I&#8217;m
not aware of anyone arguing against this feature. The only issue is a
full security review before we add it to the spec. If one of the
security experts here can spend a few minutes to review this, we can
move forward and add it to the draft.</span><o:p></o:p></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">&nbsp;</span><o:p></o:p></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">EHL</span><o:p></o:p></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">&nbsp;</span><o:p></o:p></p>
  <div
 style="border-style: none none none solid; border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color blue; border-width: medium medium medium 1.5pt; padding: 0in 0in 0in 4pt;">
  <div>
  <div
 style="border-style: solid none none; border-color: -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">
  <p class="MsoNormal"><b><span
 style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;">From:</span></b><span
 style="font-size: 10pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;"> Joseph
Smarr [<a moz-do-not-send="true" href="mailto:jsmarr@gmail.com">mailto:jsmarr@gmail.com</a>]
  <br>
  <b>Sent:</b> Tuesday, April 20, 2010 9:36 AM<br>
  <b>To:</b> Eran Hammer-Lahav<br>
  <b>Cc:</b> Evan Gilbert; OAuth WG<br>
  <b>Subject:</b> Re: [OAUTH-WG] Issue: 'username' parameter proposal</span><o:p></o:p></p>
  </div>
  </div>
  <p class="MsoNormal">&nbsp;<o:p></o:p></p>
  <p class="MsoNormal">Just to add some more context from experience,
this "two users getting mixed together" problem happens a lot in
practice, esp. when you have a mix of server-side and client-side auth.
For instance, we saw this in our Facebook Connect integration in
Plaxo--normally the user connects and Plaxo stores their session key in
our databases, so when the user returns and logs in as plaxo-user-123,
we look it up and know that he's also facebook-user-456. But some of
Facebook Connect's UI widgets just look at the browser cookies on <a
 moz-do-not-send="true" href="http://facebook.com">facebook.com</a>,
where facebook-user-789 may be currently logged in (happens all the
time with shared computers at home). Thus we often had pages that
pulled some Facebook info server-side (as facebook-user-456) and some
client-side (as facebook-user-789) and it was very confusing and
potentially harmful (e.g. easy to accidentally post a story to the
wrong account). The solution would be for Plaxo to be able to pass
facebook-user-456 down to the JavaScript library, so it wouldn't just
"silently auth" as a different user--presumably, it would just treat it
as if no one was logged into facebook, if the passed-in user is not
logged in. I think this is what Evan is proposing we enable for OAuth,
especially if we want it to work client-side with immediate-mode (which
I think we do).<o:p></o:p></p>
  <div>
  <p class="MsoNormal">&nbsp;<o:p></o:p></p>
  </div>
  <div>
  <p class="MsoNormal">Another related example of this problem we saw
was with our photo-uploader plug-in inside Picasa Desktop for sharing
photos on Plaxo. During the upload flow, it embeds a web browser, which
lets you log in as plaxo-user-123, but when it's done uploading, it
opens a default web browser, where you might be logged in as
plaxo-user-456, leading again to a confusing mix-up of identities. We
solved this by appending the session-info of the user from the embedded
web browser on the URL of the main browser that gets opened, so it can
clobber the session as needed and maintain continuity of session.<o:p></o:p></p>
  </div>
  <div>
  <p class="MsoNormal">&nbsp;<o:p></o:p></p>
  </div>
  <div>
  <p class="MsoNormal">Hope these experiences provide some useful and
concrete context for evaluating whether/how to support a username
parameter in OAuth.<o:p></o:p></p>
  </div>
  <div>
  <p class="MsoNormal">&nbsp;<o:p></o:p></p>
  </div>
  <div>
  <p class="MsoNormal" style="margin-bottom: 12pt;">Thanks, js<o:p></o:p></p>
  <div>
  <p class="MsoNormal">On Tue, Apr 20, 2010 at 8:08 AM, Eran
Hammer-Lahav &lt;<a moz-do-not-send="true"
 href="mailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt; wrote:<o:p></o:p></p>
  <div>
  <div>
  <p class="MsoNormal"><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">This attack is why
the flow requires the client to present the callback it used again when
getting the token.</span><o:p></o:p></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">&nbsp;</span><o:p></o:p></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">EHL</span><o:p></o:p></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">&nbsp;</span><o:p></o:p></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">&nbsp;</span><o:p></o:p></p>
  <div
 style="border-style: none none none solid; border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color blue; border-width: medium medium medium 1.5pt; padding: 0in 0in 0in 4pt;">
  <div>
  <div
 style="border-style: solid none none; border-color: -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">
  <p class="MsoNormal"><b><span style="font-size: 10pt;">From:</span></b><span
 style="font-size: 10pt;"> Evan Gilbert [mailto:<a
 moz-do-not-send="true" href="mailto:uidude@google.com" target="_blank">uidude@google.com</a>]
  <br>
  <b>Sent:</b> Monday, April 19, 2010 5:17 PM</span><o:p></o:p></p>
  <div>
  <div>
  <p class="MsoNormal"><br>
  <b>To:</b> Eran Hammer-Lahav<br>
  <b>Cc:</b> OAuth WG<br>
  <b>Subject:</b> Re: [OAUTH-WG] Issue: 'username' parameter proposal<o:p></o:p></p>
  </div>
  </div>
  </div>
  </div>
  <div>
  <div>
  <p class="MsoNormal">&nbsp;<o:p></o:p></p>
  <p class="MsoNormal" style="margin-bottom: 12pt;">&nbsp;<o:p></o:p></p>
  <div>
  <p class="MsoNormal">On Mon, Apr 19, 2010 at 10:58 AM, Eran
Hammer-Lahav &lt;<a moz-do-not-send="true"
 href="mailto:eran@hueniverse.com" target="_blank">eran@hueniverse.com</a>&gt;
wrote:<o:p></o:p></p>
  <div>
  <div>
  <p class="MsoNormal"><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">Thanks. That makes
sense.</span><o:p></o:p></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">&nbsp;</span><o:p></o:p></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">My concern is that
the client will ask for a specific username but an attacker will change
that request before it hits the server. The server then asks the
(wrong) user to authenticate and returns a token. The client has no way
of knowing it got an access token for the wrong user. Does requiring
that the server returns the token with the username solves this? Is
this a real issue?</span><o:p></o:p></p>
  </div>
  </div>
  <div>
  <p class="MsoNormal">&nbsp;<o:p></o:p></p>
  </div>
  <div>
  <p class="MsoNormal">This particular attack wasn't of concern to me,
for a few of reasons:<o:p></o:p></p>
  </div>
  <div>
  <p class="MsoNormal">- The request is HTTPS, hard to modify the
request before it hits the server<o:p></o:p></p>
  </div>
  <div>
  <p class="MsoNormal">- There are probably other, more dangerous
attacks if you can modify request parameters (for example, you can
modify the client_id and get the user to authorize the wrong app)<o:p></o:p></p>
  </div>
  <div>
  <p class="MsoNormal"><br>
I'm willing to be convinced otherwise<o:p></o:p></p>
  </div>
  <blockquote
 style="border-style: none none none solid; border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(204, 204, 204); border-width: medium medium medium 1pt; margin: 5pt 0in 5pt 4.8pt; padding: 0in 0in 0in 6pt;">
    <div>
    <div>
    <p class="MsoNormal"><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">&nbsp;</span><o:p></o:p></p>
    <p class="MsoNormal"><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">I have no objections
to this proposal but wanted to see some discussion and support from
others before adding it to the spec.</span><o:p></o:p></p>
    <p class="MsoNormal"><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">&nbsp;</span><o:p></o:p></p>
    <p class="MsoNormal"><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">EHL</span><o:p></o:p></p>
    <p class="MsoNormal"><span
 style="font-size: 11pt; color: rgb(31, 73, 125);">&nbsp;</span><o:p></o:p></p>
    <div
 style="border-style: none none none solid; border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color blue; border-width: medium medium medium 1.5pt; padding: 0in 0in 0in 4pt;">
    <div>
    <div
 style="border-style: solid none none; border-color: -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">
    <p class="MsoNormal"><b><span style="font-size: 10pt;">From:</span></b><span
 style="font-size: 10pt;"> Evan Gilbert [mailto:<a
 moz-do-not-send="true" href="mailto:uidude@google.com" target="_blank">uidude@google.com</a>]
    <br>
    <b>Sent:</b> Monday, April 19, 2010 10:06 AM<br>
    <b>To:</b> Eran Hammer-Lahav<br>
    <b>Cc:</b> OAuth WG</span><o:p></o:p></p>
    <div>
    <p class="MsoNormal"><br>
    <b>Subject:</b> Re: [OAUTH-WG] Issue: 'username' parameter proposal<o:p></o:p></p>
    </div>
    </div>
    </div>
    <p class="MsoNormal">&nbsp;<o:p></o:p></p>
    <p class="MsoNormal">User 1 is logged into Client site<o:p></o:p></p>
    <div>
    <div>
    <div>
    <p class="MsoNormal">User 2 is logged into IDP site<o:p></o:p></p>
    </div>
    <div>
    <p class="MsoNormal">&nbsp;<o:p></o:p></p>
    </div>
    <div>
    <p class="MsoNormal">This can happen quite frequently, as client
sites often have long-lived cookies and may only be visited by one user
on a shared computer.<o:p></o:p></p>
    </div>
    <div>
    <p class="MsoNormal">&nbsp;<o:p></o:p></p>
    </div>
    <div>
    <p class="MsoNormal">Right now client site has no way to ask for a
token for User 1, and end result will be that User 1 starts seeing User
2's data.<o:p></o:p></p>
    </div>
    <div>
    <div>
    <div>
    <div>
    <p class="MsoNormal">&nbsp;<o:p></o:p></p>
    <div>
    <p class="MsoNormal">On Mon, Apr 19, 2010 at 8:37 AM, Eran
Hammer-Lahav &lt;<a moz-do-not-send="true"
 href="mailto:eran@hueniverse.com" target="_blank">eran@hueniverse.com</a>&gt;
wrote:<o:p></o:p></p>
    <div>
    <p class="MsoNormal"><span style="font-size: 11pt;">How can they
both be logged in? I have never seen a case where two users can be both
logged into to the same service at the same time...<br>
    </span><span style="font-size: 11pt; color: rgb(136, 136, 136);"><br>
EHL</span><o:p></o:p></p>
    <div>
    <div>
    <p class="MsoNormal" style="margin-bottom: 12pt;"><span
 style="font-size: 11pt;"><br>
    <br>
    <br>
On 4/19/10 8:33 AM, "Evan Gilbert" &lt;<a moz-do-not-send="true"
 href="http://uidude@google.com" target="_blank">uidude@google.com</a>&gt;
wrote:</span><o:p></o:p></p>
    </div>
    </div>
    <div>
    <div>
    <blockquote style="margin-top: 5pt; margin-bottom: 5pt;">
      <p class="MsoNormal"><span style="font-size: 11pt;">More details
on this enhancement.<br>
      <br>
Goal: Make sure you get an access token for the right user in immediate
mode.<br>
      <br>
Use case where we have problems if we don't have username parameter:</span><o:p></o:p></p>
      <ol style="margin-top: 0in;" start="1" type="1">
        <li class="MsoNormal" style=""><span style="font-size: 11pt;">Bob
is logged into a web site as <a moz-do-not-send="true"
 href="http://bob@IDP.com" target="_blank">bob@IDP.com</a>. </span><o:p></o:p></li>
        <li class="MsoNormal" style=""><span style="font-size: 11pt;">Mary
(his wife) is logged into IDP on the same computer as <a
 moz-do-not-send="true" href="http://mary@IDP.com" target="_blank">mary@IDP.com</a>
          </span><o:p></o:p></li>
        <li class="MsoNormal" style=""><span style="font-size: 11pt;">A
request is made to get an access token via the User-Agent flow in
immediate mode (or with any redirect without prompting the user) </span><o:p></o:p></li>
        <li class="MsoNormal" style=""><span style="font-size: 11pt;">-ob
now has an access token for Mary and (posts activities, schedules
events, gets contacts) as Mary </span><o:p></o:p></li>
        <li class="MsoNormal" style=""><span style="font-size: 11pt;">Hilarity
ensues</span><o:p></o:p></li>
      </ol>
      <p class="MsoNormal"><span style="font-size: 11pt;"><br>
Secondary goal: Provide a hint for non-immediate mode<br>
      <br>
On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav &lt;<a
 moz-do-not-send="true" href="http://eran@hueniverse.com"
 target="_blank">eran@hueniverse.com</a>&gt; wrote:</span><o:p></o:p></p>
      <p class="MsoNormal"><span style="font-size: 11pt;">Evan Gilbert
proposed a 'username' request parameter to allow the client to<br>
limit the end user to authenticate using the provided authorization
server<br>
identifier. The proposal has not been discussed or supported by others,
and<br>
has not received a security review.<br>
      <br>
Proposal: Obtain further discussion and support from others, as well as
a<br>
security review of the proposal. Otherwise, do nothing.<br>
      <br>
EHL<br>
      <br>
_______________________________________________<br>
OAuth mailing list<br>
      <a moz-do-not-send="true" href="http://OAuth@ietf.org"
 target="_blank">OAuth@ietf.org</a><br>
      <a moz-do-not-send="true"
 href="https://www.ietf.org/mailman/listinfo/oauth" target="_blank">https://www.ietf.org/mailman/listinfo/oauth</a></span><o:p></o:p></p>
      <p class="MsoNormal" style="margin-bottom: 12pt;">&nbsp;<o:p></o:p></p>
    </blockquote>
    </div>
    </div>
    </div>
    </div>
    <p class="MsoNormal">&nbsp;<o:p></o:p></p>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
  </blockquote>
  </div>
  <p class="MsoNormal">&nbsp;<o:p></o:p></p>
  </div>
  </div>
  </div>
  </div>
  </div>
  <p class="MsoNormal" style="margin-bottom: 12pt;"><br>
_______________________________________________<br>
OAuth mailing list<br>
  <a moz-do-not-send="true" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
  <a moz-do-not-send="true"
 href="https://www.ietf.org/mailman/listinfo/oauth" target="_blank">https://www.ietf.org/mailman/listinfo/oauth</a><o:p></o:p></p>
  </div>
  <p class="MsoNormal">&nbsp;<o:p></o:p></p>
  </div>
  </div>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre>_______________________________________________<o:p></o:p></pre>
  <pre>OAuth mailing list<o:p></o:p></pre>
  <pre><a moz-do-not-send="true" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a><o:p></o:p></pre>
  <pre><a moz-do-not-send="true"
 href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a><o:p></o:p></pre>
  <pre>&nbsp; <o:p></o:p></pre>
  <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
  </div>
  </div>
</blockquote>
<br>
</body>
</html>

--------------090500090809070806070405--


From eran@hueniverse.com  Wed Apr 21 14:35:06 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AC3F83A6A64 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 14:35:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.495
X-Spam-Level: 
X-Spam-Status: No, score=-2.495 tagged_above=-999 required=5 tests=[AWL=0.104,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gDSMLfou5KGk for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 14:35:05 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id D3FCC3A683E for <oauth@ietf.org>; Wed, 21 Apr 2010 14:35:05 -0700 (PDT)
Received: (qmail 10833 invoked from network); 21 Apr 2010 21:34:55 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 21 Apr 2010 21:34:55 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Wed, 21 Apr 2010 14:34:47 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>, OAuth WG <oauth@ietf.org>
Date: Wed, 21 Apr 2010 14:34:34 -0700
Thread-Topic: [OAUTH-WG] feedback on 4/17 draft
Thread-Index: AcrgNiJ7CnteMAoyQuaJ2wi3mfiajgBW+uTQ
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7FA43@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <u2o74caaad21004192003rfe0b25ffpbbe648e6e493b568@mail.gmail.com>
In-Reply-To: <u2o74caaad21004192003rfe0b25ffpbbe648e6e493b568@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] feedback on 4/17 draft
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 21:35:06 -0000

Thanks Marius!

I dropped comments already applied to the spec.

> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> Of Marius Scurtescu
> Sent: Monday, April 19, 2010 8:04 PM

> 3.5.1
>=20
> The client is described as being incapable to act as a HTTP server, and o=
f
> receiving incoming request. The client must provide a callback, so it is =
acting
> as a HTTP server and it is also receiving requests. In theory a JavaScrip=
t client
> could work with the Web Server flow, it would extract the verification co=
de
> from the URL and then make a direct call to get the access token. I think=
 it is
> more accurate to describe the client as not being capable of storing secr=
ets?

The client itself isn't able to receive incoming requests which is why it u=
ses another web server to do that part. The key in this flow is how the tok=
en is returned, not the ability to keep the client secret private.

> 3.5.2.1
>=20
> The client must direct the user agent to the authorization server using G=
ET.
> Why is this a MUST? A POST should also work if the client prefers that, n=
o?
> Can at least this be changed to SHOULD?

You are right.

I left it as a MUST for now.

I think we probably should discuss changing the text to allow both GET with=
 query parameters or POST with form-encoded body. There is value here in ju=
st picking one option and sticking with it because the client will need to =
support both methods based on what the server decides and that's not ideal.

> 3.5.2.1.1
>=20
> Same as above, the authorization server directs the user agent back to th=
e
> redirection URI with a GET. Why MUST?

No MUST here. 'GET' is only used in the example. Basically, the user-agent =
should use the same method it was trying before getting the redirect. So it=
 depends on how the server issues the instructions (for example, with a for=
m button using GET or POST).

> 3.5.3.1
>=20
> "an HTTP GET request to the authorization endpoint", should probably
> read: "an HTTP POST request to the token endpoint" (POST and token
> endpoint).

The token endpoint only returns tokens. The authorization endpoint returns =
codes... This is half of the authorization step.

As for POST, I don't care. What do others think? It will also mean using fo=
rm-encoded body.

> For invalid requests there are two error codes: incorrect_credentials and
> unauthorized_client. Since only client credentials are present in the req=
uest,
> it is not clear what the difference is. I do agree that both codes are us=
eful,
> the second makes reference to an invisible scope, if the scope was presen=
t it
> would be easier to explain that case.

The second is about a client not authorized to use this specific flow. None=
 of the error codes are explained yet.

> 5.2.2
>=20
> If the entity body includes other parameters, is it worth requiring that
> oauth_token be the first one?

Why not last?

EHL

From eran@hueniverse.com  Wed Apr 21 14:42:18 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1AD3828C0E0 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 14:42:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.135
X-Spam-Level: 
X-Spam-Status: No, score=-1.135 tagged_above=-999 required=5 tests=[AWL=-1.257, BAYES_40=-0.185, HTML_MESSAGE=0.001, SARE_URI_CONS7=0.306]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ViEaRbLRwjbu for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 14:42:17 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 1C24228C0F9 for <oauth@ietf.org>; Wed, 21 Apr 2010 14:42:15 -0700 (PDT)
Received: (qmail 14233 invoked from network); 21 Apr 2010 21:42:05 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 21 Apr 2010 21:42:05 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Wed, 21 Apr 2010 14:42:05 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Chasen Le Hara <chasen@ironmoney.com>, Eve Maler <eve@xmlgrrl.com>
Date: Wed, 21 Apr 2010 14:41:52 -0700
Thread-Topic: [OAUTH-WG] 'Scope' parameter proposal
Thread-Index: AcrhkJX3CrP9ZRbAQ7ClE77YW/cARQACtFpw
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7FA4A@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <620F3756-E159-4EF3-99DC-6D74CC869739@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F48B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <h2xc334d54e1004200918s4bea7c3ez8ce69bb1a9c18151@mail.gmail.com> <530467FD-2F27-4CF7-BEFF-07ACEAD6C2AD@xmlgrrl.com> <z2y4c07358b1004211322j6b018305l50ad3e130b49a905@mail.gmail.com>
In-Reply-To: <z2y4c07358b1004211322j6b018305l50ad3e130b49a905@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7FA4AP3PW5EX1MB01E_"
MIME-Version: 1.0
Cc: "jsmarr@stanfordalumni.org" <jsmarr@stanfordalumni.org>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 21:42:18 -0000

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7FA4AP3PW5EX1MB01E_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SG93IGFib3V0IHJldmlldyB0aGUgcHJvcG9zYWxzPw0KDQpFSEwNCg0KRnJvbTogb2F1dGgtYm91
bmNlc0BpZXRmLm9yZyBbbWFpbHRvOm9hdXRoLWJvdW5jZXNAaWV0Zi5vcmddIE9uIEJlaGFsZiBP
ZiBDaGFzZW4gTGUgSGFyYQ0KU2VudDogV2VkbmVzZGF5LCBBcHJpbCAyMSwgMjAxMCAxOjIzIFBN
DQpUbzogRXZlIE1hbGVyDQpDYzoganNtYXJyQHN0YW5mb3JkYWx1bW5pLm9yZzsgT0F1dGggV0cN
ClN1YmplY3Q6IFJlOiBbT0FVVEgtV0ddICdTY29wZScgcGFyYW1ldGVyIHByb3Bvc2FsDQoNCkhp
IGFsbCwNCg0KT24gVHVlLCBBcHIgMjAsIDIwMTAgYXQgNjowNSBQTSwgRXZlIE1hbGVyIDxldmVA
eG1sZ3JybC5jb208bWFpbHRvOmV2ZUB4bWxncnJsLmNvbT4+IHdyb3RlOg0KSXQgc2VlbXMgbGlr
ZSB0aGlzIHByb3Bvc2FsICJnb2VzIHRoZXJlIiBpbiB0ZXJtcyBvZiBnZXR0aW5nIGFzIGV4cHJl
c3NpdmUgYXMgRXJhbiBmZWFycywgdGhvdWdoIHRoZSBhZGRpdGlvbiBvZiB0aGUgd2lsZGNhcmQg
dGFrZXMgYXdheSBhIGdvb2QgZGVhbCBvZiB0aGUgcGFpbiBkZXBlbmRpbmcgb24gdGhlIHBhcnRp
Y3VsYXIgaW50ZXJmYWNlIGF0IHRoZSBlbmRwb2ludChzKS4gSXMgdGhlcmUgYW55IHdpZGVyIGlu
dGVyZXN0IGluICJnb2luZyB0aGVyZSI/DQoNClllcy4gQSBjb3VwbGUgbW9udGhzIGFnbyBJcm9u
IE1vbmV5IGltcGxlbWVudGVkIGEgcGVybWlzc2lvbnMgc3lzdGVtWzFdIHRoYXQgaW5jbHVkZXMg
cmVhZF9wZXJtaXNzaW9ucyBhbmQgd3JpdGVfcGVybWlzc2lvbnMgYXMgcGFyYW1ldGVycyB3aGVu
IGdldHRpbmcgYSByZXF1ZXN0IHRva2VuLiBUaG9zZSB0d28gcGFyYW1ldGVycyB0YWtlIGEgY29t
bWEtc2VwYXJhdGVkIGxpc3Qgb2YgcHJlLWRlZmluZWQgcmVzb3VyY2UgdmFsdWVzIChzdWNoIGFz
ICJ3cml0ZV9wZXJtaXNzaW9ucz1hY2NvdW50cyIgZm9yIHJlYWQgYW5kIHdyaXRlIHBlcm1pc3Np
b25zIGZvciB0aGUgL2FjY291bnRzLyByZXNvdXJjZSkuDQoNCklmIHdoYXQgaXMgc3BlY2lmaWVk
IGJ5IE9BdXRoIDIuMCBkb2VzbuKAmXQgbWVldCBJcm9uIE1vbmV54oCZcyBuZWVkcywgdGhhdOKA
mXMgZmluZSwgYnV0IEkgd2FudGVkIHRvIHJhaXNlIG15IGhhbmQgaGlnaCBhcyBvbmUgb2YgdGhl
IHBlb3BsZSBpbnRlcmVzdGVkIGluIGEgaGlnaCBsZXZlbCBvZiBleHByZXNzaXZlbmVzcy4NCi1D
aGFzZW4NCg0KWzFdIGh0dHBzOi8vaXJvbm1vbmV5LmNvbS9hcGkvcGVybWlzc2lvbnMvDQo=

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7FA4AP3PW5EX1MB01E_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj1Db250ZW50LVR5cGUgY29udGVu
dD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij48bWV0YSBuYW1lPUdlbmVyYXRvciBjb250ZW50
PSJNaWNyb3NvZnQgV29yZCAxNCAoZmlsdGVyZWQgbWVkaXVtKSI+PHN0eWxlPjwhLS0NCi8qIEZv
bnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0
aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQt
ZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAyIDQ7fQ0KQGZvbnQt
ZmFjZQ0KCXtmb250LWZhbWlseTpUYWhvbWE7DQoJcGFub3NlLTE6MiAxMSA2IDQgMyA1IDQgNCAy
IDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWws
IGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJ
Zm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIiwic2VyaWYi
O30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0K
CWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQphOnZpc2l0ZWQsIHNw
YW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9y
OnB1cnBsZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCnNwYW4uRW1haWxTdHlsZTE3
DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJp
Iiwic2Fucy1zZXJpZiI7DQoJY29sb3I6IzFGNDk3RDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28t
c3R5bGUtdHlwZTpleHBvcnQtb25seTsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2Vy
aWYiO30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjguNWluIDExLjBpbjsNCgltYXJnaW46
MS4waW4gMS4waW4gMS4waW4gMS4waW47fQ0KZGl2LldvcmRTZWN0aW9uMQ0KCXtwYWdlOldvcmRT
ZWN0aW9uMTt9DQovKiBMaXN0IERlZmluaXRpb25zICovDQpAbGlzdCBsMA0KCXttc28tbGlzdC1p
ZDoxNDkyOTEwOTQ7DQoJbXNvLWxpc3QtdGVtcGxhdGUtaWRzOjEwNDIwMjk3MTg7fQ0Kb2wNCgl7
bWFyZ2luLWJvdHRvbTowaW47fQ0KdWwNCgl7bWFyZ2luLWJvdHRvbTowaW47fQ0KLS0+PC9zdHls
ZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQi
IHNwaWRtYXg9IjEwMjYiIC8+DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+
PHhtbD4NCjxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJlZGl0Ij4NCjxvOmlkbWFwIHY6ZXh0PSJlZGl0
IiBkYXRhPSIxIiAvPg0KPC9vOnNoYXBlbGF5b3V0PjwveG1sPjwhW2VuZGlmXS0tPjwvaGVhZD48
Ym9keSBsYW5nPUVOLVVTIGxpbms9Ymx1ZSB2bGluaz1wdXJwbGU+PGRpdiBjbGFzcz1Xb3JkU2Vj
dGlvbjE+PHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7Y29sb3I6IzFGNDk3RCc+SG93IGFib3V0
IHJldmlldyB0aGUgcHJvcG9zYWxzPzxvOnA+PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz1Nc29O
b3JtYWw+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmki
LCJzYW5zLXNlcmlmIjtjb2xvcjojMUY0OTdEJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+
PHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt
aWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7Y29sb3I6IzFGNDk3RCc+RUhMPG86cD48L286cD48
L3NwYW4+PC9wPjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjExLjBw
dDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiO2NvbG9yOiMxRjQ5N0QnPjxvOnA+
Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD48ZGl2IHN0eWxlPSdib3JkZXI6bm9uZTtib3JkZXItbGVm
dDpzb2xpZCBibHVlIDEuNXB0O3BhZGRpbmc6MGluIDBpbiAwaW4gNC4wcHQnPjxkaXY+PGRpdiBz
dHlsZT0nYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjQjVDNERGIDEuMHB0O3BhZGRpbmc6
My4wcHQgMGluIDBpbiAwaW4nPjxwIGNsYXNzPU1zb05vcm1hbD48Yj48c3BhbiBzdHlsZT0nZm9u
dC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGFob21hIiwic2Fucy1zZXJpZiInPkZyb206PC9z
cGFuPjwvYj48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiVGFob21h
Iiwic2Fucy1zZXJpZiInPiBvYXV0aC1ib3VuY2VzQGlldGYub3JnIFttYWlsdG86b2F1dGgtYm91
bmNlc0BpZXRmLm9yZ10gPGI+T24gQmVoYWxmIE9mIDwvYj5DaGFzZW4gTGUgSGFyYTxicj48Yj5T
ZW50OjwvYj4gV2VkbmVzZGF5LCBBcHJpbCAyMSwgMjAxMCAxOjIzIFBNPGJyPjxiPlRvOjwvYj4g
RXZlIE1hbGVyPGJyPjxiPkNjOjwvYj4ganNtYXJyQHN0YW5mb3JkYWx1bW5pLm9yZzsgT0F1dGgg
V0c8YnI+PGI+U3ViamVjdDo8L2I+IFJlOiBbT0FVVEgtV0ddICdTY29wZScgcGFyYW1ldGVyIHBy
b3Bvc2FsPG86cD48L286cD48L3NwYW4+PC9wPjwvZGl2PjwvZGl2PjxwIGNsYXNzPU1zb05vcm1h
bD48bzpwPiZuYnNwOzwvbzpwPjwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+SGkgYWxsLDxvOnA+PC9v
OnA+PC9wPjxkaXY+PHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPjxkaXY+
PHAgY2xhc3M9TXNvTm9ybWFsPk9uIFR1ZSwgQXByIDIwLCAyMDEwIGF0IDY6MDUgUE0sIEV2ZSBN
YWxlciAmbHQ7PGEgaHJlZj0ibWFpbHRvOmV2ZUB4bWxncnJsLmNvbSI+ZXZlQHhtbGdycmwuY29t
PC9hPiZndDsgd3JvdGU6PG86cD48L286cD48L3A+PGRpdj48ZGl2PjxwIGNsYXNzPU1zb05vcm1h
bD5JdCBzZWVtcyBsaWtlIHRoaXMgcHJvcG9zYWwgJnF1b3Q7Z29lcyB0aGVyZSZxdW90OyBpbiB0
ZXJtcyBvZiBnZXR0aW5nIGFzIGV4cHJlc3NpdmUgYXMgRXJhbiBmZWFycywgdGhvdWdoIHRoZSBh
ZGRpdGlvbiBvZiB0aGUgd2lsZGNhcmQgdGFrZXMgYXdheSBhIGdvb2QgZGVhbCBvZiB0aGUgcGFp
biBkZXBlbmRpbmcgb24gdGhlIHBhcnRpY3VsYXIgaW50ZXJmYWNlIGF0IHRoZSBlbmRwb2ludChz
KS4gSXMgdGhlcmUgYW55IHdpZGVyIGludGVyZXN0IGluICZxdW90O2dvaW5nIHRoZXJlJnF1b3Q7
PzxvOnA+PC9vOnA+PC9wPjwvZGl2PjwvZGl2PjxkaXY+PHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+
Jm5ic3A7PC9vOnA+PC9wPjwvZGl2PjxkaXY+PHAgY2xhc3M9TXNvTm9ybWFsPlllcy4gQSBjb3Vw
bGUgbW9udGhzIGFnbyBJcm9uIE1vbmV5IGltcGxlbWVudGVkIGEgcGVybWlzc2lvbnMgc3lzdGVt
WzFdIHRoYXQgaW5jbHVkZXMgcmVhZF9wZXJtaXNzaW9ucyBhbmQgd3JpdGVfcGVybWlzc2lvbnMg
YXMgcGFyYW1ldGVycyB3aGVuIGdldHRpbmcgYSByZXF1ZXN0IHRva2VuLiBUaG9zZSB0d28gcGFy
YW1ldGVycyB0YWtlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcHJlLWRlZmluZWQgcmVzb3Vy
Y2UgdmFsdWVzIChzdWNoIGFzICZxdW90O3dyaXRlX3Blcm1pc3Npb25zPWFjY291bnRzJnF1b3Q7
IGZvciByZWFkIGFuZCB3cml0ZSBwZXJtaXNzaW9ucyBmb3IgdGhlIC9hY2NvdW50cy8gcmVzb3Vy
Y2UpLjxvOnA+PC9vOnA+PC9wPjwvZGl2PjxkaXY+PHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5i
c3A7PC9vOnA+PC9wPjwvZGl2PjxkaXY+PHAgY2xhc3M9TXNvTm9ybWFsPklmIHdoYXQgaXMgc3Bl
Y2lmaWVkIGJ5IE9BdXRoIDIuMCBkb2VzbuKAmXQgbWVldCBJcm9uIE1vbmV54oCZcyBuZWVkcywg
dGhhdOKAmXMgZmluZSwgYnV0IEkgd2FudGVkIHRvIHJhaXNlIG15IGhhbmQgaGlnaCBhcyBvbmUg
b2YgdGhlIHBlb3BsZSBpbnRlcmVzdGVkIGluIGEgaGlnaCBsZXZlbCBvZiBleHByZXNzaXZlbmVz
cy48bzpwPjwvbzpwPjwvcD48L2Rpdj48ZGl2PjxwIGNsYXNzPU1zb05vcm1hbD4tQ2hhc2VuPG86
cD48L286cD48L3A+PC9kaXY+PGRpdj48cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286
cD48L3A+PC9kaXY+PGRpdj48cCBjbGFzcz1Nc29Ob3JtYWw+WzFdJm5ic3A7PGEgaHJlZj0iaHR0
cHM6Ly9pcm9ubW9uZXkuY29tL2FwaS9wZXJtaXNzaW9ucy8iPmh0dHBzOi8vaXJvbm1vbmV5LmNv
bS9hcGkvcGVybWlzc2lvbnMvPC9hPjxvOnA+PC9vOnA+PC9wPjwvZGl2PjwvZGl2PjwvZGl2Pjwv
ZGl2PjwvZGl2PjwvYm9keT48L2h0bWw+

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7FA4AP3PW5EX1MB01E_--

From mscurtescu@google.com  Wed Apr 21 15:05:11 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id EBF353A69D9 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 15:05:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.724
X-Spam-Level: 
X-Spam-Status: No, score=-101.724 tagged_above=-999 required=5 tests=[AWL=0.253, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YZ9xrDZbhg3l for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 15:05:11 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 014BD3A6ACA for <oauth@ietf.org>; Wed, 21 Apr 2010 15:05:09 -0700 (PDT)
Received: from hpaq6.eem.corp.google.com (hpaq6.eem.corp.google.com [10.3.21.6]) by smtp-out.google.com with ESMTP id o3LM4wCn009618 for <oauth@ietf.org>; Thu, 22 Apr 2010 00:04:59 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271887499; bh=COMxuMfb02CfeN/Y46K8N37RoKc=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=EWdzqD8yFl/Zi9cJJ48E59eZPJiKlbzZAkxEuaVvOHT01BDrk5FCCQePsLz8ehHD4 6D7rlzJKIdgFUbw0EsalA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=f6WtYwF2bpEu2k0h4PdU3dh9I6v2VjwtzNiMNHHyKyY9y5MpRYJduR1J9w1zvLNCV pu0rCipW+umo+cGlKhpmQ==
Received: from pva18 (pva18.prod.google.com [10.241.209.18]) by hpaq6.eem.corp.google.com with ESMTP id o3LM4u2E014876 for <oauth@ietf.org>; Thu, 22 Apr 2010 00:04:57 +0200
Received: by pva18 with SMTP id 18so432738pva.32 for <oauth@ietf.org>; Wed, 21 Apr 2010 15:04:56 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.124.10 with HTTP; Wed, 21 Apr 2010 15:04:36 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7FA43@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <u2o74caaad21004192003rfe0b25ffpbbe648e6e493b568@mail.gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E5C7FA43@P3PW5EX1MB01.EX1.SECURESERVER.NET>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Wed, 21 Apr 2010 15:04:36 -0700
Received: by 10.141.214.41 with SMTP id r41mr2164658rvq.77.1271887496167; Wed,  21 Apr 2010 15:04:56 -0700 (PDT)
Message-ID: <j2m74caaad21004211504wd9df1903te18f1548b5f4dace@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] feedback on 4/17 draft
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 22:05:12 -0000

On Wed, Apr 21, 2010 at 2:34 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
>> -----Original Message-----
>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
>> Of Marius Scurtescu
>> Sent: Monday, April 19, 2010 8:04 PM
>
>> 3.5.3.1
>>
>> "an HTTP GET request to the authorization endpoint", should probably
>> read: "an HTTP POST request to the token endpoint" (POST and token
>> endpoint).
>
> The token endpoint only returns tokens. The authorization endpoint returns codes... This is half of the authorization step.

I see how you made the distinction.

I was assuming that the authorization endpoint will be hit only with
browsers and the token endpoint only with direct calls from the
client. This allows a clean separation of characteristics for the two
endpoints and this is the reason with did not combine them. Following
this logic, it is better for the above to use POST and the token
endpoint.


>> 5.2.2
>>
>> If the entity body includes other parameters, is it worth requiring that
>> oauth_token be the first one?
>
> Why not last?

If was just following the same convention as in OAuth 1.0, see RFC
5849, section 3.5.2.


Thanks,
Marius

From eve@xmlgrrl.com  Wed Apr 21 16:43:22 2010
Return-Path: <eve@xmlgrrl.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0BA063A68E8 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 16:43:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.908
X-Spam-Level: *
X-Spam-Status: No, score=1.908 tagged_above=-999 required=5 tests=[AWL=0.600,  BAYES_50=0.001, FROM_DOMAIN_NOVOWEL=0.5, HTML_MESSAGE=0.001, SARE_URI_CONS7=0.306, URI_NOVOWEL=0.5]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NVH6bARCcr8J for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 16:43:19 -0700 (PDT)
Received: from mail.promanage-inc.com (eliasisrael.com [98.111.84.13]) by core3.amsl.com (Postfix) with ESMTP id 7162A3A68D8 for <oauth@ietf.org>; Wed, 21 Apr 2010 16:43:19 -0700 (PDT)
Received: from [192.168.168.198] ([192.168.168.198]) (authenticated bits=0) by mail.promanage-inc.com (8.14.3/8.14.3) with ESMTP id o3LNh4C8016634 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Wed, 21 Apr 2010 16:43:05 -0700
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: multipart/alternative; boundary=Apple-Mail-525--619075005
From: Eve Maler <eve@xmlgrrl.com>
In-Reply-To: <4BCF6E8F.6080802@lodderstedt.net>
Date: Wed, 21 Apr 2010 16:43:04 -0700
Message-Id: <9454D8CD-0BF4-44CA-A46A-12F244E72B22@xmlgrrl.com>
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com>	<C7F1C6AC.327EE%eran@hueniverse.com>	<u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<o2wc8689b661004191716o69966d5di900c07737d3be568@mail.gmail.com>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7F45A@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<z2xc334d54e1004200936s57f06dedt8e0e46df3480f8d4@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F533@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BCDF86C.9080003@lodderstedt.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F5D9@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BCF6E8F.6080802@lodderstedt.net>
To: OAuth WG <oauth@ietf.org>
X-Mailer: Apple Mail (2.1078)
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Apr 2010 23:43:22 -0000

--Apple-Mail-525--619075005
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=windows-1252

Tacking this response to the end of the thread for lack of a better =
place to do it: The name "username" seems not quite apt in the case of =
an autonomous client that isn't representing an end-user. Would =
"identifier" be better? (Actually, it sort of reminds me of SAML's =
"SessionIndex"...) Or would the parameter be reserved for =
user-delegation flows?

Speaking of autonomous clients, Section 2.2 -- among possibly other =
places -- states that an autonomous client is also the resource owner, =
but that's not always the case, is it? The client might be seeking =
access on behalf of itself. (FWIW, I made roughly this same comment on =
David's first draft on March 21, and he agreed with my suggested fix at =
the time.)

	Eve

On 21 Apr 2010, at 2:30 PM, Torsten Lodderstedt wrote:

> Am 20.04.2010 20:59, schrieb Eran Hammer-Lahav:
>> Because the rest of the spec did receive extensive review from both =
early adopters and from the previous drafts it borrowed from. Nothing so =
far is a new concept. The concept of an identity is new in OAuth, and =
while offers important benefits, should not be added to the spec when =
there are actual security concerns around it.
>=20
> My impression is that the specification has undergone significant =
changes since its first version and cannot be compared to its =
predecessor in terms of security.=20
>=20
> Let me give you some examples.=20
>=20
> I wonder if anyone security reviewed the introduction of refresh =
tokens to the User Agent Flow? =46rom my point of view, refresh tokens =
are dangerous in this flow.=20
>=20
> First of all, where should a JavaScript client store this token =
securely? If someone is able to steal the token, it can use it to obtain =
access tokens.
>=20
> Steps:
> 1) legitimate client is granted access by the end user=20
> 2) client stores refresh token in local storage (?)
> 3) malicious software reads refresh token from local storage=20
> 4) malicious software obtains access token from the authorization =
server (no client secret required)
> 5) malicious software uses token or sends it to a central storage for =
further abuse=20
>=20
> Second, the immediate mode has been introduced to the User Agent flow =
recently. I don't know exactly but my feeling is that a malicious =
software can steal tokens.
>=20
> Steps:
> 1) malicious software initiated authorization flow using =
immediate=3Dtrue and a stolen client_id
> 2) Assuming this client has been granted access by the end user of the =
particular computer, the authorization server directly respondes with =
tokens w/o user interaction. The user does not realize what is =
happening.
> 3) malicious software uses token or sends it to a central storage for =
further abuse=20
>=20
> The only countermesure I see is the redirect URL verification, which =
seams to be optional: "If the client has previously registered a =
redirection URI with the
>    authorization server".
> =20
>> =20
>> I raised a specific issue that was not addressed. Brian seems to have =
other concerns.
>=20
> Other posts on the thread indicated a need for such an concept. We use =
such parameters, too.=20
>=20
> I think, from a security standpoint, the problem is much more the =
immediate parameter then the username parameter. If the username is =
modified by an attacker, the user should see the username in =
authentication or authorization dialogs. So he/her can react. That's not =
the case in immediate mode, so there are only technical ways to prevent =
username modifications, HTTPS or signatures.=20
>=20
>> =20
>> I don=92t like the policy of add-first-discuss-later.
>=20
> I don't like it either. But sometimes it is more efficient to make =
progress and discuss such aspects in-depth when reaching milestones.
>=20
> regards,
> Torsten.
>=20
>> =20
>> EHL
>> =20
>> From: Torsten Lodderstedt [mailto:torsten@lodderstedt.net]=20
>> Sent: Tuesday, April 20, 2010 11:55 AM
>> To: Eran Hammer-Lahav
>> Cc: jsmarr@stanfordalumni.org; OAuth WG
>> Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
>> =20
>> In my experiences, such a review takes much longer than a few =
minutes.=20
>>=20
>> I think the whole specification should be subject to a comprehensive =
and in-depth security analysis (threat modeling, counter measures and so =
on). So why not adding this parameter and examine its implications in =
this context?=20
>>=20
>> regards,
>> Torsten.  =20
>> =20
>> Am 20.04.2010 19:23, schrieb Eran Hammer-Lahav:
>> I=92m not aware of anyone arguing against this feature. The only =
issue is a full security review before we add it to the spec. If one of =
the security experts here can spend a few minutes to review this, we can =
move forward and add it to the draft.
>> =20
>> EHL
>> =20
>> From: Joseph Smarr [mailto:jsmarr@gmail.com]=20
>> Sent: Tuesday, April 20, 2010 9:36 AM
>> To: Eran Hammer-Lahav
>> Cc: Evan Gilbert; OAuth WG
>> Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
>> =20
>> Just to add some more context from experience, this "two users =
getting mixed together" problem happens a lot in practice, esp. when you =
have a mix of server-side and client-side auth. For instance, we saw =
this in our Facebook Connect integration in Plaxo--normally the user =
connects and Plaxo stores their session key in our databases, so when =
the user returns and logs in as plaxo-user-123, we look it up and know =
that he's also facebook-user-456. But some of Facebook Connect's UI =
widgets just look at the browser cookies on facebook.com, where =
facebook-user-789 may be currently logged in (happens all the time with =
shared computers at home). Thus we often had pages that pulled some =
Facebook info server-side (as facebook-user-456) and some client-side =
(as facebook-user-789) and it was very confusing and potentially harmful =
(e.g. easy to accidentally post a story to the wrong account). The =
solution would be for Plaxo to be able to pass facebook-user-456 down to =
the JavaScript library, so it wouldn't just "silently auth" as a =
different user--presumably, it would just treat it as if no one was =
logged into facebook, if the passed-in user is not logged in. I think =
this is what Evan is proposing we enable for OAuth, especially if we =
want it to work client-side with immediate-mode (which I think we do).
>> =20
>> Another related example of this problem we saw was with our =
photo-uploader plug-in inside Picasa Desktop for sharing photos on =
Plaxo. During the upload flow, it embeds a web browser, which lets you =
log in as plaxo-user-123, but when it's done uploading, it opens a =
default web browser, where you might be logged in as plaxo-user-456, =
leading again to a confusing mix-up of identities. We solved this by =
appending the session-info of the user from the embedded web browser on =
the URL of the main browser that gets opened, so it can clobber the =
session as needed and maintain continuity of session.
>> =20
>> Hope these experiences provide some useful and concrete context for =
evaluating whether/how to support a username parameter in OAuth.
>> =20
>> Thanks, js
>>=20
>> On Tue, Apr 20, 2010 at 8:08 AM, Eran Hammer-Lahav =
<eran@hueniverse.com> wrote:
>> This attack is why the flow requires the client to present the =
callback it used again when getting the token.
>> =20
>> EHL
>> =20
>> =20
>> From: Evan Gilbert [mailto:uidude@google.com]=20
>> Sent: Monday, April 19, 2010 5:17 PM
>>=20
>> To: Eran Hammer-Lahav
>> Cc: OAuth WG
>> Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
>> =20
>> =20
>>=20
>> On Mon, Apr 19, 2010 at 10:58 AM, Eran Hammer-Lahav =
<eran@hueniverse.com> wrote:
>> Thanks. That makes sense.
>> =20
>> My concern is that the client will ask for a specific username but an =
attacker will change that request before it hits the server. The server =
then asks the (wrong) user to authenticate and returns a token. The =
client has no way of knowing it got an access token for the wrong user. =
Does requiring that the server returns the token with the username =
solves this? Is this a real issue?
>> =20
>> This particular attack wasn't of concern to me, for a few of reasons:
>> - The request is HTTPS, hard to modify the request before it hits the =
server
>> - There are probably other, more dangerous attacks if you can modify =
request parameters (for example, you can modify the client_id and get =
the user to authorize the wrong app)
>>=20
>> I'm willing to be convinced otherwise
>> =20
>> I have no objections to this proposal but wanted to see some =
discussion and support from others before adding it to the spec.
>> =20
>> EHL
>> =20
>> From: Evan Gilbert [mailto:uidude@google.com]=20
>> Sent: Monday, April 19, 2010 10:06 AM
>> To: Eran Hammer-Lahav
>> Cc: OAuth WG
>>=20
>> Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
>> =20
>> User 1 is logged into Client site
>> User 2 is logged into IDP site
>> =20
>> This can happen quite frequently, as client sites often have =
long-lived cookies and may only be visited by one user on a shared =
computer.
>> =20
>> Right now client site has no way to ask for a token for User 1, and =
end result will be that User 1 starts seeing User 2's data.
>> =20
>> On Mon, Apr 19, 2010 at 8:37 AM, Eran Hammer-Lahav =
<eran@hueniverse.com> wrote:
>> How can they both be logged in? I have never seen a case where two =
users can be both logged into to the same service at the same time...
>>=20
>> EHL
>>=20
>>=20
>>=20
>> On 4/19/10 8:33 AM, "Evan Gilbert" <uidude@google.com> wrote:
>>=20
>> More details on this enhancement.
>>=20
>> Goal: Make sure you get an access token for the right user in =
immediate mode.
>>=20
>> Use case where we have problems if we don't have username parameter:
>> Bob is logged into a web site as bob@IDP.com.
>> Mary (his wife) is logged into IDP on the same computer as =
mary@IDP.com
>> A request is made to get an access token via the User-Agent flow in =
immediate mode (or with any redirect without prompting the user)
>> -ob now has an access token for Mary and (posts activities, schedules =
events, gets contacts) as Mary
>> Hilarity ensues
>>=20
>> Secondary goal: Provide a hint for non-immediate mode
>>=20
>> On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav =
<eran@hueniverse.com> wrote:
>> Evan Gilbert proposed a 'username' request parameter to allow the =
client to
>> limit the end user to authenticate using the provided authorization =
server
>> identifier. The proposal has not been discussed or supported by =
others, and
>> has not received a security review.
>>=20
>> Proposal: Obtain further discussion and support from others, as well =
as a
>> security review of the proposal. Otherwise, do nothing.
>>=20
>> EHL
>>=20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>> =20
>>=20
>> =20
>> =20
>>=20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>=20
>> =20
>> =20
>> =20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>  =20
>> =20
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


Eve Maler
eve@xmlgrrl.com
http://www.xmlgrrl.com/blog


--Apple-Mail-525--619075005
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=windows-1252

<html><head></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; =
"><div>Tacking this response to the end of the thread for lack of a =
better place to do it: The name "username" seems not quite apt in the =
case of an autonomous client that isn't representing an end-user. Would =
"identifier" be better? (Actually, it sort of reminds me of SAML's =
"SessionIndex"...) Or would the parameter be reserved for =
user-delegation flows?</div><div><br></div><div>Speaking of autonomous =
clients, Section 2.2 -- among possibly other places -- states that an =
autonomous client is also the resource owner, but that's not always the =
case, is it? The client might be seeking access on behalf of itself. =
(FWIW, I made roughly this same comment on David's first draft on March =
21, and he agreed with my suggested fix at the =
time.)</div><div><br></div><div><span class=3D"Apple-tab-span" =
style=3D"white-space:pre">	</span>Eve</div><br><div><div>On 21 Apr =
2010, at 2:30 PM, Torsten Lodderstedt wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite">
<div bgcolor=3D"#ffffff" text=3D"#000000">
Am 20.04.2010 20:59, schrieb Eran Hammer-Lahav:<br>
<blockquote =
cite=3D"mid:90C41DD21FB7C64BB94121FBBC2E723438E5C7F5D9@P3PW5EX1MB01.EX1.SE=
CURESERVER.NET" type=3D"cite">
 =20
 =20
  <style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	color:black;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p
	{mso-style-priority:99;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	color:black;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";
	color:black;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";
	color:black;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";
	font-family:"Tahoma","sans-serif";}
span.EmailStyle20
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:Consolas;
	color:black;}
span.EmailStyle23
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:1371033953;
	mso-list-template-ids:1972115134;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
  <div class=3D"WordSection1"><p class=3D"MsoNormal"><span =
style=3D"font-size: 11pt; font-family: =
&quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, =
125);">Because
the rest of the spec did receive extensive review from both early
adopters and from the previous drafts it borrowed from. Nothing so far
is a new concept. The concept of an identity is new in OAuth, and while
offers important benefits, should not be added to the spec when there
are actual security concerns around it.</span></p>
  </div>
</blockquote>
<br>
My impression is that the specification has undergone significant
changes since its first version and cannot be compared to its
predecessor in terms of security. <br>
<br>
Let me give you some examples. <br>
<br>
I wonder if anyone security reviewed the introduction of refresh tokens
to the User Agent Flow? =46rom my point of view, refresh tokens are
dangerous in this flow. <br>
<br>
First of all, where should a JavaScript client store this token
securely? If someone is able to steal the token, it can use it to
obtain access tokens.<br>
<br>
Steps:<br>
1) legitimate client is granted access by the end user <br>
2) client stores refresh token in local storage (?)<br>
3) malicious software reads refresh token from local storage <br>
4) malicious software obtains access token from the authorization
server (no client secret required)<br>
5) malicious software uses token or sends it to a central storage for
further abuse <br>
<br>
Second, the immediate mode has been introduced to the User Agent flow
recently. I don't know exactly but my feeling is that a malicious
software can steal tokens.<br>
<br>
Steps:<br>
1) malicious software initiated authorization flow using immediate=3Dtrue
and a stolen client_id<br>
2) Assuming this client has been granted access by the end user of the
particular computer, the authorization server directly respondes with
tokens w/o user interaction. The user does not realize what is
happening.<br>
3) malicious software uses token or sends it to a central storage for
further abuse <br>
<br>
The only countermesure I see is the redirect URL verification, which
seams to be optional: "If the client has previously registered a
redirection URI with the
<div class=3D"line" id=3D"LC699">&nbsp;&nbsp;&nbsp;authorization =
server".<br>
</div>
&nbsp;<br>
<blockquote =
cite=3D"mid:90C41DD21FB7C64BB94121FBBC2E723438E5C7F5D9@P3PW5EX1MB01.EX1.SE=
CURESERVER.NET" type=3D"cite">
  <div class=3D"WordSection1"><p class=3D"MsoNormal"><span =
style=3D"font-size: 11pt; font-family: =
&quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, =
125);"><o:p>&nbsp;</o:p></span></p><p class=3D"MsoNormal"><span =
style=3D"font-size: 11pt; font-family: =
&quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">I
raised a specific issue that was not addressed. Brian seems to have
other concerns.</span></p>
  </div>
</blockquote>
<br>
Other posts on the thread indicated a need for such an concept. We use
such parameters, too. <br>
<br>
I think, from a security standpoint, the problem is much more the
immediate parameter then the username parameter. If the username is
modified by an attacker, the user should see the username in
authentication or authorization dialogs. So he/her can react. That's
not the case in immediate mode, so there are only technical ways to
prevent username modifications, HTTPS or signatures. <br>
<br>
<blockquote =
cite=3D"mid:90C41DD21FB7C64BB94121FBBC2E723438E5C7F5D9@P3PW5EX1MB01.EX1.SE=
CURESERVER.NET" type=3D"cite">
  <div class=3D"WordSection1"><p class=3D"MsoNormal"><span =
style=3D"font-size: 11pt; font-family: =
&quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, =
125);"><o:p></o:p></span></p><p class=3D"MsoNormal"><span =
style=3D"font-size: 11pt; font-family: =
&quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, =
125);"><o:p>&nbsp;</o:p></span></p><p class=3D"MsoNormal"><span =
style=3D"font-size: 11pt; font-family: =
&quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, 125);">I
don=92t like the policy of add-first-discuss-later.</span></p>
  </div>
</blockquote>
<br>
I don't like it either. But sometimes it is more efficient to make
progress and discuss such aspects in-depth when reaching milestones.<br>
<br>
regards,<br>
Torsten.<br>
<br>
<blockquote =
cite=3D"mid:90C41DD21FB7C64BB94121FBBC2E723438E5C7F5D9@P3PW5EX1MB01.EX1.SE=
CURESERVER.NET" type=3D"cite">
  <div class=3D"WordSection1"><p class=3D"MsoNormal"><span =
style=3D"font-size: 11pt; font-family: =
&quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, =
125);"><o:p></o:p></span></p><p class=3D"MsoNormal"><span =
style=3D"font-size: 11pt; font-family: =
&quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, =
125);"><o:p>&nbsp;</o:p></span></p><p class=3D"MsoNormal"><span =
style=3D"font-size: 11pt; font-family: =
&quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, =
125);">EHL<o:p></o:p></span></p><p class=3D"MsoNormal"><span =
style=3D"font-size: 11pt; font-family: =
&quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, =
125);"><o:p>&nbsp;</o:p></span></p>
  <div style=3D"border-style: none none none solid; border-color: =
-moz-use-text-color -moz-use-text-color -moz-use-text-color blue; =
border-width: medium medium medium 1.5pt; padding: 0in 0in 0in 4pt;">
  <div>
  <div style=3D"border-style: solid none none; border-color: rgb(181, =
196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt =
medium medium; padding: 3pt 0in 0in;"><p class=3D"MsoNormal"><b><span =
style=3D"font-size: 10pt; font-family: =
&quot;Tahoma&quot;,&quot;sans-serif&quot;; color: =
windowtext;">From:</span></b><span style=3D"font-size: 10pt; =
font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;; color: =
windowtext;">
Torsten Lodderstedt [<a class=3D"moz-txt-link-freetext" =
href=3D"mailto:torsten@lodderstedt.net">mailto:torsten@lodderstedt.net</a>=
] <br>
  <b>Sent:</b> Tuesday, April 20, 2010 11:55 AM<br>
  <b>To:</b> Eran Hammer-Lahav<br>
  <b>Cc:</b> <a class=3D"moz-txt-link-abbreviated" =
href=3D"mailto:jsmarr@stanfordalumni.org">jsmarr@stanfordalumni.org</a>; =
OAuth WG<br>
  <b>Subject:</b> Re: [OAUTH-WG] Issue: 'username' parameter =
proposal<o:p></o:p></span></p>
  </div>
  </div><p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p><p =
class=3D"MsoNormal">In my experiences, such a review takes much
longer than a few minutes. <br>
  <br>
I think the whole specification should be subject to a comprehensive
and in-depth security analysis (threat modeling, counter measures and
so on). So why not adding this parameter and examine its implications
in this context? <br>
  <br>
regards,<br>
Torsten. &nbsp; <br>
&nbsp;<br>
Am 20.04.2010 19:23, schrieb Eran Hammer-Lahav: <o:p></o:p></p><p =
class=3D"MsoNormal"><span style=3D"font-size: 11pt; font-family: =
&quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, =
125);">I=92m
not aware of anyone arguing against this feature. The only issue is a
full security review before we add it to the spec. If one of the
security experts here can spend a few minutes to review this, we can
move forward and add it to the draft.</span><o:p></o:p></p><p =
class=3D"MsoNormal"><span style=3D"font-size: 11pt; font-family: =
&quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, =
125);">&nbsp;</span><o:p></o:p></p><p class=3D"MsoNormal"><span =
style=3D"font-size: 11pt; font-family: =
&quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, =
125);">EHL</span><o:p></o:p></p><p class=3D"MsoNormal"><span =
style=3D"font-size: 11pt; font-family: =
&quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31, 73, =
125);">&nbsp;</span><o:p></o:p></p>
  <div style=3D"border-style: none none none solid; border-color: =
-moz-use-text-color -moz-use-text-color -moz-use-text-color blue; =
border-width: medium medium medium 1.5pt; padding: 0in 0in 0in 4pt;">
  <div>
  <div style=3D"border-style: solid none none; border-color: =
-moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in =
0in;"><p class=3D"MsoNormal"><b><span style=3D"font-size: 10pt; =
font-family: =
&quot;Tahoma&quot;,&quot;sans-serif&quot;;">From:</span></b><span =
style=3D"font-size: 10pt; font-family: =
&quot;Tahoma&quot;,&quot;sans-serif&quot;;"> Joseph
Smarr [<a moz-do-not-send=3D"true" =
href=3D"mailto:jsmarr@gmail.com">mailto:jsmarr@gmail.com</a>]
  <br>
  <b>Sent:</b> Tuesday, April 20, 2010 9:36 AM<br>
  <b>To:</b> Eran Hammer-Lahav<br>
  <b>Cc:</b> Evan Gilbert; OAuth WG<br>
  <b>Subject:</b> Re: [OAUTH-WG] Issue: 'username' parameter =
proposal</span><o:p></o:p></p>
  </div>
  </div><p class=3D"MsoNormal">&nbsp;<o:p></o:p></p><p =
class=3D"MsoNormal">Just to add some more context from experience,
this "two users getting mixed together" problem happens a lot in
practice, esp. when you have a mix of server-side and client-side auth.
For instance, we saw this in our Facebook Connect integration in
Plaxo--normally the user connects and Plaxo stores their session key in
our databases, so when the user returns and logs in as plaxo-user-123,
we look it up and know that he's also facebook-user-456. But some of
Facebook Connect's UI widgets just look at the browser cookies on <a =
moz-do-not-send=3D"true" href=3D"http://facebook.com/">facebook.com</a>,
where facebook-user-789 may be currently logged in (happens all the
time with shared computers at home). Thus we often had pages that
pulled some Facebook info server-side (as facebook-user-456) and some
client-side (as facebook-user-789) and it was very confusing and
potentially harmful (e.g. easy to accidentally post a story to the
wrong account). The solution would be for Plaxo to be able to pass
facebook-user-456 down to the JavaScript library, so it wouldn't just
"silently auth" as a different user--presumably, it would just treat it
as if no one was logged into facebook, if the passed-in user is not
logged in. I think this is what Evan is proposing we enable for OAuth,
especially if we want it to work client-side with immediate-mode (which
I think we do).<o:p></o:p></p>
  <div><p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
  </div>
  <div><p class=3D"MsoNormal">Another related example of this problem we =
saw
was with our photo-uploader plug-in inside Picasa Desktop for sharing
photos on Plaxo. During the upload flow, it embeds a web browser, which
lets you log in as plaxo-user-123, but when it's done uploading, it
opens a default web browser, where you might be logged in as
plaxo-user-456, leading again to a confusing mix-up of identities. We
solved this by appending the session-info of the user from the embedded
web browser on the URL of the main browser that gets opened, so it can
clobber the session as needed and maintain continuity of =
session.<o:p></o:p></p>
  </div>
  <div><p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
  </div>
  <div><p class=3D"MsoNormal">Hope these experiences provide some useful =
and
concrete context for evaluating whether/how to support a username
parameter in OAuth.<o:p></o:p></p>
  </div>
  <div><p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
  </div>
  <div><p class=3D"MsoNormal" style=3D"margin-bottom: 12pt;">Thanks, =
js<o:p></o:p></p>
  <div><p class=3D"MsoNormal">On Tue, Apr 20, 2010 at 8:08 AM, Eran
Hammer-Lahav &lt;<a moz-do-not-send=3D"true" =
href=3D"mailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt; =
wrote:<o:p></o:p></p>
  <div>
  <div><p class=3D"MsoNormal"><span style=3D"font-size: 11pt; color: =
rgb(31, 73, 125);">This attack is why
the flow requires the client to present the callback it used again when
getting the token.</span><o:p></o:p></p><p class=3D"MsoNormal"><span =
style=3D"font-size: 11pt; color: rgb(31, 73, =
125);">&nbsp;</span><o:p></o:p></p><p class=3D"MsoNormal"><span =
style=3D"font-size: 11pt; color: rgb(31, 73, =
125);">EHL</span><o:p></o:p></p><p class=3D"MsoNormal"><span =
style=3D"font-size: 11pt; color: rgb(31, 73, =
125);">&nbsp;</span><o:p></o:p></p><p class=3D"MsoNormal"><span =
style=3D"font-size: 11pt; color: rgb(31, 73, =
125);">&nbsp;</span><o:p></o:p></p>
  <div style=3D"border-style: none none none solid; border-color: =
-moz-use-text-color -moz-use-text-color -moz-use-text-color blue; =
border-width: medium medium medium 1.5pt; padding: 0in 0in 0in 4pt;">
  <div>
  <div style=3D"border-style: solid none none; border-color: =
-moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in =
0in;"><p class=3D"MsoNormal"><b><span style=3D"font-size: =
10pt;">From:</span></b><span style=3D"font-size: 10pt;"> Evan Gilbert =
[mailto:<a moz-do-not-send=3D"true" href=3D"mailto:uidude@google.com" =
target=3D"_blank">uidude@google.com</a>]
  <br>
  <b>Sent:</b> Monday, April 19, 2010 5:17 PM</span><o:p></o:p></p>
  <div>
  <div><p class=3D"MsoNormal"><br>
  <b>To:</b> Eran Hammer-Lahav<br>
  <b>Cc:</b> OAuth WG<br>
  <b>Subject:</b> Re: [OAUTH-WG] Issue: 'username' parameter =
proposal<o:p></o:p></p>
  </div>
  </div>
  </div>
  </div>
  <div>
  <div><p class=3D"MsoNormal">&nbsp;<o:p></o:p></p><p class=3D"MsoNormal" =
style=3D"margin-bottom: 12pt;">&nbsp;<o:p></o:p></p>
  <div><p class=3D"MsoNormal">On Mon, Apr 19, 2010 at 10:58 AM, Eran
Hammer-Lahav &lt;<a moz-do-not-send=3D"true" =
href=3D"mailto:eran@hueniverse.com" =
target=3D"_blank">eran@hueniverse.com</a>&gt;
wrote:<o:p></o:p></p>
  <div>
  <div><p class=3D"MsoNormal"><span style=3D"font-size: 11pt; color: =
rgb(31, 73, 125);">Thanks. That makes
sense.</span><o:p></o:p></p><p class=3D"MsoNormal"><span =
style=3D"font-size: 11pt; color: rgb(31, 73, =
125);">&nbsp;</span><o:p></o:p></p><p class=3D"MsoNormal"><span =
style=3D"font-size: 11pt; color: rgb(31, 73, 125);">My concern is that
the client will ask for a specific username but an attacker will change
that request before it hits the server. The server then asks the
(wrong) user to authenticate and returns a token. The client has no way
of knowing it got an access token for the wrong user. Does requiring
that the server returns the token with the username solves this? Is
this a real issue?</span><o:p></o:p></p>
  </div>
  </div>
  <div><p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
  </div>
  <div><p class=3D"MsoNormal">This particular attack wasn't of concern =
to me,
for a few of reasons:<o:p></o:p></p>
  </div>
  <div><p class=3D"MsoNormal">- The request is HTTPS, hard to modify the
request before it hits the server<o:p></o:p></p>
  </div>
  <div><p class=3D"MsoNormal">- There are probably other, more dangerous
attacks if you can modify request parameters (for example, you can
modify the client_id and get the user to authorize the wrong =
app)<o:p></o:p></p>
  </div>
  <div><p class=3D"MsoNormal"><br>
I'm willing to be convinced otherwise<o:p></o:p></p>
  </div>
  <blockquote style=3D"border-style: none none none solid; border-color: =
-moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(204, =
204, 204); border-width: medium medium medium 1pt; margin: 5pt 0in 5pt =
4.8pt; padding: 0in 0in 0in 6pt;">
    <div>
    <div><p class=3D"MsoNormal"><span style=3D"font-size: 11pt; color: =
rgb(31, 73, 125);">&nbsp;</span><o:p></o:p></p><p =
class=3D"MsoNormal"><span style=3D"font-size: 11pt; color: rgb(31, 73, =
125);">I have no objections
to this proposal but wanted to see some discussion and support from
others before adding it to the spec.</span><o:p></o:p></p><p =
class=3D"MsoNormal"><span style=3D"font-size: 11pt; color: rgb(31, 73, =
125);">&nbsp;</span><o:p></o:p></p><p class=3D"MsoNormal"><span =
style=3D"font-size: 11pt; color: rgb(31, 73, =
125);">EHL</span><o:p></o:p></p><p class=3D"MsoNormal"><span =
style=3D"font-size: 11pt; color: rgb(31, 73, =
125);">&nbsp;</span><o:p></o:p></p>
    <div style=3D"border-style: none none none solid; border-color: =
-moz-use-text-color -moz-use-text-color -moz-use-text-color blue; =
border-width: medium medium medium 1.5pt; padding: 0in 0in 0in 4pt;">
    <div>
    <div style=3D"border-style: solid none none; border-color: =
-moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in =
0in;"><p class=3D"MsoNormal"><b><span style=3D"font-size: =
10pt;">From:</span></b><span style=3D"font-size: 10pt;"> Evan Gilbert =
[mailto:<a moz-do-not-send=3D"true" href=3D"mailto:uidude@google.com" =
target=3D"_blank">uidude@google.com</a>]
    <br>
    <b>Sent:</b> Monday, April 19, 2010 10:06 AM<br>
    <b>To:</b> Eran Hammer-Lahav<br>
    <b>Cc:</b> OAuth WG</span><o:p></o:p></p>
    <div><p class=3D"MsoNormal"><br>
    <b>Subject:</b> Re: [OAUTH-WG] Issue: 'username' parameter =
proposal<o:p></o:p></p>
    </div>
    </div>
    </div><p class=3D"MsoNormal">&nbsp;<o:p></o:p></p><p =
class=3D"MsoNormal">User 1 is logged into Client site<o:p></o:p></p>
    <div>
    <div>
    <div><p class=3D"MsoNormal">User 2 is logged into IDP =
site<o:p></o:p></p>
    </div>
    <div><p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
    </div>
    <div><p class=3D"MsoNormal">This can happen quite frequently, as =
client
sites often have long-lived cookies and may only be visited by one user
on a shared computer.<o:p></o:p></p>
    </div>
    <div><p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
    </div>
    <div><p class=3D"MsoNormal">Right now client site has no way to ask =
for a
token for User 1, and end result will be that User 1 starts seeing User
2's data.<o:p></o:p></p>
    </div>
    <div>
    <div>
    <div>
    <div><p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
    <div><p class=3D"MsoNormal">On Mon, Apr 19, 2010 at 8:37 AM, Eran
Hammer-Lahav &lt;<a moz-do-not-send=3D"true" =
href=3D"mailto:eran@hueniverse.com" =
target=3D"_blank">eran@hueniverse.com</a>&gt;
wrote:<o:p></o:p></p>
    <div><p class=3D"MsoNormal"><span style=3D"font-size: 11pt;">How can =
they
both be logged in? I have never seen a case where two users can be both
logged into to the same service at the same time...<br>
    </span><span style=3D"font-size: 11pt; color: rgb(136, 136, =
136);"><br>
EHL</span><o:p></o:p></p>
    <div>
    <div><p class=3D"MsoNormal" style=3D"margin-bottom: 12pt;"><span =
style=3D"font-size: 11pt;"><br>
    <br>
    <br>
On 4/19/10 8:33 AM, "Evan Gilbert" &lt;<a moz-do-not-send=3D"true" =
href=3D"http://uidude@google.com/" =
target=3D"_blank">uidude@google.com</a>&gt;
wrote:</span><o:p></o:p></p>
    </div>
    </div>
    <div>
    <div>
    <blockquote style=3D"margin-top: 5pt; margin-bottom: 5pt;"><p =
class=3D"MsoNormal"><span style=3D"font-size: 11pt;">More details
on this enhancement.<br>
      <br>
Goal: Make sure you get an access token for the right user in immediate
mode.<br>
      <br>
Use case where we have problems if we don't have username =
parameter:</span><o:p></o:p></p>
      <ol style=3D"margin-top: 0in;" start=3D"1" type=3D"1">
        <li class=3D"MsoNormal" style=3D""><span style=3D"font-size: =
11pt;">Bob
is logged into a web site as <a moz-do-not-send=3D"true" =
href=3D"http://bob@IDP.com/" target=3D"_blank">bob@IDP.com</a>. =
</span><o:p></o:p></li>
        <li class=3D"MsoNormal" style=3D""><span style=3D"font-size: =
11pt;">Mary
(his wife) is logged into IDP on the same computer as <a =
moz-do-not-send=3D"true" href=3D"http://mary@IDP.com/" =
target=3D"_blank">mary@IDP.com</a>
          </span><o:p></o:p></li>
        <li class=3D"MsoNormal" style=3D""><span style=3D"font-size: =
11pt;">A
request is made to get an access token via the User-Agent flow in
immediate mode (or with any redirect without prompting the user) =
</span><o:p></o:p></li>
        <li class=3D"MsoNormal" style=3D""><span style=3D"font-size: =
11pt;">-ob
now has an access token for Mary and (posts activities, schedules
events, gets contacts) as Mary </span><o:p></o:p></li>
        <li class=3D"MsoNormal" style=3D""><span style=3D"font-size: =
11pt;">Hilarity
ensues</span><o:p></o:p></li>
      </ol><p class=3D"MsoNormal"><span style=3D"font-size: 11pt;"><br>
Secondary goal: Provide a hint for non-immediate mode<br>
      <br>
On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav &lt;<a =
moz-do-not-send=3D"true" href=3D"http://eran@hueniverse.com/" =
target=3D"_blank">eran@hueniverse.com</a>&gt; =
wrote:</span><o:p></o:p></p><p class=3D"MsoNormal"><span =
style=3D"font-size: 11pt;">Evan Gilbert
proposed a 'username' request parameter to allow the client to<br>
limit the end user to authenticate using the provided authorization
server<br>
identifier. The proposal has not been discussed or supported by others,
and<br>
has not received a security review.<br>
      <br>
Proposal: Obtain further discussion and support from others, as well as
a<br>
security review of the proposal. Otherwise, do nothing.<br>
      <br>
EHL<br>
      <br>
_______________________________________________<br>
OAuth mailing list<br>
      <a moz-do-not-send=3D"true" href=3D"http://OAuth@ietf.org/" =
target=3D"_blank">OAuth@ietf.org</a><br>
      <a moz-do-not-send=3D"true" =
href=3D"https://www.ietf.org/mailman/listinfo/oauth" =
target=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a></span><o=
:p></o:p></p><p class=3D"MsoNormal" style=3D"margin-bottom: =
12pt;">&nbsp;<o:p></o:p></p>
    </blockquote>
    </div>
    </div>
    </div>
    </div><p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
  </blockquote>
  </div><p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
  </div>
  </div>
  </div>
  </div>
  </div><p class=3D"MsoNormal" style=3D"margin-bottom: 12pt;"><br>
_______________________________________________<br>
OAuth mailing list<br>
  <a moz-do-not-send=3D"true" =
href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
  <a moz-do-not-send=3D"true" =
href=3D"https://www.ietf.org/mailman/listinfo/oauth" =
target=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><o:p></o:=
p></p>
  </div><p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
  </div>
  </div>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre><o:p>&nbsp;</o:p></pre>
  <pre>_______________________________________________<o:p></o:p></pre>
  <pre>OAuth mailing list<o:p></o:p></pre>
  <pre><a moz-do-not-send=3D"true" =
href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><o:p></o:p></pre>
  <pre><a moz-do-not-send=3D"true" =
href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/=
mailman/listinfo/oauth</a><o:p></o:p></pre>
  <pre>&nbsp; <o:p></o:p></pre><p =
class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
  </div>
  </div>
</blockquote>
<br>
</div>

_______________________________________________<br>OAuth mailing =
list<br><a =
href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>https://www.ietf.org/=
mailman/listinfo/oauth<br></blockquote></div><br><div>
<span class=3D"Apple-style-span" style=3D"border-collapse: separate; =
color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; =
font-style: normal; font-variant: normal; font-weight: normal; =
letter-spacing: normal; line-height: normal; orphans: 2; text-align: =
auto; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Courier; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div><br =
class=3D"Apple-interchange-newline">Eve Maler</div><div><a =
href=3D"mailto:eve@xmlgrrl.com">eve@xmlgrrl.com</a></div><div><a =
href=3D"http://www.xmlgrrl.com/blog">http://www.xmlgrrl.com/blog</a></div>=
</span></span>
</div>
<br></body></html>=

--Apple-Mail-525--619075005--

From eran@hueniverse.com  Wed Apr 21 17:13:19 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 12F1C3A6948 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 17:13:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.783
X-Spam-Level: 
X-Spam-Status: No, score=-0.783 tagged_above=-999 required=5 tests=[AWL=-1.591, BAYES_50=0.001, HTML_MESSAGE=0.001, SARE_URI_CONS7=0.306, URI_NOVOWEL=0.5]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hEI5KQragmUP for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 17:13:04 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 9ABF83A68DE for <oauth@ietf.org>; Wed, 21 Apr 2010 17:13:04 -0700 (PDT)
Received: (qmail 14308 invoked from network); 22 Apr 2010 00:12:54 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 22 Apr 2010 00:12:53 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Wed, 21 Apr 2010 17:12:51 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Eve Maler <eve@xmlgrrl.com>, OAuth WG <oauth@ietf.org>
Date: Wed, 21 Apr 2010 17:12:40 -0700
Thread-Topic: [OAUTH-WG] Issue: 'username' parameter proposal
Thread-Index: AcrhrGslxJ9S110IQh2H8BXSBoTcVAABAUVg
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7FAA5@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com> <C7F1C6AC.327EE%eran@hueniverse.com> <u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET> <o2wc8689b661004191716o69966d5di900c07737d3be568@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <z2xc334d54e1004200936s57f06dedt8e0e46df3480f8d4@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F533@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BCDF86C.9080003@lodderstedt.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F5D9@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BCF6E8F.6080802@lodderstedt.net> <9454D8CD-0BF4-44CA-A46A-12F244E72B22@xmlgrrl.com>
In-Reply-To: <9454D8CD-0BF4-44CA-A46A-12F244E72B22@xmlgrrl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7FAA5P3PW5EX1MB01E_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 00:13:19 -0000

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7FAA5P3PW5EX1MB01E_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

This is part of the delegation flows so username should be just fine...

EHL

From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
ve Maler
Sent: Wednesday, April 21, 2010 4:43 PM
To: OAuth WG
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal

Tacking this response to the end of the thread for lack of a better place t=
o do it: The name "username" seems not quite apt in the case of an autonomo=
us client that isn't representing an end-user. Would "identifier" be better=
? (Actually, it sort of reminds me of SAML's "SessionIndex"...) Or would th=
e parameter be reserved for user-delegation flows?

Speaking of autonomous clients, Section 2.2 -- among possibly other places =
-- states that an autonomous client is also the resource owner, but that's =
not always the case, is it? The client might be seeking access on behalf of=
 itself. (FWIW, I made roughly this same comment on David's first draft on =
March 21, and he agreed with my suggested fix at the time.)

          Eve

On 21 Apr 2010, at 2:30 PM, Torsten Lodderstedt wrote:


Am 20.04.2010 20:59, schrieb Eran Hammer-Lahav:

Because the rest of the spec did receive extensive review from both early a=
dopters and from the previous drafts it borrowed from. Nothing so far is a =
new concept. The concept of an identity is new in OAuth, and while offers i=
mportant benefits, should not be added to the spec when there are actual se=
curity concerns around it.

My impression is that the specification has undergone significant changes s=
ince its first version and cannot be compared to its predecessor in terms o=
f security.

Let me give you some examples.

I wonder if anyone security reviewed the introduction of refresh tokens to =
the User Agent Flow? From my point of view, refresh tokens are dangerous in=
 this flow.

First of all, where should a JavaScript client store this token securely? I=
f someone is able to steal the token, it can use it to obtain access tokens=
.

Steps:
1) legitimate client is granted access by the end user
2) client stores refresh token in local storage (?)
3) malicious software reads refresh token from local storage
4) malicious software obtains access token from the authorization server (n=
o client secret required)
5) malicious software uses token or sends it to a central storage for furth=
er abuse

Second, the immediate mode has been introduced to the User Agent flow recen=
tly. I don't know exactly but my feeling is that a malicious software can s=
teal tokens.

Steps:
1) malicious software initiated authorization flow using immediate=3Dtrue a=
nd a stolen client_id
2) Assuming this client has been granted access by the end user of the part=
icular computer, the authorization server directly respondes with tokens w/=
o user interaction. The user does not realize what is happening.
3) malicious software uses token or sends it to a central storage for furth=
er abuse

The only countermesure I see is the redirect URL verification, which seams =
to be optional: "If the client has previously registered a redirection URI =
with the
   authorization server".



I raised a specific issue that was not addressed. Brian seems to have other=
 concerns.

Other posts on the thread indicated a need for such an concept. We use such=
 parameters, too.

I think, from a security standpoint, the problem is much more the immediate=
 parameter then the username parameter. If the username is modified by an a=
ttacker, the user should see the username in authentication or authorizatio=
n dialogs. So he/her can react. That's not the case in immediate mode, so t=
here are only technical ways to prevent username modifications, HTTPS or si=
gnatures.



I don't like the policy of add-first-discuss-later.

I don't like it either. But sometimes it is more efficient to make progress=
 and discuss such aspects in-depth when reaching milestones.

regards,
Torsten.



EHL

From: Torsten Lodderstedt [mailto:torsten@lodderstedt.net]
Sent: Tuesday, April 20, 2010 11:55 AM
To: Eran Hammer-Lahav
Cc: jsmarr@stanfordalumni.org<mailto:jsmarr@stanfordalumni.org>; OAuth WG
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal

In my experiences, such a review takes much longer than a few minutes.

I think the whole specification should be subject to a comprehensive and in=
-depth security analysis (threat modeling, counter measures and so on). So =
why not adding this parameter and examine its implications in this context?

regards,
Torsten.

Am 20.04.2010 19:23, schrieb Eran Hammer-Lahav:
I'm not aware of anyone arguing against this feature. The only issue is a f=
ull security review before we add it to the spec. If one of the security ex=
perts here can spend a few minutes to review this, we can move forward and =
add it to the draft.

EHL

From: Joseph Smarr [mailto:jsmarr@gmail.com]
Sent: Tuesday, April 20, 2010 9:36 AM
To: Eran Hammer-Lahav
Cc: Evan Gilbert; OAuth WG
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal

Just to add some more context from experience, this "two users getting mixe=
d together" problem happens a lot in practice, esp. when you have a mix of =
server-side and client-side auth. For instance, we saw this in our Facebook=
 Connect integration in Plaxo--normally the user connects and Plaxo stores =
their session key in our databases, so when the user returns and logs in as=
 plaxo-user-123, we look it up and know that he's also facebook-user-456. B=
ut some of Facebook Connect's UI widgets just look at the browser cookies o=
n facebook.com<http://facebook.com/>, where facebook-user-789 may be curren=
tly logged in (happens all the time with shared computers at home). Thus we=
 often had pages that pulled some Facebook info server-side (as facebook-us=
er-456) and some client-side (as facebook-user-789) and it was very confusi=
ng and potentially harmful (e.g. easy to accidentally post a story to the w=
rong account). The solution would be for Plaxo to be able to pass facebook-=
user-456 down to the JavaScript library, so it wouldn't just "silently auth=
" as a different user--presumably, it would just treat it as if no one was =
logged into facebook, if the passed-in user is not logged in. I think this =
is what Evan is proposing we enable for OAuth, especially if we want it to =
work client-side with immediate-mode (which I think we do).

Another related example of this problem we saw was with our photo-uploader =
plug-in inside Picasa Desktop for sharing photos on Plaxo. During the uploa=
d flow, it embeds a web browser, which lets you log in as plaxo-user-123, b=
ut when it's done uploading, it opens a default web browser, where you migh=
t be logged in as plaxo-user-456, leading again to a confusing mix-up of id=
entities. We solved this by appending the session-info of the user from the=
 embedded web browser on the URL of the main browser that gets opened, so i=
t can clobber the session as needed and maintain continuity of session.

Hope these experiences provide some useful and concrete context for evaluat=
ing whether/how to support a username parameter in OAuth.

Thanks, js
On Tue, Apr 20, 2010 at 8:08 AM, Eran Hammer-Lahav <eran@hueniverse.com<mai=
lto:eran@hueniverse.com>> wrote:
This attack is why the flow requires the client to present the callback it =
used again when getting the token.

EHL


From: Evan Gilbert [mailto:uidude@google.com<mailto:uidude@google.com>]
Sent: Monday, April 19, 2010 5:17 PM

To: Eran Hammer-Lahav
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal


On Mon, Apr 19, 2010 at 10:58 AM, Eran Hammer-Lahav <eran@hueniverse.com<ma=
ilto:eran@hueniverse.com>> wrote:
Thanks. That makes sense.

My concern is that the client will ask for a specific username but an attac=
ker will change that request before it hits the server. The server then ask=
s the (wrong) user to authenticate and returns a token. The client has no w=
ay of knowing it got an access token for the wrong user. Does requiring tha=
t the server returns the token with the username solves this? Is this a rea=
l issue?

This particular attack wasn't of concern to me, for a few of reasons:
- The request is HTTPS, hard to modify the request before it hits the serve=
r
- There are probably other, more dangerous attacks if you can modify reques=
t parameters (for example, you can modify the client_id and get the user to=
 authorize the wrong app)

I'm willing to be convinced otherwise

I have no objections to this proposal but wanted to see some discussion and=
 support from others before adding it to the spec.

EHL

From: Evan Gilbert [mailto:uidude@google.com<mailto:uidude@google.com>]
Sent: Monday, April 19, 2010 10:06 AM
To: Eran Hammer-Lahav
Cc: OAuth WG

Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal

User 1 is logged into Client site
User 2 is logged into IDP site

This can happen quite frequently, as client sites often have long-lived coo=
kies and may only be visited by one user on a shared computer.

Right now client site has no way to ask for a token for User 1, and end res=
ult will be that User 1 starts seeing User 2's data.

On Mon, Apr 19, 2010 at 8:37 AM, Eran Hammer-Lahav <eran@hueniverse.com<mai=
lto:eran@hueniverse.com>> wrote:
How can they both be logged in? I have never seen a case where two users ca=
n be both logged into to the same service at the same time...

EHL



On 4/19/10 8:33 AM, "Evan Gilbert" <uidude@google.com<http://uidude@google.=
com/>> wrote:
More details on this enhancement.

Goal: Make sure you get an access token for the right user in immediate mod=
e.

Use case where we have problems if we don't have username parameter:

 1.  Bob is logged into a web site as bob@IDP.com<http://bob@IDP.com/>.
 2.  Mary (his wife) is logged into IDP on the same computer as mary@IDP.co=
m<http://mary@IDP.com/>
 3.  A request is made to get an access token via the User-Agent flow in im=
mediate mode (or with any redirect without prompting the user)
 4.  -ob now has an access token for Mary and (posts activities, schedules =
events, gets contacts) as Mary
 5.  Hilarity ensues

Secondary goal: Provide a hint for non-immediate mode

On Thu, Apr 15, 2010 at 11:55 AM, Eran Hammer-Lahav <eran@hueniverse.com<ht=
tp://eran@hueniverse.com/>> wrote:
Evan Gilbert proposed a 'username' request parameter to allow the client to
limit the end user to authenticate using the provided authorization server
identifier. The proposal has not been discussed or supported by others, and
has not received a security review.

Proposal: Obtain further discussion and support from others, as well as a
security review of the proposal. Otherwise, do nothing.

EHL

_______________________________________________
OAuth mailing list
OAuth@ietf.org<http://OAuth@ietf.org/>
https://www.ietf.org/mailman/listinfo/oauth




_______________________________________________
OAuth mailing list
OAuth@ietf.org<mailto:OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth






_______________________________________________

OAuth mailing list

OAuth@ietf.org<mailto:OAuth@ietf.org>

https://www.ietf.org/mailman/listinfo/oauth




_______________________________________________
OAuth mailing list
OAuth@ietf.org<mailto:OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth


Eve Maler
eve@xmlgrrl.com<mailto:eve@xmlgrrl.com>
http://www.xmlgrrl.com/blog


--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7FAA5P3PW5EX1MB01E_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV=3D"Content-Type" CONTENT=
=3D"text/html; charset=3Dus-ascii"><meta name=3DGenerator content=3D"Micros=
oft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:Helvetica;
	panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
	{font-family:Courier;
	panose-1:2 7 4 9 2 2 5 2 4 4;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	color:black;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p
	{mso-style-priority:99;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	color:black;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";
	color:black;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";
	color:black;}
span.apple-tab-span
	{mso-style-name:apple-tab-span;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:Consolas;
	color:black;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";
	font-family:"Tahoma","sans-serif";}
span.EmailStyle23
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle24
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.apple-style-span
	{mso-style-name:apple-style-span;}
span.EmailStyle26
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:1155603508;
	mso-list-template-ids:1058059814;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue vli=
nk=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span style=3D'f=
ont-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>This is p=
art of the delegation flows so username should be just fine&#8230;<o:p></o:=
p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-fami=
ly:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p cla=
ss=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-=
serif";color:#1F497D'>EHL<o:p></o:p></span></p><p class=3DMsoNormal><span s=
tyle=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>=
<o:p>&nbsp;</o:p></span></p><div style=3D'border:none;border-left:solid blu=
e 1.5pt;padding:0in 0in 0in 4.0pt'><div><div style=3D'border:none;border-to=
p:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=3DMsoNormal><b><s=
pan style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windo=
wtext'>From:</span></b><span style=3D'font-size:10.0pt;font-family:"Tahoma"=
,"sans-serif";color:windowtext'> oauth-bounces@ietf.org [mailto:oauth-bounc=
es@ietf.org] <b>On Behalf Of </b>Eve Maler<br><b>Sent:</b> Wednesday, April=
 21, 2010 4:43 PM<br><b>To:</b> OAuth WG<br><b>Subject:</b> Re: [OAUTH-WG] =
Issue: 'username' parameter proposal<o:p></o:p></span></p></div></div><p cl=
ass=3DMsoNormal><o:p>&nbsp;</o:p></p><div><p class=3DMsoNormal>Tacking this=
 response to the end of the thread for lack of a better place to do it: The=
 name &quot;username&quot; seems not quite apt in the case of an autonomous=
 client that isn't representing an end-user. Would &quot;identifier&quot; b=
e better? (Actually, it sort of reminds me of SAML's &quot;SessionIndex&quo=
t;...) Or would the parameter be reserved for user-delegation flows?<o:p></=
o:p></p></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p =
class=3DMsoNormal>Speaking of autonomous clients, Section 2.2 -- among poss=
ibly other places -- states that an autonomous client is also the resource =
owner, but that's not always the case, is it? The client might be seeking a=
ccess on behalf of itself. (FWIW, I made roughly this same comment on David=
's first draft on March 21, and he agreed with my suggested fix at the time=
.)<o:p></o:p></p></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div=
><div><p class=3DMsoNormal><span class=3Dapple-tab-span>&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Eve<o:p></o:p></p></div><p class=
=3DMsoNormal><o:p>&nbsp;</o:p></p><div><div><p class=3DMsoNormal>On 21 Apr =
2010, at 2:30 PM, Torsten Lodderstedt wrote:<o:p></o:p></p></div><p class=
=3DMsoNormal><br><br><o:p></o:p></p><div><p class=3DMsoNormal>Am 20.04.2010=
 20:59, schrieb Eran Hammer-Lahav:<br><br><o:p></o:p></p><p class=3DMsoNorm=
al><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color=
:#1F497D'>Because the rest of the spec did receive extensive review from bo=
th early adopters and from the previous drafts it borrowed from. Nothing so=
 far is a new concept. The concept of an identity is new in OAuth, and whil=
e offers important benefits, should not be added to the spec when there are=
 actual security concerns around it.</span><o:p></o:p></p><p class=3DMsoNor=
mal><span style=3D'color:windowtext'><br>My impression is that the specific=
ation has undergone significant changes since its first version and cannot =
be compared to its predecessor in terms of security. <br><br>Let me give yo=
u some examples. <br><br>I wonder if anyone security reviewed the introduct=
ion of refresh tokens to the User Agent Flow? From my point of view, refres=
h tokens are dangerous in this flow. <br><br>First of all, where should a J=
avaScript client store this token securely? If someone is able to steal the=
 token, it can use it to obtain access tokens.<br><br>Steps:<br>1) legitima=
te client is granted access by the end user <br>2) client stores refresh to=
ken in local storage (?)<br>3) malicious software reads refresh token from =
local storage <br>4) malicious software obtains access token from the autho=
rization server (no client secret required)<br>5) malicious software uses t=
oken or sends it to a central storage for further abuse <br><br>Second, the=
 immediate mode has been introduced to the User Agent flow recently. I don'=
t know exactly but my feeling is that a malicious software can steal tokens=
.<br><br>Steps:<br>1) malicious software initiated authorization flow using=
 immediate=3Dtrue and a stolen client_id<br>2) Assuming this client has bee=
n granted access by the end user of the particular computer, the authorizat=
ion server directly respondes with tokens w/o user interaction. The user do=
es not realize what is happening.<br>3) malicious software uses token or se=
nds it to a central storage for further abuse <br><br>The only countermesur=
e I see is the redirect URL verification, which seams to be optional: &quot=
;If the client has previously registered a redirection URI with the <o:p></=
o:p></span></p><div id=3DLC699><p class=3DMsoNormal><span style=3D'color:wi=
ndowtext'>&nbsp;&nbsp;&nbsp;authorization server&quot;.<o:p></o:p></span></=
p></div><p class=3DMsoNormal><span style=3D'color:windowtext'>&nbsp;<br><br=
><o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt=
;font-family:"Calibri","sans-serif";color:#1F497D'>&nbsp;</span><o:p></o:p>=
</p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calib=
ri","sans-serif";color:#1F497D'>I raised a specific issue that was not addr=
essed. Brian seems to have other concerns.</span><o:p></o:p></p><p class=3D=
MsoNormal><span style=3D'color:windowtext'><br>Other posts on the thread in=
dicated a need for such an concept. We use such parameters, too. <br><br>I =
think, from a security standpoint, the problem is much more the immediate p=
arameter then the username parameter. If the username is modified by an att=
acker, the user should see the username in authentication or authorization =
dialogs. So he/her can react. That's not the case in immediate mode, so the=
re are only technical ways to prevent username modifications, HTTPS or sign=
atures. <br><br><br><o:p></o:p></span></p><p class=3DMsoNormal><span style=
=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>&nbs=
p;</span><o:p></o:p></p><p class=3DMsoNormal><span style=3D'font-size:11.0p=
t;font-family:"Calibri","sans-serif";color:#1F497D'>I don&#8217;t like the =
policy of add-first-discuss-later.</span><o:p></o:p></p><p class=3DMsoNorma=
l><span style=3D'color:windowtext'><br>I don't like it either. But sometime=
s it is more efficient to make progress and discuss such aspects in-depth w=
hen reaching milestones.<br><br>regards,<br>Torsten.<br><br><br><o:p></o:p>=
</span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family=
:"Calibri","sans-serif";color:#1F497D'>&nbsp;</span><o:p></o:p></p><p class=
=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-se=
rif";color:#1F497D'>EHL</span><o:p></o:p></p><p class=3DMsoNormal><span sty=
le=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>&n=
bsp;</span><o:p></o:p></p><div style=3D'border:none;border-left:solid windo=
wtext 1.5pt;padding:0in 0in 0in 4.0pt;border-color:-moz-use-text-color -moz=
-use-text-color -moz-use-text-color blue'><div><div style=3D'border:none;bo=
rder-top:solid windowtext 1.0pt;padding:3.0pt 0in 0in 0in;border-color:-moz=
-use-text-color -moz-use-text-color'><p class=3DMsoNormal><b><span style=3D=
'font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'>From:=
</span></b><span style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif=
";color:windowtext'> Torsten Lodderstedt [<a href=3D"mailto:torsten@lodders=
tedt.net">mailto:torsten@lodderstedt.net</a>] <br><b>Sent:</b> Tuesday, Apr=
il 20, 2010 11:55 AM<br><b>To:</b> Eran Hammer-Lahav<br><b>Cc:</b> <a href=
=3D"mailto:jsmarr@stanfordalumni.org">jsmarr@stanfordalumni.org</a>; OAuth =
WG<br><b>Subject:</b> Re: [OAUTH-WG] Issue: 'username' parameter proposal</=
span><o:p></o:p></p></div></div><p class=3DMsoNormal>&nbsp;<o:p></o:p></p><=
p class=3DMsoNormal>In my experiences, such a review takes much longer than=
 a few minutes. <br><br>I think the whole specification should be subject t=
o a comprehensive and in-depth security analysis (threat modeling, counter =
measures and so on). So why not adding this parameter and examine its impli=
cations in this context? <br><br>regards,<br>Torsten. &nbsp; <br>&nbsp;<br>=
Am 20.04.2010 19:23, schrieb Eran Hammer-Lahav: <o:p></o:p></p><p class=3DM=
soNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"=
;color:#1F497D'>I&#8217;m not aware of anyone arguing against this feature.=
 The only issue is a full security review before we add it to the spec. If =
one of the security experts here can spend a few minutes to review this, we=
 can move forward and add it to the draft.</span><o:p></o:p></p><p class=3D=
MsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif=
";color:#1F497D'>&nbsp;</span><o:p></o:p></p><p class=3DMsoNormal><span sty=
le=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>EH=
L</span><o:p></o:p></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt=
;font-family:"Calibri","sans-serif";color:#1F497D'>&nbsp;</span><o:p></o:p>=
</p><div style=3D'border:none;border-left:solid windowtext 1.5pt;padding:0i=
n 0in 0in 4.0pt;border-color:-moz-use-text-color -moz-use-text-color -moz-u=
se-text-color blue'><div><div style=3D'border:none;border-top:solid windowt=
ext 1.0pt;padding:3.0pt 0in 0in 0in;border-color:-moz-use-text-color'><p cl=
ass=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma","sa=
ns-serif"'>From:</span></b><span style=3D'font-size:10.0pt;font-family:"Tah=
oma","sans-serif"'> Joseph Smarr [<a href=3D"mailto:jsmarr@gmail.com">mailt=
o:jsmarr@gmail.com</a>] <br><b>Sent:</b> Tuesday, April 20, 2010 9:36 AM<br=
><b>To:</b> Eran Hammer-Lahav<br><b>Cc:</b> Evan Gilbert; OAuth WG<br><b>Su=
bject:</b> Re: [OAUTH-WG] Issue: 'username' parameter proposal</span><o:p><=
/o:p></p></div></div><p class=3DMsoNormal>&nbsp;<o:p></o:p></p><p class=3DM=
soNormal>Just to add some more context from experience, this &quot;two user=
s getting mixed together&quot; problem happens a lot in practice, esp. when=
 you have a mix of server-side and client-side auth. For instance, we saw t=
his in our Facebook Connect integration in Plaxo--normally the user connect=
s and Plaxo stores their session key in our databases, so when the user ret=
urns and logs in as plaxo-user-123, we look it up and know that he's also f=
acebook-user-456. But some of Facebook Connect's UI widgets just look at th=
e browser cookies on <a href=3D"http://facebook.com/">facebook.com</a>, whe=
re facebook-user-789 may be currently logged in (happens all the time with =
shared computers at home). Thus we often had pages that pulled some Faceboo=
k info server-side (as facebook-user-456) and some client-side (as facebook=
-user-789) and it was very confusing and potentially harmful (e.g. easy to =
accidentally post a story to the wrong account). The solution would be for =
Plaxo to be able to pass facebook-user-456 down to the JavaScript library, =
so it wouldn't just &quot;silently auth&quot; as a different user--presumab=
ly, it would just treat it as if no one was logged into facebook, if the pa=
ssed-in user is not logged in. I think this is what Evan is proposing we en=
able for OAuth, especially if we want it to work client-side with immediate=
-mode (which I think we do).<o:p></o:p></p><div><p class=3DMsoNormal>&nbsp;=
<o:p></o:p></p></div><div><p class=3DMsoNormal>Another related example of t=
his problem we saw was with our photo-uploader plug-in inside Picasa Deskto=
p for sharing photos on Plaxo. During the upload flow, it embeds a web brow=
ser, which lets you log in as plaxo-user-123, but when it's done uploading,=
 it opens a default web browser, where you might be logged in as plaxo-user=
-456, leading again to a confusing mix-up of identities. We solved this by =
appending the session-info of the user from the embedded web browser on the=
 URL of the main browser that gets opened, so it can clobber the session as=
 needed and maintain continuity of session.<o:p></o:p></p></div><div><p cla=
ss=3DMsoNormal>&nbsp;<o:p></o:p></p></div><div><p class=3DMsoNormal>Hope th=
ese experiences provide some useful and concrete context for evaluating whe=
ther/how to support a username parameter in OAuth.<o:p></o:p></p></div><div=
><p class=3DMsoNormal>&nbsp;<o:p></o:p></p></div><div><p class=3DMsoNormal =
style=3D'margin-bottom:12.0pt'>Thanks, js<o:p></o:p></p><div><p class=3DMso=
Normal>On Tue, Apr 20, 2010 at 8:08 AM, Eran Hammer-Lahav &lt;<a href=3D"ma=
ilto:eran@hueniverse.com">eran@hueniverse.com</a>&gt; wrote:<o:p></o:p></p>=
<div><div><p class=3DMsoNormal><span style=3D'font-size:11.0pt;color:#1F497=
D'>This attack is why the flow requires the client to present the callback =
it used again when getting the token.</span><o:p></o:p></p><p class=3DMsoNo=
rmal><span style=3D'font-size:11.0pt;color:#1F497D'>&nbsp;</span><o:p></o:p=
></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;color:#1F497D'>EH=
L</span><o:p></o:p></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt=
;color:#1F497D'>&nbsp;</span><o:p></o:p></p><p class=3DMsoNormal><span styl=
e=3D'font-size:11.0pt;color:#1F497D'>&nbsp;</span><o:p></o:p></p><div style=
=3D'border:none;border-left:solid windowtext 1.5pt;padding:0in 0in 0in 4.0p=
t;border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color =
blue'><div><div style=3D'border:none;border-top:solid windowtext 1.0pt;padd=
ing:3.0pt 0in 0in 0in;border-color:-moz-use-text-color'><p class=3DMsoNorma=
l><b><span style=3D'font-size:10.0pt'>From:</span></b><span style=3D'font-s=
ize:10.0pt'> Evan Gilbert [mailto:<a href=3D"mailto:uidude@google.com" targ=
et=3D"_blank">uidude@google.com</a>] <br><b>Sent:</b> Monday, April 19, 201=
0 5:17 PM</span><o:p></o:p></p><div><div><p class=3DMsoNormal><br><b>To:</b=
> Eran Hammer-Lahav<br><b>Cc:</b> OAuth WG<br><b>Subject:</b> Re: [OAUTH-WG=
] Issue: 'username' parameter proposal<o:p></o:p></p></div></div></div></di=
v><div><div><p class=3DMsoNormal>&nbsp;<o:p></o:p></p><p class=3DMsoNormal =
style=3D'margin-bottom:12.0pt'>&nbsp;<o:p></o:p></p><div><p class=3DMsoNorm=
al>On Mon, Apr 19, 2010 at 10:58 AM, Eran Hammer-Lahav &lt;<a href=3D"mailt=
o:eran@hueniverse.com" target=3D"_blank">eran@hueniverse.com</a>&gt; wrote:=
<o:p></o:p></p><div><div><p class=3DMsoNormal><span style=3D'font-size:11.0=
pt;color:#1F497D'>Thanks. That makes sense.</span><o:p></o:p></p><p class=
=3DMsoNormal><span style=3D'font-size:11.0pt;color:#1F497D'>&nbsp;</span><o=
:p></o:p></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;color:#1F=
497D'>My concern is that the client will ask for a specific username but an=
 attacker will change that request before it hits the server. The server th=
en asks the (wrong) user to authenticate and returns a token. The client ha=
s no way of knowing it got an access token for the wrong user. Does requiri=
ng that the server returns the token with the username solves this? Is this=
 a real issue?</span><o:p></o:p></p></div></div><div><p class=3DMsoNormal>&=
nbsp;<o:p></o:p></p></div><div><p class=3DMsoNormal>This particular attack =
wasn't of concern to me, for a few of reasons:<o:p></o:p></p></div><div><p =
class=3DMsoNormal>- The request is HTTPS, hard to modify the request before=
 it hits the server<o:p></o:p></p></div><div><p class=3DMsoNormal>- There a=
re probably other, more dangerous attacks if you can modify request paramet=
ers (for example, you can modify the client_id and get the user to authoriz=
e the wrong app)<o:p></o:p></p></div><div><p class=3DMsoNormal><br>I'm will=
ing to be convinced otherwise<o:p></o:p></p></div><blockquote style=3D'bord=
er:none;border-left:solid windowtext 1.0pt;padding:0in 0in 0in 6.0pt;margin=
-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt;border-co=
lor:-moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(204, 20=
4, 204)'><div><div><p class=3DMsoNormal><span style=3D'font-size:11.0pt;col=
or:#1F497D'>&nbsp;</span><o:p></o:p></p><p class=3DMsoNormal><span style=3D=
'font-size:11.0pt;color:#1F497D'>I have no objections to this proposal but =
wanted to see some discussion and support from others before adding it to t=
he spec.</span><o:p></o:p></p><p class=3DMsoNormal><span style=3D'font-size=
:11.0pt;color:#1F497D'>&nbsp;</span><o:p></o:p></p><p class=3DMsoNormal><sp=
an style=3D'font-size:11.0pt;color:#1F497D'>EHL</span><o:p></o:p></p><p cla=
ss=3DMsoNormal><span style=3D'font-size:11.0pt;color:#1F497D'>&nbsp;</span>=
<o:p></o:p></p><div style=3D'border:none;border-left:solid windowtext 1.5pt=
;padding:0in 0in 0in 4.0pt;border-color:-moz-use-text-color -moz-use-text-c=
olor -moz-use-text-color blue'><div><div style=3D'border:none;border-top:so=
lid windowtext 1.0pt;padding:3.0pt 0in 0in 0in;border-color:-moz-use-text-c=
olor'><p class=3DMsoNormal><b><span style=3D'font-size:10.0pt'>From:</span>=
</b><span style=3D'font-size:10.0pt'> Evan Gilbert [mailto:<a href=3D"mailt=
o:uidude@google.com" target=3D"_blank">uidude@google.com</a>] <br><b>Sent:<=
/b> Monday, April 19, 2010 10:06 AM<br><b>To:</b> Eran Hammer-Lahav<br><b>C=
c:</b> OAuth WG</span><o:p></o:p></p><div><p class=3DMsoNormal><br><b>Subje=
ct:</b> Re: [OAUTH-WG] Issue: 'username' parameter proposal<o:p></o:p></p><=
/div></div></div><p class=3DMsoNormal>&nbsp;<o:p></o:p></p><p class=3DMsoNo=
rmal>User 1 is logged into Client site<o:p></o:p></p><div><div><div><p clas=
s=3DMsoNormal>User 2 is logged into IDP site<o:p></o:p></p></div><div><p cl=
ass=3DMsoNormal>&nbsp;<o:p></o:p></p></div><div><p class=3DMsoNormal>This c=
an happen quite frequently, as client sites often have long-lived cookies a=
nd may only be visited by one user on a shared computer.<o:p></o:p></p></di=
v><div><p class=3DMsoNormal>&nbsp;<o:p></o:p></p></div><div><p class=3DMsoN=
ormal>Right now client site has no way to ask for a token for User 1, and e=
nd result will be that User 1 starts seeing User 2's data.<o:p></o:p></p></=
div><div><div><div><div><p class=3DMsoNormal>&nbsp;<o:p></o:p></p><div><p c=
lass=3DMsoNormal>On Mon, Apr 19, 2010 at 8:37 AM, Eran Hammer-Lahav &lt;<a =
href=3D"mailto:eran@hueniverse.com" target=3D"_blank">eran@hueniverse.com</=
a>&gt; wrote:<o:p></o:p></p><div><p class=3DMsoNormal><span style=3D'font-s=
ize:11.0pt'>How can they both be logged in? I have never seen a case where =
two users can be both logged into to the same service at the same time...<b=
r></span><span style=3D'font-size:11.0pt;color:#888888'><br>EHL</span><o:p>=
</o:p></p><div><div><p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><sp=
an style=3D'font-size:11.0pt'><br><br><br>On 4/19/10 8:33 AM, &quot;Evan Gi=
lbert&quot; &lt;<a href=3D"http://uidude@google.com/" target=3D"_blank">uid=
ude@google.com</a>&gt; wrote:</span><o:p></o:p></p></div></div><div><div><b=
lockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt'><p class=3DMsoNorm=
al><span style=3D'font-size:11.0pt'>More details on this enhancement.<br><b=
r>Goal: Make sure you get an access token for the right user in immediate m=
ode.<br><br>Use case where we have problems if we don't have username param=
eter:</span><o:p></o:p></p><ol style=3D'margin-top:0in' start=3D1 type=3D1>=
<li class=3DMsoNormal style=3D'mso-list:l0 level1 lfo1'><span style=3D'font=
-size:11.0pt'>Bob is logged into a web site as <a href=3D"http://bob@IDP.co=
m/" target=3D"_blank">bob@IDP.com</a>. </span><o:p></o:p></li><li class=3DM=
soNormal style=3D'mso-list:l0 level1 lfo1'><span style=3D'font-size:11.0pt'=
>Mary (his wife) is logged into IDP on the same computer as <a href=3D"http=
://mary@IDP.com/" target=3D"_blank">mary@IDP.com</a> </span><o:p></o:p></li=
><li class=3DMsoNormal style=3D'mso-list:l0 level1 lfo1'><span style=3D'fon=
t-size:11.0pt'>A request is made to get an access token via the User-Agent =
flow in immediate mode (or with any redirect without prompting the user) </=
span><o:p></o:p></li><li class=3DMsoNormal style=3D'mso-list:l0 level1 lfo1=
'><span style=3D'font-size:11.0pt'>-ob now has an access token for Mary and=
 (posts activities, schedules events, gets contacts) as Mary </span><o:p></=
o:p></li><li class=3DMsoNormal style=3D'mso-list:l0 level1 lfo1'><span styl=
e=3D'font-size:11.0pt'>Hilarity ensues</span><o:p></o:p></li></ol><p class=
=3DMsoNormal><span style=3D'font-size:11.0pt'><br>Secondary goal: Provide a=
 hint for non-immediate mode<br><br>On Thu, Apr 15, 2010 at 11:55 AM, Eran =
Hammer-Lahav &lt;<a href=3D"http://eran@hueniverse.com/" target=3D"_blank">=
eran@hueniverse.com</a>&gt; wrote:</span><o:p></o:p></p><p class=3DMsoNorma=
l><span style=3D'font-size:11.0pt'>Evan Gilbert proposed a 'username' reque=
st parameter to allow the client to<br>limit the end user to authenticate u=
sing the provided authorization server<br>identifier. The proposal has not =
been discussed or supported by others, and<br>has not received a security r=
eview.<br><br>Proposal: Obtain further discussion and support from others, =
as well as a<br>security review of the proposal. Otherwise, do nothing.<br>=
<br>EHL<br><br>_______________________________________________<br>OAuth mai=
ling list<br><a href=3D"http://OAuth@ietf.org/" target=3D"_blank">OAuth@iet=
f.org</a><br><a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=
=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a></span><o:p></o:=
p></p><p class=3DMsoNormal style=3D'margin-bottom:12.0pt'>&nbsp;<o:p></o:p>=
</p></blockquote></div></div></div></div><p class=3DMsoNormal>&nbsp;<o:p></=
o:p></p></div></div></div></div></div></div></div></div></div></blockquote>=
</div><p class=3DMsoNormal>&nbsp;<o:p></o:p></p></div></div></div></div></d=
iv><p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><br>________________=
_______________________________<br>OAuth mailing list<br><a href=3D"mailto:=
OAuth@ietf.org">OAuth@ietf.org</a><br><a href=3D"https://www.ietf.org/mailm=
an/listinfo/oauth" target=3D"_blank">https://www.ietf.org/mailman/listinfo/=
oauth</a><o:p></o:p></p></div><p class=3DMsoNormal>&nbsp;<o:p></o:p></p></d=
iv></div><pre>&nbsp;<o:p></o:p></pre><pre>&nbsp;<o:p></o:p></pre><pre>_____=
__________________________________________<o:p></o:p></pre><pre>OAuth maili=
ng list<o:p></o:p></pre><pre><a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.o=
rg</a><o:p></o:p></pre><pre><a href=3D"https://www.ietf.org/mailman/listinf=
o/oauth">https://www.ietf.org/mailman/listinfo/oauth</a><o:p></o:p></pre><p=
re>&nbsp; <o:p></o:p></pre><p class=3DMsoNormal>&nbsp;<o:p></o:p></p></div>=
<p class=3DMsoNormal><span style=3D'color:windowtext'><o:p>&nbsp;</o:p></sp=
an></p></div><p class=3DMsoNormal><span style=3D'color:windowtext'>________=
_______________________________________<br>OAuth mailing list<br><a href=3D=
"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br><a href=3D"https://www.ietf.o=
rg/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a><=
o:p></o:p></span></p></div><p class=3DMsoNormal><span style=3D'color:window=
text'><o:p>&nbsp;</o:p></span></p><div><div><p class=3DMsoNormal><span styl=
e=3D'font-size:9.0pt;font-family:Courier'><br>Eve Maler<o:p></o:p></span></=
p></div><div><p class=3DMsoNormal><span style=3D'font-size:9.0pt;font-famil=
y:Courier'><a href=3D"mailto:eve@xmlgrrl.com">eve@xmlgrrl.com</a><o:p></o:p=
></span></p></div><div><p class=3DMsoNormal><span style=3D'font-size:9.0pt;=
font-family:Courier'><a href=3D"http://www.xmlgrrl.com/blog">http://www.xml=
grrl.com/blog</a><o:p></o:p></span></p></div></div><p class=3DMsoNormal><sp=
an style=3D'color:windowtext'><o:p>&nbsp;</o:p></span></p></div></div></bod=
y></html>=

--_000_90C41DD21FB7C64BB94121FBBC2E723438E5C7FAA5P3PW5EX1MB01E_--

From eran@hueniverse.com  Wed Apr 21 17:16:18 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 355CF3A687F for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 17:16:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.476
X-Spam-Level: 
X-Spam-Status: No, score=-2.476 tagged_above=-999 required=5 tests=[AWL=0.123,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vItxZoOwoE+f for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 17:16:17 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 39A153A67F4 for <oauth@ietf.org>; Wed, 21 Apr 2010 17:16:17 -0700 (PDT)
Received: (qmail 15339 invoked from network); 22 Apr 2010 00:16:07 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 22 Apr 2010 00:16:07 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Wed, 21 Apr 2010 17:16:07 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Wed, 21 Apr 2010 17:15:56 -0700
Thread-Topic: [OAUTH-WG] feedback on 4/17 draft
Thread-Index: AcrhnrEXlP7JHaHFTVq+lZEMMXJ4lgAEddHA
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7FAA8@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <u2o74caaad21004192003rfe0b25ffpbbe648e6e493b568@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FA43@P3PW5EX1MB01.EX1.SECURESERVER.NET> <j2m74caaad21004211504wd9df1903te18f1548b5f4dace@mail.gmail.com>
In-Reply-To: <j2m74caaad21004211504wd9df1903te18f1548b5f4dace@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] feedback on 4/17 draft
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 00:16:18 -0000

> -----Original Message-----
> From: Marius Scurtescu [mailto:mscurtescu@google.com]
> Sent: Wednesday, April 21, 2010 3:05 PM
> To: Eran Hammer-Lahav
> Cc: OAuth WG
> Subject: Re: [OAUTH-WG] feedback on 4/17 draft
>=20
> On Wed, Apr 21, 2010 at 2:34 PM, Eran Hammer-Lahav
> <eran@hueniverse.com> wrote:
> >> -----Original Message-----
> >> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
> >> Behalf Of Marius Scurtescu
> >> Sent: Monday, April 19, 2010 8:04 PM
> >
> >> 3.5.3.1
> >>
> >> "an HTTP GET request to the authorization endpoint", should probably
> >> read: "an HTTP POST request to the token endpoint" (POST and token
> >> endpoint).
> >
> > The token endpoint only returns tokens. The authorization endpoint
> returns codes... This is half of the authorization step.
>=20
> I see how you made the distinction.
>=20
> I was assuming that the authorization endpoint will be hit only with brow=
sers
> and the token endpoint only with direct calls from the client. This allow=
s a
> clean separation of characteristics for the two endpoints and this is the
> reason with did not combine them. Following this logic, it is better for =
the
> above to use POST and the token endpoint.

I agree.

I need to take a look at POST vs GET throughout the whole spec. It's a bit =
broken right now.

> >> 5.2.2
> >>
> >> If the entity body includes other parameters, is it worth requiring
> >> that oauth_token be the first one?
> >
> > Why not last?
>=20
> If was just following the same convention as in OAuth 1.0, see RFC 5849,
> section 3.5.2.

I did get a kick from you referencing RFC 5849. It took me a second... :-)

Which BTW says:

   The entity-body MAY include other request-specific parameters, in
   which case, the protocol parameters SHOULD be appended following the
   request-specific parameters, properly separated by an "&" character
   (ASCII code 38).

As in... last.

EHL



From mscurtescu@google.com  Wed Apr 21 17:23:01 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8CB593A68F9 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 17:23:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.948
X-Spam-Level: 
X-Spam-Status: No, score=-105.948 tagged_above=-999 required=5 tests=[AWL=0.029, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MOkXqJ8aXDEc for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 17:22:58 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id CACD63A67F4 for <oauth@ietf.org>; Wed, 21 Apr 2010 17:22:51 -0700 (PDT)
Received: from wpaz24.hot.corp.google.com (wpaz24.hot.corp.google.com [172.24.198.88]) by smtp-out.google.com with ESMTP id o3M0MfqB030581 for <oauth@ietf.org>; Wed, 21 Apr 2010 17:22:41 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271895761; bh=2NtL1ZDmNDVz2vVCfkbpeM9NYH8=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=DFnp/+WN820UPlRGfY09VIwozqJJOH6E3V5EhdqNZKTJ7gorxnIm5C0OaWHYQdQab AstNPwB/cmptvZK6gf1iw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=aq++GBLm5dZb/1kHZAE0dSzbQpsxWv80Z5/rFhRlrynYfARGnZIlysIDwuTZZSSgr IE+7ICcEPPCunjZksw1fg==
Received: from pzk41 (pzk41.prod.google.com [10.243.19.169]) by wpaz24.hot.corp.google.com with ESMTP id o3M0MeSl011104 for <oauth@ietf.org>; Wed, 21 Apr 2010 17:22:40 -0700
Received: by pzk41 with SMTP id 41so5735858pzk.10 for <oauth@ietf.org>; Wed, 21 Apr 2010 17:22:40 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.124.10 with HTTP; Wed, 21 Apr 2010 17:22:20 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7FAA8@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <u2o74caaad21004192003rfe0b25ffpbbe648e6e493b568@mail.gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E5C7FA43@P3PW5EX1MB01.EX1.SECURESERVER.NET> <j2m74caaad21004211504wd9df1903te18f1548b5f4dace@mail.gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E5C7FAA8@P3PW5EX1MB01.EX1.SECURESERVER.NET>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Wed, 21 Apr 2010 17:22:20 -0700
Received: by 10.140.83.31 with SMTP id g31mr2883140rvb.3.1271895760131; Wed,  21 Apr 2010 17:22:40 -0700 (PDT)
Message-ID: <i2s74caaad21004211722u93270ba0x1683097fcc9e93db@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] feedback on 4/17 draft
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 00:23:01 -0000

On Wed, Apr 21, 2010 at 5:15 PM, Eran Hammer-Lahav <eran@hueniverse.com> wr=
ote:
>> >> 5.2.2
>> >>
>> >> If the entity body includes other parameters, is it worth requiring
>> >> that oauth_token be the first one?
>> >
>> > Why not last?
>>
>> If was just following the same convention as in OAuth 1.0, see RFC 5849,
>> section 3.5.2.
>
> I did get a kick from you referencing RFC 5849. It took me a second... :-=
)

Glad you liked it.


> Which BTW says:
>
> =A0 The entity-body MAY include other request-specific parameters, in
> =A0 which case, the protocol parameters SHOULD be appended following the
> =A0 request-specific parameters, properly separated by an "&" character
> =A0 (ASCII code 38).
>
> As in... last.

You are right, my mistake.

I thought the reason it should be first, and also single part, is to
help proxies or filters to grab just the beginning of the body and
decide if there is any oauth stuff there.


Marius

From uidude@google.com  Wed Apr 21 17:24:26 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E2A753A68F7 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 17:24:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.707
X-Spam-Level: 
X-Spam-Status: No, score=-105.707 tagged_above=-999 required=5 tests=[AWL=0.269, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7CajbSXURJPo for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 17:24:25 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 0A0023A68F9 for <oauth@ietf.org>; Wed, 21 Apr 2010 17:24:24 -0700 (PDT)
Received: from kpbe16.cbf.corp.google.com (kpbe16.cbf.corp.google.com [172.25.105.80]) by smtp-out.google.com with ESMTP id o3M0OB1n001227 for <oauth@ietf.org>; Wed, 21 Apr 2010 17:24:11 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271895852; bh=CBjFt63DaznO266IAVVSl7xg4I4=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=ozJ+7ldefK5q3K3qz2cUa1t1zqggd9hkU59PBOwXfh/ioDyRT2zgt+wiZJK97P3O4 H+8Un+LTt4kIPaga6D27Q==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=DySA9M/iMuNyx10D1Km268ceHpQjT6NhamlzFxjaybHRdTNXdt5pl8gknZWvmfssf F/u6epVNdf7xu3xtVA+NA==
Received: from qyk15 (qyk15.prod.google.com [10.241.83.143]) by kpbe16.cbf.corp.google.com with ESMTP id o3M0NpSv009490 for <oauth@ietf.org>; Wed, 21 Apr 2010 17:24:10 -0700
Received: by qyk15 with SMTP id 15so4246703qyk.26 for <oauth@ietf.org>; Wed, 21 Apr 2010 17:24:10 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.16.148 with HTTP; Wed, 21 Apr 2010 17:23:50 -0700 (PDT)
In-Reply-To: <4BCF3226.2020002@lodderstedt.net>
References: <4BCE071E.5030008@lodderstedt.net> <q2oc8689b661004201745wbf45d637w6c224d09513e7be2@mail.gmail.com> <4BCE8D55.4040708@lodderstedt.net> <y2pc8689b661004210831m7c246bffk3765fe5a2565b7bd@mail.gmail.com> <4BCF3226.2020002@lodderstedt.net>
From: Evan Gilbert <uidude@google.com>
Date: Wed, 21 Apr 2010 17:23:50 -0700
Received: by 10.229.97.207 with SMTP id m15mr3312617qcn.6.1271895850261; Wed,  21 Apr 2010 17:24:10 -0700 (PDT)
Message-ID: <z2vc8689b661004211723ic920b3fmce4acccbceb68ed1@mail.gmail.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Content-Type: multipart/alternative; boundary=0016364ee60e589bc50484c85401
X-System-Of-Record: true
Cc: "OAuth WG \(oauth@ietf.org\)" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Variant of Web Server Flow w/o direct communication
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 00:24:27 -0000

--0016364ee60e589bc50484c85401
Content-Type: text/plain; charset=ISO-8859-1

On Wed, Apr 21, 2010 at 10:13 AM, Torsten Lodderstedt <
torsten@lodderstedt.net> wrote:

>  Am 21.04.2010 17:31, schrieb Evan Gilbert:
>
>
>
> On Tue, Apr 20, 2010 at 10:29 PM, Torsten Lodderstedt <
> torsten@lodderstedt.net> wrote:
>
>> Am 21.04.2010 02:45, schrieb Evan Gilbert:
>>
>>
>>
>> On Tue, Apr 20, 2010 at 12:57 PM, Torsten Lodderstedt <
>> torsten@lodderstedt.net> wrote:
>>
>>> Hi all,
>>>
>>> I would like to propose an additional variant of the Web Server Flow w/o
>>> the need for direct communication between client and authorization server in
>>> order to obtain authorized access/refresh tokens. Instead access and refresh
>>> tokens should directly be send back with the redirect to the client as it is
>>> the case in the User-Agent Flow.
>>>
>>
>> Question (and sorry if I'm being dense) - what is the delta between Web
>> Server flow + verification_code=false and User-Agent flow?
>>
>>
>>  This is not a dense question :-)
>>
>> The User Agent Flow adds the data as URL fragment which is not passed to
>> the web server (as far as I understand). My proposal adds this data as URL
>> query parameters, which are passed to the web server by the user agent.
>>
>
>  At one point we had tokens in query string for the User-Agent flow, but
> there were concerns about the security side. Query parameters are much more
> likely to leak in logs and in referrers.
>
>  It's not a lot of work to support this functionality with the existing
> User-Agent flow using a boilerplate response page. Page would:
> 1. Grab fragment
> 2. Make XMLHttpRequest with access token & refresh token to server, or POST
> a form
> 3. Redirect to destination page.
>
>  Would this work?
>
>
> I think this would work but is IMHO somehow cumbersome and requires two
> requests to the service.
>

I agree it's cumbersome. Hopefully the security folks can respond with the
pros/cons of tokens in the query parameters.


>  Alternatively, the authorization server could directly respond with a HTML
> page containing a HTML form element with all response data. This form could
> automatically be submited to the service using JavaScript. This would be
> similar to OpenIds "HTML FORM Redirection".
>

This is a good idea. Might make sense to support as a best practice - the
form can be static and it's fairly easy for any client to host it.

We recently had a similar discussion on the Native Application flow on the
OAuth WG thread - decided that we could implement the Native Flow as the Web
Server flow + a simple HTML web page. And the web page wouldn't be directly
part of the spec, but a separately documented best practice.

(note - I don't have strong opinions on this - mostly discussing options)


> regards,
> Torsten.
>

--0016364ee60e589bc50484c85401
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Wed, Apr 21, 2010 at 10:13 AM, Torste=
n Lodderstedt <span dir=3D"ltr">&lt;<a href=3D"mailto:torsten@lodderstedt.n=
et">torsten@lodderstedt.net</a>&gt;</span> wrote:<br><blockquote class=3D"g=
mail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-l=
eft:1ex;">




 =20

<div bgcolor=3D"#ffffff" text=3D"#000000">
Am 21.04.2010 17:31, schrieb Evan Gilbert:
<div><div></div><div class=3D"h5"><blockquote type=3D"cite"><br>
  <br>
  <div class=3D"gmail_quote">On Tue, Apr 20, 2010 at 10:29 PM, Torsten
Lodderstedt <span dir=3D"ltr">&lt;<a href=3D"mailto:torsten@lodderstedt.net=
" target=3D"_blank">torsten@lodderstedt.net</a>&gt;</span>
wrote:<br>
  <blockquote class=3D"gmail_quote" style=3D"border-left:1px solid rgb(204,=
 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">
    <div bgcolor=3D"#ffffff" text=3D"#000000">Am 21.04.2010 02:45, schrieb
Evan Gilbert:
    <div>
    <blockquote type=3D"cite"><br>
      <br>
      <div class=3D"gmail_quote">On Tue, Apr 20, 2010 at 12:57 PM,
Torsten
Lodderstedt <span dir=3D"ltr">&lt;<a href=3D"mailto:torsten@lodderstedt.net=
" target=3D"_blank">torsten@lodderstedt.net</a>&gt;</span>
wrote:<br>
      <blockquote class=3D"gmail_quote" style=3D"border-left:1px solid rgb(=
204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">Hi
all,<br>
        <br>
I would like to propose an additional variant of the Web Server Flow
w/o the need for direct communication between client and authorization
server in order to obtain authorized access/refresh tokens. Instead
access and refresh tokens should directly be send back with the
redirect to the client as it is the case in the User-Agent Flow.<br>
      </blockquote>
      <div><br>
Question (and sorry if I&#39;m being dense) - what is the delta between Web
Server flow + verification_code=3Dfalse and User-Agent flow?</div>
      </div>
    </blockquote>
    <br>
    </div>
This is not a dense question :-) <br>
    <br>
The User Agent Flow adds the data as URL fragment which is not passed
to the web server (as far as I understand). My proposal adds this data
as URL query parameters, which are passed to the web server by the user
agent.<br>
    </div>
  </blockquote>
  <div><br>
  </div>
  <div>At one point we had tokens in query string for the User-Agent
flow, but there were concerns about the security side. Query parameters
are much more likely to leak in logs and in referrers.</div>
  <div><br>
  </div>
  <div>It&#39;s not a lot of work to support this functionality with the
existing User-Agent flow using a boilerplate response page. Page would:</di=
v>
  <div>1. Grab fragment</div>
  <div>2. Make XMLHttpRequest with access token &amp; refresh token to
server, or POST a form</div>
  <div>3. Redirect to destination page.</div>
  <div><br>
  </div>
  <div>Would this work?</div>
  </div>
</blockquote>
<br></div></div>
I think this would work but is IMHO somehow cumbersome and requires two
requests to the service.</div></blockquote><div><br></div><div>I agree it&#=
39;s cumbersome. Hopefully the security folks can respond with the pros/con=
s of tokens in the query parameters.</div><div>=A0</div><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex;">

<div bgcolor=3D"#ffffff" text=3D"#000000"> Alternatively, the authorization=
 server could
directly respond with a HTML page containing a HTML form element with
all response data. This form could automatically be submited to the
service using JavaScript. This would be similar to OpenIds &quot;HTML FORM
Redirection&quot;.<br></div></blockquote><div><br></div><div>This is a good=
 idea. Might make sense to support as a best practice - the form can be sta=
tic and it&#39;s fairly easy for any client to host it.</div><div><br>

We recently had a similar discussion on the Native Application flow on the =
OAuth WG thread - decided that we could implement the Native Flow as the We=
b Server flow + a simple HTML web page. And the web page wouldn&#39;t be di=
rectly part of the spec, but a separately documented best practice.</div>

<div><br></div><div>(note - I don&#39;t have strong opinions on this - most=
ly discussing options)</div><div><br></div><blockquote class=3D"gmail_quote=
" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div bgcolor=3D"#ffffff" text=3D"#000000">
<br>
regards,<br>
Torsten.<br>
</div>

</blockquote></div><br>

--0016364ee60e589bc50484c85401--

From eran@hueniverse.com  Wed Apr 21 17:28:58 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 69C633A696D for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 17:28:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.477
X-Spam-Level: 
X-Spam-Status: No, score=-2.477 tagged_above=-999 required=5 tests=[AWL=0.122,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9Pt0k6f-tjuF for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 17:28:57 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id A6FDE3A699A for <oauth@ietf.org>; Wed, 21 Apr 2010 17:28:57 -0700 (PDT)
Received: (qmail 7284 invoked from network); 22 Apr 2010 00:28:48 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 22 Apr 2010 00:28:48 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Wed, 21 Apr 2010 17:28:48 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Wed, 21 Apr 2010 17:28:36 -0700
Thread-Topic: [OAUTH-WG] feedback on 4/17 draft
Thread-Index: Acrhse4eRF0d5Rb7QfuC2wn6aBm1sQAALYcw
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7FAAC@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <u2o74caaad21004192003rfe0b25ffpbbe648e6e493b568@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FA43@P3PW5EX1MB01.EX1.SECURESERVER.NET> <j2m74caaad21004211504wd9df1903te18f1548b5f4dace@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FAA8@P3PW5EX1MB01.EX1.SECURESERVER.NET> <i2s74caaad21004211722u93270ba0x1683097fcc9e93db@mail.gmail.com>
In-Reply-To: <i2s74caaad21004211722u93270ba0x1683097fcc9e93db@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] feedback on 4/17 draft
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 00:28:58 -0000

> -----Original Message-----
> From: Marius Scurtescu [mailto:mscurtescu@google.com]
> Sent: Wednesday, April 21, 2010 5:22 PM
> To: Eran Hammer-Lahav
> Cc: OAuth WG
> Subject: Re: [OAUTH-WG] feedback on 4/17 draft
>=20
> On Wed, Apr 21, 2010 at 5:15 PM, Eran Hammer-Lahav
> <eran@hueniverse.com> wrote:
> >> >> 5.2.2
> >> >>
> >> >> If the entity body includes other parameters, is it worth
> >> >> requiring that oauth_token be the first one?
> >> >
> >> > Why not last?
> >>
> >> If was just following the same convention as in OAuth 1.0, see RFC
> >> 5849, section 3.5.2.
> >
> > I did get a kick from you referencing RFC 5849. It took me a second...
> > :-)
>=20
> Glad you liked it.
>=20
>=20
> > Which BTW says:
> >
> > =A0 The entity-body MAY include other request-specific parameters, in
> > =A0 which case, the protocol parameters SHOULD be appended following th=
e
> > =A0 request-specific parameters, properly separated by an "&" character
> > =A0 (ASCII code 38).
> >
> > As in... last.
>=20
> You are right, my mistake.

OCD is an editor's best friend.

> I thought the reason it should be first, and also single part, is to help=
 proxies
> or filters to grab just the beginning of the body and decide if there is =
any
> oauth stuff there.

It's last to be less intrusive to the protected resource request.

EHL

From chasen@ironmoney.com  Wed Apr 21 17:36:41 2010
Return-Path: <chasen@ironmoney.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 68E7B3A67F0 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 17:36:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.93
X-Spam-Level: 
X-Spam-Status: No, score=0.93 tagged_above=-999 required=5 tests=[BAYES_50=0.001, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, SARE_URI_CONS7=0.306]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ovTWP6s8D0+7 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 17:36:40 -0700 (PDT)
Received: from mail-iw0-f194.google.com (mail-iw0-f194.google.com [209.85.223.194]) by core3.amsl.com (Postfix) with ESMTP id 20BF23A67A3 for <oauth@ietf.org>; Wed, 21 Apr 2010 17:36:40 -0700 (PDT)
Received: by iwn32 with SMTP id 32so5055515iwn.18 for <oauth@ietf.org>; Wed, 21 Apr 2010 17:36:28 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.15.68 with HTTP; Wed, 21 Apr 2010 17:36:27 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7FA4A@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <620F3756-E159-4EF3-99DC-6D74CC869739@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F48B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <h2xc334d54e1004200918s4bea7c3ez8ce69bb1a9c18151@mail.gmail.com> <530467FD-2F27-4CF7-BEFF-07ACEAD6C2AD@xmlgrrl.com> <z2y4c07358b1004211322j6b018305l50ad3e130b49a905@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FA4A@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Date: Wed, 21 Apr 2010 17:36:27 -0700
Received: by 10.231.152.79 with SMTP id f15mr2375719ibw.19.1271896587656; Wed,  21 Apr 2010 17:36:27 -0700 (PDT)
Message-ID: <n2s4c07358b1004211736q63841b11w51818f6cf22559c6@mail.gmail.com>
From: Chasen Le Hara <chasen@ironmoney.com>
To: OAuth WG <oauth@ietf.org>
Content-Type: multipart/alternative; boundary=001636c92aa34c5d4e0484c880db
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 00:36:41 -0000

--001636c92aa34c5d4e0484c880db
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Your original proposal seems like it would do the trick, although I would
make the allowed scope values as flexible as possible while allowing
multiple scope values to be separated by commas or spaces.

If the scope values were opaque to the client, then a server could use
values such as "accounts", "read:accounts", or "GET:accounts". This would
fit my needs for Iron Money.

As proposed, the server could respond to unauthorized requests with the
minimum scope values required to make the client=E2=80=99s next request suc=
cessful.

Hopefully this is the kind of feedback you were looking for.
-Chasen

On Wed, Apr 21, 2010 at 2:41 PM, Eran Hammer-Lahav <eran@hueniverse.com>wro=
te:

> How about review the proposals?
>
>
>
> EHL
>
>
>
> *From:* oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] *On Behalf
> Of *Chasen Le Hara
> *Sent:* Wednesday, April 21, 2010 1:23 PM
> *To:* Eve Maler
> *Cc:* jsmarr@stanfordalumni.org; OAuth WG
>
> *Subject:* Re: [OAUTH-WG] 'Scope' parameter proposal
>
>
>
> Hi all,
>
>
>
> On Tue, Apr 20, 2010 at 6:05 PM, Eve Maler <eve@xmlgrrl.com> wrote:
>
> It seems like this proposal "goes there" in terms of getting as expressiv=
e
> as Eran fears, though the addition of the wildcard takes away a good deal=
 of
> the pain depending on the particular interface at the endpoint(s). Is the=
re
> any wider interest in "going there"?
>
>
>
> Yes. A couple months ago Iron Money implemented a permissions system[1]
> that includes read_permissions and write_permissions as parameters when
> getting a request token. Those two parameters take a comma-separated list=
 of
> pre-defined resource values (such as "write_permissions=3Daccounts" for r=
ead
> and write permissions for the /accounts/ resource).
>
>
>
> If what is specified by OAuth 2.0 doesn=E2=80=99t meet Iron Money=E2=80=
=99s needs, that=E2=80=99s
> fine, but I wanted to raise my hand high as one of the people interested =
in
> a high level of expressiveness.
>
> -Chasen
>
>
>
> [1] https://ironmoney.com/api/permissions/
>

--001636c92aa34c5d4e0484c880db
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<span class=3D"Apple-style-span" style=3D"font-family: arial, sans-serif; f=
ont-size: 13px; border-collapse: collapse; "><div>Your original proposal se=
ems like it would do the trick, although I would make the allowed scope val=
ues as flexible as possible while allowing multiple scope values to be sepa=
rated by commas or spaces.</div>
<div><br></div><div>If the scope values were opaque to the client, then a s=
erver could use values such as &quot;accounts&quot;, &quot;read:accounts&qu=
ot;, or &quot;GET:accounts&quot;. This would fit my needs for Iron Money.</=
div>
<div><br></div><div>As proposed, the server could respond to unauthorized r=
equests with the minimum scope values required to make the client=E2=80=99s=
 next request successful.</div><div><br></div><div>Hopefully this is the ki=
nd of feedback you were looking for.</div>
<div>-Chasen</div></span><br><div class=3D"gmail_quote">On Wed, Apr 21, 201=
0 at 2:41 PM, Eran Hammer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:era=
n@hueniverse.com">eran@hueniverse.com</a>&gt;</span> wrote:<br><blockquote =
class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid=
;padding-left:1ex;">
<div lang=3D"EN-US" link=3D"blue" vlink=3D"purple"><div><p class=3D"MsoNorm=
al"><span style=3D"font-size:11.0pt;color:#1F497D">How about review the pro=
posals?</span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;co=
lor:#1F497D">=C2=A0</span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F497D">EHL</=
span></p><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;color:#1F49=
7D">=C2=A0</span></p><div style=3D"border:none;border-left:solid blue 1.5pt=
;padding:0in 0in 0in 4.0pt">
<div><div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt=
 0in 0in 0in"><p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt">Fr=
om:</span></b><span style=3D"font-size:10.0pt"> <a href=3D"mailto:oauth-bou=
nces@ietf.org" target=3D"_blank">oauth-bounces@ietf.org</a> [mailto:<a href=
=3D"mailto:oauth-bounces@ietf.org" target=3D"_blank">oauth-bounces@ietf.org=
</a>] <b>On Behalf Of </b>Chasen Le Hara<br>
<b>Sent:</b> Wednesday, April 21, 2010 1:23 PM<br><b>To:</b> Eve Maler<br><=
b>Cc:</b> <a href=3D"mailto:jsmarr@stanfordalumni.org" target=3D"_blank">js=
marr@stanfordalumni.org</a>; OAuth WG</span></p><div class=3D"im"><br><b>Su=
bject:</b> Re: [OAUTH-WG] &#39;Scope&#39; parameter proposal</div>
<p></p></div></div><p class=3D"MsoNormal">=C2=A0</p><p class=3D"MsoNormal">=
Hi all,</p><div><div></div><div class=3D"h5"><div><p class=3D"MsoNormal">=
=C2=A0</p><div><p class=3D"MsoNormal">On Tue, Apr 20, 2010 at 6:05 PM, Eve =
Maler &lt;<a href=3D"mailto:eve@xmlgrrl.com" target=3D"_blank">eve@xmlgrrl.=
com</a>&gt; wrote:</p>
<div><div><p class=3D"MsoNormal">It seems like this proposal &quot;goes the=
re&quot; in terms of getting as expressive as Eran fears, though the additi=
on of the wildcard takes away a good deal of the pain depending on the part=
icular interface at the endpoint(s). Is there any wider interest in &quot;g=
oing there&quot;?</p>
</div></div><div><p class=3D"MsoNormal">=C2=A0</p></div><div><p class=3D"Ms=
oNormal">Yes. A couple months ago Iron Money implemented a permissions syst=
em[1] that includes read_permissions and write_permissions as parameters wh=
en getting a request token. Those two parameters take a comma-separated lis=
t of pre-defined resource values (such as &quot;write_permissions=3Daccount=
s&quot; for read and write permissions for the /accounts/ resource).</p>
</div><div><p class=3D"MsoNormal">=C2=A0</p></div><div><p class=3D"MsoNorma=
l">If what is specified by OAuth 2.0 doesn=E2=80=99t meet Iron Money=E2=80=
=99s needs, that=E2=80=99s fine, but I wanted to raise my hand high as one =
of the people interested in a high level of expressiveness.</p>
</div><div><p class=3D"MsoNormal">-Chasen</p></div><div><p class=3D"MsoNorm=
al">=C2=A0</p></div><div><p class=3D"MsoNormal">[1]=C2=A0<a href=3D"https:/=
/ironmoney.com/api/permissions/" target=3D"_blank">https://ironmoney.com/ap=
i/permissions/</a></p>
</div></div></div></div></div></div></div></div></blockquote></div><br>

--001636c92aa34c5d4e0484c880db--

From eve@xmlgrrl.com  Wed Apr 21 18:35:38 2010
Return-Path: <eve@xmlgrrl.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9F5FD3A69A8 for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 18:35:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.608
X-Spam-Level: *
X-Spam-Status: No, score=1.608 tagged_above=-999 required=5 tests=[AWL=0.300,  BAYES_50=0.001, FROM_DOMAIN_NOVOWEL=0.5, HTML_MESSAGE=0.001, SARE_URI_CONS7=0.306, URI_NOVOWEL=0.5]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fNaWFHpzbWlm for <oauth@core3.amsl.com>; Wed, 21 Apr 2010 18:35:37 -0700 (PDT)
Received: from mail.promanage-inc.com (eliasisrael.com [98.111.84.13]) by core3.amsl.com (Postfix) with ESMTP id 5D4D03A6920 for <oauth@ietf.org>; Wed, 21 Apr 2010 18:35:37 -0700 (PDT)
Received: from [192.168.168.198] ([192.168.168.198]) (authenticated bits=0) by mail.promanage-inc.com (8.14.3/8.14.3) with ESMTP id o3M1ZJdJ018503 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Wed, 21 Apr 2010 18:35:20 -0700
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: multipart/alternative; boundary=Apple-Mail-685--612340042
From: Eve Maler <eve@xmlgrrl.com>
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7FAA5@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Date: Wed, 21 Apr 2010 18:35:19 -0700
Message-Id: <C93BAEA7-35BD-4ED7-AA1E-583C9DD6C785@xmlgrrl.com>
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com> <C7F1C6AC.327EE%eran@hueniverse.com> <u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET> <o2wc8689b661004191716o69966d5di900c07737d3be568@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <z2xc334d54e1004200936s57f06dedt8e0e46df3480f8d4@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F533@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BCDF86C.9080003@lodderstedt.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F5D9@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BCF6E8F.6080802@lodderstedt.net> <9454D8CD-0BF4-44CA-A46A-12F244E72B22@xmlgrrl.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FAA5@P3PW5EX1MB01.EX1.SECURESERVER.NET>
To: Eran Hammer-Lahav <eran@hueniverse.com>
X-Mailer: Apple Mail (2.1078)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 01:35:38 -0000

--Apple-Mail-685--612340042
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=windows-1252

Thanks!

On 21 Apr 2010, at 5:12 PM, Eran Hammer-Lahav wrote:

> This is part of the delegation flows so username should be just fine=85
> =20
> EHL
> =20
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf =
Of Eve Maler
> Sent: Wednesday, April 21, 2010 4:43 PM
> To: OAuth WG
> Subject: Re: [OAUTH-WG] Issue: 'username' parameter proposal
> =20
> Tacking this response to the end of the thread for lack of a better =
place to do it: The name "username" seems not quite apt in the case of =
an autonomous client that isn't representing an end-user. Would =
"identifier" be better? (Actually, it sort of reminds me of SAML's =
"SessionIndex"...) Or would the parameter be reserved for =
user-delegation flows?
> =20
> Speaking of autonomous clients, Section 2.2 -- among possibly other =
places -- states that an autonomous client is also the resource owner, =
but that's not always the case, is it? The client might be seeking =
access on behalf of itself. (FWIW, I made roughly this same comment on =
David's first draft on March 21, and he agreed with my suggested fix at =
the time.)
> =20
>           Eve
> =20


Eve Maler
eve@xmlgrrl.com
http://www.xmlgrrl.com/blog


--Apple-Mail-685--612340042
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=windows-1252

<html><head><base href=3D"x-msg://666/"></head><body style=3D"word-wrap: =
break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space; "><div>Thanks!</div><br><div><div>On 21 Apr 2010, at =
5:12 PM, Eran Hammer-Lahav wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite"><span =
class=3D"Apple-style-span" style=3D"border-collapse: separate; =
font-family: Helvetica; font-size: medium; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; =
white-space: normal; widows: 2; word-spacing: 0px; =
-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div lang=3D"EN-US" link=3D"blue" =
vlink=3D"purple"><div class=3D"WordSection1"><div style=3D"margin-right: =
0in; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', =
serif; color: black; margin-top: 0in; margin-bottom: 0.0001pt; "><span =
style=3D"font-size: 11pt; font-family: Calibri, sans-serif; color: =
rgb(31, 73, 125); ">This is part of the delegation flows so username =
should be just fine=85<o:p></o:p></span></div><div style=3D"margin-right: =
0in; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', =
serif; color: black; margin-top: 0in; margin-bottom: 0.0001pt; "><span =
style=3D"font-size: 11pt; font-family: Calibri, sans-serif; color: =
rgb(31, 73, 125); "><o:p>&nbsp;</o:p></span></div><div =
style=3D"margin-right: 0in; margin-left: 0in; font-size: 12pt; =
font-family: 'Times New Roman', serif; color: black; margin-top: 0in; =
margin-bottom: 0.0001pt; "><span style=3D"font-size: 11pt; font-family: =
Calibri, sans-serif; color: rgb(31, 73, 125); =
">EHL<o:p></o:p></span></div><div style=3D"margin-right: 0in; =
margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', =
serif; color: black; margin-top: 0in; margin-bottom: 0.0001pt; "><span =
style=3D"font-size: 11pt; font-family: Calibri, sans-serif; color: =
rgb(31, 73, 125); "><o:p>&nbsp;</o:p></span></div><div =
style=3D"border-top-style: none; border-right-style: none; =
border-bottom-style: none; border-width: initial; border-color: initial; =
border-left-style: solid; border-left-color: blue; border-left-width: =
1.5pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; =
padding-left: 4pt; position: static; z-index: auto; "><div><div =
style=3D"border-right-style: none; border-bottom-style: none; =
border-left-style: none; border-width: initial; border-color: initial; =
border-top-style: solid; border-top-color: rgb(181, 196, 223); =
border-top-width: 1pt; padding-top: 3pt; padding-right: 0in; =
padding-bottom: 0in; padding-left: 0in; position: static; z-index: auto; =
"><div style=3D"margin-right: 0in; margin-left: 0in; font-size: 12pt; =
font-family: 'Times New Roman', serif; color: black; margin-top: 0in; =
margin-bottom: 0.0001pt; "><b><span style=3D"font-size: 10pt; =
font-family: Tahoma, sans-serif; color: windowtext; =
">From:</span></b><span style=3D"font-size: 10pt; font-family: Tahoma, =
sans-serif; color: windowtext; "><span =
class=3D"Apple-converted-space">&nbsp;</span><a =
href=3D"mailto:oauth-bounces@ietf.org" style=3D"color: blue; =
text-decoration: underline; ">oauth-bounces@ietf.org</a><span =
class=3D"Apple-converted-space">&nbsp;</span>[mailto:oauth-bounces@ietf.or=
g]<span class=3D"Apple-converted-space">&nbsp;</span><b>On Behalf =
Of<span class=3D"Apple-converted-space">&nbsp;</span></b>Eve =
Maler<br><b>Sent:</b><span =
class=3D"Apple-converted-space">&nbsp;</span>Wednesday, April 21, 2010 =
4:43 PM<br><b>To:</b><span =
class=3D"Apple-converted-space">&nbsp;</span>OAuth =
WG<br><b>Subject:</b><span =
class=3D"Apple-converted-space">&nbsp;</span>Re: [OAUTH-WG] Issue: =
'username' parameter proposal<o:p></o:p></span></div></div></div><div =
style=3D"margin-right: 0in; margin-left: 0in; font-size: 12pt; =
font-family: 'Times New Roman', serif; color: black; margin-top: 0in; =
margin-bottom: 0.0001pt; "><o:p>&nbsp;</o:p></div><div><div =
style=3D"margin-right: 0in; margin-left: 0in; font-size: 12pt; =
font-family: 'Times New Roman', serif; color: black; margin-top: 0in; =
margin-bottom: 0.0001pt; ">Tacking this response to the end of the =
thread for lack of a better place to do it: The name "username" seems =
not quite apt in the case of an autonomous client that isn't =
representing an end-user. Would "identifier" be better? (Actually, it =
sort of reminds me of SAML's "SessionIndex"...) Or would the parameter =
be reserved for user-delegation flows?<o:p></o:p></div></div><div><div =
style=3D"margin-right: 0in; margin-left: 0in; font-size: 12pt; =
font-family: 'Times New Roman', serif; color: black; margin-top: 0in; =
margin-bottom: 0.0001pt; "><o:p>&nbsp;</o:p></div></div><div><div =
style=3D"margin-right: 0in; margin-left: 0in; font-size: 12pt; =
font-family: 'Times New Roman', serif; color: black; margin-top: 0in; =
margin-bottom: 0.0001pt; ">Speaking of autonomous clients, Section 2.2 =
-- among possibly other places -- states that an autonomous client is =
also the resource owner, but that's not always the case, is it? The =
client might be seeking access on behalf of itself. (FWIW, I made =
roughly this same comment on David's first draft on March 21, and he =
agreed with my suggested fix at the =
time.)<o:p></o:p></div></div><div><div style=3D"margin-right: 0in; =
margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', =
serif; color: black; margin-top: 0in; margin-bottom: 0.0001pt; =
"><o:p>&nbsp;</o:p></div></div><div><div style=3D"margin-right: 0in; =
margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', =
serif; color: black; margin-top: 0in; margin-bottom: 0.0001pt; "><span =
class=3D"apple-tab-span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;<span =
class=3D"Apple-converted-space">&nbsp;</span></span>Eve<o:p></o:p></div></=
div><div style=3D"margin-right: 0in; margin-left: 0in; font-size: 12pt; =
font-family: 'Times New Roman', serif; color: black; margin-top: 0in; =
margin-bottom: 0.0001pt; =
"><o:p>&nbsp;</o:p></div></div></div></div></span></blockquote></div><div>=

<span class=3D"Apple-style-span" style=3D"border-collapse: separate; =
color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; =
font-style: normal; font-variant: normal; font-weight: normal; =
letter-spacing: normal; line-height: normal; orphans: 2; text-align: =
auto; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Courier; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div><br =
class=3D"Apple-interchange-newline">Eve Maler</div><div><a =
href=3D"mailto:eve@xmlgrrl.com">eve@xmlgrrl.com</a></div><div><a =
href=3D"http://www.xmlgrrl.com/blog">http://www.xmlgrrl.com/blog</a></div>=
</span></span>
</div>
<br></body></html>=

--Apple-Mail-685--612340042--

From pid@pidster.com  Thu Apr 22 03:37:24 2010
Return-Path: <pid@pidster.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1E7EB3A6852 for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 03:37:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.001
X-Spam-Level: 
X-Spam-Status: No, score=0.001 tagged_above=-999 required=5 tests=[BAYES_50=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Zun0uk1o4VEH for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 03:37:23 -0700 (PDT)
Received: from mail-wy0-f172.google.com (mail-wy0-f172.google.com [74.125.82.172]) by core3.amsl.com (Postfix) with ESMTP id 8D90F3A6838 for <oauth@ietf.org>; Thu, 22 Apr 2010 03:37:21 -0700 (PDT)
Received: by wyb35 with SMTP id 35so439604wyb.31 for <oauth@ietf.org>; Thu, 22 Apr 2010 03:37:08 -0700 (PDT)
Received: by 10.216.89.209 with SMTP id c59mr1398469wef.87.1271932628280; Thu, 22 Apr 2010 03:37:08 -0700 (PDT)
Received: from Phoenix.local (94-193-98-41.zone7.bethere.co.uk [94.193.98.41]) by mx.google.com with ESMTPS id x1sm74653259wbx.19.2010.04.22.03.37.07 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 22 Apr 2010 03:37:07 -0700 (PDT)
Message-ID: <4BD026D1.1090205@pidster.com>
Date: Thu, 22 Apr 2010 11:37:05 +0100
From: Pid <pid@pidster.com>
Organization: Pidster Inc
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: oauth@ietf.org
References: <4BC6FD62.2020203@pidster.com>	<h2kbc03cd711004210449le80dd2d3q8eaf3b8696a994c1@mail.gmail.com> <y2zb71cdca91004211118we7ec7a05va4d439e8fbc7a80f@mail.gmail.com>
In-Reply-To: <y2zb71cdca91004211118we7ec7a05va4d439e8fbc7a80f@mail.gmail.com>
X-Enigmail-Version: 1.0.1
OpenPGP: id=62590808
Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="------------enig85C85F10D6BDBED188D8FD05"
Subject: Re: [OAUTH-WG] Standardisation of a Java API
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: pid@pidster.com
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 10:37:24 -0000

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig85C85F10D6BDBED188D8FD05
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 21/04/2010 19:18, Paul Lindner wrote:
> Ditto here.  Apache Shindig uses OAuth extensively and we would like to=

> upgrade it to OAuth 2.0.  The current stable java oauth library is okay=
,
> but does not have an active developer community, and isn't even
> published to maven central.

Both of those we can fix.

> I just had a peek at Amber, looks fairly decent.  I can help move this
> to Apache incubating if people are interested.

This also sounds promising.


p

> On Wed, Apr 21, 2010 at 4:49 AM, Simone Gianni <simoneg@apache.org
> <mailto:simoneg@apache.org>> wrote:
>=20
>     Hi Pid,
>     I'm also interested in developing a Java library for OAuth 2. There=

>     is an Apache Lab (labs.apache.org <http://labs.apache.org> , lab
>     named Amber) working on an OAuth 1 Java API, it could (will)
>     eventually move to Incubator if we manage to get enough momentum.
>=20
>     It would be nice to have a Java API that integrates with existing
>     systems, like JAAS and Spring Security (formerly known as Acegi).
>     That would ease the migration for all the frameworks and existing
>     systems that already use those libraries.
>=20
>     Simone
>=20
>     2010/4/15 Pid <pid@pidster.com <mailto:pid@pidster.com>>
>=20
>         Hi all,
>=20
>         I'm interested in working with other Java programmers to develo=
p a
>         standardised API for OAuth 2.0.
>=20
>         I have reviewed the recent archives, but don't see anything in
>         the way
>         of discussion on this topic.  If anyone can point me to a
>         location where
>         it is being discussed I'd be grateful.
>=20
>=20
>         I think it would be good if the OAuth community was able to
>         agree a spec
>         and then for implementors to have something to focus their effo=
rts
>         against, instead of produced many different and incompatible
>         libraries.
>=20
>         There are obviously challenges in attempting this before the
>         v2.0 itself
>         is final, but perhaps the effort will inform the overall debate=
=2E
>=20
>=20
>         The different Java implementations of OAuth version 1.0 each ha=
ve
>         varying features and levels of complexity.  Most implementation=
s
>         focus
>         on the client component and don't provide server components at =
all.
>         I'd like to improve on that in a Java API.
>=20
>         Some ideas I have include specifying that, in addition to
>         programmatical
>         configuration, an implementation should allow ServiceLoader and=
 XML
>         based configurations, and perhaps even an Annotation based conf=
ig.
>=20
>=20
>         I'd like to hear from anyone who'd be interested in combining
>         efforts,
>         Java programmer or not.
>=20
>=20
>         Cheers,
>=20
>=20
>         Pid
>=20
>=20
>         _______________________________________________
>         OAuth mailing list
>         OAuth@ietf.org <mailto:OAuth@ietf.org>
>         https://www.ietf.org/mailman/listinfo/oauth
>=20
>=20
>=20
>     _______________________________________________
>     OAuth mailing list
>     OAuth@ietf.org <mailto:OAuth@ietf.org>
>     https://www.ietf.org/mailman/listinfo/oauth
>=20
>=20
>=20
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth



--------------enig85C85F10D6BDBED188D8FD05
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iQIVAwUBS9Am0WoM2OGpOvr9AQpDJg//emoBnisiUN3KK33RjPPcWoMsyF7uxqqg
+i0INu04sGusLFEqH/elfAnMw3aI+r20JB9JFGS1NCn1iUS3xReLM5SC+WwhzHaT
AVLcnA+Vsl0tYD77lu+DRZ/HFNEuV009VLdvQ7dzXJWpOfDPZUPsku83kpRFhIuf
8s4NHveu2LRDabqMtOYbXzhc/HKzB/oBqL2SyO+ZJ/QlUU8wPRtOM33X8FKTwkei
GgnNL4f1qxG5183aDMb/D4YSDmLV4KIsOHThbfVyaDxTgg7yymfk/PLQbwXBbYxv
6kRwrob65toMjUzateLHjmJczdRL8l9nEuvpdsAwaGX+iGKqkN+TgMjXRR1dgQDR
Z0J9i1V5a4SUPitGxInS3V8o22zMsfC9/X8JoPF0pRt1hvdNrSXijsPpHn6QQTya
dIjsSQMTS0WV98fAUJlVjrGLid6U4aQYIfb5VUhFu/tg+qdyy11uzE48ryiTWYCw
XZt9mI+NWAMiRF2bjZ17lN8eSGvOOtehGwNCU7K3P4ALSd63+8qOWo7pyjBmxWhN
qs8BlLaiansTsp3KivGlzNh5co0cGlmih78DjMBX6tGaZ/KNz7+f02F8ZqGcz80k
P4pSzjznRLSUcmIpjgg1gzKBVSUYHZVG9J8q9o36mUTI8FCOBacbO2GaKYdx0/do
efvwjcwp0f8=
=KEcc
-----END PGP SIGNATURE-----

--------------enig85C85F10D6BDBED188D8FD05--

From t-katsuhara@nri.co.jp  Thu Apr 22 05:46:59 2010
Return-Path: <t-katsuhara@nri.co.jp>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1404F3A6A6B for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 05:46:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 2.51
X-Spam-Level: **
X-Spam-Status: No, score=2.51 tagged_above=-999 required=5 tests=[BAYES_50=0.001, HELO_EQ_JP=1.244, HOST_EQ_JP=1.265]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jnJxuP+cUZ6p for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 05:46:54 -0700 (PDT)
Received: from nrilvf24.index.or.jp (nrigw01.index.or.jp [133.250.250.1]) by core3.amsl.com (Postfix) with ESMTP id A50D828C0FC for <oauth@ietf.org>; Thu, 22 Apr 2010 05:46:51 -0700 (PDT)
Received: from nrilvf24.index.or.jp (localhost [127.0.0.1]) by localhost.index.or.jp (Postfix) with SMTP id BD5732F40F8; Thu, 22 Apr 2010 21:46:40 +0900 (JST)
Received: from nrisaf24.index.or.jp ([172.19.246.81]) by nrilpa24.index.or.jp (unknown) with ESMTP id o3MCkdSx029855; Thu, 22 Apr 2010 21:46:39 +0900
Received: from nrims00b.nri.co.jp [192.50.135.12] by nrisaf24.index.or.jp id sp4749; Thu Apr 22 21:46:39 2010 +0900 (JST)
Received: from nrims00b.nri.co.jp (localhost.localdomain [127.0.0.1]) by nrims00b.nri.co.jp (Switch-3.3.3/Switch-3.3.3) with ESMTP id o3MCkdGF007377; Thu, 22 Apr 2010 21:46:39 +0900
Received: (from mailnull@localhost) by nrims00b.nri.co.jp (Switch-3.3.3/Switch-3.3.0/Submit) id o3MCkdfE007376; Thu, 22 Apr 2010 21:46:39 +0900
X-Authentication-Warning: nrims00b.nri.co.jp: mailnull set sender to t-katsuhara@nri.co.jp using -f
Received: from [127.0.0.1] ([172.108.12.163]) (authenticated bits=0) by nrims00b.nri.co.jp (Switch-3.3.3/Switch-3.3.3) with ESMTP id o3MCkZE6006908; Thu, 22 Apr 2010 21:46:39 +0900
Message-ID: <4BD04530.3050803@nri.co.jp>
Date: Thu, 22 Apr 2010 21:46:40 +0900
From: Tatsuya KATSUHARA <t-katsuhara@nri.co.jp>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.7) Gecko/20100111 Thunderbird/3.0.1
MIME-Version: 1.0
To: oauth@ietf.org
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit
Subject: [OAUTH-WG] Can OAuth AuthN Header Scheme include other request parameters?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 12:46:59 -0000

Dear experts.

I read the two specifications(community/ietf hammer draft), and confused to
interprete those specs about regulation of signing additional parameters.

- Community (http://oauth.net/core/1.0)
------------------------------
"5.2 Consumer Request Parameters"
In addition to these defined methods, future extensions may describe alternate
methods for sending the OAuth Protocol Parameters. The methods for sending other
request parameters are left undefined, but SHOULD NOT use the OAuth HTTP
Authorization Scheme (OAuth HTTP Authorization Scheme) header.
------------------------------
"7.  Accessing Protected Resources"
After successfully receiving the Access Token and Token Secret, the Consumer is
able to access the Protected Resources on behalf of the User. The request MUST
be signed per Signing Requests (Signing Requests), and contains the following
parameters:

oauth_consumer_key:
$B!&!&!&(B
Additional parameters:
    Any additional parameters, as defined by the Service Provider.
------------------------------

I think this part of spec seems to say that HTTP Authorization header MUST NOT
include "other request parameters"(which are not OAuth Protocol Parameters).

Do OAuth 1.0a allow to send other request parameters only in POST request body
and as query string?

And when Consumer access protected resources, is the same rule applied?
(Must there be no other request parameters in OAuth Authorization Header Scheme?)


- IETF (http://tools.ietf.org/html/draft-hammer-oauth-10)
"3.5.2. Form-Encoded Body" and "3.5.3. Request URI Query" say
------------------------------
The entity-body MAY include other request-specific parameters
The request URI MAY include other request-specific query parameters
------------------------------
but "3.5.1. Authorization Header" don't say
"The Authorization Header MUST NOT include other request-specific parameters"

Above discussed descriptions is so confusion at least for me.


If anyone knows the spec in detail, please let me know.


Best regards.

-- 
Tatsuya (=kthrtty)


From beaton@google.com  Thu Apr 22 10:49:27 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 06E0728C20E for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 10:49:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.77
X-Spam-Level: 
X-Spam-Status: No, score=-100.77 tagged_above=-999 required=5 tests=[AWL=-1.207, BAYES_40=-0.185, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZX8XheErZ0Lj for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 10:49:26 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 9BD8E3A683F for <oauth@ietf.org>; Thu, 22 Apr 2010 10:36:21 -0700 (PDT)
Received: from kpbe17.cbf.corp.google.com (kpbe17.cbf.corp.google.com [172.25.105.81]) by smtp-out.google.com with ESMTP id o3MHa8hf001753 for <oauth@ietf.org>; Thu, 22 Apr 2010 19:36:09 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271957769; bh=cGfQ7njc9pYvImMo0m0w5AKMF6Q=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=aY43w3zcu6WEc2LbWnXDwyLEApmJB2DBOl7M8xZ2w5UWj8J62WNkbDOLczM48k3Ik N+ohlr1k3yJUp1C6DQBAg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=lW4FRxXQCo7ncp+nyASy4uyaw2K0VK0Wayua1pWPo46gWev+hjqa7yL9mBZHzQK4q tR/iogKvn6r1f39XtlCfw==
Received: from pvf33 (pvf33.prod.google.com [10.241.210.97]) by kpbe17.cbf.corp.google.com with ESMTP id o3MHa7sq004311 for <oauth@ietf.org>; Thu, 22 Apr 2010 10:36:07 -0700
Received: by pvf33 with SMTP id 33so2024870pvf.2 for <oauth@ietf.org>; Thu, 22 Apr 2010 10:36:07 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.142.202.10 with HTTP; Thu, 22 Apr 2010 10:36:06 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Date: Thu, 22 Apr 2010 10:36:06 -0700
Received: by 10.142.201.20 with SMTP id y20mr4884638wff.63.1271957767021; Thu,  22 Apr 2010 10:36:07 -0700 (PDT)
Message-ID: <g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 17:49:27 -0000

On Mon, Apr 19, 2010 at 3:17 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
>> The scope doesn't have to match the base URI of the resource which the
>> client tried and got the 401 from?
>
> That's a security issue we need to address (when to trust the resource server and reuse an existing token). We need to figure it out either way.

Are you sure we need to figure this out?  Is it even possible to figure it out?

I'm very skeptical of attempts to automatically determine which tokens
go with which resources.  There are no examples in the wild of people
doing this.  There have been a few proposals for techniques, all of
which have turned out to either be really complicated, or to have
fundamental security problems.  Or both.

I'd rather we didn't put stuff in the OAuth 2 spec that we aren't 100%
sure is going to work.  Ideally there should be lots of examples in
production.

I do like the idea of defining the scope parameter to be a delimited
list of otherwise opaque strings.  Several service providers have
already adopted this approach, and it seems to work reasonably well.
This would even work for the complex scope definitions that Eve and
Chase have brought up.

Defining scope to be a list of strings would also enable the "least
privilege" principal that Torsten mentioned, because once someone has
a token, there would be a well-defined way of reducing the scopes in
the token.  But it's probably too soon to actually add a "privilege
drop" call to the spec - as far as I know, no one has actually built
this yet.

Cheers,
Brian

From eran@hueniverse.com  Thu Apr 22 11:07:46 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C062D3A6886 for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 11:07:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.559
X-Spam-Level: 
X-Spam-Status: No, score=-2.559 tagged_above=-999 required=5 tests=[AWL=0.040,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EFGPFffgaxPj for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 11:07:45 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 915D23A6AE1 for <oauth@ietf.org>; Thu, 22 Apr 2010 11:01:40 -0700 (PDT)
Received: (qmail 1308 invoked from network); 22 Apr 2010 18:01:29 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 22 Apr 2010 18:01:29 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Thu, 22 Apr 2010 11:01:19 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Brian Eaton <beaton@google.com>
Date: Thu, 22 Apr 2010 11:01:09 -0700
Thread-Topic: [OAUTH-WG] 'Scope' parameter proposal
Thread-Index: AcriQlEohRpr70+eT6acy5KVm9yjwwAAL4XQ
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7FCD4@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com>
In-Reply-To: <g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 18:07:46 -0000

> -----Original Message-----
> From: Brian Eaton [mailto:beaton@google.com]
> Sent: Thursday, April 22, 2010 10:36 AM
> To: Eran Hammer-Lahav
> Cc: John Kemp; OAuth WG
> Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
>=20
> On Mon, Apr 19, 2010 at 3:17 PM, Eran Hammer-Lahav
> <eran@hueniverse.com> wrote:
> >> The scope doesn't have to match the base URI of the resource which
> >> the client tried and got the 401 from?
> >
> > That's a security issue we need to address (when to trust the resource
> server and reuse an existing token). We need to figure it out either way.
>=20
> Are you sure we need to figure this out?  Is it even possible to figure i=
t out?

Yes. It doesn't mean we have to solve it, but we must give developers guida=
nce on what to do or not to do. This is clearly a major part of any authent=
ication protocol - when do use a set of credentials.

Rules around realms show this is very tricky but unless we update 2617 (whi=
ch we are not chartered to do) we are still stuck with realm as a required =
parameter. One way to avoid this debate is to simply say that clients shoul=
d use realms to decide when to reuse tokens. It doesn't solve the problem, =
but it doesn't create a new one either.

As for scopes:

In a 401 response, the scope parameter tells the client what scopes the tok=
en needs to include.
In a token request, the client may tell the server what scope it desires (b=
ased on documentation or the 401 response).
In a token response, the server may tell the client the scopes included in =
the token issued.

Scope is defined as a list of opaque identifier (which can be strings or UR=
Is). Multiple scopes should be space delimited because it's the easiest cha=
racter to allow both simple names and URIs (URIs can include un-escaped com=
mas).

In other word, we need to address it, but it doesn't need to be part of the=
 scope proposal.

EHL




From beaton@google.com  Thu Apr 22 11:30:15 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 20C8F28C200 for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 11:30:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level: 
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wLYFJZKH-LNL for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 11:30:14 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 3B4D83A692B for <oauth@ietf.org>; Thu, 22 Apr 2010 11:22:12 -0700 (PDT)
Received: from hpaq3.eem.corp.google.com (hpaq3.eem.corp.google.com [10.3.21.3]) by smtp-out.google.com with ESMTP id o3MIM0A4001191 for <oauth@ietf.org>; Thu, 22 Apr 2010 11:22:00 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271960520; bh=rIiOsYZ9YRbEPBTkrKYhbtL1uGY=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=W6pJdP+eTEM2u/aKgvIqGaodjl80P7qMklkSpKJT2NNJeavIouNNOW9inVKUE+/Qz 3LOsuI/7FDyL25U0MsJVQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=xpdEyJKBMzCd6mKRQ6GIURflAjJlfYV55c6I5mUg1xfDfKLmlVHfVw2aK/ioLwAHD Hw5h3wpLcHiF/76x8crfw==
Received: from pwj3 (pwj3.prod.google.com [10.241.219.67]) by hpaq3.eem.corp.google.com with ESMTP id o3MILvEv005877 for <oauth@ietf.org>; Thu, 22 Apr 2010 20:21:58 +0200
Received: by pwj3 with SMTP id 3so1383486pwj.36 for <oauth@ietf.org>; Thu, 22 Apr 2010 11:21:57 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.142.202.10 with HTTP; Thu, 22 Apr 2010 11:21:57 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7FCD4@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FCD4@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Date: Thu, 22 Apr 2010 11:21:57 -0700
Received: by 10.142.152.8 with SMTP id z8mr222638wfd.28.1271960517385; Thu, 22  Apr 2010 11:21:57 -0700 (PDT)
Message-ID: <z2wdaf5b9571004221121m611c6a4ay6d636c440bb48d06@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 18:30:15 -0000

On Thu, Apr 22, 2010 at 11:01 AM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> Rules around realms show this is very tricky but unless we update 2617 (which we
> are not chartered to do) we are still stuck with realm as a required parameter.
> One way to avoid this debate is to simply say that clients should use realms to
> decide when to reuse tokens. It doesn't solve the problem, but it doesn't create a
> new one either.

The existing rules for realm are basically same-origin policy.  That
doesn't actually work for any of the delegated auth solutions that
OAuth2 is based on, and is meant to replace.  Telling people to use
realm is terrible, no-good, very-bad advice.

As far as I can tell, the only practical guidance we can give
developers is "follow the service provider documentation."

Cheers,
Brian

From eran@hueniverse.com  Thu Apr 22 11:36:53 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2BD8D28C19A for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 11:36:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.559
X-Spam-Level: 
X-Spam-Status: No, score=-2.559 tagged_above=-999 required=5 tests=[AWL=0.040,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id unnChJwW+Q6J for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 11:36:52 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 5A53C28C19E for <oauth@ietf.org>; Thu, 22 Apr 2010 11:30:52 -0700 (PDT)
Received: (qmail 13222 invoked from network); 22 Apr 2010 18:30:41 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 22 Apr 2010 18:30:41 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Thu, 22 Apr 2010 11:30:16 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Brian Eaton <beaton@google.com>
Date: Thu, 22 Apr 2010 11:30:06 -0700
Thread-Topic: [OAUTH-WG] 'Scope' parameter proposal
Thread-Index: AcriSL714L7VER1FRCuG3bg4byp2iQAAPv3A
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7FCFA@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FCD4@P3PW5EX1MB01.EX1.SECURESERVER.NET> <z2wdaf5b9571004221121m611c6a4ay6d636c440bb48d06@mail.gmail.com>
In-Reply-To: <z2wdaf5b9571004221121m611c6a4ay6d636c440bb48d06@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 18:36:53 -0000

What makes this so much different from Basic? Instead of using a flow the b=
rowser simply asks the user for a set of credentials. Once it has a set, it=
 reuses it based on realm.

EHL

> -----Original Message-----
> From: Brian Eaton [mailto:beaton@google.com]
> Sent: Thursday, April 22, 2010 11:22 AM
> To: Eran Hammer-Lahav
> Cc: OAuth WG
> Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
>=20
> On Thu, Apr 22, 2010 at 11:01 AM, Eran Hammer-Lahav
> <eran@hueniverse.com> wrote:
> > Rules around realms show this is very tricky but unless we update 2617
> > (which we are not chartered to do) we are still stuck with realm as a
> required parameter.
> > One way to avoid this debate is to simply say that clients should use
> > realms to decide when to reuse tokens. It doesn't solve the problem,
> > but it doesn't create a new one either.
>=20
> The existing rules for realm are basically same-origin policy.  That does=
n't
> actually work for any of the delegated auth solutions that
> OAuth2 is based on, and is meant to replace.  Telling people to use realm=
 is
> terrible, no-good, very-bad advice.
>=20
> As far as I can tell, the only practical guidance we can give developers =
is
> "follow the service provider documentation."
>=20
> Cheers,
> Brian

From beaton@google.com  Thu Apr 22 11:38:22 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 84A543A6C24 for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 11:38:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.977
X-Spam-Level: 
X-Spam-Status: No, score=-105.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pBZ9d9uGBer3 for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 11:38:21 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 739F128C218 for <oauth@ietf.org>; Thu, 22 Apr 2010 11:33:18 -0700 (PDT)
Received: from hpaq12.eem.corp.google.com (hpaq12.eem.corp.google.com [10.3.21.12]) by smtp-out.google.com with ESMTP id o3MIX5Be009485 for <oauth@ietf.org>; Thu, 22 Apr 2010 11:33:07 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271961187; bh=+L9BPGXqLUPxOEmgHFGD8Fxk+ho=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=jEX/YFoSyHra+1ge2UACd1bP4TIQ8i6cPq3NWT3TSkKX/xirs23Le+3csFwf/zUFy +WgUIvABMeiqU1P9paDHw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=PR44XWEiyJKrUXwLs/eNcEIh4lud294ZAw98VXf9Wwzjo8FjaykIgxvtISLCYesqz nEweQQoj03eMovCJ3DwQw==
Received: from pzk29 (pzk29.prod.google.com [10.243.19.157]) by hpaq12.eem.corp.google.com with ESMTP id o3MIX3Qr031953 for <oauth@ietf.org>; Thu, 22 Apr 2010 20:33:04 +0200
Received: by pzk29 with SMTP id 29so846548pzk.3 for <oauth@ietf.org>; Thu, 22 Apr 2010 11:33:03 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.142.202.10 with HTTP; Thu, 22 Apr 2010 11:33:03 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7FCFA@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FCD4@P3PW5EX1MB01.EX1.SECURESERVER.NET> <z2wdaf5b9571004221121m611c6a4ay6d636c440bb48d06@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FCFA@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Date: Thu, 22 Apr 2010 11:33:03 -0700
Received: by 10.143.154.37 with SMTP id g37mr4743805wfo.35.1271961183232; Thu,  22 Apr 2010 11:33:03 -0700 (PDT)
Message-ID: <i2ldaf5b9571004221133y75ca7739i2063cd020757d78@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 18:38:22 -0000

On Thu, Apr 22, 2010 at 11:30 AM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> What makes this so much different from Basic? Instead of using a flow the browser
> simply asks the user for a set of credentials. Once it has a set, it reuses it based on realm.

Those rules aren't practical or correct for most APIs.

Remember that basic auth was designed for people using web browsers.

From john@jkemp.net  Thu Apr 22 12:04:49 2010
Return-Path: <john@jkemp.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 43DFA3A6C7D for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 12:04:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.765
X-Spam-Level: 
X-Spam-Status: No, score=-2.765 tagged_above=-999 required=5 tests=[AWL=-0.500, BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id L7lzPgks2WSw for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 12:04:48 -0700 (PDT)
Received: from outbound-mail-313.bluehost.com (cpoproxy3-pub.bluehost.com [67.222.54.6]) by core3.amsl.com (Postfix) with SMTP id 4E8E228C1AD for <oauth@ietf.org>; Thu, 22 Apr 2010 11:39:21 -0700 (PDT)
Received: (qmail 23246 invoked by uid 0); 22 Apr 2010 18:39:11 -0000
Received: from unknown (HELO box320.bluehost.com) (69.89.31.120) by cpoproxy3.bluehost.com with SMTP; 22 Apr 2010 18:39:11 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=jkemp.net; h=Received:Subject:Mime-Version:Content-Type:From:In-Reply-To:Date:Cc:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=SjJqmbg3TSM6bxR3OOcH9FwemPmoh0SMqnD+2K36DIUZe3CWGtj7iEa704TgDpzRKGp6hSldX8FDxFNC2ilFnrqmSuYRQocumS8fTvYdWWh46N+wjgFhE27Q8tyIzeXG;
Received: from c-75-69-14-217.hsd1.vt.comcast.net ([75.69.14.217] helo=[192.168.0.64]) by box320.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from <john@jkemp.net>) id 1O51It-00016x-11; Thu, 22 Apr 2010 12:39:11 -0600
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: John Kemp <john@jkemp.net>
In-Reply-To: <g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com>
Date: Thu, 22 Apr 2010 14:39:08 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <BB02FD4F-071E-4FF5-B3D0-F8D3FA22FEEE@jkemp.net>
References: <C7F1D1FC.32809%eran@hueniverse.com> <0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com>
To: Brian Eaton <beaton@google.com>
X-Mailer: Apple Mail (2.1078)
X-Identified-User: {1122:box320.bluehost.com:jkempnet:jkemp.net} {sentby:smtp auth 75.69.14.217 authed with john+jkemp.net}
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 19:04:49 -0000

Hi Brian,

On Apr 22, 2010, at 1:36 PM, Brian Eaton wrote:

> On Mon, Apr 19, 2010 at 3:17 PM, Eran Hammer-Lahav =
<eran@hueniverse.com> wrote:
>>> The scope doesn't have to match the base URI of the resource which =
the
>>> client tried and got the 401 from?
>>=20
>> That's a security issue we need to address (when to trust the =
resource server and reuse an existing token). We need to figure it out =
either way.
>=20

[...]

> I'd rather we didn't put stuff in the OAuth 2 spec that we aren't 100%
> sure is going to work.  Ideally there should be lots of examples in
> production.

I agree.

>=20
> I do like the idea of defining the scope parameter to be a delimited
> list of otherwise opaque strings.

So what we get in OAuth is simply an agreed parameter name in which to =
carry a list of opaque strings which might be used in any way imaginable =
(ie. not documented by the spec, no model in relation to the token) with =
usage model basically as decided by the various parties at deployment =
time.=20

I'm not really seeing the *interoperability* value of that at all =
without some more rigorous description of the underlying model (note: =
I'm not saying we should necessarily make that model, but merely that =
without any described model, you don't have very much interoperability)=20=


>  Several service providers have
> already adopted this approach, and it seems to work reasonably well.

I agree that 'scope' is something that many SPs want. If they don't want =
it roughly the same way though (something more than a "bucket of opaque =
strings with a standard name") I don't know if I understand the point to =
standardizing it.=20

Even those who write libraries won't get much value since they'll have =
to provide an extension point to do whatever is needed according to the =
particular deployment here anyway, and that extension point could =
already exist without the existence of an already-named parameter for =
"scope" functionality.=20

[...]

- johnk=

From beaton@google.com  Thu Apr 22 12:10:51 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4712B28C198 for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 12:10:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.233
X-Spam-Level: 
X-Spam-Status: No, score=-105.233 tagged_above=-999 required=5 tests=[AWL=-0.744, BAYES_05=-1.11, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pPCNnuea9hqd for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 12:10:49 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 56ED128C2AB for <oauth@ietf.org>; Thu, 22 Apr 2010 11:48:06 -0700 (PDT)
Received: from wpaz1.hot.corp.google.com (wpaz1.hot.corp.google.com [172.24.198.65]) by smtp-out.google.com with ESMTP id o3MIlpN3018909 for <oauth@ietf.org>; Thu, 22 Apr 2010 11:47:51 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271962071; bh=R6KDG7bPiEBGCrIDIC0OJiPMGx0=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=bfnKO9/ljsqFh9bhmPS8/YfifD4Y723EfvdTmYb6RvhYnB1eHZu7UJd2fXyBcFjoT JkQMMiF5nBoIpRwXM5+2g==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=d/RjYRrf2crvriIlhYa4Yykx0cH5PXnWKglSnQniDjI1elYEYWrKQHszhhqqQZR2V MbHFHR5iYVGowaD+UeuHQ==
Received: from pzk14 (pzk14.prod.google.com [10.243.19.142]) by wpaz1.hot.corp.google.com with ESMTP id o3MIloZK027874 for <oauth@ietf.org>; Thu, 22 Apr 2010 11:47:50 -0700
Received: by pzk14 with SMTP id 14so538932pzk.25 for <oauth@ietf.org>; Thu, 22 Apr 2010 11:47:50 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.142.202.10 with HTTP; Thu, 22 Apr 2010 11:47:49 -0700 (PDT)
In-Reply-To: <BB02FD4F-071E-4FF5-B3D0-F8D3FA22FEEE@jkemp.net>
References: <C7F1D1FC.32809%eran@hueniverse.com> <0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com> <BB02FD4F-071E-4FF5-B3D0-F8D3FA22FEEE@jkemp.net>
Date: Thu, 22 Apr 2010 11:47:49 -0700
Received: by 10.143.169.5 with SMTP id w5mr4826649wfo.222.1271962069434; Thu,  22 Apr 2010 11:47:49 -0700 (PDT)
Message-ID: <z2gdaf5b9571004221147le5e5ab08laeaf24595dfc7f5e@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: John Kemp <john@jkemp.net>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 19:10:51 -0000

On Thu, Apr 22, 2010 at 11:39 AM, John Kemp <john@jkemp.net> wrote:
> I agree that 'scope' is something that many SPs want. If they don't want it roughly the
> same way though (something more than a "bucket of opaque strings with a standard
> name") I don't know if I understand the point to standardizing it.

Well, we've moved from "opaque string" to "bucket of opaque strings".
And from there, we could in theory move to "bucket of opaque strings
that represent privileges, and well defined ways of dropping those
privileges".

I'm not sure that counts as progress, but it might be. =)

This is hand-wavy, but the main reason I see to standardize a scope
parameter is that it helps developers with a consistent mental model
of how service providers work.  It also helps new service providers be
consistent with the way previous APIs have been built.

Cheers,
Brian

From eran@hueniverse.com  Thu Apr 22 12:13:23 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DD62028C205 for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 12:13:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.559
X-Spam-Level: 
X-Spam-Status: No, score=-2.559 tagged_above=-999 required=5 tests=[AWL=0.040,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8JF6n2FiLDpc for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 12:13:17 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 47D0028C2DF for <oauth@ietf.org>; Thu, 22 Apr 2010 11:54:39 -0700 (PDT)
Received: (qmail 8638 invoked from network); 22 Apr 2010 18:54:28 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 22 Apr 2010 18:54:28 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Thu, 22 Apr 2010 11:54:21 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Brian Eaton <beaton@google.com>, John Kemp <john@jkemp.net>
Date: Thu, 22 Apr 2010 11:54:10 -0700
Thread-Topic: [OAUTH-WG] 'Scope' parameter proposal
Thread-Index: AcriTFoA2VzeqCiSTwSsREEjmgbUgwAAGnZg
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7FD17@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com> <BB02FD4F-071E-4FF5-B3D0-F8D3FA22FEEE@jkemp.net> <z2gdaf5b9571004221147le5e5ab08laeaf24595dfc7f5e@mail.gmail.com>
In-Reply-To: <z2gdaf5b9571004221147le5e5ab08laeaf24595dfc7f5e@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 19:13:24 -0000

> -----Original Message-----
> From: Brian Eaton [mailto:beaton@google.com]
> Sent: Thursday, April 22, 2010 11:48 AM
=20
> On Thu, Apr 22, 2010 at 11:39 AM, John Kemp <john@jkemp.net> wrote:
> > I agree that 'scope' is something that many SPs want. If they don't
> > want it roughly the same way though (something more than a "bucket of
> > opaque strings with a standard
> > name") I don't know if I understand the point to standardizing it.
>=20
> Well, we've moved from "opaque string" to "bucket of opaque strings".

And that's where we should stop. That's as far as required given the way sc=
ope is widely used today.

> And from there, we could in theory move to "bucket of opaque strings that
> represent privileges, and well defined ways of dropping those privileges"=
.

We only need to make sure not to prevent it. We should not specify somethin=
g that is too limited to begin with. I don't think we have.
=20
> This is hand-wavy, but the main reason I see to standardize a scope
> parameter is that it helps developers with a consistent mental model of h=
ow
> service providers work.  It also helps new service providers be consisten=
t
> with the way previous APIs have been built.

If that is all you want to accomplish we can describe such a mechanism with=
out naming a parameter. What you are describing is prose, not normative lan=
guage.

EHL

From eran@hueniverse.com  Thu Apr 22 12:25:46 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BE2A528C307 for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 12:25:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.56
X-Spam-Level: 
X-Spam-Status: No, score=-2.56 tagged_above=-999 required=5 tests=[AWL=0.039,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uHlzJIomqnDY for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 12:25:45 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 552BF3A6CAB for <oauth@ietf.org>; Thu, 22 Apr 2010 12:08:15 -0700 (PDT)
Received: (qmail 29454 invoked from network); 22 Apr 2010 19:08:05 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 22 Apr 2010 19:08:05 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Thu, 22 Apr 2010 12:07:14 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: John Kemp <john@jkemp.net>
Date: Thu, 22 Apr 2010 12:07:05 -0700
Thread-Topic: [OAUTH-WG] 'Scope' parameter proposal
Thread-Index: AcriSyO6L4yGeuGOQm6rSIcCSXod0gAAHqtg
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7FD26@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com> <BB02FD4F-071E-4FF5-B3D0-F8D3FA22FEEE@jkemp.net>
In-Reply-To: <BB02FD4F-071E-4FF5-B3D0-F8D3FA22FEEE@jkemp.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 19:25:46 -0000

This suggests we need to rethink our goal of interop and replace it with li=
brary re-use.

To me interop means that a client can interact with an unknown server by si=
mply speaking the protocol (the way an email can be delivered to any server=
). Library re-use means that we define a set of configuration values (clien=
t identifier, endpoints, cryptographic algorithms, scope, realm policy, etc=
.) and once those are manually set (or via a discovery specification that i=
s completely out of scope) to make the library work.

If we are not going to enable a client to access a protected resource hoste=
d by an unfamiliar server, we need to stop pretending this (alone) is about=
 interop. In other words, if we take this approach we are mandating paperwo=
rk to make the protocol work, at least based on this single specification. =
We can also drop advertising the authorization and token endpoints in a 401=
 or really *any* parameter in a WWW-Authenticate response.

I'm not opposed to that, and it is in line with the charter (which left dis=
covery out).
=20
Regardless, I disagree with your conclusion that the scope proposal doesn't=
 accomplish interop. It allows a client to interact with an unknown server,=
 obtain an access token for the required scope, and access it. It doesn't a=
ddress the trust issue of when to reuse an existing token, but that's going=
 to be a problem with or without a scope. If the client never attempts to r=
euse a token but always obtain a new access token when encountering an unkn=
own server, it can interop perfectly well. And making scope a list of value=
s allows secure reuse of tokens using same-origin policy (which is still us=
eful even if limited).

OAuth 1.0 doesn't accomplish interop because it is under-specified. I have =
no problems keeping 2.0 at the same level. I just think it is premature to =
give up.

EHL

> -----Original Message-----
> From: John Kemp [mailto:john@jkemp.net]
> Sent: Thursday, April 22, 2010 11:39 AM
> To: Brian Eaton
> Cc: Eran Hammer-Lahav; OAuth WG
> Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
>=20
> Hi Brian,
>=20
> On Apr 22, 2010, at 1:36 PM, Brian Eaton wrote:
>=20
> > On Mon, Apr 19, 2010 at 3:17 PM, Eran Hammer-Lahav
> <eran@hueniverse.com> wrote:
> >>> The scope doesn't have to match the base URI of the resource which
> >>> the client tried and got the 401 from?
> >>
> >> That's a security issue we need to address (when to trust the resource
> server and reuse an existing token). We need to figure it out either way.
> >
>=20
> [...]
>=20
> > I'd rather we didn't put stuff in the OAuth 2 spec that we aren't 100%
> > sure is going to work.  Ideally there should be lots of examples in
> > production.
>=20
> I agree.
>=20
> >
> > I do like the idea of defining the scope parameter to be a delimited
> > list of otherwise opaque strings.
>=20
> So what we get in OAuth is simply an agreed parameter name in which to
> carry a list of opaque strings which might be used in any way imaginable =
(ie.
> not documented by the spec, no model in relation to the token) with usage
> model basically as decided by the various parties at deployment time.
>=20
> I'm not really seeing the *interoperability* value of that at all without=
 some
> more rigorous description of the underlying model (note: I'm not saying w=
e
> should necessarily make that model, but merely that without any described
> model, you don't have very much interoperability)
>=20
> >  Several service providers have
> > already adopted this approach, and it seems to work reasonably well.
>=20
> I agree that 'scope' is something that many SPs want. If they don't want =
it
> roughly the same way though (something more than a "bucket of opaque
> strings with a standard name") I don't know if I understand the point to
> standardizing it.
>=20
> Even those who write libraries won't get much value since they'll have to
> provide an extension point to do whatever is needed according to the
> particular deployment here anyway, and that extension point could already
> exist without the existence of an already-named parameter for "scope"
> functionality.
>=20
> [...]
>=20
> - johnk

From john@jkemp.net  Thu Apr 22 12:26:26 2010
Return-Path: <john@jkemp.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A04B03A68CC for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 12:26:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[AWL=-0.333, BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id O7j6OLP-F0YJ for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 12:26:25 -0700 (PDT)
Received: from outbound-mail-01.bluehost.com (cpoproxy1-pub.bluehost.com [69.89.21.11]) by core3.amsl.com (Postfix) with SMTP id 959343A684A for <oauth@ietf.org>; Thu, 22 Apr 2010 12:10:07 -0700 (PDT)
Received: (qmail 22899 invoked by uid 0); 22 Apr 2010 19:09:57 -0000
Received: from unknown (HELO box320.bluehost.com) (69.89.31.120) by cpoproxy1.bluehost.com with SMTP; 22 Apr 2010 19:09:57 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=jkemp.net; h=Received:Subject:Mime-Version:Content-Type:From:In-Reply-To:Date:Cc:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=c6tGGy7dtBwk2WjDOwq/YC8sD7mzu29Je0iEKGaa1s5VRlHFK2mg9/fgEey/3ujQ5LP5MrkRtXSWioBPbp6k0/AY8HP1ZVI3U7fNRtzCmf7IFD3K0Z6FZPcOKBHlAXCF;
Received: from c-75-69-14-217.hsd1.vt.comcast.net ([75.69.14.217] helo=[192.168.0.64]) by box320.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from <john@jkemp.net>) id 1O51mf-0003k7-7b; Thu, 22 Apr 2010 13:09:57 -0600
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: John Kemp <john@jkemp.net>
In-Reply-To: <z2wdaf5b9571004221121m611c6a4ay6d636c440bb48d06@mail.gmail.com>
Date: Thu, 22 Apr 2010 15:09:54 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <E4CB27E8-3882-4714-B90F-CCD0F98F3EB3@jkemp.net>
References: <C7F1D1FC.32809%eran@hueniverse.com> <0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FCD4@P3PW5EX1MB01.EX1.SECURESERVER.NET> <z2wdaf5b9571004221121m611c6a4ay6d636c440bb48d06@mail.gmail.com>
To: Brian Eaton <beaton@google.com>
X-Mailer: Apple Mail (2.1078)
X-Identified-User: {1122:box320.bluehost.com:jkempnet:jkemp.net} {sentby:smtp auth 75.69.14.217 authed with john+jkemp.net}
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 19:26:26 -0000

On Apr 22, 2010, at 2:21 PM, Brian Eaton wrote:

> On Thu, Apr 22, 2010 at 11:01 AM, Eran Hammer-Lahav =
<eran@hueniverse.com> wrote:
>> Rules around realms show this is very tricky but unless we update =
2617 (which we
>> are not chartered to do) we are still stuck with realm as a required =
parameter.
>> One way to avoid this debate is to simply say that clients should use =
realms to
>> decide when to reuse tokens. It doesn't solve the problem, but it =
doesn't create a
>> new one either.
>=20
> The existing rules for realm are basically same-origin policy.

Well, that's usually true in practice for HTTP BASIC, but looking at =
RFC2617, realm is really about telling the *user* the necessary =
credentials to access that resource. So 'realm' is supposed to be =
user-informative text, and could thus easily be something other than =
same-origin policy based. In fact the word 'realm' makes 'security =
realm' spring to mind. I don't think that by definition it excludes =
"multiple origins".=20

>  That
> doesn't actually work for any of the delegated auth solutions that
> OAuth2 is based on, and is meant to replace.  Telling people to use
> realm is terrible, no-good, very-bad advice.

Realm is intended to be information to guide a user on what credentials =
to use. OAuth is not concerned as such with credentials, it's concerned =
with authorization tokens. So I agree, we shouldn't use realm for =
something other than informing the user, should that be necessary.=20

>=20
> As far as I can tell, the only practical guidance we can give
> developers is "follow the service provider documentation."

Agree.

- johnk

>=20
> Cheers,
> Brian
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From beaton@google.com  Thu Apr 22 12:44:50 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 90CBA3A69EB for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 12:44:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.876
X-Spam-Level: 
X-Spam-Status: No, score=-101.876 tagged_above=-999 required=5 tests=[AWL=0.101, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Bcd4IJ32jYg2 for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 12:44:49 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id BE2443A6869 for <oauth@ietf.org>; Thu, 22 Apr 2010 12:36:01 -0700 (PDT)
Received: from wpaz37.hot.corp.google.com (wpaz37.hot.corp.google.com [172.24.198.101]) by smtp-out.google.com with ESMTP id o3MJZnP0013878 for <oauth@ietf.org>; Thu, 22 Apr 2010 21:35:50 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271964950; bh=d8YzrSTPTi4rf/XfKo69zgLPk74=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=rk98/xVczMmRP6hluJf7ZeappyxKgxITQyJ0ofbWuSrGjza2GzRA/0t5kufEthdM4 NrbEsEr1TNAybtnkBDpnA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=j6cH6fBmwBkwM511XvSd7/cn7Uo5eORvpOLYu6QETWmCuanlmFZoIDgn56ULct6Hy GDLIZ5HFyNx0anXtRSjsA==
Received: from pvg16 (pvg16.prod.google.com [10.241.210.144]) by wpaz37.hot.corp.google.com with ESMTP id o3MJZMGg013911 for <oauth@ietf.org>; Thu, 22 Apr 2010 12:35:48 -0700
Received: by pvg16 with SMTP id 16so734216pvg.27 for <oauth@ietf.org>; Thu, 22 Apr 2010 12:35:48 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.142.202.10 with HTTP; Thu, 22 Apr 2010 12:35:48 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7FD26@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com> <BB02FD4F-071E-4FF5-B3D0-F8D3FA22FEEE@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FD26@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Date: Thu, 22 Apr 2010 12:35:48 -0700
Received: by 10.142.67.33 with SMTP id p33mr2062415wfa.231.1271964948443; Thu,  22 Apr 2010 12:35:48 -0700 (PDT)
Message-ID: <h2ldaf5b9571004221235tb844eb6ah623955979526c1b6@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 19:44:50 -0000

On Thu, Apr 22, 2010 at 12:07 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> If we are not going to enable a client to access a protected resource hosted by an unfamiliar
> server, we need to stop pretending this (alone) is about interop. In other words, if we take
> this approach we are mandating paperwork to make the protocol work, at least based
> on this single specification. We can also drop advertising the authorization and token
> endpoints in a 401 or really *any* parameter in a WWW-Authenticate response.

I think dropping the advertisements is the right thing to do.

I'm hopeful that either PoCo or the IMAP SASL/OAuth work ends up
showing how automatic interop is possible.

But I'd hate to have OAuth2 recommend something that doesn't actually work.

Cheers,
Brian

From eran@hueniverse.com  Thu Apr 22 12:48:19 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D176E28C13F for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 12:48:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.56
X-Spam-Level: 
X-Spam-Status: No, score=-2.56 tagged_above=-999 required=5 tests=[AWL=0.039,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id K3NTqR7skLxN for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 12:48:19 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 9E6DD3A68C1 for <oauth@ietf.org>; Thu, 22 Apr 2010 12:41:23 -0700 (PDT)
Received: (qmail 8157 invoked from network); 22 Apr 2010 19:41:12 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 22 Apr 2010 19:41:12 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Thu, 22 Apr 2010 12:41:12 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Brian Eaton <beaton@google.com>
Date: Thu, 22 Apr 2010 12:41:02 -0700
Thread-Topic: [OAUTH-WG] 'Scope' parameter proposal
Thread-Index: AcriUwXUES61COq5S2Gea8MmruWSNQAAKLnw
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5C7FD4A@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com> <BB02FD4F-071E-4FF5-B3D0-F8D3FA22FEEE@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FD26@P3PW5EX1MB01.EX1.SECURESERVER.NET> <h2ldaf5b9571004221235tb844eb6ah623955979526c1b6@mail.gmail.com>
In-Reply-To: <h2ldaf5b9571004221235tb844eb6ah623955979526c1b6@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 19:48:19 -0000

Drop the 'scope' parameter as well and we're on the same page.

EHL

> -----Original Message-----
> From: Brian Eaton [mailto:beaton@google.com]
> Sent: Thursday, April 22, 2010 12:36 PM
> To: Eran Hammer-Lahav
> Cc: John Kemp; OAuth WG
> Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
>=20
> On Thu, Apr 22, 2010 at 12:07 PM, Eran Hammer-Lahav
> <eran@hueniverse.com> wrote:
> > If we are not going to enable a client to access a protected resource
> > hosted by an unfamiliar server, we need to stop pretending this
> > (alone) is about interop. In other words, if we take this approach we
> > are mandating paperwork to make the protocol work, at least based on
> > this single specification. We can also drop advertising the authorizati=
on and
> token endpoints in a 401 or really *any* parameter in a WWW-Authenticate
> response.
>=20
> I think dropping the advertisements is the right thing to do.
>=20
> I'm hopeful that either PoCo or the IMAP SASL/OAuth work ends up showing
> how automatic interop is possible.
>=20
> But I'd hate to have OAuth2 recommend something that doesn't actually
> work.
>=20
> Cheers,
> Brian

From chasen@ironmoney.com  Thu Apr 22 12:53:49 2010
Return-Path: <chasen@ironmoney.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9B2133A68CD for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 12:53:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.221
X-Spam-Level: 
X-Spam-Status: No, score=0.221 tagged_above=-999 required=5 tests=[AWL=0.709,  BAYES_05=-1.11, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MDOFxumESpCu for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 12:53:48 -0700 (PDT)
Received: from mail-pw0-f44.google.com (mail-pw0-f44.google.com [209.85.160.44]) by core3.amsl.com (Postfix) with ESMTP id 9913E3A6944 for <oauth@ietf.org>; Thu, 22 Apr 2010 12:49:29 -0700 (PDT)
Received: by pwj2 with SMTP id 2so6347002pwj.31 for <oauth@ietf.org>; Thu, 22 Apr 2010 12:49:15 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.15.68 with HTTP; Thu, 22 Apr 2010 12:49:14 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7FD26@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com> <BB02FD4F-071E-4FF5-B3D0-F8D3FA22FEEE@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FD26@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Date: Thu, 22 Apr 2010 12:49:14 -0700
Received: by 10.140.57.2 with SMTP id f2mr232536rva.210.1271965755124; Thu, 22  Apr 2010 12:49:15 -0700 (PDT)
Message-ID: <u2g4c07358b1004221249r9981bc4fm95534356fea43985@mail.gmail.com>
From: Chasen Le Hara <chasen@ironmoney.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=001636b2b01c0063dd0484d89b3c
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 19:53:49 -0000

--001636b2b01c0063dd0484d89b3c
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Thu, Apr 22, 2010 at 12:07 PM, Eran Hammer-Lahav <eran@hueniverse.com>wr=
ote:

> This suggests we need to rethink our goal of interop and replace it with
> library re-use.
>
> To me interop means that a client can interact with an unknown server by
> simply speaking the protocol (the way an email can be delivered to any
> server). Library re-use means that we define a set of configuration value=
s
> (client identifier, endpoints, cryptographic algorithms, scope, realm
> policy, etc.) and once those are manually set (or via a discovery
> specification that is completely out of scope) to make the library work.
>
> If we are not going to enable a client to access a protected resource
> hosted by an unfamiliar server, we need to stop pretending this (alone) i=
s
> about interop. In other words, if we take this approach we are mandating
> paperwork to make the protocol work, at least based on this single
> specification. We can also drop advertising the authorization and token
> endpoints in a 401 or really *any* parameter in a WWW-Authenticate respon=
se.
>

In my case, the proposed "bucket of opaque strings separated by spaces" doe=
s
enable a client to access protected resources without knowing the details o=
f
Iron Money=E2=80=99s permission system.

In 1.0, there was no set way of doing scope/permissions, which led me to a
custom solution in which it=E2=80=99s not possible to access any protected =
resources
without reading the documentation. With scope, the client wouldn=E2=80=99t =
need to
know anything about the permission system; Iron Money could simply reply
with the required scope values to access the resource.

It seems as if this would also fit Facebook=E2=80=99s requirements, and I=
=E2=80=99m guessing
this would fit the bill for most service providers as well.
-Chasen

--001636b2b01c0063dd0484d89b3c
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Thu, Apr 22, 2010 at 12:07 PM, Eran Hammer-Lahav <span dir=3D"ltr">&lt;<=
a href=3D"mailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt;</span> wr=
ote:<br><div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
This suggests we need to rethink our goal of interop and replace it with li=
brary re-use.<br>
<br>
To me interop means that a client can interact with an unknown server by si=
mply speaking the protocol (the way an email can be delivered to any server=
). Library re-use means that we define a set of configuration values (clien=
t identifier, endpoints, cryptographic algorithms, scope, realm policy, etc=
.) and once those are manually set (or via a discovery specification that i=
s completely out of scope) to make the library work.<br>

<br>
If we are not going to enable a client to access a protected resource hoste=
d by an unfamiliar server, we need to stop pretending this (alone) is about=
 interop. In other words, if we take this approach we are mandating paperwo=
rk to make the protocol work, at least based on this single specification. =
We can also drop advertising the authorization and token endpoints in a 401=
 or really *any* parameter in a WWW-Authenticate response.<br>
</blockquote><div><br></div><div>In my case, the proposed &quot;bucket of o=
paque strings separated by spaces&quot; does enable a client to access prot=
ected resources without knowing the details of Iron Money=E2=80=99s permiss=
ion system.</div>
<div><br></div><div>In 1.0, there was no set way of doing scope/permissions=
, which led me to a custom solution in which it=E2=80=99s not possible to a=
ccess any protected resources without reading the documentation.=C2=A0With =
scope, the client wouldn=E2=80=99t need to know anything about the permissi=
on system; Iron Money could simply reply with the required scope values to =
access the resource.</div>
<div><br></div><div>It seems as if this would also fit Facebook=E2=80=99s r=
equirements, and I=E2=80=99m guessing this would fit the bill for most serv=
ice providers as well.</div><div>-Chasen</div></div>

--001636b2b01c0063dd0484d89b3c--

From beaton@google.com  Thu Apr 22 13:50:42 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D827C3A695D for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 13:50:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.903
X-Spam-Level: 
X-Spam-Status: No, score=-105.903 tagged_above=-999 required=5 tests=[AWL=0.074, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 96TO82jNMwM8 for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 13:50:41 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id A71D63A693A for <oauth@ietf.org>; Thu, 22 Apr 2010 13:50:39 -0700 (PDT)
Received: from hpaq3.eem.corp.google.com (hpaq3.eem.corp.google.com [10.3.21.3]) by smtp-out.google.com with ESMTP id o3MKoPgk007937 for <oauth@ietf.org>; Thu, 22 Apr 2010 13:50:27 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271969427; bh=2nH81pOXBzTnzZkLp5SmzASApoQ=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=LoWKSzZeufJZzs7CupCLeCqqSBg8B/Njo7VRK/oqM44b8kiI74+FaKS0H1nL1KoK0 Yx1X76IiawZh0+x8rX27Q==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=QxLur+nGNN1kszZyLP/KdYl3E90C4e4tYOwdsArrX9V5aecHpPDrUyGZqhCJLkcSn 0v/Oh9Sx7lEelfagSooAg==
Received: from pvg3 (pvg3.prod.google.com [10.241.210.131]) by hpaq3.eem.corp.google.com with ESMTP id o3MKoNqO007279 for <oauth@ietf.org>; Thu, 22 Apr 2010 22:50:24 +0200
Received: by pvg3 with SMTP id 3so1328096pvg.40 for <oauth@ietf.org>; Thu, 22 Apr 2010 13:50:23 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.142.202.10 with HTTP; Thu, 22 Apr 2010 13:50:22 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7FD4A@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com> <BB02FD4F-071E-4FF5-B3D0-F8D3FA22FEEE@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FD26@P3PW5EX1MB01.EX1.SECURESERVER.NET> <h2ldaf5b9571004221235tb844eb6ah623955979526c1b6@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FD4A@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Date: Thu, 22 Apr 2010 13:50:22 -0700
Received: by 10.142.74.9 with SMTP id w9mr4915278wfa.305.1271969423017; Thu,  22 Apr 2010 13:50:23 -0700 (PDT)
Message-ID: <l2idaf5b9571004221350oa0dbeb11ndeb4cb9147407ba9@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 20:50:43 -0000

On Thu, Apr 22, 2010 at 12:41 PM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> Drop the 'scope' parameter as well and we're on the same page.

So we have a choice between

a) not documenting something that a bunch of providers have already
implemented and found useful
   or
b) documenting something that no one has built yet, and that might not
actually work

Bummer. =)

From eran@hueniverse.com  Thu Apr 22 13:59:48 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2E9223A6858 for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 13:59:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.56
X-Spam-Level: 
X-Spam-Status: No, score=-2.56 tagged_above=-999 required=5 tests=[AWL=0.039,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZCbwKb0qjjaQ for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 13:59:47 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 275163A66B4 for <oauth@ietf.org>; Thu, 22 Apr 2010 13:59:46 -0700 (PDT)
Received: (qmail 28323 invoked from network); 22 Apr 2010 20:59:35 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 22 Apr 2010 20:59:35 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Thu, 22 Apr 2010 13:59:31 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Brian Eaton <beaton@google.com>
Date: Thu, 22 Apr 2010 13:59:18 -0700
Thread-Topic: [OAUTH-WG] 'Scope' parameter proposal
Thread-Index: AcriXrPgKJ1s5F9SRNSi+IotP0mzyw==
Message-ID: <349B4587-7478-4747-AEB1-6888FD1D1EFA@hueniverse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 20:59:48 -0000

My proposal is just that, a proposal. And it is an attemp to get =20
closer to how most companies plan to use it. We have no consensus on =20
defining a prameter name without defining a value.

Got new ideas?

EHL

On Apr 22, 2010, at 13:50, "Brian Eaton" <beaton@google.com> wrote:

> On Thu, Apr 22, 2010 at 12:41 PM, Eran Hammer-Lahav <eran@hueniverse.com=
=20
> > wrote:
>> Drop the 'scope' parameter as well and we're on the same page.
>
> So we have a choice between
>
> a) not documenting something that a bunch of providers have already
> implemented and found useful
>   or
> b) documenting something that no one has built yet, and that might not
> actually work
>
> Bummer. =3D)

From eve@xmlgrrl.com  Thu Apr 22 16:25:02 2010
Return-Path: <eve@xmlgrrl.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 254D63A6950 for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 16:25:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.207
X-Spam-Level: 
X-Spam-Status: No, score=0.207 tagged_above=-999 required=5 tests=[AWL=1.500,  BAYES_00=-2.599, FROM_DOMAIN_NOVOWEL=0.5, SARE_URI_CONS7=0.306,  URI_NOVOWEL=0.5]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yyCTinEsg6Y6 for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 16:25:00 -0700 (PDT)
Received: from mail.promanage-inc.com (eliasisrael.com [98.111.84.13]) by core3.amsl.com (Postfix) with ESMTP id B46723A6783 for <oauth@ietf.org>; Thu, 22 Apr 2010 16:24:51 -0700 (PDT)
Received: from [192.168.168.198] ([192.168.168.198]) (authenticated bits=0) by mail.promanage-inc.com (8.14.3/8.14.3) with ESMTP id o3MNOatp009725 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Thu, 22 Apr 2010 16:24:36 -0700
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: Eve Maler <eve@xmlgrrl.com>
In-Reply-To: <h2ldaf5b9571004221235tb844eb6ah623955979526c1b6@mail.gmail.com>
Date: Thu, 22 Apr 2010 16:24:36 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <AA9121DB-F21A-4FFB-8D2C-3E3AD379B9BE@xmlgrrl.com>
References: <C7F1D1FC.32809%eran@hueniverse.com> <0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com> <BB02FD4F-071E-4FF5-B3D0-F8D3FA22FEEE@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FD26@P3PW5EX1MB01.EX1.SECURESERVER.NET> <h2ldaf5b9571004221235tb844eb6ah623955979526c1b6@mail.gmail.com>
To: OAuth WG <oauth@ietf.org>
X-Mailer: Apple Mail (2.1078)
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 23:25:02 -0000

I'm getting whiplash. :)  Some of us are working on UMA implementations =
based on the ever-changing OAuth substrate, and just discussed being =
glad we could reuse OAuth's advertisement of these two endpoints rather =
than inventing our own mechanism. If it goes, I guess we'll have to go =
back to defining a way to indicate it in Authz Manager (~AS) hostmeta so =
that the Host (~Resource Server) can pick it up and tell the Requester =
(~Client) where to go.

FWIW,

	Eve

On 22 Apr 2010, at 12:35 PM, Brian Eaton wrote:

> On Thu, Apr 22, 2010 at 12:07 PM, Eran Hammer-Lahav =
<eran@hueniverse.com> wrote:
>> If we are not going to enable a client to access a protected resource =
hosted by an unfamiliar
>> server, we need to stop pretending this (alone) is about interop. In =
other words, if we take
>> this approach we are mandating paperwork to make the protocol work, =
at least based
>> on this single specification. We can also drop advertising the =
authorization and token
>> endpoints in a 401 or really *any* parameter in a WWW-Authenticate =
response.
>=20
> I think dropping the advertisements is the right thing to do.
>=20
> I'm hopeful that either PoCo or the IMAP SASL/OAuth work ends up
> showing how automatic interop is possible.
>=20
> But I'd hate to have OAuth2 recommend something that doesn't actually =
work.
>=20
> Cheers,
> Brian
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


Eve Maler
eve@xmlgrrl.com
http://www.xmlgrrl.com/blog


From beaton@google.com  Thu Apr 22 16:49:33 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BD0B93A6858 for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 16:49:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.584
X-Spam-Level: 
X-Spam-Status: No, score=-100.584 tagged_above=-999 required=5 tests=[AWL=-1.207, BAYES_50=0.001, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id osmfHDM5vRok for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 16:49:33 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 153CF3A6973 for <oauth@ietf.org>; Thu, 22 Apr 2010 16:49:31 -0700 (PDT)
Received: from kpbe19.cbf.corp.google.com (kpbe19.cbf.corp.google.com [172.25.105.83]) by smtp-out.google.com with ESMTP id o3MNnJtY017752 for <oauth@ietf.org>; Fri, 23 Apr 2010 01:49:20 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271980160; bh=76QTFG6QJB/cLlzUmlHQFRubkjs=; h=MIME-Version:Date:Message-ID:Subject:From:To:Content-Type: Content-Transfer-Encoding; b=IangMcnp4yfm0cq/AWdDkentjmWXPOkRZkc0RLv9fjFK+QFCbk0tzDOPx3/U971Ii oYEPOuWW7IUgvPNrs8S3g==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:date:message-id:subject:from:to:content-type: content-transfer-encoding:x-system-of-record; b=nYsHExWa9DxmWg6kkweQ0bVxXReAZpzheTPBlHNHpvARbiLMswoSS1Gowm6OA7Kx2 lTaUmtSZq0D51QHov52mg==
Received: from pvg11 (pvg11.prod.google.com [10.241.210.139]) by kpbe19.cbf.corp.google.com with ESMTP id o3MNnH2w028372 for <oauth@ietf.org>; Thu, 22 Apr 2010 16:49:18 -0700
Received: by pvg11 with SMTP id 11so7654119pvg.0 for <oauth@ietf.org>; Thu, 22 Apr 2010 16:49:17 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.142.202.10 with HTTP; Thu, 22 Apr 2010 16:49:17 -0700 (PDT)
Date: Thu, 22 Apr 2010 16:49:17 -0700
Received: by 10.143.179.6 with SMTP id g6mr4993980wfp.21.1271980157395; Thu,  22 Apr 2010 16:49:17 -0700 (PDT)
Message-ID: <i2odaf5b9571004221649h733f675bva2f9f4438ef43921@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: oauth@ietf.org
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Subject: [OAUTH-WG] device profile comments
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Apr 2010 23:49:33 -0000

I'm going through the April 21 draft and making notes...  Most of them
are of the "what color should the bike shed be" variety, but I think
the device profile needs real changes.

The verification URI has to be short and memorable, because users have
to type it.

Different devices are probably going to end up needing different
verification URIs, for branding reasons.  (For example, the approval
page should say =93link your Google account to your Foo device=94)

Different devices are probably going to need different callback URLs.
In usability studies on desktop apps [1] we found that it was
important that users be told what to do after they had clicked "OK".
We dealt with that by finding ways for desktop apps to receive
callback URLs.  For apps which can't open a web browser [2], it seems
likely that we're going to want to give users instructions on what to
do next.  It really helps to give users a clue that they should go
back to the device that requested approval.

So I=92d propose changing the profile as follows:

- Client requests device code by sending type=3Ddevice and client_id=3D<id>

- Authorization server doesn=92t return approval URL - device hard-codes
this instead.
   I expect that this will point to a manufacturer specific page, and
that the manufacturer specific page will automatically redirect to a
page on the authorization server.

- Approval URL MUST have client_id, and MAY have callback.
   I expect that the client_id will be used to brand the approval
page, and that the callback will point to a manufacturer specific
completion page.

Plus a few comments on error codes:

=93End User Authorization Pending or Expired=94 - authorization server
probably isn=92t going to be able to tell whether a code has expired, or
was never issued.  Probably just return =93unknown_code=94.

The =93slow_down=94 error probably merits an =93interval=94.  Maybe always
return =93interval=94 with authorization_pending, and eliminate the
slow_down error code entirely?

Cheers,
Brian

[1] http://sites.google.com/site/oauthgoog/UXFedLogin/desktopapps
[2] http://sites.google.com/site/oauthgoog/UXFedLogin/nobrowser

From beaton@google.com  Thu Apr 22 17:43:10 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A154A3A680A for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 17:43:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.609
X-Spam-Level: 
X-Spam-Status: No, score=-104.609 tagged_above=-999 required=5 tests=[AWL=-1.232, BAYES_50=0.001, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id W+KvWCIX9IAO for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 17:43:09 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 4905F3A67C0 for <oauth@ietf.org>; Thu, 22 Apr 2010 17:43:09 -0700 (PDT)
Received: from hpaq11.eem.corp.google.com (hpaq11.eem.corp.google.com [10.3.21.11]) by smtp-out.google.com with ESMTP id o3N0gvVg024391 for <oauth@ietf.org>; Thu, 22 Apr 2010 17:42:57 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271983377; bh=pzJJ76dYHUVOahcR9R7LeWezNHM=; h=MIME-Version:Date:Message-ID:Subject:From:To:Content-Type: Content-Transfer-Encoding; b=vUzgUgNtpTtd33C0BzRSFurBtoqWqJQ5yTzOSqPeoWQSQ4/UwahjyGlD/y6Pifn4k evTMGGTOR3vrHxyWTTntQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:date:message-id:subject:from:to:content-type: content-transfer-encoding:x-system-of-record; b=BOWbtkHi8kanGcJbXMHdI0r3+5djBU/QjSyqNdKVyy5NMTFiKjw00uZlqgqnXM/be mwrtGMARqlZzmjaGKffnw==
Received: from pxi2 (pxi2.prod.google.com [10.243.27.2]) by hpaq11.eem.corp.google.com with ESMTP id o3N0gtW2028859 for <oauth@ietf.org>; Fri, 23 Apr 2010 02:42:55 +0200
Received: by pxi2 with SMTP id 2so698494pxi.30 for <oauth@ietf.org>; Thu, 22 Apr 2010 17:42:54 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.142.202.10 with HTTP; Thu, 22 Apr 2010 17:42:54 -0700 (PDT)
Date: Thu, 22 Apr 2010 17:42:54 -0700
Received: by 10.142.119.20 with SMTP id r20mr5044504wfc.15.1271983374515; Thu,  22 Apr 2010 17:42:54 -0700 (PDT)
Message-ID: <w2udaf5b9571004221742o19b88819m37d8b80a4882c97b@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: oauth@ietf.org
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Subject: [OAUTH-WG] misc comments on draft
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 00:43:10 -0000

Just went through the draft - it is coming along nicely.  Thanks!

This is all comments on language.  I have a few more substantive
comments that I will send separately.

=93or to limit access to the methods supported by these resources.=94

This didn=92t parse for me.

=93The use of OAuth with any other transport protocol than HTTP
[RFC2616] (or HTTP over TLS 1.0 as defined by [RFC2818] is undefined.=94

Why even say this?  Should we also rule out the use of OAuth as laundry soa=
p?

=93authorization endpoint=94 and =93token endpoint=94

Maybe call these =93authorization URL=94 and =93token URL=94?

access token definition is: =93A unique identifier used by the client=94

I agree with Dick, tokens are not identifiers.

=93These authorization flows can be separated into three groups:=94

This is really dense text, might be worth a bit more prose here.



=93User-Agent Flow - This flow is designed for clients running inside a
user-agent (typically a web browser), and therefore cannot receive
incoming requests from the authorization server.=94

This just ain=92t true.  These clients can receive HTTP redirects, the
exact same way that a web server can.  How about

=93User-Agent flow - this flow is designed for clients running inside a
web browser.  The flow is optimized for clients that cannot use client
secrets and must run without server-side code.=94

And for the web server flow...

=93This flow is designed for clients running inside an HTTP server.=94

There is a typo in the description of the device flow

=93Device Flow - This flow is suitable for clients executing on devices
that cannot open a web browser, but where the end user has separate
access to a web browser on another computer.=94



=93When issuing an access token, the scope, duration, and other access
attributes granted by the resource owner must be retained and enforced
by the resource server when receiving a protected resource request and
by the authorization server when receiving a token refresh request
made with the access token issued.=94

That=92s a mouthful.  How about

=93Authorization servers issue tokens with scope, duration, and other
access attributes granted by the resource owner.  These restrictions
must be enforced by the resource server when receiving protected
resource requests, and by the authorization server when receiving
token refresh requests.=94
=0B
=93the resource owner first authenticate with=94

typo.  =93The resource owner first authenticates with=94

=93 include a query components=94
typo.  =93include a query component=94, or =93include query components=94


=93Clients should avoid making assumptions about the size of tokens and
other values received from the authorization server, which are left
undefined by this specification. Servers should document the expected
size of any value they issue.=94

I had trouble parsing this.

How about =93Token size limits are undefined by this specification.
Clients should avoid making assumptions about the size of tokens
received from the authorization server.  Servers should document the
expected sizes of tokens they issue.=94


Client Credentials:

=93symmetric shared secrets=94... this seems to make assumptions about
HMAC being used.  Not sure I have something constructive to say.

typo.  How about =93Authorization servers SHOULD NOT issue client
secrets to clients incapable of keeping their secrets confidential.=94


3.5.1 User-Agent Flow

Same complaints as earlier about the description of the user-agent
flow in the introduction...

=93client is incapable of receiving incoming requests=94 -- this isn=92t tr=
ue.

=93the access token is encoded into the redirection URI which exposes it
to the end user and other applications residing on the computer or
device.=94 -- this isn=92t necessarily true, depends on the device.

=93authenticates the end user (via the user-agent)=94 - do we need to say t=
his?

Step D in the flow (fetch to web server) often doesn=92t happen, the
script tends to be cached on the user-agent.

Proposed alternate text:

The user-agent flow is a user delegation flow suitable for client
applications residing in a user-agent, typically implemented in a
browser using a scripting language such as JavaScript.  These clients
cannot keep client secrets confidential, and cannot interact directly
with authorization and resource servers.  Communication is based on
browser redirects, and authentication of the client is based on the
browser same-origin policy.


a) The client sends the user-agent to the authorization server and
includes its client identifier and redirection URI in the request.

b) authorization server establishes whether the end user grants or
denies the client's access request.

c) Assuming the end user granted access, the authorization server
redirects the user-agent to the redirection URI provided earlier. The
redirection URI includes the access token in the URI fragment.

d) script on the user-agent extracts and uses the access token.


=93parameter value MUST be set to user_agent (case sensitive).=94  - Do we
need to say case sensitive everywhere we mean case sensitive?  Perhaps
early on in the doc we should state that all parameters and values are
case sensitive unless stated otherwise?

=93SOULD=94 -> SHOULD

=93The redirection URI MUST NOT includes a query component as defined by
[RFC3986] section 3 if the state parameter is present.=94 -> Wow.  This
is convoluted.  How did we get here?

=93secret_type=94 - wouldn=92t this flow always return a bearer token?


Web Server Flow comments

=93The verification code SHOULD expire shortly after it is issued and
allowed for a single use.=94

How about =93The verification code MUST expire shortly after it is
issued.  Verification codes MAY be single use tokens.=94

=93using an HTTP redirection response, or by other means available to it
via the end user's user-agent.=94 - can we simplify this text?  It
occurs in several places, and it always strikes me as redundant.
Maybe omit it entirely?

Definition of bearer token =93a bearer token (an access token without a
matching secret)=94... this strikes me as a pretty important concept.
Maybe move it up into the definitions section?

=93OPTIONAL. The parameter value MUST be set to either
redirect_uri_mismatch or expired_verification_code (case sensitive).=94

There are other error cases, e.g. a bad client id, or a bad client
secret.  Also note that authorization servers are unlikely to store
state about expired verification codes.  It won=92t be possible to tell
whether a verification code has expired, or was never issued in the
first place.  How about these errors:
   redirect_uri_mismatch: it=92s gonna happen.
   client_authentication_failure: if client id or client secret is wrong
   bad_verification_code


Device Profile comments - sent separately.


End User Credential Flows

=93 (typically a username and password)=94... always a username and
password, otherwise the protocol doesn=92t work at all.

There is only a single flow defined in the spec, so might as well
compress this section to =93Username and Password Delegation Flow=94

The spec should define what the =93unauthorized_client=94 error code means?


Autonomous Client Flows

Client secret flow:
=93memorize=94 -> =93memorized=94

Can we change the type field to be =93client_credentials=94 instead of =93c=
lient_cred=94

What does =93unauthorized_client=94 mean in this context?

Assertion profile:
What does unauthorized_client mean in this context?


Accessing a protected resource

=93matchin secret=94

=93When an access token includes a matching secret, the secret is not
included directly in the request but=94 <and the sentence ends>

URI Query Parameter

Typos:  and its includes the requested resource

That typo is repeated one or two other places.

Cheers,
Brian

From beaton@google.com  Thu Apr 22 17:45:14 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D3BD13A680A for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 17:45:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.053
X-Spam-Level: 
X-Spam-Status: No, score=-101.053 tagged_above=-999 required=5 tests=[AWL=-0.565, BAYES_05=-1.11, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XrBHa4zsZX3U for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 17:45:14 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 2ED613A689A for <oauth@ietf.org>; Thu, 22 Apr 2010 17:45:13 -0700 (PDT)
Received: from hpaq5.eem.corp.google.com (hpaq5.eem.corp.google.com [10.3.21.5]) by smtp-out.google.com with ESMTP id o3N0j2ce026698 for <oauth@ietf.org>; Fri, 23 Apr 2010 02:45:02 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1271983502; bh=2bUQx3Fwh8V4xvuJUfr/nOwV1+o=; h=MIME-Version:Date:Message-ID:Subject:From:To:Content-Type: Content-Transfer-Encoding; b=sM21suNgJJIrSi7qvNMqfgnz6uroGBoBONWyYP1qUi8euHI8q8TAXVoNwQfOdibPW RlKma9/bFveN0ZMKYfKBQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:date:message-id:subject:from:to:content-type: content-transfer-encoding:x-system-of-record; b=anQwuesUNfW9iL1O3uAC5pcQGlT3z7QTdsYP/7in5RGkl5GpIXC9wWBVDYIxsPr3B 4LbKGMR0CK0TAy/kIKafQ==
Received: from pwj8 (pwj8.prod.google.com [10.241.219.72]) by hpaq5.eem.corp.google.com with ESMTP id o3N0ixgA027359 for <oauth@ietf.org>; Fri, 23 Apr 2010 02:45:00 +0200
Received: by pwj8 with SMTP id 8so6212452pwj.10 for <oauth@ietf.org>; Thu, 22 Apr 2010 17:44:59 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.142.202.10 with HTTP; Thu, 22 Apr 2010 17:44:58 -0700 (PDT)
Date: Thu, 22 Apr 2010 17:44:58 -0700
Received: by 10.142.56.21 with SMTP id e21mr405110wfa.327.1271983498857; Thu,  22 Apr 2010 17:44:58 -0700 (PDT)
Message-ID: <q2gdaf5b9571004221744ya2323eaav8cc1394af5d32b85@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: oauth@ietf.org
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Subject: [OAUTH-WG] username password delegation profile
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 00:45:14 -0000

A couple of comments on this profile.

1) Error URL

I noticed that there was wide consensus that returning a
captcha-specific error was not going to be useful.  That matches our
experience with ClientLogin [1] - very few developers properly handle
captcha.  And if a developer is sophisticated enough to handle
Captchas, I would rather they just used a web browser in the first
place.

However, lots of developers do tell users to visit the URL we return
in our error response.  This is often sufficient to resolve whatever
problems are happening with the user=92s account.  So I=92d like to see an
optional =93url=94 parameter returned with the =93invalid_credentials=94 er=
ror
code.  Clients should instruct the user to visit that URL.

2) Is anyone actually going to implement this flow and not return a
refresh token?

Cheers,
Brian

[1] http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html

From recordond@gmail.com  Thu Apr 22 17:58:59 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0C9313A686D for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 17:58:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.669
X-Spam-Level: 
X-Spam-Status: No, score=-1.669 tagged_above=-999 required=5 tests=[AWL=-0.930, BAYES_20=-0.74, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gsv+kE75ywLk for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 17:58:57 -0700 (PDT)
Received: from mail-iw0-f194.google.com (mail-iw0-f194.google.com [209.85.223.194]) by core3.amsl.com (Postfix) with ESMTP id B67E73A67AD for <oauth@ietf.org>; Thu, 22 Apr 2010 17:58:57 -0700 (PDT)
Received: by iwn32 with SMTP id 32so5915378iwn.18 for <oauth@ietf.org>; Thu, 22 Apr 2010 17:58:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type; bh=kvtwhw5ux+XrKkz5PWtJR6xhBINMGwb49t3+CWdRwlc=; b=Paqto+rB80ayZKf9zbDy7sHowN9X/1uguDrmPK7UgDHvXl6tCtnaQY64lOP5kCoL0V VqzyRc4GImHQ6QPQkXu2jmPn1xVwmkCMj2uSCZAcuD25L1hwkm1CUMsNwkmIlGIODAiJ rXMRtM3YtCuKm9NK2wtnYTuu6dMkeQoFxUMP8=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=CNfTCKV6cyPM9XTv7xYyfOJibfTYnPEaLKXJdzhBzd/3ZvXJAVyYKYz9dFMTz/ojlR zhkEcTUqGdpbX0qPskOp/yqJLMXANDNzHfNyrFHHUH/2jitnTwdfMAitVSrBfIJxE3ub fkDoq1JQDI5G2j8YsR8CjVXqlaB7a0wFsdLzU=
MIME-Version: 1.0
Received: by 10.231.182.196 with HTTP; Thu, 22 Apr 2010 17:58:44 -0700 (PDT)
In-Reply-To: <i2odaf5b9571004221649h733f675bva2f9f4438ef43921@mail.gmail.com>
References: <i2odaf5b9571004221649h733f675bva2f9f4438ef43921@mail.gmail.com>
Date: Thu, 22 Apr 2010 17:58:44 -0700
Received: by 10.231.172.209 with SMTP id m17mr521035ibz.33.1271984324496; Thu,  22 Apr 2010 17:58:44 -0700 (PDT)
Message-ID: <y2kfd6741651004221758y7d207961we2a6d1e65e6dd279@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Brian Eaton <beaton@google.com>
Content-Type: multipart/alternative; boundary=001636c92ccfd24e560484dced43
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] device profile comments
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 00:58:59 -0000

--001636c92ccfd24e560484dced43
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

Thanks!


On Thu, Apr 22, 2010 at 4:49 PM, Brian Eaton <beaton@google.com> wrote:
>
> So I=92d propose changing the profile as follows:
>
> - Client requests device code by sending type=3Ddevice and client_id=3D<i=
d>
>

I might be reading something different than you are, but according to
http://tools.ietf.org/html/draft-hammer-oauth2-00#section-3.5.3.1 those are
the parameters included.



> - Authorization server doesn=92t return approval URL - device hard-codes
> this instead.
>   I expect that this will point to a manufacturer specific page, and
> that the manufacturer specific page will automatically redirect to a
> page on the authorization server.
>

By having the Authorization Server pass the Client the approval URL it's
much easier to change over the lifetime of a living room device. This could
be in your application settings (for Facebook's usage) if it's pointing to =
a
page on the manufacturer's site. Or it gives the Authorization Server the
ability to change it if they're hosting the page.



> - Approval URL MUST have client_id, and MAY have callback.
>   I expect that the client_id will be used to brand the approval
> page, and that the callback will point to a manufacturer specific
> completion page.
>

I don't fully understand what you're proposing. The device would show a
screen which tells the user to visit http://fb.me/xbox and enter the code
123456. (Or to visit http://xbox.com/fb.) Asking a user to go to
http://goo.gl/?client_id=3Dbndi12boi1 seems like it's prone to user error.


Plus a few comments on error codes:
>
> =93End User Authorization Pending or Expired=94 - authorization server
> probably isn=92t going to be able to tell whether a code has expired, or
> was never issued.  Probably just return =93unknown_code=94.
>
> The =93slow_down=94 error probably merits an =93interval=94.  Maybe alway=
s
> return =93interval=94 with authorization_pending, and eliminate the
> slow_down error code entirely?
>
> Cheers,
> Brian
>
> [1] http://sites.google.com/site/oauthgoog/UXFedLogin/desktopapps
> [2] http://sites.google.com/site/oauthgoog/UXFedLogin/nobrowser
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--001636c92ccfd24e560484dced43
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

<div class=3D"gmail_quote">Thanks!</div><div class=3D"gmail_quote"><br></di=
v><div class=3D"gmail_quote"><br></div><div class=3D"gmail_quote">On Thu, A=
pr 22, 2010 at 4:49 PM, Brian Eaton <span dir=3D"ltr">&lt;<a href=3D"mailto=
:beaton@google.com">beaton@google.com</a>&gt;</span> wrote:<blockquote clas=
s=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;pad=
ding-left:1ex;">

So I=92d propose changing the profile as follows:<br>
<br>
- Client requests device code by sending type=3Ddevice and client_id=3D&lt;=
id&gt;<br></blockquote><div><br></div><div>I might be reading something dif=
ferent than you are, but according to=A0<a href=3D"http://tools.ietf.org/ht=
ml/draft-hammer-oauth2-00#section-3.5.3.1">http://tools.ietf.org/html/draft=
-hammer-oauth2-00#section-3.5.3.1</a>=A0those are the parameters included.<=
/div>
<div><br></div><div>=A0</div><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">- Authorizatio=
n server doesn=92t return approval URL - device hard-codes<br>
this instead.<br>
 =A0 I expect that this will point to a manufacturer specific page, and<br>
that the manufacturer specific page will automatically redirect to a<br>
page on the authorization server.<br></blockquote><div><br></div><div>By ha=
ving the Authorization Server pass the Client the approval URL it&#39;s muc=
h easier to change over the lifetime of a living room device. This could be=
 in your application settings (for Facebook&#39;s usage) if it&#39;s pointi=
ng to a page on the manufacturer&#39;s site. Or it gives the Authorization =
Server the ability to change it if they&#39;re hosting the page.</div>
<div><br></div><div>=A0</div><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">- Approval URL=
 MUST have client_id, and MAY have callback.<br>
 =A0 I expect that the client_id will be used to brand the approval<br>
page, and that the callback will point to a manufacturer specific<br>
completion page.<br></blockquote><div><br></div><div>I don&#39;t fully unde=
rstand what you&#39;re proposing. The device would show a screen which tell=
s the user to visit <a href=3D"http://fb.me/xbox">http://fb.me/xbox</a> and=
 enter the code 123456. (Or to visit <a href=3D"http://xbox.com/fb">http://=
xbox.com/fb</a>.) Asking a user to go to <a href=3D"http://goo.gl/?client_i=
d=3Dbndi12boi1">http://goo.gl/?client_id=3Dbndi12boi1</a> seems like it&#39=
;s prone to user error.</div>
<div>=A0</div><div><br></div><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Plus a few com=
ments on error codes:<br>
<br>
=93End User Authorization Pending or Expired=94 - authorization server<br>
probably isn=92t going to be able to tell whether a code has expired, or<br=
>
was never issued. =A0Probably just return =93unknown_code=94.<br>
<br>
The =93slow_down=94 error probably merits an =93interval=94. =A0Maybe alway=
s<br>
return =93interval=94 with authorization_pending, and eliminate the<br>
slow_down error code entirely?<br>
<br>
Cheers,<br>
Brian<br>
<br>
[1] <a href=3D"http://sites.google.com/site/oauthgoog/UXFedLogin/desktopapp=
s" target=3D"_blank">http://sites.google.com/site/oauthgoog/UXFedLogin/desk=
topapps</a><br>
[2] <a href=3D"http://sites.google.com/site/oauthgoog/UXFedLogin/nobrowser"=
 target=3D"_blank">http://sites.google.com/site/oauthgoog/UXFedLogin/nobrow=
ser</a><br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</blockquote></div><br>

--001636c92ccfd24e560484dced43--

From James.H.Manger@team.telstra.com  Thu Apr 22 18:12:13 2010
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 10CF53A6841 for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 18:12:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.963
X-Spam-Level: 
X-Spam-Status: No, score=0.963 tagged_above=-999 required=5 tests=[AWL=-0.550,  BAYES_40=-0.185, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id F-T2xGb-lAei for <oauth@core3.amsl.com>; Thu, 22 Apr 2010 18:12:10 -0700 (PDT)
Received: from ipxcvo.tcif.telstra.com.au (ipxcvo.tcif.telstra.com.au [203.35.135.208]) by core3.amsl.com (Postfix) with ESMTP id 054953A67F7 for <oauth@ietf.org>; Thu, 22 Apr 2010 18:12:08 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.52,259,1270389600";  d="scan'208";a="1649191"
Received: from unknown (HELO ipccvi.tcif.telstra.com.au) ([10.97.217.208]) by ipocvi.tcif.telstra.com.au with ESMTP; 23 Apr 2010 11:11:57 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,5960"; a="1082828"
Received: from wsmsg3706.srv.dir.telstra.com ([172.49.40.80]) by ipccvi.tcif.telstra.com.au with ESMTP; 23 Apr 2010 11:11:57 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by wsmsg3706.srv.dir.telstra.com ([172.49.40.80]) with mapi; Fri, 23 Apr 2010 11:11:57 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: Brian Eaton <beaton@google.com>, Eran Hammer-Lahav <eran@hueniverse.com>
Date: Fri, 23 Apr 2010 11:11:55 +1000
Thread-Topic: [OAUTH-WG] 'Scope' parameter proposal
Thread-Index: AcriXXccAM6IH5vZTtu8u3A+qfKTSgAGAaxw
Message-ID: <255B9BB34FB7D647A506DC292726F6E1125793664B@WSMSG3153V.srv.dir.telstra.com>
References: <C7F1D1FC.32809%eran@hueniverse.com> <0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com> <BB02FD4F-071E-4FF5-B3D0-F8D3FA22FEEE@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FD26@P3PW5EX1MB01.EX1.SECURESERVER.NET> <h2ldaf5b9571004221235tb844eb6ah623955979526c1b6@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FD4A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <l2idaf5b9571004221350oa0dbeb11ndeb4cb9147407ba9@mail.gmail.com>
In-Reply-To: <l2idaf5b9571004221350oa0dbeb11ndeb4cb9147407ba9@mail.gmail.com>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-AU
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 01:12:13 -0000

V2UgbXVzdG4ndCBkcm9wIGFkdmVydGlzZW1lbnRzIChkZXRhaWxzIGluIDQwMSByZXNwb25zZXMp
Lg0KV2UgbXVzdG4ndCBkcm9wIHRoZSBnb2FsIG9mIGEgc3RhbmRhcmQgZm9yIGludGVyb3BlcmFi
aWxpdHkuDQoNCkkgZG9uJ3QgdGhpbmsgd2UgaGF2ZSB0bywganVzdCBiZWNhdXNlIG9mIGRpZmZp
Y3VsdGllcyBvdmVyIHRoZSAnc2NvcGUnIHBhcmFtZXRlci4NCg0KDQpIb3cgYWJvdXQgaWYgdGhl
IHNwZWMgZXhwbGljaXRseSBzYXlzOg0KDQoiVGhlcmUgY2FuIGJlIGFueSBudW1iZXIgb2YgYXV0
aG9yaXphdGlvbiBlbmRwb2ludHMgZm9yIGEgZ2l2ZW4gc2VydmljZSDigJQgcmVwcmVzZW50aW5n
IGRpZmZlcmVudCByZXNvdXJjZXMsIGRpZmZlcmVudCBwZXJtaXNzaW9ucywgZGlmZmVyZW50IGR1
cmF0aW9ucyBldGMuIEVhY2ggYXV0aG9yaXphdGlvbiBlbmRwb2ludCBoYXMgYSBVUkkuIEEgY2xp
ZW50IG5lZWRzIG9uZSBzdWNoIFVSSSB0byBzdGFydCB0aGUgT0F1dGggdXNlciBkZWxlZ2F0aW9u
IGRhbmNlLg0KDQoiQSByZXNvdXJjZSBzZXJ2ZXIgY2FuIGFkdmVydGlzZSBzdXBwb3J0IGZvciBP
QXV0aCBieSByZXR1cm5pbmcgYSAnV1dXLUF1dGgnIEhUVFAgaGVhZGVyIHRoYXQgaW5jbHVkZXMg
YW4gYXV0aHogZW5kcG9pbnQgVVJJLiBUaGUgVVJJIHJldHVybmVkIHNoYWxsIHJlcHJlc2VudCBz
dWZmaWNpZW50IGF1dGhvcml0eSB0byBhY2Nlc3MgdGhlIHJlc291cmNlIHRoYXQgd2FzIHJlcXVl
c3RlZC4NCg0KIkEgcXVlcnkgcGFyYW1ldGVyIG5hbWVkICdzY29wZScgaGFzIGJlZW4gdXNlZCBi
eSBtYW55IHNlcnZpY2VzIHRvIGRpZmZlcmVudGlhdGUgZGlmZmVyZW50IGF1dGhvcml6YXRpb24g
VVJJcy4gVGhlICdzY29wZScgdmFsdWUgaXMgb2Z0ZW4gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBv
ZiBzdHJpbmdzLiBUaGUgT0F1dGggc3BlYyB3aWxsIG5vdCBkZWZpbmUgYSAnc2NvcGUnIHBhcmFt
ZXRlciB0aGF0IGlzIGluY29uc2lzdGVudCB3aXRoIHRoaXMgY3VycmVudCB1c2FnZS4gRGlmZmVy
ZW50IGF1dGhvcml6YXRpb24gVVJJcyBtYXkgYmUgZGlzdGluZ3Vpc2hlZCBieSBvdGhlciBhc3Bl
Y3RzIGluIHRoZSBVUklzIGFzIHdlbGwgYXQgdGhlIHNlcnZpY2XigJlzIGRpc2NyZXRpb24uIg0K
DQoNClRoaXMgYWxsb3dzIG1vc3QgY3VycmVudCBwcmFjdGljZSAocmVjb25jaWxpbmcgY29tbWEt
c2VwYXJhdGVkIGFuZCBzcGFjZS1zZXBhcmF0ZWQgaXMgbm90IHJlYWxseSBwb3NzaWJsZSkuIEl0
IGRvZXNuJ3QgaW1wb3NlIGFueSBuZXcgbW9kZWxzLiBJdCBkb2Vzbid0IGFkZCBtdWNoIChpZiBh
bnl0aGluZykgdG8gaW50ZXJvcGVyYWJpbGl0eSwgYnV0IEkgZG9uJ3QgdGhpbmsgaXQgaGFybXMg
aXQgbXVjaCBlaXRoZXIuIEl0IGV4cGxpY2l0bHkgaW5kaWNhdGVzIHRoYXQgdXNpbmcgYSAnc2Nv
cGUnIHBhcmFtZXRlciBpbiBhdXRoeiBVUklzIGRvZXMgbm90IG1ha2UgYSBzZXJ2aWNlIG5vbi1j
b21wbGlhbnQgd2l0aCBPQXV0aCwgZXZlbiBpZiB0aGUgc2VtYW50aWNzIG9mIHRoZSAnc2NvcGUn
IHZhbHVlIGlzIHNlcnZpY2Utc3BlY2lmaWMuDQoNCkkgc3VzcGVjdCB0aGUga2V5IGNvbmNlcHQg
aXMgcmVhbGlzaW5nIHRoYXQgdGhlcmUgY2FuIGJlIG1hbnkgYXV0aHogVVJJcyDigJQgYW5kIHRo
YXQgdGhhdCBpcyBvay4gT0F1dGggbGlicmFyaWVzIHNob3VsZCBzdXBwb3J0IHRoaXMgY29uY2Vw
dCDigJQgcGVyaGFwcyBieSBub3QgZXhwZWN0aW5nIGEgc2luZ2xlIGF1dGh6IFVSSSB0byBiZSBw
cm92aWRlZCBpbiBhIGNvbmZpZyBmaWxlLg0KVGhlIFRlcm1pbm9sb2d5IHNlY3Rpb24gc2hvdWxk
IGJlIHJld29yZGVkIHRvIHJlZmxlY3QgdGhpcyBjb25jZXB0LiBGb3IgZXhhbXBsZToNCiJhdXRo
b3JpemF0aW9uIGVuZHBvaW50DQogICpBbiogZW5kcG9pbnQgb24gdGhlIGF1dGhvcml6YXRpb24g
c2VydmVyIGNhcGFibGUgb2Ygb2J0YWluaW5nIGEgdXNlcidzIGF1dGhvcml0eSB0byBkZWxlZ2F0
ZSByZXF1ZXN0ZWQgYWNjZXNzIHRvIGEgY2xpZW50IGFwcGxpY2F0aW9uIg0KDQoNCg0KPiBiKSBk
b2N1bWVudGluZyBzb21ldGhpbmcgdGhhdCBubyBvbmUgaGFzIGJ1aWx0IHlldCwNCj4gYW5kIHRo
YXQgbWlnaHQgbm90IGFjdHVhbGx5IHdvcmsNCg0KRGVmaW5pbmcgYSBzY29wZSBmaWVsZCBpbiBh
IDQwMSByZXNwb25zZSBpcyB0aGUgbm92ZWwgYXNwZWN0IHRoYXQg4oCcbWlnaHQgbm90IGFjdHVh
bGx5IHdvcmvigJ0uIEFsbG93aW5nIGEgJ3Njb3BlJyBxdWVyeSBwYXJhbWV0ZXIgaW4gYXV0aHog
VVJJcyBpcyBiZSBxdWl0ZSBzZXBhcmF0ZS4NCg0KDQotLSANCkphbWVzIE1hbmdlcg0KDQoNCi0t
LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBvYXV0aC1ib3VuY2VzQGlldGYub3JnIFtt
YWlsdG86b2F1dGgtYm91bmNlc0BpZXRmLm9yZ10gT24gQmVoYWxmIE9mIEJyaWFuIEVhdG9uDQpT
ZW50OiBGcmlkYXksIDIzIEFwcmlsIDIwMTAgNjo1MCBBTQ0KVG86IEVyYW4gSGFtbWVyLUxhaGF2
DQpDYzogT0F1dGggV0cNClN1YmplY3Q6IFJlOiBbT0FVVEgtV0ddICdTY29wZScgcGFyYW1ldGVy
IHByb3Bvc2FsDQoNCk9uIFRodSwgQXByIDIyLCAyMDEwIGF0IDEyOjQxIFBNLCBFcmFuIEhhbW1l
ci1MYWhhdiA8ZXJhbkBodWVuaXZlcnNlLmNvbT4gd3JvdGU6DQo+IERyb3AgdGhlICdzY29wZScg
cGFyYW1ldGVyIGFzIHdlbGwgYW5kIHdlJ3JlIG9uIHRoZSBzYW1lIHBhZ2UuDQoNClNvIHdlIGhh
dmUgYSBjaG9pY2UgYmV0d2Vlbg0KDQphKSBub3QgZG9jdW1lbnRpbmcgc29tZXRoaW5nIHRoYXQg
YSBidW5jaCBvZiBwcm92aWRlcnMgaGF2ZSBhbHJlYWR5DQppbXBsZW1lbnRlZCBhbmQgZm91bmQg
dXNlZnVsDQogICBvcg0KYikgZG9jdW1lbnRpbmcgc29tZXRoaW5nIHRoYXQgbm8gb25lIGhhcyBi
dWlsdCB5ZXQsIGFuZCB0aGF0IG1pZ2h0IG5vdA0KYWN0dWFsbHkgd29yaw0KDQpCdW1tZXIuID0p
DQo=

From romeda@gmail.com  Fri Apr 23 04:55:09 2010
Return-Path: <romeda@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 5A1E528C3DF for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 04:55:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.289
X-Spam-Level: 
X-Spam-Status: No, score=-2.289 tagged_above=-999 required=5 tests=[AWL=0.310,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JLsJMRcS+JMc for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 04:55:08 -0700 (PDT)
Received: from mail-pw0-f44.google.com (mail-pw0-f44.google.com [209.85.160.44]) by core3.amsl.com (Postfix) with ESMTP id 3938B28C700 for <oauth@ietf.org>; Fri, 23 Apr 2010 04:21:14 -0700 (PDT)
Received: by pwj2 with SMTP id 2so6774026pwj.31 for <oauth@ietf.org>; Fri, 23 Apr 2010 04:20:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:from:date:received :message-id:subject:to:content-type; bh=6uVlt/CNSV1ZMjfUVAMovxBtO9nAFKi3o+/nybFLgw8=; b=rHBVEKQXr1fTrGQVsJEdXmEUIJMXocfvggTvFoVYvE+bMib/c77cjmXJbrTaT65uxa 7YFN6MrcAJMeUqHgF5IQzqtnCYe+cpCkJq4Qzie7BwUCy+HcSNTYlBVBhlnJBAQBLl9N m2wE11Z87ime5B/hpgTiAx1wmrs28w8YmBvEg=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; b=th6y9zflkT9OPkLt6706va/PxXkPKYTWnVd27UONuG0jyVrfeMMt3rCtRxHBdSqYEb ft+N2/zEszs7FAgvy6YG43fAUVE6Z3zKB1xWXUk1x85FbUJCuwDILkuoztxQ4R7LLVOq X+LpDD0QGlCyqstupuKpaUQCQ7Cn1a466qSwk=
MIME-Version: 1.0
Received: by 10.141.52.21 with HTTP; Fri, 23 Apr 2010 04:20:39 -0700 (PDT)
From: Blaine Cook <romeda@gmail.com>
Date: Fri, 23 Apr 2010 12:20:39 +0100
Received: by 10.141.187.15 with SMTP id o15mr2394567rvp.172.1272021659164;  Fri, 23 Apr 2010 04:20:59 -0700 (PDT)
Message-ID: <w2jd37b4b431004230420vacda67aen432ed256b4d93546@mail.gmail.com>
To: oauth@ietf.org
Content-Type: text/plain; charset=UTF-8
Subject: [OAUTH-WG] Call for Consensus (Deadline: April 22)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 11:55:09 -0000

This is a call for consensus on accepting Eran's latest OAuth draft,
draft-hammer-oauth2 [1] as a working group item. Assuming no
objections by end-of-day Tuesday, April 22nd, this draft will be
promoted to an active working group document on Wednesday, April 23rd.

b.

[1] http://datatracker.ietf.org/doc/draft-hammer-oauth2/

From lear@cisco.com  Fri Apr 23 05:55:18 2010
Return-Path: <lear@cisco.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E668D3A68A2 for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 05:55:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.384
X-Spam-Level: 
X-Spam-Status: No, score=-4.384 tagged_above=-999 required=5 tests=[AWL=-1.786, BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YlywkZKVihej for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 05:55:18 -0700 (PDT)
Received: from ams-iport-2.cisco.com (ams-iport-2.cisco.com [144.254.224.141]) by core3.amsl.com (Postfix) with ESMTP id A87CA3A6CA3 for <oauth@ietf.org>; Fri, 23 Apr 2010 05:29:19 -0700 (PDT)
Authentication-Results: ams-iport-2.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: ArMBAPMu0UuQ/uCWiWdsb2JhbACDFpkUFQEBAQoLEREGHKJ5iGmRPoQebQQ
X-IronPort-AV: E=Sophos;i="4.52,262,1270425600"; d="scan'208,217";a="6077352"
Received: from ams-core-1.cisco.com ([144.254.224.150]) by ams-iport-2.cisco.com with ESMTP; 23 Apr 2010 11:52:36 +0000
Received: from ams3-vpn-dhcp5716.cisco.com (ams3-vpn-dhcp5716.cisco.com [10.61.86.83]) by ams-core-1.cisco.com (8.13.8/8.14.3) with ESMTP id o3NCT8Fd013123; Fri, 23 Apr 2010 12:29:08 GMT
Message-ID: <4BD19283.3090805@cisco.com>
Date: Fri, 23 Apr 2010 14:28:51 +0200
From: Eliot Lear <lear@cisco.com>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.5pre) Gecko/20100421 Lanikai/3.1b2pre
MIME-Version: 1.0
To: Blaine Cook <romeda@gmail.com>
References: <w2jd37b4b431004230420vacda67aen432ed256b4d93546@mail.gmail.com>
In-Reply-To: <w2jd37b4b431004230420vacda67aen432ed256b4d93546@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------050702080402030907050806"
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Call for Consensus (Deadline: April 22)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 12:55:19 -0000

This is a multi-part message in MIME format.
--------------050702080402030907050806
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

  Blaine... Might you have meant April 27th?

On 4/23/10 1:20 PM, Blaine Cook wrote:
> This is a call for consensus on accepting Eran's latest OAuth draft,
> draft-hammer-oauth2 [1] as a working group item. Assuming no
> objections by end-of-day Tuesday, April 22nd, this draft will be
> promoted to an active working group document on Wednesday, April 23rd.
>
> b.
>
> [1] http://datatracker.ietf.org/doc/draft-hammer-oauth2/
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--------------050702080402030907050806
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    <font face="Times">Blaine... Might you have meant April 27th?</font><br>
    <br>
    On 4/23/10 1:20 PM, Blaine Cook wrote:
    <blockquote
cite="mid:w2jd37b4b431004230420vacda67aen432ed256b4d93546@mail.gmail.com"
      type="cite">
      <pre wrap="">This is a call for consensus on accepting Eran's latest OAuth draft,
draft-hammer-oauth2 [1] as a working group item. Assuming no
objections by end-of-day Tuesday, April 22nd, this draft will be
promoted to an active working group document on Wednesday, April 23rd.

b.

[1] <a class="moz-txt-link-freetext" href="http://datatracker.ietf.org/doc/draft-hammer-oauth2/">http://datatracker.ietf.org/doc/draft-hammer-oauth2/</a>
_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>

</pre>
    </blockquote>
  </body>
</html>

--------------050702080402030907050806--

From simoneg@apache.org  Fri Apr 23 05:59:38 2010
Return-Path: <simoneg@apache.org>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1DF903A6835 for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 05:59:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.376
X-Spam-Level: 
X-Spam-Status: No, score=-7.376 tagged_above=-999 required=5 tests=[BAYES_50=0.001, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2PardyYwifKQ for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 05:59:37 -0700 (PDT)
Received: from minotaur.apache.org (minotaur.apache.org [140.211.11.9]) by core3.amsl.com (Postfix) with SMTP id 927A53A6A41 for <oauth@ietf.org>; Fri, 23 Apr 2010 05:38:26 -0700 (PDT)
Received: (qmail 56915 invoked by uid 99); 23 Apr 2010 12:38:15 -0000
Received: from localhost.apache.org (HELO mail-ww0-f44.google.com) (127.0.0.1) (smtp-auth username simoneg, mechanism plain) by minotaur.apache.org (qpsmtpd/0.29) with ESMTP; Fri, 23 Apr 2010 12:38:15 +0000
Received: by wwb24 with SMTP id 24so1994690wwb.31 for <oauth@ietf.org>; Fri, 23 Apr 2010 05:38:13 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.7.70 with HTTP; Fri, 23 Apr 2010 05:38:13 -0700 (PDT)
In-Reply-To: <y2zb71cdca91004211118we7ec7a05va4d439e8fbc7a80f@mail.gmail.com>
References: <4BC6FD62.2020203@pidster.com> <h2kbc03cd711004210449le80dd2d3q8eaf3b8696a994c1@mail.gmail.com> <y2zb71cdca91004211118we7ec7a05va4d439e8fbc7a80f@mail.gmail.com>
Date: Fri, 23 Apr 2010 14:38:13 +0200
Received: by 10.216.90.20 with SMTP id d20mr1797176wef.29.1272026293339; Fri,  23 Apr 2010 05:38:13 -0700 (PDT)
Message-ID: <y2xbc03cd711004230538odde20011g1462cd3b3b0db29a@mail.gmail.com>
From: Simone Gianni <simoneg@apache.org>
To: Paul Lindner <lindner@inuus.com>
Content-Type: multipart/alternative; boundary=0016e6d77ecb5c09760484e6b3e4
Cc: Simone Tripodi <simone.tripodi@gmail.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Standardisation of a Java API
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 12:59:38 -0000

--0016e6d77ecb5c09760484e6b3e4
Content-Type: text/plain; charset=ISO-8859-1

Hi Paul,
yes, we have 3 Apache people (me, you, Simone Tripodi), one Apache
contributor with filed CLA (Pid) that want to contribute his code base, and
received some interest from other people, so I think we could start
preparing an Incubator proposal. You can have a look at Simone Tripodi's
proposal for the Amber lab that can be a good starting point.

Anyone else on OAuth list is interested?

Simone

2010/4/21 Paul Lindner <lindner@inuus.com>

> Ditto here.  Apache Shindig uses OAuth extensively and we would like to
> upgrade it to OAuth 2.0.  The current stable java oauth library is okay, but
> does not have an active developer community, and isn't even published to
> maven central.
>
> I just had a peek at Amber, looks fairly decent.  I can help move this to
> Apache incubating if people are interested.
>
>
> On Wed, Apr 21, 2010 at 4:49 AM, Simone Gianni <simoneg@apache.org> wrote:
>
>> Hi Pid,
>> I'm also interested in developing a Java library for OAuth 2. There is an
>> Apache Lab (labs.apache.org , lab named Amber) working on an OAuth 1 Java
>> API, it could (will) eventually move to Incubator if we manage to get enough
>> momentum.
>>
>> It would be nice to have a Java API that integrates with existing systems,
>> like JAAS and Spring Security (formerly known as Acegi). That would ease the
>> migration for all the frameworks and existing systems that already use those
>> libraries.
>>
>> Simone
>>
>> 2010/4/15 Pid <pid@pidster.com>
>>
>>>  Hi all,
>>>
>>> I'm interested in working with other Java programmers to develop a
>>> standardised API for OAuth 2.0.
>>>
>>> I have reviewed the recent archives, but don't see anything in the way
>>> of discussion on this topic.  If anyone can point me to a location where
>>> it is being discussed I'd be grateful.
>>>
>>>
>>> I think it would be good if the OAuth community was able to agree a spec
>>> and then for implementors to have something to focus their efforts
>>> against, instead of produced many different and incompatible libraries.
>>>
>>> There are obviously challenges in attempting this before the v2.0 itself
>>> is final, but perhaps the effort will inform the overall debate.
>>>
>>>
>>> The different Java implementations of OAuth version 1.0 each have
>>> varying features and levels of complexity.  Most implementations focus
>>> on the client component and don't provide server components at all.
>>> I'd like to improve on that in a Java API.
>>>
>>> Some ideas I have include specifying that, in addition to programmatical
>>> configuration, an implementation should allow ServiceLoader and XML
>>> based configurations, and perhaps even an Annotation based config.
>>>
>>>
>>> I'd like to hear from anyone who'd be interested in combining efforts,
>>> Java programmer or not.
>>>
>>>
>>> Cheers,
>>>
>>>
>>> Pid
>>>
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>

--0016e6d77ecb5c09760484e6b3e4
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi Paul,<br>yes, we have 3 Apache people (me, you, Simone Tripodi), one Apa=
che contributor with filed CLA (Pid) that want to contribute his code base,=
 and received some interest from other people, so I think we could start pr=
eparing an Incubator proposal. You can have a look at Simone Tripodi&#39;s =
proposal for the Amber lab that can be a good starting point. <br>
<br>Anyone else on OAuth list is interested?<br><br>Simone<br><br><div clas=
s=3D"gmail_quote">2010/4/21 Paul Lindner <span dir=3D"ltr">&lt;<a href=3D"m=
ailto:lindner@inuus.com">lindner@inuus.com</a>&gt;</span><br><blockquote cl=
ass=3D"gmail_quote" style=3D"border-left: 1px solid rgb(204, 204, 204); mar=
gin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Ditto here. =A0Apache Shindig uses OAuth extensively and we would like to u=
pgrade it to OAuth 2.0. =A0The current stable java oauth library is okay, b=
ut does not have an active developer community, and isn&#39;t even publishe=
d to maven central.<div>

<br></div><div>I just had a peek at Amber, looks fairly decent. =A0I can he=
lp move this to Apache incubating if people are interested.<div><div></div>=
<div class=3D"h5"><br><br><div class=3D"gmail_quote">On Wed, Apr 21, 2010 a=
t 4:49 AM, Simone Gianni <span dir=3D"ltr">&lt;<a href=3D"mailto:simoneg@ap=
ache.org" target=3D"_blank">simoneg@apache.org</a>&gt;</span> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"border-left: 1px solid rgb(204, =
204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi Pid,<br>I&#39;=
m also interested in developing a Java library for OAuth 2. There is an Apa=
che Lab (<a href=3D"http://labs.apache.org" target=3D"_blank">labs.apache.o=
rg</a> , lab named Amber) working on an OAuth 1 Java API, it could (will) e=
ventually move to Incubator if we manage to get enough momentum.<br>


<br>It would be nice to have a Java API that integrates with existing syste=
ms, like JAAS and Spring Security (formerly known as Acegi). That would eas=
e the migration for all the frameworks and existing systems that already us=
e those libraries.<br>


<br>Simone<br><br><div class=3D"gmail_quote">2010/4/15 Pid <span dir=3D"ltr=
">&lt;<a href=3D"mailto:pid@pidster.com" target=3D"_blank">pid@pidster.com<=
/a>&gt;</span><br><blockquote class=3D"gmail_quote" style=3D"border-left: 1=
px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"=
>

<div><div></div><div>
Hi all,<br>
<br>
I&#39;m interested in working with other Java programmers to develop a<br>
standardised API for OAuth 2.0.<br>
<br>
I have reviewed the recent archives, but don&#39;t see anything in the way<=
br>
of discussion on this topic. =A0If anyone can point me to a location where<=
br>
it is being discussed I&#39;d be grateful.<br>
<br>
<br>
I think it would be good if the OAuth community was able to agree a spec<br=
>
and then for implementors to have something to focus their efforts<br>
against, instead of produced many different and incompatible libraries.<br>
<br>
There are obviously challenges in attempting this before the v2.0 itself<br=
>
is final, but perhaps the effort will inform the overall debate.<br>
<br>
<br>
The different Java implementations of OAuth version 1.0 each have<br>
varying features and levels of complexity. =A0Most implementations focus<br=
>
on the client component and don&#39;t provide server components at all.<br>
I&#39;d like to improve on that in a Java API.<br>
<br>
Some ideas I have include specifying that, in addition to programmatical<br=
>
configuration, an implementation should allow ServiceLoader and XML<br>
based configurations, and perhaps even an Annotation based config.<br>
<br>
<br>
I&#39;d like to hear from anyone who&#39;d be interested in combining effor=
ts,<br>
Java programmer or not.<br>
<br>
<br>
Cheers,<br>
<font color=3D"#888888"><br>
<br>
Pid<br>
<br>
</font><br></div></div>_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></blockquote></div><br>
<br>_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></blockquote></div><br></div></div></div>
</blockquote></div><br>

--0016e6d77ecb5c09760484e6b3e4--

From prateek.mishra@oracle.com  Fri Apr 23 07:07:33 2010
Return-Path: <prateek.mishra@oracle.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 437E53A6767 for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 07:07:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZiJbRX-tt+OU for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 07:07:32 -0700 (PDT)
Received: from rcsinet10.oracle.com (rcsinet10.oracle.com [148.87.113.121]) by core3.amsl.com (Postfix) with ESMTP id 8936A3A69FC for <oauth@ietf.org>; Fri, 23 Apr 2010 07:07:25 -0700 (PDT)
Received: from acsinet15.oracle.com (acsinet15.oracle.com [141.146.126.227]) by rcsinet10.oracle.com (Switch-3.4.2/Switch-3.4.1) with ESMTP id o3NE78UA025076 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 23 Apr 2010 14:07:11 GMT
Received: from acsmt355.oracle.com (acsmt355.oracle.com [141.146.40.155]) by acsinet15.oracle.com (Switch-3.4.2/Switch-3.4.1) with ESMTP id o3NDb58K000519; Fri, 23 Apr 2010 14:07:07 GMT
Received: from abhmt003.oracle.com by acsmt354.oracle.com with ESMTP id 184292931272031551; Fri, 23 Apr 2010 07:05:51 -0700
Received: from [192.168.1.4] (/209.6.179.100) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Fri, 23 Apr 2010 07:05:51 -0700
Message-ID: <4BD1A93A.1060901@oracle.com>
Date: Fri, 23 Apr 2010 10:05:46 -0400
From: Prateek Mishra <prateek.mishra@oracle.com>
Organization: Oracle Corporation
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
To: Blaine Cook <romeda@gmail.com>
References: <w2jd37b4b431004230420vacda67aen432ed256b4d93546@mail.gmail.com>
In-Reply-To: <w2jd37b4b431004230420vacda67aen432ed256b4d93546@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Auth-Type: Internal IP
X-Source-IP: acsinet15.oracle.com [141.146.126.227]
X-CT-RefId: str=0001.0A090202.4BD1A991.0096:SCFMA922111,ss=1,fgs=0
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Call for Consensus (Deadline: April 22)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 14:07:33 -0000

Do you mean April 29 (Thu) and April 30th (Fri)?
> This is a call for consensus on accepting Eran's latest OAuth draft,
> draft-hammer-oauth2 [1] as a working group item. Assuming no
> objections by end-of-day Tuesday, April 22nd, this draft will be
> promoted to an active working group document on Wednesday, April 23rd.
>
> b.
>
> [1] http://datatracker.ietf.org/doc/draft-hammer-oauth2/
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>   

From eve@xmlgrrl.com  Fri Apr 23 07:26:45 2010
Return-Path: <eve@xmlgrrl.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A21AF3A6A2B for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 07:26:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.133
X-Spam-Level: *
X-Spam-Status: No, score=1.133 tagged_above=-999 required=5 tests=[AWL=-0.175,  BAYES_50=0.001, FROM_DOMAIN_NOVOWEL=0.5, HTML_MESSAGE=0.001, SARE_URI_CONS7=0.306, URI_NOVOWEL=0.5]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QvWCwWaEc8LN for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 07:26:44 -0700 (PDT)
Received: from mail.promanage-inc.com (eliasisrael.com [98.111.84.13]) by core3.amsl.com (Postfix) with ESMTP id 9062528C13F for <oauth@ietf.org>; Fri, 23 Apr 2010 07:21:22 -0700 (PDT)
Received: from [192.168.168.198] ([192.168.168.198]) (authenticated bits=0) by mail.promanage-inc.com (8.14.3/8.14.3) with ESMTP id o3NEL6Fj024152 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Fri, 23 Apr 2010 07:21:06 -0700
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: multipart/alternative; boundary=Apple-Mail-355--479993065
From: Eve Maler <eve@xmlgrrl.com>
In-Reply-To: <9454D8CD-0BF4-44CA-A46A-12F244E72B22@xmlgrrl.com>
Date: Fri, 23 Apr 2010 07:21:06 -0700
Message-Id: <B30B40FB-BD4B-433C-B6E5-7061EE5469CA@xmlgrrl.com>
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com>	<C7F1C6AC.327EE%eran@hueniverse.com>	<u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<o2wc8689b661004191716o69966d5di900c07737d3be568@mail.gmail.com>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7F45A@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<z2xc334d54e1004200936s57f06dedt8e0e46df3480f8d4@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F533@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BCDF86C.9080003@lodderstedt.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F5D9@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BCF6E8F.6080802@lodderstedt.net> <9454D8CD-0BF4-44CA-A46A-12F244E72B22@xmlgrrl.com>
To: OAuth WG <oauth@ietf.org>
X-Mailer: Apple Mail (2.1078)
Subject: [OAUTH-WG] Autonomous clients and resource owners (editorial)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 14:26:46 -0000

--Apple-Mail-355--479993065
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Regarding the second comment I made below: I realized last night that =
Sections 3.7.1 and 3.7.2 get this more correct, by saying that an =
autonomous client represents a "separate resource owner". So Section 2.2 =
definitely needs a slight change, from:

"...and autonomous flows where the client is acting for itself (the =
client is also the resource owner)."

to something like:

"...and autonomous flows where the client is acting on behalf of a =
different resource owner."

Thanks,

	Eve

On 21 Apr 2010, at 4:43 PM, Eve Maler wrote:

> Tacking this response to the end of the thread for lack of a better =
place to do it: The name "username" seems not quite apt in the case of =
an autonomous client that isn't representing an end-user. Would =
"identifier" be better? (Actually, it sort of reminds me of SAML's =
"SessionIndex"...) Or would the parameter be reserved for =
user-delegation flows?
>=20
> Speaking of autonomous clients, Section 2.2 -- among possibly other =
places -- states that an autonomous client is also the resource owner, =
but that's not always the case, is it? The client might be seeking =
access on behalf of itself. (FWIW, I made roughly this same comment on =
David's first draft on March 21, and he agreed with my suggested fix at =
the time.)
>=20
> 	Eve


Eve Maler
eve@xmlgrrl.com
http://www.xmlgrrl.com/blog


--Apple-Mail-355--479993065
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; =
"><div>Regarding the second comment I made below: I realized last night =
that Sections 3.7.1 and 3.7.2 get this more correct, by saying that an =
autonomous client represents a "separate resource owner". So Section 2.2 =
definitely needs a slight change, =
from:</div><div><br></div><div><div>"...and autonomous flows where the =
client is acting for&nbsp;itself (the client is also the resource =
owner)."</div></div><div><br></div><div>to something =
like:</div><div><br></div><div>"...and autonomous flows where the client =
is acting on behalf of a different resource =
owner."</div><div><br></div><div>Thanks,</div><div><br></div><div><span =
class=3D"Apple-tab-span" style=3D"white-space:pre">	=
</span>Eve</div><div><br></div><div><div>On 21 Apr 2010, at 4:43 PM, Eve =
Maler wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><div style=3D"word-wrap: break-word; -webkit-nbsp-mode: =
space; -webkit-line-break: after-white-space; "><div>Tacking this =
response to the end of the thread for lack of a better place to do it: =
The name "username" seems not quite apt in the case of an autonomous =
client that isn't representing an end-user. Would "identifier" be =
better? (Actually, it sort of reminds me of SAML's "SessionIndex"...) Or =
would the parameter be reserved for user-delegation =
flows?</div><div><br></div><div>Speaking of autonomous clients, Section =
2.2 -- among possibly other places -- states that an autonomous client =
is also the resource owner, but that's not always the case, is it? The =
client might be seeking access on behalf of itself. (FWIW, I made =
roughly this same comment on David's first draft on March 21, and he =
agreed with my suggested fix at the =
time.)</div><div><br></div><div><span class=3D"Apple-tab-span" =
style=3D"white-space:pre">	=
</span>Eve</div></div></blockquote></div><br><div>
<span class=3D"Apple-style-span" style=3D"font-family: Courier; =
font-size: 12px; "><div><br class=3D"Apple-interchange-newline">Eve =
Maler</div><div><a =
href=3D"mailto:eve@xmlgrrl.com">eve@xmlgrrl.com</a></div><div><a =
href=3D"http://www.xmlgrrl.com/blog">http://www.xmlgrrl.com/blog</a></div>=
</span>
</div>
<br></body></html>=

--Apple-Mail-355--479993065--

From torsten@lodderstedt.net  Fri Apr 23 07:31:24 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id EF70E28C0FC for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 07:31:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.249
X-Spam-Level: 
X-Spam-Status: No, score=-2.249 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id X6t+btU1E0Id for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 07:31:24 -0700 (PDT)
Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.31.40]) by core3.amsl.com (Postfix) with ESMTP id 4574E28C108 for <oauth@ietf.org>; Fri, 23 Apr 2010 07:28:42 -0700 (PDT)
Received: from [213.216.10.66] (helo=[127.0.0.1]) by smtprelay02.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O5Jrq-0007Ts-L0; Fri, 23 Apr 2010 16:28:30 +0200
Message-ID: <4BD1AE7F.3000001@lodderstedt.net>
Date: Fri, 23 Apr 2010 16:28:15 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Brian Eaton <beaton@google.com>
References: <i2odaf5b9571004221649h733f675bva2f9f4438ef43921@mail.gmail.com>
In-Reply-To: <i2odaf5b9571004221649h733f675bva2f9f4438ef43921@mail.gmail.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit
X-Df-Sender: 141509
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] device profile comments
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 14:31:25 -0000

> - Authorization server doesn’t return approval URL - device hard-codes
> this instead.
>     I expect that this will point to a manufacturer specific page, and
> that the manufacturer specific page will automatically redirect to a
> page on the authorization server.
>    

Why not returning client-id-specific approval-URLs from the 
authorization server? This would allow to change them dynamically w/o 
changing the device's firmware/configuration.
And even if the authorization server returns an URL, the device 
firmeware can always use hard-coded URLs.

What do you think?

regards,
Torsten.
> - Approval URL MUST have client_id, and MAY have callback.
>     I expect that the client_id will be used to brand the approval
> page, and that the callback will point to a manufacturer specific
> completion page.
>
> Plus a few comments on error codes:
>
> “End User Authorization Pending or Expired” - authorization server
> probably isn’t going to be able to tell whether a code has expired, or
> was never issued.  Probably just return “unknown_code”.
>
> The “slow_down” error probably merits an “interval”.  Maybe always
> return “interval” with authorization_pending, and eliminate the
> slow_down error code entirely?
>
> Cheers,
> Brian
>
> [1] http://sites.google.com/site/oauthgoog/UXFedLogin/desktopapps
> [2] http://sites.google.com/site/oauthgoog/UXFedLogin/nobrowser
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    



From igor.faynberg@alcatel-lucent.com  Fri Apr 23 07:34:41 2010
Return-Path: <igor.faynberg@alcatel-lucent.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 56C6C3A67D7 for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 07:34:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JzICuc6k44qZ for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 07:34:40 -0700 (PDT)
Received: from ihemail2.lucent.com (ihemail2.lucent.com [135.245.0.35]) by core3.amsl.com (Postfix) with ESMTP id 6D96A28C0DB for <oauth@ietf.org>; Fri, 23 Apr 2010 07:33:30 -0700 (PDT)
Received: from umail.lucent.com (h135-3-40-63.lucent.com [135.3.40.63]) by ihemail2.lucent.com (8.13.8/IER-o) with ESMTP id o3NEXIJ0021892 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 23 Apr 2010 09:33:18 -0500 (CDT)
Received: from [135.244.224.231] (faynberg.lra.lucent.com [135.244.224.231]) by umail.lucent.com (8.13.8/TPES) with ESMTP id o3NEXCGI010855; Fri, 23 Apr 2010 09:33:13 -0500 (CDT)
Message-ID: <4BD1AFA7.7070103@alcatel-lucent.com>
Date: Fri, 23 Apr 2010 10:33:11 -0400
From: Igor Faynberg <igor.faynberg@alcatel-lucent.com>
Organization: Alcatel-Lucent
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
To: Blaine Cook <romeda@gmail.com>
References: <w2jd37b4b431004230420vacda67aen432ed256b4d93546@mail.gmail.com>
In-Reply-To: <w2jd37b4b431004230420vacda67aen432ed256b4d93546@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.35
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Call for Consensus (Deadline: April 22)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: igor.faynberg@alcatel-lucent.com
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 14:34:41 -0000

Full support.

Igor

Blaine Cook wrote:
> This is a call for consensus on accepting Eran's latest OAuth draft,
> draft-hammer-oauth2 [1] as a working group item. Assuming no
> objections by end-of-day Tuesday, April 22nd, this draft will be
> promoted to an active working group document on Wednesday, April 23rd.
>
> b.
>
> [1] http://datatracker.ietf.org/doc/draft-hammer-oauth2/
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>   

From raffi@twitter.com  Fri Apr 23 07:52:07 2010
Return-Path: <raffi@twitter.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4F2FA3A6946 for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 07:52:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.624
X-Spam-Level: 
X-Spam-Status: No, score=0.624 tagged_above=-999 required=5 tests=[BAYES_50=0.001, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dY87ZANxmlrv for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 07:52:06 -0700 (PDT)
Received: from mail-vw0-f44.google.com (mail-vw0-f44.google.com [209.85.212.44]) by core3.amsl.com (Postfix) with ESMTP id A0B2A3A6A38 for <oauth@ietf.org>; Fri, 23 Apr 2010 07:51:58 -0700 (PDT)
Received: by vws1 with SMTP id 1so829265vws.31 for <oauth@ietf.org>; Fri, 23 Apr 2010 07:51:45 -0700 (PDT)
Received: by 10.229.181.139 with SMTP id by11mr212337qcb.1.1272034305242; Fri,  23 Apr 2010 07:51:45 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.213.194 with HTTP; Fri, 23 Apr 2010 07:51:25 -0700 (PDT)
In-Reply-To: <w2jd37b4b431004230420vacda67aen432ed256b4d93546@mail.gmail.com>
References: <w2jd37b4b431004230420vacda67aen432ed256b4d93546@mail.gmail.com>
From: Raffi Krikorian <raffi@twitter.com>
Date: Fri, 23 Apr 2010 07:51:25 -0700
Message-ID: <t2u82c33f601004230751v4a678da0m2de40d678273ef2b@mail.gmail.com>
To: Blaine Cook <romeda@gmail.com>
Content-Type: multipart/alternative; boundary=0016364ec8a8e7f6850484e89063
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Call for Consensus (Deadline: April 22)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 14:52:07 -0000

--0016364ec8a8e7f6850484e89063
Content-Type: text/plain; charset=ISO-8859-1

not sure if i'm late (as its past the 22nd) - but full support.

On Fri, Apr 23, 2010 at 4:20 AM, Blaine Cook <romeda@gmail.com> wrote:

> This is a call for consensus on accepting Eran's latest OAuth draft,
> draft-hammer-oauth2 [1] as a working group item. Assuming no
> objections by end-of-day Tuesday, April 22nd, this draft will be
> promoted to an active working group document on Wednesday, April 23rd.
>
> b.
>
> [1] http://datatracker.ietf.org/doc/draft-hammer-oauth2/
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>



-- 
Raffi Krikorian
Twitter Platform Team
http://twitter.com/raffi

--0016364ec8a8e7f6850484e89063
Content-Type: text/html; charset=ISO-8859-1

not sure if i&#39;m late (as its past the 22nd) - but full support.<br><br><div class="gmail_quote">On Fri, Apr 23, 2010 at 4:20 AM, Blaine Cook <span dir="ltr">&lt;<a href="mailto:romeda@gmail.com">romeda@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">This is a call for consensus on accepting Eran&#39;s latest OAuth draft,<br>
draft-hammer-oauth2 [1] as a working group item. Assuming no<br>
objections by end-of-day Tuesday, April 22nd, this draft will be<br>
promoted to an active working group document on Wednesday, April 23rd.<br>
<br>
b.<br>
<br>
[1] <a href="http://datatracker.ietf.org/doc/draft-hammer-oauth2/" target="_blank">http://datatracker.ietf.org/doc/draft-hammer-oauth2/</a><br>
_______________________________________________<br>
OAuth mailing list<br>
<a href="mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href="https://www.ietf.org/mailman/listinfo/oauth" target="_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Raffi Krikorian<br>Twitter Platform Team<br><a href="http://twitter.com/raffi">http://twitter.com/raffi</a><br>

--0016364ec8a8e7f6850484e89063--

From jricher@mitre.org  Fri Apr 23 07:55:20 2010
Return-Path: <jricher@mitre.org>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C96A13A69C2 for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 07:55:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.184
X-Spam-Level: 
X-Spam-Status: No, score=-4.184 tagged_above=-999 required=5 tests=[AWL=-0.185, BAYES_50=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FRGglHCrlHst for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 07:55:19 -0700 (PDT)
Received: from smtp-bedford.mitre.org (smtp-bedford.mitre.org [129.83.20.191]) by core3.amsl.com (Postfix) with ESMTP id 94F5F3A68B7 for <oauth@ietf.org>; Fri, 23 Apr 2010 07:55:19 -0700 (PDT)
Received: from smtp-bedford.mitre.org (localhost.localdomain [127.0.0.1]) by smtp-bedford.mitre.org (8.13.1/8.13.1) with ESMTP id o3NEt8UN009970 for <oauth@ietf.org>; Fri, 23 Apr 2010 10:55:08 -0400
Received: from imchub2.MITRE.ORG (imchub2.mitre.org [129.83.29.74]) by smtp-bedford.mitre.org (8.13.1/8.13.1) with ESMTP id o3NEt8CI009965;  Fri, 23 Apr 2010 10:55:08 -0400
Received: from [129.83.50.65] (129.83.50.65) by imchub2.MITRE.ORG (129.83.29.74) with Microsoft SMTP Server id 8.2.213.0; Fri, 23 Apr 2010 10:55:08 -0400
From: Justin Richer <jricher@mitre.org>
To: Greg Brail <gbrail@sonoasystems.com>
In-Reply-To: <137315b9d471f0b8c28d76a393cb31ef@mail.gmail.com>
References: <C7F49997.2BF3F%atom@yahoo-inc.com> <137315b9d471f0b8c28d76a393cb31ef@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"
Date: Fri, 23 Apr 2010 10:55:08 -0400
Message-ID: <1272034508.9646.46.camel@localhost.localdomain>
MIME-Version: 1.0
X-Mailer: Evolution 2.28.1 
Content-Transfer-Encoding: 7bit
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] New service provider that supports OAuth 2.0
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 14:55:20 -0000

I was surprised that this announcement didn't garner more commentary
from the list here, as this decision worries me a little bit. There are
a lot of components of the OAuth protocol that aren't stabilized into a
real standard yet, and I'm worried that the Facebook implementation of
"OAuth 2.0" will become the de-facto standard before the IETF group can
come up with something final. 

Is Facebook committed to tracking the spec in its development? If so,
where does that put developers that need to change their libraries as
the underlying spec changes? If not, where does that leave the official
OAuth spec?

I will say that I am absolutely *thrilled* to see Facebook at the table,
and Luke and David have done some great work here. I am ecstatic that
Facebook is pushing away from a proprietary stack into an open standard
at all. Even so, I can't help but fear that we'll end up in a situation
where the largest vendor's extensions and quirks become better supported
than the real standard, like with HTML and CSS.

 -- Justin


On Wed, 2010-04-21 at 16:05 -0400, Greg Brail wrote:
> Whoa, it was!
> 
>  
> 
> So, does anyone know what Facebook is planning to do when the spec
> changes, which I assume it's going to keep doing for a while? 
> 
>  
> 
> I mean, the part of the spec that they're describing on the page has
> been pretty stable, but if I were building an app for the Facebook
> platform I'd be wondering.
> 
>  
> 
> From:oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> Of Allen Tom
> Sent: Wednesday, April 21, 2010 3:01 PM
> To: OAuth WG
> Subject: [OAUTH-WG] New service provider that supports OAuth 2.0
> 
> 
>  
> 
> Well that was fast!
> 
> http://developers.facebook.com/docs/authentication/
> 
> Allen
> 
> 



From simone.tripodi@gmail.com  Fri Apr 23 06:13:55 2010
Return-Path: <simone.tripodi@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C50883A6842 for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 06:13:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.11
X-Spam-Level: 
X-Spam-Status: No, score=-1.11 tagged_above=-999 required=5 tests=[BAYES_05=-1.11]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kIN2NVI+B+NM for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 06:13:53 -0700 (PDT)
Received: from mail-ew0-f224.google.com (mail-ew0-f224.google.com [209.85.219.224]) by core3.amsl.com (Postfix) with ESMTP id 4EC633A6A57 for <oauth@ietf.org>; Fri, 23 Apr 2010 06:03:11 -0700 (PDT)
Received: by ewy24 with SMTP id 24so2903950ewy.13 for <oauth@ietf.org>; Fri, 23 Apr 2010 06:02:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=yoj1/tMpuIxP/j4UiGappwM/42MOW/hPm/PnODMJt4I=; b=bTo2nH2PCsIPY1MYHwERHfFeGqPhLUYP/seB2P4c3ZT9YAqecrjpRZPhhRMeG37quj FIOec2Kc7sVl1sPvQCxBhsalErPOIuAYIoYZFEJZgWOk+O2OQ3V618qWx6c1hwVhu0R9 kmKZijkTkVvxz2h21QY7fuXwTC5Of0BtzDOII=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=kyG3yALPgPGDZwMXkjLYzvT7dmAXSO1+OUrPLH7ozBnEc66c9ZHHlg5xnkbHNQf1hk E3rKRc3TGP0bJxEUd7ZDIPcuAkmVshxdMoKStJFM5Qc1SHyK18uYv+7clNYUx49/4p3z vEs4g9HUPbVSSScVSOAyyWiSFAJeOAO1fMpWA=
MIME-Version: 1.0
Received: by 10.213.34.78 with HTTP; Fri, 23 Apr 2010 06:02:57 -0700 (PDT)
In-Reply-To: <y2xbc03cd711004230538odde20011g1462cd3b3b0db29a@mail.gmail.com>
References: <4BC6FD62.2020203@pidster.com> <h2kbc03cd711004210449le80dd2d3q8eaf3b8696a994c1@mail.gmail.com> <y2zb71cdca91004211118we7ec7a05va4d439e8fbc7a80f@mail.gmail.com> <y2xbc03cd711004230538odde20011g1462cd3b3b0db29a@mail.gmail.com>
Date: Fri, 23 Apr 2010 15:02:57 +0200
Received: by 10.213.15.17 with SMTP id i17mr5339702eba.62.1272027777584; Fri,  23 Apr 2010 06:02:57 -0700 (PDT)
Message-ID: <v2z4173dc211004230602vd8c227acy25b9eefff0f2d83e@mail.gmail.com>
From: Simone Tripodi <simone.tripodi@gmail.com>
To: Simone Gianni <simoneg@apache.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Mailman-Approved-At: Fri, 23 Apr 2010 08:56:27 -0700
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Standardisation of a Java API
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 13:27:25 -0000

Hi all guys, Paul very nice to meet you :)
at the era I started writing the first version of the Amber proposal,
my Cocoon3 mates Reinhard Poetz and Steven Dolg were interested, I'll
ping them to get them involved.
Quick question: can anyone tell me please where I can share the first
draft of the proposal? Thanks in advance!
Simo

http://people.apache.org/~simonetripodi/



On Fri, Apr 23, 2010 at 2:38 PM, Simone Gianni <simoneg@apache.org> wrote:
> Hi Paul,
> yes, we have 3 Apache people (me, you, Simone Tripodi), one Apache
> contributor with filed CLA (Pid) that want to contribute his code base, a=
nd
> received some interest from other people, so I think we could start
> preparing an Incubator proposal. You can have a look at Simone Tripodi's
> proposal for the Amber lab that can be a good starting point.
>
> Anyone else on OAuth list is interested?
>
> Simone
>
> 2010/4/21 Paul Lindner <lindner@inuus.com>
>>
>> Ditto here. =C2=A0Apache Shindig uses OAuth extensively and we would lik=
e to
>> upgrade it to OAuth 2.0. =C2=A0The current stable java oauth library is =
okay, but
>> does not have an active developer community, and isn't even published to
>> maven central.
>> I just had a peek at Amber, looks fairly decent. =C2=A0I can help move t=
his to
>> Apache incubating if people are interested.
>>
>> On Wed, Apr 21, 2010 at 4:49 AM, Simone Gianni <simoneg@apache.org> wrot=
e:
>>>
>>> Hi Pid,
>>> I'm also interested in developing a Java library for OAuth 2. There is =
an
>>> Apache Lab (labs.apache.org , lab named Amber) working on an OAuth 1 Ja=
va
>>> API, it could (will) eventually move to Incubator if we manage to get e=
nough
>>> momentum.
>>>
>>> It would be nice to have a Java API that integrates with existing
>>> systems, like JAAS and Spring Security (formerly known as Acegi). That =
would
>>> ease the migration for all the frameworks and existing systems that alr=
eady
>>> use those libraries.
>>>
>>> Simone
>>>
>>> 2010/4/15 Pid <pid@pidster.com>
>>>>
>>>> Hi all,
>>>>
>>>> I'm interested in working with other Java programmers to develop a
>>>> standardised API for OAuth 2.0.
>>>>
>>>> I have reviewed the recent archives, but don't see anything in the way
>>>> of discussion on this topic. =C2=A0If anyone can point me to a locatio=
n where
>>>> it is being discussed I'd be grateful.
>>>>
>>>>
>>>> I think it would be good if the OAuth community was able to agree a sp=
ec
>>>> and then for implementors to have something to focus their efforts
>>>> against, instead of produced many different and incompatible libraries=
.
>>>>
>>>> There are obviously challenges in attempting this before the v2.0 itse=
lf
>>>> is final, but perhaps the effort will inform the overall debate.
>>>>
>>>>
>>>> The different Java implementations of OAuth version 1.0 each have
>>>> varying features and levels of complexity. =C2=A0Most implementations =
focus
>>>> on the client component and don't provide server components at all.
>>>> I'd like to improve on that in a Java API.
>>>>
>>>> Some ideas I have include specifying that, in addition to programmatic=
al
>>>> configuration, an implementation should allow ServiceLoader and XML
>>>> based configurations, and perhaps even an Annotation based config.
>>>>
>>>>
>>>> I'd like to hear from anyone who'd be interested in combining efforts,
>>>> Java programmer or not.
>>>>
>>>>
>>>> Cheers,
>>>>
>>>>
>>>> Pid
>>>>
>>>>
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>
>>>
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>
>
>

From stpeter@stpeter.im  Fri Apr 23 09:01:15 2010
Return-Path: <stpeter@stpeter.im>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 5E5153A6A86 for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 09:01:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.35
X-Spam-Level: 
X-Spam-Status: No, score=-2.35 tagged_above=-999 required=5 tests=[AWL=0.249,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Fuh9gT-ZnCKc for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 09:01:14 -0700 (PDT)
Received: from stpeter.im (stpeter.im [207.210.219.233]) by core3.amsl.com (Postfix) with ESMTP id 34E563A6A85 for <oauth@ietf.org>; Fri, 23 Apr 2010 09:01:14 -0700 (PDT)
Received: from dhcp-64-101-72-158.cisco.com (dhcp-64-101-72-158.cisco.com [64.101.72.158]) (Authenticated sender: stpeter) by stpeter.im (Postfix) with ESMTPSA id 5830440E26 for <oauth@ietf.org>; Fri, 23 Apr 2010 10:01:03 -0600 (MDT)
Message-ID: <4BD1C43E.3080000@stpeter.im>
Date: Fri, 23 Apr 2010 10:01:02 -0600
From: Peter Saint-Andre <stpeter@stpeter.im>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: oauth@ietf.org
References: <w2jd37b4b431004230420vacda67aen432ed256b4d93546@mail.gmail.com> <4BD1A93A.1060901@oracle.com>
In-Reply-To: <4BD1A93A.1060901@oracle.com>
X-Enigmail-Version: 1.0.1
OpenPGP: url=http://www.saint-andre.com/me/stpeter.asc
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms010200070106020407050707"
Subject: Re: [OAUTH-WG] Call for Consensus (Deadline: April 22)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 16:01:15 -0000

This is a cryptographically signed message in MIME format.

--------------ms010200070106020407050707
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 4/23/10 8:05 AM, Prateek Mishra wrote:
> Do you mean April 29 (Thu) and April 30th (Fri)?

Clearly yes.

>> This is a call for consensus on accepting Eran's latest OAuth draft,
>> draft-hammer-oauth2 [1] as a working group item. Assuming no
>> objections by end-of-day Tuesday, April 22nd, this draft will be
>> promoted to an active working group document on Wednesday, April 23rd.=

>>
>> b.
>>
>> [1] http://datatracker.ietf.org/doc/draft-hammer-oauth2/
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>  =20


--------------ms010200070106020407050707
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIWnDCC
B1cwggY/oAMCAQICAVUwDQYJKoZIhvcNAQEFBQAwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQK
Ew1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBT
aWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRl
IENsaWVudCBDQTAeFw0wOTA3MDYwMDAwMDFaFw0xMDA3MDYyMzU5NTlaMIHCMQswCQYDVQQG
EwJVUzERMA8GA1UECBMIQ29sb3JhZG8xDzANBgNVBAcTBkRlbnZlcjEiMCAGA1UEChMZWE1Q
UCBTdGFuZGFyZHMgRm91bmRhdGlvbjEsMCoGA1UECxMjU3RhcnRDb20gVHJ1c3RlZCBDZXJ0
aWZpY2F0ZSBNZW1iZXIxGjAYBgNVBAMTEVBldGVyIFNhaW50LUFuZHJlMSEwHwYJKoZIhvcN
AQkBFhJzdHBldGVyQHN0cGV0ZXIuaW0wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQCas7Mrnh02GakN8sft+HJpU4MwBxEgrGDZ2ZzUxDDt2sEhM+9Q74h955MtgMhK3TeBf6Hs
hDh/8Z9G//k2qNA0M2S5rejTqrmW0Jabca/L7BUZ0GhnU2N/2zeciFUmuZ4A2l1T5IMX2ZVP
XnNIaefBtbImJAbDz3T0vxkzTtcqgW3wL83PMDiqiuM+e1k+VPvOW4f5ZSGkPIhYCDpWqNE5
wZvjrLNMc8jZOPs9DrsYuIVwU72Vhy1tkEh+w6YpYHrdEUAe+eKe6TuxqZ60e9z3O36uiV//
Ms274iD6PbA/IGazJgaAdg6tvPehwTYGJAGmv3PsJKkLGjgoh+RrrM1LAgMBAAGjggOKMIID
hjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
AwQwHQYDVR0OBBYEFOyws3XWgIY9FP1POVqjdZP9Lu38MB0GA1UdEQQWMBSBEnN0cGV0ZXJA
c3RwZXRlci5pbTCBqAYDVR0jBIGgMIGdgBR7iZySlyShhEcCy3T8LvSs3DLl86GBgaR/MH0x
CzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUg
RGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZp
Y2F0aW9uIEF1dGhvcml0eYIBDzCCAUcGA1UdIASCAT4wggE6MIIBNgYLKwYBBAGBtTcBAgAw
ggElMC4GCCsGAQUFBwIBFiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMDQG
CCsGAQUFBwIBFihodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMIG8
BggrBgEFBQcCAjCBrzAUFg1TdGFydENvbSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0
eSwgcmVhZCB0aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENv
bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93
d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwYwYDVR0fBFwwWjAroCmgJ4YlaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vY3J0dTMtY3JsLmNybDAroCmgJ4YlaHR0cDovL2NybC5zdGFydHNz
bC5jb20vY3J0dTMtY3JsLmNybDCBjgYIKwYBBQUHAQEEgYEwfzA5BggrBgEFBQcwAYYtaHR0
cDovL29jc3Auc3RhcnRzc2wuY29tL3N1Yi9jbGFzczMvY2xpZW50L2NhMEIGCCsGAQUFBzAC
hjZodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9jZXJ0cy9zdWIuY2xhc3MzLmNsaWVudC5jYS5j
cnQwIwYDVR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMA0GCSqGSIb3DQEBBQUA
A4IBAQBgv4xFXZqDKSOtnPOVbqOh1brj7oxRaVYk7N0MJG7x9Y/wkO3iwRwizVLcC1bA+D/R
gyFilXx6IQWE63Ge2tu+Y4w5QoHYwuUFQuBZuxvZpOa3ykdgPlBQaBM8m+Ien0skwNggaizA
X9Pc/sMLpP3jkO1iSF4agy4r5Ed+4G10mP5X0zO3gQwq9Uj4F9tX+58kU+fM1P8Sh+BYR4r/
kSbKE3tWcMaKblWPGwX0nYD26Je7Qb+uX/J5lCgozBrHXQWq8N98iklASf2pv+32Oi1dEjmM
UgAm/J2+YmxaI02+c+H6QH8+F3RUjCiRg9XqUNjcrNrnTFnm/iMMZADktsXPMIIHVzCCBj+g
AwIBAgIBVTANBgkqhkiG9w0BAQUFADCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBMB4XDTA5MDcwNjAwMDAwMVoXDTEwMDcwNjIzNTk1OVowgcIxCzAJBgNVBAYTAlVTMREw
DwYDVQQIEwhDb2xvcmFkbzEPMA0GA1UEBxMGRGVudmVyMSIwIAYDVQQKExlYTVBQIFN0YW5k
YXJkcyBGb3VuZGF0aW9uMSwwKgYDVQQLEyNTdGFydENvbSBUcnVzdGVkIENlcnRpZmljYXRl
IE1lbWJlcjEaMBgGA1UEAxMRUGV0ZXIgU2FpbnQtQW5kcmUxITAfBgkqhkiG9w0BCQEWEnN0
cGV0ZXJAc3RwZXRlci5pbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJqzsyue
HTYZqQ3yx+34cmlTgzAHESCsYNnZnNTEMO3awSEz71DviH3nky2AyErdN4F/oeyEOH/xn0b/
+Tao0DQzZLmt6NOquZbQlptxr8vsFRnQaGdTY3/bN5yIVSa5ngDaXVPkgxfZlU9ec0hp58G1
siYkBsPPdPS/GTNO1yqBbfAvzc8wOKqK4z57WT5U+85bh/llIaQ8iFgIOlao0TnBm+Oss0xz
yNk4+z0Ouxi4hXBTvZWHLW2QSH7Dpilget0RQB754p7pO7GpnrR73Pc7fq6JX/8yzbviIPo9
sD8gZrMmBoB2Dq2896HBNgYkAaa/c+wkqQsaOCiH5GuszUsCAwEAAaOCA4owggOGMAkGA1Ud
EwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNV
HQ4EFgQU7LCzddaAhj0U/U85WqN1k/0u7fwwHQYDVR0RBBYwFIESc3RwZXRlckBzdHBldGVy
LmltMIGoBgNVHSMEgaAwgZ2AFHuJnJKXJKGERwLLdPwu9KzcMuXzoYGBpH8wfTELMAkGA1UE
BhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFs
IENlcnRpZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24g
QXV0aG9yaXR5ggEPMIIBRwYDVR0gBIIBPjCCATowggE2BgsrBgEEAYG1NwECADCCASUwLgYI
KwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUH
AgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgbwGCCsGAQUF
BwICMIGvMBQWDVN0YXJ0Q29tIEx0ZC4wAwIBARqBlkxpbWl0ZWQgTGlhYmlsaXR5LCByZWFk
IHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5zdGFy
dHNzbC5jb20vcG9saWN5LnBkZjBjBgNVHR8EXDBaMCugKaAnhiVodHRwOi8vd3d3LnN0YXJ0
c3NsLmNvbS9jcnR1My1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9j
cnR1My1jcmwuY3JsMIGOBggrBgEFBQcBAQSBgTB/MDkGCCsGAQUFBzABhi1odHRwOi8vb2Nz
cC5zdGFydHNzbC5jb20vc3ViL2NsYXNzMy9jbGllbnQvY2EwQgYIKwYBBQUHMAKGNmh0dHA6
Ly93d3cuc3RhcnRzc2wuY29tL2NlcnRzL3N1Yi5jbGFzczMuY2xpZW50LmNhLmNydDAjBgNV
HRIEHDAahhhodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS8wDQYJKoZIhvcNAQEFBQADggEBAGC/
jEVdmoMpI62c85Vuo6HVuuPujFFpViTs3QwkbvH1j/CQ7eLBHCLNUtwLVsD4P9GDIWKVfHoh
BYTrcZ7a275jjDlCgdjC5QVC4Fm7G9mk5rfKR2A+UFBoEzyb4h6fSyTA2CBqLMBf09z+wwuk
/eOQ7WJIXhqDLivkR37gbXSY/lfTM7eBDCr1SPgX21f7nyRT58zU/xKH4FhHiv+RJsoTe1Zw
xopuVY8bBfSdgPbol7tBv65f8nmUKCjMGsddBarw33yKSUBJ/am/7fY6LV0SOYxSACb8nb5i
bFojTb5z4fpAfz4XdFSMKJGD1epQ2Nys2udMWeb+IwxkAOS2xc8wggfiMIIFyqADAgECAgEP
MA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQu
MSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQD
EyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNzEwMjQyMTAzMzJaFw0x
MjEwMjIyMTAzMzJaMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEr
MCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMv
U3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5o0luEj4gypQIp71Xi2TlXyLYrj9WkRy+d9BO
0FHPYnAsC99/jx/ibNRwIfAoFhZd+LDscdRSckvwuFSz0bKg3z+9o7cwlVAC9AwMWe8IM0Lx
c+8etYxsX4WIamG9fjzzi5GAW5ESKzzIN3SxHSplyGCWFwx/pgf1f4y6O9/ym+4f6zaDYP6B
x0r+SaJcr6eSGNm7X3EwX1v7XpRBY+aw019o7k72d0IX910F+XGt0OwNdM61Ff3FiTiexeUZ
bWxCGm6GZl+SQVG9xYVIgHQaLXoQF+g2wzrmKCbVcZhqH+hrlRnD6PfCuEyX/BR6PlAPRDlQ
6f1u3wqik+LF5P15AgMBAAGjggNbMIIDVzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBpjAd
BgNVHQ4EFgQUe4mckpckoYRHAst0/C70rNwy5fMwgagGA1UdIwSBoDCBnYAUTgvvGqRAW6UX
aYcwyjRoQ9BBrvKhgYGkfzB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UE
AxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHmCAQEwCQYDVR0SBAIwADA9Bggr
BgEFBQcBAQQxMC8wLQYIKwYBBQUHMAKGIWh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2Nh
LmNydDBgBgNVHR8EWTBXMCygKqAohiZodHRwOi8vY2VydC5zdGFydGNvbS5vcmcvc2ZzY2Et
Y3JsLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20vc2ZzY2EuY3JsMIIBXQYD
VR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBBDCCATswLwYIKwYBBQUHAgEWI2h0dHA6Ly9j
ZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRwOi8vY2VydC5z
dGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYgU3RhcnQg
Q29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5LCBy
ZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQu
c3RhcnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMFAGCWCGSAGG+EIB
DQRDFkFTdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRlIEZyZWUgU1NMIEVt
YWlsIENlcnRpZmljYXRlczANBgkqhkiG9w0BAQUFAAOCAgEAUpcEDdsKFRCxFBxcSm+8oMTT
fpS7fbZkxWHx5fHDjvAgaBQ+oY0tk4xtbD6VxeHYjxI63+hj8jICnqeVXPe34Bu+XzekIn2T
lrnPCQobKdQF2p52QgUvIxSURed0jcBaCBV22DSKaUqDOzD/Tx6VQy78zpblXjRH7OALE/+H
jzJVmspdnBUUtQOLYgPo924xkxR25VDdgtEE5vAXa/g2oCeZhy0ZEO4NbgIayAYCJcJRDz0h
dD2Ahec65Kw6LB3N7VXEjiRR5/WoKwH/QteRzPJbFDc1somrApjm2cyg+5nbm1RHeFIz+GxX
luRrPztvhNcby0PtAjqwY1txi4sW0R6ZJPuZ2DZ1/dzckoFhyZgFyOX3SEkNXVLldjTzneFJ
FnVSzDbc720vq184jR7pYoI9+f5QJ96a0iLxEAG8SJ5auBwXI/w2FmKmwmdMvJ8/17+B4sMC
IRrXrDQl2xzpVXh/Qcmk5nf+w8HFmqATGy1OUAQbXga7AySAUaYhvvFk50u0bO5DiUGwzrJO
3TrwvaC2Ei4EFaBmIVgG7TfU5TaaY9IcJSCQ7AGUYE3RFSRpsLOoA3DsxP42YERgS/Nxw29+
YqZtPoO2QPbNpI7xnHVCfNBabx3oDIf438nFfv8spw5BQqBSbEF1izJA57eE64CzHnt7lB20
OFD11avYopwxggPKMIIDxgIBATCBkjCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBAgFVMAkGBSsOAwIaBQCgggIMMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZI
hvcNAQkFMQ8XDTEwMDQyMzE2MDEwMlowIwYJKoZIhvcNAQkEMRYEFOyjLRRcnAF3D6JTAv4y
KJwPu0JcMF8GCSqGSIb3DQEJDzFSMFAwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqG
SIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBowYJ
KwYBBAGCNxAEMYGVMIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UE
AxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0ECAVUw
gaUGCyqGSIb3DQEJEAILMYGVoIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRD
b20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4
MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQg
Q0ECAVUwDQYJKoZIhvcNAQEBBQAEggEAgCThLI81394trAqZLbmd90YNGYr7RPX+PH0dUy0P
E02X6u/PHyzGn8a/VGt2kKG1iB/YWI/EDKNhD9vkS88dIbtgmUoedFGiIUwTeAekmtu9MDPc
ei3sIqUJC0DCsV4CNeqOdPZNMW91p6++6gH6GPfFLxD5lpgOweX8UorncCn4w/mNkI2iJ/Vq
EPlssIUop41zwxCZKhvFpOs8Tj7OQZj4olHRs6lCWjUk3nsog+/ISjUVwo0imL+AfefEefNJ
tUW0DNJRzjJ9fmbIl/2zCCVQlTh+OucnXvM7NmhzepvGnm4U4nNSveUqSui9QpAgfyrsOHuK
D2HCwPU/1uXOIgAAAAAAAA==
--------------ms010200070106020407050707--

From lshepard@facebook.com  Fri Apr 23 10:04:02 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1A28A3A685E for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 10:04:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.77
X-Spam-Level: 
X-Spam-Status: No, score=-1.77 tagged_above=-999 required=5 tests=[AWL=-1.105,  BAYES_50=0.001, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IfQH3riGAABk for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 10:04:00 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id B0D823A6829 for <oauth@ietf.org>; Fri, 23 Apr 2010 10:04:00 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.212]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3NH3D6H006081 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Fri, 23 Apr 2010 10:03:13 -0700
Received: from sc-hub05.TheFacebook.com (192.168.18.82) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.689.0; Fri, 23 Apr 2010 10:03:48 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub05.TheFacebook.com ([192.168.18.82]) with mapi; Fri, 23 Apr 2010 10:03:48 -0700
From: Luke Shepard <lshepard@facebook.com>
To: Justin Richer <jricher@mitre.org>, Greg Brail <gbrail@sonoasystems.com>
Date: Fri, 23 Apr 2010 10:03:42 -0700
Thread-Topic: [OAUTH-WG] New service provider that supports OAuth 2.0
Thread-Index: Acri9PqFzsRVt9v+SMuAn76PxM3CtwAEVk3Q
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66E0B5@SC-MBXC1.TheFacebook.com>
References: <C7F49997.2BF3F%atom@yahoo-inc.com> <137315b9d471f0b8c28d76a393cb31ef@mail.gmail.com> <1272034508.9646.46.camel@localhost.localdomain>
In-Reply-To: <1272034508.9646.46.camel@localhost.localdomain>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-23_10:2010-02-06, 2010-04-23, 2010-04-23 signatures=0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] New service provider that supports OAuth 2.0
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 17:04:02 -0000

Hey Justin, al-

I'll send a more complete email this afternoon with the details of the Face=
book OAuth deployment. For now I just wanted to respond to your questions:

>  Is Facebook committed to tracking the spec in its development

Yes. Our main focus right now is stability and bug fixing for what we just =
launched, but as the working group releases drafts we will participate and =
upgrade accordingly. We have been very vocal on the list the past month, mo=
stly because we wanted to get the core areas right before we launched. I'm =
pretty happy with where we are as a starting point.

>  If so where does that put developers that need to change their libraries=
?

Now that it's in the wild, we must support backwards compatibility so we do=
n't break existing apps. For that reason, we will likely support only a sub=
set of the spec for some time. The parts that are still churning quite a bi=
t (desktop flows, signatures, etc) we will probably not launch until they h=
ave stabilized, but the flows we do support (web server, user agent, client=
 credentials) we will maintain backwards compatibility.

>   I can't help but fear that we'll end up in situation where the largest =
vendor's extensions become better supported than the real standard

I agree that this is a risk, but we are doing everything we can to mitigate=
 it. The version of OAuth we pushed on Wednesday is up to date as of Eran's=
 Monday draft - I think that should be taken as a sign of honest good faith=
 to stay in sync here. There will no doubt be some churn as the spec evolve=
s. I promise to try to raise any issues we see early so that if Facebook en=
ds up not supporting some piece of the spec, the reasons are obvious.

I think the real way to prevent that is to have multiple interoperable impl=
ementations by different vendors so that library makers can test across pla=
tforms.


-----Original Message-----
From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of J=
ustin Richer
Sent: Friday, April 23, 2010 7:55 AM
To: Greg Brail
Cc: OAuth WG
Subject: Re: [OAUTH-WG] New service provider that supports OAuth 2.0

I was surprised that this announcement didn't garner more commentary
from the list here, as this decision worries me a little bit. There are
a lot of components of the OAuth protocol that aren't stabilized into a
real standard yet, and I'm worried that the Facebook implementation of
"OAuth 2.0" will become the de-facto standard before the IETF group can
come up with something final.=20

Is Facebook committed to tracking the spec in its development? If so,
where does that put developers that need to change their libraries as
the underlying spec changes? If not, where does that leave the official
OAuth spec?

I will say that I am absolutely *thrilled* to see Facebook at the table,
and Luke and David have done some great work here. I am ecstatic that
Facebook is pushing away from a proprietary stack into an open standard
at all. Even so, I can't help but fear that we'll end up in a situation
where the largest vendor's extensions and quirks become better supported
than the real standard, like with HTML and CSS.

 -- Justin


On Wed, 2010-04-21 at 16:05 -0400, Greg Brail wrote:
> Whoa, it was!
>=20
> =20
>=20
> So, does anyone know what Facebook is planning to do when the spec
> changes, which I assume it's going to keep doing for a while?=20
>=20
> =20
>=20
> I mean, the part of the spec that they're describing on the page has
> been pretty stable, but if I were building an app for the Facebook
> platform I'd be wondering.
>=20
> =20
>=20
> From:oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> Of Allen Tom
> Sent: Wednesday, April 21, 2010 3:01 PM
> To: OAuth WG
> Subject: [OAUTH-WG] New service provider that supports OAuth 2.0
>=20
>=20
> =20
>=20
> Well that was fast!
>=20
> http://developers.facebook.com/docs/authentication/
>=20
> Allen
>=20
>=20


_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

From raffi@twitter.com  Fri Apr 23 10:07:02 2010
Return-Path: <raffi@twitter.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2E3743A6A79 for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 10:07:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.624
X-Spam-Level: 
X-Spam-Status: No, score=0.624 tagged_above=-999 required=5 tests=[BAYES_50=0.001, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cA5CifY55igU for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 10:07:00 -0700 (PDT)
Received: from mail-qy0-f181.google.com (mail-qy0-f181.google.com [209.85.221.181]) by core3.amsl.com (Postfix) with ESMTP id B79473A6829 for <oauth@ietf.org>; Fri, 23 Apr 2010 10:06:59 -0700 (PDT)
Received: by qyk11 with SMTP id 11so11699515qyk.13 for <oauth@ietf.org>; Fri, 23 Apr 2010 10:06:45 -0700 (PDT)
Received: by 10.229.188.212 with SMTP id db20mr419019qcb.5.1272042404403; Fri,  23 Apr 2010 10:06:44 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.213.194 with HTTP; Fri, 23 Apr 2010 10:06:24 -0700 (PDT)
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66E0B5@SC-MBXC1.TheFacebook.com>
References: <C7F49997.2BF3F%atom@yahoo-inc.com> <137315b9d471f0b8c28d76a393cb31ef@mail.gmail.com>  <1272034508.9646.46.camel@localhost.localdomain> <2513A610118CC14C8E622C376C8DEC93D54D66E0B5@SC-MBXC1.TheFacebook.com>
From: Raffi Krikorian <raffi@twitter.com>
Date: Fri, 23 Apr 2010 10:06:24 -0700
Message-ID: <q2u82c33f601004231006n873ca7d8s46cc6edbf5381676@mail.gmail.com>
To: Luke Shepard <lshepard@facebook.com>
Content-Type: multipart/alternative; boundary=0016363b86a8a768d80484ea7393
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] New service provider that supports OAuth 2.0
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 17:07:02 -0000

--0016363b86a8a768d80484ea7393
Content-Type: text/plain; charset=ISO-8859-1

just as a counter - twitter is taking a more paced stance.  our @anywhere is
built upon the oauth2 draft from a few weeks ago, and we're going to be
spending a portion of next week catching it up to the current draft.  its my
personal goal to open the endpoint up so that developers can start to use
oauth2 in the wild, however, i'm trying to balance that with minimizing
churn.

On Fri, Apr 23, 2010 at 10:03 AM, Luke Shepard <lshepard@facebook.com>wrote:

> Hey Justin, al-
>
> I'll send a more complete email this afternoon with the details of the
> Facebook OAuth deployment. For now I just wanted to respond to your
> questions:
>
> >  Is Facebook committed to tracking the spec in its development
>
> Yes. Our main focus right now is stability and bug fixing for what we just
> launched, but as the working group releases drafts we will participate and
> upgrade accordingly. We have been very vocal on the list the past month,
> mostly because we wanted to get the core areas right before we launched. I'm
> pretty happy with where we are as a starting point.
>
> >  If so where does that put developers that need to change their
> libraries?
>
> Now that it's in the wild, we must support backwards compatibility so we
> don't break existing apps. For that reason, we will likely support only a
> subset of the spec for some time. The parts that are still churning quite a
> bit (desktop flows, signatures, etc) we will probably not launch until they
> have stabilized, but the flows we do support (web server, user agent, client
> credentials) we will maintain backwards compatibility.
>
> >   I can't help but fear that we'll end up in situation where the largest
> vendor's extensions become better supported than the real standard
>
> I agree that this is a risk, but we are doing everything we can to mitigate
> it. The version of OAuth we pushed on Wednesday is up to date as of Eran's
> Monday draft - I think that should be taken as a sign of honest good faith
> to stay in sync here. There will no doubt be some churn as the spec evolves.
> I promise to try to raise any issues we see early so that if Facebook ends
> up not supporting some piece of the spec, the reasons are obvious.
>
> I think the real way to prevent that is to have multiple interoperable
> implementations by different vendors so that library makers can test across
> platforms.
>
>
> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of
> Justin Richer
> Sent: Friday, April 23, 2010 7:55 AM
> To: Greg Brail
> Cc: OAuth WG
> Subject: Re: [OAUTH-WG] New service provider that supports OAuth 2.0
>
> I was surprised that this announcement didn't garner more commentary
> from the list here, as this decision worries me a little bit. There are
> a lot of components of the OAuth protocol that aren't stabilized into a
> real standard yet, and I'm worried that the Facebook implementation of
> "OAuth 2.0" will become the de-facto standard before the IETF group can
> come up with something final.
>
> Is Facebook committed to tracking the spec in its development? If so,
> where does that put developers that need to change their libraries as
> the underlying spec changes? If not, where does that leave the official
> OAuth spec?
>
> I will say that I am absolutely *thrilled* to see Facebook at the table,
> and Luke and David have done some great work here. I am ecstatic that
> Facebook is pushing away from a proprietary stack into an open standard
> at all. Even so, I can't help but fear that we'll end up in a situation
> where the largest vendor's extensions and quirks become better supported
> than the real standard, like with HTML and CSS.
>
>  -- Justin
>
>
> On Wed, 2010-04-21 at 16:05 -0400, Greg Brail wrote:
> > Whoa, it was!
> >
> >
> >
> > So, does anyone know what Facebook is planning to do when the spec
> > changes, which I assume it's going to keep doing for a while?
> >
> >
> >
> > I mean, the part of the spec that they're describing on the page has
> > been pretty stable, but if I were building an app for the Facebook
> > platform I'd be wondering.
> >
> >
> >
> > From:oauth-bounces@ietf.org <From%3Aoauth-bounces@ietf.org> [mailto:
> oauth-bounces@ietf.org] On Behalf
> > Of Allen Tom
> > Sent: Wednesday, April 21, 2010 3:01 PM
> > To: OAuth WG
> > Subject: [OAUTH-WG] New service provider that supports OAuth 2.0
> >
> >
> >
> >
> > Well that was fast!
> >
> > http://developers.facebook.com/docs/authentication/
> >
> > Allen
> >
> >
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>



-- 
Raffi Krikorian
Twitter Platform Team
http://twitter.com/raffi

--0016363b86a8a768d80484ea7393
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

just as a counter - twitter is taking a more paced stance. =A0our @anywhere=
 is built upon the oauth2 draft from a few weeks ago, and we&#39;re going t=
o be spending a portion of next week catching it up to the current draft. =
=A0its my personal goal to open the endpoint up so that developers can star=
t to use oauth2 in the wild, however, i&#39;m trying to balance that with m=
inimizing churn.<br>

<br><div class=3D"gmail_quote">On Fri, Apr 23, 2010 at 10:03 AM, Luke Shepa=
rd <span dir=3D"ltr">&lt;<a href=3D"mailto:lshepard@facebook.com">lshepard@=
facebook.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" sty=
le=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Hey Justin, al-<br>
<br>
I&#39;ll send a more complete email this afternoon with the details of the =
Facebook OAuth deployment. For now I just wanted to respond to your questio=
ns:<br>
<div class=3D"im"><br>
&gt; =A0Is Facebook committed to tracking the spec in its development<br>
<br>
</div>Yes. Our main focus right now is stability and bug fixing for what we=
 just launched, but as the working group releases drafts we will participat=
e and upgrade accordingly. We have been very vocal on the list the past mon=
th, mostly because we wanted to get the core areas right before we launched=
. I&#39;m pretty happy with where we are as a starting point.<br>


<br>
&gt; =A0If so where does that put developers that need to change their libr=
aries?<br>
<br>
Now that it&#39;s in the wild, we must support backwards compatibility so w=
e don&#39;t break existing apps. For that reason, we will likely support on=
ly a subset of the spec for some time. The parts that are still churning qu=
ite a bit (desktop flows, signatures, etc) we will probably not launch unti=
l they have stabilized, but the flows we do support (web server, user agent=
, client credentials) we will maintain backwards compatibility.<br>


<br>
&gt; =A0 I can&#39;t help but fear that we&#39;ll end up in situation where=
 the largest vendor&#39;s extensions become better supported than the real =
standard<br>
<br>
I agree that this is a risk, but we are doing everything we can to mitigate=
 it. The version of OAuth we pushed on Wednesday is up to date as of Eran&#=
39;s Monday draft - I think that should be taken as a sign of honest good f=
aith to stay in sync here. There will no doubt be some churn as the spec ev=
olves. I promise to try to raise any issues we see early so that if Faceboo=
k ends up not supporting some piece of the spec, the reasons are obvious.<b=
r>


<br>
I think the real way to prevent that is to have multiple interoperable impl=
ementations by different vendors so that library makers can test across pla=
tforms.<br>
<div><div></div><div class=3D"h5"><br>
<br>
-----Original Message-----<br>
From: <a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> =
[mailto:<a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.org</a=
>] On Behalf Of Justin Richer<br>
Sent: Friday, April 23, 2010 7:55 AM<br>
To: Greg Brail<br>
Cc: OAuth WG<br>
Subject: Re: [OAUTH-WG] New service provider that supports OAuth 2.0<br>
<br>
I was surprised that this announcement didn&#39;t garner more commentary<br=
>
from the list here, as this decision worries me a little bit. There are<br>
a lot of components of the OAuth protocol that aren&#39;t stabilized into a=
<br>
real standard yet, and I&#39;m worried that the Facebook implementation of<=
br>
&quot;OAuth 2.0&quot; will become the de-facto standard before the IETF gro=
up can<br>
come up with something final.<br>
<br>
Is Facebook committed to tracking the spec in its development? If so,<br>
where does that put developers that need to change their libraries as<br>
the underlying spec changes? If not, where does that leave the official<br>
OAuth spec?<br>
<br>
I will say that I am absolutely *thrilled* to see Facebook at the table,<br=
>
and Luke and David have done some great work here. I am ecstatic that<br>
Facebook is pushing away from a proprietary stack into an open standard<br>
at all. Even so, I can&#39;t help but fear that we&#39;ll end up in a situa=
tion<br>
where the largest vendor&#39;s extensions and quirks become better supporte=
d<br>
than the real standard, like with HTML and CSS.<br>
<br>
=A0-- Justin<br>
<br>
<br>
On Wed, 2010-04-21 at 16:05 -0400, Greg Brail wrote:<br>
&gt; Whoa, it was!<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; So, does anyone know what Facebook is planning to do when the spec<br>
&gt; changes, which I assume it&#39;s going to keep doing for a while?<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; I mean, the part of the spec that they&#39;re describing on the page h=
as<br>
&gt; been pretty stable, but if I were building an app for the Facebook<br>
&gt; platform I&#39;d be wondering.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; <a href=3D"mailto:From%3Aoauth-bounces@ietf.org">From:oauth-bounces@ie=
tf.org</a> [mailto:<a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@=
ietf.org</a>] On Behalf<br>
&gt; Of Allen Tom<br>
&gt; Sent: Wednesday, April 21, 2010 3:01 PM<br>
&gt; To: OAuth WG<br>
&gt; Subject: [OAUTH-WG] New service provider that supports OAuth 2.0<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Well that was fast!<br>
&gt;<br>
&gt; <a href=3D"http://developers.facebook.com/docs/authentication/" target=
=3D"_blank">http://developers.facebook.com/docs/authentication/</a><br>
&gt;<br>
&gt; Allen<br>
&gt;<br>
&gt;<br>
<br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br><br clear=3D"all"><br>-- <br>Raffi Kriko=
rian<br>Twitter Platform Team<br><a href=3D"http://twitter.com/raffi">http:=
//twitter.com/raffi</a><br>

--0016363b86a8a768d80484ea7393--

From beaton@google.com  Fri Apr 23 10:07:29 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 71B0A3A6829 for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 10:07:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.76
X-Spam-Level: 
X-Spam-Status: No, score=-101.76 tagged_above=-999 required=5 tests=[AWL=0.217, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UkfEQ4lqIcpt for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 10:07:28 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 775BC3A67EF for <oauth@ietf.org>; Fri, 23 Apr 2010 10:07:28 -0700 (PDT)
Received: from hpaq14.eem.corp.google.com (hpaq14.eem.corp.google.com [10.3.21.14]) by smtp-out.google.com with ESMTP id o3NH7GOl006673 for <oauth@ietf.org>; Fri, 23 Apr 2010 19:07:16 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1272042436; bh=dBRc0nFsDfxGmwXr3HI4Bxx7Qb0=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=F3zVQUBDNPFIbQaV8LaaukxzG1gYD/bKx804jgAKo4Yibkznv71vh1Q67oh778Uqu lENPFd3FrKUCy8eNhQ0WQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=KNjuj2dcb2XRF43zdW/iChrQ9X+PTBmSCgn7Xt7/IJRlnLbooIVo73BelhFxM8jbn 84qx4zmCWv762NlXnPCxg==
Received: from pxi18 (pxi18.prod.google.com [10.243.27.18]) by hpaq14.eem.corp.google.com with ESMTP id o3NH7EpO005087 for <oauth@ietf.org>; Fri, 23 Apr 2010 19:07:15 +0200
Received: by pxi18 with SMTP id 18so936175pxi.29 for <oauth@ietf.org>; Fri, 23 Apr 2010 10:07:13 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.142.209.17 with SMTP id h17mr218097wfg.303.1272042433635; Fri,  23 Apr 2010 10:07:13 -0700 (PDT)
Received: by 10.142.202.10 with HTTP; Fri, 23 Apr 2010 10:07:13 -0700 (PDT)
In-Reply-To: <2513A610118CC14C8E622C376C8DEC93D54D66E0B5@SC-MBXC1.TheFacebook.com>
References: <C7F49997.2BF3F%atom@yahoo-inc.com> <137315b9d471f0b8c28d76a393cb31ef@mail.gmail.com> <1272034508.9646.46.camel@localhost.localdomain> <2513A610118CC14C8E622C376C8DEC93D54D66E0B5@SC-MBXC1.TheFacebook.com>
Date: Fri, 23 Apr 2010 10:07:13 -0700
Message-ID: <g2ydaf5b9571004231007xfb1d39c5p1a29b5fd5d08c987@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Luke Shepard <lshepard@facebook.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] New service provider that supports OAuth 2.0
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 17:07:29 -0000

On Fri, Apr 23, 2010 at 10:03 AM, Luke Shepard <lshepard@facebook.com> wrote:
> I agree that this is a risk, but we are doing everything we can to mitigate it. The version of OAuth we
> pushed on Wednesday is up to date as of Eran's Monday draft - I think that should be taken as a
> sign of honest good faith to stay in sync here. There will no doubt be some churn as the spec evolves.
> I promise to try to raise any issues we see early so that if Facebook ends up not supporting some
> piece of the spec, the reasons are obvious.

This is going to be really critical to making sure that we have a
mature OAuth 2.0 spec.  Thanks.

From uidude@google.com  Fri Apr 23 10:17:10 2010
Return-Path: <uidude@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8ED2E3A6829 for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 10:17:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.588
X-Spam-Level: 
X-Spam-Status: No, score=-100.588 tagged_above=-999 required=5 tests=[AWL=-1.212, BAYES_50=0.001, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6U9HMFk+yfdy for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 10:16:53 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id AEB4A3A67AB for <oauth@ietf.org>; Fri, 23 Apr 2010 10:16:48 -0700 (PDT)
Received: from wpaz21.hot.corp.google.com (wpaz21.hot.corp.google.com [172.24.198.85]) by smtp-out.google.com with ESMTP id o3NHGa4q013697 for <oauth@ietf.org>; Fri, 23 Apr 2010 19:16:37 +0200
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1272042997; bh=kYd+6hbrSNA3vNkPef6k9Z6Wucs=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=n40HRhNyv2Zame/4D5bTD15el7wuDNBFkV13qyFplShysrSUKIJg0/5GHI1Tw5Nm1 5jlLk18fYxv0JQSGLIHEg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=hXBcFbdzuuBMqZOMzvO7TvOjqQaiFyrPxYTtlI2WGYv0v6URJmRoOGmPLO47kveti cdNrBFwpKG3VBW9k6j99Q==
Received: from vws18 (vws18.prod.google.com [10.241.21.146]) by wpaz21.hot.corp.google.com with ESMTP id o3NHGZYt016751 for <oauth@ietf.org>; Fri, 23 Apr 2010 10:16:35 -0700
Received: by vws18 with SMTP id 18so733341vws.32 for <oauth@ietf.org>; Fri, 23 Apr 2010 10:16:35 -0700 (PDT)
Received: by 10.229.81.81 with SMTP id w17mr437642qck.4.1272042995251; Fri, 23  Apr 2010 10:16:35 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.16.135 with HTTP; Fri, 23 Apr 2010 10:16:15 -0700 (PDT)
In-Reply-To: <C7EE7463.3245B%eran@hueniverse.com>
References: <z2ic8689b661004161800t7881fe6cq6848b1c5e8f1f4b5@mail.gmail.com>  <C7EE7463.3245B%eran@hueniverse.com>
From: Evan Gilbert <uidude@google.com>
Date: Fri, 23 Apr 2010 10:16:15 -0700
Message-ID: <q2kc8689b661004231016gc28d591aw3cf1f38657c2d152@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=00163646d6a2def9360484ea9644
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Combining the Native application and User-agent flows
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 17:17:17 -0000

--00163646d6a2def9360484ea9644
Content-Type: text/plain; charset=ISO-8859-1

On Fri, Apr 16, 2010 at 8:09 PM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

>
>
>
> On 4/16/10 6:00 PM, "Evan Gilbert" <uidude@google.com> wrote:
>
> > - Add text to the spec to give overview of options for native app
> developers
>
> I need a proposal.
>

Here's a proposal for text to cover the options for native applications

*3.8 Native Applications*
Applications running in an operating system that have the ability to launch
or embed a web browser can use any of the User Delegation flows or the End
User Credentials flow to get an access token for the user.

Some options for native applications:

   - Launch an external browser and have it redirect back to your app using
   a custom URI scheme. This works with the Web Server flow and User Agent
   flow.
   - Launch an external browser & poll for changes to the window title. This
   works with the Web Server flow with a custom redirect result page that puts
   the verification code in the title.
   - Use an embedded browser and read the redirect URL. This works with the
   Web Server flow and User Agent flow.
   - Use the Device profile with either an external or embedded browser. The
   application will open a browser and then poll the authorization server for
   results.
   - Use the Username and Password Flow and prompt the user for their
   credentials. This is generally discouraged as it hands the user's password
   directly to the 3rd party and may not work with more complex authentication
   schemes.

Factors in choosing between launching an external browser and an embedded
browser:

   - External browser may improve completion rate as the user may already be
   logged in and not have to re-enter username and password.
   - Embedded browser often has a better user flow, as you don't have to
   switch contexts and open a new window.
   - Embedded browser is less secure because users are entering their
   password in a screen within a target app.



>
> EHL
>
>

--00163646d6a2def9360484ea9644
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Fri, Apr 16, 2010 at 8:09 PM, Eran Ha=
mmer-Lahav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com">era=
n@hueniverse.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote"=
 style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class=3D"im"><br>
<br>
<br>
On 4/16/10 6:00 PM, &quot;Evan Gilbert&quot; &lt;<a href=3D"mailto:uidude@g=
oogle.com">uidude@google.com</a>&gt; wrote:<br>
<br>
&gt; - Add text to the spec to give overview of options for native app deve=
lopers<br>
<br>
</div>I need a proposal.<br></blockquote><div><br></div><div>Here&#39;s a p=
roposal for text to cover the options for native applications</div><div><br=
></div><div><div><b>3.8 Native Applications</b></div><div>Applications runn=
ing in an operating system that have the ability to launch or embed a web b=
rowser can use any of the User Delegation flows or the End User Credentials=
 flow to get an access token for the user.<br>

</div><br>Some options for native applications:</div><div><ul><li>Launch an=
 external browser and have it redirect back to your app using a custom URI =
scheme. This works with the Web Server flow and User Agent flow.</li><li>

Launch an external browser &amp; poll for changes to the window title. This=
 works with the Web Server flow with a custom redirect result page that put=
s the verification code in the title.</li><li>Use an embedded browser and r=
ead the redirect URL. This works with the Web Server flow and User Agent fl=
ow.</li>

<li>Use the Device profile with either an external or embedded browser. The=
 application will open a browser and then poll the authorization server for=
 results.</li><li>Use the Username and Password Flow and prompt the user fo=
r their credentials. This is=A0generally discouraged as it hands the user&#=
39;s password directly to the 3rd party and may not work with more complex =
authentication schemes.</li>

</ul><div>Factors in choosing between launching an external browser and an =
embedded browser:</div></div><div><ul><li>External browser may improve comp=
letion rate as the user may already be logged in and not=A0have to re-enter=
 username and password.</li>

<li>Embedded browser often has a better user flow, as you don&#39;t have to=
 switch contexts and open a new window.</li><li>Embedded browser is less se=
cure because users are entering their password in a screen within a target =
app.</li>

</ul></div><div>=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:=
0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<font color=3D"#888888"><br>
EHL<br>
<br>
</font></blockquote></div><br>

--00163646d6a2def9360484ea9644--

From recordond@gmail.com  Fri Apr 23 10:54:34 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 431A33A69A2 for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 10:54:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.532
X-Spam-Level: 
X-Spam-Status: No, score=-2.532 tagged_above=-999 required=5 tests=[AWL=0.066,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id G4JUFG0jV7bN for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 10:54:33 -0700 (PDT)
Received: from mail-pz0-f187.google.com (mail-pz0-f187.google.com [209.85.222.187]) by core3.amsl.com (Postfix) with ESMTP id 78F773A6937 for <oauth@ietf.org>; Fri, 23 Apr 2010 10:54:33 -0700 (PDT)
Received: by pzk17 with SMTP id 17so6740735pzk.5 for <oauth@ietf.org>; Fri, 23 Apr 2010 10:54:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=sIJHimNjbGJRDuZH7wGL+qQeKMgchk0aJv5xpH8W9bg=; b=HgEozaKPF3g2MGet8CdEAcZfj6Fg/ys3v7DuBkBgUFyBrfoDmxy8y4tWoc6F/H74N7 K722mN0ePYE3toAkobWXk4NZH8XQ1OfDVGCPRLX2cuHW571dVEP8kxTMORDPAixbN0Gx uB5mS3SHr4avc0Sb1D5w03axu80A2dpmnalRc=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=Hagg9d2mbNMz1DbehxZ05zF96VLuEZHl1vyvSFHcSgv71LBK4XCXJvQezWHl0rYas+ U0aMtv3k7vKR9UT+Qav6BYoukzh1m7JMB1M3NJgF2TKhOVXmhPaWwL1u2JUxefUil0+u oVNM74Ie4gND42Hmg7HcEL2SdJjz5gTF3QJPY=
MIME-Version: 1.0
Received: by 10.115.133.14 with SMTP id k14mr591829wan.73.1272045260778; Fri,  23 Apr 2010 10:54:20 -0700 (PDT)
Received: by 10.231.182.196 with HTTP; Fri, 23 Apr 2010 10:54:20 -0700 (PDT)
In-Reply-To: <w2jd37b4b431004230420vacda67aen432ed256b4d93546@mail.gmail.com>
References: <w2jd37b4b431004230420vacda67aen432ed256b4d93546@mail.gmail.com>
Date: Fri, 23 Apr 2010 10:54:20 -0700
Message-ID: <q2ufd6741651004231054ta2031cc5n18ca13bba154ca7f@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Blaine Cook <romeda@gmail.com>
Content-Type: multipart/alternative; boundary=0016e648d954e82c180484eb1de7
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Call for Consensus (Deadline: April 22)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 17:54:34 -0000

--0016e648d954e82c180484eb1de7
Content-Type: text/plain; charset=ISO-8859-1

+1

Eran has done a really great job editing this document!


On Fri, Apr 23, 2010 at 4:20 AM, Blaine Cook <romeda@gmail.com> wrote:

> This is a call for consensus on accepting Eran's latest OAuth draft,
> draft-hammer-oauth2 [1] as a working group item. Assuming no
> objections by end-of-day Tuesday, April 22nd, this draft will be
> promoted to an active working group document on Wednesday, April 23rd.
>
> b.
>
> [1] http://datatracker.ietf.org/doc/draft-hammer-oauth2/
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--0016e648d954e82c180484eb1de7
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

+1<div><br></div><div>Eran has done a really great job editing this documen=
t!<br><div><br><br><div class=3D"gmail_quote">On Fri, Apr 23, 2010 at 4:20 =
AM, Blaine Cook <span dir=3D"ltr">&lt;<a href=3D"mailto:romeda@gmail.com">r=
omeda@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">This is a call for consensus on accepting E=
ran&#39;s latest OAuth draft,<br>
draft-hammer-oauth2 [1] as a working group item. Assuming no<br>
objections by end-of-day Tuesday, April 22nd, this draft will be<br>
promoted to an active working group document on Wednesday, April 23rd.<br>
<br>
b.<br>
<br>
[1] <a href=3D"http://datatracker.ietf.org/doc/draft-hammer-oauth2/" target=
=3D"_blank">http://datatracker.ietf.org/doc/draft-hammer-oauth2/</a><br>
<div><div></div><div class=3D"h5">_________________________________________=
______<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br></div></div>

--0016e648d954e82c180484eb1de7--

From romeda@gmail.com  Fri Apr 23 14:31:22 2010
Return-Path: <romeda@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 26F0A3A6A94 for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 14:31:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1tsi-cUQiJgP for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 14:31:21 -0700 (PDT)
Received: from mail-pv0-f172.google.com (mail-pv0-f172.google.com [74.125.83.172]) by core3.amsl.com (Postfix) with ESMTP id 64A913A69A2 for <oauth@ietf.org>; Fri, 23 Apr 2010 14:31:21 -0700 (PDT)
Received: by pvg7 with SMTP id 7so2534551pvg.31 for <oauth@ietf.org>; Fri, 23 Apr 2010 14:31:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:from:date :message-id:subject:to:content-type; bh=5VVJFGKABjG5y0b7VjQmC28a7dRJyxiBHAMGXI8YdiM=; b=SNoHNDH+RRnThesCeR4VhjC9k78vxtc4Xbc6Dd0TO2FWcVXPbr+FwIfw7GxOR7aYbo hU2Vf2E3wUOvA7raJ3mCcyfl9guctICsEXshOvDdwirfU9NtArs/OJOWmQswjzaNm5BM M4eZCKBNoA9hkw3tsL2kNeXLJoux+VEfzFj2w=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; b=RIEU3wIssf9QzUJmmXBYwBdZMHxYPEBra212itCY+i7SJ7YSnUBlNTKP5gWvN46Zsn 9bmetVv2RJbRl6hrFEPmpDTBFFrd3ZOJWmB+RLfelFTMnbFR6G6c0pgIWLXl4jsi9gAP Wt4Gftav/qvPSrI8R0D7z9Ml7DErBlFPoSbK0=
Received: by 10.141.139.21 with SMTP id r21mr933012rvn.2.1272058268149; Fri,  23 Apr 2010 14:31:08 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.52.21 with HTTP; Fri, 23 Apr 2010 14:30:48 -0700 (PDT)
From: Blaine Cook <romeda@gmail.com>
Date: Fri, 23 Apr 2010 22:30:48 +0100
Message-ID: <j2zd37b4b431004231430n1172a7fai59d7caa26bd48ca4@mail.gmail.com>
To: oauth@ietf.org
Content-Type: text/plain; charset=UTF-8
Subject: Re: [OAUTH-WG] Call for Consensus (Deadline: April 27)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 21:31:22 -0000

On 23 April 2010 17:01, Peter Saint-Andre <stpeter@stpeter.im> wrote:
> On 4/23/10 8:05 AM, Prateek Mishra wrote:
>> Do you mean April 29 (Thu) and April 30th (Fri)?
>
> Clearly yes.

lol, neither. I think I managed to look at a 2009 calendar somehow,
and travel has left me completely unaware as to the current date.

To clarify: Hannes and I will promote Eran's draft to a working group
document on Wednesday the *28th* barring any concerns. The deadline is
Tuesday, the 27th.

Sorry for any confusion!

b.

From stpeter@stpeter.im  Fri Apr 23 14:47:36 2010
Return-Path: <stpeter@stpeter.im>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 592B33A6856 for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 14:47:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.334
X-Spam-Level: 
X-Spam-Status: No, score=-2.334 tagged_above=-999 required=5 tests=[AWL=0.265,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mpGpwKuxlEhq for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 14:47:35 -0700 (PDT)
Received: from stpeter.im (stpeter.im [207.210.219.233]) by core3.amsl.com (Postfix) with ESMTP id 6DBEE3A67C2 for <oauth@ietf.org>; Fri, 23 Apr 2010 14:47:35 -0700 (PDT)
Received: from dhcp-64-101-72-158.cisco.com (dhcp-64-101-72-158.cisco.com [64.101.72.158]) (Authenticated sender: stpeter) by stpeter.im (Postfix) with ESMTPSA id 2D3AD40E26 for <oauth@ietf.org>; Fri, 23 Apr 2010 15:47:24 -0600 (MDT)
Message-ID: <4BD2156A.7010900@stpeter.im>
Date: Fri, 23 Apr 2010 15:47:22 -0600
From: Peter Saint-Andre <stpeter@stpeter.im>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: oauth@ietf.org
References: <j2zd37b4b431004231430n1172a7fai59d7caa26bd48ca4@mail.gmail.com>
In-Reply-To: <j2zd37b4b431004231430n1172a7fai59d7caa26bd48ca4@mail.gmail.com>
X-Enigmail-Version: 1.0.1
OpenPGP: url=http://www.saint-andre.com/me/stpeter.asc
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms020903080803000408040308"
Subject: Re: [OAUTH-WG] Call for Consensus (Deadline: April 27)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 21:47:36 -0000

This is a cryptographically signed message in MIME format.

--------------ms020903080803000408040308
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 4/23/10 3:30 PM, Blaine Cook wrote:
> On 23 April 2010 17:01, Peter Saint-Andre <stpeter@stpeter.im> wrote:
>> On 4/23/10 8:05 AM, Prateek Mishra wrote:
>>> Do you mean April 29 (Thu) and April 30th (Fri)?
>>
>> Clearly yes.
>=20
> lol, neither. I think I managed to look at a 2009 calendar somehow,
> and travel has left me completely unaware as to the current date.

No problem, you can blame the volcanic ash, I'm sure. ;-)



--------------ms020903080803000408040308
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIWnDCC
B1cwggY/oAMCAQICAVUwDQYJKoZIhvcNAQEFBQAwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQK
Ew1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBT
aWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRl
IENsaWVudCBDQTAeFw0wOTA3MDYwMDAwMDFaFw0xMDA3MDYyMzU5NTlaMIHCMQswCQYDVQQG
EwJVUzERMA8GA1UECBMIQ29sb3JhZG8xDzANBgNVBAcTBkRlbnZlcjEiMCAGA1UEChMZWE1Q
UCBTdGFuZGFyZHMgRm91bmRhdGlvbjEsMCoGA1UECxMjU3RhcnRDb20gVHJ1c3RlZCBDZXJ0
aWZpY2F0ZSBNZW1iZXIxGjAYBgNVBAMTEVBldGVyIFNhaW50LUFuZHJlMSEwHwYJKoZIhvcN
AQkBFhJzdHBldGVyQHN0cGV0ZXIuaW0wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQCas7Mrnh02GakN8sft+HJpU4MwBxEgrGDZ2ZzUxDDt2sEhM+9Q74h955MtgMhK3TeBf6Hs
hDh/8Z9G//k2qNA0M2S5rejTqrmW0Jabca/L7BUZ0GhnU2N/2zeciFUmuZ4A2l1T5IMX2ZVP
XnNIaefBtbImJAbDz3T0vxkzTtcqgW3wL83PMDiqiuM+e1k+VPvOW4f5ZSGkPIhYCDpWqNE5
wZvjrLNMc8jZOPs9DrsYuIVwU72Vhy1tkEh+w6YpYHrdEUAe+eKe6TuxqZ60e9z3O36uiV//
Ms274iD6PbA/IGazJgaAdg6tvPehwTYGJAGmv3PsJKkLGjgoh+RrrM1LAgMBAAGjggOKMIID
hjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
AwQwHQYDVR0OBBYEFOyws3XWgIY9FP1POVqjdZP9Lu38MB0GA1UdEQQWMBSBEnN0cGV0ZXJA
c3RwZXRlci5pbTCBqAYDVR0jBIGgMIGdgBR7iZySlyShhEcCy3T8LvSs3DLl86GBgaR/MH0x
CzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUg
RGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZp
Y2F0aW9uIEF1dGhvcml0eYIBDzCCAUcGA1UdIASCAT4wggE6MIIBNgYLKwYBBAGBtTcBAgAw
ggElMC4GCCsGAQUFBwIBFiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMDQG
CCsGAQUFBwIBFihodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMIG8
BggrBgEFBQcCAjCBrzAUFg1TdGFydENvbSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0
eSwgcmVhZCB0aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENv
bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93
d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwYwYDVR0fBFwwWjAroCmgJ4YlaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vY3J0dTMtY3JsLmNybDAroCmgJ4YlaHR0cDovL2NybC5zdGFydHNz
bC5jb20vY3J0dTMtY3JsLmNybDCBjgYIKwYBBQUHAQEEgYEwfzA5BggrBgEFBQcwAYYtaHR0
cDovL29jc3Auc3RhcnRzc2wuY29tL3N1Yi9jbGFzczMvY2xpZW50L2NhMEIGCCsGAQUFBzAC
hjZodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9jZXJ0cy9zdWIuY2xhc3MzLmNsaWVudC5jYS5j
cnQwIwYDVR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMA0GCSqGSIb3DQEBBQUA
A4IBAQBgv4xFXZqDKSOtnPOVbqOh1brj7oxRaVYk7N0MJG7x9Y/wkO3iwRwizVLcC1bA+D/R
gyFilXx6IQWE63Ge2tu+Y4w5QoHYwuUFQuBZuxvZpOa3ykdgPlBQaBM8m+Ien0skwNggaizA
X9Pc/sMLpP3jkO1iSF4agy4r5Ed+4G10mP5X0zO3gQwq9Uj4F9tX+58kU+fM1P8Sh+BYR4r/
kSbKE3tWcMaKblWPGwX0nYD26Je7Qb+uX/J5lCgozBrHXQWq8N98iklASf2pv+32Oi1dEjmM
UgAm/J2+YmxaI02+c+H6QH8+F3RUjCiRg9XqUNjcrNrnTFnm/iMMZADktsXPMIIHVzCCBj+g
AwIBAgIBVTANBgkqhkiG9w0BAQUFADCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBMB4XDTA5MDcwNjAwMDAwMVoXDTEwMDcwNjIzNTk1OVowgcIxCzAJBgNVBAYTAlVTMREw
DwYDVQQIEwhDb2xvcmFkbzEPMA0GA1UEBxMGRGVudmVyMSIwIAYDVQQKExlYTVBQIFN0YW5k
YXJkcyBGb3VuZGF0aW9uMSwwKgYDVQQLEyNTdGFydENvbSBUcnVzdGVkIENlcnRpZmljYXRl
IE1lbWJlcjEaMBgGA1UEAxMRUGV0ZXIgU2FpbnQtQW5kcmUxITAfBgkqhkiG9w0BCQEWEnN0
cGV0ZXJAc3RwZXRlci5pbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJqzsyue
HTYZqQ3yx+34cmlTgzAHESCsYNnZnNTEMO3awSEz71DviH3nky2AyErdN4F/oeyEOH/xn0b/
+Tao0DQzZLmt6NOquZbQlptxr8vsFRnQaGdTY3/bN5yIVSa5ngDaXVPkgxfZlU9ec0hp58G1
siYkBsPPdPS/GTNO1yqBbfAvzc8wOKqK4z57WT5U+85bh/llIaQ8iFgIOlao0TnBm+Oss0xz
yNk4+z0Ouxi4hXBTvZWHLW2QSH7Dpilget0RQB754p7pO7GpnrR73Pc7fq6JX/8yzbviIPo9
sD8gZrMmBoB2Dq2896HBNgYkAaa/c+wkqQsaOCiH5GuszUsCAwEAAaOCA4owggOGMAkGA1Ud
EwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNV
HQ4EFgQU7LCzddaAhj0U/U85WqN1k/0u7fwwHQYDVR0RBBYwFIESc3RwZXRlckBzdHBldGVy
LmltMIGoBgNVHSMEgaAwgZ2AFHuJnJKXJKGERwLLdPwu9KzcMuXzoYGBpH8wfTELMAkGA1UE
BhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFs
IENlcnRpZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24g
QXV0aG9yaXR5ggEPMIIBRwYDVR0gBIIBPjCCATowggE2BgsrBgEEAYG1NwECADCCASUwLgYI
KwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUH
AgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgbwGCCsGAQUF
BwICMIGvMBQWDVN0YXJ0Q29tIEx0ZC4wAwIBARqBlkxpbWl0ZWQgTGlhYmlsaXR5LCByZWFk
IHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5zdGFy
dHNzbC5jb20vcG9saWN5LnBkZjBjBgNVHR8EXDBaMCugKaAnhiVodHRwOi8vd3d3LnN0YXJ0
c3NsLmNvbS9jcnR1My1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9j
cnR1My1jcmwuY3JsMIGOBggrBgEFBQcBAQSBgTB/MDkGCCsGAQUFBzABhi1odHRwOi8vb2Nz
cC5zdGFydHNzbC5jb20vc3ViL2NsYXNzMy9jbGllbnQvY2EwQgYIKwYBBQUHMAKGNmh0dHA6
Ly93d3cuc3RhcnRzc2wuY29tL2NlcnRzL3N1Yi5jbGFzczMuY2xpZW50LmNhLmNydDAjBgNV
HRIEHDAahhhodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS8wDQYJKoZIhvcNAQEFBQADggEBAGC/
jEVdmoMpI62c85Vuo6HVuuPujFFpViTs3QwkbvH1j/CQ7eLBHCLNUtwLVsD4P9GDIWKVfHoh
BYTrcZ7a275jjDlCgdjC5QVC4Fm7G9mk5rfKR2A+UFBoEzyb4h6fSyTA2CBqLMBf09z+wwuk
/eOQ7WJIXhqDLivkR37gbXSY/lfTM7eBDCr1SPgX21f7nyRT58zU/xKH4FhHiv+RJsoTe1Zw
xopuVY8bBfSdgPbol7tBv65f8nmUKCjMGsddBarw33yKSUBJ/am/7fY6LV0SOYxSACb8nb5i
bFojTb5z4fpAfz4XdFSMKJGD1epQ2Nys2udMWeb+IwxkAOS2xc8wggfiMIIFyqADAgECAgEP
MA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQu
MSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQD
EyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNzEwMjQyMTAzMzJaFw0x
MjEwMjIyMTAzMzJaMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEr
MCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMv
U3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5o0luEj4gypQIp71Xi2TlXyLYrj9WkRy+d9BO
0FHPYnAsC99/jx/ibNRwIfAoFhZd+LDscdRSckvwuFSz0bKg3z+9o7cwlVAC9AwMWe8IM0Lx
c+8etYxsX4WIamG9fjzzi5GAW5ESKzzIN3SxHSplyGCWFwx/pgf1f4y6O9/ym+4f6zaDYP6B
x0r+SaJcr6eSGNm7X3EwX1v7XpRBY+aw019o7k72d0IX910F+XGt0OwNdM61Ff3FiTiexeUZ
bWxCGm6GZl+SQVG9xYVIgHQaLXoQF+g2wzrmKCbVcZhqH+hrlRnD6PfCuEyX/BR6PlAPRDlQ
6f1u3wqik+LF5P15AgMBAAGjggNbMIIDVzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBpjAd
BgNVHQ4EFgQUe4mckpckoYRHAst0/C70rNwy5fMwgagGA1UdIwSBoDCBnYAUTgvvGqRAW6UX
aYcwyjRoQ9BBrvKhgYGkfzB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UE
AxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHmCAQEwCQYDVR0SBAIwADA9Bggr
BgEFBQcBAQQxMC8wLQYIKwYBBQUHMAKGIWh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2Nh
LmNydDBgBgNVHR8EWTBXMCygKqAohiZodHRwOi8vY2VydC5zdGFydGNvbS5vcmcvc2ZzY2Et
Y3JsLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20vc2ZzY2EuY3JsMIIBXQYD
VR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBBDCCATswLwYIKwYBBQUHAgEWI2h0dHA6Ly9j
ZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRwOi8vY2VydC5z
dGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYgU3RhcnQg
Q29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5LCBy
ZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQu
c3RhcnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMFAGCWCGSAGG+EIB
DQRDFkFTdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRlIEZyZWUgU1NMIEVt
YWlsIENlcnRpZmljYXRlczANBgkqhkiG9w0BAQUFAAOCAgEAUpcEDdsKFRCxFBxcSm+8oMTT
fpS7fbZkxWHx5fHDjvAgaBQ+oY0tk4xtbD6VxeHYjxI63+hj8jICnqeVXPe34Bu+XzekIn2T
lrnPCQobKdQF2p52QgUvIxSURed0jcBaCBV22DSKaUqDOzD/Tx6VQy78zpblXjRH7OALE/+H
jzJVmspdnBUUtQOLYgPo924xkxR25VDdgtEE5vAXa/g2oCeZhy0ZEO4NbgIayAYCJcJRDz0h
dD2Ahec65Kw6LB3N7VXEjiRR5/WoKwH/QteRzPJbFDc1somrApjm2cyg+5nbm1RHeFIz+GxX
luRrPztvhNcby0PtAjqwY1txi4sW0R6ZJPuZ2DZ1/dzckoFhyZgFyOX3SEkNXVLldjTzneFJ
FnVSzDbc720vq184jR7pYoI9+f5QJ96a0iLxEAG8SJ5auBwXI/w2FmKmwmdMvJ8/17+B4sMC
IRrXrDQl2xzpVXh/Qcmk5nf+w8HFmqATGy1OUAQbXga7AySAUaYhvvFk50u0bO5DiUGwzrJO
3TrwvaC2Ei4EFaBmIVgG7TfU5TaaY9IcJSCQ7AGUYE3RFSRpsLOoA3DsxP42YERgS/Nxw29+
YqZtPoO2QPbNpI7xnHVCfNBabx3oDIf438nFfv8spw5BQqBSbEF1izJA57eE64CzHnt7lB20
OFD11avYopwxggPKMIIDxgIBATCBkjCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBAgFVMAkGBSsOAwIaBQCgggIMMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZI
hvcNAQkFMQ8XDTEwMDQyMzIxNDcyMlowIwYJKoZIhvcNAQkEMRYEFMwjzQqbMGFBhBhg6C02
bwYN9l0bMF8GCSqGSIb3DQEJDzFSMFAwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqG
SIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBowYJ
KwYBBAGCNxAEMYGVMIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UE
AxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0ECAVUw
gaUGCyqGSIb3DQEJEAILMYGVoIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRD
b20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4
MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQg
Q0ECAVUwDQYJKoZIhvcNAQEBBQAEggEAVvXeCBecqCpDMrQVgYOQy1KZXxPi3TxCFcKfwK7v
gpZjymOIkYw8If/bil5UvXoQ4N3gMknBC/VjiK/w4UK+tkYtwGQUolsNgqbuIANDmVv1TkKW
8B5S/6qbXiRJPQ9sbofGmQ/+Eg1pusEni9nhuySoP4qv4cA9X/e/S84JCrCAPG53epmBjP5D
rNvR77XhSbSb45B9rsmw2xoZ85gcZFrzBrXVE2phAT883ntKSwghhEou09K++vlZuKHfINGI
ATL/byr4cM9chGLZktJJdPU8Mi7jx+DNw2bjsVox6NCSgmvB3UC8f2IaQ06klnUCWKj9H46d
SWO5L9kMhmb7mwAAAAAAAA==
--------------ms020903080803000408040308--

From torsten@lodderstedt.net  Fri Apr 23 15:31:33 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0FC693A691F for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 15:31:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.466
X-Spam-Level: 
X-Spam-Status: No, score=-0.466 tagged_above=-999 required=5 tests=[AWL=-1.417, BAYES_50=0.001, HELO_EQ_DE=0.35, J_CHICKENPOX_56=0.6]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Zp6jI0nCQLkF for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 15:31:31 -0700 (PDT)
Received: from smtprelay04.ispgateway.de (smtprelay04.ispgateway.de [80.67.31.31]) by core3.amsl.com (Postfix) with ESMTP id 3F2BC3A687E for <oauth@ietf.org>; Fri, 23 Apr 2010 15:31:30 -0700 (PDT)
Received: from p4fff0841.dip.t-dialin.net ([79.255.8.65] helo=[127.0.0.1]) by smtprelay04.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O5ROz-00026i-C6; Sat, 24 Apr 2010 00:31:13 +0200
Message-ID: <4BD21FAD.8030706@lodderstedt.net>
Date: Sat, 24 Apr 2010 00:31:09 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: "Manger, James H" <James.H.Manger@team.telstra.com>
References: <C7F1D1FC.32809%eran@hueniverse.com>	<0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com>	<BB02FD4F-071E-4FF5-B3D0-F8D3FA22FEEE@jkemp.net>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7FD26@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<h2ldaf5b9571004221235tb844eb6ah623955979526c1b6@mail.gmail.com>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7FD4A@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<l2idaf5b9571004221350oa0dbeb11ndeb4cb9147407ba9@mail.gmail.com> <255B9BB34FB7D647A506DC292726F6E1125793664B@WSMSG3153V.srv.dir.telstra.com>
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E1125793664B@WSMSG3153V.srv.dir.telstra.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 22:31:33 -0000

> I suspect the key concept is realising that there can be many authz URIs â€” and that that is ok. OAuth libraries should support this concept â€” perhaps by not expecting a single authz URI to be provided in a config file.
>    

I fully agree with your statement. Authorization servers may use 
different URLs for different resource servers. For example, our token 
service uses URLs like

https://tokenservice.example.com/tokens/service1
https://tokenservice.example.com/tokens/service2

to identify services and their respective tokens.

>> b) documenting something that no one has built yet,
>> and that might not actually work
>>      
> Defining a scope field in a 401 response is the novel aspect that â€œmight not actually workâ€. Allowing a 'scope' query parameter in authz URIs is be quite separate.
>
>    

I agree again. Moreover, I would say a 401 response is not the right 
place to talk about scopes. From my point of view, the scope is about 
permissions (authorization) and not about authentication. So a scope 
violation should be signaled using status code 403 (Forbidden).

from rfc2616
"The server understood the request, but is refusing to fulfill it. 
Authorization will not help and the request SHOULD NOT be repeated. If 
the request method was not HEAD and the server wishes to make public why 
the request has not been fulfilled, it SHOULD describe the reason for 
the refusal in the entity. If the server does not wish to make this 
information available to the client, the status code 404 (Not Found) can 
be used instead."

So if the token send with a request is not suffiently scoped, the server 
could respond as follows

HTTP/1.1 403
insufficient permission, required scope=delete

---------------------------------

I followed this thread the last days and came to the following 
conclusions/perception I would like to discuss:

Providing authorization server endpoint URLs to clients dynamically is a 
must have. Otherwise, URL cannot be changed easily by the resource or 
authorization server. Every authorization server may use several authz 
URLs. Such URLs may also contain query parameters. The client should use 
these URLs "as is" and add further parameters required for the flow it 
uses, respectively.

Realm in contrast to scope is about authentication domains. The realm 
element represents a protection doamin, typically identified with a 
single user database. In the context of OAuth, the authorization server 
(conceptually) represents a user database, but I don't tend to say the 
authorization server is the realm. I would suggest a realm represents 
the set of endpoints accepting the same kind of token (by content) 
issued by the same authorization server. Different tokens are need if 
authorization servers issue service-specific self-containt tokens with 
different contents (attributes or permissions), typically protected by 
different signatures. If an authorization server issues one kind of 
token only, which can be used on all services it is responsible for, 
there is one realm only. In contrast, if the authorization server issues 
different tokens, every realm is the set of resource servers (services) 
accepting this kind of token. Based on this definition, libraries can 
automatically send a particular token to all resource servers using the 
same realm.

A scope defines the set of permissions a client asks for and that 
becomes associated with tokens. I don't see the need (and a way) for 
automatic scope discovery. In my opinion, scopes are part of the API 
documentation of a particular resource server. So if someone implements 
a client, it needs to consider the different scopes this client needs 
the end users authorization for. If the resource server implements a 
OAuth2-based standard API (e.g. for contact management or e-Mail), a 
client might be interoperable (in terms of scopes) among the resource 
servers implementing this standard.

A token may be issued to a particular realm but it might not suffienctly 
be authorized to perform all possible actions on all corresponding 
resource servers. This means that the servers can interpret the token 
but may refuse to process a particular requests. Generally, a client 
should know the maximum set of permissions (scope) needed to function 
properly and indicate this during the authorization process.

I would like to illustrate what I have written in an example:

The client wants to access a photo on server webstorage.example.com

GET  /photos/example.jpg HTTP/1.1
      Host: webstorage.example.com

The server responds with the following header:

WWW-Authenticate Token realm="http://authorize.example.com/webstorage",
                
authz-uri="https://authorize.example.com/oauth2/tokens/webstorage?format=compact",
                token-uri="https://authorize.example.com/oauth2/tokens"

The client does not find a refresh token for the realm 
"http://authorize.example.com/webstorage" in its persistent storage and 
thus initiates a authorization process. This time the client does not 
request a certain scope, so a default scope is automatically selected by 
the authorization server.

GET 
/oauth2/tokens/webstorage?format=compact&type=web_server&client_id=s6BhdRkqt3&redirect_uri=
          https%3A%2F%2Fwebstorage%2Eexample%2Ecom%2Fcb HTTP/1.1
      Host: https://authorize.example.com

After obtaining the token, the client retries the service request

GET  /photos/example.jpg HTTP/1.1
      Host: webstorage.example.com

Authorization: Token 
token="ECDuk8mV8OJIK6D6PAteNtXJAAsEBwAAASgsdUvAAAABKC4sv8ABAAgAAAEoLHVLqBShAyHT24Hq78UYdr3a-
bDggz2IAgwQAEkBUXdxYwACAAETJQAAAAA="

HTTP/1.1 200 OK

The client now wants to download another photo. Since the resource path 
contains the "same last symbolic element in the path field of the 
Request-URI", the token is automatically reused for that request.

GET  /photos/example1.jpg HTTP/1.1
      Host: webstorage.example.com

Authorization: Token 
token="ECDuk8mV8OJIK6D6PAteNtXJAAsEBwAAASgsdUvAAAABKC4sv8ABAAgAAAEoLHVLqBShAyHT24Hq78UYdr3a-
bDggz2IAgwQAEkBUXdxYwACAAETJQAAAAA="

After that, the client wants to download a video on the same resource 
server. Since the URL differs, it sends an unauthorized request first

GET  /videos/example1.mpg HTTP/1.1
      Host: webstorage.example.com

WWW-Authenticate Token realm="http://authorize.example.com/webstorage",
                
authz-uri="https://authorize.example.com/oauth2/tokens/webstorage?format=compact",
                token-uri="https://authorize.example.com/oauth2/tokens"

The resource server responds with the same realm as before thus the 
client can reuse the token again.

GET  /videos/example1.mpg HTTP/1.1
      Host: webstorage.example.com

Authorization: Token 
token="ECDuk8mV8OJIK6D6PAteNtXJAAsEBwAAASgsdUvAAAABKC4sv8ABAAgAAAEoLHVLqBShAyHT24Hq78UYdr3a-
bDggz2IAgwQAEkBUXdxYwACAAETJQAAAAA="

In the last step, the client wants to delete a photo. It sends the 
following request

DELETE /photos/example.jpg HTTP/1.1
      Host: webstorage.example.com

Authorization: Token 
token="ECDuk8mV8OJIK6D6PAteNtXJAAsEBwAAASgsdUvAAAABKC4sv8ABAAgAAAEoLHVLqBShAyHT24Hq78UYdr3a-
bDggz2IAgwQAEkBUXdxYwACAAETJQAAAAA="

Since the token has a default scope, which does not contain the 
permission to delete anything, the server responds with a status code 
403 and a description of the problem in the response entity.

HTTP/1.1 403
scope=delete

Hence the client initiates an authorization process in order to obtain 
this additional authorization (together with a standard set of other 
permissions).

GET 
/oauth2/tokens/webstorage?format=compact&type=web_server&client_id=s6BhdRkqt3&redirect_uri=
          
https%3A%2F%2Fwebstorage%2Eexample%2Ecom%2Fcb&scope=read,upload,delete 
HTTP/1.1
      Host: https://authorize.example.com

In the last call, the client uses the new token to delete the photo.

DELETE /photos/example.jpg HTTP/1.1
      Host: webstorage.example.com

Authorization: Token 
token="ECCkrX3ASC9BCLnjOzmYzMSHAAsEBwAAASgsgwIuAAABKC46di4BAAgAAAEoLIMCFwtd7LCwTW6MflQB8WT_mjZVQNpZAgwQAEkBUXdxYwACAAETJQAAAAA="

HTTP/1.1 200 OK

Any thoughts?

regards,
Torsten.


From eran@hueniverse.com  Fri Apr 23 16:32:13 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 391ED3A682F for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 16:32:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.66
X-Spam-Level: 
X-Spam-Status: No, score=-0.66 tagged_above=-999 required=5 tests=[AWL=-1.861,  BAYES_50=0.001, J_CHICKENPOX_16=0.6, J_CHICKENPOX_56=0.6]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lSZJiR7Vmr2F for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 16:32:12 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id CEAAC3A67B2 for <oauth@ietf.org>; Fri, 23 Apr 2010 16:32:11 -0700 (PDT)
Received: (qmail 21920 invoked from network); 23 Apr 2010 23:32:00 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 23 Apr 2010 23:32:00 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Fri, 23 Apr 2010 16:32:00 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Date: Fri, 23 Apr 2010 16:31:53 -0700
Thread-Topic: [OAUTH-WG] 'Scope' parameter proposal
Thread-Index: AcrjNLW4ZVHvgzIiR46ccy+1NOUL/gACGrbw
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723438E5E872B7@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <C7F1D1FC.32809%eran@hueniverse.com> <0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com> <BB02FD4F-071E-4FF5-B3D0-F8D3FA22FEEE@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FD26@P3PW5EX1MB01.EX1.SECURESERVER.NET> <h2ldaf5b9571004221235tb844eb6ah623955979526c1b6@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FD4A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <l2idaf5b9571004221350oa0dbeb11ndeb4cb9147407ba9@mail.gmail.com> <255B9BB34FB7D647A506DC292726F6E1125793664B@WSMSG3153V.srv.dir.telstra.com> <4BD21FAD.8030706@lodderstedt.net>
In-Reply-To: <4BD21FAD.8030706@lodderstedt.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Apr 2010 23:32:13 -0000

VGhpcyBsb29rcyBhYm91dCByaWdodC4NCg0KRUhMDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl
LS0tLS0NCj4gRnJvbTogVG9yc3RlbiBMb2RkZXJzdGVkdCBbbWFpbHRvOnRvcnN0ZW5AbG9kZGVy
c3RlZHQubmV0XQ0KPiBTZW50OiBGcmlkYXksIEFwcmlsIDIzLCAyMDEwIDM6MzEgUE0NCj4gVG86
IE1hbmdlciwgSmFtZXMgSA0KPiBDYzogQnJpYW4gRWF0b247IEVyYW4gSGFtbWVyLUxhaGF2OyBP
QXV0aCBXRw0KPiBTdWJqZWN0OiBSZTogW09BVVRILVdHXSAnU2NvcGUnIHBhcmFtZXRlciBwcm9w
b3NhbA0KPiANCj4gDQo+ID4gSSBzdXNwZWN0IHRoZSBrZXkgY29uY2VwdCBpcyByZWFsaXNpbmcg
dGhhdCB0aGVyZSBjYW4gYmUgbWFueSBhdXRoeiBVUklzIOKAlA0KPiBhbmQgdGhhdCB0aGF0IGlz
IG9rLiBPQXV0aCBsaWJyYXJpZXMgc2hvdWxkIHN1cHBvcnQgdGhpcyBjb25jZXB0IOKAlCBwZXJo
YXBzIGJ5DQo+IG5vdCBleHBlY3RpbmcgYSBzaW5nbGUgYXV0aHogVVJJIHRvIGJlIHByb3ZpZGVk
IGluIGEgY29uZmlnIGZpbGUuDQo+ID4NCj4gDQo+IEkgZnVsbHkgYWdyZWUgd2l0aCB5b3VyIHN0
YXRlbWVudC4gQXV0aG9yaXphdGlvbiBzZXJ2ZXJzIG1heSB1c2UgZGlmZmVyZW50DQo+IFVSTHMg
Zm9yIGRpZmZlcmVudCByZXNvdXJjZSBzZXJ2ZXJzLiBGb3IgZXhhbXBsZSwgb3VyIHRva2VuIHNl
cnZpY2UgdXNlcw0KPiBVUkxzIGxpa2UNCj4gDQo+IGh0dHBzOi8vdG9rZW5zZXJ2aWNlLmV4YW1w
bGUuY29tL3Rva2Vucy9zZXJ2aWNlMQ0KPiBodHRwczovL3Rva2Vuc2VydmljZS5leGFtcGxlLmNv
bS90b2tlbnMvc2VydmljZTINCj4gDQo+IHRvIGlkZW50aWZ5IHNlcnZpY2VzIGFuZCB0aGVpciBy
ZXNwZWN0aXZlIHRva2Vucy4NCj4gDQo+ID4+IGIpIGRvY3VtZW50aW5nIHNvbWV0aGluZyB0aGF0
IG5vIG9uZSBoYXMgYnVpbHQgeWV0LCBhbmQgdGhhdCBtaWdodA0KPiA+PiBub3QgYWN0dWFsbHkg
d29yaw0KPiA+Pg0KPiA+IERlZmluaW5nIGEgc2NvcGUgZmllbGQgaW4gYSA0MDEgcmVzcG9uc2Ug
aXMgdGhlIG5vdmVsIGFzcGVjdCB0aGF0IOKAnG1pZ2h0IG5vdA0KPiBhY3R1YWxseSB3b3Jr4oCd
LiBBbGxvd2luZyBhICdzY29wZScgcXVlcnkgcGFyYW1ldGVyIGluIGF1dGh6IFVSSXMgaXMgYmUg
cXVpdGUNCj4gc2VwYXJhdGUuDQo+ID4NCj4gPg0KPiANCj4gSSBhZ3JlZSBhZ2Fpbi4gTW9yZW92
ZXIsIEkgd291bGQgc2F5IGEgNDAxIHJlc3BvbnNlIGlzIG5vdCB0aGUgcmlnaHQgcGxhY2UgdG8N
Cj4gdGFsayBhYm91dCBzY29wZXMuIEZyb20gbXkgcG9pbnQgb2YgdmlldywgdGhlIHNjb3BlIGlz
IGFib3V0IHBlcm1pc3Npb25zDQo+IChhdXRob3JpemF0aW9uKSBhbmQgbm90IGFib3V0IGF1dGhl
bnRpY2F0aW9uLiBTbyBhIHNjb3BlIHZpb2xhdGlvbiBzaG91bGQgYmUNCj4gc2lnbmFsZWQgdXNp
bmcgc3RhdHVzIGNvZGUgNDAzIChGb3JiaWRkZW4pLg0KPiANCj4gZnJvbSByZmMyNjE2DQo+ICJU
aGUgc2VydmVyIHVuZGVyc3Rvb2QgdGhlIHJlcXVlc3QsIGJ1dCBpcyByZWZ1c2luZyB0byBmdWxm
aWxsIGl0Lg0KPiBBdXRob3JpemF0aW9uIHdpbGwgbm90IGhlbHAgYW5kIHRoZSByZXF1ZXN0IFNI
T1VMRCBOT1QgYmUgcmVwZWF0ZWQuIElmIHRoZQ0KPiByZXF1ZXN0IG1ldGhvZCB3YXMgbm90IEhF
QUQgYW5kIHRoZSBzZXJ2ZXIgd2lzaGVzIHRvIG1ha2UgcHVibGljIHdoeSB0aGUNCj4gcmVxdWVz
dCBoYXMgbm90IGJlZW4gZnVsZmlsbGVkLCBpdCBTSE9VTEQgZGVzY3JpYmUgdGhlIHJlYXNvbiBm
b3IgdGhlIHJlZnVzYWwNCj4gaW4gdGhlIGVudGl0eS4gSWYgdGhlIHNlcnZlciBkb2VzIG5vdCB3
aXNoIHRvIG1ha2UgdGhpcyBpbmZvcm1hdGlvbiBhdmFpbGFibGUgdG8NCj4gdGhlIGNsaWVudCwg
dGhlIHN0YXR1cyBjb2RlIDQwNCAoTm90IEZvdW5kKSBjYW4gYmUgdXNlZCBpbnN0ZWFkLiINCj4g
DQo+IFNvIGlmIHRoZSB0b2tlbiBzZW5kIHdpdGggYSByZXF1ZXN0IGlzIG5vdCBzdWZmaWVudGx5
IHNjb3BlZCwgdGhlIHNlcnZlciBjb3VsZA0KPiByZXNwb25kIGFzIGZvbGxvd3MNCj4gDQo+IEhU
VFAvMS4xIDQwMw0KPiBpbnN1ZmZpY2llbnQgcGVybWlzc2lvbiwgcmVxdWlyZWQgc2NvcGU9ZGVs
ZXRlDQo+IA0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gDQo+IEkgZm9s
bG93ZWQgdGhpcyB0aHJlYWQgdGhlIGxhc3QgZGF5cyBhbmQgY2FtZSB0byB0aGUgZm9sbG93aW5n
DQo+IGNvbmNsdXNpb25zL3BlcmNlcHRpb24gSSB3b3VsZCBsaWtlIHRvIGRpc2N1c3M6DQo+IA0K
PiBQcm92aWRpbmcgYXV0aG9yaXphdGlvbiBzZXJ2ZXIgZW5kcG9pbnQgVVJMcyB0byBjbGllbnRz
IGR5bmFtaWNhbGx5IGlzIGEgbXVzdA0KPiBoYXZlLiBPdGhlcndpc2UsIFVSTCBjYW5ub3QgYmUg
Y2hhbmdlZCBlYXNpbHkgYnkgdGhlIHJlc291cmNlIG9yDQo+IGF1dGhvcml6YXRpb24gc2VydmVy
LiBFdmVyeSBhdXRob3JpemF0aW9uIHNlcnZlciBtYXkgdXNlIHNldmVyYWwgYXV0aHogVVJMcy4N
Cj4gU3VjaCBVUkxzIG1heSBhbHNvIGNvbnRhaW4gcXVlcnkgcGFyYW1ldGVycy4gVGhlIGNsaWVu
dCBzaG91bGQgdXNlIHRoZXNlDQo+IFVSTHMgImFzIGlzIiBhbmQgYWRkIGZ1cnRoZXIgcGFyYW1l
dGVycyByZXF1aXJlZCBmb3IgdGhlIGZsb3cgaXQgdXNlcywNCj4gcmVzcGVjdGl2ZWx5Lg0KPiAN
Cj4gUmVhbG0gaW4gY29udHJhc3QgdG8gc2NvcGUgaXMgYWJvdXQgYXV0aGVudGljYXRpb24gZG9t
YWlucy4gVGhlIHJlYWxtDQo+IGVsZW1lbnQgcmVwcmVzZW50cyBhIHByb3RlY3Rpb24gZG9hbWlu
LCB0eXBpY2FsbHkgaWRlbnRpZmllZCB3aXRoIGEgc2luZ2xlDQo+IHVzZXIgZGF0YWJhc2UuIElu
IHRoZSBjb250ZXh0IG9mIE9BdXRoLCB0aGUgYXV0aG9yaXphdGlvbiBzZXJ2ZXINCj4gKGNvbmNl
cHR1YWxseSkgcmVwcmVzZW50cyBhIHVzZXIgZGF0YWJhc2UsIGJ1dCBJIGRvbid0IHRlbmQgdG8g
c2F5IHRoZQ0KPiBhdXRob3JpemF0aW9uIHNlcnZlciBpcyB0aGUgcmVhbG0uIEkgd291bGQgc3Vn
Z2VzdCBhIHJlYWxtIHJlcHJlc2VudHMgdGhlIHNldA0KPiBvZiBlbmRwb2ludHMgYWNjZXB0aW5n
IHRoZSBzYW1lIGtpbmQgb2YgdG9rZW4gKGJ5IGNvbnRlbnQpIGlzc3VlZCBieSB0aGUNCj4gc2Ft
ZSBhdXRob3JpemF0aW9uIHNlcnZlci4gRGlmZmVyZW50IHRva2VucyBhcmUgbmVlZCBpZiBhdXRo
b3JpemF0aW9uIHNlcnZlcnMNCj4gaXNzdWUgc2VydmljZS1zcGVjaWZpYyBzZWxmLWNvbnRhaW50
IHRva2VucyB3aXRoIGRpZmZlcmVudCBjb250ZW50cyAoYXR0cmlidXRlcw0KPiBvciBwZXJtaXNz
aW9ucyksIHR5cGljYWxseSBwcm90ZWN0ZWQgYnkgZGlmZmVyZW50IHNpZ25hdHVyZXMuIElmIGFu
DQo+IGF1dGhvcml6YXRpb24gc2VydmVyIGlzc3VlcyBvbmUga2luZCBvZiB0b2tlbiBvbmx5LCB3
aGljaCBjYW4gYmUgdXNlZCBvbiBhbGwNCj4gc2VydmljZXMgaXQgaXMgcmVzcG9uc2libGUgZm9y
LCB0aGVyZSBpcyBvbmUgcmVhbG0gb25seS4gSW4gY29udHJhc3QsIGlmIHRoZQ0KPiBhdXRob3Jp
emF0aW9uIHNlcnZlciBpc3N1ZXMgZGlmZmVyZW50IHRva2VucywgZXZlcnkgcmVhbG0gaXMgdGhl
IHNldCBvZg0KPiByZXNvdXJjZSBzZXJ2ZXJzIChzZXJ2aWNlcykgYWNjZXB0aW5nIHRoaXMga2lu
ZCBvZiB0b2tlbi4gQmFzZWQgb24gdGhpcw0KPiBkZWZpbml0aW9uLCBsaWJyYXJpZXMgY2FuIGF1
dG9tYXRpY2FsbHkgc2VuZCBhIHBhcnRpY3VsYXIgdG9rZW4gdG8gYWxsIHJlc291cmNlDQo+IHNl
cnZlcnMgdXNpbmcgdGhlIHNhbWUgcmVhbG0uDQo+IA0KPiBBIHNjb3BlIGRlZmluZXMgdGhlIHNl
dCBvZiBwZXJtaXNzaW9ucyBhIGNsaWVudCBhc2tzIGZvciBhbmQgdGhhdCBiZWNvbWVzDQo+IGFz
c29jaWF0ZWQgd2l0aCB0b2tlbnMuIEkgZG9uJ3Qgc2VlIHRoZSBuZWVkIChhbmQgYSB3YXkpIGZv
ciBhdXRvbWF0aWMgc2NvcGUNCj4gZGlzY292ZXJ5LiBJbiBteSBvcGluaW9uLCBzY29wZXMgYXJl
IHBhcnQgb2YgdGhlIEFQSSBkb2N1bWVudGF0aW9uIG9mIGENCj4gcGFydGljdWxhciByZXNvdXJj
ZSBzZXJ2ZXIuIFNvIGlmIHNvbWVvbmUgaW1wbGVtZW50cyBhIGNsaWVudCwgaXQgbmVlZHMgdG8N
Cj4gY29uc2lkZXIgdGhlIGRpZmZlcmVudCBzY29wZXMgdGhpcyBjbGllbnQgbmVlZHMgdGhlIGVu
ZCB1c2VycyBhdXRob3JpemF0aW9uDQo+IGZvci4gSWYgdGhlIHJlc291cmNlIHNlcnZlciBpbXBs
ZW1lbnRzIGEgT0F1dGgyLWJhc2VkIHN0YW5kYXJkIEFQSSAoZS5nLiBmb3INCj4gY29udGFjdCBt
YW5hZ2VtZW50IG9yIGUtTWFpbCksIGEgY2xpZW50IG1pZ2h0IGJlIGludGVyb3BlcmFibGUgKGlu
IHRlcm1zIG9mDQo+IHNjb3BlcykgYW1vbmcgdGhlIHJlc291cmNlIHNlcnZlcnMgaW1wbGVtZW50
aW5nIHRoaXMgc3RhbmRhcmQuDQo+IA0KPiBBIHRva2VuIG1heSBiZSBpc3N1ZWQgdG8gYSBwYXJ0
aWN1bGFyIHJlYWxtIGJ1dCBpdCBtaWdodCBub3Qgc3VmZmllbmN0bHkgYmUNCj4gYXV0aG9yaXpl
ZCB0byBwZXJmb3JtIGFsbCBwb3NzaWJsZSBhY3Rpb25zIG9uIGFsbCBjb3JyZXNwb25kaW5nIHJl
c291cmNlDQo+IHNlcnZlcnMuIFRoaXMgbWVhbnMgdGhhdCB0aGUgc2VydmVycyBjYW4gaW50ZXJw
cmV0IHRoZSB0b2tlbiBidXQgbWF5IHJlZnVzZQ0KPiB0byBwcm9jZXNzIGEgcGFydGljdWxhciBy
ZXF1ZXN0cy4gR2VuZXJhbGx5LCBhIGNsaWVudCBzaG91bGQga25vdyB0aGUNCj4gbWF4aW11bSBz
ZXQgb2YgcGVybWlzc2lvbnMgKHNjb3BlKSBuZWVkZWQgdG8gZnVuY3Rpb24gcHJvcGVybHkgYW5k
DQo+IGluZGljYXRlIHRoaXMgZHVyaW5nIHRoZSBhdXRob3JpemF0aW9uIHByb2Nlc3MuDQo+IA0K
PiBJIHdvdWxkIGxpa2UgdG8gaWxsdXN0cmF0ZSB3aGF0IEkgaGF2ZSB3cml0dGVuIGluIGFuIGV4
YW1wbGU6DQo+IA0KPiBUaGUgY2xpZW50IHdhbnRzIHRvIGFjY2VzcyBhIHBob3RvIG9uIHNlcnZl
ciB3ZWJzdG9yYWdlLmV4YW1wbGUuY29tDQo+IA0KPiBHRVQgIC9waG90b3MvZXhhbXBsZS5qcGcg
SFRUUC8xLjENCj4gICAgICAgSG9zdDogd2Vic3RvcmFnZS5leGFtcGxlLmNvbQ0KPiANCj4gVGhl
IHNlcnZlciByZXNwb25kcyB3aXRoIHRoZSBmb2xsb3dpbmcgaGVhZGVyOg0KPiANCj4gV1dXLUF1
dGhlbnRpY2F0ZSBUb2tlbg0KPiByZWFsbT0iaHR0cDovL2F1dGhvcml6ZS5leGFtcGxlLmNvbS93
ZWJzdG9yYWdlIiwNCj4gDQo+IGF1dGh6LQ0KPiB1cmk9Imh0dHBzOi8vYXV0aG9yaXplLmV4YW1w
bGUuY29tL29hdXRoMi90b2tlbnMvd2Vic3RvcmFnZT9mb3JtYXQ9Y28NCj4gbXBhY3QiLA0KPiAg
ICAgICAgICAgICAgICAgdG9rZW4tdXJpPSJodHRwczovL2F1dGhvcml6ZS5leGFtcGxlLmNvbS9v
YXV0aDIvdG9rZW5zIg0KPiANCj4gVGhlIGNsaWVudCBkb2VzIG5vdCBmaW5kIGEgcmVmcmVzaCB0
b2tlbiBmb3IgdGhlIHJlYWxtDQo+ICJodHRwOi8vYXV0aG9yaXplLmV4YW1wbGUuY29tL3dlYnN0
b3JhZ2UiIGluIGl0cyBwZXJzaXN0ZW50IHN0b3JhZ2UgYW5kDQo+IHRodXMgaW5pdGlhdGVzIGEg
YXV0aG9yaXphdGlvbiBwcm9jZXNzLiBUaGlzIHRpbWUgdGhlIGNsaWVudCBkb2VzIG5vdCByZXF1
ZXN0IGENCj4gY2VydGFpbiBzY29wZSwgc28gYSBkZWZhdWx0IHNjb3BlIGlzIGF1dG9tYXRpY2Fs
bHkgc2VsZWN0ZWQgYnkgdGhlDQo+IGF1dGhvcml6YXRpb24gc2VydmVyLg0KPiANCj4gR0VUDQo+
IC9vYXV0aDIvdG9rZW5zL3dlYnN0b3JhZ2U/Zm9ybWF0PWNvbXBhY3QmdHlwZT13ZWJfc2VydmVy
JmNsaWVudF9pZA0KPiA9czZCaGRSa3F0MyZyZWRpcmVjdF91cmk9DQo+ICAgICAgICAgICBodHRw
cyUzQSUyRiUyRndlYnN0b3JhZ2UlMkVleGFtcGxlJTJFY29tJTJGY2IgSFRUUC8xLjENCj4gICAg
ICAgSG9zdDogaHR0cHM6Ly9hdXRob3JpemUuZXhhbXBsZS5jb20NCj4gDQo+IEFmdGVyIG9idGFp
bmluZyB0aGUgdG9rZW4sIHRoZSBjbGllbnQgcmV0cmllcyB0aGUgc2VydmljZSByZXF1ZXN0DQo+
IA0KPiBHRVQgIC9waG90b3MvZXhhbXBsZS5qcGcgSFRUUC8xLjENCj4gICAgICAgSG9zdDogd2Vi
c3RvcmFnZS5leGFtcGxlLmNvbQ0KPiANCj4gQXV0aG9yaXphdGlvbjogVG9rZW4NCj4gdG9rZW49
IkVDRHVrOG1WOE9KSUs2RDZQQXRlTnRYSkFBc0VCd0FBQVNnc2RVdkFBQUFCS0M0c3Y4QUJBDQo+
IEFnQUFBRW9MSFZMcUJTaEF5SFQyNEhxNzhVWWRyM2EtDQo+IGJEZ2d6MklBZ3dRQUVrQlVYZHhZ
d0FDQUFFVEpRQUFBQUE9Ig0KPiANCj4gSFRUUC8xLjEgMjAwIE9LDQo+IA0KPiBUaGUgY2xpZW50
IG5vdyB3YW50cyB0byBkb3dubG9hZCBhbm90aGVyIHBob3RvLiBTaW5jZSB0aGUgcmVzb3VyY2Ug
cGF0aA0KPiBjb250YWlucyB0aGUgInNhbWUgbGFzdCBzeW1ib2xpYyBlbGVtZW50IGluIHRoZSBw
YXRoIGZpZWxkIG9mIHRoZSBSZXF1ZXN0LQ0KPiBVUkkiLCB0aGUgdG9rZW4gaXMgYXV0b21hdGlj
YWxseSByZXVzZWQgZm9yIHRoYXQgcmVxdWVzdC4NCj4gDQo+IEdFVCAgL3Bob3Rvcy9leGFtcGxl
MS5qcGcgSFRUUC8xLjENCj4gICAgICAgSG9zdDogd2Vic3RvcmFnZS5leGFtcGxlLmNvbQ0KPiAN
Cj4gQXV0aG9yaXphdGlvbjogVG9rZW4NCj4gdG9rZW49IkVDRHVrOG1WOE9KSUs2RDZQQXRlTnRY
SkFBc0VCd0FBQVNnc2RVdkFBQUFCS0M0c3Y4QUJBDQo+IEFnQUFBRW9MSFZMcUJTaEF5SFQyNEhx
NzhVWWRyM2EtDQo+IGJEZ2d6MklBZ3dRQUVrQlVYZHhZd0FDQUFFVEpRQUFBQUE9Ig0KPiANCj4g
QWZ0ZXIgdGhhdCwgdGhlIGNsaWVudCB3YW50cyB0byBkb3dubG9hZCBhIHZpZGVvIG9uIHRoZSBz
YW1lIHJlc291cmNlDQo+IHNlcnZlci4gU2luY2UgdGhlIFVSTCBkaWZmZXJzLCBpdCBzZW5kcyBh
biB1bmF1dGhvcml6ZWQgcmVxdWVzdCBmaXJzdA0KPiANCj4gR0VUICAvdmlkZW9zL2V4YW1wbGUx
Lm1wZyBIVFRQLzEuMQ0KPiAgICAgICBIb3N0OiB3ZWJzdG9yYWdlLmV4YW1wbGUuY29tDQo+IA0K
PiBXV1ctQXV0aGVudGljYXRlIFRva2VuDQo+IHJlYWxtPSJodHRwOi8vYXV0aG9yaXplLmV4YW1w
bGUuY29tL3dlYnN0b3JhZ2UiLA0KPiANCj4gYXV0aHotDQo+IHVyaT0iaHR0cHM6Ly9hdXRob3Jp
emUuZXhhbXBsZS5jb20vb2F1dGgyL3Rva2Vucy93ZWJzdG9yYWdlP2Zvcm1hdD1jbw0KPiBtcGFj
dCIsDQo+ICAgICAgICAgICAgICAgICB0b2tlbi11cmk9Imh0dHBzOi8vYXV0aG9yaXplLmV4YW1w
bGUuY29tL29hdXRoMi90b2tlbnMiDQo+IA0KPiBUaGUgcmVzb3VyY2Ugc2VydmVyIHJlc3BvbmRz
IHdpdGggdGhlIHNhbWUgcmVhbG0gYXMgYmVmb3JlIHRodXMgdGhlIGNsaWVudA0KPiBjYW4gcmV1
c2UgdGhlIHRva2VuIGFnYWluLg0KPiANCj4gR0VUICAvdmlkZW9zL2V4YW1wbGUxLm1wZyBIVFRQ
LzEuMQ0KPiAgICAgICBIb3N0OiB3ZWJzdG9yYWdlLmV4YW1wbGUuY29tDQo+IA0KPiBBdXRob3Jp
emF0aW9uOiBUb2tlbg0KPiB0b2tlbj0iRUNEdWs4bVY4T0pJSzZENlBBdGVOdFhKQUFzRUJ3QUFB
U2dzZFV2QUFBQUJLQzRzdjhBQkENCj4gQWdBQUFFb0xIVkxxQlNoQXlIVDI0SHE3OFVZZHIzYS0N
Cj4gYkRnZ3oySUFnd1FBRWtCVVhkeFl3QUNBQUVUSlFBQUFBQT0iDQo+IA0KPiBJbiB0aGUgbGFz
dCBzdGVwLCB0aGUgY2xpZW50IHdhbnRzIHRvIGRlbGV0ZSBhIHBob3RvLiBJdCBzZW5kcyB0aGUg
Zm9sbG93aW5nDQo+IHJlcXVlc3QNCj4gDQo+IERFTEVURSAvcGhvdG9zL2V4YW1wbGUuanBnIEhU
VFAvMS4xDQo+ICAgICAgIEhvc3Q6IHdlYnN0b3JhZ2UuZXhhbXBsZS5jb20NCj4gDQo+IEF1dGhv
cml6YXRpb246IFRva2VuDQo+IHRva2VuPSJFQ0R1azhtVjhPSklLNkQ2UEF0ZU50WEpBQXNFQndB
QUFTZ3NkVXZBQUFBQktDNHN2OEFCQQ0KPiBBZ0FBQUVvTEhWTHFCU2hBeUhUMjRIcTc4VVlkcjNh
LQ0KPiBiRGdnejJJQWd3UUFFa0JVWGR4WXdBQ0FBRVRKUUFBQUFBPSINCj4gDQo+IFNpbmNlIHRo
ZSB0b2tlbiBoYXMgYSBkZWZhdWx0IHNjb3BlLCB3aGljaCBkb2VzIG5vdCBjb250YWluIHRoZSBw
ZXJtaXNzaW9uDQo+IHRvIGRlbGV0ZSBhbnl0aGluZywgdGhlIHNlcnZlciByZXNwb25kcyB3aXRo
IGEgc3RhdHVzIGNvZGUNCj4gNDAzIGFuZCBhIGRlc2NyaXB0aW9uIG9mIHRoZSBwcm9ibGVtIGlu
IHRoZSByZXNwb25zZSBlbnRpdHkuDQo+IA0KPiBIVFRQLzEuMSA0MDMNCj4gc2NvcGU9ZGVsZXRl
DQo+IA0KPiBIZW5jZSB0aGUgY2xpZW50IGluaXRpYXRlcyBhbiBhdXRob3JpemF0aW9uIHByb2Nl
c3MgaW4gb3JkZXIgdG8gb2J0YWluIHRoaXMNCj4gYWRkaXRpb25hbCBhdXRob3JpemF0aW9uICh0
b2dldGhlciB3aXRoIGEgc3RhbmRhcmQgc2V0IG9mIG90aGVyIHBlcm1pc3Npb25zKS4NCj4gDQo+
IEdFVA0KPiAvb2F1dGgyL3Rva2Vucy93ZWJzdG9yYWdlP2Zvcm1hdD1jb21wYWN0JnR5cGU9d2Vi
X3NlcnZlciZjbGllbnRfaWQNCj4gPXM2QmhkUmtxdDMmcmVkaXJlY3RfdXJpPQ0KPiANCj4gaHR0
cHMlM0ElMkYlMkZ3ZWJzdG9yYWdlJTJFZXhhbXBsZSUyRWNvbSUyRmNiJnNjb3BlPXJlYWQsdXBs
b2ENCj4gZCxkZWxldGUNCj4gSFRUUC8xLjENCj4gICAgICAgSG9zdDogaHR0cHM6Ly9hdXRob3Jp
emUuZXhhbXBsZS5jb20NCj4gDQo+IEluIHRoZSBsYXN0IGNhbGwsIHRoZSBjbGllbnQgdXNlcyB0
aGUgbmV3IHRva2VuIHRvIGRlbGV0ZSB0aGUgcGhvdG8uDQo+IA0KPiBERUxFVEUgL3Bob3Rvcy9l
eGFtcGxlLmpwZyBIVFRQLzEuMQ0KPiAgICAgICBIb3N0OiB3ZWJzdG9yYWdlLmV4YW1wbGUuY29t
DQo+IA0KPiBBdXRob3JpemF0aW9uOiBUb2tlbg0KPiB0b2tlbj0iRUNDa3JYM0FTQzlCQ0xuak96
bVl6TVNIQUFzRUJ3QUFBU2dzZ3dJdUFBQUJLQzQ2ZGk0QkENCj4gQWdBQUFFb0xJTUNGd3RkN0xD
d1RXNk1mbFFCOFdUX21qWlZRTnBaQWd3UUFFa0JVWGR4WXdBQ0ENCj4gQUVUSlFBQUFBQT0iDQo+
IA0KPiBIVFRQLzEuMSAyMDAgT0sNCj4gDQo+IEFueSB0aG91Z2h0cz8NCj4gDQo+IHJlZ2FyZHMs
DQo+IFRvcnN0ZW4uDQoNCg==

From beaton@google.com  Fri Apr 23 17:05:29 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8E1EA3A6876 for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 17:05:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.807
X-Spam-Level: 
X-Spam-Status: No, score=-105.807 tagged_above=-999 required=5 tests=[AWL=0.170, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PXz7gZfUkmox for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 17:05:28 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 80A993A6855 for <oauth@ietf.org>; Fri, 23 Apr 2010 17:05:28 -0700 (PDT)
Received: from wpaz17.hot.corp.google.com (wpaz17.hot.corp.google.com [172.24.198.81]) by smtp-out.google.com with ESMTP id o3O05Fnk018904 for <oauth@ietf.org>; Fri, 23 Apr 2010 17:05:15 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1272067516; bh=cWpD+GMv+FFRbpmwld2iK68Gvr4=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type:Content-Transfer-Encoding; b=SvYH+adamAML95E3jn99W5O4tIMvg0JbDHSfWf0XAmlXJKKU0PFqWBfkM02a0XHRH NLdgJOYGMZb3Qr7nGgP1g==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:content-transfer-encoding:x-system-of-record; b=TV6KKch66mn+reAStR6KreQrp2ON8RTvfsokX9KRYNb2NQpJ2ouQaqdJhP2d5v0rX 3feoKdAlOsvWWG7jNfj2w==
Received: from pvg2 (pvg2.prod.google.com [10.241.210.130]) by wpaz17.hot.corp.google.com with ESMTP id o3O04o5F030328 for <oauth@ietf.org>; Fri, 23 Apr 2010 17:05:14 -0700
Received: by pvg2 with SMTP id 2so21725pvg.22 for <oauth@ietf.org>; Fri, 23 Apr 2010 17:05:14 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.142.7.41 with SMTP id 41mr473045wfg.320.1272067514401; Fri, 23  Apr 2010 17:05:14 -0700 (PDT)
Received: by 10.142.202.10 with HTTP; Fri, 23 Apr 2010 17:05:14 -0700 (PDT)
In-Reply-To: <255B9BB34FB7D647A506DC292726F6E1125793664B@WSMSG3153V.srv.dir.telstra.com>
References: <C7F1D1FC.32809%eran@hueniverse.com> <0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com> <BB02FD4F-071E-4FF5-B3D0-F8D3FA22FEEE@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FD26@P3PW5EX1MB01.EX1.SECURESERVER.NET> <h2ldaf5b9571004221235tb844eb6ah623955979526c1b6@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FD4A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <l2idaf5b9571004221350oa0dbeb11ndeb4cb9147407ba9@mail.gmail.com> <255B9BB34FB7D647A506DC292726F6E1125793664B@WSMSG3153V.srv.dir.telstra.com>
Date: Fri, 23 Apr 2010 17:05:14 -0700
Message-ID: <w2sdaf5b9571004231705jbff1ae6dz70fd966f091502b3@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: "Manger, James H" <James.H.Manger@team.telstra.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 24 Apr 2010 00:05:29 -0000

On Thu, Apr 22, 2010 at 6:11 PM, Manger, James H
<James.H.Manger@team.telstra.com> wrote:
> We mustn't drop advertisements (details in 401 responses).
> We mustn't drop the goal of a standard for interoperability.

I share the goals, I just don't think that a specification is the way
to get there.  I think working examples in the wild would help
enormously.

> Defining a scope field in a 401 response is the novel aspect that =93migh=
t not actually work=94. Allowing a 'scope' query parameter in authz URIs is=
 be quite separate.

Yeah, I agree with that analysis.

Though I don't know of any providers that are returning authorization
URLs in 401 responses right now.  That's novel, too.

Cheers,
Brian

From brent@facebook.com  Fri Apr 23 19:19:05 2010
Return-Path: <brent@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 89F613A67CF for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 19:19:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.264
X-Spam-Level: 
X-Spam-Status: No, score=-3.264 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dv5WrEc9qFPH for <oauth@core3.amsl.com>; Fri, 23 Apr 2010 19:18:57 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id 7EC9D3A67F6 for <oauth@ietf.org>; Fri, 23 Apr 2010 19:18:44 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.212]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3O2HjL0031548 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Fri, 23 Apr 2010 19:17:45 -0700
Received: from sc-hub02.TheFacebook.com (192.168.18.105) by sc-hub04.TheFacebook.com (192.168.18.212) with Microsoft SMTP Server (TLS) id 14.0.689.0; Fri, 23 Apr 2010 19:18:20 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub02.TheFacebook.com ([192.168.18.105]) with mapi; Fri, 23 Apr 2010 19:18:20 -0700
From: Brent Goldman <brent@facebook.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Date: Fri, 23 Apr 2010 19:17:17 -0700
Thread-Topic: [OAUTH-WG] device profile comments
Thread-Index: AcrjVGh1Gn9QqhhcRP+nHJBo4hcqow==
Message-ID: <464689C5-571B-43F6-9B3B-4C8DA525D9D3@facebook.com>
References: <i2odaf5b9571004221649h733f675bva2f9f4438ef43921@mail.gmail.com> <4BD1AE7F.3000001@lodderstedt.net>
In-Reply-To: <4BD1AE7F.3000001@lodderstedt.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_464689C5571B43F69B3B4C8DA525D9D3facebookcom_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-23_10:2010-02-06, 2010-04-23, 2010-04-23 signatures=0
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] device profile comments
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 24 Apr 2010 02:19:05 -0000

--_000_464689C5571B43F69B3B4C8DA525D9D3facebookcom_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

I sent this reply to Brian's original email earlier, but forgot to click re=
ply-all.

I disagree with hardcoding the approval URL into the device. To enable shor=
t URLs, there's nothing in the spec preventing the Auth Server from returni=
ng a different approval URL for each client id. E.g.,http://www.facebook.co=
m/roku to link a Roku device to your Facebook account.

I also don't think we need a callback URL specified by the device so that i=
nstructional text can be displayed after the user authorized. The approval =
URL will just tell the user to go back to the device once they're done. If =
an Auth Server wants to support more detailed instructions, the client can =
register a callback URL or approval text in advance, at the same time they'=
re registering their short URL.

-Brent

On Apr 23, 2010, at 7:28 AM, Torsten Lodderstedt wrote:


- Authorization server doesn=92t return approval URL - device hard-codes
this instead.
   I expect that this will point to a manufacturer specific page, and
that the manufacturer specific page will automatically redirect to a
page on the authorization server.


Why not returning client-id-specific approval-URLs from the
authorization server? This would allow to change them dynamically w/o
changing the device's firmware/configuration.
And even if the authorization server returns an URL, the device
firmeware can always use hard-coded URLs.

What do you think?

regards,
Torsten.
- Approval URL MUST have client_id, and MAY have callback.
   I expect that the client_id will be used to brand the approval
page, and that the callback will point to a manufacturer specific
completion page.

Plus a few comments on error codes:

=93End User Authorization Pending or Expired=94 - authorization server
probably isn=92t going to be able to tell whether a code has expired, or
was never issued.  Probably just return =93unknown_code=94.

The =93slow_down=94 error probably merits an =93interval=94.  Maybe always
return =93interval=94 with authorization_pending, and eliminate the
slow_down error code entirely?

Cheers,
Brian

[1] http://sites.google.com/site/oauthgoog/UXFedLogin/desktopapps
[2] http://sites.google.com/site/oauthgoog/UXFedLogin/nobrowser
_______________________________________________
OAuth mailing list
OAuth@ietf.org<mailto:OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth



_______________________________________________
OAuth mailing list
OAuth@ietf.org<mailto:OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth


--_000_464689C5571B43F69B3B4C8DA525D9D3facebookcom_
Content-Type: text/html; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

<html><head></head><body style=3D"word-wrap: break-word; -webkit-nbsp-mode:=
 space; -webkit-line-break: after-white-space; ">I sent this reply to Brian=
's original email earlier, but forgot to click reply-all.<div><div><br></di=
v><div>I disagree with hardcoding the approval URL into the device. To enab=
le short URLs, there's nothing in the spec preventing the Auth Server from =
returning a different approval URL for each client id. E.g.,<a href=3D"http=
://www.facebook.com/roku">http://www.facebook.com/roku</a>&nbsp;to link a R=
oku device to your Facebook account.<br><br>I also don't think we need a ca=
llback URL specified by the device so that instructional text can be displa=
yed after the user authorized. The approval URL will just tell the user to =
go back to the device once they're done. If an Auth Server wants to support=
 more detailed instructions, the client can register a callback URL or appr=
oval text in advance, at the same time they're registering their short URL.=
<br><br>-Brent</div><div><br><div><div>On Apr 23, 2010, at 7:28 AM, Torsten=
 Lodderstedt wrote:</div><br class=3D"Apple-interchange-newline"><blockquot=
e type=3D"cite"><div><br><blockquote type=3D"cite">- Authorization server d=
oesn=92t return approval URL - device hard-codes<br></blockquote><blockquot=
e type=3D"cite">this instead.<br></blockquote><blockquote type=3D"cite"> &n=
bsp;&nbsp;&nbsp;I expect that this will point to a manufacturer specific pa=
ge, and<br></blockquote><blockquote type=3D"cite">that the manufacturer spe=
cific page will automatically redirect to a<br></blockquote><blockquote typ=
e=3D"cite">page on the authorization server.<br></blockquote><blockquote ty=
pe=3D"cite"><br></blockquote><br>Why not returning client-id-specific appro=
val-URLs from the <br>authorization server? This would allow to change them=
 dynamically w/o <br>changing the device's firmware/configuration.<br>And e=
ven if the authorization server returns an URL, the device <br>firmeware ca=
n always use hard-coded URLs.<br><br>What do you think?<br><br>regards,<br>=
Torsten.<br><blockquote type=3D"cite">- Approval URL MUST have client_id, a=
nd MAY have callback.<br></blockquote><blockquote type=3D"cite"> &nbsp;&nbs=
p;&nbsp;I expect that the client_id will be used to brand the approval<br><=
/blockquote><blockquote type=3D"cite">page, and that the callback will poin=
t to a manufacturer specific<br></blockquote><blockquote type=3D"cite">comp=
letion page.<br></blockquote><blockquote type=3D"cite"><br></blockquote><bl=
ockquote type=3D"cite">Plus a few comments on error codes:<br></blockquote>=
<blockquote type=3D"cite"><br></blockquote><blockquote type=3D"cite">=93End=
 User Authorization Pending or Expired=94 - authorization server<br></block=
quote><blockquote type=3D"cite">probably isn=92t going to be able to tell w=
hether a code has expired, or<br></blockquote><blockquote type=3D"cite">was=
 never issued. &nbsp;Probably just return =93unknown_code=94.<br></blockquo=
te><blockquote type=3D"cite"><br></blockquote><blockquote type=3D"cite">The=
 =93slow_down=94 error probably merits an =93interval=94. &nbsp;Maybe alway=
s<br></blockquote><blockquote type=3D"cite">return =93interval=94 with auth=
orization_pending, and eliminate the<br></blockquote><blockquote type=3D"ci=
te">slow_down error code entirely?<br></blockquote><blockquote type=3D"cite=
"><br></blockquote><blockquote type=3D"cite">Cheers,<br></blockquote><block=
quote type=3D"cite">Brian<br></blockquote><blockquote type=3D"cite"><br></b=
lockquote><blockquote type=3D"cite">[1] <a href=3D"http://sites.google.com/=
site/oauthgoog/UXFedLogin/desktopapps">http://sites.google.com/site/oauthgo=
og/UXFedLogin/desktopapps</a><br></blockquote><blockquote type=3D"cite">[2]=
 <a href=3D"http://sites.google.com/site/oauthgoog/UXFedLogin/nobrowser">ht=
tp://sites.google.com/site/oauthgoog/UXFedLogin/nobrowser</a><br></blockquo=
te><blockquote type=3D"cite">______________________________________________=
_<br></blockquote><blockquote type=3D"cite">OAuth mailing list<br></blockqu=
ote><blockquote type=3D"cite"><a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.=
org</a><br></blockquote><blockquote type=3D"cite"><a href=3D"https://www.ie=
tf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth<=
/a><br></blockquote><blockquote type=3D"cite"><br></blockquote><br><br>____=
___________________________________________<br>OAuth mailing list<br><a hre=
f=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>https://www.ietf.org/mail=
man/listinfo/oauth<br></div></blockquote></div><br></div></div></body></htm=
l>=

--_000_464689C5571B43F69B3B4C8DA525D9D3facebookcom_--

From torsten@lodderstedt.net  Sat Apr 24 00:07:42 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 80C0C3A68E1 for <oauth@core3.amsl.com>; Sat, 24 Apr 2010 00:07:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.731
X-Spam-Level: 
X-Spam-Status: No, score=-0.731 tagged_above=-999 required=5 tests=[AWL=-1.082, BAYES_50=0.001, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id woghTMOToJcA for <oauth@core3.amsl.com>; Sat, 24 Apr 2010 00:07:41 -0700 (PDT)
Received: from smtprelay03.ispgateway.de (smtprelay03.ispgateway.de [80.67.29.28]) by core3.amsl.com (Postfix) with ESMTP id 448213A68D4 for <oauth@ietf.org>; Sat, 24 Apr 2010 00:07:40 -0700 (PDT)
Received: from p4fff2b78.dip.t-dialin.net ([79.255.43.120] helo=[127.0.0.1]) by smtprelay03.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O5ZSa-0007M2-DT; Sat, 24 Apr 2010 09:07:28 +0200
Message-ID: <4BD298AC.1030409@lodderstedt.net>
Date: Sat, 24 Apr 2010 09:07:24 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Marius Scurtescu <mscurtescu@google.com>
References: <4BCE071E.5030008@lodderstedt.net> <v2g74caaad21004201319i83a523e2s8d0ae1b829b90506@mail.gmail.com>
In-Reply-To: <v2g74caaad21004201319i83a523e2s8d0ae1b829b90506@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: "OAuth WG \(oauth@ietf.org\)" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Variant of Web Server Flow w/o direct communication
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 24 Apr 2010 07:07:42 -0000

Am 20.04.2010 22:19, schrieb Marius Scurtescu:
> On Tue, Apr 20, 2010 at 12:57 PM, Torsten Lodderstedt
> <torsten@lodderstedt.net>  wrote:
>    
>> As a major advantage the authorization server can be stateless with respect
>> to authorization transaction data because there is no need to hold such data
>> until the client obtains the tokens from the authorization server (callback,
>> client, verification code, identity and so on). This simplifies the
>> cluster/loadbalancing/fail-over architecture of the authorization server.
>>      
> If making the authz server stateless is the major goal, you can
> probably achieve that by encoding and encrypting all relevant data in
> the verification code and set a short lifetime on it. Would that work?
>    

This would work if the goal is stateless design only. I would also like 
to save the second call. Since the protocol prescribes a second request 
to exchange the verification code into the tokens, libraries will 
perform this call.

>
>    
>> Moreover, the load on the authz server should be reduced and the client
>> saves the roundtrip time of the second call. This is even more important if
>> clients extensively use the new "immediate" parameter to implement a SSO
>> alike behavior and use this flow very often.
>>      
> True, there is a small gain here, but on the other hand you don't have
> do deal with crypto.
>    

Assessment of the gain might depend on the point of view. My point of 
view is the authorization server operator and the expected absolut 
request volume. I think a client can use OAuth in two ways.

(1) The client performs the authorization process, obtains and stores 
the long-living refresh token. Within a user session, this client 
retrieves the refresh token from its database, acquires a corresponding  
access token and access the service.

(2) The client does not store the refresh token. Instead in every client 
session, it initiates the OAuth authorization process again. The 
Authorization server authenticates the user, probably with SSO 
experience, and responds with the already existing refresh tokens and a 
new access token.

(1) has the characteristics of a setup process and will probably 
performed a few times per user over a long period. Let's assume a user 
base of 10 million users, where every user access 3 application/day. 
Tokens are valid for 1 year and application setup is uniformly 
distributed over the year. This ((10 million users * 3 apps) / 365 days) 
makes roughly 100 thousand authorization requests per day + 30 million 
refresh token requests.

(2) in contrast, this variant has the characteristics of a SSO solution. 
This would result in 60 million requests per day (10.000.000*2*3), 
instead. So variant (2) would double the load, which in the first place 
is a cost driver. My proposal will cut (2) down to 30 million requests.

Please correct me if I'm wrong.

Yes, you have to deal with crypto in order to implement my proposal. A 
lot of people seam to have problems with it, but others not. I mean 
cryptography is the foundation of reliable security. Yes it makes 
implementing applications harder, but sometimes you cannot circumvent it 
in order to achieve a protection or other goal (e.g. scalability, 
fault-tolerance, performance). Kerberos has shown sucessfully how to 
trade crypto for incredible performance and scalability. My proposal is 
intended as an variant of the flow, deployments are free to choose. I 
think most of them will use the simpler approch, but why not offering an 
option for the rest that is standard compliant, too? Without standard 
approval, there will no support in libraries, which make implementation 
even harder :-(

regards,
Torsten.

> Marius
>    



From torsten@lodderstedt.net  Sat Apr 24 00:16:01 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BC68528C0DB for <oauth@core3.amsl.com>; Sat, 24 Apr 2010 00:16:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.705
X-Spam-Level: 
X-Spam-Status: No, score=-0.705 tagged_above=-999 required=5 tests=[AWL=-1.057, BAYES_50=0.001, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 76SJesxScIOF for <oauth@core3.amsl.com>; Sat, 24 Apr 2010 00:16:00 -0700 (PDT)
Received: from smtprelay03.ispgateway.de (smtprelay03.ispgateway.de [80.67.31.37]) by core3.amsl.com (Postfix) with ESMTP id 7715B3A6AED for <oauth@ietf.org>; Sat, 24 Apr 2010 00:16:00 -0700 (PDT)
Received: from p4fff2b78.dip.t-dialin.net ([79.255.43.120] helo=[127.0.0.1]) by smtprelay03.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O5Zaf-0003Oh-4q; Sat, 24 Apr 2010 09:15:49 +0200
Message-ID: <4BD29AA2.1050907@lodderstedt.net>
Date: Sat, 24 Apr 2010 09:15:46 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Evan Gilbert <uidude@google.com>
References: <4BCE071E.5030008@lodderstedt.net> <q2oc8689b661004201745wbf45d637w6c224d09513e7be2@mail.gmail.com> <4BCE8D55.4040708@lodderstedt.net> <y2pc8689b661004210831m7c246bffk3765fe5a2565b7bd@mail.gmail.com> <4BCF3226.2020002@lodderstedt.net> <z2vc8689b661004211723ic920b3fmce4acccbceb68ed1@mail.gmail.com>
In-Reply-To: <z2vc8689b661004211723ic920b3fmce4acccbceb68ed1@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------000905080008000104090006"
X-Df-Sender: 141509
Cc: "OAuth WG \(oauth@ietf.org\)" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Variant of Web Server Flow w/o direct communication
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 24 Apr 2010 07:16:01 -0000

This is a multi-part message in MIME format.
--------------000905080008000104090006
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Am 22.04.2010 02:23, schrieb Evan Gilbert:
>
>>
>>     At one point we had tokens in query string for the User-Agent
>>     flow, but there were concerns about the security side. Query
>>     parameters are much more likely to leak in logs and in referrers.
>>
>>     It's not a lot of work to support this functionality with the
>>     existing User-Agent flow using a boilerplate response page. Page
>>     would:
>>     1. Grab fragment
>>     2. Make XMLHttpRequest with access token & refresh token to
>>     server, or POST a form
>>     3. Redirect to destination page.
>>
>>     Would this work?
>
>     I think this would work but is IMHO somehow cumbersome and
>     requires two requests to the service.
>
>
> I agree it's cumbersome. Hopefully the security folks can respond with 
> the pros/cons of tokens in the query parameters.

I dicussed security considerations in my proposal. Depending on the risk 
assessment of the application/deployment, one will need to sign the 
request or encrypt the response.

>     Alternatively, the authorization server could directly respond
>     with a HTML page containing a HTML form element with all response
>     data. This form could automatically be submited to the service
>     using JavaScript. This would be similar to OpenIds "HTML FORM
>     Redirection".
>
>
> This is a good idea. Might make sense to support as a best practice - 
> the form can be static and it's fairly easy for any client to host it.
>
> We recently had a similar discussion on the Native Application flow on 
> the OAuth WG thread - decided that we could implement the Native Flow 
> as the Web Server flow + a simple HTML web page. And the web page 
> wouldn't be directly part of the spec, but a separately documented 
> best practice.
>
> (note - I don't have strong opinions on this - mostly discussing options)

I don't know whether the flow can really be implemented w/o standard 
support.

1) The server has to decide when to respond with conventional redirect 
and when with  HTML FORM Redirection. This could probably be setup on a 
per client base.
2) The client may not perform the second call in order to retrieve the 
tokens. Instead it shall use the response parameters. I don't expect 
libraries to support this behavior as long as the standard does not 
specifies it.

regards,
Torsten.

>
>
>     regards,
>     Torsten.
>
>


--------------000905080008000104090006
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Am 22.04.2010 02:23, schrieb Evan Gilbert:<br>
<blockquote
 cite="mid:z2vc8689b661004211723ic920b3fmce4acccbceb68ed1@mail.gmail.com"
 type="cite">
  <div class="gmail_quote">
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    <div bgcolor="#ffffff" text="#000000">
    <div>
    <div class="h5">
    <blockquote type="cite">
      <div class="gmail_quote">
      <div><br>
      </div>
      <div>At one point we had tokens in query string for the
User-Agent
flow, but there were concerns about the security side. Query parameters
are much more likely to leak in logs and in referrers.</div>
      <div><br>
      </div>
      <div>It's not a lot of work to support this functionality with
the
existing User-Agent flow using a boilerplate response page. Page would:</div>
      <div>1. Grab fragment</div>
      <div>2. Make XMLHttpRequest with access token &amp; refresh token
to
server, or POST a form</div>
      <div>3. Redirect to destination page.</div>
      <div><br>
      </div>
      <div>Would this work?</div>
      </div>
    </blockquote>
    <br>
    </div>
    </div>
I think this would work but is IMHO somehow cumbersome and requires two
requests to the service.</div>
  </blockquote>
  <div><br>
  </div>
  <div>I agree it's cumbersome. Hopefully the security folks can
respond with the pros/cons of tokens in the query parameters.</div>
  </div>
</blockquote>
<br>
I dicussed security considerations in my proposal. Depending on the
risk assessment of the application/deployment, one will need to sign
the request or encrypt the response.<br>
<br>
<blockquote
 cite="mid:z2vc8689b661004211723ic920b3fmce4acccbceb68ed1@mail.gmail.com"
 type="cite">
  <div class="gmail_quote">
  <div>&nbsp;</div>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    <div bgcolor="#ffffff" text="#000000"> Alternatively, the
authorization server could
directly respond with a HTML page containing a HTML form element with
all response data. This form could automatically be submited to the
service using JavaScript. This would be similar to OpenIds "HTML FORM
Redirection".<br>
    </div>
  </blockquote>
  <div><br>
  </div>
  <div>This is a good idea. Might make sense to support as a best
practice - the form can be static and it's fairly easy for any client
to host it.</div>
  <div><br>
We recently had a similar discussion on the Native Application flow on
the OAuth WG thread - decided that we could implement the Native Flow
as the Web Server flow + a simple HTML web page. And the web page
wouldn't be directly part of the spec, but a separately documented best
practice.</div>
  <div><br>
  </div>
  <div>(note - I don't have strong opinions on this - mostly discussing
options)</div>
  </div>
</blockquote>
<br>
I don't know whether the flow can really be implemented w/o standard
support.<br>
<br>
1) The server has to decide when to respond with conventional redirect
and when with&nbsp; HTML FORM
Redirection. This could probably be setup on a per client base. <br>
2) The client may not perform the second call in order to retrieve the
tokens. Instead it shall use the response parameters. I don't expect
libraries to support this behavior as long as the standard does not
specifies it.<br>
<br>
regards,<br>
Torsten. <br>
<br>
<blockquote
 cite="mid:z2vc8689b661004211723ic920b3fmce4acccbceb68ed1@mail.gmail.com"
 type="cite">
  <div class="gmail_quote">
  <div><br>
  </div>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    <div bgcolor="#ffffff" text="#000000"><br>
regards,<br>
Torsten.<br>
    </div>
  </blockquote>
  </div>
  <br>
</blockquote>
<br>
</body>
</html>

--------------000905080008000104090006--


From torsten@lodderstedt.net  Sat Apr 24 00:45:06 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E3D213A6911 for <oauth@core3.amsl.com>; Sat, 24 Apr 2010 00:45:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.051
X-Spam-Level: 
X-Spam-Status: No, score=-1.051 tagged_above=-999 required=5 tests=[AWL=-0.661, BAYES_20=-0.74, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vfYWg0EAnVgG for <oauth@core3.amsl.com>; Sat, 24 Apr 2010 00:45:05 -0700 (PDT)
Received: from smtprelay04.ispgateway.de (smtprelay04.ispgateway.de [80.67.31.32]) by core3.amsl.com (Postfix) with ESMTP id 907F03A6403 for <oauth@ietf.org>; Sat, 24 Apr 2010 00:45:05 -0700 (PDT)
Received: from p4fff2b78.dip.t-dialin.net ([79.255.43.120] helo=[127.0.0.1]) by smtprelay04.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O5a2n-0003OD-4v; Sat, 24 Apr 2010 09:44:53 +0200
Message-ID: <4BD2A172.2070401@lodderstedt.net>
Date: Sat, 24 Apr 2010 09:44:50 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET>
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 24 Apr 2010 07:45:07 -0000

Am 20.04.2010 17:10, schrieb Eran Hammer-Lahav:
> There seems to be support for this idea with some concerns about complexity. Someone needs to propose text for this including defining the request parameter and schema of the various reply formats.
>
>    

I would like to prepare some text. Beforehand, I would like to discuss 
some ideas in order to come to a rough consensous.

Basically, I would suggest to only consider cases where the 
implementation platform does not directly support URI query parameter 
decoding. From my point of view, this are all HTTP responses a client 
will need to process. All request parameters, e.g. redirect back to the 
web server in the web server flow, will still be delivered as 
"application/x-www-form-urlencoded" only, since the web container 
automatically prepares this parameters for easy access in the web 
application.

I have compiled a list of candidates:

3.5.1.  User-Agent Flow
3.5.1.1.  Client Requests Authorization

fragement of the redirect URL. Change this to base64 encoded XML/JSON, 
desired format as request parameter

3.5.2.  Web Server Flow
3.5.2.2.  Client Requests Access Token

response formats: application/x-www-form-urlencoded, application/xml, or 
application/json
desired format as request parameter
response mime type indicates response format

3.5.3.  Device Flow
3.5.3.1.  Client Requests Authorization

proposal see 3.5.2.2.  Client Requests Access Token

3.5.3.2.  Client Requests Access Token

proposal see 3.5.2.2.  Client Requests Access Token

3.6.1.  Username and Password Flow
3.6.1.1.  Client Requests Access Token

proposal see 3.5.2.2.  Client Requests Access Token

3.7.1.  Client Credentials Flow
3.7.1.1.  Client Requests Access Token

proposal see 3.5.2.2.  Client Requests Access Token

3.7.2.  Assertion Flow
3.7.2.1.  Client Requests Access Token

proposal see 3.5.2.2.  Client Requests Access Token

4.  Refreshing an Access Token

proposal see 3.5.2.2.  Client Requests Access Token

Any comments?

regards,
Torsten.
> EHL
>
>    
>> -----Original Message-----
>> From: Torsten Lodderstedt [mailto:torsten@lodderstedt.net]
>> Sent: Monday, April 19, 2010 4:48 AM
>> To: Eran Hammer-Lahav
>> Cc: Dick Hardt; OAuth WG
>> Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>>
>>
>>      
>>> We can also offer both and define a client request parameter (as long
>>> as the server is required to make at least one format available).
>>>        
>> +1 on this
>>
>> regards,
>> Torsten.
>>
>>      
>>> EHL
>>>
>>>        
>>>> -----Original Message-----
>>>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
>>>> Behalf Of Dick Hardt
>>>> Sent: Sunday, April 18, 2010 9:30 PM
>>>> To: OAuth WG
>>>> Subject: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>>>>
>>>> The AS token endpoint response is encoded as application/x-www-form-
>>>> urlencoded
>>>>
>>>> While this reuses a well known and understood encoding standard, it
>>>> is uncommon for a client to receive a message encoded like this. Most
>>>> server responses are encoded as XML or JSON. Libraries are NOT
>>>> reedily available to parse application/x-www-form-urlencoded results
>>>> as this is something that is typically done in the web servers
>>>> framework. While parsing the name value pairs and URL un-encoding
>>>> them is not hard, many developers have been caught just splitting the
>>>>          
>> parameters and forgetting to URL decode the token.
>>      
>>>> Since the token is opaque and may contain characters that are
>>>> escaped, it is a difficult bug to detect.
>>>>
>>>> Potential options:
>>>>
>>>> 1) Do nothing, developers should read the specs and do the right thing.
>>>>
>>>> 2) Require that all parameters are URL safe so that there is no
>>>> encoding issue.
>>>>
>>>> 3) Return results as JSON, and recommend that parameters be URL safe.
>>>>
>>>> -- Dick
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>          
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>>        
>>
>>
>>      
>    



From Doug_Foiles@intuit.com  Sun Apr 25 10:43:15 2010
Return-Path: <Doug_Foiles@intuit.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BC68728C112 for <oauth@core3.amsl.com>; Sun, 25 Apr 2010 10:43:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.192
X-Spam-Level: 
X-Spam-Status: No, score=-3.192 tagged_above=-999 required=5 tests=[BAYES_50=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, SARE_URI_CONS7=0.306, URI_NOVOWEL=0.5]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mPnWj5yuZ+tD for <oauth@core3.amsl.com>; Sun, 25 Apr 2010 10:43:14 -0700 (PDT)
Received: from mail4.intuit.com (mail4.intuit.com [12.149.175.56]) by core3.amsl.com (Postfix) with ESMTP id 7CA173A6AFA for <oauth@ietf.org>; Sun, 25 Apr 2010 10:35:03 -0700 (PDT)
DomainKey-Signature: s=default; d=intuit.com; c=nofws; q=dns; h=X-SBRS:X-IronPort-AV:Received:Received:X-MimeOLE: Content-class:MIME-Version:Content-Type:Subject:Date: Message-ID:In-Reply-To:X-MS-Has-Attach: X-MS-TNEF-Correlator:Thread-Topic:Thread-Index:References: From:To:Return-Path:X-OriginalArrivalTime; b=jw0OKrWTzOSRqEJspmrgHacA96s8196sETF8Rv3QQYdET1YWeAca2xix QTNq5IHoRuZEELN0vxpI4CeGE3oWOTtfqYzKmEzR70qy4/e3NbQaSRd+P FNCq90OLSmPl1q9;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=intuit.com; i=Doug_Foiles@intuit.com; q=dns/txt; s=default; t=1272216892; x=1303752892; h=from:sender:reply-to:subject:date:message-id:to:cc: mime-version:content-transfer-encoding:content-id: content-description:resent-date:resent-from:resent-sender: resent-to:resent-cc:resent-message-id:in-reply-to: references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:list-owner:list-archive; z=From:=20"Foiles,=20Doug"=20<Doug_Foiles@intuit.com> |Subject:=20RE:=20[OAUTH-WG]=20Autonomous=20clients=20and =20resource=20owners=20(editorial)|Date:=20Sun,=2025=20Ap r=202010=2010:34:45=20-0700|Message-ID:=20<BE42DBBC1969B5 41915E30C5517382D9046EB117@SDGEXEVS07.corp.intuit.net> |To:=20"Eve=20Maler"=20<eve@xmlgrrl.com>,=0D=0A=09"OAuth =20WG"=20<oauth@ietf.org>|MIME-Version:=201.0 |In-Reply-To:=20<B30B40FB-BD4B-433C-B6E5-7061EE5469CA@xml grrl.com>|References:=20<r2pc8689b661004190833tf46085bayb 92b840acf080bb4@mail.gmail.com>=09<C7F1C6AC.327EE%eran@hu eniverse.com>=09<u2jc8689b661004191006hc3c7fb3eid09feafd5 7d2fd8a@mail.gmail.com>=09<90C41DD21FB7C64BB94121FBBC2E72 3438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET>=09<o2wc86 89b661004191716o69966d5di900c07737d3be568@mail.gmail.com> =09<90C41DD21FB7C64BB94121FBBC2E723438E5C7F45A@P3PW5EX1MB 01.EX1.SECURESERVER.NET>=09<z2xc334d54e1004200936s57f06de dt8e0e46df3480f8d4@mail.gmail.com><90C41DD21FB7C64BB94121 FBBC2E723438E5C7F533@P3PW5EX1MB01.EX1.SECURESERVER.NET><4 BCDF86C.9080003@lodderstedt.net><90C41DD21FB7C64BB94121FB BC2E723438E5C7F5D9@P3PW5EX1MB01.EX1.SECURESERVER.NET><4BC F6E8F.6080802@lodderstedt.net><9454D8CD-0BF4-44CA-A46A-12 F244E72B22@xmlgrrl.com>=20<B30B40FB-BD4B-433C-B6E5-7061EE 5469CA@xmlgrrl.com>; bh=CSGnOhX0lM2I6XPyydw3ahhlY22gBFOUcQsFu0W6ol0=; b=sHoL7QNXNjNS+DOkxxOFPym4Mv+KShxA2vUnYMscwu64WwEbjeFgKNT8 2+oO4+zlXRcPpzPIstxpN+dFzbYWLRzP49YhWzk0ztbwceXQm1mmiv0FK U95TPg259dpMW+V;
X-SBRS: None
X-IronPort-AV: E=Sophos;i="4.52,270,1270450800";  d="scan'208,217";a="177996282"
Received: from relay-ex.sd.intuit.com (HELO SDGEXBH03.corp.intuit.net) ([172.17.135.77]) by mail4.sdg.ie.intuit.com with ESMTP; 25 Apr 2010 10:34:46 -0700
Received: from SDGEXEVS07.corp.intuit.net ([172.17.135.182]) by SDGEXBH03.corp.intuit.net with Microsoft SMTPSVC(6.0.3790.3959); Sun, 25 Apr 2010 10:34:46 -0700
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01CAE49D.991D92EC"
Date: Sun, 25 Apr 2010 10:34:45 -0700
Message-ID: <BE42DBBC1969B541915E30C5517382D9046EB117@SDGEXEVS07.corp.intuit.net>
In-Reply-To: <B30B40FB-BD4B-433C-B6E5-7061EE5469CA@xmlgrrl.com>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: [OAUTH-WG] Autonomous clients and resource owners (editorial)
Thread-Index: Acri8Py35N4mYNa9SHKH9eXXarwvdgBpwK0w
References: <r2pc8689b661004190833tf46085bayb92b840acf080bb4@mail.gmail.com>	<C7F1C6AC.327EE%eran@hueniverse.com>	<u2jc8689b661004191006hc3c7fb3eid09feafd57d2fd8a@mail.gmail.com>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7F163@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<o2wc8689b661004191716o69966d5di900c07737d3be568@mail.gmail.com>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7F45A@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<z2xc334d54e1004200936s57f06dedt8e0e46df3480f8d4@mail.gmail.com><90C41DD21FB7C64BB94121FBBC2E723438E5C7F533@P3PW5EX1MB01.EX1.SECURESERVER.NET><4BCDF86C.9080003@lodderstedt.net><90C41DD21FB7C64BB94121FBBC2E723438E5C7F5D9@P3PW5EX1MB01.EX1.SECURESERVER.NET><4BCF6E8F.6080802@lodderstedt.net><9454D8CD-0BF4-44CA-A46A-12F244E72B22@xmlgrrl.com> <B30B40FB-BD4B-433C-B6E5-7061EE5469CA@xmlgrrl.com>
From: "Foiles, Doug" <Doug_Foiles@intuit.com>
To: "Eve Maler" <eve@xmlgrrl.com>, "OAuth WG" <oauth@ietf.org>
X-OriginalArrivalTime: 25 Apr 2010 17:34:46.0782 (UTC) FILETIME=[996211E0:01CAE49D]
Subject: Re: [OAUTH-WG] Autonomous clients and resource owners (editorial)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 25 Apr 2010 17:43:15 -0000

This is a multi-part message in MIME format.

------_=_NextPart_001_01CAE49D.991D92EC
Content-Type: text/plain;
	charset="utf-8"
Content-Transfer-Encoding: base64

SSBoYXZlIGEgYml0IG9mIGNvbmZ1c2lvbiBvbiB0aGUgQXV0b25vbW91cyBDbGllbnQgRmxvd3Mg
4oCmIGFuZCBzcGVjaWZpY2FsbHkgcmVsYXRlZCB0byBFdmXigJlzIGNvbW1lbnQgYmVsb3cgdGhh
dCBzdWdnZXN0cyB0byBtZSB0aGF0IHRoZSBhdXRvbm9tb3VzIGNsaWVudCBpcyBOT1QgQUxXQVlT
IHRoZSByZXNvdXJjZSBvd25lci4NCg0KIA0KDQpDYW4gdGhlIEF1dG9ub21vdXMgQ2xpZW50IEZs
b3dzIHN1cHBvcnQgY2xpZW50cyB0aGF0IEFSRSBOT1QgdGhlIGFjdHVhbCByZXNvdXJjZSBvd25l
cj8gIEZvciBleGFtcGxlIGZvciBhbiBBc3NlcnRpb24gRmxvdyB3aGVyZSB0aGUgU3ViamVjdCBv
ZiB0aGUgU0FNTCBhc3NlcnRpb24gaXMgYSB1c2VyIGlkZW50aXR5IChhbmQgdGhlIHJlc291cmNl
IG93bmVyKSBhbmQgbm90IHRoYXQgb2YgdGhlIGNsaWVudC4NCg0KIA0KDQpJcyB0aGUgaW50ZW50
IG9mIHRoZSBDbGllbnQgQ3JlZGVudGlhbHMgRmxvdyB0byBzdXBwb3J0IHNvbWV0aGluZyBsaWtl
IEdvb2dsZeKAmXMg4oCcT0F1dGggZm9yIEdvb2dsZSBBcHBzIGRvbWFpbnPigJ0gMiBMZWdnZWQg
T0F1dGggdXNlIGNhc2U/ICBodHRwOi8vY29kZS5nb29nbGUuY29tL2FwaXMvYWNjb3VudHMvZG9j
cy9PQXV0aC5odG1sLg0KDQogDQoNCklmIHRoZSBBdXRvbm9tb3VzIENsaWVudCBGbG93cyBzdXBw
b3J0IGNsaWVudHMgdGhhdCBjYW4gYWN0IG9uIGJlaGFsZiBhIHJlc291cmNlIG93bmVyIHRoYXQg
aXMgbm90IHRoZW1zZWx2ZXMgIOKApiBpdCB0aGVuIHNlZW1zIHRoZSByZXNvdXJjZSBvd25lciBt
dXN0IHByb3ZpZGUgc29tZSBsZXZlbCBvZiBjb25zZW50IG91dHNpZGUgdGhlIE9BdXRoIHNwZWNp
ZmljIGZsb3cuIA0KDQogDQoNClRoYW5rcy4NCg0KIA0KDQpEb3VnDQoNCiANCg0KRnJvbTogb2F1
dGgtYm91bmNlc0BpZXRmLm9yZyBbbWFpbHRvOm9hdXRoLWJvdW5jZXNAaWV0Zi5vcmddIE9uIEJl
aGFsZiBPZiBFdmUgTWFsZXINClNlbnQ6IEZyaWRheSwgQXByaWwgMjMsIDIwMTAgNzoyMSBBTQ0K
VG86IE9BdXRoIFdHDQpTdWJqZWN0OiBbT0FVVEgtV0ddIEF1dG9ub21vdXMgY2xpZW50cyBhbmQg
cmVzb3VyY2Ugb3duZXJzIChlZGl0b3JpYWwpDQoNCiANCg0KUmVnYXJkaW5nIHRoZSBzZWNvbmQg
Y29tbWVudCBJIG1hZGUgYmVsb3c6IEkgcmVhbGl6ZWQgbGFzdCBuaWdodCB0aGF0IFNlY3Rpb25z
IDMuNy4xIGFuZCAzLjcuMiBnZXQgdGhpcyBtb3JlIGNvcnJlY3QsIGJ5IHNheWluZyB0aGF0IGFu
IGF1dG9ub21vdXMgY2xpZW50IHJlcHJlc2VudHMgYSAic2VwYXJhdGUgcmVzb3VyY2Ugb3duZXIi
LiBTbyBTZWN0aW9uIDIuMiBkZWZpbml0ZWx5IG5lZWRzIGEgc2xpZ2h0IGNoYW5nZSwgZnJvbToN
Cg0KIA0KDQoiLi4uYW5kIGF1dG9ub21vdXMgZmxvd3Mgd2hlcmUgdGhlIGNsaWVudCBpcyBhY3Rp
bmcgZm9yIGl0c2VsZiAodGhlIGNsaWVudCBpcyBhbHNvIHRoZSByZXNvdXJjZSBvd25lcikuIg0K
DQogDQoNCnRvIHNvbWV0aGluZyBsaWtlOg0KDQogDQoNCiIuLi5hbmQgYXV0b25vbW91cyBmbG93
cyB3aGVyZSB0aGUgY2xpZW50IGlzIGFjdGluZyBvbiBiZWhhbGYgb2YgYSBkaWZmZXJlbnQgcmVz
b3VyY2Ugb3duZXIuIg0KDQogDQoNClRoYW5rcywNCg0KIA0KDQogICAgICAgICAgICBFdmUNCg0K
IA0KDQpPbiAyMSBBcHIgMjAxMCwgYXQgNDo0MyBQTSwgRXZlIE1hbGVyIHdyb3RlOg0KDQoNCg0K
DQoNClRhY2tpbmcgdGhpcyByZXNwb25zZSB0byB0aGUgZW5kIG9mIHRoZSB0aHJlYWQgZm9yIGxh
Y2sgb2YgYSBiZXR0ZXIgcGxhY2UgdG8gZG8gaXQ6IFRoZSBuYW1lICJ1c2VybmFtZSIgc2VlbXMg
bm90IHF1aXRlIGFwdCBpbiB0aGUgY2FzZSBvZiBhbiBhdXRvbm9tb3VzIGNsaWVudCB0aGF0IGlz
bid0IHJlcHJlc2VudGluZyBhbiBlbmQtdXNlci4gV291bGQgImlkZW50aWZpZXIiIGJlIGJldHRl
cj8gKEFjdHVhbGx5LCBpdCBzb3J0IG9mIHJlbWluZHMgbWUgb2YgU0FNTCdzICJTZXNzaW9uSW5k
ZXgiLi4uKSBPciB3b3VsZCB0aGUgcGFyYW1ldGVyIGJlIHJlc2VydmVkIGZvciB1c2VyLWRlbGVn
YXRpb24gZmxvd3M/DQoNCiANCg0KU3BlYWtpbmcgb2YgYXV0b25vbW91cyBjbGllbnRzLCBTZWN0
aW9uIDIuMiAtLSBhbW9uZyBwb3NzaWJseSBvdGhlciBwbGFjZXMgLS0gc3RhdGVzIHRoYXQgYW4g
YXV0b25vbW91cyBjbGllbnQgaXMgYWxzbyB0aGUgcmVzb3VyY2Ugb3duZXIsIGJ1dCB0aGF0J3Mg
bm90IGFsd2F5cyB0aGUgY2FzZSwgaXMgaXQ/IFRoZSBjbGllbnQgbWlnaHQgYmUgc2Vla2luZyBh
Y2Nlc3Mgb24gYmVoYWxmIG9mIGl0c2VsZi4gKEZXSVcsIEkgbWFkZSByb3VnaGx5IHRoaXMgc2Ft
ZSBjb21tZW50IG9uIERhdmlkJ3MgZmlyc3QgZHJhZnQgb24gTWFyY2ggMjEsIGFuZCBoZSBhZ3Jl
ZWQgd2l0aCBteSBzdWdnZXN0ZWQgZml4IGF0IHRoZSB0aW1lLikNCg0KIA0KDQogICAgICAgICAg
ICBFdmUNCg0KIA0KDQoNCkV2ZSBNYWxlcg0KDQpldmVAeG1sZ3JybC5jb20NCg0KaHR0cDovL3d3
dy54bWxncnJsLmNvbS9ibG9nDQoNCiANCg0K

------_=_NextPart_001_01CAE49D.991D92EC
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6eD0idXJuOnNjaGVtYXMtbWljcm9z
b2Z0LWNvbTpvZmZpY2U6ZXhjZWwiIHhtbG5zOnA9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206
b2ZmaWNlOnBvd2VycG9pbnQiIHhtbG5zOmE9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2Zm
aWNlOmFjY2VzcyIgeG1sbnM6ZHQ9InV1aWQ6QzJGNDEwMTAtNjVCMy0xMWQxLUEyOUYtMDBBQTAw
QzE0ODgyIiB4bWxuczpzPSJ1dWlkOkJEQzZFM0YwLTZEQTMtMTFkMS1BMkEzLTAwQUEwMEMxNDg4
MiIgeG1sbnM6cnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206cm93c2V0IiB4bWxuczp6PSIj
Um93c2V0U2NoZW1hIiB4bWxuczpiPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpw
dWJsaXNoZXIiIHhtbG5zOnNzPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpzcHJl
YWRzaGVldCIgeG1sbnM6Yz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6Y29tcG9u
ZW50OnNwcmVhZHNoZWV0IiB4bWxuczpvZGM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2Zm
aWNlOm9kYyIgeG1sbnM6b2E9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOmFjdGl2
YXRpb24iIHhtbG5zOmh0bWw9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAiIHhtbG5z
OnE9Imh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3NvYXAvZW52ZWxvcGUvIiB4bWxuczpydGM9
Imh0dHA6Ly9taWNyb3NvZnQuY29tL29mZmljZW5ldC9jb25mZXJlbmNpbmciIHhtbG5zOkQ9IkRB
VjoiIHhtbG5zOlJlcGw9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vcmVwbC8iIHhtbG5z
Om10PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29hcC9tZWV0aW5n
cy8iIHhtbG5zOngyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9leGNlbC8y
MDAzL3htbCIgeG1sbnM6cHBkYT0iaHR0cDovL3d3dy5wYXNzcG9ydC5jb20vTmFtZVNwYWNlLnhz
ZCIgeG1sbnM6b2lzPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29h
cC9vaXMvIiB4bWxuczpkaXI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2lu
dC9zb2FwL2RpcmVjdG9yeS8iIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3ht
bGRzaWcjIiB4bWxuczpkc3A9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2lu
dC9kc3AiIHhtbG5zOnVkYz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kYXRhL3VkYyIg
eG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6c3ViPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29hcC8yMDAyLzEvYWxlcnRz
LyIgeG1sbnM6ZWM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jIyIgeG1sbnM6c3A9
Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2ludC8iIHhtbG5zOnNwcz0iaHR0
cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9zaGFyZXBvaW50L3NvYXAvIiB4bWxuczp4c2k9Imh0
dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp1ZGNzPSJodHRw
Oi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RhdGEvdWRjL3NvYXAiIHhtbG5zOnVkY3hmPSJodHRw
Oi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RhdGEvdWRjL3htbGZpbGUiIHhtbG5zOnVkY3AycD0i
aHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kYXRhL3VkYy9wYXJ0dG9wYXJ0IiB4bWxuczp3
Zj0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9zaGFyZXBvaW50L3NvYXAvd29ya2Zsb3cv
IiB4bWxuczpkc3NzPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA2L2Rp
Z3NpZy1zZXR1cCIgeG1sbnM6ZHNzaT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZp
Y2UvMjAwNi9kaWdzaWciIHhtbG5zOm1kc3NpPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0
cy5vcmcvcGFja2FnZS8yMDA2L2RpZ2l0YWwtc2lnbmF0dXJlIiB4bWxuczptdmVyPSJodHRwOi8v
c2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvbWFya3VwLWNvbXBhdGliaWxpdHkvMjAwNiIgeG1s
bnM6bT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4
bWxuczptcmVscz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAw
Ni9yZWxhdGlvbnNoaXBzIiB4bWxuczpzcHdwPSJodHRwOi8vbWljcm9zb2Z0LmNvbS9zaGFyZXBv
aW50L3dlYnBhcnRwYWdlcyIgeG1sbnM6ZXgxMnQ9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5j
b20vZXhjaGFuZ2Uvc2VydmljZXMvMjAwNi90eXBlcyIgeG1sbnM6ZXgxMm09Imh0dHA6Ly9zY2hl
bWFzLm1pY3Jvc29mdC5jb20vZXhjaGFuZ2Uvc2VydmljZXMvMjAwNi9tZXNzYWdlcyIgeG1sbnM6
cHB0c2w9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2ludC9zb2FwL1NsaWRl
TGlicmFyeS8iIHhtbG5zOnNwc2w9Imh0dHA6Ly9taWNyb3NvZnQuY29tL3dlYnNlcnZpY2VzL1No
YXJlUG9pbnRQb3J0YWxTZXJ2ZXIvUHVibGlzaGVkTGlua3NTZXJ2aWNlIiB4bWxuczpaPSJ1cm46
c2NoZW1hcy1taWNyb3NvZnQtY29tOiIgeG1sbnM6c3Q9IiYjMTsiIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PUNvbnRl
bnQtVHlwZSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1ldGEgbmFtZT1H
ZW5lcmF0b3IgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTIgKGZpbHRlcmVkIG1lZGl1bSkiPg0K
PHN0eWxlPg0KPCEtLQ0KIC8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCiBAZm9udC1mYWNlDQoJe2Zv
bnQtZmFtaWx5OkNvdXJpZXI7DQoJcGFub3NlLTE6MiA3IDQgOSAyIDIgNSAyIDQgNDt9DQpAZm9u
dC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJDYW1icmlhIE1hdGgiOw0KCXBhbm9zZS0xOjIgNCA1IDMg
NSA0IDYgMyAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9z
ZS0xOjIgMTUgNSAyIDIgMiA0IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6VGFo
b21hOw0KCXBhbm9zZS0xOjIgMTEgNiA0IDMgNSA0IDQgMiA0O30NCiAvKiBTdHlsZSBEZWZpbml0
aW9ucyAqLw0KIHAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFy
Z2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEyLjBwdDsNCglm
b250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIiwic2VyaWYiO30NCmE6bGluaywgc3Bhbi5Nc29I
eXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1k
ZWNvcmF0aW9uOnVuZGVybGluZTt9DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93
ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOnB1cnBsZTsNCgl0ZXh0LWRlY29y
YXRpb246dW5kZXJsaW5lO30NCnNwYW4uYXBwbGUtdGFiLXNwYW4NCgl7bXNvLXN0eWxlLW5hbWU6
YXBwbGUtdGFiLXNwYW47fQ0Kc3Bhbi5hcHBsZS1zdHlsZS1zcGFuDQoJe21zby1zdHlsZS1uYW1l
OmFwcGxlLXN0eWxlLXNwYW47fQ0Kc3Bhbi5FbWFpbFN0eWxlMTkNCgl7bXNvLXN0eWxlLXR5cGU6
cGVyc29uYWwtcmVwbHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsNCglj
b2xvcjojMUY0OTdEO30NCi5Nc29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1v
bmx5Ow0KCWZvbnQtc2l6ZToxMC4wcHQ7fQ0KQHBhZ2UgU2VjdGlvbjENCgl7c2l6ZTo4LjVpbiAx
MS4waW47DQoJbWFyZ2luOjEuMGluIDEuMGluIDEuMGluIDEuMGluO30NCmRpdi5TZWN0aW9uMQ0K
CXtwYWdlOlNlY3Rpb24xO30NCi0tPg0KPC9zdHlsZT4NCjwhLS1baWYgZ3RlIG1zbyA5XT48eG1s
Pg0KIDxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8L3ht
bD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCiA8bzpzaGFwZWxheW91dCB2
OmV4dD0iZWRpdCI+DQogIDxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0KIDwvbzpz
aGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4NCjwvaGVhZD4NCg0KPGJvZHkgbGFuZz1FTi1V
UyBsaW5rPWJsdWUgdmxpbms9cHVycGxlIHN0eWxlPSd3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7DQot
d2Via2l0LW5ic3AtbW9kZTogc3BhY2U7LXdlYmtpdC1saW5lLWJyZWFrOiBhZnRlci13aGl0ZS1z
cGFjZSc+DQoNCjxkaXYgY2xhc3M9U2VjdGlvbjE+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3Bh
biBzdHlsZT0nZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2Vy
aWYiOw0KY29sb3I6IzFGNDk3RCc+SSBoYXZlIGEgYml0IG9mIGNvbmZ1c2lvbiBvbiB0aGUgQXV0
b25vbW91cyBDbGllbnQgRmxvd3Mg4oCmIGFuZA0Kc3BlY2lmaWNhbGx5IHJlbGF0ZWQgdG8gRXZl
4oCZcyBjb21tZW50IGJlbG93IHRoYXQgc3VnZ2VzdHMgdG8gbWUgdGhhdCB0aGUgYXV0b25vbW91
cw0KY2xpZW50IGlzIE5PVCBBTFdBWVMgdGhlIHJlc291cmNlIG93bmVyLjxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTEu
MHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQpjb2xvcjojMUY0OTdEJz48
bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBz
dHlsZT0nZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYi
Ow0KY29sb3I6IzFGNDk3RCc+Q2FuIHRoZSBBdXRvbm9tb3VzIENsaWVudCBGbG93cyBzdXBwb3J0
IGNsaWVudHMgdGhhdCBBUkUgTk9UIHRoZQ0KYWN0dWFsIHJlc291cmNlIG93bmVyP8KgIEZvciBl
eGFtcGxlIGZvciBhbiBBc3NlcnRpb24gRmxvdyB3aGVyZSB0aGUgU3ViamVjdCBvZg0KdGhlIFNB
TUwgYXNzZXJ0aW9uIGlzIGEgdXNlciBpZGVudGl0eSAoYW5kIHRoZSByZXNvdXJjZSBvd25lcikg
YW5kIG5vdCB0aGF0IG9mIHRoZQ0KY2xpZW50LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAg
Y2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5
OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7DQpjb2xvcjojMUY0OTdEJz48bzpwPiZuYnNwOzwvbzpw
Pjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nZm9udC1zaXpl
OjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KY29sb3I6IzFGNDk3
RCc+SXMgdGhlIGludGVudCBvZiB0aGUgQ2xpZW50IENyZWRlbnRpYWxzIEZsb3cgdG8gc3VwcG9y
dCBzb21ldGhpbmcNCmxpa2UgR29vZ2xl4oCZcyDigJxPQXV0aCBmb3IgR29vZ2xlIEFwcHMgZG9t
YWluc+KAnSAyIExlZ2dlZCBPQXV0aCB1c2UgY2FzZT8gwqA8YQ0KaHJlZj0iaHR0cDovL2NvZGUu
Z29vZ2xlLmNvbS9hcGlzL2FjY291bnRzL2RvY3MvT0F1dGguaHRtbCI+aHR0cDovL2NvZGUuZ29v
Z2xlLmNvbS9hcGlzL2FjY291bnRzL2RvY3MvT0F1dGguaHRtbDwvYT4uPG86cD48L286cD48L3Nw
YW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsNCmNvbG9yOiMxRjQ5N0QnPjxv
OnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0
eWxlPSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7
DQpjb2xvcjojMUY0OTdEJz5JZiB0aGUgQXV0b25vbW91cyBDbGllbnQgRmxvd3Mgc3VwcG9ydCBj
bGllbnRzIHRoYXQgY2FuIGFjdCBvbg0KYmVoYWxmIGEgcmVzb3VyY2Ugb3duZXIgdGhhdCBpcyBu
b3QgdGhlbXNlbHZlc8KgIOKApiBpdCB0aGVuIHNlZW1zIHRoZSByZXNvdXJjZQ0Kb3duZXIgbXVz
dCBwcm92aWRlIHNvbWUgbGV2ZWwgb2YgY29uc2VudCBvdXRzaWRlIHRoZSBPQXV0aCBzcGVjaWZp
YyBmbG93LiA8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3Bh
biBzdHlsZT0nZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2Vy
aWYiOw0KY29sb3I6IzFGNDk3RCc+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KDQo8cCBj
bGFzcz1Nc29Ob3JtYWw+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6
IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsNCmNvbG9yOiMxRjQ5N0QnPlRoYW5rcy48bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nZm9udC1zaXpl
OjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KY29sb3I6IzFGNDk3
RCc+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNw
YW4gc3R5bGU9J2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNl
cmlmIjsNCmNvbG9yOiMxRjQ5N0QnPkRvdWc8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNs
YXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToi
Q2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KY29sb3I6IzFGNDk3RCc+PG86cD4mbmJzcDs8L286cD48
L3NwYW4+PC9wPg0KDQo8ZGl2Pg0KDQo8ZGl2IHN0eWxlPSdib3JkZXI6bm9uZTtib3JkZXItdG9w
OnNvbGlkICNCNUM0REYgMS4wcHQ7cGFkZGluZzozLjBwdCAwaW4gMGluIDBpbic+DQoNCjxwIGNs
YXNzPU1zb05vcm1hbD48Yj48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWls
eToiVGFob21hIiwic2Fucy1zZXJpZiInPkZyb206PC9zcGFuPjwvYj48c3Bhbg0Kc3R5bGU9J2Zv
bnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRhaG9tYSIsInNhbnMtc2VyaWYiJz4gb2F1dGgt
Ym91bmNlc0BpZXRmLm9yZw0KW21haWx0bzpvYXV0aC1ib3VuY2VzQGlldGYub3JnXSA8Yj5PbiBC
ZWhhbGYgT2YgPC9iPkV2ZSBNYWxlcjxicj4NCjxiPlNlbnQ6PC9iPiBGcmlkYXksIEFwcmlsIDIz
LCAyMDEwIDc6MjEgQU08YnI+DQo8Yj5Ubzo8L2I+IE9BdXRoIFdHPGJyPg0KPGI+U3ViamVjdDo8
L2I+IFtPQVVUSC1XR10gQXV0b25vbW91cyBjbGllbnRzIGFuZCByZXNvdXJjZSBvd25lcnMgKGVk
aXRvcmlhbCk8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjwvZGl2Pg0KDQo8L2Rpdj4NCg0KPHAg
Y2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8ZGl2Pg0KDQo8cCBjbGFz
cz1Nc29Ob3JtYWw+UmVnYXJkaW5nIHRoZSBzZWNvbmQgY29tbWVudCBJIG1hZGUgYmVsb3c6IEkg
cmVhbGl6ZWQgbGFzdA0KbmlnaHQgdGhhdCBTZWN0aW9ucyAzLjcuMSBhbmQgMy43LjIgZ2V0IHRo
aXMgbW9yZSBjb3JyZWN0LCBieSBzYXlpbmcgdGhhdCBhbg0KYXV0b25vbW91cyBjbGllbnQgcmVw
cmVzZW50cyBhICZxdW90O3NlcGFyYXRlIHJlc291cmNlIG93bmVyJnF1b3Q7LiBTbyBTZWN0aW9u
DQoyLjIgZGVmaW5pdGVseSBuZWVkcyBhIHNsaWdodCBjaGFuZ2UsIGZyb206PG86cD48L286cD48
L3A+DQoNCjwvZGl2Pg0KDQo8ZGl2Pg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8
L286cD48L3A+DQoNCjwvZGl2Pg0KDQo8ZGl2Pg0KDQo8ZGl2Pg0KDQo8cCBjbGFzcz1Nc29Ob3Jt
YWw+JnF1b3Q7Li4uYW5kIGF1dG9ub21vdXMgZmxvd3Mgd2hlcmUgdGhlIGNsaWVudCBpcyBhY3Rp
bmcNCmZvciZuYnNwO2l0c2VsZiAodGhlIGNsaWVudCBpcyBhbHNvIHRoZSByZXNvdXJjZSBvd25l
cikuJnF1b3Q7PG86cD48L286cD48L3A+DQoNCjwvZGl2Pg0KDQo8L2Rpdj4NCg0KPGRpdj4NCg0K
PHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8L2Rpdj4NCg0KPGRp
dj4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPnRvIHNvbWV0aGluZyBsaWtlOjxvOnA+PC9vOnA+PC9w
Pg0KDQo8L2Rpdj4NCg0KPGRpdj4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9v
OnA+PC9wPg0KDQo8L2Rpdj4NCg0KPGRpdj4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPiZxdW90Oy4u
LmFuZCBhdXRvbm9tb3VzIGZsb3dzIHdoZXJlIHRoZSBjbGllbnQgaXMgYWN0aW5nIG9uDQpiZWhh
bGYgb2YgYSBkaWZmZXJlbnQgcmVzb3VyY2Ugb3duZXIuJnF1b3Q7PG86cD48L286cD48L3A+DQoN
CjwvZGl2Pg0KDQo8ZGl2Pg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48
L3A+DQoNCjwvZGl2Pg0KDQo8ZGl2Pg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+VGhhbmtzLDxvOnA+
PC9vOnA+PC9wPg0KDQo8L2Rpdj4NCg0KPGRpdj4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+
Jm5ic3A7PC9vOnA+PC9wPg0KDQo8L2Rpdj4NCg0KPGRpdj4NCg0KPHAgY2xhc3M9TXNvTm9ybWFs
PjxzcGFuIGNsYXNzPWFwcGxlLXRhYi1zcGFuPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgPC9zcGFu
PkV2ZTxvOnA+PC9vOnA+PC9wPg0KDQo8L2Rpdj4NCg0KPGRpdj4NCg0KPHAgY2xhc3M9TXNvTm9y
bWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8L2Rpdj4NCg0KPGRpdj4NCg0KPGRpdj4NCg0K
PHAgY2xhc3M9TXNvTm9ybWFsPk9uIDIxIEFwciAyMDEwLCBhdCA0OjQzIFBNLCBFdmUgTWFsZXIg
d3JvdGU6PG86cD48L286cD48L3A+DQoNCjwvZGl2Pg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PGJy
Pg0KPGJyPg0KPG86cD48L286cD48L3A+DQoNCjxkaXY+DQoNCjxkaXY+DQoNCjxwIGNsYXNzPU1z
b05vcm1hbD5UYWNraW5nIHRoaXMgcmVzcG9uc2UgdG8gdGhlIGVuZCBvZiB0aGUgdGhyZWFkIGZv
ciBsYWNrIG9mIGENCmJldHRlciBwbGFjZSB0byBkbyBpdDogVGhlIG5hbWUgJnF1b3Q7dXNlcm5h
bWUmcXVvdDsgc2VlbXMgbm90IHF1aXRlIGFwdCBpbiB0aGUNCmNhc2Ugb2YgYW4gYXV0b25vbW91
cyBjbGllbnQgdGhhdCBpc24ndCByZXByZXNlbnRpbmcgYW4gZW5kLXVzZXIuIFdvdWxkDQomcXVv
dDtpZGVudGlmaWVyJnF1b3Q7IGJlIGJldHRlcj8gKEFjdHVhbGx5LCBpdCBzb3J0IG9mIHJlbWlu
ZHMgbWUgb2YgU0FNTCdzICZxdW90O1Nlc3Npb25JbmRleCZxdW90Oy4uLikNCk9yIHdvdWxkIHRo
ZSBwYXJhbWV0ZXIgYmUgcmVzZXJ2ZWQgZm9yIHVzZXItZGVsZWdhdGlvbiBmbG93cz88bzpwPjwv
bzpwPjwvcD4NCg0KPC9kaXY+DQoNCjxkaXY+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZu
YnNwOzwvbzpwPjwvcD4NCg0KPC9kaXY+DQoNCjxkaXY+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD5T
cGVha2luZyBvZiBhdXRvbm9tb3VzIGNsaWVudHMsIFNlY3Rpb24gMi4yIC0tIGFtb25nDQpwb3Nz
aWJseSBvdGhlciBwbGFjZXMgLS0gc3RhdGVzIHRoYXQgYW4gYXV0b25vbW91cyBjbGllbnQgaXMg
YWxzbyB0aGUgcmVzb3VyY2UNCm93bmVyLCBidXQgdGhhdCdzIG5vdCBhbHdheXMgdGhlIGNhc2Us
IGlzIGl0PyBUaGUgY2xpZW50IG1pZ2h0IGJlIHNlZWtpbmcNCmFjY2VzcyBvbiBiZWhhbGYgb2Yg
aXRzZWxmLiAoRldJVywgSSBtYWRlIHJvdWdobHkgdGhpcyBzYW1lIGNvbW1lbnQgb24gRGF2aWQn
cw0KZmlyc3QgZHJhZnQgb24gTWFyY2ggMjEsIGFuZCBoZSBhZ3JlZWQgd2l0aCBteSBzdWdnZXN0
ZWQgZml4IGF0IHRoZSB0aW1lLik8bzpwPjwvbzpwPjwvcD4NCg0KPC9kaXY+DQoNCjxkaXY+DQoN
CjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPC9kaXY+DQoNCjxk
aXY+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBjbGFzcz1hcHBsZS10YWItc3Bhbj7CoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIDwvc3Bhbj5FdmU8bzpwPjwvbzpwPjwvcD4NCg0KPC9kaXY+DQoN
CjwvZGl2Pg0KDQo8L2Rpdj4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+
PC9wPg0KDQo8ZGl2Pg0KDQo8ZGl2Pg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gc3R5bGU9
J2ZvbnQtc2l6ZTo3LjBwdDtmb250LWZhbWlseTpDb3VyaWVyJz48YnI+DQpFdmUgTWFsZXI8bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQoNCjwvZGl2Pg0KDQo8ZGl2Pg0KDQo8cCBjbGFzcz1Nc29Ob3Jt
YWw+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZTo3LjBwdDtmb250LWZhbWlseTpDb3VyaWVyJz48YQ0K
aHJlZj0ibWFpbHRvOmV2ZUB4bWxncnJsLmNvbSI+ZXZlQHhtbGdycmwuY29tPC9hPjxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCg0KPC9kaXY+DQoNCjxkaXY+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48
c3BhbiBzdHlsZT0nZm9udC1zaXplOjcuMHB0O2ZvbnQtZmFtaWx5OkNvdXJpZXInPjxhDQpocmVm
PSJodHRwOi8vd3d3LnhtbGdycmwuY29tL2Jsb2ciPmh0dHA6Ly93d3cueG1sZ3JybC5jb20vYmxv
ZzwvYT48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjwvZGl2Pg0KDQo8L2Rpdj4NCg0KPHAgY2xh
c3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KDQo8L2Rpdj4NCg0KPC9ib2R5Pg0K
DQo8L2h0bWw+DQo=

------_=_NextPart_001_01CAE49D.991D92EC--

From lshepard@facebook.com  Mon Apr 26 10:15:09 2010
Return-Path: <lshepard@facebook.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9B46D3A6A6A for <oauth@core3.amsl.com>; Mon, 26 Apr 2010 10:15:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.031
X-Spam-Level: 
X-Spam-Status: No, score=-3.031 tagged_above=-999 required=5 tests=[AWL=0.233,  BAYES_00=-2.599, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EanLSnYtle7D for <oauth@core3.amsl.com>; Mon, 26 Apr 2010 10:15:08 -0700 (PDT)
Received: from mailout-sf2p.facebook.com (mailout-snc1.facebook.com [69.63.179.25]) by core3.amsl.com (Postfix) with ESMTP id E877C28C19A for <oauth@ietf.org>; Mon, 26 Apr 2010 10:14:04 -0700 (PDT)
Received: from mail.thefacebook.com ([192.168.18.198]) by pp02.snc1.tfbnw.net (8.14.3/8.14.3) with ESMTP id o3QHDFgg014774 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Mon, 26 Apr 2010 10:13:15 -0700
Received: from sc-hub05.TheFacebook.com (192.168.18.82) by sc-hub03.TheFacebook.com (192.168.18.198) with Microsoft SMTP Server (TLS) id 14.0.689.0; Mon, 26 Apr 2010 10:13:50 -0700
Received: from SC-MBXC1.TheFacebook.com ([192.168.18.102]) by sc-hub05.TheFacebook.com ([192.168.18.82]) with mapi; Mon, 26 Apr 2010 10:13:50 -0700
From: Luke Shepard <lshepard@facebook.com>
To: David Recordon <recordond@gmail.com>, Blaine Cook <romeda@gmail.com>
Date: Mon, 26 Apr 2010 10:12:42 -0700
Thread-Topic: [OAUTH-WG] Call for Consensus (Deadline: April 22)
Thread-Index: AcrjDghfACmgobjDRCCF97SOi5nEYACVaLCg
Message-ID: <2513A610118CC14C8E622C376C8DEC93D54D66E15A@SC-MBXC1.TheFacebook.com>
References: <w2jd37b4b431004230420vacda67aen432ed256b4d93546@mail.gmail.com> <q2ufd6741651004231054ta2031cc5n18ca13bba154ca7f@mail.gmail.com>
In-Reply-To: <q2ufd6741651004231054ta2031cc5n18ca13bba154ca7f@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_2513A610118CC14C8E622C376C8DEC93D54D66E15ASCMBXC1TheFac_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2010-04-26_14:2010-02-06, 2010-04-26, 2010-04-26 signatures=0
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Call for Consensus (Deadline: April 22)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 26 Apr 2010 17:15:09 -0000

--_000_2513A610118CC14C8E622C376C8DEC93D54D66E15ASCMBXC1TheFac_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

+1 on this as a starting point.

From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of D=
avid Recordon
Sent: Friday, April 23, 2010 10:54 AM
To: Blaine Cook
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Call for Consensus (Deadline: April 22)

+1

Eran has done a really great job editing this document!

On Fri, Apr 23, 2010 at 4:20 AM, Blaine Cook <romeda@gmail.com<mailto:romed=
a@gmail.com>> wrote:
This is a call for consensus on accepting Eran's latest OAuth draft,
draft-hammer-oauth2 [1] as a working group item. Assuming no
objections by end-of-day Tuesday, April 22nd, this draft will be
promoted to an active working group document on Wednesday, April 23rd.

b.

[1] http://datatracker.ietf.org/doc/draft-hammer-oauth2/
_______________________________________________
OAuth mailing list
OAuth@ietf.org<mailto:OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth


--_000_2513A610118CC14C8E622C376C8DEC93D54D66E15ASCMBXC1TheFac_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>+1 on this as a starting point.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in'>

<p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma=
","sans-serif"'>From:</span></b><span
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] <b>On Behalf Of </b>=
David
Recordon<br>
<b>Sent:</b> Friday, April 23, 2010 10:54 AM<br>
<b>To:</b> Blaine Cook<br>
<b>Cc:</b> oauth@ietf.org<br>
<b>Subject:</b> Re: [OAUTH-WG] Call for Consensus (Deadline: April 22)<o:p>=
</o:p></span></p>

</div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

<p class=3DMsoNormal>+1<o:p></o:p></p>

<div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=3DMsoNormal>Eran has done a really great job editing this document=
!<o:p></o:p></p>

<div>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><o:p>&nbsp;</o:p></p>

<div>

<p class=3DMsoNormal>On Fri, Apr 23, 2010 at 4:20 AM, Blaine Cook &lt;<a
href=3D"mailto:romeda@gmail.com">romeda@gmail.com</a>&gt; wrote:<o:p></o:p>=
</p>

<p class=3DMsoNormal>This is a call for consensus on accepting Eran's lates=
t
OAuth draft,<br>
draft-hammer-oauth2 [1] as a working group item. Assuming no<br>
objections by end-of-day Tuesday, April 22nd, this draft will be<br>
promoted to an active working group document on Wednesday, April 23rd.<br>
<br>
b.<br>
<br>
[1] <a href=3D"http://datatracker.ietf.org/doc/draft-hammer-oauth2/"
target=3D"_blank">http://datatracker.ietf.org/doc/draft-hammer-oauth2/</a><=
o:p></o:p></p>

<div>

<div>

<p class=3DMsoNormal>_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><o:p></o:p></p>

</div>

</div>

</div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

</div>

</div>

</div>

</body>

</html>

--_000_2513A610118CC14C8E622C376C8DEC93D54D66E15ASCMBXC1TheFac_--

From torsten@lodderstedt.net  Mon Apr 26 12:41:17 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A603B3A6AD9 for <oauth@core3.amsl.com>; Mon, 26 Apr 2010 12:41:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.966
X-Spam-Level: 
X-Spam-Status: No, score=-1.966 tagged_above=-999 required=5 tests=[AWL=0.283,  BAYES_00=-2.599, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eDfT+sWtqDmF for <oauth@core3.amsl.com>; Mon, 26 Apr 2010 12:41:17 -0700 (PDT)
Received: from smtprelay04.ispgateway.de (smtprelay04.ispgateway.de [80.67.31.32]) by core3.amsl.com (Postfix) with ESMTP id 6C4433A6ADF for <oauth@ietf.org>; Mon, 26 Apr 2010 12:41:15 -0700 (PDT)
Received: from p4fff291b.dip.t-dialin.net ([79.255.41.27] helo=[127.0.0.1]) by smtprelay04.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O6UAw-0006vX-HA; Mon, 26 Apr 2010 21:41:02 +0200
Message-ID: <4BD5EC4D.9020606@lodderstedt.net>
Date: Mon, 26 Apr 2010 21:41:01 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Blaine Cook <romeda@gmail.com>
References: <w2jd37b4b431004230420vacda67aen432ed256b4d93546@mail.gmail.com>
In-Reply-To: <w2jd37b4b431004230420vacda67aen432ed256b4d93546@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Call for Consensus (Deadline: April 22)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 26 Apr 2010 19:41:17 -0000

+1

Eran's draft is a very good foundation for further work.

regards,
Torsten.

Am 23.04.2010 13:20, schrieb Blaine Cook:
> This is a call for consensus on accepting Eran's latest OAuth draft,
> draft-hammer-oauth2 [1] as a working group item. Assuming no
> objections by end-of-day Tuesday, April 22nd, this draft will be
> promoted to an active working group document on Wednesday, April 23rd.
>
> b.
>
> [1] http://datatracker.ietf.org/doc/draft-hammer-oauth2/
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    



From mscurtescu@google.com  Mon Apr 26 14:14:43 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A2E873A683F for <oauth@core3.amsl.com>; Mon, 26 Apr 2010 14:14:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.95
X-Spam-Level: 
X-Spam-Status: No, score=-105.95 tagged_above=-999 required=5 tests=[AWL=0.027, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vABTiaaV76xc for <oauth@core3.amsl.com>; Mon, 26 Apr 2010 14:14:42 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id D7BE828C132 for <oauth@ietf.org>; Mon, 26 Apr 2010 14:14:40 -0700 (PDT)
Received: from hpaq1.eem.corp.google.com (hpaq1.eem.corp.google.com [10.3.21.1]) by smtp-out.google.com with ESMTP id o3QLEQl8008953 for <oauth@ietf.org>; Mon, 26 Apr 2010 14:14:27 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1272316468; bh=5PByB9KzfgHoMWZagOUE2TU4QEU=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=i+27MXFOUOoi4scfAv+x8yX/gps9lck5GVy7oluHR515o6HLeX7GKcvHX167SsTkx CcWERojcGtJvSlUkuaIpg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=dgMSllVRfOsVxmKU4bXm76mdD8YtNDMiT9JgBGukiszoRVfK50gMgrgFiWXcOFBdv oelH4/ywa/tA9vzIOSGrA==
Received: from pxi2 (pxi2.prod.google.com [10.243.27.2]) by hpaq1.eem.corp.google.com with ESMTP id o3QLEOt5022056 for <oauth@ietf.org>; Mon, 26 Apr 2010 23:14:25 +0200
Received: by pxi2 with SMTP id 2so1955636pxi.25 for <oauth@ietf.org>; Mon, 26 Apr 2010 14:14:24 -0700 (PDT)
Received: by 10.141.188.41 with SMTP id q41mr4572808rvp.203.1272316464132;  Mon, 26 Apr 2010 14:14:24 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.14.15 with HTTP; Mon, 26 Apr 2010 14:14:04 -0700 (PDT)
In-Reply-To: <4BD5EC4D.9020606@lodderstedt.net>
References: <w2jd37b4b431004230420vacda67aen432ed256b4d93546@mail.gmail.com>  <4BD5EC4D.9020606@lodderstedt.net>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Mon, 26 Apr 2010 14:14:04 -0700
Message-ID: <w2u74caaad21004261414gb1937579z3fc8d90275e50555@mail.gmail.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Call for Consensus (Deadline: April 22)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 26 Apr 2010 21:14:43 -0000

+1

I am assuming this means that the current draft will become the
initial check point, version 00. Is that correct?

Marius



On Mon, Apr 26, 2010 at 12:41 PM, Torsten Lodderstedt
<torsten@lodderstedt.net> wrote:
> +1
>
> Eran's draft is a very good foundation for further work.
>
> regards,
> Torsten.
>
> Am 23.04.2010 13:20, schrieb Blaine Cook:
>>
>> This is a call for consensus on accepting Eran's latest OAuth draft,
>> draft-hammer-oauth2 [1] as a working group item. Assuming no
>> objections by end-of-day Tuesday, April 22nd, this draft will be
>> promoted to an active working group document on Wednesday, April 23rd.
>>
>> b.
>>
>> [1] http://datatracker.ietf.org/doc/draft-hammer-oauth2/
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From cmortimore@salesforce.com  Mon Apr 26 14:18:27 2010
Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 92A293A6BB5 for <oauth@core3.amsl.com>; Mon, 26 Apr 2010 14:18:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.758
X-Spam-Level: 
X-Spam-Status: No, score=-4.758 tagged_above=-999 required=5 tests=[AWL=-1.566, BAYES_50=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, SARE_URI_CONS7=0.306, URI_NOVOWEL=0.5]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HTO7YWeOLgkm for <oauth@core3.amsl.com>; Mon, 26 Apr 2010 14:18:19 -0700 (PDT)
Received: from exprod8og115.obsmtp.com (exprod8og115.obsmtp.com [64.18.3.30]) by core3.amsl.com (Postfix) with SMTP id C3F1B28C15F for <oauth@ietf.org>; Mon, 26 Apr 2010 14:17:57 -0700 (PDT)
Received: from source ([204.14.239.238]) by exprod8ob115.postini.com ([64.18.7.12]) with SMTP ID DSNKS9YC+eS/261MxlZ35utt4TPuZVel8sF2@postini.com; Mon, 26 Apr 2010 14:17:46 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub3.internal.salesforce.com ([10.1.127.7]) with mapi; Mon, 26 Apr 2010 14:17:45 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: "Foiles, Doug" <Doug_Foiles@intuit.com>, Eve Maler <eve@xmlgrrl.com>, OAuth WG <oauth@ietf.org>
Date: Mon, 26 Apr 2010 14:17:43 -0700
Thread-Topic: [OAUTH-WG] Autonomous clients and resource owners (editorial)
Thread-Index: Acri8Py35N4mYNa9SHKH9eXXarwvdgBpwK0wADt6Tko=
Message-ID: <C7FB5107.451C%cmortimore@salesforce.com>
In-Reply-To: <BE42DBBC1969B541915E30C5517382D9046EB117@SDGEXEVS07.corp.intuit.net>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7FB5107451Ccmortimoresalesforcecom_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Autonomous clients and resource owners (editorial)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 26 Apr 2010 21:18:28 -0000

--_000_C7FB5107451Ccmortimoresalesforcecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

+1.

Our primary use-cases for the assertion flow are for clients acting on beha=
lf of users, and not autonomously.   I believe Eran already has this on his=
 list of feedback when the assertion flow gets edited.

We also have need for a 2 legged Oauth model, and are looking at the client=
 credentials flow for exactly that purpose.

-cmort


On 4/25/10 10:34 AM, "Foiles, Doug" <Doug_Foiles@intuit.com> wrote:

I have a bit of confusion on the Autonomous Client Flows ... and specifical=
ly related to Eve's comment below that suggests to me that the autonomous c=
lient is NOT ALWAYS the resource owner.

Can the Autonomous Client Flows support clients that ARE NOT the actual res=
ource owner?  For example for an Assertion Flow where the Subject of the SA=
ML assertion is a user identity (and the resource owner) and not that of th=
e client.

Is the intent of the Client Credentials Flow to support something like Goog=
le's "OAuth for Google Apps domains" 2 Legged OAuth use case?  http://code.=
google.com/apis/accounts/docs/OAuth.html.

If the Autonomous Client Flows support clients that can act on behalf a res=
ource owner that is not themselves  ... it then seems the resource owner mu=
st provide some level of consent outside the OAuth specific flow.

Thanks.

Doug


From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of E=
ve Maler
Sent: Friday, April 23, 2010 7:21 AM
To: OAuth WG
Subject: [OAUTH-WG] Autonomous clients and resource owners (editorial)


Regarding the second comment I made below: I realized last night that Secti=
ons 3.7.1 and 3.7.2 get this more correct, by saying that an autonomous cli=
ent represents a "separate resource owner". So Section 2.2 definitely needs=
 a slight change, from:



"...and autonomous flows where the client is acting for itself (the client =
is also the resource owner)."



to something like:



"...and autonomous flows where the client is acting on behalf of a differen=
t resource owner."



Thanks,



            Eve



On 21 Apr 2010, at 4:43 PM, Eve Maler wrote:


Tacking this response to the end of the thread for lack of a better place t=
o do it: The name "username" seems not quite apt in the case of an autonomo=
us client that isn't representing an end-user. Would "identifier" be better=
? (Actually, it sort of reminds me of SAML's "SessionIndex"...) Or would th=
e parameter be reserved for user-delegation flows?



Speaking of autonomous clients, Section 2.2 -- among possibly other places =
-- states that an autonomous client is also the resource owner, but that's =
not always the case, is it? The client might be seeking access on behalf of=
 itself. (FWIW, I made roughly this same comment on David's first draft on =
March 21, and he agreed with my suggested fix at the time.)



            Eve



Eve Maler

eve@xmlgrrl.com

http://www.xmlgrrl.com/blog



--_000_C7FB5107451Ccmortimoresalesforcecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Autonomous clients and resource owners (editorial)</T=
ITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'>+1. &nbsp;&nbsp=
;<BR>
<BR>
Our primary use-cases for the assertion flow are for clients acting on beha=
lf of users, and not autonomously. &nbsp;&nbsp;I believe Eran already has t=
his on his list of feedback when the assertion flow gets edited.<BR>
<BR>
We also have need for a 2 legged Oauth model, and are looking at the client=
 credentials flow for exactly that purpose. &nbsp;<BR>
<BR>
-cmort<BR>
<BR>
<BR>
On 4/25/10 10:34 AM, &quot;Foiles, Doug&quot; &lt;<a href=3D"Doug_Foiles@in=
tuit.com">Doug_Foiles@intuit.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-=
size:11pt'><FONT COLOR=3D"#1F497D">I have a bit of confusion on the Autonom=
ous Client Flows &#8230; and specifically related to Eve&#8217;s comment be=
low that suggests to me that the autonomous client is NOT ALWAYS the resour=
ce owner.<BR>
&nbsp;<BR>
Can the Autonomous Client Flows support clients that ARE NOT the actual res=
ource owner?=A0 For example for an Assertion Flow where the Subject of the =
SAML assertion is a user identity (and the resource owner) and not that of =
the client.<BR>
&nbsp;<BR>
Is the intent of the Client Credentials Flow to support something like Goog=
le&#8217;s &#8220;OAuth for Google Apps domains&#8221; 2 Legged OAuth use c=
ase? =A0<a href=3D"http://code.google.com/apis/accounts/docs/OAuth.html">ht=
tp://code.google.com/apis/accounts/docs/OAuth.html</a>.<BR>
&nbsp;<BR>
If the Autonomous Client Flows support clients that can act on behalf a res=
ource owner that is not themselves=A0 &#8230; it then seems the resource ow=
ner must provide some level of consent outside the OAuth specific flow. <BR=
>
&nbsp;<BR>
Thanks.<BR>
&nbsp;<BR>
Doug<BR>
&nbsp;<BR>
</FONT><BR>
</SPAN></FONT><FONT SIZE=3D"2"><FONT FACE=3D"Tahoma, Verdana, Helvetica, Ar=
ial"><SPAN STYLE=3D'font-size:10pt'><B>From:</B> <a href=3D"oauth-bounces@i=
etf.org">oauth-bounces@ietf.org</a> [<a href=3D"mailto:oauth-bounces@ietf.o=
rg">mailto:oauth-bounces@ietf.org</a>] <B>On Behalf Of </B>Eve Maler<BR>
<B>Sent:</B> Friday, April 23, 2010 7:21 AM<BR>
<B>To:</B> OAuth WG<BR>
<B>Subject:</B> [OAUTH-WG] Autonomous clients and resource owners (editoria=
l)<BR>
</SPAN></FONT></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-siz=
e:12pt'> <BR>
</SPAN></FONT><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'><=
BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
>Regarding the second comment I made below: I realized last night that Sect=
ions 3.7.1 and 3.7.2 get this more correct, by saying that an autonomous cl=
ient represents a &quot;separate resource owner&quot;. So Section 2.2 defin=
itely needs a slight change, from:<BR>
</SPAN></FONT><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'><=
BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
> <BR>
</SPAN></FONT><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'><=
BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
>&quot;...and autonomous flows where the client is acting for itself (the c=
lient is also the resource owner).&quot;<BR>
</SPAN></FONT><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'><=
BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
> <BR>
</SPAN></FONT><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'><=
BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
>to something like:<BR>
</SPAN></FONT><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'><=
BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
> <BR>
</SPAN></FONT><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'><=
BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
>&quot;...and autonomous flows where the client is acting on behalf of a di=
fferent resource owner.&quot;<BR>
</SPAN></FONT><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'><=
BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
> <BR>
</SPAN></FONT><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'><=
BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
>Thanks,<BR>
</SPAN></FONT><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'><=
BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
> <BR>
</SPAN></FONT><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'><=
BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Eve<BR>
</SPAN></FONT><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'><=
BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
> <BR>
</SPAN></FONT><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'><=
BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
>On 21 Apr 2010, at 4:43 PM, Eve Maler wrote:<BR>
<BR>
<BR>
Tacking this response to the end of the thread for lack of a better place t=
o do it: The name &quot;username&quot; seems not quite apt in the case of a=
n autonomous client that isn't representing an end-user. Would &quot;identi=
fier&quot; be better? (Actually, it sort of reminds me of SAML's &quot;Sess=
ionIndex&quot;...) Or would the parameter be reserved for user-delegation f=
lows?<BR>
</SPAN></FONT><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'><=
BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
> <BR>
</SPAN></FONT><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'><=
BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
>Speaking of autonomous clients, Section 2.2 -- among possibly other places=
 -- states that an autonomous client is also the resource owner, but that's=
 not always the case, is it? The client might be seeking access on behalf o=
f itself. (FWIW, I made roughly this same comment on David's first draft on=
 March 21, and he agreed with my suggested fix at the time.)<BR>
</SPAN></FONT><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'><=
BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
> <BR>
</SPAN></FONT><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'><=
BR>
</SPAN></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-size:12pt'=
>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Eve<BR>
&nbsp;<BR>
</SPAN></FONT><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'><=
BR>
</SPAN></FONT><FONT SIZE=3D"1"><FONT FACE=3D"Courier, Courier New"><SPAN ST=
YLE=3D'font-size:7pt'><BR>
Eve Maler<BR>
</SPAN></FONT></FONT><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:=
11pt'><BR>
</SPAN></FONT><FONT SIZE=3D"1"><FONT FACE=3D"Courier, Courier New"><SPAN ST=
YLE=3D'font-size:7pt'><a href=3D"eve@xmlgrrl.com">eve@xmlgrrl.com</a><BR>
</SPAN></FONT></FONT><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:=
11pt'><BR>
</SPAN></FONT><FONT SIZE=3D"1"><FONT FACE=3D"Courier, Courier New"><SPAN ST=
YLE=3D'font-size:7pt'><a href=3D"http://www.xmlgrrl.com/blog">http://www.xm=
lgrrl.com/blog</a><BR>
</SPAN></FONT></FONT><FONT FACE=3D"Times New Roman"><SPAN STYLE=3D'font-siz=
e:12pt'> <BR>
</SPAN></FONT><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'><=
BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7FB5107451Ccmortimoresalesforcecom_--

From eve@xmlgrrl.com  Mon Apr 26 16:52:24 2010
Return-Path: <eve@xmlgrrl.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0E0A33A6C07 for <oauth@core3.amsl.com>; Mon, 26 Apr 2010 16:52:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.168
X-Spam-Level: *
X-Spam-Status: No, score=1.168 tagged_above=-999 required=5 tests=[AWL=-0.140,  BAYES_50=0.001, FROM_DOMAIN_NOVOWEL=0.5, HTML_MESSAGE=0.001, SARE_URI_CONS7=0.306, URI_NOVOWEL=0.5]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id U4ckIpYqRcKq for <oauth@core3.amsl.com>; Mon, 26 Apr 2010 16:52:22 -0700 (PDT)
Received: from mail.promanage-inc.com (eliasisrael.com [98.111.84.13]) by core3.amsl.com (Postfix) with ESMTP id 5280428C206 for <oauth@ietf.org>; Mon, 26 Apr 2010 16:52:14 -0700 (PDT)
Received: from [192.168.168.198] ([192.168.168.198]) (authenticated bits=0) by mail.promanage-inc.com (8.14.3/8.14.3) with ESMTP id o3QNpuZi000812 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Mon, 26 Apr 2010 16:51:56 -0700
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: multipart/alternative; boundary=Apple-Mail-872--186543480
From: Eve Maler <eve@xmlgrrl.com>
In-Reply-To: <C7FB5107.451C%cmortimore@salesforce.com>
Date: Mon, 26 Apr 2010 16:51:56 -0700
Message-Id: <AB384145-EDE6-4175-9E34-6854D34709B2@xmlgrrl.com>
References: <C7FB5107.451C%cmortimore@salesforce.com>
To: Chuck Mortimore <cmortimore@salesforce.com>
X-Mailer: Apple Mail (2.1078)
Cc: "Foiles, Doug" <Doug_Foiles@intuit.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Autonomous clients and resource owners (editorial)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 26 Apr 2010 23:52:24 -0000

--Apple-Mail-872--186543480
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=windows-1252

In UMA, we've got use cases for "person-to-service" sharing that can act =
much like the user-delegated OAuth patterns of today (essentially =
introducing two services to interact on your own behalf), and also use =
cases for "person-to-person" sharing that involve a "separate resource =
owner", hence our interest in the autonomous client pattern or a variant =
thereof. We allow the original resource owner (we call them an =
authorizing user) to set policies asynchronously at the authorization =
manager (a sort of enhanced/user-centric authz server) that govern =
whether a requesting party can ultimately get a token. So in our case, =
this is how the resource owner gives consent outside the flow.

(BTW, the word "ownership" gets tricky in talking about resource access =
and other "property rights", which are famously described as a "bundle =
of sticks" to show that different parties might have different subsets =
of rights. E.g., in some UMA use cases, the authorizing user obviously =
has the right to throttle or audit who can see certain data, but they =
don't have the right to actually set the value of that data. Reputation =
data, such as a credit score or a third-party certification, is a =
classic example. It's hard to describe the data subject in this case as =
a total "resource owner"...)

	Eve

On 26 Apr 2010, at 2:17 PM, Chuck Mortimore wrote:

> +1.  =20
>=20
> Our primary use-cases for the assertion flow are for clients acting on =
behalf of users, and not autonomously.   I believe Eran already has this =
on his list of feedback when the assertion flow gets edited.
>=20
> We also have need for a 2 legged Oauth model, and are looking at the =
client credentials flow for exactly that purpose. =20
>=20
> -cmort
>=20
>=20
> On 4/25/10 10:34 AM, "Foiles, Doug" <Doug_Foiles@intuit.com> wrote:
>=20
> I have a bit of confusion on the Autonomous Client Flows =85 and =
specifically related to Eve=92s comment below that suggests to me that =
the autonomous client is NOT ALWAYS the resource owner.
> =20
> Can the Autonomous Client Flows support clients that ARE NOT the =
actual resource owner?  For example for an Assertion Flow where the =
Subject of the SAML assertion is a user identity (and the resource =
owner) and not that of the client.
> =20
> Is the intent of the Client Credentials Flow to support something like =
Google=92s =93OAuth for Google Apps domains=94 2 Legged OAuth use case?  =
http://code.google.com/apis/accounts/docs/OAuth.html.
> =20
> If the Autonomous Client Flows support clients that can act on behalf =
a resource owner that is not themselves  =85 it then seems the resource =
owner must provide some level of consent outside the OAuth specific =
flow.=20
> =20
> Thanks.
> =20
> Doug
> =20
>=20
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf =
Of Eve Maler
> Sent: Friday, April 23, 2010 7:21 AM
> To: OAuth WG
> Subject: [OAUTH-WG] Autonomous clients and resource owners (editorial)
>=20
>=20
> Regarding the second comment I made below: I realized last night that =
Sections 3.7.1 and 3.7.2 get this more correct, by saying that an =
autonomous client represents a "separate resource owner". So Section 2.2 =
definitely needs a slight change, from:
>=20
>=20
>=20
> "...and autonomous flows where the client is acting for itself (the =
client is also the resource owner)."
>=20
>=20
>=20
> to something like:
>=20
>=20
>=20
> "...and autonomous flows where the client is acting on behalf of a =
different resource owner."
>=20
>=20
>=20
> Thanks,
>=20
>=20
>=20
>             Eve
>=20
>=20
>=20
> On 21 Apr 2010, at 4:43 PM, Eve Maler wrote:
>=20
>=20
> Tacking this response to the end of the thread for lack of a better =
place to do it: The name "username" seems not quite apt in the case of =
an autonomous client that isn't representing an end-user. Would =
"identifier" be better? (Actually, it sort of reminds me of SAML's =
"SessionIndex"...) Or would the parameter be reserved for =
user-delegation flows?
>=20
>=20
>=20
> Speaking of autonomous clients, Section 2.2 -- among possibly other =
places -- states that an autonomous client is also the resource owner, =
but that's not always the case, is it? The client might be seeking =
access on behalf of itself. (FWIW, I made roughly this same comment on =
David's first draft on March 21, and he agreed with my suggested fix at =
the time.)
>=20
>=20
>=20
>             Eve
> =20
>=20
>=20
> Eve Maler
>=20
> eve@xmlgrrl.com
>=20
> http://www.xmlgrrl.com/blog
>=20
>=20


Eve Maler
eve@xmlgrrl.com
http://www.xmlgrrl.com/blog


--Apple-Mail-872--186543480
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=windows-1252

<html><head></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; =
"><div>In UMA, we've got use cases for "person-to-service" sharing that =
can act much like the user-delegated OAuth patterns of today =
(essentially introducing two services to interact on your own behalf), =
and also use cases for "person-to-person" sharing that involve a =
"separate resource owner", hence our interest in the autonomous client =
pattern or a variant thereof. We allow the original resource owner (we =
call them an authorizing user) to set policies asynchronously at the =
authorization manager (a sort of enhanced/user-centric authz server) =
that govern whether a requesting party can ultimately get a token. So in =
our case, this is how the resource owner gives consent outside the =
flow.</div><div><br></div><div>(BTW, the word "ownership" gets tricky in =
talking about resource access and other "property rights", which are =
famously described as a "bundle of sticks" to show that different =
parties might have different subsets of rights. E.g., in some UMA use =
cases, the authorizing user obviously has the right to throttle or audit =
who can see certain data, but they don't have the right to actually set =
the value of that data. Reputation data, such as a credit score or a =
third-party certification, is a classic example. It's hard to describe =
the data subject in this case as a total "resource =
owner"...)</div><div><br></div><div><span class=3D"Apple-tab-span" =
style=3D"white-space:pre">	</span>Eve</div><br><div><div>On 26 Apr =
2010, at 2:17 PM, Chuck Mortimore wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite"><div>
<font face=3D"Lucida Grande"><span style=3D"font-size:11pt">+1. =
&nbsp;&nbsp;<br>
<br>
Our primary use-cases for the assertion flow are for clients acting on =
behalf of users, and not autonomously. &nbsp;&nbsp;I believe Eran =
already has this on his list of feedback when the assertion flow gets =
edited.<br>
<br>
We also have need for a 2 legged Oauth model, and are looking at the =
client credentials flow for exactly that purpose. &nbsp;<br>
<br>
-cmort<br>
<br>
<br>
On 4/25/10 10:34 AM, "Foiles, Doug" &lt;<a =
href=3D"x-msg://689/Doug_Foiles@intuit.com">Doug_Foiles@intuit.com</a>&gt;=
 wrote:<br>
<br>
</span></font><blockquote><font face=3D"Lucida Grande"><span =
style=3D"font-size:11pt"><font color=3D"#1F497D">I have a bit of =
confusion on the Autonomous Client Flows =85 and specifically related to =
Eve=92s comment below that suggests to me that the autonomous client is =
NOT ALWAYS the resource owner.<br>
&nbsp;<br>
Can the Autonomous Client Flows support clients that ARE NOT the actual =
resource owner?&nbsp; For example for an Assertion Flow where the =
Subject of the SAML assertion is a user identity (and the resource =
owner) and not that of the client.<br>
&nbsp;<br>
Is the intent of the Client Credentials Flow to support something like =
Google=92s =93OAuth for Google Apps domains=94 2 Legged OAuth use case? =
&nbsp;<a =
href=3D"http://code.google.com/apis/accounts/docs/OAuth.html">http://code.=
google.com/apis/accounts/docs/OAuth.html</a>.<br>
&nbsp;<br>
If the Autonomous Client Flows support clients that can act on behalf a =
resource owner that is not themselves&nbsp; =85 it then seems the =
resource owner must provide some level of consent outside the OAuth =
specific flow. <br>
&nbsp;<br>
Thanks.<br>
&nbsp;<br>
Doug<br>
&nbsp;<br>
</font><br>
</span></font><font size=3D"2"><font face=3D"Tahoma, Verdana, Helvetica, =
Arial"><span style=3D"font-size:10pt"><b>From:</b> <a =
href=3D"x-msg://689/oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> =
[<a =
href=3D"mailto:oauth-bounces@ietf.org">mailto:oauth-bounces@ietf.org</a>] =
<b>On Behalf Of </b>Eve Maler<br>
<b>Sent:</b> Friday, April 23, 2010 7:21 AM<br>
<b>To:</b> OAuth WG<br>
<b>Subject:</b> [OAUTH-WG] Autonomous clients and resource owners =
(editorial)<br>
</span></font></font><font face=3D"Times New Roman"><span =
style=3D"font-size:12pt"> <br>
</span></font><font face=3D"Lucida Grande"><span =
style=3D"font-size:11pt"><br>
</span></font><font face=3D"Times New Roman"><span =
style=3D"font-size:12pt">Regarding the second comment I made below: I =
realized last night that Sections 3.7.1 and 3.7.2 get this more correct, =
by saying that an autonomous client represents a "separate resource =
owner". So Section 2.2 definitely needs a slight change, from:<br>
</span></font><font face=3D"Lucida Grande"><span =
style=3D"font-size:11pt"><br>
</span></font><font face=3D"Times New Roman"><span =
style=3D"font-size:12pt"> <br>
</span></font><font face=3D"Lucida Grande"><span =
style=3D"font-size:11pt"><br>
</span></font><font face=3D"Times New Roman"><span =
style=3D"font-size:12pt">"...and autonomous flows where the client is =
acting for itself (the client is also the resource owner)."<br>
</span></font><font face=3D"Lucida Grande"><span =
style=3D"font-size:11pt"><br>
</span></font><font face=3D"Times New Roman"><span =
style=3D"font-size:12pt"> <br>
</span></font><font face=3D"Lucida Grande"><span =
style=3D"font-size:11pt"><br>
</span></font><font face=3D"Times New Roman"><span =
style=3D"font-size:12pt">to something like:<br>
</span></font><font face=3D"Lucida Grande"><span =
style=3D"font-size:11pt"><br>
</span></font><font face=3D"Times New Roman"><span =
style=3D"font-size:12pt"> <br>
</span></font><font face=3D"Lucida Grande"><span =
style=3D"font-size:11pt"><br>
</span></font><font face=3D"Times New Roman"><span =
style=3D"font-size:12pt">"...and autonomous flows where the client is =
acting on behalf of a different resource owner."<br>
</span></font><font face=3D"Lucida Grande"><span =
style=3D"font-size:11pt"><br>
</span></font><font face=3D"Times New Roman"><span =
style=3D"font-size:12pt"> <br>
</span></font><font face=3D"Lucida Grande"><span =
style=3D"font-size:11pt"><br>
</span></font><font face=3D"Times New Roman"><span =
style=3D"font-size:12pt">Thanks,<br>
</span></font><font face=3D"Lucida Grande"><span =
style=3D"font-size:11pt"><br>
</span></font><font face=3D"Times New Roman"><span =
style=3D"font-size:12pt"> <br>
</span></font><font face=3D"Lucida Grande"><span =
style=3D"font-size:11pt"><br>
</span></font><font face=3D"Times New Roman"><span =
style=3D"font-size:12pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp; Eve<br>
</span></font><font face=3D"Lucida Grande"><span =
style=3D"font-size:11pt"><br>
</span></font><font face=3D"Times New Roman"><span =
style=3D"font-size:12pt"> <br>
</span></font><font face=3D"Lucida Grande"><span =
style=3D"font-size:11pt"><br>
</span></font><font face=3D"Times New Roman"><span =
style=3D"font-size:12pt">On 21 Apr 2010, at 4:43 PM, Eve Maler =
wrote:<br>
<br>
<br>
Tacking this response to the end of the thread for lack of a better =
place to do it: The name "username" seems not quite apt in the case of =
an autonomous client that isn't representing an end-user. Would =
"identifier" be better? (Actually, it sort of reminds me of SAML's =
"SessionIndex"...) Or would the parameter be reserved for =
user-delegation flows?<br>
</span></font><font face=3D"Lucida Grande"><span =
style=3D"font-size:11pt"><br>
</span></font><font face=3D"Times New Roman"><span =
style=3D"font-size:12pt"> <br>
</span></font><font face=3D"Lucida Grande"><span =
style=3D"font-size:11pt"><br>
</span></font><font face=3D"Times New Roman"><span =
style=3D"font-size:12pt">Speaking of autonomous clients, Section 2.2 -- =
among possibly other places -- states that an autonomous client is also =
the resource owner, but that's not always the case, is it? The client =
might be seeking access on behalf of itself. (FWIW, I made roughly this =
same comment on David's first draft on March 21, and he agreed with my =
suggested fix at the time.)<br>
</span></font><font face=3D"Lucida Grande"><span =
style=3D"font-size:11pt"><br>
</span></font><font face=3D"Times New Roman"><span =
style=3D"font-size:12pt"> <br>
</span></font><font face=3D"Lucida Grande"><span =
style=3D"font-size:11pt"><br>
</span></font><font face=3D"Times New Roman"><span =
style=3D"font-size:12pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp; Eve<br>
&nbsp;<br>
</span></font><font face=3D"Lucida Grande"><span =
style=3D"font-size:11pt"><br>
</span></font><font size=3D"1"><font face=3D"Courier, Courier New"><span =
style=3D"font-size:7pt"><br>
Eve Maler<br>
</span></font></font><font face=3D"Lucida Grande"><span =
style=3D"font-size:11pt"><br>
</span></font><font size=3D"1"><font face=3D"Courier, Courier New"><span =
style=3D"font-size:7pt"><a =
href=3D"x-msg://689/eve@xmlgrrl.com">eve@xmlgrrl.com</a><br>
</span></font></font><font face=3D"Lucida Grande"><span =
style=3D"font-size:11pt"><br>
</span></font><font size=3D"1"><font face=3D"Courier, Courier New"><span =
style=3D"font-size:7pt"><a =
href=3D"http://www.xmlgrrl.com/blog">http://www.xmlgrrl.com/blog</a><br>
</span></font></font><font face=3D"Times New Roman"><span =
style=3D"font-size:12pt"> <br>
</span></font><font face=3D"Lucida Grande"><span =
style=3D"font-size:11pt"><br>
</span></font></blockquote>
</div>


</blockquote></div><br><div>
<span class=3D"Apple-style-span" style=3D"border-collapse: separate; =
color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; =
font-style: normal; font-variant: normal; font-weight: normal; =
letter-spacing: normal; line-height: normal; orphans: 2; text-align: =
auto; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Courier; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div><br =
class=3D"Apple-interchange-newline">Eve Maler</div><div><a =
href=3D"mailto:eve@xmlgrrl.com">eve@xmlgrrl.com</a></div><div><a =
href=3D"http://www.xmlgrrl.com/blog">http://www.xmlgrrl.com/blog</a></div>=
</span></span>
</div>
<br></body></html>=

--Apple-Mail-872--186543480--

From sakimura@gmail.com  Mon Apr 26 18:05:56 2010
Return-Path: <sakimura@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0EC3F3A6AA6 for <oauth@core3.amsl.com>; Mon, 26 Apr 2010 18:05:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.002
X-Spam-Level: 
X-Spam-Status: No, score=0.002 tagged_above=-999 required=5 tests=[BAYES_50=0.001, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9LzWZvg-GOmE for <oauth@core3.amsl.com>; Mon, 26 Apr 2010 18:05:53 -0700 (PDT)
Received: from mail-iw0-f197.google.com (mail-iw0-f197.google.com [209.85.223.197]) by core3.amsl.com (Postfix) with ESMTP id 9379E3A6AA3 for <oauth@ietf.org>; Mon, 26 Apr 2010 18:05:53 -0700 (PDT)
Received: by iwn35 with SMTP id 35so8066473iwn.21 for <oauth@ietf.org>; Mon, 26 Apr 2010 18:05:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=B67epPDVTPbieDpqOOlYyFGC2ZOZYUgE0DWIbkODrCA=; b=E6JyuRvSxb78e2P6jcJG7ekShRsiG3SLuQkHcCpXsIpZwSDaNaTWeYaYcZzoeQdddw ysPKyHKt9WwE9NXtZ0tWGWtMCu1t9fdofwCKH1TZrPVRzHH6ufkn/Vx+Kw7nAjsZ1F99 SnSqECCx+1hSauYJA3EGepReaDqnQrokzCWxc=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=N4lh1fvQY44CxkGMih7AO4onoeyYFqnToWQexY+dfOx8cgvkbIEbyPKZQMZSIALMCR HePeGs3EaRCkbSjsiFefECDa8Sr44VcFEt9Lah7io9nNrLkXVP01OeM/kVZsgyJrufMG g+BZwNRZEmZKO2LeE1uE47RX8meZ05Mf5b+Zg=
MIME-Version: 1.0
Received: by 10.231.174.136 with SMTP id t8mr99084ibz.50.1272330307477; Mon,  26 Apr 2010 18:05:07 -0700 (PDT)
Received: by 10.231.35.129 with HTTP; Mon, 26 Apr 2010 18:05:07 -0700 (PDT)
In-Reply-To: <w2udaf5b9571004221742o19b88819m37d8b80a4882c97b@mail.gmail.com>
References: <w2udaf5b9571004221742o19b88819m37d8b80a4882c97b@mail.gmail.com>
Date: Tue, 27 Apr 2010 10:05:07 +0900
Message-ID: <g2obf26e2341004261805jb0ed3905xa9e767884e7a8732@mail.gmail.com>
From: Nat Sakimura <sakimura@gmail.com>
To: Brian Eaton <beaton@google.com>
Content-Type: multipart/alternative; boundary=0016363b906c03a10c04852d7c42
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] misc comments on draft
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Apr 2010 01:05:56 -0000

--0016363b906c03a10c04852d7c42
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

Another a little bit of comment. In Section 3.4, it states:

3.4.  Client Credentials

   When requesting access from the authorization server, the client
   identifies itself using its authorization-server-issued client
   credentials.


I think the client credentials need to to be authorization-server-issued.
It just needs to be authorization-server-accepted, IMHO.
It may just be a credential that a third party has provided.

=3Dnat


On Fri, Apr 23, 2010 at 9:42 AM, Brian Eaton <beaton@google.com> wrote:

> Just went through the draft - it is coming along nicely.  Thanks!
>
> This is all comments on language.  I have a few more substantive
> comments that I will send separately.
>
> =93or to limit access to the methods supported by these resources.=94
>
> This didn=92t parse for me.
>
> =93The use of OAuth with any other transport protocol than HTTP
> [RFC2616] (or HTTP over TLS 1.0 as defined by [RFC2818] is undefined.=94
>
> Why even say this?  Should we also rule out the use of OAuth as laundry
> soap?
>
> =93authorization endpoint=94 and =93token endpoint=94
>
> Maybe call these =93authorization URL=94 and =93token URL=94?
>
> access token definition is: =93A unique identifier used by the client=94
>
> I agree with Dick, tokens are not identifiers.
>
> =93These authorization flows can be separated into three groups:=94
>
> This is really dense text, might be worth a bit more prose here.
>
>
>
> =93User-Agent Flow - This flow is designed for clients running inside a
> user-agent (typically a web browser), and therefore cannot receive
> incoming requests from the authorization server.=94
>
> This just ain=92t true.  These clients can receive HTTP redirects, the
> exact same way that a web server can.  How about
>
> =93User-Agent flow - this flow is designed for clients running inside a
> web browser.  The flow is optimized for clients that cannot use client
> secrets and must run without server-side code.=94
>
> And for the web server flow...
>
> =93This flow is designed for clients running inside an HTTP server.=94
>
> There is a typo in the description of the device flow
>
> =93Device Flow - This flow is suitable for clients executing on devices
> that cannot open a web browser, but where the end user has separate
> access to a web browser on another computer.=94
>
>
>
> =93When issuing an access token, the scope, duration, and other access
> attributes granted by the resource owner must be retained and enforced
> by the resource server when receiving a protected resource request and
> by the authorization server when receiving a token refresh request
> made with the access token issued.=94
>
> That=92s a mouthful.  How about
>
> =93Authorization servers issue tokens with scope, duration, and other
> access attributes granted by the resource owner.  These restrictions
> must be enforced by the resource server when receiving protected
> resource requests, and by the authorization server when receiving
> token refresh requests.=94
>
> =93the resource owner first authenticate with=94
>
> typo.  =93The resource owner first authenticates with=94
>
> =93 include a query components=94
> typo.  =93include a query component=94, or =93include query components=94
>
>
> =93Clients should avoid making assumptions about the size of tokens and
> other values received from the authorization server, which are left
> undefined by this specification. Servers should document the expected
> size of any value they issue.=94
>
> I had trouble parsing this.
>
> How about =93Token size limits are undefined by this specification.
> Clients should avoid making assumptions about the size of tokens
> received from the authorization server.  Servers should document the
> expected sizes of tokens they issue.=94
>
>
> Client Credentials:
>
> =93symmetric shared secrets=94... this seems to make assumptions about
> HMAC being used.  Not sure I have something constructive to say.
>
> typo.  How about =93Authorization servers SHOULD NOT issue client
> secrets to clients incapable of keeping their secrets confidential.=94
>
>
> 3.5.1 User-Agent Flow
>
> Same complaints as earlier about the description of the user-agent
> flow in the introduction...
>
> =93client is incapable of receiving incoming requests=94 -- this isn=92t =
true.
>
> =93the access token is encoded into the redirection URI which exposes it
> to the end user and other applications residing on the computer or
> device.=94 -- this isn=92t necessarily true, depends on the device.
>
> =93authenticates the end user (via the user-agent)=94 - do we need to say=
 this?
>
> Step D in the flow (fetch to web server) often doesn=92t happen, the
> script tends to be cached on the user-agent.
>
> Proposed alternate text:
>
> The user-agent flow is a user delegation flow suitable for client
> applications residing in a user-agent, typically implemented in a
> browser using a scripting language such as JavaScript.  These clients
> cannot keep client secrets confidential, and cannot interact directly
> with authorization and resource servers.  Communication is based on
> browser redirects, and authentication of the client is based on the
> browser same-origin policy.
>
>
> a) The client sends the user-agent to the authorization server and
> includes its client identifier and redirection URI in the request.
>
> b) authorization server establishes whether the end user grants or
> denies the client's access request.
>
> c) Assuming the end user granted access, the authorization server
> redirects the user-agent to the redirection URI provided earlier. The
> redirection URI includes the access token in the URI fragment.
>
> d) script on the user-agent extracts and uses the access token.
>
>
> =93parameter value MUST be set to user_agent (case sensitive).=94  - Do w=
e
> need to say case sensitive everywhere we mean case sensitive?  Perhaps
> early on in the doc we should state that all parameters and values are
> case sensitive unless stated otherwise?
>
> =93SOULD=94 -> SHOULD
>
> =93The redirection URI MUST NOT includes a query component as defined by
> [RFC3986] section 3 if the state parameter is present.=94 -> Wow.  This
> is convoluted.  How did we get here?
>
> =93secret_type=94 - wouldn=92t this flow always return a bearer token?
>
>
> Web Server Flow comments
>
> =93The verification code SHOULD expire shortly after it is issued and
> allowed for a single use.=94
>
> How about =93The verification code MUST expire shortly after it is
> issued.  Verification codes MAY be single use tokens.=94
>
> =93using an HTTP redirection response, or by other means available to it
> via the end user's user-agent.=94 - can we simplify this text?  It
> occurs in several places, and it always strikes me as redundant.
> Maybe omit it entirely?
>
> Definition of bearer token =93a bearer token (an access token without a
> matching secret)=94... this strikes me as a pretty important concept.
> Maybe move it up into the definitions section?
>
> =93OPTIONAL. The parameter value MUST be set to either
> redirect_uri_mismatch or expired_verification_code (case sensitive).=94
>
> There are other error cases, e.g. a bad client id, or a bad client
> secret.  Also note that authorization servers are unlikely to store
> state about expired verification codes.  It won=92t be possible to tell
> whether a verification code has expired, or was never issued in the
> first place.  How about these errors:
>   redirect_uri_mismatch: it=92s gonna happen.
>   client_authentication_failure: if client id or client secret is wrong
>   bad_verification_code
>
>
> Device Profile comments - sent separately.
>
>
> End User Credential Flows
>
> =93 (typically a username and password)=94... always a username and
> password, otherwise the protocol doesn=92t work at all.
>
> There is only a single flow defined in the spec, so might as well
> compress this section to =93Username and Password Delegation Flow=94
>
> The spec should define what the =93unauthorized_client=94 error code mean=
s?
>
>
> Autonomous Client Flows
>
> Client secret flow:
> =93memorize=94 -> =93memorized=94
>
> Can we change the type field to be =93client_credentials=94 instead of
> =93client_cred=94
>
> What does =93unauthorized_client=94 mean in this context?
>
> Assertion profile:
> What does unauthorized_client mean in this context?
>
>
> Accessing a protected resource
>
> =93matchin secret=94
>
> =93When an access token includes a matching secret, the secret is not
> included directly in the request but=94 <and the sentence ends>
>
> URI Query Parameter
>
> Typos:  and its includes the requested resource
>
> That typo is repeated one or two other places.
>
> Cheers,
> Brian
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>



--=20
Nat Sakimura (=3Dnat)
http://www.sakimura.org/en/
http://twitter.com/_nat_en

--0016363b906c03a10c04852d7c42
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

Another a little bit of comment. In Section 3.4, it states:=A0<div><br></di=
v><div><span class=3D"Apple-style-span" style=3D"font-family: arial, helvet=
ica, clean, sans-serif; font-size: 13px; line-height: 16px; -webkit-border-=
horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><pre style=
=3D"font-family: monospace; line-height: 1.2em; margin-top: 0px; margin-rig=
ht: 0px; margin-bottom: 0px; margin-left: 0px; ">
<span class=3D"m_h" style=3D"font-family: arial; font-weight: bold; ">3.4. =
 Client Credentials</span>

   When requesting access from the authorization server, the client
   identifies itself using its authorization-server-issued client
   credentials.  </pre></span><br><div class=3D"gmail_quote">I think the cl=
ient credentials need to to be authorization-server-issued.=A0</div><div cl=
ass=3D"gmail_quote">It just needs to be authorization-server-accepted, IMHO=
. =A0</div>
<div class=3D"gmail_quote">It may just be a credential that a third party h=
as provided.=A0</div><div class=3D"gmail_quote"><br></div><div class=3D"gma=
il_quote">=3Dnat</div><div class=3D"gmail_quote"><br></div><div class=3D"gm=
ail_quote">
<br></div><div class=3D"gmail_quote">On Fri, Apr 23, 2010 at 9:42 AM, Brian=
 Eaton <span dir=3D"ltr">&lt;<a href=3D"mailto:beaton@google.com">beaton@go=
ogle.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Just went through the draft - it is coming along nicely. =A0Thanks!<br>
<br>
This is all comments on language. =A0I have a few more substantive<br>
comments that I will send separately.<br>
<br>
=93or to limit access to the methods supported by these resources.=94<br>
<br>
This didn=92t parse for me.<br>
<br>
=93The use of OAuth with any other transport protocol than HTTP<br>
[RFC2616] (or HTTP over TLS 1.0 as defined by [RFC2818] is undefined.=94<br=
>
<br>
Why even say this? =A0Should we also rule out the use of OAuth as laundry s=
oap?<br>
<br>
=93authorization endpoint=94 and =93token endpoint=94<br>
<br>
Maybe call these =93authorization URL=94 and =93token URL=94?<br>
<br>
access token definition is: =93A unique identifier used by the client=94<br=
>
<br>
I agree with Dick, tokens are not identifiers.<br>
<br>
=93These authorization flows can be separated into three groups:=94<br>
<br>
This is really dense text, might be worth a bit more prose here.<br>
<br>
<br>
<br>
=93User-Agent Flow - This flow is designed for clients running inside a<br>
user-agent (typically a web browser), and therefore cannot receive<br>
incoming requests from the authorization server.=94<br>
<br>
This just ain=92t true. =A0These clients can receive HTTP redirects, the<br=
>
exact same way that a web server can. =A0How about<br>
<br>
=93User-Agent flow - this flow is designed for clients running inside a<br>
web browser. =A0The flow is optimized for clients that cannot use client<br=
>
secrets and must run without server-side code.=94<br>
<br>
And for the web server flow...<br>
<br>
=93This flow is designed for clients running inside an HTTP server.=94<br>
<br>
There is a typo in the description of the device flow<br>
<br>
=93Device Flow - This flow is suitable for clients executing on devices<br>
that cannot open a web browser, but where the end user has separate<br>
access to a web browser on another computer.=94<br>
<br>
<br>
<br>
=93When issuing an access token, the scope, duration, and other access<br>
attributes granted by the resource owner must be retained and enforced<br>
by the resource server when receiving a protected resource request and<br>
by the authorization server when receiving a token refresh request<br>
made with the access token issued.=94<br>
<br>
That=92s a mouthful. =A0How about<br>
<br>
=93Authorization servers issue tokens with scope, duration, and other<br>
access attributes granted by the resource owner. =A0These restrictions<br>
must be enforced by the resource server when receiving protected<br>
resource requests, and by the authorization server when receiving<br>
token refresh requests.=94<br>
<br>
=93the resource owner first authenticate with=94<br>
<br>
typo. =A0=93The resource owner first authenticates with=94<br>
<br>
=93 include a query components=94<br>
typo. =A0=93include a query component=94, or =93include query components=94=
<br>
<br>
<br>
=93Clients should avoid making assumptions about the size of tokens and<br>
other values received from the authorization server, which are left<br>
undefined by this specification. Servers should document the expected<br>
size of any value they issue.=94<br>
<br>
I had trouble parsing this.<br>
<br>
How about =93Token size limits are undefined by this specification.<br>
Clients should avoid making assumptions about the size of tokens<br>
received from the authorization server. =A0Servers should document the<br>
expected sizes of tokens they issue.=94<br>
<br>
<br>
Client Credentials:<br>
<br>
=93symmetric shared secrets=94... this seems to make assumptions about<br>
HMAC being used. =A0Not sure I have something constructive to say.<br>
<br>
typo. =A0How about =93Authorization servers SHOULD NOT issue client<br>
secrets to clients incapable of keeping their secrets confidential.=94<br>
<br>
<br>
3.5.1 User-Agent Flow<br>
<br>
Same complaints as earlier about the description of the user-agent<br>
flow in the introduction...<br>
<br>
=93client is incapable of receiving incoming requests=94 -- this isn=92t tr=
ue.<br>
<br>
=93the access token is encoded into the redirection URI which exposes it<br=
>
to the end user and other applications residing on the computer or<br>
device.=94 -- this isn=92t necessarily true, depends on the device.<br>
<br>
=93authenticates the end user (via the user-agent)=94 - do we need to say t=
his?<br>
<br>
Step D in the flow (fetch to web server) often doesn=92t happen, the<br>
script tends to be cached on the user-agent.<br>
<br>
Proposed alternate text:<br>
<br>
The user-agent flow is a user delegation flow suitable for client<br>
applications residing in a user-agent, typically implemented in a<br>
browser using a scripting language such as JavaScript. =A0These clients<br>
cannot keep client secrets confidential, and cannot interact directly<br>
with authorization and resource servers. =A0Communication is based on<br>
browser redirects, and authentication of the client is based on the<br>
browser same-origin policy.<br>
<br>
<br>
a) The client sends the user-agent to the authorization server and<br>
includes its client identifier and redirection URI in the request.<br>
<br>
b) authorization server establishes whether the end user grants or<br>
denies the client&#39;s access request.<br>
<br>
c) Assuming the end user granted access, the authorization server<br>
redirects the user-agent to the redirection URI provided earlier. The<br>
redirection URI includes the access token in the URI fragment.<br>
<br>
d) script on the user-agent extracts and uses the access token.<br>
<br>
<br>
=93parameter value MUST be set to user_agent (case sensitive).=94 =A0- Do w=
e<br>
need to say case sensitive everywhere we mean case sensitive? =A0Perhaps<br=
>
early on in the doc we should state that all parameters and values are<br>
case sensitive unless stated otherwise?<br>
<br>
=93SOULD=94 -&gt; SHOULD<br>
<br>
=93The redirection URI MUST NOT includes a query component as defined by<br=
>
[RFC3986] section 3 if the state parameter is present.=94 -&gt; Wow. =A0Thi=
s<br>
is convoluted. =A0How did we get here?<br>
<br>
=93secret_type=94 - wouldn=92t this flow always return a bearer token?<br>
<br>
<br>
Web Server Flow comments<br>
<br>
=93The verification code SHOULD expire shortly after it is issued and<br>
allowed for a single use.=94<br>
<br>
How about =93The verification code MUST expire shortly after it is<br>
issued. =A0Verification codes MAY be single use tokens.=94<br>
<br>
=93using an HTTP redirection response, or by other means available to it<br=
>
via the end user&#39;s user-agent.=94 - can we simplify this text? =A0It<br=
>
occurs in several places, and it always strikes me as redundant.<br>
Maybe omit it entirely?<br>
<br>
Definition of bearer token =93a bearer token (an access token without a<br>
matching secret)=94... this strikes me as a pretty important concept.<br>
Maybe move it up into the definitions section?<br>
<br>
=93OPTIONAL. The parameter value MUST be set to either<br>
redirect_uri_mismatch or expired_verification_code (case sensitive).=94<br>
<br>
There are other error cases, e.g. a bad client id, or a bad client<br>
secret. =A0Also note that authorization servers are unlikely to store<br>
state about expired verification codes. =A0It won=92t be possible to tell<b=
r>
whether a verification code has expired, or was never issued in the<br>
first place. =A0How about these errors:<br>
 =A0 redirect_uri_mismatch: it=92s gonna happen.<br>
 =A0 client_authentication_failure: if client id or client secret is wrong<=
br>
 =A0 bad_verification_code<br>
<br>
<br>
Device Profile comments - sent separately.<br>
<br>
<br>
End User Credential Flows<br>
<br>
=93 (typically a username and password)=94... always a username and<br>
password, otherwise the protocol doesn=92t work at all.<br>
<br>
There is only a single flow defined in the spec, so might as well<br>
compress this section to =93Username and Password Delegation Flow=94<br>
<br>
The spec should define what the =93unauthorized_client=94 error code means?=
<br>
<br>
<br>
Autonomous Client Flows<br>
<br>
Client secret flow:<br>
=93memorize=94 -&gt; =93memorized=94<br>
<br>
Can we change the type field to be =93client_credentials=94 instead of =93c=
lient_cred=94<br>
<br>
What does =93unauthorized_client=94 mean in this context?<br>
<br>
Assertion profile:<br>
What does unauthorized_client mean in this context?<br>
<br>
<br>
Accessing a protected resource<br>
<br>
=93matchin secret=94<br>
<br>
=93When an access token includes a matching secret, the secret is not<br>
included directly in the request but=94 &lt;and the sentence ends&gt;<br>
<br>
URI Query Parameter<br>
<br>
Typos: =A0and its includes the requested resource<br>
<br>
That typo is repeated one or two other places.<br>
<br>
Cheers,<br>
Brian<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</blockquote></div><br><br clear=3D"all"><br>-- <br>Nat Sakimura (=3Dnat)<b=
r><a href=3D"http://www.sakimura.org/en/">http://www.sakimura.org/en/</a><b=
r><a href=3D"http://twitter.com/_nat_en">http://twitter.com/_nat_en</a><br>
</div>

--0016363b906c03a10c04852d7c42--

From torsten@lodderstedt.net  Mon Apr 26 22:27:31 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 62C783A6C4D for <oauth@core3.amsl.com>; Mon, 26 Apr 2010 22:27:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.569
X-Spam-Level: 
X-Spam-Status: No, score=-1.569 tagged_above=-999 required=5 tests=[AWL=-0.127, BAYES_00=-2.599, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001, SARE_URI_CONS7=0.306, URI_NOVOWEL=0.5]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZwxSvUbYEV46 for <oauth@core3.amsl.com>; Mon, 26 Apr 2010 22:27:26 -0700 (PDT)
Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.31.36]) by core3.amsl.com (Postfix) with ESMTP id AAD8A3A6C55 for <oauth@ietf.org>; Mon, 26 Apr 2010 22:24:02 -0700 (PDT)
Received: from p4fff24b2.dip.t-dialin.net ([79.255.36.178] helo=[127.0.0.1]) by smtprelay02.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O6dGI-000828-QF; Tue, 27 Apr 2010 07:23:10 +0200
Message-ID: <4BD674BC.9080504@lodderstedt.net>
Date: Tue, 27 Apr 2010 07:23:08 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Chuck Mortimore <cmortimore@salesforce.com>
References: <C7FB5107.451C%cmortimore@salesforce.com>
In-Reply-To: <C7FB5107.451C%cmortimore@salesforce.com>
Content-Type: multipart/alternative; boundary="------------010607030109080505050402"
X-Df-Sender: 141509
Cc: "Foiles, Doug" <Doug_Foiles@intuit.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Autonomous clients and resource owners (editorial)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Apr 2010 05:27:31 -0000

This is a multi-part message in MIME format.
--------------010607030109080505050402
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

+1

we need the assertion flow for the same purpose. Can we add a variant of 
the flow to section "End User Credentials Flows"?

regards,
Torsten.

Am 26.04.2010 23:17, schrieb Chuck Mortimore:
> +1.
>
> Our primary use-cases for the assertion flow are for clients acting on 
> behalf of users, and not autonomously.   I believe Eran already has 
> this on his list of feedback when the assertion flow gets edited.
>
> We also have need for a 2 legged Oauth model, and are looking at the 
> client credentials flow for exactly that purpose.
>
> -cmort
>
>
> On 4/25/10 10:34 AM, "Foiles, Doug" <Doug_Foiles@intuit.com> wrote:
>
>     I have a bit of confusion on the Autonomous Client Flows ... and
>     specifically related to Eve's comment below that suggests to me
>     that the autonomous client is NOT ALWAYS the resource owner.
>
>     Can the Autonomous Client Flows support clients that ARE NOT the
>     actual resource owner?  For example for an Assertion Flow where
>     the Subject of the SAML assertion is a user identity (and the
>     resource owner) and not that of the client.
>
>     Is the intent of the Client Credentials Flow to support something
>     like Google's "OAuth for Google Apps domains" 2 Legged OAuth use
>     case? http://code.google.com/apis/accounts/docs/OAuth.html.
>
>     If the Autonomous Client Flows support clients that can act on
>     behalf a resource owner that is not themselves  ... it then seems
>     the resource owner must provide some level of consent outside the
>     OAuth specific flow.
>
>     Thanks.
>
>     Doug
>
>
>     *From:* oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] *On
>     Behalf Of *Eve Maler
>     *Sent:* Friday, April 23, 2010 7:21 AM
>     *To:* OAuth WG
>     *Subject:* [OAUTH-WG] Autonomous clients and resource owners
>     (editorial)
>
>
>     Regarding the second comment I made below: I realized last night
>     that Sections 3.7.1 and 3.7.2 get this more correct, by saying
>     that an autonomous client represents a "separate resource owner".
>     So Section 2.2 definitely needs a slight change, from:
>
>
>
>     "...and autonomous flows where the client is acting for itself
>     (the client is also the resource owner)."
>
>
>
>     to something like:
>
>
>
>     "...and autonomous flows where the client is acting on behalf of a
>     different resource owner."
>
>
>
>     Thanks,
>
>
>
>                 Eve
>
>
>
>     On 21 Apr 2010, at 4:43 PM, Eve Maler wrote:
>
>
>     Tacking this response to the end of the thread for lack of a
>     better place to do it: The name "username" seems not quite apt in
>     the case of an autonomous client that isn't representing an
>     end-user. Would "identifier" be better? (Actually, it sort of
>     reminds me of SAML's "SessionIndex"...) Or would the parameter be
>     reserved for user-delegation flows?
>
>
>
>     Speaking of autonomous clients, Section 2.2 -- among possibly
>     other places -- states that an autonomous client is also the
>     resource owner, but that's not always the case, is it? The client
>     might be seeking access on behalf of itself. (FWIW, I made roughly
>     this same comment on David's first draft on March 21, and he
>     agreed with my suggested fix at the time.)
>
>
>
>                 Eve
>
>
>
>     Eve Maler
>
>     eve@xmlgrrl.com
>
>     http://www.xmlgrrl.com/blog
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    


--------------010607030109080505050402
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
+1<br>
<br>
we need the assertion flow for the same purpose. Can we add a variant
of the flow to section "End User Credentials Flows"?<br>
<br>
regards,<br>
Torsten.<br>
<br>
Am 26.04.2010 23:17, schrieb Chuck Mortimore:
<blockquote cite="mid:C7FB5107.451C%25cmortimore@salesforce.com"
 type="cite">
  <title>Re: [OAUTH-WG] Autonomous clients and resource owners
(editorial)</title>
  <font face="Lucida Grande"><span style="font-size: 11pt;">+1. &nbsp;&nbsp;<br>
  <br>
Our primary use-cases for the assertion flow are for clients acting on
behalf of users, and not autonomously. &nbsp;&nbsp;I believe Eran already has
this on his list of feedback when the assertion flow gets edited.<br>
  <br>
We also have need for a 2 legged Oauth model, and are looking at the
client credentials flow for exactly that purpose. &nbsp;<br>
  <br>
-cmort<br>
  <br>
  <br>
On 4/25/10 10:34 AM, "Foiles, Doug" &lt;<a moz-do-not-send="true"
 href="Doug_Foiles@intuit.com">Doug_Foiles@intuit.com</a>&gt; wrote:<br>
  <br>
  </span></font>
  <blockquote><font face="Lucida Grande"><span style="font-size: 11pt;"><font
 color="#1f497d">I have a bit of confusion on the Autonomous Client
Flows &#8230; and specifically related to Eve&#8217;s comment below that suggests
to me that the autonomous client is NOT ALWAYS the resource owner.<br>
&nbsp;<br>
Can the Autonomous Client Flows support clients that ARE NOT the actual
resource owner?&nbsp; For example for an Assertion Flow where the Subject of
the SAML assertion is a user identity (and the resource owner) and not
that of the client.<br>
&nbsp;<br>
Is the intent of the Client Credentials Flow to support something like
Google&#8217;s &#8220;OAuth for Google Apps domains&#8221; 2 Legged OAuth use case? &nbsp;<a
 moz-do-not-send="true"
 href="http://code.google.com/apis/accounts/docs/OAuth.html">http://code.google.com/apis/accounts/docs/OAuth.html</a>.<br>
&nbsp;<br>
If the Autonomous Client Flows support clients that can act on behalf a
resource owner that is not themselves&nbsp; &#8230; it then seems the resource
owner must provide some level of consent outside the OAuth specific
flow. <br>
&nbsp;<br>
Thanks.<br>
&nbsp;<br>
Doug<br>
&nbsp;<br>
    </font><br>
    </span></font><font size="2"><font
 face="Tahoma, Verdana, Helvetica, Arial"><span style="font-size: 10pt;"><b>From:</b>
    <a moz-do-not-send="true" href="oauth-bounces@ietf.org">oauth-bounces@ietf.org</a>
[<a moz-do-not-send="true" href="mailto:oauth-bounces@ietf.org">mailto:oauth-bounces@ietf.org</a>]
    <b>On Behalf Of </b>Eve Maler<br>
    <b>Sent:</b> Friday, April 23, 2010 7:21 AM<br>
    <b>To:</b> OAuth WG<br>
    <b>Subject:</b> [OAUTH-WG] Autonomous clients and resource owners
(editorial)<br>
    </span></font></font><font face="Times New Roman"><span
 style="font-size: 12pt;"> <br>
    </span></font><font face="Lucida Grande"><span
 style="font-size: 11pt;"><br>
    </span></font><font face="Times New Roman"><span
 style="font-size: 12pt;">Regarding the second comment I made below: I
realized last night that Sections 3.7.1 and 3.7.2 get this more
correct, by saying that an autonomous client represents a "separate
resource owner". So Section 2.2 definitely needs a slight change, from:<br>
    </span></font><font face="Lucida Grande"><span
 style="font-size: 11pt;"><br>
    </span></font><font face="Times New Roman"><span
 style="font-size: 12pt;"> <br>
    </span></font><font face="Lucida Grande"><span
 style="font-size: 11pt;"><br>
    </span></font><font face="Times New Roman"><span
 style="font-size: 12pt;">"...and autonomous flows where the client is
acting for itself (the client is also the resource owner)."<br>
    </span></font><font face="Lucida Grande"><span
 style="font-size: 11pt;"><br>
    </span></font><font face="Times New Roman"><span
 style="font-size: 12pt;"> <br>
    </span></font><font face="Lucida Grande"><span
 style="font-size: 11pt;"><br>
    </span></font><font face="Times New Roman"><span
 style="font-size: 12pt;">to something like:<br>
    </span></font><font face="Lucida Grande"><span
 style="font-size: 11pt;"><br>
    </span></font><font face="Times New Roman"><span
 style="font-size: 12pt;"> <br>
    </span></font><font face="Lucida Grande"><span
 style="font-size: 11pt;"><br>
    </span></font><font face="Times New Roman"><span
 style="font-size: 12pt;">"...and autonomous flows where the client is
acting on behalf of a different resource owner."<br>
    </span></font><font face="Lucida Grande"><span
 style="font-size: 11pt;"><br>
    </span></font><font face="Times New Roman"><span
 style="font-size: 12pt;"> <br>
    </span></font><font face="Lucida Grande"><span
 style="font-size: 11pt;"><br>
    </span></font><font face="Times New Roman"><span
 style="font-size: 12pt;">Thanks,<br>
    </span></font><font face="Lucida Grande"><span
 style="font-size: 11pt;"><br>
    </span></font><font face="Times New Roman"><span
 style="font-size: 12pt;"> <br>
    </span></font><font face="Lucida Grande"><span
 style="font-size: 11pt;"><br>
    </span></font><font face="Times New Roman"><span
 style="font-size: 12pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Eve<br>
    </span></font><font face="Lucida Grande"><span
 style="font-size: 11pt;"><br>
    </span></font><font face="Times New Roman"><span
 style="font-size: 12pt;"> <br>
    </span></font><font face="Lucida Grande"><span
 style="font-size: 11pt;"><br>
    </span></font><font face="Times New Roman"><span
 style="font-size: 12pt;">On 21 Apr 2010, at 4:43 PM, Eve Maler wrote:<br>
    <br>
    <br>
Tacking this response to the end of the thread for lack of a better
place to do it: The name "username" seems not quite apt in the case of
an autonomous client that isn't representing an end-user. Would
"identifier" be better? (Actually, it sort of reminds me of SAML's
"SessionIndex"...) Or would the parameter be reserved for
user-delegation flows?<br>
    </span></font><font face="Lucida Grande"><span
 style="font-size: 11pt;"><br>
    </span></font><font face="Times New Roman"><span
 style="font-size: 12pt;"> <br>
    </span></font><font face="Lucida Grande"><span
 style="font-size: 11pt;"><br>
    </span></font><font face="Times New Roman"><span
 style="font-size: 12pt;">Speaking of autonomous clients, Section 2.2
-- among possibly other places -- states that an autonomous client is
also the resource owner, but that's not always the case, is it? The
client might be seeking access on behalf of itself. (FWIW, I made
roughly this same comment on David's first draft on March 21, and he
agreed with my suggested fix at the time.)<br>
    </span></font><font face="Lucida Grande"><span
 style="font-size: 11pt;"><br>
    </span></font><font face="Times New Roman"><span
 style="font-size: 12pt;"> <br>
    </span></font><font face="Lucida Grande"><span
 style="font-size: 11pt;"><br>
    </span></font><font face="Times New Roman"><span
 style="font-size: 12pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Eve<br>
&nbsp;<br>
    </span></font><font face="Lucida Grande"><span
 style="font-size: 11pt;"><br>
    </span></font><font size="1"><font face="Courier, Courier New"><span
 style="font-size: 7pt;"><br>
Eve Maler<br>
    </span></font></font><font face="Lucida Grande"><span
 style="font-size: 11pt;"><br>
    </span></font><font size="1"><font face="Courier, Courier New"><span
 style="font-size: 7pt;"><a moz-do-not-send="true"
 href="eve@xmlgrrl.com">eve@xmlgrrl.com</a><br>
    </span></font></font><font face="Lucida Grande"><span
 style="font-size: 11pt;"><br>
    </span></font><font size="1"><font face="Courier, Courier New"><span
 style="font-size: 7pt;"><a moz-do-not-send="true"
 href="http://www.xmlgrrl.com/blog">http://www.xmlgrrl.com/blog</a><br>
    </span></font></font><font face="Times New Roman"><span
 style="font-size: 12pt;"> <br>
    </span></font><font face="Lucida Grande"><span
 style="font-size: 11pt;"><br>
    </span></font></blockquote>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
OAuth mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a>
  </pre>
</blockquote>
<br>
</body>
</html>

--------------010607030109080505050402--


From beaton@google.com  Mon Apr 26 23:27:37 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C14A23A68D0 for <oauth@core3.amsl.com>; Mon, 26 Apr 2010 23:27:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.474
X-Spam-Level: 
X-Spam-Status: No, score=-100.474 tagged_above=-999 required=5 tests=[AWL=-1.097, BAYES_50=0.001, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wXmXLs1JuIWf for <oauth@core3.amsl.com>; Mon, 26 Apr 2010 23:27:36 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 226173A6403 for <oauth@ietf.org>; Mon, 26 Apr 2010 23:27:29 -0700 (PDT)
Received: from hpaq2.eem.corp.google.com (hpaq2.eem.corp.google.com [10.3.21.2]) by smtp-out.google.com with ESMTP id o3R6RGuk016983 for <oauth@ietf.org>; Mon, 26 Apr 2010 23:27:16 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1272349636; bh=tqYfu7BQsIHK3qeXnMT0YtmYVAQ=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=uVvldi09NI4GCmhDxxiglmFrnUodBZ1xWrY+DghGDb5G+tA2oYvXGJJd59aC9VgJi NYpcEyBpj1MHS684EApzQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=Zy8IT+CgzVx1SJyb7chJ7gmBVjwBbEN6eUvJehmtVa6Re3S35zQL00Yeqj09czM+n EySyWn4WagYUUBbVOvDBw==
Received: from pzk14 (pzk14.prod.google.com [10.243.19.142]) by hpaq2.eem.corp.google.com with ESMTP id o3R6REjB027073 for <oauth@ietf.org>; Mon, 26 Apr 2010 23:27:15 -0700
Received: by pzk14 with SMTP id 14so23866pzk.25 for <oauth@ietf.org>; Mon, 26 Apr 2010 23:27:14 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.142.201.12 with SMTP id y12mr2579205wff.174.1272349633856;  Mon, 26 Apr 2010 23:27:13 -0700 (PDT)
Received: by 10.142.202.10 with HTTP; Mon, 26 Apr 2010 23:27:13 -0700 (PDT)
In-Reply-To: <y2kfd6741651004221758y7d207961we2a6d1e65e6dd279@mail.gmail.com>
References: <i2odaf5b9571004221649h733f675bva2f9f4438ef43921@mail.gmail.com> <y2kfd6741651004221758y7d207961we2a6d1e65e6dd279@mail.gmail.com>
Date: Mon, 26 Apr 2010 23:27:13 -0700
Message-ID: <o2qdaf5b9571004262327u90caa8b6vbfa976ec44c86d91@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: David Recordon <recordond@gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] device profile comments
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Apr 2010 06:27:37 -0000

On Thu, Apr 22, 2010 at 5:58 PM, David Recordon <recordond@gmail.com> wrote:
> I don't fully understand what you're proposing. The device would show a
> screen which tells the user to visit http://fb.me/xbox and enter the code
> 123456. (Or to visit http://xbox.com/fb.) Asking a user to go to
> http://goo.gl/?client_id=bndi12boi1 seems like it's prone to user error.

Yeah, we are shooting for the exact same UX and typable URLs that you
are.  I was thinking that this would be done without requiring
preregistration at the authorization server.  That requires that the
device point to a friendly URL (e.g. http://xbox.com/fb), which then
automatically redirects to the authorization server with a few more
bits of information tacked on to the URL.

But, as you point out, the protocol that requires pre-registration is
simpler.  I don't think asking manufacturers to register is a problem,
either.

Proposed changes to the spec (for clarity, I don't think these change
the protocol flows.)

"The client is incapable of receiving incoming requests from the
authorization server (incapable of acting as an HTTP server).  ADD:
The device manufacturer is assumed to have registered with the
authorization server.  The authorization server and device
manufacturer agree on a client id used to identify the manufacturer's
devices."

"(B) The authorization server issues a verification code, a user code,
and provides the end user authorization URI.  ADD: The authorization
URI SHOULD be suitable for manual user entry.  Authorization servers
MAY return different approval URLs for different authorization
requests.  (These different approval URLs allow the user interface to
be customized for different clients.)"

Changes to (D):

"(D) The authorization server authenticates the end user and prompts
the end user to grant the client's access request.  If the end user
agrees to the client's access request, the end user enters the user
code provided by the client."

New step E.

"(E) After the end user grants or denies access, the Authorization
Server MAY redirect to a callback URL previously registered for the
client.  If the user denies access, the Authorization Server must
append the query parameter "error=user_denied" to the callback URL.
The callback URL can be used to provide further instructions to the
user if necessary."

Cheers,
Brian

From beaton@google.com  Mon Apr 26 23:33:36 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E184C3A6A27 for <oauth@core3.amsl.com>; Mon, 26 Apr 2010 23:33:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.306
X-Spam-Level: 
X-Spam-Status: No, score=-101.306 tagged_above=-999 required=5 tests=[AWL=-0.135, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, SARE_URI_CONS7=0.306, URI_NOVOWEL=0.5, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Dqo5um0GUfM2 for <oauth@core3.amsl.com>; Mon, 26 Apr 2010 23:33:35 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 22FC03A68EE for <oauth@ietf.org>; Mon, 26 Apr 2010 23:33:33 -0700 (PDT)
Received: from wpaz1.hot.corp.google.com (wpaz1.hot.corp.google.com [172.24.198.65]) by smtp-out.google.com with ESMTP id o3R6XKf3025619 for <oauth@ietf.org>; Mon, 26 Apr 2010 23:33:20 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1272350000; bh=dG4o3RffR+FS0NDPa+F9TGvjbLI=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type:Content-Transfer-Encoding; b=GvGu6FEhqaQGwN7YEJb2fn4if/PeblEXG66bhE11u+IJOeuhUA7zbeDiPVq9f6Nf+ +d/VFnHuzLhWRdvlPhNMQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:content-transfer-encoding:x-system-of-record; b=frZWyxD6O09slspE+ySXT3Tmv3Q2WAkI+woolADCTXNrqM/X8o0JXqcUzCDrlguER zQ6kt7cl6FqKkYOCkmC7w==
Received: from pwj5 (pwj5.prod.google.com [10.241.219.69]) by wpaz1.hot.corp.google.com with ESMTP id o3R6XIsG009644 for <oauth@ietf.org>; Mon, 26 Apr 2010 23:33:18 -0700
Received: by pwj5 with SMTP id 5so7939735pwj.34 for <oauth@ietf.org>; Mon, 26 Apr 2010 23:33:18 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.143.153.34 with SMTP id f34mr2650425wfo.2.1272349997903; Mon,  26 Apr 2010 23:33:17 -0700 (PDT)
Received: by 10.142.202.10 with HTTP; Mon, 26 Apr 2010 23:33:17 -0700 (PDT)
In-Reply-To: <4BD674BC.9080504@lodderstedt.net>
References: <C7FB5107.451C%cmortimore@salesforce.com> <4BD674BC.9080504@lodderstedt.net>
Date: Mon, 26 Apr 2010 23:33:17 -0700
Message-ID: <p2xdaf5b9571004262333x1552d589haf469cf307317e45@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: "Foiles, Doug" <Doug_Foiles@intuit.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Autonomous clients and resource owners (editorial)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Apr 2010 06:33:37 -0000

>From my perspective, the main thing is that the assertion flow can be
used to connect existing authentication systems with APIs that are
using OAuth2 for authorization.

This will let us leverage existing trust relationships across systems.

Note that this breaks, however, if the flow returns a refresh token.
Refresh tokens are a new trust relationship, and they require
additional user/administrator involvement to manage.

Cheers,
Brian

On Mon, Apr 26, 2010 at 10:23 PM, Torsten Lodderstedt
<torsten@lodderstedt.net> wrote:
> +1
>
> we need the assertion flow for the same purpose. Can we add a variant of =
the
> flow to section "End User Credentials Flows"?
>
> regards,
> Torsten.
>
> Am 26.04.2010 23:17, schrieb Chuck Mortimore:
>
> +1.
>
> Our primary use-cases for the assertion flow are for clients acting on
> behalf of users, and not autonomously. =A0=A0I believe Eran already has t=
his on
> his list of feedback when the assertion flow gets edited.
>
> We also have need for a 2 legged Oauth model, and are looking at the clie=
nt
> credentials flow for exactly that purpose.
>
> -cmort
>
>
> On 4/25/10 10:34 AM, "Foiles, Doug" <Doug_Foiles@intuit.com> wrote:
>
> I have a bit of confusion on the Autonomous Client Flows =85 and specific=
ally
> related to Eve=92s comment below that suggests to me that the autonomous
> client is NOT ALWAYS the resource owner.
>
> Can the Autonomous Client Flows support clients that ARE NOT the actual
> resource owner?=A0 For example for an Assertion Flow where the Subject of=
 the
> SAML assertion is a user identity (and the resource owner) and not that o=
f
> the client.
>
> Is the intent of the Client Credentials Flow to support something like
> Google=92s =93OAuth for Google Apps domains=94 2 Legged OAuth use case?
> =A0http://code.google.com/apis/accounts/docs/OAuth.html.
>
> If the Autonomous Client Flows support clients that can act on behalf a
> resource owner that is not themselves=A0 =85 it then seems the resource o=
wner
> must provide some level of consent outside the OAuth specific flow.
>
> Thanks.
>
> Doug
>
>
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of
> Eve Maler
> Sent: Friday, April 23, 2010 7:21 AM
> To: OAuth WG
> Subject: [OAUTH-WG] Autonomous clients and resource owners (editorial)
>
>
> Regarding the second comment I made below: I realized last night that
> Sections 3.7.1 and 3.7.2 get this more correct, by saying that an autonom=
ous
> client represents a "separate resource owner". So Section 2.2 definitely
> needs a slight change, from:
>
>
>
> "...and autonomous flows where the client is acting for itself (the clien=
t
> is also the resource owner)."
>
>
>
> to something like:
>
>
>
> "...and autonomous flows where the client is acting on behalf of a differ=
ent
> resource owner."
>
>
>
> Thanks,
>
>
>
> =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Eve
>
>
>
> On 21 Apr 2010, at 4:43 PM, Eve Maler wrote:
>
>
> Tacking this response to the end of the thread for lack of a better place=
 to
> do it: The name "username" seems not quite apt in the case of an autonomo=
us
> client that isn't representing an end-user. Would "identifier" be better?
> (Actually, it sort of reminds me of SAML's "SessionIndex"...) Or would th=
e
> parameter be reserved for user-delegation flows?
>
>
>
> Speaking of autonomous clients, Section 2.2 -- among possibly other place=
s
> -- states that an autonomous client is also the resource owner, but that'=
s
> not always the case, is it? The client might be seeking access on behalf =
of
> itself. (FWIW, I made roughly this same comment on David's first draft on
> March 21, and he agreed with my suggested fix at the time.)
>
>
>
> =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Eve
>
>
>
> Eve Maler
>
> eve@xmlgrrl.com
>
> http://www.xmlgrrl.com/blog
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

From torsten@lodderstedt.net  Tue Apr 27 09:02:41 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 783253A6A29 for <oauth@core3.amsl.com>; Tue, 27 Apr 2010 09:02:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.199
X-Spam-Level: 
X-Spam-Status: No, score=0.199 tagged_above=-999 required=5 tests=[AWL=-2.426,  BAYES_05=-1.11, HELO_EQ_DE=0.35, RCVD_IN_BL_SPAMCOP_NET=1.96, RCVD_IN_SORBS_WEB=0.619, SARE_URI_CONS7=0.306, URI_NOVOWEL=0.5]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dL06gEzd2JKo for <oauth@core3.amsl.com>; Tue, 27 Apr 2010 09:02:40 -0700 (PDT)
Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.18.44]) by core3.amsl.com (Postfix) with ESMTP id A5F1328C14D for <oauth@ietf.org>; Tue, 27 Apr 2010 09:00:47 -0700 (PDT)
Received: from [80.187.100.116] (helo=[10.174.46.148]) by smtprelay02.ispgateway.de with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O6nD6-0001x7-6p; Tue, 27 Apr 2010 18:00:33 +0200
References: <C7FB5107.451C%cmortimore@salesforce.com> <4BD674BC.9080504@lodderstedt.net> <p2xdaf5b9571004262333x1552d589haf469cf307317e45@mail.gmail.com>
Message-Id: <EB7C038F-7EA6-40A3-9A51-4BCA5E50E2ED@lodderstedt.net>
From: Torsten Lodderstedt <torsten@lodderstedt.net>
To: Brian Eaton <beaton@google.com>
In-Reply-To: <p2xdaf5b9571004262333x1552d589haf469cf307317e45@mail.gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed; delsp=yes
Content-Transfer-Encoding: quoted-printable
X-Mailer: iPhone Mail (7E18)
Mime-Version: 1.0 (iPhone Mail 7E18)
Date: Tue, 27 Apr 2010 18:00:08 +0200
X-Df-Sender: 141509
Cc: "Foiles, Doug" <Doug_Foiles@intuit.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Autonomous clients and resource owners (editorial)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Apr 2010 16:02:41 -0000

returning access token would suffice in this flow, from my point of =20
view.

regards,
Torsten.


Am 27.04.2010 um 08:33 schrieb Brian Eaton <beaton@google.com>:

> =46rom my perspective, the main thing is that the assertion flow can =
be
> used to connect existing authentication systems with APIs that are
> using OAuth2 for authorization.
>
> This will let us leverage existing trust relationships across systems.
>
> Note that this breaks, however, if the flow returns a refresh token.
> Refresh tokens are a new trust relationship, and they require
> additional user/administrator involvement to manage.
>
> Cheers,
> Brian
>
> On Mon, Apr 26, 2010 at 10:23 PM, Torsten Lodderstedt
> <torsten@lodderstedt.net> wrote:
>> +1
>>
>> we need the assertion flow for the same purpose. Can we add a =20
>> variant of the
>> flow to section "End User Credentials Flows"?
>>
>> regards,
>> Torsten.
>>
>> Am 26.04.2010 23:17, schrieb Chuck Mortimore:
>>
>> +1.
>>
>> Our primary use-cases for the assertion flow are for clients acting =20=

>> on
>> behalf of users, and not autonomously.   I believe Eran already has =20=

>> this on
>> his list of feedback when the assertion flow gets edited.
>>
>> We also have need for a 2 legged Oauth model, and are looking at =20
>> the client
>> credentials flow for exactly that purpose.
>>
>> -cmort
>>
>>
>> On 4/25/10 10:34 AM, "Foiles, Doug" <Doug_Foiles@intuit.com> wrote:
>>
>> I have a bit of confusion on the Autonomous Client Flows =E2=80=A6 =
and spe=20
>> cifically
>> related to Eve=E2=80=99s comment below that suggests to me that the =
autono=20
>> mous
>> client is NOT ALWAYS the resource owner.
>>
>> Can the Autonomous Client Flows support clients that ARE NOT the =20
>> actual
>> resource owner?  For example for an Assertion Flow where the =20
>> Subject of the
>> SAML assertion is a user identity (and the resource owner) and not =20=

>> that of
>> the client.
>>
>> Is the intent of the Client Credentials Flow to support something =20
>> like
>> Google=E2=80=99s =E2=80=9COAuth for Google Apps domains=E2=80=9D 2 =
Legged OAuth use ca=20
>> se?
>>  http://code.google.com/apis/accounts/docs/OAuth.html.
>>
>> If the Autonomous Client Flows support clients that can act on =20
>> behalf a
>> resource owner that is not themselves  =E2=80=A6 it then seems the =
resourc=20
>> e owner
>> must provide some level of consent outside the OAuth specific flow.
>>
>> Thanks.
>>
>> Doug
>>
>>
>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On =20
>> Behalf Of
>> Eve Maler
>> Sent: Friday, April 23, 2010 7:21 AM
>> To: OAuth WG
>> Subject: [OAUTH-WG] Autonomous clients and resource owners =20
>> (editorial)
>>
>>
>> Regarding the second comment I made below: I realized last night that
>> Sections 3.7.1 and 3.7.2 get this more correct, by saying that an =20
>> autonomous
>> client represents a "separate resource owner". So Section 2.2 =20
>> definitely
>> needs a slight change, from:
>>
>>
>>
>> "...and autonomous flows where the client is acting for itself (the =20=

>> client
>> is also the resource owner)."
>>
>>
>>
>> to something like:
>>
>>
>>
>> "...and autonomous flows where the client is acting on behalf of a =20=

>> different
>> resource owner."
>>
>>
>>
>> Thanks,
>>
>>
>>
>>             Eve
>>
>>
>>
>> On 21 Apr 2010, at 4:43 PM, Eve Maler wrote:
>>
>>
>> Tacking this response to the end of the thread for lack of a better =20=

>> place to
>> do it: The name "username" seems not quite apt in the case of an =20
>> autonomous
>> client that isn't representing an end-user. Would "identifier" be =20
>> better?
>> (Actually, it sort of reminds me of SAML's "SessionIndex"...) Or =20
>> would the
>> parameter be reserved for user-delegation flows?
>>
>>
>>
>> Speaking of autonomous clients, Section 2.2 -- among possibly other =20=

>> places
>> -- states that an autonomous client is also the resource owner, but =20=

>> that's
>> not always the case, is it? The client might be seeking access on =20
>> behalf of
>> itself. (FWIW, I made roughly this same comment on David's first =20
>> draft on
>> March 21, and he agreed with my suggested fix at the time.)
>>
>>
>>
>>             Eve
>>
>>
>>
>> Eve Maler
>>
>> eve@xmlgrrl.com
>>
>> http://www.xmlgrrl.com/blog
>>
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>

From cmortimore@salesforce.com  Tue Apr 27 09:08:58 2010
Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 431B83A67D1 for <oauth@core3.amsl.com>; Tue, 27 Apr 2010 09:08:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.938
X-Spam-Level: 
X-Spam-Status: No, score=-5.938 tagged_above=-999 required=5 tests=[AWL=-0.145, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, SARE_URI_CONS7=0.306, URI_NOVOWEL=0.5]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id E5Es7tmveJ9p for <oauth@core3.amsl.com>; Tue, 27 Apr 2010 09:08:56 -0700 (PDT)
Received: from exprod8og101.obsmtp.com (exprod8og101.obsmtp.com [64.18.3.82]) by core3.amsl.com (Postfix) with SMTP id 8DC1C3A685D for <oauth@ietf.org>; Tue, 27 Apr 2010 09:08:10 -0700 (PDT)
Received: from source ([204.14.239.238]) by exprod8ob101.postini.com ([64.18.7.12]) with SMTP ID DSNKS9cL3lUo0BsJk/+nCTeR5Rm6gDF9pTSo@postini.com; Tue, 27 Apr 2010 09:07:59 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub3.internal.salesforce.com ([10.1.127.7]) with mapi; Tue, 27 Apr 2010 09:07:57 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>, Brian Eaton <beaton@google.com>
Date: Tue, 27 Apr 2010 09:05:45 -0700
Thread-Topic: [OAUTH-WG] Autonomous clients and resource owners (editorial)
Thread-Index: AcrmIscm/BOC6W7iSh+JMT0dgGCAkgAALcx1
Message-ID: <77AEC44D4DA08A46ADAA723286626BC140AB65A49D@EXSFM-MB01.internal.salesforce.com>
References: <C7FB5107.451C%cmortimore@salesforce.com> <4BD674BC.9080504@lodderstedt.net> <p2xdaf5b9571004262333x1552d589haf469cf307317e45@mail.gmail.com>, <EB7C038F-7EA6-40A3-9A51-4BCA5E50E2ED@lodderstedt.net>
In-Reply-To: <EB7C038F-7EA6-40A3-9A51-4BCA5E50E2ED@lodderstedt.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "Foiles, Doug" <Doug_Foiles@intuit.com>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Autonomous clients and resource owners (editorial)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Apr 2010 16:08:58 -0000

Same here - we don't intend to issue refresh tokens for either of these flo=
ws, and we'll only be accepting 1 time use assertions.

-cmort
________________________________________
From: Torsten Lodderstedt [torsten@lodderstedt.net]
Sent: Tuesday, April 27, 2010 9:00 AM
To: Brian Eaton
Cc: Chuck Mortimore; Foiles, Doug; OAuth WG
Subject: Re: [OAUTH-WG] Autonomous clients and resource owners (editorial)

returning access token would suffice in this flow, from my point of
view.

regards,
Torsten.


Am 27.04.2010 um 08:33 schrieb Brian Eaton <beaton@google.com>:

> From my perspective, the main thing is that the assertion flow can be
> used to connect existing authentication systems with APIs that are
> using OAuth2 for authorization.
>
> This will let us leverage existing trust relationships across systems.
>
> Note that this breaks, however, if the flow returns a refresh token.
> Refresh tokens are a new trust relationship, and they require
> additional user/administrator involvement to manage.
>
> Cheers,
> Brian
>
> On Mon, Apr 26, 2010 at 10:23 PM, Torsten Lodderstedt
> <torsten@lodderstedt.net> wrote:
>> +1
>>
>> we need the assertion flow for the same purpose. Can we add a
>> variant of the
>> flow to section "End User Credentials Flows"?
>>
>> regards,
>> Torsten.
>>
>> Am 26.04.2010 23:17, schrieb Chuck Mortimore:
>>
>> +1.
>>
>> Our primary use-cases for the assertion flow are for clients acting
>> on
>> behalf of users, and not autonomously.   I believe Eran already has
>> this on
>> his list of feedback when the assertion flow gets edited.
>>
>> We also have need for a 2 legged Oauth model, and are looking at
>> the client
>> credentials flow for exactly that purpose.
>>
>> -cmort
>>
>>
>> On 4/25/10 10:34 AM, "Foiles, Doug" <Doug_Foiles@intuit.com> wrote:
>>
>> I have a bit of confusion on the Autonomous Client Flows =85 and spe
>> cifically
>> related to Eve=92s comment below that suggests to me that the autono
>> mous
>> client is NOT ALWAYS the resource owner.
>>
>> Can the Autonomous Client Flows support clients that ARE NOT the
>> actual
>> resource owner?  For example for an Assertion Flow where the
>> Subject of the
>> SAML assertion is a user identity (and the resource owner) and not
>> that of
>> the client.
>>
>> Is the intent of the Client Credentials Flow to support something
>> like
>> Google=92s =93OAuth for Google Apps domains=94 2 Legged OAuth use ca
>> se?
>>  http://code.google.com/apis/accounts/docs/OAuth.html.
>>
>> If the Autonomous Client Flows support clients that can act on
>> behalf a
>> resource owner that is not themselves  =85 it then seems the resourc
>> e owner
>> must provide some level of consent outside the OAuth specific flow.
>>
>> Thanks.
>>
>> Doug
>>
>>
>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
>> Behalf Of
>> Eve Maler
>> Sent: Friday, April 23, 2010 7:21 AM
>> To: OAuth WG
>> Subject: [OAUTH-WG] Autonomous clients and resource owners
>> (editorial)
>>
>>
>> Regarding the second comment I made below: I realized last night that
>> Sections 3.7.1 and 3.7.2 get this more correct, by saying that an
>> autonomous
>> client represents a "separate resource owner". So Section 2.2
>> definitely
>> needs a slight change, from:
>>
>>
>>
>> "...and autonomous flows where the client is acting for itself (the
>> client
>> is also the resource owner)."
>>
>>
>>
>> to something like:
>>
>>
>>
>> "...and autonomous flows where the client is acting on behalf of a
>> different
>> resource owner."
>>
>>
>>
>> Thanks,
>>
>>
>>
>>             Eve
>>
>>
>>
>> On 21 Apr 2010, at 4:43 PM, Eve Maler wrote:
>>
>>
>> Tacking this response to the end of the thread for lack of a better
>> place to
>> do it: The name "username" seems not quite apt in the case of an
>> autonomous
>> client that isn't representing an end-user. Would "identifier" be
>> better?
>> (Actually, it sort of reminds me of SAML's "SessionIndex"...) Or
>> would the
>> parameter be reserved for user-delegation flows?
>>
>>
>>
>> Speaking of autonomous clients, Section 2.2 -- among possibly other
>> places
>> -- states that an autonomous client is also the resource owner, but
>> that's
>> not always the case, is it? The client might be seeking access on
>> behalf of
>> itself. (FWIW, I made roughly this same comment on David's first
>> draft on
>> March 21, and he agreed with my suggested fix at the time.)
>>
>>
>>
>>             Eve
>>
>>
>>
>> Eve Maler
>>
>> eve@xmlgrrl.com
>>
>> http://www.xmlgrrl.com/blog
>>
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>

From torsten@lodderstedt.net  Tue Apr 27 11:49:48 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9D0563A6B87 for <oauth@core3.amsl.com>; Tue, 27 Apr 2010 11:49:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.669
X-Spam-Level: 
X-Spam-Status: No, score=-0.669 tagged_above=-999 required=5 tests=[AWL=-1.020, BAYES_50=0.001, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 524coecLnVk5 for <oauth@core3.amsl.com>; Tue, 27 Apr 2010 11:49:47 -0700 (PDT)
Received: from smtprelay04.ispgateway.de (smtprelay04.ispgateway.de [80.67.31.27]) by core3.amsl.com (Postfix) with ESMTP id 653C128C16F for <oauth@ietf.org>; Tue, 27 Apr 2010 11:49:27 -0700 (PDT)
Received: from p4fff24b2.dip.t-dialin.net ([79.255.36.178] helo=[127.0.0.1]) by smtprelay04.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O6pqG-0004lI-Ie; Tue, 27 Apr 2010 20:49:08 +0200
Message-ID: <4BD731A0.8090105@lodderstedt.net>
Date: Tue, 27 Apr 2010 20:49:04 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Brian Eaton <beaton@google.com>
References: <C7F1D1FC.32809%eran@hueniverse.com>	<0D5497F5-75A7-4A42-9A5E-9C2310162B18@jkemp.net>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7F30A@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com>	<BB02FD4F-071E-4FF5-B3D0-F8D3FA22FEEE@jkemp.net>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7FD26@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<h2ldaf5b9571004221235tb844eb6ah623955979526c1b6@mail.gmail.com>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7FD4A@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<l2idaf5b9571004221350oa0dbeb11ndeb4cb9147407ba9@mail.gmail.com>	<255B9BB34FB7D647A506DC292726F6E1125793664B@WSMSG3153V.srv.dir.telstra.com> <w2sdaf5b9571004231705jbff1ae6dz70fd966f091502b3@mail.gmail.com>
In-Reply-To: <w2sdaf5b9571004231705jbff1ae6dz70fd966f091502b3@mail.gmail.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit
X-Df-Sender: 141509
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Apr 2010 18:49:48 -0000

Am 24.04.2010 02:05, schrieb Brian Eaton:
> On Thu, Apr 22, 2010 at 6:11 PM, Manger, James H
> <James.H.Manger@team.telstra.com>  wrote:
>    
>> We mustn't drop advertisements (details in 401 responses).
>> We mustn't drop the goal of a standard for interoperability.
>>      
> I share the goals, I just don't think that a specification is the way
> to get there.  I think working examples in the wild would help
> enormously.
>
>    
>> Defining a scope field in a 401 response is the novel aspect that “might not actually work”. Allowing a 'scope' query parameter in authz URIs is be quite separate.
>>      
> Yeah, I agree with that analysis.
>
> Though I don't know of any providers that are returning authorization
> URLs in 401 responses right now.  That's novel, too.
>
>    

That's novel, yes. But I think no one did it before because there was no 
need to do so. BASIC and DIGEST don't require authorization endpoint 
coordinates. SPNEGO/Kerberos would be a candidate because of its 
architecture, but it uses the standard Kerberos mechanisms (config or 
DNS-based discovery via SRV records).

I think there is a need for a standardized way of authorization server 
discovery. Using the WWW-Authentication header is better than nothing 
from my point of view.

Alternatively, resource servers could publish their supported 
authentication servers via XRD or a similar mechanism. The authorization 
server in turn could publish its endpoints (and capabilities) the same way.

regards,
Torsten.


From stpeter@stpeter.im  Tue Apr 27 11:55:34 2010
Return-Path: <stpeter@stpeter.im>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 38A703A6767 for <oauth@core3.amsl.com>; Tue, 27 Apr 2010 11:55:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.307
X-Spam-Level: 
X-Spam-Status: No, score=-2.307 tagged_above=-999 required=5 tests=[AWL=0.292,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JGu-Er44hB2S for <oauth@core3.amsl.com>; Tue, 27 Apr 2010 11:55:33 -0700 (PDT)
Received: from stpeter.im (stpeter.im [207.210.219.233]) by core3.amsl.com (Postfix) with ESMTP id 3EE9D3A6A89 for <oauth@ietf.org>; Tue, 27 Apr 2010 11:55:31 -0700 (PDT)
Received: from dhcp-64-101-72-158.cisco.com (dhcp-64-101-72-158.cisco.com [64.101.72.158]) (Authenticated sender: stpeter) by stpeter.im (Postfix) with ESMTPSA id 97E2640E13; Tue, 27 Apr 2010 12:55:18 -0600 (MDT)
Message-ID: <4BD73315.4000103@stpeter.im>
Date: Tue, 27 Apr 2010 12:55:17 -0600
From: Peter Saint-Andre <stpeter@stpeter.im>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Marius Scurtescu <mscurtescu@google.com>
References: <w2jd37b4b431004230420vacda67aen432ed256b4d93546@mail.gmail.com> <4BD5EC4D.9020606@lodderstedt.net> <w2u74caaad21004261414gb1937579z3fc8d90275e50555@mail.gmail.com>
In-Reply-To: <w2u74caaad21004261414gb1937579z3fc8d90275e50555@mail.gmail.com>
X-Enigmail-Version: 1.0.1
OpenPGP: url=http://www.saint-andre.com/me/stpeter.asc
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms070105030807000209030106"
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Call for Consensus (Deadline: April 22)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Apr 2010 18:55:34 -0000

This is a cryptographically signed message in MIME format.

--------------ms070105030807000209030106
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 4/26/10 3:14 PM, Marius Scurtescu wrote:
> +1
>=20
> I am assuming this means that the current draft will become the
> initial check point, version 00. Is that correct?

Correct.

/psa


--------------ms070105030807000209030106
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIWnDCC
B1cwggY/oAMCAQICAVUwDQYJKoZIhvcNAQEFBQAwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQK
Ew1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBT
aWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRl
IENsaWVudCBDQTAeFw0wOTA3MDYwMDAwMDFaFw0xMDA3MDYyMzU5NTlaMIHCMQswCQYDVQQG
EwJVUzERMA8GA1UECBMIQ29sb3JhZG8xDzANBgNVBAcTBkRlbnZlcjEiMCAGA1UEChMZWE1Q
UCBTdGFuZGFyZHMgRm91bmRhdGlvbjEsMCoGA1UECxMjU3RhcnRDb20gVHJ1c3RlZCBDZXJ0
aWZpY2F0ZSBNZW1iZXIxGjAYBgNVBAMTEVBldGVyIFNhaW50LUFuZHJlMSEwHwYJKoZIhvcN
AQkBFhJzdHBldGVyQHN0cGV0ZXIuaW0wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQCas7Mrnh02GakN8sft+HJpU4MwBxEgrGDZ2ZzUxDDt2sEhM+9Q74h955MtgMhK3TeBf6Hs
hDh/8Z9G//k2qNA0M2S5rejTqrmW0Jabca/L7BUZ0GhnU2N/2zeciFUmuZ4A2l1T5IMX2ZVP
XnNIaefBtbImJAbDz3T0vxkzTtcqgW3wL83PMDiqiuM+e1k+VPvOW4f5ZSGkPIhYCDpWqNE5
wZvjrLNMc8jZOPs9DrsYuIVwU72Vhy1tkEh+w6YpYHrdEUAe+eKe6TuxqZ60e9z3O36uiV//
Ms274iD6PbA/IGazJgaAdg6tvPehwTYGJAGmv3PsJKkLGjgoh+RrrM1LAgMBAAGjggOKMIID
hjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
AwQwHQYDVR0OBBYEFOyws3XWgIY9FP1POVqjdZP9Lu38MB0GA1UdEQQWMBSBEnN0cGV0ZXJA
c3RwZXRlci5pbTCBqAYDVR0jBIGgMIGdgBR7iZySlyShhEcCy3T8LvSs3DLl86GBgaR/MH0x
CzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUg
RGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZp
Y2F0aW9uIEF1dGhvcml0eYIBDzCCAUcGA1UdIASCAT4wggE6MIIBNgYLKwYBBAGBtTcBAgAw
ggElMC4GCCsGAQUFBwIBFiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMDQG
CCsGAQUFBwIBFihodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMIG8
BggrBgEFBQcCAjCBrzAUFg1TdGFydENvbSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0
eSwgcmVhZCB0aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENv
bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93
d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwYwYDVR0fBFwwWjAroCmgJ4YlaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vY3J0dTMtY3JsLmNybDAroCmgJ4YlaHR0cDovL2NybC5zdGFydHNz
bC5jb20vY3J0dTMtY3JsLmNybDCBjgYIKwYBBQUHAQEEgYEwfzA5BggrBgEFBQcwAYYtaHR0
cDovL29jc3Auc3RhcnRzc2wuY29tL3N1Yi9jbGFzczMvY2xpZW50L2NhMEIGCCsGAQUFBzAC
hjZodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9jZXJ0cy9zdWIuY2xhc3MzLmNsaWVudC5jYS5j
cnQwIwYDVR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMA0GCSqGSIb3DQEBBQUA
A4IBAQBgv4xFXZqDKSOtnPOVbqOh1brj7oxRaVYk7N0MJG7x9Y/wkO3iwRwizVLcC1bA+D/R
gyFilXx6IQWE63Ge2tu+Y4w5QoHYwuUFQuBZuxvZpOa3ykdgPlBQaBM8m+Ien0skwNggaizA
X9Pc/sMLpP3jkO1iSF4agy4r5Ed+4G10mP5X0zO3gQwq9Uj4F9tX+58kU+fM1P8Sh+BYR4r/
kSbKE3tWcMaKblWPGwX0nYD26Je7Qb+uX/J5lCgozBrHXQWq8N98iklASf2pv+32Oi1dEjmM
UgAm/J2+YmxaI02+c+H6QH8+F3RUjCiRg9XqUNjcrNrnTFnm/iMMZADktsXPMIIHVzCCBj+g
AwIBAgIBVTANBgkqhkiG9w0BAQUFADCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBMB4XDTA5MDcwNjAwMDAwMVoXDTEwMDcwNjIzNTk1OVowgcIxCzAJBgNVBAYTAlVTMREw
DwYDVQQIEwhDb2xvcmFkbzEPMA0GA1UEBxMGRGVudmVyMSIwIAYDVQQKExlYTVBQIFN0YW5k
YXJkcyBGb3VuZGF0aW9uMSwwKgYDVQQLEyNTdGFydENvbSBUcnVzdGVkIENlcnRpZmljYXRl
IE1lbWJlcjEaMBgGA1UEAxMRUGV0ZXIgU2FpbnQtQW5kcmUxITAfBgkqhkiG9w0BCQEWEnN0
cGV0ZXJAc3RwZXRlci5pbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJqzsyue
HTYZqQ3yx+34cmlTgzAHESCsYNnZnNTEMO3awSEz71DviH3nky2AyErdN4F/oeyEOH/xn0b/
+Tao0DQzZLmt6NOquZbQlptxr8vsFRnQaGdTY3/bN5yIVSa5ngDaXVPkgxfZlU9ec0hp58G1
siYkBsPPdPS/GTNO1yqBbfAvzc8wOKqK4z57WT5U+85bh/llIaQ8iFgIOlao0TnBm+Oss0xz
yNk4+z0Ouxi4hXBTvZWHLW2QSH7Dpilget0RQB754p7pO7GpnrR73Pc7fq6JX/8yzbviIPo9
sD8gZrMmBoB2Dq2896HBNgYkAaa/c+wkqQsaOCiH5GuszUsCAwEAAaOCA4owggOGMAkGA1Ud
EwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNV
HQ4EFgQU7LCzddaAhj0U/U85WqN1k/0u7fwwHQYDVR0RBBYwFIESc3RwZXRlckBzdHBldGVy
LmltMIGoBgNVHSMEgaAwgZ2AFHuJnJKXJKGERwLLdPwu9KzcMuXzoYGBpH8wfTELMAkGA1UE
BhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFs
IENlcnRpZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24g
QXV0aG9yaXR5ggEPMIIBRwYDVR0gBIIBPjCCATowggE2BgsrBgEEAYG1NwECADCCASUwLgYI
KwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUH
AgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgbwGCCsGAQUF
BwICMIGvMBQWDVN0YXJ0Q29tIEx0ZC4wAwIBARqBlkxpbWl0ZWQgTGlhYmlsaXR5LCByZWFk
IHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5zdGFy
dHNzbC5jb20vcG9saWN5LnBkZjBjBgNVHR8EXDBaMCugKaAnhiVodHRwOi8vd3d3LnN0YXJ0
c3NsLmNvbS9jcnR1My1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9j
cnR1My1jcmwuY3JsMIGOBggrBgEFBQcBAQSBgTB/MDkGCCsGAQUFBzABhi1odHRwOi8vb2Nz
cC5zdGFydHNzbC5jb20vc3ViL2NsYXNzMy9jbGllbnQvY2EwQgYIKwYBBQUHMAKGNmh0dHA6
Ly93d3cuc3RhcnRzc2wuY29tL2NlcnRzL3N1Yi5jbGFzczMuY2xpZW50LmNhLmNydDAjBgNV
HRIEHDAahhhodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS8wDQYJKoZIhvcNAQEFBQADggEBAGC/
jEVdmoMpI62c85Vuo6HVuuPujFFpViTs3QwkbvH1j/CQ7eLBHCLNUtwLVsD4P9GDIWKVfHoh
BYTrcZ7a275jjDlCgdjC5QVC4Fm7G9mk5rfKR2A+UFBoEzyb4h6fSyTA2CBqLMBf09z+wwuk
/eOQ7WJIXhqDLivkR37gbXSY/lfTM7eBDCr1SPgX21f7nyRT58zU/xKH4FhHiv+RJsoTe1Zw
xopuVY8bBfSdgPbol7tBv65f8nmUKCjMGsddBarw33yKSUBJ/am/7fY6LV0SOYxSACb8nb5i
bFojTb5z4fpAfz4XdFSMKJGD1epQ2Nys2udMWeb+IwxkAOS2xc8wggfiMIIFyqADAgECAgEP
MA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQu
MSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQD
EyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNzEwMjQyMTAzMzJaFw0x
MjEwMjIyMTAzMzJaMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEr
MCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMv
U3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5o0luEj4gypQIp71Xi2TlXyLYrj9WkRy+d9BO
0FHPYnAsC99/jx/ibNRwIfAoFhZd+LDscdRSckvwuFSz0bKg3z+9o7cwlVAC9AwMWe8IM0Lx
c+8etYxsX4WIamG9fjzzi5GAW5ESKzzIN3SxHSplyGCWFwx/pgf1f4y6O9/ym+4f6zaDYP6B
x0r+SaJcr6eSGNm7X3EwX1v7XpRBY+aw019o7k72d0IX910F+XGt0OwNdM61Ff3FiTiexeUZ
bWxCGm6GZl+SQVG9xYVIgHQaLXoQF+g2wzrmKCbVcZhqH+hrlRnD6PfCuEyX/BR6PlAPRDlQ
6f1u3wqik+LF5P15AgMBAAGjggNbMIIDVzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBpjAd
BgNVHQ4EFgQUe4mckpckoYRHAst0/C70rNwy5fMwgagGA1UdIwSBoDCBnYAUTgvvGqRAW6UX
aYcwyjRoQ9BBrvKhgYGkfzB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UE
AxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHmCAQEwCQYDVR0SBAIwADA9Bggr
BgEFBQcBAQQxMC8wLQYIKwYBBQUHMAKGIWh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2Nh
LmNydDBgBgNVHR8EWTBXMCygKqAohiZodHRwOi8vY2VydC5zdGFydGNvbS5vcmcvc2ZzY2Et
Y3JsLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20vc2ZzY2EuY3JsMIIBXQYD
VR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBBDCCATswLwYIKwYBBQUHAgEWI2h0dHA6Ly9j
ZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRwOi8vY2VydC5z
dGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYgU3RhcnQg
Q29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5LCBy
ZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQu
c3RhcnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMFAGCWCGSAGG+EIB
DQRDFkFTdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRlIEZyZWUgU1NMIEVt
YWlsIENlcnRpZmljYXRlczANBgkqhkiG9w0BAQUFAAOCAgEAUpcEDdsKFRCxFBxcSm+8oMTT
fpS7fbZkxWHx5fHDjvAgaBQ+oY0tk4xtbD6VxeHYjxI63+hj8jICnqeVXPe34Bu+XzekIn2T
lrnPCQobKdQF2p52QgUvIxSURed0jcBaCBV22DSKaUqDOzD/Tx6VQy78zpblXjRH7OALE/+H
jzJVmspdnBUUtQOLYgPo924xkxR25VDdgtEE5vAXa/g2oCeZhy0ZEO4NbgIayAYCJcJRDz0h
dD2Ahec65Kw6LB3N7VXEjiRR5/WoKwH/QteRzPJbFDc1somrApjm2cyg+5nbm1RHeFIz+GxX
luRrPztvhNcby0PtAjqwY1txi4sW0R6ZJPuZ2DZ1/dzckoFhyZgFyOX3SEkNXVLldjTzneFJ
FnVSzDbc720vq184jR7pYoI9+f5QJ96a0iLxEAG8SJ5auBwXI/w2FmKmwmdMvJ8/17+B4sMC
IRrXrDQl2xzpVXh/Qcmk5nf+w8HFmqATGy1OUAQbXga7AySAUaYhvvFk50u0bO5DiUGwzrJO
3TrwvaC2Ei4EFaBmIVgG7TfU5TaaY9IcJSCQ7AGUYE3RFSRpsLOoA3DsxP42YERgS/Nxw29+
YqZtPoO2QPbNpI7xnHVCfNBabx3oDIf438nFfv8spw5BQqBSbEF1izJA57eE64CzHnt7lB20
OFD11avYopwxggPKMIIDxgIBATCBkjCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBAgFVMAkGBSsOAwIaBQCgggIMMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZI
hvcNAQkFMQ8XDTEwMDQyNzE4NTUxN1owIwYJKoZIhvcNAQkEMRYEFJnh78rMQnprUk6N+DTI
ZCCZDKPhMF8GCSqGSIb3DQEJDzFSMFAwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqG
SIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBowYJ
KwYBBAGCNxAEMYGVMIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UE
AxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0ECAVUw
gaUGCyqGSIb3DQEJEAILMYGVoIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRD
b20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4
MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQg
Q0ECAVUwDQYJKoZIhvcNAQEBBQAEggEAhfMGFf8KPnEYGweJUXRn8/0CEAFnWM/NPqpYDdbr
Qx2SGKkdX4fK5kSMNE1yQP/apc6NEjVX0s4qaR3Raelm5Ggi6/2cWBMIkZhf1fPRXfCeEQ8E
KQ9MpVFPyONNGb0IBStVFYk2H58+TutOy5qAoFC90Rb29yxx+2L3LVXHv/1a2xd6KR/cNo0s
5ZGpXhuyHnbvgQ4xYtgO9345PQI5zJHLEc+9LgzPuyZlDzTL07fPdfBg2qhlDi0i3Kn27aAh
kn7AO1P2yItrVU9VClCNNSZ6MWeLrFhte/eLkZOfgl/AUGQ+jwYvmq3TU7KRbtxSNUN+qz6G
SrseeMxJR0sGMgAAAAAAAA==
--------------ms070105030807000209030106--

From Bill_Keenan@intuit.com  Tue Apr 27 12:14:28 2010
Return-Path: <Bill_Keenan@intuit.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9A3EA3A6AC1 for <oauth@core3.amsl.com>; Tue, 27 Apr 2010 12:14:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.793
X-Spam-Level: 
X-Spam-Status: No, score=-5.793 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, SARE_URI_CONS7=0.306, URI_NOVOWEL=0.5]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SokCqjcnlwai for <oauth@core3.amsl.com>; Tue, 27 Apr 2010 12:14:25 -0700 (PDT)
Received: from mail4.intuit.com (mail4.intuit.com [12.149.175.56]) by core3.amsl.com (Postfix) with ESMTP id 7D4973A6953 for <oauth@ietf.org>; Tue, 27 Apr 2010 12:14:25 -0700 (PDT)
DomainKey-Signature: s=default; d=intuit.com; c=nofws; q=dns; h=X-SBRS:X-IronPort-AV:Received:Received:X-MimeOLE: Content-class:MIME-Version:Content-Type: Content-Transfer-Encoding:Subject:Date:Message-ID: In-Reply-To:X-MS-Has-Attach:X-MS-TNEF-Correlator: Thread-Topic:Thread-Index:References:From:To:Return-Path: X-OriginalArrivalTime; b=WhFv6OUAk0NrYR//cd0yg1oWbIWdngNvGxNCrGftSIdexTKrzM20D+AC OEU8tQaJWLarr+8/LcrcUcQKIuvsAh0FY04/43l44BtBUj7IU1yaoz6l0 V3L/YDSjNxTdDOe;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=intuit.com; i=Bill_Keenan@intuit.com; q=dns/txt; s=default; t=1272395653; x=1303931653; h=from:sender:reply-to:subject:date:message-id:to:cc: mime-version:content-transfer-encoding:content-id: content-description:resent-date:resent-from:resent-sender: resent-to:resent-cc:resent-message-id:in-reply-to: references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:list-owner:list-archive; z=From:=20"Keenan,=20Bill"=20<Bill_Keenan@intuit.com> |Subject:=20RE:=20[OAUTH-WG]=20Autonomous=20clients=20and =20resource=20owners=20(editorial)|Date:=20Tue,=2027=20Ap r=202010=2012:14:10=20-0700|Message-ID:=20<5DEB74B3E9FA57 4EAA911DB8167C559E04425EBE@SDGEXEVS12.corp.intuit.net> |To:=20"OAuth=20WG"=20<oauth@ietf.org>|MIME-Version:=201. 0|Content-Transfer-Encoding:=20quoted-printable |In-Reply-To:=20<77AEC44D4DA08A46ADAA723286626BC140AB65A4 9D@EXSFM-MB01.internal.salesforce.com>|References:=20<C7F B5107.451C%cmortimore@salesforce.com><4BD674BC.9080504@lo dderstedt.net><p2xdaf5b9571004262333x1552d589haf469cf3073 17e45@mail.gmail.com>,<EB7C038F-7EA6-40A3-9A51-4BCA5E50E2 ED@lodderstedt.net>=20<77AEC44D4DA08A46ADAA723286626BC140 AB65A49D@EXSFM-MB01.internal.salesforce.com>; bh=NMwB9WoclvqqE/x8aLEWXvJiZePaJKj+eP0kYet4YEY=; b=ZvyXEDdo2pbG3V9vXOdoPP2dl/sZNHg6w1acwgskTeo+i27PJrQ0jWqA xG/KVeevUlCMFunOh7ep28KA77r+GHywBH6y/8M/HZvEf27G6XC8pJxJS 8Aa3yUoBxnypbDp;
X-SBRS: None
X-IronPort-AV: E=Sophos;i="4.52,282,1270450800"; d="scan'208";a="178621626"
Received: from relay-ex.sd.intuit.com (HELO SDGEXBH03.corp.intuit.net) ([172.17.135.77]) by mail4.sdg.ie.intuit.com with ESMTP; 27 Apr 2010 12:14:13 -0700
Received: from SDGEXEVS12.corp.intuit.net ([172.17.135.111]) by SDGEXBH03.corp.intuit.net with Microsoft SMTPSVC(6.0.3790.3959); Tue, 27 Apr 2010 12:14:12 -0700
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Date: Tue, 27 Apr 2010 12:14:10 -0700
Message-ID: <5DEB74B3E9FA574EAA911DB8167C559E04425EBE@SDGEXEVS12.corp.intuit.net>
In-Reply-To: <77AEC44D4DA08A46ADAA723286626BC140AB65A49D@EXSFM-MB01.internal.salesforce.com>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: [OAUTH-WG] Autonomous clients and resource owners (editorial)
Thread-Index: AcrmIscm/BOC6W7iSh+JMT0dgGCAkgAALcx1AAY05pA=
References: <C7FB5107.451C%cmortimore@salesforce.com><4BD674BC.9080504@lodderstedt.net><p2xdaf5b9571004262333x1552d589haf469cf307317e45@mail.gmail.com>, <EB7C038F-7EA6-40A3-9A51-4BCA5E50E2ED@lodderstedt.net> <77AEC44D4DA08A46ADAA723286626BC140AB65A49D@EXSFM-MB01.internal.salesforce.com>
From: "Keenan, Bill" <Bill_Keenan@intuit.com>
To: "OAuth WG" <oauth@ietf.org>
X-OriginalArrivalTime: 27 Apr 2010 19:14:12.0731 (UTC) FILETIME=[D23124B0:01CAE63D]
Subject: Re: [OAUTH-WG] Autonomous clients and resource owners (editorial)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Apr 2010 19:14:28 -0000

With Doug in an all day mtg, we have not sync'd on this...so one of us
may respond again on this topic.

I think I am +1 w/ Brian E.

In the flow from SAML gateway to STS to protected resource, I don't see
caching both an access and refresh token as getting me any efficiency.
Certainly, it adds complexity to regression testing.

I appreciate the desire for symmetry on the set of flows...refresh token
seems like a place for asymmetry.

BillK

-----Original Message-----
From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
Of Chuck Mortimore
Sent: Tuesday, April 27, 2010 9:06 AM
To: Torsten Lodderstedt; Brian Eaton
Cc: Foiles, Doug; OAuth WG
Subject: Re: [OAUTH-WG] Autonomous clients and resource owners
(editorial)

Same here - we don't intend to issue refresh tokens for either of these
flows, and we'll only be accepting 1 time use assertions.

-cmort
________________________________________
From: Torsten Lodderstedt [torsten@lodderstedt.net]
Sent: Tuesday, April 27, 2010 9:00 AM
To: Brian Eaton
Cc: Chuck Mortimore; Foiles, Doug; OAuth WG
Subject: Re: [OAUTH-WG] Autonomous clients and resource owners
(editorial)

returning access token would suffice in this flow, from my point of
view.

regards,
Torsten.


Am 27.04.2010 um 08:33 schrieb Brian Eaton <beaton@google.com>:

> From my perspective, the main thing is that the assertion flow can be
> used to connect existing authentication systems with APIs that are
> using OAuth2 for authorization.
>
> This will let us leverage existing trust relationships across systems.
>
> Note that this breaks, however, if the flow returns a refresh token.
> Refresh tokens are a new trust relationship, and they require
> additional user/administrator involvement to manage.
>
> Cheers,
> Brian
>
> On Mon, Apr 26, 2010 at 10:23 PM, Torsten Lodderstedt
> <torsten@lodderstedt.net> wrote:
>> +1
>>
>> we need the assertion flow for the same purpose. Can we add a
>> variant of the
>> flow to section "End User Credentials Flows"?
>>
>> regards,
>> Torsten.
>>
>> Am 26.04.2010 23:17, schrieb Chuck Mortimore:
>>
>> +1.
>>
>> Our primary use-cases for the assertion flow are for clients acting
>> on
>> behalf of users, and not autonomously.   I believe Eran already has
>> this on
>> his list of feedback when the assertion flow gets edited.
>>
>> We also have need for a 2 legged Oauth model, and are looking at
>> the client
>> credentials flow for exactly that purpose.
>>
>> -cmort
>>
>>
>> On 4/25/10 10:34 AM, "Foiles, Doug" <Doug_Foiles@intuit.com> wrote:
>>
>> I have a bit of confusion on the Autonomous Client Flows ... and spe
>> cifically
>> related to Eve's comment below that suggests to me that the autono
>> mous
>> client is NOT ALWAYS the resource owner.
>>
>> Can the Autonomous Client Flows support clients that ARE NOT the
>> actual
>> resource owner?  For example for an Assertion Flow where the
>> Subject of the
>> SAML assertion is a user identity (and the resource owner) and not
>> that of
>> the client.
>>
>> Is the intent of the Client Credentials Flow to support something
>> like
>> Google's "OAuth for Google Apps domains" 2 Legged OAuth use ca
>> se?
>>  http://code.google.com/apis/accounts/docs/OAuth.html.
>>
>> If the Autonomous Client Flows support clients that can act on
>> behalf a
>> resource owner that is not themselves  ... it then seems the resourc
>> e owner
>> must provide some level of consent outside the OAuth specific flow.
>>
>> Thanks.
>>
>> Doug
>>
>>
>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
>> Behalf Of
>> Eve Maler
>> Sent: Friday, April 23, 2010 7:21 AM
>> To: OAuth WG
>> Subject: [OAUTH-WG] Autonomous clients and resource owners
>> (editorial)
>>
>>
>> Regarding the second comment I made below: I realized last night that
>> Sections 3.7.1 and 3.7.2 get this more correct, by saying that an
>> autonomous
>> client represents a "separate resource owner". So Section 2.2
>> definitely
>> needs a slight change, from:
>>
>>
>>
>> "...and autonomous flows where the client is acting for itself (the
>> client
>> is also the resource owner)."
>>
>>
>>
>> to something like:
>>
>>
>>
>> "...and autonomous flows where the client is acting on behalf of a
>> different
>> resource owner."
>>
>>
>>
>> Thanks,
>>
>>
>>
>>             Eve
>>
>>
>>
>> On 21 Apr 2010, at 4:43 PM, Eve Maler wrote:
>>
>>
>> Tacking this response to the end of the thread for lack of a better
>> place to
>> do it: The name "username" seems not quite apt in the case of an
>> autonomous
>> client that isn't representing an end-user. Would "identifier" be
>> better?
>> (Actually, it sort of reminds me of SAML's "SessionIndex"...) Or
>> would the
>> parameter be reserved for user-delegation flows?
>>
>>
>>
>> Speaking of autonomous clients, Section 2.2 -- among possibly other
>> places
>> -- states that an autonomous client is also the resource owner, but
>> that's
>> not always the case, is it? The client might be seeking access on
>> behalf of
>> itself. (FWIW, I made roughly this same comment on David's first
>> draft on
>> March 21, and he agreed with my suggested fix at the time.)
>>
>>
>>
>>             Eve
>>
>>
>>
>> Eve Maler
>>
>> eve@xmlgrrl.com
>>
>> http://www.xmlgrrl.com/blog
>>
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

From dick.hardt@gmail.com  Tue Apr 27 12:15:52 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 00FD93A6B7E for <oauth@core3.amsl.com>; Tue, 27 Apr 2010 12:15:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aD4F2pkzFtH5 for <oauth@core3.amsl.com>; Tue, 27 Apr 2010 12:15:50 -0700 (PDT)
Received: from mail-pw0-f44.google.com (mail-pw0-f44.google.com [209.85.160.44]) by core3.amsl.com (Postfix) with ESMTP id 7CC363A6AC1 for <oauth@ietf.org>; Tue, 27 Apr 2010 12:15:40 -0700 (PDT)
Received: by pwj2 with SMTP id 2so9734364pwj.31 for <oauth@ietf.org>; Tue, 27 Apr 2010 12:15:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=EazTeJ6j65c1fXFC3Rdn97zBxqfx2cMPWcCfdalXll0=; b=WE9NefPCdSDJKC4YvDPKQsx3IpWpvsE74zM/PnYALZoYMBxaiVBQpofMbfg2W9hNLL 20UBc1uqxqeiqmZ+gwV32/RhB9ce6bLfoNODPon0vjbmQE7d56lr73ikfObggXMkRJ0e 2WWP8mY0qBngxO8CfYYKIfACeYPkEdTsuH2+o=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=ivheY/RbEQbmfSR7mLP0BgrfCz25ylE0gFRF8nnVKiZ0R5X2R6eVAZr7k2KfGfYkZE cH8TXLCZc/uSoLZndw2CBbdBhPKs5KJLM/LJ178sgk0HNLmT8mQKmiZPruDYOXtoZ/q7 FC0NJFCbwM7JtQ+QMgk8XyHvHRogCHnBXhh+A=
MIME-Version: 1.0
Received: by 10.142.10.40 with SMTP id 40mr3143935wfj.26.1272395725617; Tue,  27 Apr 2010 12:15:25 -0700 (PDT)
Received: by 10.142.58.3 with HTTP; Tue, 27 Apr 2010 12:15:25 -0700 (PDT)
In-Reply-To: <4BD73315.4000103@stpeter.im>
References: <w2jd37b4b431004230420vacda67aen432ed256b4d93546@mail.gmail.com> <4BD5EC4D.9020606@lodderstedt.net> <w2u74caaad21004261414gb1937579z3fc8d90275e50555@mail.gmail.com> <4BD73315.4000103@stpeter.im>
Date: Tue, 27 Apr 2010 12:15:25 -0700
Message-ID: <j2v987bab591004271215v70cbdf88wc8bbbc0efb428395@mail.gmail.com>
From: Dick Hardt <dick.hardt@gmail.com>
To: Peter Saint-Andre <stpeter@stpeter.im>
Content-Type: multipart/alternative; boundary=00504502ba2a3d3b1404853cb7e4
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Call for Consensus (Deadline: April 22)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Apr 2010 19:15:52 -0000

--00504502ba2a3d3b1404853cb7e4
Content-Type: text/plain; charset=ISO-8859-1

+1 as starting point. :)

On Tue, Apr 27, 2010 at 11:55 AM, Peter Saint-Andre <stpeter@stpeter.im>wrote:

> On 4/26/10 3:14 PM, Marius Scurtescu wrote:
> > +1
> >
> > I am assuming this means that the current draft will become the
> > initial check point, version 00. Is that correct?
>
> Correct.
>
> /psa
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

--00504502ba2a3d3b1404853cb7e4
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

+1 as starting point. :)<br><br><div class=3D"gmail_quote">On Tue, Apr 27, =
2010 at 11:55 AM, Peter Saint-Andre <span dir=3D"ltr">&lt;<a href=3D"mailto=
:stpeter@stpeter.im">stpeter@stpeter.im</a>&gt;</span> wrote:<br><blockquot=
e class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc sol=
id;padding-left:1ex;">
<div class=3D"im">On 4/26/10 3:14 PM, Marius Scurtescu wrote:<br>
&gt; +1<br>
&gt;<br>
&gt; I am assuming this means that the current draft will become the<br>
&gt; initial check point, version 00. Is that correct?<br>
<br>
</div>Correct.<br>
<font color=3D"#888888"><br>
/psa<br>
<br>
</font><br>_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></blockquote></div><br>

--00504502ba2a3d3b1404853cb7e4--

From jpanzer@google.com  Tue Apr 27 12:20:42 2010
Return-Path: <jpanzer@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B757028C136 for <oauth@core3.amsl.com>; Tue, 27 Apr 2010 12:20:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.372
X-Spam-Level: 
X-Spam-Status: No, score=-104.372 tagged_above=-999 required=5 tests=[AWL=0.115, BAYES_05=-1.11, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id O+vdtJ0CgKew for <oauth@core3.amsl.com>; Tue, 27 Apr 2010 12:20:40 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 473CE28C168 for <oauth@ietf.org>; Tue, 27 Apr 2010 12:20:28 -0700 (PDT)
Received: from wpaz21.hot.corp.google.com (wpaz21.hot.corp.google.com [172.24.198.85]) by smtp-out.google.com with ESMTP id o3RJKEXn020794 for <oauth@ietf.org>; Tue, 27 Apr 2010 12:20:15 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1272396015; bh=MLzneN0YkpFDBVgeyUTyg0hsEhY=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=nyyIUeEzyDVj+gwj9b8XvqsHAHXwkQe5tHZGs9eNyRFAN12PJYbQPXXLQT3forD5X lUT5wnBak5uZPMi3ytXlw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=K5lvlXFCe/BIiHcnodrzWgZBhWS4vlIhfJOPca80ZZ4O0GyLy5+c5TXHpheehdlWq czzP0s3YFRF7eBwVAvGoQ==
Received: from pwi9 (pwi9.prod.google.com [10.241.219.9]) by wpaz21.hot.corp.google.com with ESMTP id o3RJKCh3013198 for <oauth@ietf.org>; Tue, 27 Apr 2010 12:20:13 -0700
Received: by pwi9 with SMTP id 9so9878473pwi.41 for <oauth@ietf.org>; Tue, 27 Apr 2010 12:20:12 -0700 (PDT)
Received: by 10.141.131.15 with SMTP id i15mr219572rvn.18.1272396012473; Tue,  27 Apr 2010 12:20:12 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.100.15 with HTTP; Tue, 27 Apr 2010 12:19:52 -0700 (PDT)
In-Reply-To: <4BD731A0.8090105@lodderstedt.net>
References: <C7F1D1FC.32809%eran@hueniverse.com> <g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com> <BB02FD4F-071E-4FF5-B3D0-F8D3FA22FEEE@jkemp.net> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FD26@P3PW5EX1MB01.EX1.SECURESERVER.NET> <h2ldaf5b9571004221235tb844eb6ah623955979526c1b6@mail.gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E5C7FD4A@P3PW5EX1MB01.EX1.SECURESERVER.NET> <l2idaf5b9571004221350oa0dbeb11ndeb4cb9147407ba9@mail.gmail.com>  <255B9BB34FB7D647A506DC292726F6E1125793664B@WSMSG3153V.srv.dir.telstra.com> <w2sdaf5b9571004231705jbff1ae6dz70fd966f091502b3@mail.gmail.com>  <4BD731A0.8090105@lodderstedt.net>
From: John Panzer <jpanzer@google.com>
Date: Tue, 27 Apr 2010 12:19:52 -0700
Message-ID: <i2qcb5f7a381004271219k6b58114dx1df549847f172edc@mail.gmail.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Content-Type: multipart/alternative; boundary=000325564916564d1c04853cc897
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Apr 2010 19:20:42 -0000

--000325564916564d1c04853cc897
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

The old AOL Blogs API, which used AOL's OpenAuth service, provided a url=3D
parameter on WWW-Authenticate: challenges:

dev.estage.aol.com/aolblogs_api#mozTocId815750

<http://webcache.googleusercontent.com/search?q=3Dcache:VD8dYmqAaREJ:dev.es=
tage.aol.com/aolblogs_api+AOL+OpenAuth+401+response+WWW-Authenticate&cd=3D9=
&hl=3Den&ct=3Dclnk&gl=3Dus>

   -  If authorization fails, a 401 response is returned with a
   WWW-Authenticate: header providing additional details.

WWW-Authenticate: OpenAuth realm=3D"AOLBlogs", status=3D"status", msg=3D"me=
ssage",
url=3D"url"

This is from 2007 ;).

On Tue, Apr 27, 2010 at 11:49 AM, Torsten Lodderstedt <
torsten@lodderstedt.net> wrote:

> Am 24.04.2010 02:05, schrieb Brian Eaton:
>
>  On Thu, Apr 22, 2010 at 6:11 PM, Manger, James H
>> <James.H.Manger@team.telstra.com>  wrote:
>>
>>
>>> We mustn't drop advertisements (details in 401 responses).
>>> We mustn't drop the goal of a standard for interoperability.
>>>
>>>
>> I share the goals, I just don't think that a specification is the way
>> to get there.  I think working examples in the wild would help
>> enormously.
>>
>>
>>
>>> Defining a scope field in a 401 response is the novel aspect that =93mi=
ght
>>> not actually work=94. Allowing a 'scope' query parameter in authz URIs =
is be
>>> quite separate.
>>>
>>>
>> Yeah, I agree with that analysis.
>>
>> Though I don't know of any providers that are returning authorization
>> URLs in 401 responses right now.  That's novel, too.
>>
>>
>>
>
> That's novel, yes. But I think no one did it before because there was no
> need to do so. BASIC and DIGEST don't require authorization endpoint
> coordinates. SPNEGO/Kerberos would be a candidate because of its
> architecture, but it uses the standard Kerberos mechanisms (config or
> DNS-based discovery via SRV records).
>
> I think there is a need for a standardized way of authorization server
> discovery. Using the WWW-Authentication header is better than nothing fro=
m
> my point of view.
>
> Alternatively, resource servers could publish their supported
> authentication servers via XRD or a similar mechanism. The authorization
> server in turn could publish its endpoints (and capabilities) the same wa=
y.
>
> regards,
> Torsten.
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--000325564916564d1c04853cc897
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

The old AOL Blogs API, which used AOL&#39;s OpenAuth service, provided a ur=
l=3D parameter on WWW-Authenticate: challenges:<div><br></div><div><a href=
=3D"http://dev.estage.aol.com/aolblogs_api#mozTocId815750">dev.estage.aol.c=
om/aolblogs_api#mozTocId815750</a></div>

<div><br></div><div><a href=3D"http://webcache.googleusercontent.com/search=
?q=3Dcache:VD8dYmqAaREJ:dev.estage.aol.com/aolblogs_api+AOL+OpenAuth+401+re=
sponse+WWW-Authenticate&amp;cd=3D9&amp;hl=3Den&amp;ct=3Dclnk&amp;gl=3Dus"><=
/a><ul style=3D"margin-top: 1em; margin-right: 0px; margin-bottom: 1em; mar=
gin-left: 0px; padding-left: 2em; list-style-type: disc; font-family: Arial=
, Helvetica, sans-serif; font-size: 8.33333px; color: rgb(51, 51, 51); ">

<li style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin=
-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padd=
ing-left: 0px; "><font class=3D"Apple-style-span" color=3D"#000000"><span c=
lass=3D"Apple-style-span" style=3D"background-color: rgb(255, 255, 255);">=
=A0If authorization fails, a=A0</span></font><font class=3D"Apple-style-spa=
n" color=3D"#000000"><span class=3D"Apple-style-span" style=3D"background-c=
olor: rgb(255, 255, 255);">401</span></font><font class=3D"Apple-style-span=
" color=3D"#000000"><span class=3D"Apple-style-span" style=3D"background-co=
lor: rgb(255, 255, 255);">=A0</span></font><font class=3D"Apple-style-span"=
 color=3D"#000000"><span class=3D"Apple-style-span" style=3D"background-col=
or: rgb(255, 255, 255);">response</span></font><font class=3D"Apple-style-s=
pan" color=3D"#000000"><span class=3D"Apple-style-span" style=3D"background=
-color: rgb(255, 255, 255);">=A0is returned with a=A0</span></font><font cl=
ass=3D"Apple-style-span" color=3D"#000000"><span class=3D"Apple-style-span"=
 style=3D"background-color: rgb(255, 255, 255);">WWW-Authenticate</span></f=
ont><font class=3D"Apple-style-span" color=3D"#000000"><span class=3D"Apple=
-style-span" style=3D"background-color: rgb(255, 255, 255);">: header provi=
ding additional details.</span></font></li>

</ul><div style=3D"margin-left: 80px; font-family: Arial, Helvetica, sans-s=
erif; font-size: 8.33333px; color: rgb(51, 51, 51); "><code style=3D"font-s=
ize: 1.1em; font-family: &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier N=
ew&#39;, monospace; "><font class=3D"Apple-style-span" color=3D"#000000"><s=
pan class=3D"Apple-style-span" style=3D"background-color: rgb(255, 255, 255=
);">WWW-Authenticate</span></font><font class=3D"Apple-style-span" color=3D=
"#000000"><span class=3D"Apple-style-span" style=3D"background-color: rgb(2=
55, 255, 255);">:=A0</span></font><font class=3D"Apple-style-span" color=3D=
"#000000"><span class=3D"Apple-style-span" style=3D"background-color: rgb(2=
55, 255, 255);">OpenAuth</span></font><font class=3D"Apple-style-span" colo=
r=3D"#000000"><span class=3D"Apple-style-span" style=3D"background-color: r=
gb(255, 255, 255);">=A0realm=3D&quot;AOLBlogs&quot;, status=3D&quot;</span>=
</font><font class=3D"Apple-style-span" color=3D"#000000"><span class=3D"Ap=
ple-style-span" style=3D"background-color: rgb(255, 255, 255);">status</spa=
n></font><font class=3D"Apple-style-span" color=3D"#000000"><span class=3D"=
Apple-style-span" style=3D"background-color: rgb(255, 255, 255);">&quot;, m=
sg=3D&quot;message&quot;, url=3D&quot;</span></font><font class=3D"Apple-st=
yle-span" color=3D"#000000"><span class=3D"Apple-style-span" style=3D"backg=
round-color: rgb(255, 255, 255);">url</span></font><font class=3D"Apple-sty=
le-span" color=3D"#000000"><span class=3D"Apple-style-span" style=3D"backgr=
ound-color: rgb(255, 255, 255);">&quot;</span></font></code></div>

<div><br></div><div>This is from 2007 ;).</div><br><div class=3D"gmail_quot=
e">On Tue, Apr 27, 2010 at 11:49 AM, Torsten Lodderstedt <span dir=3D"ltr">=
&lt;<a href=3D"mailto:torsten@lodderstedt.net">torsten@lodderstedt.net</a>&=
gt;</span> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">Am 24.04.2010 02:05, schrieb Brian Eaton:<d=
iv class=3D"im"><br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
On Thu, Apr 22, 2010 at 6:11 PM, Manger, James H<br>
&lt;<a href=3D"mailto:James.H.Manger@team.telstra.com" target=3D"_blank">Ja=
mes.H.Manger@team.telstra.com</a>&gt; =A0wrote:<br>
 =A0 <br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
We mustn&#39;t drop advertisements (details in 401 responses).<br>
We mustn&#39;t drop the goal of a standard for interoperability.<br>
 =A0 =A0 <br>
</blockquote>
I share the goals, I just don&#39;t think that a specification is the way<b=
r>
to get there. =A0I think working examples in the wild would help<br>
enormously.<br>
<br>
 =A0 <br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
Defining a scope field in a 401 response is the novel aspect that =93might =
not actually work=94. Allowing a &#39;scope&#39; query parameter in authz U=
RIs is be quite separate.<br>
 =A0 =A0 <br>
</blockquote>
Yeah, I agree with that analysis.<br>
<br>
Though I don&#39;t know of any providers that are returning authorization<b=
r>
URLs in 401 responses right now. =A0That&#39;s novel, too.<br>
<br>
 =A0 <br>
</blockquote>
<br></div>
That&#39;s novel, yes. But I think no one did it before because there was n=
o need to do so. BASIC and DIGEST don&#39;t require authorization endpoint =
coordinates. SPNEGO/Kerberos would be a candidate because of its architectu=
re, but it uses the standard Kerberos mechanisms (config or DNS-based disco=
very via SRV records).<br>


<br>
I think there is a need for a standardized way of authorization server disc=
overy. Using the WWW-Authentication header is better than nothing from my p=
oint of view.<br>
<br>
Alternatively, resource servers could publish their supported authenticatio=
n servers via XRD or a similar mechanism. The authorization server in turn =
could publish its endpoints (and capabilities) the same way.<br>
<br>
regards,<br><font color=3D"#888888">
Torsten.</font><div><div></div><div class=3D"h5"><br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br></div>

--000325564916564d1c04853cc897--

From Bill_Keenan@intuit.com  Tue Apr 27 12:40:05 2010
Return-Path: <Bill_Keenan@intuit.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C4CCD3A6A21 for <oauth@core3.amsl.com>; Tue, 27 Apr 2010 12:40:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.196
X-Spam-Level: 
X-Spam-Status: No, score=-6.196 tagged_above=-999 required=5 tests=[AWL=0.402,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cK66kmfea0JS for <oauth@core3.amsl.com>; Tue, 27 Apr 2010 12:40:00 -0700 (PDT)
Received: from mail2.intuit.com (mail2.intuit.com [12.149.175.12]) by core3.amsl.com (Postfix) with ESMTP id 9699728C12B for <oauth@ietf.org>; Tue, 27 Apr 2010 12:40:00 -0700 (PDT)
DomainKey-Signature: s=default; d=intuit.com; c=nofws; q=dns; h=X-SBRS:X-IronPort-AV:Received:Received:X-MimeOLE: Content-class:MIME-Version:Content-Type:Subject:Date: Message-ID:In-Reply-To:X-MS-Has-Attach: X-MS-TNEF-Correlator:Thread-Topic:Thread-Index:References: From:To:Return-Path:X-OriginalArrivalTime; b=gcc6rey76NUDz42OCmlWemlc/PQq2MMIHFxiYE3OONJikRtgjBSrUatI mAekiacJL5MNOO6uJauUVyiCM4bG9cFrM4xuVQibGvYB5dn4xAHoAj46+ kYRk6ULmx8a1kUB;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=intuit.com; i=Bill_Keenan@intuit.com; q=dns/txt; s=default; t=1272397188; x=1303933188; h=from:sender:reply-to:subject:date:message-id:to:cc: mime-version:content-transfer-encoding:content-id: content-description:resent-date:resent-from:resent-sender: resent-to:resent-cc:resent-message-id:in-reply-to: references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:list-owner:list-archive; z=From:=20"Keenan,=20Bill"=20<Bill_Keenan@intuit.com> |Subject:=20RE:=20[OAUTH-WG]=20'Scope'=20parameter=20prop osal|Date:=20Tue,=2027=20Apr=202010=2012:39:47=20-0700 |Message-ID:=20<5DEB74B3E9FA574EAA911DB8167C559E04425EF3@ SDGEXEVS12.corp.intuit.net>|To:=20"OAuth=20WG"=20<oauth@i etf.org>|MIME-Version:=201.0|In-Reply-To:=20<i2qcb5f7a381 004271219k6b58114dx1df549847f172edc@mail.gmail.com> |References:=20<C7F1D1FC.32809%eran@hueniverse.com><g2mda f5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com ><BB02FD4F-071E-4FF5-B3D0-F8D3FA22FEEE@jkemp.net><90C41DD 21FB7C64BB94121FBBC2E723438E5C7FD26@P3PW5EX1MB01.EX1.SECU RESERVER.NET><h2ldaf5b9571004221235tb844eb6ah623955979526 c1b6@mail.gmail.com>=20<90C41DD21FB7C64BB94121FBBC2E72343 8E5C7FD4A@P3PW5EX1MB01.EX1.SECURESERVER.NET><l2idaf5b9571 004221350oa0dbeb11ndeb4cb9147407ba9@mail.gmail.com>=20<25 5B9BB34FB7D647A506DC292726F6E1125793664B@WSMSG3153V.srv.d ir.telstra.com><w2sdaf5b9571004231705jbff1ae6dz70fd966f09 1502b3@mail.gmail.com>=20<4BD731A0.8090105@lodderstedt.ne t>=20<i2qcb5f7a381004271219k6b58114dx1df549847f172edc@mai l.gmail.com>; bh=4XoBYPBCssiW1gIuXNIbGouhZB2dvHf3Pf9b/a22i/c=; b=dvd8nYHmEY91mC4Kq8OrYRjV9/K5/1HCUWZjYdK2w/eKU9uVYqeVOah5 4MJEPXb3PH56Hp8/Mln0lmEOCoP0eTpsIJ6C0uNWPcyZUaHmKTgyyggeX n5wCl6RT9rsvAql;
X-SBRS: None
X-IronPort-AV: E=Sophos;i="4.52,282,1270450800";  d="scan'208,217";a="180270446"
Received: from sdgexbh03.corp.intuit.net ([172.17.135.77]) by mail2.sdg.ie.intuit.com with ESMTP; 27 Apr 2010 12:39:48 -0700
Received: from SDGEXEVS12.corp.intuit.net ([172.17.135.111]) by SDGEXBH03.corp.intuit.net with Microsoft SMTPSVC(6.0.3790.3959); Tue, 27 Apr 2010 12:39:48 -0700
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01CAE641.65836297"
Date: Tue, 27 Apr 2010 12:39:47 -0700
Message-ID: <5DEB74B3E9FA574EAA911DB8167C559E04425EF3@SDGEXEVS12.corp.intuit.net>
In-Reply-To: <i2qcb5f7a381004271219k6b58114dx1df549847f172edc@mail.gmail.com>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: [OAUTH-WG] 'Scope' parameter proposal
Thread-Index: AcrmPrZ2fdTuhKk1S8ykqbObjjxxswAAFSYg
References: <C7F1D1FC.32809%eran@hueniverse.com><g2mdaf5b9571004221036j5d6837f6z4d7959d69a3cbb2b@mail.gmail.com><BB02FD4F-071E-4FF5-B3D0-F8D3FA22FEEE@jkemp.net><90C41DD21FB7C64BB94121FBBC2E723438E5C7FD26@P3PW5EX1MB01.EX1.SECURESERVER.NET><h2ldaf5b9571004221235tb844eb6ah623955979526c1b6@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E5C7FD4A@P3PW5EX1MB01.EX1.SECURESERVER.NET><l2idaf5b9571004221350oa0dbeb11ndeb4cb9147407ba9@mail.gmail.com> <255B9BB34FB7D647A506DC292726F6E1125793664B@WSMSG3153V.srv.dir.telstra.com><w2sdaf5b9571004231705jbff1ae6dz70fd966f091502b3@mail.gmail.com> <4BD731A0.8090105@lodderstedt.net> <i2qcb5f7a381004271219k6b58114dx1df549847f172edc@mail.gmail.com>
From: "Keenan, Bill" <Bill_Keenan@intuit.com>
To: "OAuth WG" <oauth@ietf.org>
X-OriginalArrivalTime: 27 Apr 2010 19:39:48.0331 (UTC) FILETIME=[657B1BB0:01CAE641]
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Apr 2010 19:40:05 -0000

This is a multi-part message in MIME format.

------_=_NextPart_001_01CAE641.65836297
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

The amount of writing done on scope the past few weeks indicates this
concept generates a lot of passion. I hope we will spend some time on it
during IIW X and at our 20-May f2f.

=20

For me, delegation is an identity in my system authorizing my system to
issue a toke to an identity, which is not in my system. The rights and
privileges attached to the token will almost never be the same as the
authorizing user. [My colleague, Tom Holodnik, is working on a user
story around tax return data you must share with the financial aid
department at a university your child is applying to.] My current
thinking is to present a set of constraints in the UI presented to the
authorizing user. Our systems would maintain these constrains - others
may choose to encode the constraints into their opaque token. I'm having
a hard time seeing how I can trust the scope parameter passed in by a
delegate. Even if I could trust the passed in scope, it does not help me
with access control of a complex entity model (e.g., tax return). I
still need some other mechanism for access control, and I'm concerned
scope defined in the specification may create unintended conflict cases
with my access control model.

=20

BillK

=20

From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
Of John Panzer
Sent: Tuesday, April 27, 2010 12:20 PM
To: Torsten Lodderstedt
Cc: OAuth WG
Subject: Re: [OAUTH-WG] 'Scope' parameter proposal

=20

The old AOL Blogs API, which used AOL's OpenAuth service, provided a
url=3D parameter on WWW-Authenticate: challenges:

=20

dev.estage.aol.com/aolblogs_api#mozTocId815750

=20

*          If authorization fails, a 401 response is returned with a
WWW-Authenticate: header providing additional details.

WWW-Authenticate: OpenAuth realm=3D"AOLBlogs", status=3D"status",
msg=3D"message", url=3D"url"

=20

This is from 2007 ;).

=20

On Tue, Apr 27, 2010 at 11:49 AM, Torsten Lodderstedt
<torsten@lodderstedt.net> wrote:

Am 24.04.2010 02:05, schrieb Brian Eaton:

	=20

	On Thu, Apr 22, 2010 at 6:11 PM, Manger, James H
	<James.H.Manger@team.telstra.com>  wrote:
	 =20

	We mustn't drop advertisements (details in 401 responses).
	We mustn't drop the goal of a standard for interoperability.
	   =20

	I share the goals, I just don't think that a specification is
the way
	to get there.  I think working examples in the wild would help
	enormously.
=09
	 =20

	Defining a scope field in a 401 response is the novel aspect
that "might not actually work". Allowing a 'scope' query parameter in
authz URIs is be quite separate.
	   =20

	Yeah, I agree with that analysis.
=09
	Though I don't know of any providers that are returning
authorization
	URLs in 401 responses right now.  That's novel, too.
=09
	 =20

=20

That's novel, yes. But I think no one did it before because there was no
need to do so. BASIC and DIGEST don't require authorization endpoint
coordinates. SPNEGO/Kerberos would be a candidate because of its
architecture, but it uses the standard Kerberos mechanisms (config or
DNS-based discovery via SRV records).

I think there is a need for a standardized way of authorization server
discovery. Using the WWW-Authentication header is better than nothing
from my point of view.

Alternatively, resource servers could publish their supported
authentication servers via XRD or a similar mechanism. The authorization
server in turn could publish its endpoints (and capabilities) the same
way.

regards,
Torsten.



_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

=20


------_=_NextPart_001_01CAE641.65836297
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:x=3D"urn:schemas-microsoft-com:office:excel" =
xmlns:p=3D"urn:schemas-microsoft-com:office:powerpoint" =
xmlns:a=3D"urn:schemas-microsoft-com:office:access" =
xmlns:dt=3D"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" =
xmlns:s=3D"uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" =
xmlns:rs=3D"urn:schemas-microsoft-com:rowset" xmlns:z=3D"#RowsetSchema" =
xmlns:b=3D"urn:schemas-microsoft-com:office:publisher" =
xmlns:ss=3D"urn:schemas-microsoft-com:office:spreadsheet" =
xmlns:c=3D"urn:schemas-microsoft-com:office:component:spreadsheet" =
xmlns:odc=3D"urn:schemas-microsoft-com:office:odc" =
xmlns:oa=3D"urn:schemas-microsoft-com:office:activation" =
xmlns:html=3D"http://www.w3.org/TR/REC-html40" =
xmlns:q=3D"http://schemas.xmlsoap.org/soap/envelope/" =
xmlns:rtc=3D"http://microsoft.com/officenet/conferencing" =
xmlns:D=3D"DAV:" xmlns:Repl=3D"http://schemas.microsoft.com/repl/" =
xmlns:mt=3D"http://schemas.microsoft.com/sharepoint/soap/meetings/" =
xmlns:x2=3D"http://schemas.microsoft.com/office/excel/2003/xml" =
xmlns:ppda=3D"http://www.passport.com/NameSpace.xsd" =
xmlns:ois=3D"http://schemas.microsoft.com/sharepoint/soap/ois/" =
xmlns:dir=3D"http://schemas.microsoft.com/sharepoint/soap/directory/" =
xmlns:ds=3D"http://www.w3.org/2000/09/xmldsig#" =
xmlns:dsp=3D"http://schemas.microsoft.com/sharepoint/dsp" =
xmlns:udc=3D"http://schemas.microsoft.com/data/udc" =
xmlns:xsd=3D"http://www.w3.org/2001/XMLSchema" =
xmlns:sub=3D"http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/"=
 xmlns:ec=3D"http://www.w3.org/2001/04/xmlenc#" =
xmlns:sp=3D"http://schemas.microsoft.com/sharepoint/" =
xmlns:sps=3D"http://schemas.microsoft.com/sharepoint/soap/" =
xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance" =
xmlns:udcs=3D"http://schemas.microsoft.com/data/udc/soap" =
xmlns:udcxf=3D"http://schemas.microsoft.com/data/udc/xmlfile" =
xmlns:udcp2p=3D"http://schemas.microsoft.com/data/udc/parttopart" =
xmlns:wf=3D"http://schemas.microsoft.com/sharepoint/soap/workflow/" =
xmlns:dsss=3D"http://schemas.microsoft.com/office/2006/digsig-setup" =
xmlns:dssi=3D"http://schemas.microsoft.com/office/2006/digsig" =
xmlns:mdssi=3D"http://schemas.openxmlformats.org/package/2006/digital-sig=
nature" =
xmlns:mver=3D"http://schemas.openxmlformats.org/markup-compatibility/2006=
" xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns:mrels=3D"http://schemas.openxmlformats.org/package/2006/relationshi=
ps" xmlns:spwp=3D"http://microsoft.com/sharepoint/webpartpages" =
xmlns:ex12t=3D"http://schemas.microsoft.com/exchange/services/2006/types"=
 =
xmlns:ex12m=3D"http://schemas.microsoft.com/exchange/services/2006/messag=
es" =
xmlns:pptsl=3D"http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/=
" =
xmlns:spsl=3D"http://microsoft.com/webservices/SharePointPortalServer/Pub=
lishedLinksService" xmlns:Z=3D"urn:schemas-microsoft-com:" =
xmlns:st=3D"&#1;" xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:Verdana;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
code
	{mso-style-priority:99;
	font-family:"Courier New";}
span.apple-style-span
	{mso-style-name:apple-style-span;}
span.EmailStyle19
	{mso-style-type:personal-reply;
	font-family:"Verdana","sans-serif";
	color:#365EBF;
	font-weight:normal;
	font-style:normal;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:634214073;
	mso-list-template-ids:-1788950942;}
@list l0:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;font-family:"Verdana","sans-serif";
color:#365EBF'>The amount of writing done on scope the past few weeks =
indicates
this concept generates a lot of passion. I hope we will spend some time =
on it
during IIW X and at our 20-May f2f.<o:p></o:p></span></p>

<p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;font-family:"Verdana","sans-serif";
color:#365EBF'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;font-family:"Verdana","sans-serif";
color:#365EBF'>For me, delegation is an identity in my system =
authorizing my
system to issue a toke to an identity, which is not in my system. The =
rights
and privileges attached to the token will almost never be the same as =
the authorizing
user. [My colleague, Tom Holodnik, is working on a user story around tax =
return
data you must share with the financial aid department at a university =
your
child is applying to.] My current thinking is to present a set of =
constraints in
the UI presented to the authorizing user. Our systems would maintain =
these
constrains &#8211; others may choose to encode the constraints into =
their
opaque token. I&#8217;m having a hard time seeing how I can trust the =
scope
parameter passed in by a delegate. Even if I could trust the passed in =
scope,
it does not help me with access control of a complex entity model (e.g., =
tax
return). I still need some other mechanism for access control, and =
I&#8217;m
concerned scope defined in the specification may create unintended =
conflict
cases with my access control model.<o:p></o:p></span></p>

<p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;font-family:"Verdana","sans-serif";
color:#365EBF'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;font-family:"Verdana","sans-serif";
color:#365EBF'>BillK<o:p></o:p></span></p>

<p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;font-family:"Verdana","sans-serif";
color:#365EBF'><o:p>&nbsp;</o:p></span></p>

<div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt =
0in 0in 0in'>

<p class=3DMsoNormal><b><span =
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span>=
</b><span
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] <b>On Behalf Of =
</b>John
Panzer<br>
<b>Sent:</b> Tuesday, April 27, 2010 12:20 PM<br>
<b>To:</b> Torsten Lodderstedt<br>
<b>Cc:</b> OAuth WG<br>
<b>Subject:</b> Re: [OAUTH-WG] 'Scope' parameter =
proposal<o:p></o:p></span></p>

</div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

<p class=3DMsoNormal>The old AOL Blogs API, which used AOL's OpenAuth =
service,
provided a url=3D parameter on WWW-Authenticate: =
challenges:<o:p></o:p></p>

<div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=3DMsoNormal><a
href=3D"http://dev.estage.aol.com/aolblogs_api#mozTocId815750">dev.estage=
.aol.com/aolblogs_api#mozTocId815750</a><o:p></o:p></p>

</div>

<div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=3DMsoNormal =
style=3D'margin-left:0in;text-indent:-.25in;mso-list:l0 level1 =
lfo1'><![if !supportLists]><span
style=3D'font-size:10.0pt;font-family:Symbol;color:#333333'><span
style=3D'mso-list:Ignore'>&middot;<span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span class=3Dapple-style-span><span
style=3D'font-size:6.0pt;font-family:"Arial","sans-serif";color:black;bac=
kground:
white'>&nbsp;If authorization fails, a&nbsp;401&nbsp;response&nbsp;is =
returned
with a&nbsp;WWW-Authenticate: header providing additional =
details.</span></span><span
style=3D'font-size:6.0pt;font-family:"Arial","sans-serif";color:#333333'>=
<o:p></o:p></span></p>

<div style=3D'margin-left:60.0pt'>

<p class=3DMsoNormal><span class=3Dapple-style-span><span =
style=3D'font-size:6.5pt;
font-family:"Courier =
New";color:black;background:white'>WWW-Authenticate:&nbsp;OpenAuth&nbsp;r=
ealm=3D&quot;AOLBlogs&quot;,
status=3D&quot;status&quot;, msg=3D&quot;message&quot;, =
url=3D&quot;url&quot;</span></span><span
style=3D'font-size:6.0pt;font-family:"Arial","sans-serif";color:#333333'>=
<o:p></o:p></span></p>

</div>

<div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=3DMsoNormal>This is from 2007 ;).<o:p></o:p></p>

</div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

<div>

<p class=3DMsoNormal>On Tue, Apr 27, 2010 at 11:49 AM, Torsten =
Lodderstedt &lt;<a
href=3D"mailto:torsten@lodderstedt.net">torsten@lodderstedt.net</a>&gt; =
wrote:<o:p></o:p></p>

<p class=3DMsoNormal>Am 24.04.2010 02:05, schrieb Brian =
Eaton:<o:p></o:p></p>

<div>

<blockquote style=3D'border:none;border-left:solid #CCCCCC =
1.0pt;padding:0in 0in 0in 6.0pt;
margin-left:4.8pt;margin-right:0in'>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

<p class=3DMsoNormal>On Thu, Apr 22, 2010 at 6:11 PM, Manger, James =
H<br>
&lt;<a href=3D"mailto:James.H.Manger@team.telstra.com" =
target=3D"_blank">James.H.Manger@team.telstra.com</a>&gt;
&nbsp;wrote:<br>
&nbsp; <o:p></o:p></p>

<p class=3DMsoNormal>We mustn't drop advertisements (details in 401 =
responses).<br>
We mustn't drop the goal of a standard for interoperability.<br>
&nbsp; &nbsp; <o:p></o:p></p>

<p class=3DMsoNormal>I share the goals, I just don't think that a =
specification
is the way<br>
to get there. &nbsp;I think working examples in the wild would help<br>
enormously.<br>
<br>
&nbsp; <o:p></o:p></p>

<p class=3DMsoNormal>Defining a scope field in a 401 response is the =
novel aspect
that &#8220;might not actually work&#8221;. Allowing a 'scope' query =
parameter
in authz URIs is be quite separate.<br>
&nbsp; &nbsp; <o:p></o:p></p>

<p class=3DMsoNormal>Yeah, I agree with that analysis.<br>
<br>
Though I don't know of any providers that are returning =
authorization<br>
URLs in 401 responses right now. &nbsp;That's novel, too.<br>
<br>
&nbsp; <o:p></o:p></p>

</blockquote>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

</div>

<p class=3DMsoNormal>That's novel, yes. But I think no one did it before =
because
there was no need to do so. BASIC and DIGEST don't require authorization
endpoint coordinates. SPNEGO/Kerberos would be a candidate because of =
its
architecture, but it uses the standard Kerberos mechanisms (config or =
DNS-based
discovery via SRV records).<br>
<br>
I think there is a need for a standardized way of authorization server
discovery. Using the WWW-Authentication header is better than nothing =
from my
point of view.<br>
<br>
Alternatively, resource servers could publish their supported =
authentication
servers via XRD or a similar mechanism. The authorization server in turn =
could
publish its endpoints (and capabilities) the same way.<br>
<br>
regards,<br>
<span style=3D'color:#888888'>Torsten.</span><o:p></o:p></p>

<div>

<div>

<p class=3DMsoNormal><br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" =
target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" =
target=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><o:p></o=
:p></p>

</div>

</div>

</div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

</div>

</div>

</body>

</html>

------_=_NextPart_001_01CAE641.65836297--

From atom@yahoo-inc.com  Tue Apr 27 16:26:12 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 311EE3A6A34 for <oauth@core3.amsl.com>; Tue, 27 Apr 2010 16:26:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.329
X-Spam-Level: 
X-Spam-Status: No, score=-14.329 tagged_above=-999 required=5 tests=[AWL=-0.874, BAYES_40=-0.185, IP_NOT_FRIENDLY=0.334, MIME_QP_LONG_LINE=1.396, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VSPE+Jr5oVBW for <oauth@core3.amsl.com>; Tue, 27 Apr 2010 16:26:11 -0700 (PDT)
Received: from mrout1-b.corp.re1.yahoo.com (mrout1-b.corp.re1.yahoo.com [69.147.107.20]) by core3.amsl.com (Postfix) with ESMTP id 1C7433A69E9 for <oauth@ietf.org>; Tue, 27 Apr 2010 16:26:11 -0700 (PDT)
Received: from SNV-EXPF01.ds.corp.yahoo.com (snv-expf01.ds.corp.yahoo.com [207.126.227.250]) by mrout1-b.corp.re1.yahoo.com (8.13.8/8.13.8/y.out) with ESMTP id o3RNPfhD083963; Tue, 27 Apr 2010 16:25:42 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:message-id: thread-topic:thread-index:in-reply-to:mime-version:content-type: content-transfer-encoding:return-path:x-originalarrivaltime; b=Q25qyadbgfzeW7xkG4r5FjGln+WBpQjVX63py7GtpT3+HjpfpnGPhGftcSDk9PAt
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXPF01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.4675);  Tue, 27 Apr 2010 16:25:41 -0700
Received: from 172.21.149.123 ([172.21.149.123]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.60]) with Microsoft Exchange Server HTTP-DAV ;  Tue, 27 Apr 2010 23:25:16 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Tue, 27 Apr 2010 16:25:09 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: Brian Eaton <beaton@google.com>, <oauth@ietf.org>
Message-ID: <C7FCC065.2CBAF%atom@yahoo-inc.com>
Thread-Topic: [OAUTH-WG] username password delegation profile
Thread-Index: AcrmYOBtSpGFPvfh00+TuXxraF3UEQ==
In-Reply-To: <q2gdaf5b9571004221744ya2323eaav8cc1394af5d32b85@mail.gmail.com>
Mime-version: 1.0
Content-type: text/plain; charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable
X-OriginalArrivalTime: 27 Apr 2010 23:25:41.0239 (UTC) FILETIME=[F3A4C070:01CAE660]
Subject: Re: [OAUTH-WG] username password delegation profile
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Apr 2010 23:26:12 -0000

Hi Brian,

1) Telling the user to go to an error URL using a separate browser is
reasonable and will work most of the time. There are some cases (especially
for mobile devices) where it might be tricky to resolve issues if the user'=
s
mobile device and desktop browser are on different subnets (or are in
different countries!) but this is probably the best compromise.

2) At least in Yahoo's case, we will definitely be issuing a Refresh Token
for all flows.

Allen



On 4/22/10 5:44 PM, "Brian Eaton" <beaton@google.com> wrote:

> A couple of comments on this profile.
>=20
> 1) Error URL
>=20
> I noticed that there was wide consensus that returning a
> captcha-specific error was not going to be useful.  That matches our
> experience with ClientLogin [1] - very few developers properly handle
> captcha.  And if a developer is sophisticated enough to handle
> Captchas, I would rather they just used a web browser in the first
> place.
>=20
> However, lots of developers do tell users to visit the URL we return
> in our error response.  This is often sufficient to resolve whatever
> problems are happening with the user=B9s account.  So I=B9d like to see an
> optional =B3url=B2 parameter returned with the =B3invalid_credentials=B2 error
> code.  Clients should instruct the user to visit that URL.
>=20
> 2) Is anyone actually going to implement this flow and not return a
> refresh token?
>=20
> Cheers,
> Brian
>=20
> [1] http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From cmortimore@salesforce.com  Tue Apr 27 17:46:56 2010
Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E8AB23A69C3 for <oauth@core3.amsl.com>; Tue, 27 Apr 2010 17:46:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.927
X-Spam-Level: 
X-Spam-Status: No, score=-5.927 tagged_above=-999 required=5 tests=[AWL=-0.135, BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, SARE_URI_CONS7=0.306, URI_NOVOWEL=0.5]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VES80G+lnt7w for <oauth@core3.amsl.com>; Tue, 27 Apr 2010 17:46:50 -0700 (PDT)
Received: from exprod8og104.obsmtp.com (exprod8og104.obsmtp.com [64.18.3.88]) by core3.amsl.com (Postfix) with SMTP id D65DF3A62C1 for <oauth@ietf.org>; Tue, 27 Apr 2010 17:46:49 -0700 (PDT)
Received: from source ([204.14.239.238]) by exprod8ob104.postini.com ([64.18.7.12]) with SMTP ID DSNKS9eFbe/l6kQIhP8jz6sTK/tnsG4t508A@postini.com; Tue, 27 Apr 2010 17:46:37 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub3.internal.salesforce.com ([10.1.127.7]) with mapi; Tue, 27 Apr 2010 17:46:30 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: "Keenan, Bill" <Bill_Keenan@intuit.com>, OAuth WG <oauth@ietf.org>
Date: Tue, 27 Apr 2010 17:46:29 -0700
Thread-Topic: [OAUTH-WG] Autonomous clients and resource owners (editorial)
Thread-Index: AcrmIscm/BOC6W7iSh+JMT0dgGCAkgAALcx1AAY05pAAC/rNUA==
Message-ID: <C7FCD375.4675%cmortimore@salesforce.com>
In-Reply-To: <5DEB74B3E9FA574EAA911DB8167C559E04425EBE@SDGEXEVS12.corp.intuit.net>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C7FCD3754675cmortimoresalesforcecom_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Autonomous clients and resource owners (editorial)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Apr 2010 00:46:57 -0000

--_000_C7FCD3754675cmortimoresalesforcecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Refresh token was explicitly removed from the suggestion I made for asserti=
on flow.   I'd be curious if others on the list see a need for it...?

Eran - do you expect to make edits to the assertion flow before pushing the=
 working group draft?

-cmort



On 4/27/10 12:14 PM, "Keenan, Bill" <Bill_Keenan@intuit.com> wrote:

With Doug in an all day mtg, we have not sync'd on this...so one of us
may respond again on this topic.

I think I am +1 w/ Brian E.

In the flow from SAML gateway to STS to protected resource, I don't see
caching both an access and refresh token as getting me any efficiency.
Certainly, it adds complexity to regression testing.

I appreciate the desire for symmetry on the set of flows...refresh token
seems like a place for asymmetry.

BillK

-----Original Message-----
From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
Of Chuck Mortimore
Sent: Tuesday, April 27, 2010 9:06 AM
To: Torsten Lodderstedt; Brian Eaton
Cc: Foiles, Doug; OAuth WG
Subject: Re: [OAUTH-WG] Autonomous clients and resource owners
(editorial)

Same here - we don't intend to issue refresh tokens for either of these
flows, and we'll only be accepting 1 time use assertions.

-cmort
________________________________________
From: Torsten Lodderstedt [torsten@lodderstedt.net]
Sent: Tuesday, April 27, 2010 9:00 AM
To: Brian Eaton
Cc: Chuck Mortimore; Foiles, Doug; OAuth WG
Subject: Re: [OAUTH-WG] Autonomous clients and resource owners
(editorial)

returning access token would suffice in this flow, from my point of
view.

regards,
Torsten.


Am 27.04.2010 um 08:33 schrieb Brian Eaton <beaton@google.com>:

> From my perspective, the main thing is that the assertion flow can be
> used to connect existing authentication systems with APIs that are
> using OAuth2 for authorization.
>
> This will let us leverage existing trust relationships across systems.
>
> Note that this breaks, however, if the flow returns a refresh token.
> Refresh tokens are a new trust relationship, and they require
> additional user/administrator involvement to manage.
>
> Cheers,
> Brian
>
> On Mon, Apr 26, 2010 at 10:23 PM, Torsten Lodderstedt
> <torsten@lodderstedt.net> wrote:
>> +1
>>
>> we need the assertion flow for the same purpose. Can we add a
>> variant of the
>> flow to section "End User Credentials Flows"?
>>
>> regards,
>> Torsten.
>>
>> Am 26.04.2010 23:17, schrieb Chuck Mortimore:
>>
>> +1.
>>
>> Our primary use-cases for the assertion flow are for clients acting
>> on
>> behalf of users, and not autonomously.   I believe Eran already has
>> this on
>> his list of feedback when the assertion flow gets edited.
>>
>> We also have need for a 2 legged Oauth model, and are looking at
>> the client
>> credentials flow for exactly that purpose.
>>
>> -cmort
>>
>>
>> On 4/25/10 10:34 AM, "Foiles, Doug" <Doug_Foiles@intuit.com> wrote:
>>
>> I have a bit of confusion on the Autonomous Client Flows ... and spe
>> cifically
>> related to Eve's comment below that suggests to me that the autono
>> mous
>> client is NOT ALWAYS the resource owner.
>>
>> Can the Autonomous Client Flows support clients that ARE NOT the
>> actual
>> resource owner?  For example for an Assertion Flow where the
>> Subject of the
>> SAML assertion is a user identity (and the resource owner) and not
>> that of
>> the client.
>>
>> Is the intent of the Client Credentials Flow to support something
>> like
>> Google's "OAuth for Google Apps domains" 2 Legged OAuth use ca
>> se?
>>  http://code.google.com/apis/accounts/docs/OAuth.html.
>>
>> If the Autonomous Client Flows support clients that can act on
>> behalf a
>> resource owner that is not themselves  ... it then seems the resourc
>> e owner
>> must provide some level of consent outside the OAuth specific flow.
>>
>> Thanks.
>>
>> Doug
>>
>>
>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
>> Behalf Of
>> Eve Maler
>> Sent: Friday, April 23, 2010 7:21 AM
>> To: OAuth WG
>> Subject: [OAUTH-WG] Autonomous clients and resource owners
>> (editorial)
>>
>>
>> Regarding the second comment I made below: I realized last night that
>> Sections 3.7.1 and 3.7.2 get this more correct, by saying that an
>> autonomous
>> client represents a "separate resource owner". So Section 2.2
>> definitely
>> needs a slight change, from:
>>
>>
>>
>> "...and autonomous flows where the client is acting for itself (the
>> client
>> is also the resource owner)."
>>
>>
>>
>> to something like:
>>
>>
>>
>> "...and autonomous flows where the client is acting on behalf of a
>> different
>> resource owner."
>>
>>
>>
>> Thanks,
>>
>>
>>
>>             Eve
>>
>>
>>
>> On 21 Apr 2010, at 4:43 PM, Eve Maler wrote:
>>
>>
>> Tacking this response to the end of the thread for lack of a better
>> place to
>> do it: The name "username" seems not quite apt in the case of an
>> autonomous
>> client that isn't representing an end-user. Would "identifier" be
>> better?
>> (Actually, it sort of reminds me of SAML's "SessionIndex"...) Or
>> would the
>> parameter be reserved for user-delegation flows?
>>
>>
>>
>> Speaking of autonomous clients, Section 2.2 -- among possibly other
>> places
>> -- states that an autonomous client is also the resource owner, but
>> that's
>> not always the case, is it? The client might be seeking access on
>> behalf of
>> itself. (FWIW, I made roughly this same comment on David's first
>> draft on
>> March 21, and he agreed with my suggested fix at the time.)
>>
>>
>>
>>             Eve
>>
>>
>>
>> Eve Maler
>>
>> eve@xmlgrrl.com
>>
>> http://www.xmlgrrl.com/blog
>>
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


--_000_C7FCD3754675cmortimoresalesforcecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Autonomous clients and resource owners (editorial)</T=
ITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-size:11pt'>Refresh token w=
as explicitly removed from the suggestion I made for assertion flow. &nbsp;=
&nbsp;I&#8217;d be curious if others on the list see a need for it...?<BR>
<BR>
Eran &#8211; do you expect to make edits to the assertion flow before pushi=
ng the working group draft?<BR>
<BR>
-cmort<BR>
<BR>
<BR>
<BR>
On 4/27/10 12:14 PM, &quot;Keenan, Bill&quot; &lt;<a href=3D"Bill_Keenan@in=
tuit.com">Bill_Keenan@intuit.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Lucida Grande"><SPAN STYLE=3D'font-=
size:11pt'>With Doug in an all day mtg, we have not sync'd on this...so one=
 of us<BR>
may respond again on this topic.<BR>
<BR>
I think I am +1 w/ Brian E.<BR>
<BR>
In the flow from SAML gateway to STS to protected resource, I don't see<BR>
caching both an access and refresh token as getting me any efficiency.<BR>
Certainly, it adds complexity to regression testing.<BR>
<BR>
I appreciate the desire for symmetry on the set of flows...refresh token<BR=
>
seems like a place for asymmetry.<BR>
<BR>
BillK<BR>
<BR>
-----Original Message-----<BR>
From: <a href=3D"oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> [<a hre=
f=3D"mailto:oauth-bounces@ietf.org">mailto:oauth-bounces@ietf.org</a>] On B=
ehalf<BR>
Of Chuck Mortimore<BR>
Sent: Tuesday, April 27, 2010 9:06 AM<BR>
To: Torsten Lodderstedt; Brian Eaton<BR>
Cc: Foiles, Doug; OAuth WG<BR>
Subject: Re: [OAUTH-WG] Autonomous clients and resource owners<BR>
(editorial)<BR>
<BR>
Same here - we don't intend to issue refresh tokens for either of these<BR>
flows, and we'll only be accepting 1 time use assertions.<BR>
<BR>
-cmort<BR>
________________________________________<BR>
From: Torsten Lodderstedt [<a href=3D"torsten@lodderstedt.net">torsten@lodd=
erstedt.net</a>]<BR>
Sent: Tuesday, April 27, 2010 9:00 AM<BR>
To: Brian Eaton<BR>
Cc: Chuck Mortimore; Foiles, Doug; OAuth WG<BR>
Subject: Re: [OAUTH-WG] Autonomous clients and resource owners<BR>
(editorial)<BR>
<BR>
returning access token would suffice in this flow, from my point of<BR>
view.<BR>
<BR>
regards,<BR>
Torsten.<BR>
<BR>
<BR>
Am 27.04.2010 um 08:33 schrieb Brian Eaton &lt;<a href=3D"beaton@google.com=
">beaton@google.com</a>&gt;:<BR>
<BR>
&gt; From my perspective, the main thing is that the assertion flow can be<=
BR>
&gt; used to connect existing authentication systems with APIs that are<BR>
&gt; using OAuth2 for authorization.<BR>
&gt;<BR>
&gt; This will let us leverage existing trust relationships across systems.=
<BR>
&gt;<BR>
&gt; Note that this breaks, however, if the flow returns a refresh token.<B=
R>
&gt; Refresh tokens are a new trust relationship, and they require<BR>
&gt; additional user/administrator involvement to manage.<BR>
&gt;<BR>
&gt; Cheers,<BR>
&gt; Brian<BR>
&gt;<BR>
&gt; On Mon, Apr 26, 2010 at 10:23 PM, Torsten Lodderstedt<BR>
&gt; &lt;<a href=3D"torsten@lodderstedt.net">torsten@lodderstedt.net</a>&gt=
; wrote:<BR>
&gt;&gt; +1<BR>
&gt;&gt;<BR>
&gt;&gt; we need the assertion flow for the same purpose. Can we add a<BR>
&gt;&gt; variant of the<BR>
&gt;&gt; flow to section &quot;End User Credentials Flows&quot;?<BR>
&gt;&gt;<BR>
&gt;&gt; regards,<BR>
&gt;&gt; Torsten.<BR>
&gt;&gt;<BR>
&gt;&gt; Am 26.04.2010 23:17, schrieb Chuck Mortimore:<BR>
&gt;&gt;<BR>
&gt;&gt; +1.<BR>
&gt;&gt;<BR>
&gt;&gt; Our primary use-cases for the assertion flow are for clients actin=
g<BR>
&gt;&gt; on<BR>
&gt;&gt; behalf of users, and not autonomously. &nbsp;&nbsp;I believe Eran =
already has<BR>
&gt;&gt; this on<BR>
&gt;&gt; his list of feedback when the assertion flow gets edited.<BR>
&gt;&gt;<BR>
&gt;&gt; We also have need for a 2 legged Oauth model, and are looking at<B=
R>
&gt;&gt; the client<BR>
&gt;&gt; credentials flow for exactly that purpose.<BR>
&gt;&gt;<BR>
&gt;&gt; -cmort<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; On 4/25/10 10:34 AM, &quot;Foiles, Doug&quot; &lt;<a href=3D"Doug_=
Foiles@intuit.com">Doug_Foiles@intuit.com</a>&gt; wrote:<BR>
&gt;&gt;<BR>
&gt;&gt; I have a bit of confusion on the Autonomous Client Flows ... and s=
pe<BR>
&gt;&gt; cifically<BR>
&gt;&gt; related to Eve's comment below that suggests to me that the autono=
<BR>
&gt;&gt; mous<BR>
&gt;&gt; client is NOT ALWAYS the resource owner.<BR>
&gt;&gt;<BR>
&gt;&gt; Can the Autonomous Client Flows support clients that ARE NOT the<B=
R>
&gt;&gt; actual<BR>
&gt;&gt; resource owner? &nbsp;For example for an Assertion Flow where the<=
BR>
&gt;&gt; Subject of the<BR>
&gt;&gt; SAML assertion is a user identity (and the resource owner) and not=
<BR>
&gt;&gt; that of<BR>
&gt;&gt; the client.<BR>
&gt;&gt;<BR>
&gt;&gt; Is the intent of the Client Credentials Flow to support something<=
BR>
&gt;&gt; like<BR>
&gt;&gt; Google's &quot;OAuth for Google Apps domains&quot; 2 Legged OAuth =
use ca<BR>
&gt;&gt; se?<BR>
&gt;&gt; &nbsp;<a href=3D"http://code.google.com/apis/accounts/docs/OAuth.h=
tml">http://code.google.com/apis/accounts/docs/OAuth.html</a>.<BR>
&gt;&gt;<BR>
&gt;&gt; If the Autonomous Client Flows support clients that can act on<BR>
&gt;&gt; behalf a<BR>
&gt;&gt; resource owner that is not themselves &nbsp;... it then seems the =
resourc<BR>
&gt;&gt; e owner<BR>
&gt;&gt; must provide some level of consent outside the OAuth specific flow=
.<BR>
&gt;&gt;<BR>
&gt;&gt; Thanks.<BR>
&gt;&gt;<BR>
&gt;&gt; Doug<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; From: <a href=3D"oauth-bounces@ietf.org">oauth-bounces@ietf.org</a=
> [<a href=3D"mailto:oauth-bounces@ietf.org">mailto:oauth-bounces@ietf.org<=
/a>] On<BR>
&gt;&gt; Behalf Of<BR>
&gt;&gt; Eve Maler<BR>
&gt;&gt; Sent: Friday, April 23, 2010 7:21 AM<BR>
&gt;&gt; To: OAuth WG<BR>
&gt;&gt; Subject: [OAUTH-WG] Autonomous clients and resource owners<BR>
&gt;&gt; (editorial)<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; Regarding the second comment I made below: I realized last night t=
hat<BR>
&gt;&gt; Sections 3.7.1 and 3.7.2 get this more correct, by saying that an<=
BR>
&gt;&gt; autonomous<BR>
&gt;&gt; client represents a &quot;separate resource owner&quot;. So Sectio=
n 2.2<BR>
&gt;&gt; definitely<BR>
&gt;&gt; needs a slight change, from:<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; &quot;...and autonomous flows where the client is acting for itsel=
f (the<BR>
&gt;&gt; client<BR>
&gt;&gt; is also the resource owner).&quot;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; to something like:<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; &quot;...and autonomous flows where the client is acting on behalf=
 of a<BR>
&gt;&gt; different<BR>
&gt;&gt; resource owner.&quot;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; Thanks,<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;Eve<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; On 21 Apr 2010, at 4:43 PM, Eve Maler wrote:<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; Tacking this response to the end of the thread for lack of a bette=
r<BR>
&gt;&gt; place to<BR>
&gt;&gt; do it: The name &quot;username&quot; seems not quite apt in the ca=
se of an<BR>
&gt;&gt; autonomous<BR>
&gt;&gt; client that isn't representing an end-user. Would &quot;identifier=
&quot; be<BR>
&gt;&gt; better?<BR>
&gt;&gt; (Actually, it sort of reminds me of SAML's &quot;SessionIndex&quot=
;...) Or<BR>
&gt;&gt; would the<BR>
&gt;&gt; parameter be reserved for user-delegation flows?<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; Speaking of autonomous clients, Section 2.2 -- among possibly othe=
r<BR>
&gt;&gt; places<BR>
&gt;&gt; -- states that an autonomous client is also the resource owner, bu=
t<BR>
&gt;&gt; that's<BR>
&gt;&gt; not always the case, is it? The client might be seeking access on<=
BR>
&gt;&gt; behalf of<BR>
&gt;&gt; itself. (FWIW, I made roughly this same comment on David's first<B=
R>
&gt;&gt; draft on<BR>
&gt;&gt; March 21, and he agreed with my suggested fix at the time.)<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;Eve<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; Eve Maler<BR>
&gt;&gt;<BR>
&gt;&gt; <a href=3D"eve@xmlgrrl.com">eve@xmlgrrl.com</a><BR>
&gt;&gt;<BR>
&gt;&gt; <a href=3D"http://www.xmlgrrl.com/blog">http://www.xmlgrrl.com/blo=
g</a><BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; _______________________________________________<BR>
&gt;&gt; OAuth mailing list<BR>
&gt;&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://ww=
w.ietf.org/mailman/listinfo/oauth</a><BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;&gt; _______________________________________________<BR>
&gt;&gt; OAuth mailing list<BR>
&gt;&gt; <a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://ww=
w.ietf.org/mailman/listinfo/oauth</a><BR>
&gt;&gt;<BR>
&gt;&gt;<BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
_______________________________________________<BR>
OAuth mailing list<BR>
<a href=3D"OAuth@ietf.org">OAuth@ietf.org</a><BR>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.or=
g/mailman/listinfo/oauth</a><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C7FCD3754675cmortimoresalesforcecom_--

From beau.lebens@gmail.com  Tue Apr 27 22:57:56 2010
Return-Path: <beau.lebens@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E09693A6AED for <oauth@core3.amsl.com>; Tue, 27 Apr 2010 22:57:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.623
X-Spam-Level: 
X-Spam-Status: No, score=0.623 tagged_above=-999 required=5 tests=[BAYES_50=0.001, FM_FORGED_GMAIL=0.622]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PYdR9Vux9ynr for <oauth@core3.amsl.com>; Tue, 27 Apr 2010 22:57:56 -0700 (PDT)
Received: from mail-qy0-f181.google.com (mail-qy0-f181.google.com [209.85.221.181]) by core3.amsl.com (Postfix) with ESMTP id 780AA3A6B7A for <oauth@ietf.org>; Tue, 27 Apr 2010 22:57:06 -0700 (PDT)
Received: by qyk11 with SMTP id 11so17766402qyk.13 for <oauth@ietf.org>; Tue, 27 Apr 2010 22:56:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:sender:received:from:date :x-google-sender-auth:message-id:subject:to:content-type; bh=2uTWEOMEpmzqjAr5dI2TWwUnFRWz9S7rEU2Kxtwdf4g=; b=gZ9HnsFJgIbRy/tSo6x1Y4ja/07JLZApdRg0de0PxrIcVd4AO8ni+Nq2qu225a2uVX 5glnzk24NEeriQO13Bye56Fx4g4yx2fwfLadIhQDT8nRb10FM1kc15ZnDYJy0hgUhiO/ OuvgTE5zz3vraMvatjjzvyLt3SwmQLE1yVoD0=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:from:date:x-google-sender-auth:message-id :subject:to:content-type; b=lqJULM8Y1a/F9tEjNJYGJ16bJD1tyUs3JVKO5RcTvQOSXrL4pGEqaaV5AA48+YxbdR yngyfi+986lyBEU6GheRIRtIu65q9lwmAlK0DpMjkVbFARz/t3+1/GuBNWY+qsWH8rVw uNY0x7IKBFemO+WuxDQhiR/eXIiW6+HnM8op8=
Received: by 10.229.241.82 with SMTP id ld18mr3686286qcb.60.1272434191092;  Tue, 27 Apr 2010 22:56:31 -0700 (PDT)
MIME-Version: 1.0
Sender: beau.lebens@gmail.com
Received: by 10.229.247.14 with HTTP; Tue, 27 Apr 2010 22:55:32 -0700 (PDT)
From: Beau Lebens <beau@dentedreality.com.au>
Date: Tue, 27 Apr 2010 22:55:32 -0700
X-Google-Sender-Auth: 57fe1a5e1c3a842c
Message-ID: <q2x902424491004272255mb6101e75v82a93bea6495fdb5@mail.gmail.com>
To: oauth@ietf.org
Content-Type: text/plain; charset=UTF-8
Subject: [OAUTH-WG] OAuth2 Spec Feedback
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Apr 2010 06:09:01 -0000

I've just read through the current spec, and had a few quick
questions/observations (some obvious, just making a note of them):

1). Is there a recommended way of signing the entire body of a request
(other than SSL)?

2). The end of the doc seems unfinished, specifically: 6.1.2. The
'authorization-uri' Attribute, 6.1.3. The 'algorithms' Attribute,
6.1.4. The 'error' Attribute.

3). 6.1.2 should probably be called "auth-uri" to match the attribute
name given previously, and there is no mention of a corresponding
"token-uri" section.

4). 3.5.3.1. Client Requests Authorization: The example includes
"device_code", which should be "code" as listed in the parameters
above

5). Not sure why the redirect_uri can't contain a query component if
'state' is present? Seems like a weird restriction.

Apologies if this stuff has been covered, I'm still catching up on the list.

Cheers,
Beau

From torsten@lodderstedt.net  Wed Apr 28 12:04:16 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4EF5E3A6C33 for <oauth@core3.amsl.com>; Wed, 28 Apr 2010 12:04:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.648
X-Spam-Level: 
X-Spam-Status: No, score=-0.648 tagged_above=-999 required=5 tests=[AWL=-0.999, BAYES_50=0.001, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FvUmjOVFTXVB for <oauth@core3.amsl.com>; Wed, 28 Apr 2010 12:04:15 -0700 (PDT)
Received: from smtprelay01.ispgateway.de (smtprelay01.ispgateway.de [80.67.18.13]) by core3.amsl.com (Postfix) with ESMTP id 90E2F3A6BBE for <oauth@ietf.org>; Wed, 28 Apr 2010 12:04:10 -0700 (PDT)
Received: from p4fff1f2f.dip.t-dialin.net ([79.255.31.47] helo=[127.0.0.1]) by smtprelay01.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O7CY8-0007gk-8z for oauth@ietf.org; Wed, 28 Apr 2010 21:03:56 +0200
Message-ID: <4BD8869A.2080403@lodderstedt.net>
Date: Wed, 28 Apr 2010 21:03:54 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: oauth@ietf.org
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com>	<90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET>	<20100419134825.134951nuzvi35hk4@webmail.df.eu>	<90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BD2A172.2070401@lodderstedt.net>
In-Reply-To: <4BD2A172.2070401@lodderstedt.net>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Apr 2010 19:04:16 -0000

no one interested any longer in this topic? I would like to prepare a 
proposal, but I need some feedback.

regards,
Torsten.

Am 24.04.2010 09:44, schrieb Torsten Lodderstedt:
> Am 20.04.2010 17:10, schrieb Eran Hammer-Lahav:
>> There seems to be support for this idea with some concerns about 
>> complexity. Someone needs to propose text for this including defining 
>> the request parameter and schema of the various reply formats.
>>
>
> I would like to prepare some text. Beforehand, I would like to discuss 
> some ideas in order to come to a rough consensous.
>
> Basically, I would suggest to only consider cases where the 
> implementation platform does not directly support URI query parameter 
> decoding. From my point of view, this are all HTTP responses a client 
> will need to process. All request parameters, e.g. redirect back to 
> the web server in the web server flow, will still be delivered as 
> "application/x-www-form-urlencoded" only, since the web container 
> automatically prepares this parameters for easy access in the web 
> application.
>
> I have compiled a list of candidates:
>
> 3.5.1.  User-Agent Flow
> 3.5.1.1.  Client Requests Authorization
>
> fragement of the redirect URL. Change this to base64 encoded XML/JSON, 
> desired format as request parameter
>
> 3.5.2.  Web Server Flow
> 3.5.2.2.  Client Requests Access Token
>
> response formats: application/x-www-form-urlencoded, application/xml, 
> or application/json
> desired format as request parameter
> response mime type indicates response format
>
> 3.5.3.  Device Flow
> 3.5.3.1.  Client Requests Authorization
>
> proposal see 3.5.2.2.  Client Requests Access Token
>
> 3.5.3.2.  Client Requests Access Token
>
> proposal see 3.5.2.2.  Client Requests Access Token
>
> 3.6.1.  Username and Password Flow
> 3.6.1.1.  Client Requests Access Token
>
> proposal see 3.5.2.2.  Client Requests Access Token
>
> 3.7.1.  Client Credentials Flow
> 3.7.1.1.  Client Requests Access Token
>
> proposal see 3.5.2.2.  Client Requests Access Token
>
> 3.7.2.  Assertion Flow
> 3.7.2.1.  Client Requests Access Token
>
> proposal see 3.5.2.2.  Client Requests Access Token
>
> 4.  Refreshing an Access Token
>
> proposal see 3.5.2.2.  Client Requests Access Token
>
> Any comments?
>
> regards,
> Torsten.
>> EHL
>>
>>> -----Original Message-----
>>> From: Torsten Lodderstedt [mailto:torsten@lodderstedt.net]
>>> Sent: Monday, April 19, 2010 4:48 AM
>>> To: Eran Hammer-Lahav
>>> Cc: Dick Hardt; OAuth WG
>>> Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>>>
>>>
>>>> We can also offer both and define a client request parameter (as long
>>>> as the server is required to make at least one format available).
>>> +1 on this
>>>
>>> regards,
>>> Torsten.
>>>
>>>> EHL
>>>>
>>>>> -----Original Message-----
>>>>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
>>>>> Behalf Of Dick Hardt
>>>>> Sent: Sunday, April 18, 2010 9:30 PM
>>>>> To: OAuth WG
>>>>> Subject: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>>>>>
>>>>> The AS token endpoint response is encoded as application/x-www-form-
>>>>> urlencoded
>>>>>
>>>>> While this reuses a well known and understood encoding standard, it
>>>>> is uncommon for a client to receive a message encoded like this. Most
>>>>> server responses are encoded as XML or JSON. Libraries are NOT
>>>>> reedily available to parse application/x-www-form-urlencoded results
>>>>> as this is something that is typically done in the web servers
>>>>> framework. While parsing the name value pairs and URL un-encoding
>>>>> them is not hard, many developers have been caught just splitting the
>>> parameters and forgetting to URL decode the token.
>>>>> Since the token is opaque and may contain characters that are
>>>>> escaped, it is a difficult bug to detect.
>>>>>
>>>>> Potential options:
>>>>>
>>>>> 1) Do nothing, developers should read the specs and do the right 
>>>>> thing.
>>>>>
>>>>> 2) Require that all parameters are URL safe so that there is no
>>>>> encoding issue.
>>>>>
>>>>> 3) Return results as JSON, and recommend that parameters be URL safe.
>>>>>
>>>>> -- Dick
>>>>> _______________________________________________
>>>>> OAuth mailing list
>>>>> OAuth@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>
>>>
>>>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth



From tosh.meston@gmail.com  Wed Apr 28 13:26:34 2010
Return-Path: <tosh.meston@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 283D63A68CE for <oauth@core3.amsl.com>; Wed, 28 Apr 2010 13:26:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VoxQxoaaVVXd for <oauth@core3.amsl.com>; Wed, 28 Apr 2010 13:26:32 -0700 (PDT)
Received: from mail-gy0-f172.google.com (mail-gy0-f172.google.com [209.85.160.172]) by core3.amsl.com (Postfix) with ESMTP id 825273A69C1 for <oauth@ietf.org>; Wed, 28 Apr 2010 13:26:32 -0700 (PDT)
Received: by gyh4 with SMTP id 4so7638850gyh.31 for <oauth@ietf.org>; Wed, 28 Apr 2010 13:26:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=wG9R6LBcgyk1nMta+L6nNf5dmP8esftdTdMjxTUlAV8=; b=bS1+Z+CXBAbuYM01PUsPulFzN1wInJM5IlqRzFoqkOj1Ya27FBVZMgK8DBHvk9g0qi Md9nDfjP4JU/jp5D6Qlx4fzuU+DTPuYfEYGzTFau3YM/3LAY4trt09s2a9pJGazxceJC Gx+/DNsfUJKFGZxK0XKLIbFYYJuy2xAP/EvoQ=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=xMOIlY4xmcinqL9gVaZGTOg97kLDPsJvcuZ6dQAjDrWeA6Yy3ctyV0uoANRfmtPVnN N88Vh4wFJwt9R8qaDzrdyOPbv4/T5e37rBk4o51M9yjUOMclr8sN6ZhOTzzVDWd0XMey DF2Bas7Vxzy7TlyPlMj2832MI6XnX0mjI4G58=
MIME-Version: 1.0
Received: by 10.101.186.8 with SMTP id n8mr3586611anp.214.1272486375679; Wed,  28 Apr 2010 13:26:15 -0700 (PDT)
Received: by 10.101.66.14 with HTTP; Wed, 28 Apr 2010 13:26:15 -0700 (PDT)
Date: Wed, 28 Apr 2010 13:26:15 -0700
Message-ID: <h2if3fdf5a71004281326l9492c83ibd957178b3716646@mail.gmail.com>
From: Tosh Meston <tosh.meston@gmail.com>
To: oauth@ietf.org
Content-Type: multipart/alternative; boundary=001636c92a37676788048551d265
Subject: [OAUTH-WG] Username and Password Flow and oauth_client_secret
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Apr 2010 20:28:15 -0000

--001636c92a37676788048551d265
Content-Type: text/plain; charset=ISO-8859-1

Hi everyone,
I see that in draft specification, under the username and password flow,
the oauth_client_secret is not listed in the required or optional request
parameters, but is included in the example request.  Is it correct to assume
it should be listed it in the required parameters?

POST /access_token HTTP/1.1 Host:
server.example.comoauth_client_identifier=s6BhdRkqt3&oauth_client_secret=8eSEIpnqmM&oauth_username=daveman692&oauth_password=1password


http://www.ietf.org/mail-archive/web/oauth/current/msg01396.html#anchor9

Thanks,
Tosh

--001636c92a37676788048551d265
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi everyone,<div>I see that in draft specification, under the username and =
password flow, the=A0oauth_client_secret is not listed in the required or o=
ptional request parameters, but is included in the example request. =A0Is i=
t correct to assume it should be listed it in the required parameters?</div=
>
<div><br></div><div><span class=3D"Apple-style-span" style=3D"font-family: =
monospace; font-size: medium; white-space: pre; ">POST /access_token HTTP/1=
.1
    Host: <a href=3D"http://server.example.com">server.example.com</a>
    oauth_client_identifier=3Ds6BhdRkqt3&amp;oauth_client_secret=3D8eSEIpnq=
mM&amp;oauth_username=3Ddaveman692&amp;oauth_password=3D1password
</span></div><div><font class=3D"Apple-style-span" face=3D"monospace"><span=
 class=3D"Apple-style-span" style=3D"white-space: pre; font-size: medium;">=
<br></span></font></div><div><a href=3D"http://www.ietf.org/mail-archive/we=
b/oauth/current/msg01396.html#anchor9">http://www.ietf.org/mail-archive/web=
/oauth/current/msg01396.html#anchor9</a></div>
<div><br></div><div>Thanks,</div><div>Tosh</div>

--001636c92a37676788048551d265--

From recordond@gmail.com  Wed Apr 28 14:19:49 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E6E413A6899 for <oauth@core3.amsl.com>; Wed, 28 Apr 2010 14:19:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.536
X-Spam-Level: 
X-Spam-Status: No, score=-2.536 tagged_above=-999 required=5 tests=[AWL=0.062,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TmgidkF6nc+e for <oauth@core3.amsl.com>; Wed, 28 Apr 2010 14:19:48 -0700 (PDT)
Received: from mail-iw0-f191.google.com (mail-iw0-f191.google.com [209.85.223.191]) by core3.amsl.com (Postfix) with ESMTP id E48EC3A6948 for <oauth@ietf.org>; Wed, 28 Apr 2010 14:19:47 -0700 (PDT)
Received: by iwn29 with SMTP id 29so10702791iwn.17 for <oauth@ietf.org>; Wed, 28 Apr 2010 14:19:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=FM1B/BUx+6rfiGHvWXJdeLmiSVltMG78Is/E02a8E0Y=; b=RJSNxZ9BkgFf88ppZdq1dIuIRHX418ThE6LZ18fGtDNC17t3rLTbJcAtgSc19d7vgd h5bbrt9IAjQknApOftydFVDk2Co9QfW1ge0uZ0lLFnC+W+gcEmQDAKgqzaf6svmb3PpI fL1J/SqmrX0fT/RXydwSlkXsoW4uWcaaJPq7o=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=q6y7WBLjAaHzeLHyv8V4d8WhmiGdVGmnVfvbbsd/dxwwBEGqwFYs+R2BfyVQMgH/OB Ri7RllEir7bsHoanV2q1Vd9GE3DPw33KTYr/GOvQXkBmE4gbSeot7zgYO+iB/w7LebdE fWlxdrM/r1y+1Cx5X8ygoikNCQ8eH+nuM6FmQ=
MIME-Version: 1.0
Received: by 10.231.158.143 with SMTP id f15mr482325ibx.25.1272489572330; Wed,  28 Apr 2010 14:19:32 -0700 (PDT)
Received: by 10.231.182.146 with HTTP; Wed, 28 Apr 2010 14:19:32 -0700 (PDT)
In-Reply-To: <h2if3fdf5a71004281326l9492c83ibd957178b3716646@mail.gmail.com>
References: <h2if3fdf5a71004281326l9492c83ibd957178b3716646@mail.gmail.com>
Date: Wed, 28 Apr 2010 17:19:32 -0400
Message-ID: <u2zfd6741651004281419l67dc635en84c4491cbfc23ce2@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Tosh Meston <tosh.meston@gmail.com>
Content-Type: multipart/alternative; boundary=005045016873f06ddf04855290d7
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Username and Password Flow and oauth_client_secret
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Apr 2010 21:19:49 -0000

--005045016873f06ddf04855290d7
Content-Type: text/plain; charset=ISO-8859-1

Hey Tosh,
I think this example just needs updating. In most cases the username and
password flow will be used on applications or devices which can't keep
secrets. Thus specing that the oauth client secret is used is a poor idea
from a security perspective. I imagine that different devices will be able
to keep secrets in different manners and that this will be used in a more
case by case basis.

--David


On Wed, Apr 28, 2010 at 4:26 PM, Tosh Meston <tosh.meston@gmail.com> wrote:

> Hi everyone,
> I see that in draft specification, under the username and password flow,
> the oauth_client_secret is not listed in the required or optional request
> parameters, but is included in the example request.  Is it correct to assume
> it should be listed it in the required parameters?
>
> POST /access_token HTTP/1.1 Host: server.example.comoauth_client_identifier=s6BhdRkqt3&oauth_client_secret=8eSEIpnqmM&oauth_username=daveman692&oauth_password=1password
>
>
> http://www.ietf.org/mail-archive/web/oauth/current/msg01396.html#anchor9
>
> Thanks,
> Tosh
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

--005045016873f06ddf04855290d7
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hey Tosh,<div>I think this example just needs updating. In most cases the u=
sername and password flow will be used on applications or devices which can=
&#39;t keep secrets. Thus specing that the oauth client secret is used is a=
 poor idea from a security perspective. I imagine that different devices wi=
ll be able to keep secrets in different manners and that this will be used =
in a more case by case basis.</div>
<div><br></div><div>--David</div><div><br><br><div class=3D"gmail_quote">On=
 Wed, Apr 28, 2010 at 4:26 PM, Tosh Meston <span dir=3D"ltr">&lt;<a href=3D=
"mailto:tosh.meston@gmail.com">tosh.meston@gmail.com</a>&gt;</span> wrote:<=
br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">Hi everyone,<div>I see that in draft specif=
ication, under the username and password flow, the=A0oauth_client_secret is=
 not listed in the required or optional request parameters, but is included=
 in the example request. =A0Is it correct to assume it should be listed it =
in the required parameters?</div>

<div><br></div><div><span style=3D"font-family:monospace;font-size:medium;w=
hite-space:pre">POST /access_token HTTP/1.1
    Host: <a href=3D"http://server.example.com" target=3D"_blank">server.ex=
ample.com</a>
    oauth_client_identifier=3Ds6BhdRkqt3&amp;oauth_client_secret=3D8eSEIpnq=
mM&amp;oauth_username=3Ddaveman692&amp;oauth_password=3D1password
</span></div><div><font face=3D"monospace"><span style=3D"white-space:pre;f=
ont-size:medium"><br></span></font></div><div><a href=3D"http://www.ietf.or=
g/mail-archive/web/oauth/current/msg01396.html#anchor9" target=3D"_blank">h=
ttp://www.ietf.org/mail-archive/web/oauth/current/msg01396.html#anchor9</a>=
</div>

<div><br></div><div>Thanks,</div><div>Tosh</div>
<br>_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></blockquote></div><br></div>

--005045016873f06ddf04855290d7--

From jsmarr@gmail.com  Wed Apr 28 14:26:04 2010
Return-Path: <jsmarr@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 92D883A6903 for <oauth@core3.amsl.com>; Wed, 28 Apr 2010 14:26:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.448
X-Spam-Level: 
X-Spam-Status: No, score=-2.448 tagged_above=-999 required=5 tests=[AWL=0.150,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VbLqOl9mZJql for <oauth@core3.amsl.com>; Wed, 28 Apr 2010 14:26:02 -0700 (PDT)
Received: from mail-pw0-f44.google.com (mail-pw0-f44.google.com [209.85.160.44]) by core3.amsl.com (Postfix) with ESMTP id C3DAB3A68B0 for <oauth@ietf.org>; Wed, 28 Apr 2010 14:26:02 -0700 (PDT)
Received: by pwj2 with SMTP id 2so10733384pwj.31 for <oauth@ietf.org>; Wed, 28 Apr 2010 14:25:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:reply-to :in-reply-to:references:from:date:message-id:subject:to:cc :content-type; bh=NM6eorwCf2clj4mx/1cWdKuB5g8ElbBdqUy5xGP+Q3s=; b=B4Kx75F1A0o4hUHjtPLxGqKiY5SRhusj9rYuzcbi+plq5hbPLMw3V9WMOKaisuqSgL e/GL3lHfOiplzbN30UD9C6G0olgSQRY8SPvCtPMpl7rxlmo58zGOnVjhDCRhlb5iUFNu /hXxwkauB47hQWcs2gKBTY1YhkVSnGI67zfQ0=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:reply-to:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; b=Tgc8eZBsYdxTzYmyj9ocKx7OzOluQiBBEa5MB0z5b0/5XAob17UxsAb4dsjg2lQ0Br hFUPpCm7z9rOIzZD3vs1gO7shl6py/P+OCKoZRGJxQWjtoXzd6STklUKT1d2MtLzEjbx qOEc/vLdnbYUT5EBxY8geXShTJ7djKrALNfyg=
Received: by 10.143.25.39 with SMTP id c39mr4663971wfj.47.1272489947113; Wed,  28 Apr 2010 14:25:47 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.143.164.14 with HTTP; Wed, 28 Apr 2010 14:25:27 -0700 (PDT)
In-Reply-To: <4BD8869A.2080403@lodderstedt.net>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BD2A172.2070401@lodderstedt.net> <4BD8869A.2080403@lodderstedt.net>
From: Joseph Smarr <jsmarr@gmail.com>
Date: Wed, 28 Apr 2010 17:25:27 -0400
Message-ID: <s2zc334d54e1004281425x5e714eebwcd5a91af593a62ac@mail.gmail.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Content-Type: multipart/alternative; boundary=001636e0b61e47286f048552a761
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: jsmarr@stanfordalumni.org
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Apr 2010 21:26:04 -0000

--001636e0b61e47286f048552a761
Content-Type: text/plain; charset=ISO-8859-1

I agree we need JSON formatting for all the currently url-encoded responses,
but not for the requests, since that stuff will be handled by normal web
servers. That's all you were saying right? We still need a proposed format
for the JSON, but my strawman would just be take all the key/value pairs
returned currently and encode them as one flat JSON object with those same
exact key/value pairs.

So, using the example in 3.5.2.2, instead of the response body being:

access_token=SlAV32hkKG&expires_in=3600&refresh_token=8xLOxBtZp8

It would be:

{ "access_token": "SlAV32hkKG", "expires_in": "3600", "refresh_token":
"8xLOxBtZp8" }

Any reason that wouldn't work?

Thanks, js

On Wed, Apr 28, 2010 at 3:03 PM, Torsten Lodderstedt <
torsten@lodderstedt.net> wrote:

> no one interested any longer in this topic? I would like to prepare a
> proposal, but I need some feedback.
>
> regards,
> Torsten.
>
> Am 24.04.2010 09:44, schrieb Torsten Lodderstedt:
>
>  Am 20.04.2010 17:10, schrieb Eran Hammer-Lahav:
>>
>>> There seems to be support for this idea with some concerns about
>>> complexity. Someone needs to propose text for this including defining the
>>> request parameter and schema of the various reply formats.
>>>
>>>
>> I would like to prepare some text. Beforehand, I would like to discuss
>> some ideas in order to come to a rough consensous.
>>
>> Basically, I would suggest to only consider cases where the implementation
>> platform does not directly support URI query parameter decoding. From my
>> point of view, this are all HTTP responses a client will need to process.
>> All request parameters, e.g. redirect back to the web server in the web
>> server flow, will still be delivered as "application/x-www-form-urlencoded"
>> only, since the web container automatically prepares this parameters for
>> easy access in the web application.
>>
>> I have compiled a list of candidates:
>>
>> 3.5.1.  User-Agent Flow
>> 3.5.1.1.  Client Requests Authorization
>>
>> fragement of the redirect URL. Change this to base64 encoded XML/JSON,
>> desired format as request parameter
>>
>> 3.5.2.  Web Server Flow
>> 3.5.2.2.  Client Requests Access Token
>>
>> response formats: application/x-www-form-urlencoded, application/xml, or
>> application/json
>> desired format as request parameter
>> response mime type indicates response format
>>
>> 3.5.3.  Device Flow
>> 3.5.3.1.  Client Requests Authorization
>>
>> proposal see 3.5.2.2.  Client Requests Access Token
>>
>> 3.5.3.2.  Client Requests Access Token
>>
>> proposal see 3.5.2.2.  Client Requests Access Token
>>
>> 3.6.1.  Username and Password Flow
>> 3.6.1.1.  Client Requests Access Token
>>
>> proposal see 3.5.2.2.  Client Requests Access Token
>>
>> 3.7.1.  Client Credentials Flow
>> 3.7.1.1.  Client Requests Access Token
>>
>> proposal see 3.5.2.2.  Client Requests Access Token
>>
>> 3.7.2.  Assertion Flow
>> 3.7.2.1.  Client Requests Access Token
>>
>> proposal see 3.5.2.2.  Client Requests Access Token
>>
>> 4.  Refreshing an Access Token
>>
>> proposal see 3.5.2.2.  Client Requests Access Token
>>
>> Any comments?
>>
>> regards,
>> Torsten.
>>
>>> EHL
>>>
>>>  -----Original Message-----
>>>> From: Torsten Lodderstedt [mailto:torsten@lodderstedt.net]
>>>> Sent: Monday, April 19, 2010 4:48 AM
>>>> To: Eran Hammer-Lahav
>>>> Cc: Dick Hardt; OAuth WG
>>>> Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>>>>
>>>>
>>>>  We can also offer both and define a client request parameter (as long
>>>>> as the server is required to make at least one format available).
>>>>>
>>>> +1 on this
>>>>
>>>> regards,
>>>> Torsten.
>>>>
>>>>  EHL
>>>>>
>>>>>  -----Original Message-----
>>>>>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
>>>>>> Behalf Of Dick Hardt
>>>>>> Sent: Sunday, April 18, 2010 9:30 PM
>>>>>> To: OAuth WG
>>>>>> Subject: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>>>>>>
>>>>>> The AS token endpoint response is encoded as application/x-www-form-
>>>>>> urlencoded
>>>>>>
>>>>>> While this reuses a well known and understood encoding standard, it
>>>>>> is uncommon for a client to receive a message encoded like this. Most
>>>>>> server responses are encoded as XML or JSON. Libraries are NOT
>>>>>> reedily available to parse application/x-www-form-urlencoded results
>>>>>> as this is something that is typically done in the web servers
>>>>>> framework. While parsing the name value pairs and URL un-encoding
>>>>>> them is not hard, many developers have been caught just splitting the
>>>>>>
>>>>> parameters and forgetting to URL decode the token.
>>>>
>>>>> Since the token is opaque and may contain characters that are
>>>>>> escaped, it is a difficult bug to detect.
>>>>>>
>>>>>> Potential options:
>>>>>>
>>>>>> 1) Do nothing, developers should read the specs and do the right
>>>>>> thing.
>>>>>>
>>>>>> 2) Require that all parameters are URL safe so that there is no
>>>>>> encoding issue.
>>>>>>
>>>>>> 3) Return results as JSON, and recommend that parameters be URL safe.
>>>>>>
>>>>>> -- Dick
>>>>>> _______________________________________________
>>>>>> OAuth mailing list
>>>>>> OAuth@ietf.org
>>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>>>
>>>>> _______________________________________________
>>>>> OAuth mailing list
>>>>> OAuth@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>>
>>>>>
>>>>
>>>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--001636e0b61e47286f048552a761
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I agree we need JSON formatting for all the currently url-encoded responses=
, but not for the requests, since that stuff will be handled by normal web =
servers. That&#39;s all you were saying right? We still need a proposed for=
mat for the JSON, but my strawman would just be take all the key/value pair=
s returned currently and encode them as one flat JSON object with those sam=
e exact key/value pairs.=A0<div>

<br></div><div>So, using the example in 3.5.2.2, instead of the response bo=
dy being:</div><div><br></div><div><span class=3D"Apple-style-span" style=
=3D"font-family: &#39;Bitstream Vera Sans Mono&#39;, Courier, monospace; fo=
nt-size: 12px; line-height: 17px; white-space: pre; ">access_token=3DSlAV32=
hkKG&amp;expires_in=3D3600&amp;refresh_token=3D8xLOxBtZp8</span></div>

<div><div><br></div><div>It would be:</div><div><br></div><div><span class=
=3D"Apple-style-span" style=3D"font-family: &#39;Bitstream Vera Sans Mono&#=
39;, Courier, monospace; font-size: 12px; line-height: 17px; white-space: p=
re; ">{ &quot;access_token&quot;: &quot;SlAV32hkKG&quot;, &quot;expires_in&=
quot;: &quot;3600&quot;, &quot;refresh_token&quot;: &quot;8xLOxBtZp8&quot; =
}</span></div>

<div><span class=3D"Apple-style-span" style=3D"font-family: &#39;Bitstream =
Vera Sans Mono&#39;, Courier, monospace; font-size: 12px; line-height: 17px=
; white-space: pre; "><br></span></div><div>Any reason that wouldn&#39;t wo=
rk?<div>

<br></div><div>Thanks, js<br><div><br><div class=3D"gmail_quote">On Wed, Ap=
r 28, 2010 at 3:03 PM, Torsten Lodderstedt <span dir=3D"ltr">&lt;<a href=3D=
"mailto:torsten@lodderstedt.net">torsten@lodderstedt.net</a>&gt;</span> wro=
te:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">no one interested any longer in this topic?=
 I would like to prepare a proposal, but I need some feedback.<br>
<br>
regards,<br>
Torsten.<br>
<br>
Am 24.04.2010 09:44, schrieb Torsten Lodderstedt:<div><div></div><div class=
=3D"h5"><br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
Am 20.04.2010 17:10, schrieb Eran Hammer-Lahav:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
There seems to be support for this idea with some concerns about complexity=
. Someone needs to propose text for this including defining the request par=
ameter and schema of the various reply formats.<br>
<br>
</blockquote>
<br>
I would like to prepare some text. Beforehand, I would like to discuss some=
 ideas in order to come to a rough consensous.<br>
<br>
Basically, I would suggest to only consider cases where the implementation =
platform does not directly support URI query parameter decoding. From my po=
int of view, this are all HTTP responses a client will need to process. All=
 request parameters, e.g. redirect back to the web server in the web server=
 flow, will still be delivered as &quot;application/x-www-form-urlencoded&q=
uot; only, since the web container automatically prepares this parameters f=
or easy access in the web application.<br>


<br>
I have compiled a list of candidates:<br>
<br>
3.5.1. =A0User-Agent Flow<br>
3.5.1.1. =A0Client Requests Authorization<br>
<br>
fragement of the redirect URL. Change this to base64 encoded XML/JSON, desi=
red format as request parameter<br>
<br>
3.5.2. =A0Web Server Flow<br>
3.5.2.2. =A0Client Requests Access Token<br>
<br>
response formats: application/x-www-form-urlencoded, application/xml, or ap=
plication/json<br>
desired format as request parameter<br>
response mime type indicates response format<br>
<br>
3.5.3. =A0Device Flow<br>
3.5.3.1. =A0Client Requests Authorization<br>
<br>
proposal see 3.5.2.2. =A0Client Requests Access Token<br>
<br>
3.5.3.2. =A0Client Requests Access Token<br>
<br>
proposal see 3.5.2.2. =A0Client Requests Access Token<br>
<br>
3.6.1. =A0Username and Password Flow<br>
3.6.1.1. =A0Client Requests Access Token<br>
<br>
proposal see 3.5.2.2. =A0Client Requests Access Token<br>
<br>
3.7.1. =A0Client Credentials Flow<br>
3.7.1.1. =A0Client Requests Access Token<br>
<br>
proposal see 3.5.2.2. =A0Client Requests Access Token<br>
<br>
3.7.2. =A0Assertion Flow<br>
3.7.2.1. =A0Client Requests Access Token<br>
<br>
proposal see 3.5.2.2. =A0Client Requests Access Token<br>
<br>
4. =A0Refreshing an Access Token<br>
<br>
proposal see 3.5.2.2. =A0Client Requests Access Token<br>
<br>
Any comments?<br>
<br>
regards,<br>
Torsten.<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
EHL<br>
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
-----Original Message-----<br>
From: Torsten Lodderstedt [mailto:<a href=3D"mailto:torsten@lodderstedt.net=
" target=3D"_blank">torsten@lodderstedt.net</a>]<br>
Sent: Monday, April 19, 2010 4:48 AM<br>
To: Eran Hammer-Lahav<br>
Cc: Dick Hardt; OAuth WG<br>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON<br>
<br>
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
We can also offer both and define a client request parameter (as long<br>
as the server is required to make at least one format available).<br>
</blockquote>
+1 on this<br>
<br>
regards,<br>
Torsten.<br>
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
EHL<br>
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
-----Original Message-----<br>
From: <a href=3D"mailto:oauth-bounces@ietf.org" target=3D"_blank">oauth-bou=
nces@ietf.org</a> [mailto:<a href=3D"mailto:oauth-bounces@ietf.org" target=
=3D"_blank">oauth-bounces@ietf.org</a>] On<br>
Behalf Of Dick Hardt<br>
Sent: Sunday, April 18, 2010 9:30 PM<br>
To: OAuth WG<br>
Subject: [OAUTH-WG] application/x-www-form-urlencoded vs JSON<br>
<br>
The AS token endpoint response is encoded as application/x-www-form-<br>
urlencoded<br>
<br>
While this reuses a well known and understood encoding standard, it<br>
is uncommon for a client to receive a message encoded like this. Most<br>
server responses are encoded as XML or JSON. Libraries are NOT<br>
reedily available to parse application/x-www-form-urlencoded results<br>
as this is something that is typically done in the web servers<br>
framework. While parsing the name value pairs and URL un-encoding<br>
them is not hard, many developers have been caught just splitting the<br>
</blockquote></blockquote>
parameters and forgetting to URL decode the token.<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><blockquote class=3D"gmail_quote" style=3D"m=
argin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Since the token is opaque and may contain characters that are<br>
escaped, it is a difficult bug to detect.<br>
<br>
Potential options:<br>
<br>
1) Do nothing, developers should read the specs and do the right thing.<br>
<br>
2) Require that all parameters are URL safe so that there is no<br>
encoding issue.<br>
<br>
3) Return results as JSON, and recommend that parameters be URL safe.<br>
<br>
-- Dick<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</blockquote>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br>
</blockquote>
<br>
<br>
</blockquote></blockquote>
<br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</blockquote>
<br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br></div></div></div></div>

--001636e0b61e47286f048552a761--

From tosh.meston@gmail.com  Wed Apr 28 18:02:11 2010
Return-Path: <tosh.meston@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8FFA03A6A04 for <oauth@core3.amsl.com>; Wed, 28 Apr 2010 18:02:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.533
X-Spam-Level: 
X-Spam-Status: No, score=-2.533 tagged_above=-999 required=5 tests=[AWL=0.065,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aCCO68dJGvRS for <oauth@core3.amsl.com>; Wed, 28 Apr 2010 18:02:09 -0700 (PDT)
Received: from mail-gx0-f217.google.com (mail-gx0-f217.google.com [209.85.217.217]) by core3.amsl.com (Postfix) with ESMTP id 5E6303A699A for <oauth@ietf.org>; Wed, 28 Apr 2010 18:02:09 -0700 (PDT)
Received: by gxk9 with SMTP id 9so2279478gxk.8 for <oauth@ietf.org>; Wed, 28 Apr 2010 18:01:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=TmqWuH2luJMAWOteXYhWWkQxPRt9pS0n1g3pk6mLh4A=; b=HD1tcPR3pS4hmbQQ5PgzW1gQHcTTHk7AkU23MSqieHZZi+QH0c4Td9UJzjku3bj7pe PY0sL0Ozc6thhLLyj5alurlo3HRC84gFuGQL5E+oHqb24ZLr5UNf7DMR+IpvnDWpRIge WaVJEqIue9pnQ8z+DF6OJ+Vxn9EDF3toI8/Kg=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=hRYwa/HmZXsvXPkZ3n7a3HArDzaxhgbiqZKyNgvYIK4dPPdiJKAf5twceHCAvMsqPI C72p4/cvp5DUoPI3n+Oidkqj6WC9phgFcldYnQSVuitQqupYz25Zza/9DeZXe6u1firQ lzF1NG7PGoyDH+x+QdlpyBo7VKgbVs8ns73CI=
MIME-Version: 1.0
Received: by 10.101.20.18 with SMTP id x18mr4115092ani.101.1272502913589; Wed,  28 Apr 2010 18:01:53 -0700 (PDT)
Received: by 10.101.66.14 with HTTP; Wed, 28 Apr 2010 18:01:53 -0700 (PDT)
In-Reply-To: <u2zfd6741651004281419l67dc635en84c4491cbfc23ce2@mail.gmail.com>
References: <h2if3fdf5a71004281326l9492c83ibd957178b3716646@mail.gmail.com> <u2zfd6741651004281419l67dc635en84c4491cbfc23ce2@mail.gmail.com>
Date: Wed, 28 Apr 2010 18:01:53 -0700
Message-ID: <p2mf3fdf5a71004281801me439ae60q156c0518eb7543dc@mail.gmail.com>
From: Tosh Meston <tosh.meston@gmail.com>
To: David Recordon <recordond@gmail.com>
Content-Type: multipart/alternative; boundary=0050450170d723eeeb048555acb1
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Username and Password Flow and oauth_client_secret
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Apr 2010 01:02:11 -0000

--0050450170d723eeeb048555acb1
Content-Type: text/plain; charset=ISO-8859-1

Hey David,
Thanks for the response and clarification.  Agreed.  The mobile device
shouldn't keep the client secret so passing in the body in an SSL request is
out, and signing the /access_token request is out for the same reason.  So,
it doesn't seem like there is a way to ensure that value in the
oauth_client_identifier really represents that client, if I understand
correctly.  Is that an issue?

Evil client X could get an access_token and token_secret for another app,
but would only be able to make successful calls to protected resources if
the platform failed to check if the app represented by the
oauth_client_identifier is the same app represented by the
oauth_consumer_key, and also used the oauth_client_identifier as the
application id.

Just thinking aloud and trying to get my brain around this...

Thanks!
Tosh



On Wed, Apr 28, 2010 at 2:19 PM, David Recordon <recordond@gmail.com> wrote:

> Hey Tosh,
> I think this example just needs updating. In most cases the username and
> password flow will be used on applications or devices which can't keep
> secrets. Thus specing that the oauth client secret is used is a poor idea
> from a security perspective. I imagine that different devices will be able
> to keep secrets in different manners and that this will be used in a more
> case by case basis.
>
> --David
>
>
> On Wed, Apr 28, 2010 at 4:26 PM, Tosh Meston <tosh.meston@gmail.com>wrote:
>
>> Hi everyone,
>> I see that in draft specification, under the username and password flow,
>> the oauth_client_secret is not listed in the required or optional request
>> parameters, but is included in the example request.  Is it correct to assume
>> it should be listed it in the required parameters?
>>
>> POST /access_token HTTP/1.1 Host: server.example.comoauth_client_identifier=s6BhdRkqt3&oauth_client_secret=8eSEIpnqmM&oauth_username=daveman692&oauth_password=1password
>>
>>
>> http://www.ietf.org/mail-archive/web/oauth/current/msg01396.html#anchor9
>>
>> Thanks,
>> Tosh
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>

--0050450170d723eeeb048555acb1
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div>Hey David,</div><div>Thanks for the response and clarification. =A0Agr=
eed. =A0The mobile device shouldn&#39;t keep the client secret so passing i=
n the body in an SSL request is out, and signing the /access_token request =
is out for the same reason. =A0So, it doesn&#39;t seem like there is a way =
to ensure that value in the oauth_client_identifier really represents that =
client, if I understand correctly. =A0Is that an issue?</div>
<div><br></div><div>Evil client X could get an access_token and token_secre=
t for another app, but would only be able to make successful calls to prote=
cted resources if the platform failed to check if the app represented by th=
e oauth_client_identifier is the same app represented by the oauth_consumer=
_key, and also used the=A0oauth_client_identifier as the application id.</d=
iv>
<div><br></div><div>Just thinking aloud and trying to get my brain around t=
his...</div><div><br></div><div>Thanks!</div><div>Tosh=A0</div><div><br></d=
iv><br><br><div class=3D"gmail_quote">On Wed, Apr 28, 2010 at 2:19 PM, Davi=
d Recordon <span dir=3D"ltr">&lt;<a href=3D"mailto:recordond@gmail.com">rec=
ordond@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">Hey Tosh,<div>I think this example just nee=
ds updating. In most cases the username and password flow will be used on a=
pplications or devices which can&#39;t keep secrets. Thus specing that the =
oauth client secret is used is a poor idea from a security perspective. I i=
magine that different devices will be able to keep secrets in different man=
ners and that this will be used in a more case by case basis.</div>

<div><br></div><div>--David</div><div><br><br><div class=3D"gmail_quote"><d=
iv><div></div><div class=3D"h5">On Wed, Apr 28, 2010 at 4:26 PM, Tosh Mesto=
n <span dir=3D"ltr">&lt;<a href=3D"mailto:tosh.meston@gmail.com" target=3D"=
_blank">tosh.meston@gmail.com</a>&gt;</span> wrote:<br>

</div></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo=
rder-left:1px #ccc solid;padding-left:1ex"><div><div></div><div class=3D"h5=
">Hi everyone,<div>I see that in draft specification, under the username an=
d password flow, the=A0oauth_client_secret is not listed in the required or=
 optional request parameters, but is included in the example request. =A0Is=
 it correct to assume it should be listed it in the required parameters?</d=
iv>


<div><br></div><div><span style=3D"font-family:monospace;font-size:medium;w=
hite-space:pre">POST /access_token HTTP/1.1
    Host: <a href=3D"http://server.example.com" target=3D"_blank">server.ex=
ample.com</a>
    oauth_client_identifier=3Ds6BhdRkqt3&amp;oauth_client_secret=3D8eSEIpnq=
mM&amp;oauth_username=3Ddaveman692&amp;oauth_password=3D1password
</span></div><div><font face=3D"monospace"><span style=3D"white-space:pre;f=
ont-size:medium"><br></span></font></div><div><a href=3D"http://www.ietf.or=
g/mail-archive/web/oauth/current/msg01396.html#anchor9" target=3D"_blank">h=
ttp://www.ietf.org/mail-archive/web/oauth/current/msg01396.html#anchor9</a>=
</div>


<div><br></div><div>Thanks,</div><div>Tosh</div>
<br></div></div><div class=3D"im">_________________________________________=
______<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></div></blockquote></div><br></div>
</blockquote></div><br>

--0050450170d723eeeb048555acb1--

From recordond@gmail.com  Wed Apr 28 20:29:02 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 906333A6AA8 for <oauth@core3.amsl.com>; Wed, 28 Apr 2010 20:29:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.54
X-Spam-Level: 
X-Spam-Status: No, score=-2.54 tagged_above=-999 required=5 tests=[AWL=0.058,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id la--1KiQxjMT for <oauth@core3.amsl.com>; Wed, 28 Apr 2010 20:29:01 -0700 (PDT)
Received: from mail-iw0-f191.google.com (mail-iw0-f191.google.com [209.85.223.191]) by core3.amsl.com (Postfix) with ESMTP id 4E6333A6A5C for <oauth@ietf.org>; Wed, 28 Apr 2010 20:29:01 -0700 (PDT)
Received: by iwn29 with SMTP id 29so11117805iwn.17 for <oauth@ietf.org>; Wed, 28 Apr 2010 20:28:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=1WSjVcvJDV7mo6uetM3AmflgHyID2CSRhVT/ApwhazQ=; b=MrpOu4ESjtd0+NzYdOYq+wj8qvetGywV22daQmqWfMmyqSV6+pABvKLBSVEUl3AzSq ezs+RJVGzTRo4U8Vs0SAdktHw2nxYzQ2QXommPh8TrR7K6Oqnhrvwjmnswl4QTm6s/bZ m+PjtEnGwGdd1SQYaMYOQ/VPhoyxlhtRV0tYI=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=upupd6yb1s0H9aJbjk4GJdmmwtOW1jQTXIxQmqnyDMnfS0lL/MmPDjDw8Hfy/wqgbB VZeNWRzov5OdbRMuUDUDYrZ/kZp5c2yZNcnIvbIgfFOjEpbD7Wb3o//zOBQiJv2fMKuP YcVBXAckLhkdAbTMBe1ZtukZmB0eMRQCVWmCA=
MIME-Version: 1.0
Received: by 10.231.170.143 with SMTP id d15mr3540489ibz.13.1272511725428;  Wed, 28 Apr 2010 20:28:45 -0700 (PDT)
Received: by 10.231.182.146 with HTTP; Wed, 28 Apr 2010 20:28:45 -0700 (PDT)
In-Reply-To: <p2mf3fdf5a71004281801me439ae60q156c0518eb7543dc@mail.gmail.com>
References: <h2if3fdf5a71004281326l9492c83ibd957178b3716646@mail.gmail.com> <u2zfd6741651004281419l67dc635en84c4491cbfc23ce2@mail.gmail.com> <p2mf3fdf5a71004281801me439ae60q156c0518eb7543dc@mail.gmail.com>
Date: Wed, 28 Apr 2010 23:28:45 -0400
Message-ID: <m2gfd6741651004282028x180a469bl942f556e46d4a443@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Tosh Meston <tosh.meston@gmail.com>
Content-Type: multipart/alternative; boundary=005045029be95ddff7048557b99e
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Username and Password Flow and oauth_client_secret
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Apr 2010 03:29:02 -0000

--005045029be95ddff7048557b99e
Content-Type: text/plain; charset=ISO-8859-1

I realize that this doesn't work generically, but at Facebook we only plan
to offer the username/password flow to a small number of partners. We figure
that we'll work out device/app authentication on a case by case basis
depending on what is possible. We've also thought about issuing clients a
separate secret which only works on this flow and couldn't be repurposed for
other flows if it were to be stolen.

I believe Google is going to solve this problem by not supporting the
username/password flow in the first place.

--David


On Wed, Apr 28, 2010 at 9:01 PM, Tosh Meston <tosh.meston@gmail.com> wrote:

> Hey David,
> Thanks for the response and clarification.  Agreed.  The mobile device
> shouldn't keep the client secret so passing in the body in an SSL request is
> out, and signing the /access_token request is out for the same reason.  So,
> it doesn't seem like there is a way to ensure that value in the
> oauth_client_identifier really represents that client, if I understand
> correctly.  Is that an issue?
>
> Evil client X could get an access_token and token_secret for another app,
> but would only be able to make successful calls to protected resources if
> the platform failed to check if the app represented by the
> oauth_client_identifier is the same app represented by the
> oauth_consumer_key, and also used the oauth_client_identifier as the
> application id.
>
> Just thinking aloud and trying to get my brain around this...
>
> Thanks!
> Tosh
>
>
>
> On Wed, Apr 28, 2010 at 2:19 PM, David Recordon <recordond@gmail.com>wrote:
>
>> Hey Tosh,
>> I think this example just needs updating. In most cases the username and
>> password flow will be used on applications or devices which can't keep
>> secrets. Thus specing that the oauth client secret is used is a poor idea
>> from a security perspective. I imagine that different devices will be able
>> to keep secrets in different manners and that this will be used in a more
>> case by case basis.
>>
>> --David
>>
>>
>> On Wed, Apr 28, 2010 at 4:26 PM, Tosh Meston <tosh.meston@gmail.com>wrote:
>>
>>> Hi everyone,
>>> I see that in draft specification, under the username and password flow,
>>> the oauth_client_secret is not listed in the required or optional request
>>> parameters, but is included in the example request.  Is it correct to assume
>>> it should be listed it in the required parameters?
>>>
>>> POST /access_token HTTP/1.1 Host: server.example.comoauth_client_identifier=s6BhdRkqt3&oauth_client_secret=8eSEIpnqmM&oauth_username=daveman692&oauth_password=1password
>>>
>>>
>>> http://www.ietf.org/mail-archive/web/oauth/current/msg01396.html#anchor9
>>>
>>> Thanks,
>>> Tosh
>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>>
>>
>

--005045029be95ddff7048557b99e
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I realize that this doesn&#39;t work generically, but at Facebook we only p=
lan to offer the username/password flow to a small number of partners. We f=
igure that we&#39;ll work out device/app authentication on a case by case b=
asis depending on what is possible. We&#39;ve also thought about issuing cl=
ients a separate secret which only works on this flow and couldn&#39;t be=
=A0repurposed=A0for other flows if it were to be stolen.<div>
<br></div><div>I believe Google is going to solve this problem by not suppo=
rting the username/password flow in the first place.</div><div><br></div><d=
iv>--David</div><div><br><br><div class=3D"gmail_quote">On Wed, Apr 28, 201=
0 at 9:01 PM, Tosh Meston <span dir=3D"ltr">&lt;<a href=3D"mailto:tosh.mest=
on@gmail.com">tosh.meston@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;"><div>Hey David,</div><div>Thanks for the re=
sponse and clarification. =A0Agreed. =A0The mobile device shouldn&#39;t kee=
p the client secret so passing in the body in an SSL request is out, and si=
gning the /access_token request is out for the same reason. =A0So, it doesn=
&#39;t seem like there is a way to ensure that value in the oauth_client_id=
entifier really represents that client, if I understand correctly. =A0Is th=
at an issue?</div>

<div><br></div><div>Evil client X could get an access_token and token_secre=
t for another app, but would only be able to make successful calls to prote=
cted resources if the platform failed to check if the app represented by th=
e oauth_client_identifier is the same app represented by the oauth_consumer=
_key, and also used the=A0oauth_client_identifier as the application id.</d=
iv>

<div><br></div><div>Just thinking aloud and trying to get my brain around t=
his...</div><div><br></div><div>Thanks!</div><div>Tosh=A0</div><div><div></=
div><div class=3D"h5"><div><br></div><br><br><div class=3D"gmail_quote">On =
Wed, Apr 28, 2010 at 2:19 PM, David Recordon <span dir=3D"ltr">&lt;<a href=
=3D"mailto:recordond@gmail.com" target=3D"_blank">recordond@gmail.com</a>&g=
t;</span> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">Hey Tosh,<div>I think this example just need=
s updating. In most cases the username and password flow will be used on ap=
plications or devices which can&#39;t keep secrets. Thus specing that the o=
auth client secret is used is a poor idea from a security perspective. I im=
agine that different devices will be able to keep secrets in different mann=
ers and that this will be used in a more case by case basis.</div>


<div><br></div><div>--David</div><div><br><br><div class=3D"gmail_quote"><d=
iv><div></div><div>On Wed, Apr 28, 2010 at 4:26 PM, Tosh Meston <span dir=
=3D"ltr">&lt;<a href=3D"mailto:tosh.meston@gmail.com" target=3D"_blank">tos=
h.meston@gmail.com</a>&gt;</span> wrote:<br>


</div></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo=
rder-left:1px #ccc solid;padding-left:1ex"><div><div></div><div>Hi everyone=
,<div>I see that in draft specification, under the username and password fl=
ow, the=A0oauth_client_secret is not listed in the required or optional req=
uest parameters, but is included in the example request. =A0Is it correct t=
o assume it should be listed it in the required parameters?</div>



<div><br></div><div><span style=3D"font-family:monospace;font-size:medium;w=
hite-space:pre">POST /access_token HTTP/1.1
    Host: <a href=3D"http://server.example.com" target=3D"_blank">server.ex=
ample.com</a>
    oauth_client_identifier=3Ds6BhdRkqt3&amp;oauth_client_secret=3D8eSEIpnq=
mM&amp;oauth_username=3Ddaveman692&amp;oauth_password=3D1password
</span></div><div><font face=3D"monospace"><span style=3D"white-space:pre;f=
ont-size:medium"><br></span></font></div><div><a href=3D"http://www.ietf.or=
g/mail-archive/web/oauth/current/msg01396.html#anchor9" target=3D"_blank">h=
ttp://www.ietf.org/mail-archive/web/oauth/current/msg01396.html#anchor9</a>=
</div>



<div><br></div><div>Thanks,</div><div>Tosh</div>
<br></div></div><div>_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></div></blockquote></div><br></div>
</blockquote></div><br>
</div></div></blockquote></div><br></div>

--005045029be95ddff7048557b99e--

From sayrer@gmail.com  Wed Apr 28 20:44:36 2010
Return-Path: <sayrer@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7F7CA3A6A5C for <oauth@core3.amsl.com>; Wed, 28 Apr 2010 20:44:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.484
X-Spam-Level: 
X-Spam-Status: No, score=-3.484 tagged_above=-999 required=5 tests=[AWL=-0.744, BAYES_20=-0.74, GB_I_LETTER=-2]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NzMHBUu0LDau for <oauth@core3.amsl.com>; Wed, 28 Apr 2010 20:44:35 -0700 (PDT)
Received: from mail-qy0-f181.google.com (mail-qy0-f181.google.com [209.85.221.181]) by core3.amsl.com (Postfix) with ESMTP id A47773A67B3 for <oauth@ietf.org>; Wed, 28 Apr 2010 20:44:35 -0700 (PDT)
Received: by qyk11 with SMTP id 11so19113196qyk.13 for <oauth@ietf.org>; Wed, 28 Apr 2010 20:44:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=6vCuzObaEowW/gcnVTnLaFro1s1lUgkrMQIk9cbmq3A=; b=tVib8Son3XxRxqeLJs6eqxbbmGV/SvXQXdNfvZfmI3MBd8qW8qKGTGGwpImqpEel/1 Xg1lOSARcw0ot0+ZXk+QI/SKGoSqussDqQwqmoxpJNOZmmbN4T7tUvA76C2i84QPDbZT YuGqAONWiCoL9P6iaGY6Sf4giDlmwd0UmYYm0=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=dEMzIpCZ+n53NVo4CrUB4mXhcvRuLatCMvHbf8bRjScM67Yx2qPfI9AIYeTl5YQBzL jCqNYIbVfNuAqIapd0vVVuWGNytKNIeXAPgVG4LNSFCUbNg+53BUw7g0dmD2c2ordVGh 9jmJQnTVjwp18qT7iPRHcIPtuNi+hi9SzzZGI=
MIME-Version: 1.0
Received: by 10.229.241.82 with SMTP id ld18mr5736295qcb.60.1272512659676;  Wed, 28 Apr 2010 20:44:19 -0700 (PDT)
Received: by 10.229.99.142 with HTTP; Wed, 28 Apr 2010 20:44:19 -0700 (PDT)
In-Reply-To: <s2zc334d54e1004281425x5e714eebwcd5a91af593a62ac@mail.gmail.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BD2A172.2070401@lodderstedt.net> <4BD8869A.2080403@lodderstedt.net> <s2zc334d54e1004281425x5e714eebwcd5a91af593a62ac@mail.gmail.com>
Date: Wed, 28 Apr 2010 23:44:19 -0400
Message-ID: <v2j68fba5c51004282044o3a5f96cfucb1157d3884d8cd2@mail.gmail.com>
From: Robert Sayre <sayrer@gmail.com>
To: jsmarr@stanfordalumni.org
Content-Type: text/plain; charset=ISO-8859-1
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Apr 2010 03:44:36 -0000

On Wed, Apr 28, 2010 at 5:25 PM, Joseph Smarr <jsmarr@gmail.com> wrote:
>
> Any reason that wouldn't work?

Form encoding allows duplicate keys. So, transforming such message
bodies to JSON should be defined.

But, really, I think the group should just pick one and avoid the
hassle. I would pick JSON, since JSON implementations bring reasonable
Unicode conformance.

-- 

Robert Sayre

"I would have written a shorter letter, but I did not have the time."

From pelleb@gmail.com  Thu Apr 29 08:25:02 2010
Return-Path: <pelleb@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A2D4C28C15C for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 08:25:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.623
X-Spam-Level: 
X-Spam-Status: No, score=0.623 tagged_above=-999 required=5 tests=[BAYES_50=0.001, FM_FORGED_GMAIL=0.622]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CRLAz3-6UCRn for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 08:25:01 -0700 (PDT)
Received: from mail-fx0-f44.google.com (mail-fx0-f44.google.com [209.85.161.44]) by core3.amsl.com (Postfix) with ESMTP id E11973A6BC0 for <oauth@ietf.org>; Thu, 29 Apr 2010 08:25:00 -0700 (PDT)
Received: by fxm4 with SMTP id 4so1247121fxm.31 for <oauth@ietf.org>; Thu, 29 Apr 2010 08:24:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:sender:received:date :x-google-sender-auth:message-id:subject:from:to:content-type; bh=dzQz/oz/rUYBlM8tW9F39BinZi83Ni1mP6ayMKGbYQ0=; b=iQ5BA3bd0xk8syqqD8afRP+QLDtTteWBLe7adPphXzpFk0elDR3YoffiZ9qHtYvmIR Ceb5xxy/LJLZjUbPaWK3umFfB+AGKU4P0fz3WxV4q02OkInglZ7LFVAjNtJPwg5ZaxE3 ttx593dpsgZ2a07pCjyilSjHSWglZXYzt57ZA=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:content-type; b=J6SeGyjEQzC5UJZl+s6w41hWAKywhpxTbuvH6D/+CjIZT7kyH0mPwPZ7H5KR+/54gM nkZg2I0sAAcJBPUZgjF8yLWQYqAXA5ircH8LNuP0a5CN63DvMM31Hjlt4wzFXc0Rt+O5 /SVaikksnVbxeqEiuw3y7sYmp8t3loqSQ1+J8=
MIME-Version: 1.0
Received: by 10.86.119.19 with SMTP id r19mr1641908fgc.76.1272554677578; Thu,  29 Apr 2010 08:24:37 -0700 (PDT)
Sender: pelleb@gmail.com
Received: by 10.223.111.205 with HTTP; Thu, 29 Apr 2010 08:24:37 -0700 (PDT)
Date: Thu, 29 Apr 2010 11:24:37 -0400
X-Google-Sender-Auth: bd0c81dce73bd92e
Message-ID: <k2tce1325031004290824w4cb24792n8c048832cc649821@mail.gmail.com>
From: Pelle Braendgaard <pelle@stakeventures.com>
To: oauth@ietf.org
Content-Type: text/plain; charset=UTF-8
Subject: [OAUTH-WG] Facebook access_token vs OAuth 2.0 spec oauth_token inconsistency
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Apr 2010 15:25:02 -0000

Just working on adding OAuth 2.0 support to the Ruby OAuth Plugin and
I noticed that the facebook documentations says to use the
access_token parameter like this:

  https://graph.facebook.com/me?access_token=...
(http://developers.facebook.com/docs/authentication/)

But in the specs it specifies that it should use the oauth_token
parameter http://tools.ietf.org/html/draft-hammer-oauth2-00#section-5.2.1
:

  When including the access token in the HTTP request URI, the client
   adds the access token to the request URI query component as defined
   by [RFC3986] using the "oauth_token" parameter.

  For example, the client makes the following HTTPS request:


     GET /resource?oauth_token=vF9dft4qmT HTTP/1.1
     Host: server.example.com

Does anyone know what the deal is. Will Facebook also support
oauth_token or will we have to support both types?

P

-- 
http://agree2.com - Reach Agreement!
http://extraeagle.com - Solutions for the electronic Extra Legal world
http://stakeventures.com - Bootstrapping blog

From atom@yahoo-inc.com  Thu Apr 29 10:22:31 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 514563A679C for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 10:22:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.262
X-Spam-Level: 
X-Spam-Status: No, score=-14.262 tagged_above=-999 required=5 tests=[AWL=-0.808, BAYES_40=-0.185, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, MIME_QP_LONG_LINE=1.396, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id w2Dh8OkPKHKx for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 10:22:30 -0700 (PDT)
Received: from mrout1-b.corp.re1.yahoo.com (mrout1-b.corp.re1.yahoo.com [69.147.107.20]) by core3.amsl.com (Postfix) with ESMTP id 62E4F3A690A for <oauth@ietf.org>; Thu, 29 Apr 2010 10:22:22 -0700 (PDT)
Received: from SNV-EXBH01.ds.corp.yahoo.com (snv-exbh01.ds.corp.yahoo.com [207.126.227.249]) by mrout1-b.corp.re1.yahoo.com (8.13.8/8.13.8/y.out) with ESMTP id o3THLa6w035328; Thu, 29 Apr 2010 10:21:37 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:message-id: thread-topic:thread-index:in-reply-to:mime-version:content-type: return-path:x-originalarrivaltime; b=odEfQV/5qjMwFr8MEaUv4PfTH6YZvK3dWHz+urq6kd3KDlRTmfrQDPDcBkJvfHzQ
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXBH01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.4675);  Thu, 29 Apr 2010 10:21:36 -0700
Received: from 10.72.76.73 ([10.72.76.73]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.59]) with Microsoft Exchange Server HTTP-DAV ; Thu, 29 Apr 2010 17:21:20 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Thu, 29 Apr 2010 10:21:18 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: David Recordon <recordond@gmail.com>, Tosh Meston <tosh.meston@gmail.com>,  <oauth@ietf.org>
Message-ID: <C7FF0E1E.2D3AD%atom@yahoo-inc.com>
Thread-Topic: [OAUTH-WG] Username and Password Flow and oauth_client_secret
Thread-Index: AcrnwGD2NGjOXHZpd0ql7OJA+vGtTg==
In-Reply-To: <m2gfd6741651004282028x180a469bl942f556e46d4a443@mail.gmail.com>
Mime-version: 1.0
Content-type: multipart/alternative; boundary="B_3355381278_11765901"
X-OriginalArrivalTime: 29 Apr 2010 17:21:36.0239 (UTC) FILETIME=[6BD5C7F0:01CAE7C0]
Subject: Re: [OAUTH-WG] Username and Password Flow and oauth_client_secret
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Apr 2010 17:22:31 -0000

> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3355381278_11765901
Content-type: text/plain;
	charset="US-ASCII"
Content-transfer-encoding: 7bit

As an additional datapoint, Yahoo only offers the equivalent of the
username/password flow (using our proprietary token auth API) for a very
small number of partners, and only when using a browser not feasible.

Allen

On 4/28/10 8:28 PM, "David Recordon" <recordond@gmail.com> wrote:

> I realize that this doesn't work generically, but at Facebook we only plan to
> offer the username/password flow to a small number of partners.
> 
> [...]
> 
> I believe Google is going to solve this problem by not supporting the
> username/password flow in the first place.
> 
> --David


--B_3355381278_11765901
Content-type: text/html;
	charset="US-ASCII"
Content-transfer-encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re: [OAUTH-WG] Username and Password Flow and oauth_client_secret</T=
ITLE>
</HEAD>
<BODY>
<FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:11pt=
'>As an additional datapoint, Yahoo only offers the equivalent of the userna=
me/password flow (using our proprietary token auth API) for a very small num=
ber of partners, and only when using a browser not feasible. <BR>
<BR>
Allen<BR>
<BR>
On 4/28/10 8:28 PM, &quot;David Recordon&quot; &lt;<a href=3D"recordond@gmail=
.com">recordond@gmail.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"><=
SPAN STYLE=3D'font-size:11pt'>I realize that this doesn't work generically, bu=
t at Facebook we only plan to offer the username/password flow to a small nu=
mber of partners. <BR>
<BR>
[...]<BR>
<BR>
I believe Google is going to solve this problem by not supporting the usern=
ame/password flow in the first place.<BR>
<BR>
--David<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--B_3355381278_11765901--


From lindner@inuus.com  Thu Apr 29 11:19:17 2010
Return-Path: <lindner@inuus.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7E37128C253 for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 11:19:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.976
X-Spam-Level: 
X-Spam-Status: No, score=-1.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id W4yIi-Gi2EpY for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 11:19:16 -0700 (PDT)
Received: from mail-pw0-f44.google.com (mail-pw0-f44.google.com [209.85.160.44]) by core3.amsl.com (Postfix) with ESMTP id 760533A69A9 for <oauth@ietf.org>; Thu, 29 Apr 2010 11:18:58 -0700 (PDT)
Received: by pwj2 with SMTP id 2so11308067pwj.31 for <oauth@ietf.org>; Thu, 29 Apr 2010 11:18:42 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.107.3 with SMTP id j3mr9811884rvm.283.1272564804728; Thu,  29 Apr 2010 11:13:24 -0700 (PDT)
Received: by 10.140.199.12 with HTTP; Thu, 29 Apr 2010 11:13:23 -0700 (PDT)
In-Reply-To: <k2tce1325031004290824w4cb24792n8c048832cc649821@mail.gmail.com>
References: <k2tce1325031004290824w4cb24792n8c048832cc649821@mail.gmail.com>
Date: Thu, 29 Apr 2010 11:13:23 -0700
Message-ID: <h2ub71cdca91004291113geec3b3a9l8c43fdf49f7e6d2c@mail.gmail.com>
From: Paul Lindner <lindner@inuus.com>
To: Pelle Braendgaard <pelle@stakeventures.com>
Content-Type: multipart/alternative; boundary=000e0cd137be23b6240485641558
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Facebook access_token vs OAuth 2.0 spec oauth_token inconsistency
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Apr 2010 18:19:17 -0000

--000e0cd137be23b6240485641558
Content-Type: text/plain; charset=ISO-8859-1

I'm also not happy that they are allowing bearer-token access to these
resources via non-SSL requests.   I'd hate to see such an insecure practice
gain traction before the protocol is even out the door.  (You just know that
people will implement things "like facebook")


On Thu, Apr 29, 2010 at 8:24 AM, Pelle Braendgaard
<pelle@stakeventures.com>wrote:

> Just working on adding OAuth 2.0 support to the Ruby OAuth Plugin and
> I noticed that the facebook documentations says to use the
> access_token parameter like this:
>
>  https://graph.facebook.com/me?access_token=...
> (http://developers.facebook.com/docs/authentication/)
>
> But in the specs it specifies that it should use the oauth_token
> parameter http://tools.ietf.org/html/draft-hammer-oauth2-00#section-5.2.1
> :
>
>  When including the access token in the HTTP request URI, the client
>   adds the access token to the request URI query component as defined
>   by [RFC3986] using the "oauth_token" parameter.
>
>  For example, the client makes the following HTTPS request:
>
>
>     GET /resource?oauth_token=vF9dft4qmT HTTP/1.1
>     Host: server.example.com
>
> Does anyone know what the deal is. Will Facebook also support
> oauth_token or will we have to support both types?
>
> P
>
> --
> http://agree2.com - Reach Agreement!
> http://extraeagle.com - Solutions for the electronic Extra Legal world
> http://stakeventures.com - Bootstrapping blog
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--000e0cd137be23b6240485641558
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I&#39;m also not happy that they are allowing bearer-token access to these =
resources via non-SSL requests. =A0 I&#39;d hate to see such an insecure pr=
actice gain traction before the protocol is even out the door. =A0(You just=
 know that people will implement things &quot;like facebook&quot;)<div>
<br></div><div><div><br><div class=3D"gmail_quote">On Thu, Apr 29, 2010 at =
8:24 AM, Pelle Braendgaard <span dir=3D"ltr">&lt;<a href=3D"mailto:pelle@st=
akeventures.com">pelle@stakeventures.com</a>&gt;</span> wrote:<br><blockquo=
te class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc so=
lid;padding-left:1ex;">
Just working on adding OAuth 2.0 support to the Ruby OAuth Plugin and<br>
I noticed that the facebook documentations says to use the<br>
access_token parameter like this:<br>
<br>
 =A0<a href=3D"https://graph.facebook.com/me?access_token=3D." target=3D"_b=
lank">https://graph.facebook.com/me?access_token=3D.</a>..<br>
(<a href=3D"http://developers.facebook.com/docs/authentication/" target=3D"=
_blank">http://developers.facebook.com/docs/authentication/</a>)<br>
<br>
But in the specs it specifies that it should use the oauth_token<br>
parameter <a href=3D"http://tools.ietf.org/html/draft-hammer-oauth2-00#sect=
ion-5.2.1" target=3D"_blank">http://tools.ietf.org/html/draft-hammer-oauth2=
-00#section-5.2.1</a><br>
:<br>
<br>
 =A0When including the access token in the HTTP request URI, the client<br>
 =A0 adds the access token to the request URI query component as defined<br=
>
 =A0 by [RFC3986] using the &quot;oauth_token&quot; parameter.<br>
<br>
 =A0For example, the client makes the following HTTPS request:<br>
<br>
<br>
 =A0 =A0 GET /resource?oauth_token=3DvF9dft4qmT HTTP/1.1<br>
 =A0 =A0 Host: <a href=3D"http://server.example.com" target=3D"_blank">serv=
er.example.com</a><br>
<br>
Does anyone know what the deal is. Will Facebook also support<br>
oauth_token or will we have to support both types?<br>
<br>
P<br>
<font color=3D"#888888"><br>
--<br>
<a href=3D"http://agree2.com" target=3D"_blank">http://agree2.com</a> - Rea=
ch Agreement!<br>
<a href=3D"http://extraeagle.com" target=3D"_blank">http://extraeagle.com</=
a> - Solutions for the electronic Extra Legal world<br>
<a href=3D"http://stakeventures.com" target=3D"_blank">http://stakeventures=
.com</a> - Bootstrapping blog<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</font></blockquote></div><br></div></div>

--000e0cd137be23b6240485641558--

From recordond@gmail.com  Thu Apr 29 11:35:56 2010
Return-Path: <recordond@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E32353A6A49 for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 11:35:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.544
X-Spam-Level: 
X-Spam-Status: No, score=-2.544 tagged_above=-999 required=5 tests=[AWL=0.054,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rzAiaFN2Plcy for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 11:35:55 -0700 (PDT)
Received: from mail-iw0-f191.google.com (mail-iw0-f191.google.com [209.85.223.191]) by core3.amsl.com (Postfix) with ESMTP id 936103A68FA for <oauth@ietf.org>; Thu, 29 Apr 2010 11:35:55 -0700 (PDT)
Received: by iwn29 with SMTP id 29so12034819iwn.17 for <oauth@ietf.org>; Thu, 29 Apr 2010 11:35:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=jRIFVxqsJpLPopC4Uc3Z7OJYwTu9gY4p5lMv/kaV5vk=; b=wIHtYevODLOq4S1/usKQBf5B5VQ/C1wh8C8+L2OSnnhMD7JFO8L4qRCOA19ZFbnNN4 CpuAgH/Y3jMH0uYb0lp2Y+LDbNxuekLX3ZUWoSvu2QspWwKFbmuCPo8C+wH/bp7Hisqn bDzQln+VqxMparT+DRSl0cHKFrUeinHLnRp+I=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=I1h3eaF0ECVfXgev7bZCYpB9v0YUmyso5uJmnRd5iyh0cX4cBUFo5ztAqrOKJAuU6Q 9IVDtZBr5/jlOi0NyA5+Y0z06Hv/dZbtXVckTRanoOmHgbAyuOZFwi2LvQM+MN1aUQ1i AN6UN62U8tvnGfbeVGykI0xAtpbXOjEnb9C1k=
MIME-Version: 1.0
Received: by 10.231.172.209 with SMTP id m17mr71977ibz.33.1272566138544; Thu,  29 Apr 2010 11:35:38 -0700 (PDT)
Received: by 10.231.182.146 with HTTP; Thu, 29 Apr 2010 11:35:38 -0700 (PDT)
In-Reply-To: <h2ub71cdca91004291113geec3b3a9l8c43fdf49f7e6d2c@mail.gmail.com>
References: <k2tce1325031004290824w4cb24792n8c048832cc649821@mail.gmail.com> <h2ub71cdca91004291113geec3b3a9l8c43fdf49f7e6d2c@mail.gmail.com>
Date: Thu, 29 Apr 2010 14:35:38 -0400
Message-ID: <h2lfd6741651004291135hdcb71947l7facc9b4c7b3c894@mail.gmail.com>
From: David Recordon <recordond@gmail.com>
To: Paul Lindner <lindner@inuus.com>
Content-Type: multipart/alternative; boundary=001636c92ccfa4218604856464f7
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Facebook access_token vs OAuth 2.0 spec oauth_token inconsistency
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Apr 2010 18:35:57 -0000

--001636c92ccfa4218604856464f7
Content-Type: text/plain; charset=ISO-8859-1

@Paul, we're fixing that! I believe the code to reject access tokens over
HTTP is checked in but just not pushed yet.

On Thu, Apr 29, 2010 at 2:13 PM, Paul Lindner <lindner@inuus.com> wrote:

> I'm also not happy that they are allowing bearer-token access to these
> resources via non-SSL requests.   I'd hate to see such an insecure practice
> gain traction before the protocol is even out the door.  (You just know that
> people will implement things "like facebook")
>
>
> On Thu, Apr 29, 2010 at 8:24 AM, Pelle Braendgaard <
> pelle@stakeventures.com> wrote:
>
>> Just working on adding OAuth 2.0 support to the Ruby OAuth Plugin and
>> I noticed that the facebook documentations says to use the
>> access_token parameter like this:
>>
>>  https://graph.facebook.com/me?access_token=...
>> (http://developers.facebook.com/docs/authentication/)
>>
>> But in the specs it specifies that it should use the oauth_token
>> parameter http://tools.ietf.org/html/draft-hammer-oauth2-00#section-5.2.1
>> :
>>
>>  When including the access token in the HTTP request URI, the client
>>   adds the access token to the request URI query component as defined
>>   by [RFC3986] using the "oauth_token" parameter.
>>
>>  For example, the client makes the following HTTPS request:
>>
>>
>>     GET /resource?oauth_token=vF9dft4qmT HTTP/1.1
>>     Host: server.example.com
>>
>> Does anyone know what the deal is. Will Facebook also support
>> oauth_token or will we have to support both types?
>>
>> P
>>
>> --
>> http://agree2.com - Reach Agreement!
>> http://extraeagle.com - Solutions for the electronic Extra Legal world
>> http://stakeventures.com - Bootstrapping blog
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

--001636c92ccfa4218604856464f7
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

@Paul, we&#39;re fixing that! I believe the code to reject access tokens ov=
er HTTP is checked in but just not pushed yet.<br><br><div class=3D"gmail_q=
uote">On Thu, Apr 29, 2010 at 2:13 PM, Paul Lindner <span dir=3D"ltr">&lt;<=
a href=3D"mailto:lindner@inuus.com">lindner@inuus.com</a>&gt;</span> wrote:=
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">I&#39;m also not happy that they are allowi=
ng bearer-token access to these resources via non-SSL requests. =A0 I&#39;d=
 hate to see such an insecure practice gain traction before the protocol is=
 even out the door. =A0(You just know that people will implement things &qu=
ot;like facebook&quot;)<div>
<div></div><div class=3D"h5"><div>
<br></div><div><div><br><div class=3D"gmail_quote">On Thu, Apr 29, 2010 at =
8:24 AM, Pelle Braendgaard <span dir=3D"ltr">&lt;<a href=3D"mailto:pelle@st=
akeventures.com" target=3D"_blank">pelle@stakeventures.com</a>&gt;</span> w=
rote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
Just working on adding OAuth 2.0 support to the Ruby OAuth Plugin and<br>
I noticed that the facebook documentations says to use the<br>
access_token parameter like this:<br>
<br>
 =A0<a href=3D"https://graph.facebook.com/me?access_token=3D." target=3D"_b=
lank">https://graph.facebook.com/me?access_token=3D.</a>..<br>
(<a href=3D"http://developers.facebook.com/docs/authentication/" target=3D"=
_blank">http://developers.facebook.com/docs/authentication/</a>)<br>
<br>
But in the specs it specifies that it should use the oauth_token<br>
parameter <a href=3D"http://tools.ietf.org/html/draft-hammer-oauth2-00#sect=
ion-5.2.1" target=3D"_blank">http://tools.ietf.org/html/draft-hammer-oauth2=
-00#section-5.2.1</a><br>
:<br>
<br>
 =A0When including the access token in the HTTP request URI, the client<br>
 =A0 adds the access token to the request URI query component as defined<br=
>
 =A0 by [RFC3986] using the &quot;oauth_token&quot; parameter.<br>
<br>
 =A0For example, the client makes the following HTTPS request:<br>
<br>
<br>
 =A0 =A0 GET /resource?oauth_token=3DvF9dft4qmT HTTP/1.1<br>
 =A0 =A0 Host: <a href=3D"http://server.example.com" target=3D"_blank">serv=
er.example.com</a><br>
<br>
Does anyone know what the deal is. Will Facebook also support<br>
oauth_token or will we have to support both types?<br>
<br>
P<br>
<font color=3D"#888888"><br>
--<br>
<a href=3D"http://agree2.com" target=3D"_blank">http://agree2.com</a> - Rea=
ch Agreement!<br>
<a href=3D"http://extraeagle.com" target=3D"_blank">http://extraeagle.com</=
a> - Solutions for the electronic Extra Legal world<br>
<a href=3D"http://stakeventures.com" target=3D"_blank">http://stakeventures=
.com</a> - Bootstrapping blog<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</font></blockquote></div><br></div></div>
</div></div><br>_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></blockquote></div><br>

--001636c92ccfa4218604856464f7--

From lindner@inuus.com  Thu Apr 29 11:47:00 2010
Return-Path: <lindner@inuus.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C52083A697B for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 11:47:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.326
X-Spam-Level: 
X-Spam-Status: No, score=-1.326 tagged_above=-999 required=5 tests=[AWL=0.650,  BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sm0ZoZqTZ6XI for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 11:46:59 -0700 (PDT)
Received: from mail-pv0-f172.google.com (mail-pv0-f172.google.com [74.125.83.172]) by core3.amsl.com (Postfix) with ESMTP id 88E943A67C0 for <oauth@ietf.org>; Thu, 29 Apr 2010 11:46:59 -0700 (PDT)
Received: by pvg6 with SMTP id 6so128339pvg.31 for <oauth@ietf.org>; Thu, 29 Apr 2010 11:46:43 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.187.13 with SMTP id o13mr3900442rvp.24.1272566803045; Thu,  29 Apr 2010 11:46:43 -0700 (PDT)
Received: by 10.140.199.12 with HTTP; Thu, 29 Apr 2010 11:46:42 -0700 (PDT)
In-Reply-To: <h2lfd6741651004291135hdcb71947l7facc9b4c7b3c894@mail.gmail.com>
References: <k2tce1325031004290824w4cb24792n8c048832cc649821@mail.gmail.com> <h2ub71cdca91004291113geec3b3a9l8c43fdf49f7e6d2c@mail.gmail.com> <h2lfd6741651004291135hdcb71947l7facc9b4c7b3c894@mail.gmail.com>
Date: Thu, 29 Apr 2010 11:46:42 -0700
Message-ID: <l2wb71cdca91004291146xa179cc8duf9fb3090ab74fcc5@mail.gmail.com>
From: Paul Lindner <lindner@inuus.com>
To: David Recordon <recordond@gmail.com>
Content-Type: multipart/alternative; boundary=000e0cd1ac543f9e0b0485648c88
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Facebook access_token vs OAuth 2.0 spec oauth_token inconsistency
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Apr 2010 18:47:00 -0000

--000e0cd1ac543f9e0b0485648c88
Content-Type: text/plain; charset=ISO-8859-1

Thanks David, glad to hear that these changes are coming.

On Thu, Apr 29, 2010 at 11:35 AM, David Recordon <recordond@gmail.com>wrote:

> @Paul, we're fixing that! I believe the code to reject access tokens over
> HTTP is checked in but just not pushed yet.
>
>
> On Thu, Apr 29, 2010 at 2:13 PM, Paul Lindner <lindner@inuus.com> wrote:
>
>> I'm also not happy that they are allowing bearer-token access to these
>> resources via non-SSL requests.   I'd hate to see such an insecure practice
>> gain traction before the protocol is even out the door.  (You just know that
>> people will implement things "like facebook")
>>
>>
>> On Thu, Apr 29, 2010 at 8:24 AM, Pelle Braendgaard <
>> pelle@stakeventures.com> wrote:
>>
>>> Just working on adding OAuth 2.0 support to the Ruby OAuth Plugin and
>>> I noticed that the facebook documentations says to use the
>>> access_token parameter like this:
>>>
>>>  https://graph.facebook.com/me?access_token=...
>>> (http://developers.facebook.com/docs/authentication/)
>>>
>>> But in the specs it specifies that it should use the oauth_token
>>> parameter
>>> http://tools.ietf.org/html/draft-hammer-oauth2-00#section-5.2.1
>>> :
>>>
>>>  When including the access token in the HTTP request URI, the client
>>>   adds the access token to the request URI query component as defined
>>>   by [RFC3986] using the "oauth_token" parameter.
>>>
>>>  For example, the client makes the following HTTPS request:
>>>
>>>
>>>     GET /resource?oauth_token=vF9dft4qmT HTTP/1.1
>>>     Host: server.example.com
>>>
>>> Does anyone know what the deal is. Will Facebook also support
>>> oauth_token or will we have to support both types?
>>>
>>> P
>>>
>>> --
>>> http://agree2.com - Reach Agreement!
>>> http://extraeagle.com - Solutions for the electronic Extra Legal world
>>> http://stakeventures.com - Bootstrapping blog
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>

--000e0cd1ac543f9e0b0485648c88
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Thanks David, glad to hear that these changes are coming.<br><br><div class=
=3D"gmail_quote">On Thu, Apr 29, 2010 at 11:35 AM, David Recordon <span dir=
=3D"ltr">&lt;<a href=3D"mailto:recordond@gmail.com">recordond@gmail.com</a>=
&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">@Paul, we&#39;re fixing that! I believe the=
 code to reject access tokens over HTTP is checked in but just not pushed y=
et.<div>
<div></div><div class=3D"h5"><br><br><div class=3D"gmail_quote">On Thu, Apr=
 29, 2010 at 2:13 PM, Paul Lindner <span dir=3D"ltr">&lt;<a href=3D"mailto:=
lindner@inuus.com" target=3D"_blank">lindner@inuus.com</a>&gt;</span> wrote=
:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">I&#39;m also not happy that they are allowin=
g bearer-token access to these resources via non-SSL requests. =A0 I&#39;d =
hate to see such an insecure practice gain traction before the protocol is =
even out the door. =A0(You just know that people will implement things &quo=
t;like facebook&quot;)<div>

<div></div><div><div>
<br></div><div><div><br><div class=3D"gmail_quote">On Thu, Apr 29, 2010 at =
8:24 AM, Pelle Braendgaard <span dir=3D"ltr">&lt;<a href=3D"mailto:pelle@st=
akeventures.com" target=3D"_blank">pelle@stakeventures.com</a>&gt;</span> w=
rote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
Just working on adding OAuth 2.0 support to the Ruby OAuth Plugin and<br>
I noticed that the facebook documentations says to use the<br>
access_token parameter like this:<br>
<br>
 =A0<a href=3D"https://graph.facebook.com/me?access_token=3D." target=3D"_b=
lank">https://graph.facebook.com/me?access_token=3D.</a>..<br>
(<a href=3D"http://developers.facebook.com/docs/authentication/" target=3D"=
_blank">http://developers.facebook.com/docs/authentication/</a>)<br>
<br>
But in the specs it specifies that it should use the oauth_token<br>
parameter <a href=3D"http://tools.ietf.org/html/draft-hammer-oauth2-00#sect=
ion-5.2.1" target=3D"_blank">http://tools.ietf.org/html/draft-hammer-oauth2=
-00#section-5.2.1</a><br>
:<br>
<br>
 =A0When including the access token in the HTTP request URI, the client<br>
 =A0 adds the access token to the request URI query component as defined<br=
>
 =A0 by [RFC3986] using the &quot;oauth_token&quot; parameter.<br>
<br>
 =A0For example, the client makes the following HTTPS request:<br>
<br>
<br>
 =A0 =A0 GET /resource?oauth_token=3DvF9dft4qmT HTTP/1.1<br>
 =A0 =A0 Host: <a href=3D"http://server.example.com" target=3D"_blank">serv=
er.example.com</a><br>
<br>
Does anyone know what the deal is. Will Facebook also support<br>
oauth_token or will we have to support both types?<br>
<br>
P<br>
<font color=3D"#888888"><br>
--<br>
<a href=3D"http://agree2.com" target=3D"_blank">http://agree2.com</a> - Rea=
ch Agreement!<br>
<a href=3D"http://extraeagle.com" target=3D"_blank">http://extraeagle.com</=
a> - Solutions for the electronic Extra Legal world<br>
<a href=3D"http://stakeventures.com" target=3D"_blank">http://stakeventures=
.com</a> - Bootstrapping blog<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</font></blockquote></div><br></div></div>
</div></div><br>_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
<br></blockquote></div><br>
</div></div></blockquote></div><br>

--000e0cd1ac543f9e0b0485648c88--

From pelleb@gmail.com  Thu Apr 29 12:13:07 2010
Return-Path: <pelleb@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A41F228C197 for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 12:13:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.677
X-Spam-Level: 
X-Spam-Status: No, score=-0.677 tagged_above=-999 required=5 tests=[AWL=1.300,  BAYES_00=-2.599, FM_FORGED_GMAIL=0.622]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VLT5RpDXj+M6 for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 12:13:06 -0700 (PDT)
Received: from mail-fx0-f44.google.com (mail-fx0-f44.google.com [209.85.161.44]) by core3.amsl.com (Postfix) with ESMTP id 53D6628C0E4 for <oauth@ietf.org>; Thu, 29 Apr 2010 12:13:06 -0700 (PDT)
Received: by fxm4 with SMTP id 4so1413130fxm.31 for <oauth@ietf.org>; Thu, 29 Apr 2010 12:12:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:sender:received :in-reply-to:references:date:x-google-sender-auth:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=/gXvRllF11syv+qnJqeE5onJgG8eBFr42oR1Rc6m4nA=; b=ABF0ncvUBBvQDwVlPOi9kBN9xQb4aqepykl/y0K5TIdbMqj94ypU5yhq8l4cerVEka /Kv19XpgGDf1gMnvc4F1VgXc/G0ebw/4iFYWu1fY2jvbTtG/LSqO8X06UlaeB4ihVq90 EW5z+Q//oSj8uMyGgVnS5EP/G8EuVLiBWNJso=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=J5uP380F3wUE4mJ/trwCZtr/lW+YG+4vQj3I/qYMGedDz6TkgT/e3LxMTDgq/zh/vF O+EOqmkyE6ZMqiSsfDXg7oZjr5PA9v9vvhqPw8EtbRr0E4GBjIYNW0luQ3HPOs3n+FH6 PGKZQ9wFFc5jgsIpTqag98hNhq/6oJb44VJTo=
MIME-Version: 1.0
Received: by 10.223.65.18 with SMTP id g18mr907394fai.32.1272568369304; Thu,  29 Apr 2010 12:12:49 -0700 (PDT)
Sender: pelleb@gmail.com
Received: by 10.223.111.205 with HTTP; Thu, 29 Apr 2010 12:12:49 -0700 (PDT)
In-Reply-To: <h2lfd6741651004291135hdcb71947l7facc9b4c7b3c894@mail.gmail.com>
References: <k2tce1325031004290824w4cb24792n8c048832cc649821@mail.gmail.com> <h2ub71cdca91004291113geec3b3a9l8c43fdf49f7e6d2c@mail.gmail.com> <h2lfd6741651004291135hdcb71947l7facc9b4c7b3c894@mail.gmail.com>
Date: Thu, 29 Apr 2010 15:12:49 -0400
X-Google-Sender-Auth: e58c6bc0db18d085
Message-ID: <j2vce1325031004291212u8b60b511j80d9f9ce9aca3e57@mail.gmail.com>
From: Pelle Braendgaard <pelle@stakeventures.com>
To: David Recordon <recordond@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Facebook access_token vs OAuth 2.0 spec oauth_token inconsistency
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Apr 2010 19:13:07 -0000

Hi David,
Just a couple of follow up questions, which I probably could test
myself, but if you know off the top of your head it would be great to
document here:

- Do you support the Authorize header or Post encoded variations?
- Do you also support the oauth_token field
- Do you support the signed version or only the bearer version of the
resource access protocol

Thanks for your help so we can get more library support out there ASAP.

Pelle

On Thu, Apr 29, 2010 at 2:35 PM, David Recordon <recordond@gmail.com> wrote=
:
> @Paul, we're fixing that! I believe the code to reject access tokens over
> HTTP is checked in but just not pushed yet.
>
> On Thu, Apr 29, 2010 at 2:13 PM, Paul Lindner <lindner@inuus.com> wrote:
>>
>> I'm also not happy that they are allowing bearer-token access to these
>> resources via non-SSL requests. =C2=A0 I'd hate to see such an insecure =
practice
>> gain traction before the protocol is even out the door. =C2=A0(You just =
know that
>> people will implement things "like facebook")
>>
>> On Thu, Apr 29, 2010 at 8:24 AM, Pelle Braendgaard
>> <pelle@stakeventures.com> wrote:
>>>
>>> Just working on adding OAuth 2.0 support to the Ruby OAuth Plugin and
>>> I noticed that the facebook documentations says to use the
>>> access_token parameter like this:
>>>
>>> =C2=A0https://graph.facebook.com/me?access_token=3D...
>>> (http://developers.facebook.com/docs/authentication/)
>>>
>>> But in the specs it specifies that it should use the oauth_token
>>> parameter http://tools.ietf.org/html/draft-hammer-oauth2-00#section-5.2=
.1
>>> :
>>>
>>> =C2=A0When including the access token in the HTTP request URI, the clie=
nt
>>> =C2=A0 adds the access token to the request URI query component as defi=
ned
>>> =C2=A0 by [RFC3986] using the "oauth_token" parameter.
>>>
>>> =C2=A0For example, the client makes the following HTTPS request:
>>>
>>>
>>> =C2=A0 =C2=A0 GET /resource?oauth_token=3DvF9dft4qmT HTTP/1.1
>>> =C2=A0 =C2=A0 Host: server.example.com
>>>
>>> Does anyone know what the deal is. Will Facebook also support
>>> oauth_token or will we have to support both types?
>>>
>>> P
>>>
>>> --
>>> http://agree2.com - Reach Agreement!
>>> http://extraeagle.com - Solutions for the electronic Extra Legal world
>>> http://stakeventures.com - Bootstrapping blog
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>
>



--=20
http://agree2.com - Reach Agreement!
http://extraeagle.com - Solutions for the electronic Extra Legal world
http://stakeventures.com - Bootstrapping blog

From root@core3.amsl.com  Thu Apr 29 12:30:02 2010
Return-Path: <root@core3.amsl.com>
X-Original-To: oauth@ietf.org
Delivered-To: oauth@core3.amsl.com
Received: by core3.amsl.com (Postfix, from userid 0) id 4767A3A6B57; Thu, 29 Apr 2010 12:30:02 -0700 (PDT)
From: Internet-Drafts@ietf.org
To: i-d-announce@ietf.org
Content-Type: Multipart/Mixed; Boundary="NextPart"
Mime-Version: 1.0
Message-Id: <20100429193002.4767A3A6B57@core3.amsl.com>
Date: Thu, 29 Apr 2010 12:30:02 -0700 (PDT)
Cc: oauth@ietf.org
Subject: [OAUTH-WG] I-D Action:draft-ietf-oauth-v2-00.txt
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Apr 2010 19:30:02 -0000

--NextPart

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Open Authentication Protocol Working Group of the IETF.


	Title           : The OAuth 2.0 Protocol
	Author(s)       : E. Hammer-Lahav, et al.
	Filename        : draft-ietf-oauth-v2-00.txt
	Pages           : 49
	Date            : 2010-04-29

This specification describes the OAuth 2.0 protocol.  OAuth provides
a method for making authenticated HTTP requests using a token - an
identifier used to denote an access grant with specific scope,
duration, and other attributes.  Tokens are issued to third-party
clients by an authorization server with the approval of the resource
owner.  OAuth defines multiple flows for obtaining a token to support
a wide range of client types and user experience.

A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-ietf-oauth-v2-00.txt

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/

Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version of the
Internet-Draft.

--NextPart
Content-Type: Message/External-body;
	name="draft-ietf-oauth-v2-00.txt";
	site="ftp.ietf.org";
	access-type="anon-ftp";
	directory="internet-drafts"

Content-Type: text/plain
Content-ID: <2010-04-29122702.I-D@ietf.org>


--NextPart--

From torsten@lodderstedt.net  Thu Apr 29 12:46:08 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 797503A6ACC for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 12:46:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.627
X-Spam-Level: 
X-Spam-Status: No, score=-0.627 tagged_above=-999 required=5 tests=[AWL=-0.978, BAYES_50=0.001, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Q40blFsU0+SO for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 12:46:07 -0700 (PDT)
Received: from smtprelay03.ispgateway.de (smtprelay03.ispgateway.de [80.67.29.7]) by core3.amsl.com (Postfix) with ESMTP id 85ED93A6A2F for <oauth@ietf.org>; Thu, 29 Apr 2010 12:46:06 -0700 (PDT)
Received: from p4fff2ffd.dip.t-dialin.net ([79.255.47.253] helo=[127.0.0.1]) by smtprelay03.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O7ZgC-0007CG-Uu; Thu, 29 Apr 2010 21:45:49 +0200
Message-ID: <4BD9E1E3.7060107@lodderstedt.net>
Date: Thu, 29 Apr 2010 21:45:39 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Robert Sayre <sayrer@gmail.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com>	 <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET>	 <20100419134825.134951nuzvi35hk4@webmail.df.eu>	 <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET>	 <4BD2A172.2070401@lodderstedt.net> <4BD8869A.2080403@lodderstedt.net>	 <s2zc334d54e1004281425x5e714eebwcd5a91af593a62ac@mail.gmail.com> <v2j68fba5c51004282044o3a5f96cfucb1157d3884d8cd2@mail.gmail.com>
In-Reply-To: <v2j68fba5c51004282044o3a5f96cfucb1157d3884d8cd2@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: jsmarr@stanfordalumni.org, oauth@ietf.org
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON (Proposal)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Apr 2010 19:46:08 -0000

Hi all,

please find below a proposal for adding support for multiple response 
formats to the specification. I have taken the current version of the 
draft 
http://github.com/theRazorBlade/draft-ietf-oauth/raw/master/draft-ietf-oauth.txt 
and added some modifications indicated by dashed lines. Proposed changes 
to section 3.5.2 should be applied to 3.5.3, 3.6.1., 3.7.1., 3.7.2, and 
4., too.

Basically, the idea is that clients indicate the desired format using 
Accept headers (default) or request parameters (User-Agent flow) and the 
response is delivered accordingly. The formats considered are 
application/json, text/xml, and application/x-www-form-urlencoded. And 
as suggested by Joseph, parameters are encoded straight-forward as flat 
JSON object or XML document, respectively.

I would appriciate
regards,
Torsten.

3.5.2.  Web Server Flow
3.5.2.2.  Client Requests Access Token

    The client obtains an access token from the authorization server by
<snip>
    secret_type
          OPTIONAL.  The access token secret type as described by
          Section 5.3.  If omitted, the authorization server will issue a
          bearer token (an access token without a matching secret) as
          described by Section 5.2.

--------
A client may indicate the desired response format using an Accept-Header 
specifying
one of the following mime types: application/x-www-form-urlencoded, 
application/xml,
or application/json. If not specified, the default response format is 
application/json.
(Alternatively, the response format could be specified by a query parameter)
--------

    For example, the client makes the following HTTPS request (line
    breaks are for display purposes only):

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

      type=web_server&client_id=s6BhdRkqt3&
      client_secret=gX1fBat3bV&code=i1WsRn1uB1&
      redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb


    The authorization server MUST verify that the verification code,
    client identity, client secret, and redirection URI are all valid and
    match its stored association.  If the request is valid, the
    authorization server issues an access token and delivers it to the
    client in the HTTP response body using
--------
    the mime type as requested by the client or "application/json"
--------
with a 200 status code (OK).

    The response contains the following parameters:

    access_token
          REQUIRED.  The access token issued by the authorization server.

    expires_in
          OPTIONAL.  The duration in seconds of the access token
          lifetime.

    refresh_token
          OPTIONAL.  The refresh token used to obtain new access tokens
          using the same end user access grant as described in Section 4.

    access_token_secret
          REQUIRED if requested by the client.  The corresponding access
          token secret as requested by the client.

--------
    The response format depends on the requested mime type. The
    content-type header field indicates mime type and may optionaly
    indicate charset.

    "application/json": All parameters are encoded as one flat JSON object
with one key/value pair per parameter.

    For example:

      HTTP/1.1 200 OK
      Content-Type: application/json

      { "access_token": "SlAV32hkKG", "expires_in": "3600", 
"refresh_token": "8xLOxBtZp8" }

    "text/xml": All parameters are encoded as one XML document with the 
root element
<token_response>. For each parameter there is a corresponding 
sub-element with
the parameter name containing the respectives parameters value.

    For example:

      HTTP/1.1 200 OK
      Content-Type: text/xml

<token_response>
<access_token>SlAV32hkKG
<expires_in>3600</expires_in>
<refresh_token>8xLOxBtZp8</refresh_token>
</token_response>

    "application/x-www-form-urlencoded": parameters are encoded as 
name/value pairs
--------
    For example:

      HTTP/1.1 200 OK
      Content-Type: application/x-www-form-urlencoded

      access_token=SlAV32hkKG&expires_in=3600&refresh_token=8xLOxBtZp8


    If the request is invalid, the authorization server returns an error
    message in the HTTP response body using the
--------
    the mime type as requested by the client or "application/json"
--------
    with a 400 status code (Bad Request).

    The response contains the following parameter:

    error
          OPTIONAL.  The parameter value MUST be set to either
          "redirect_uri_mismatch" or "expired_verification_code" (case
          sensitive).

--------
    The response format depends on the requested mime type. The response
rendering follows the rules as specified above.
--------
For example:

--------
      HTTP/1.1 400 Bad Request
      Content-Type: application/json

      { "error"="expired_verification_code" }

--------
3.5.1.  User-Agent Flow
3.5.1.1.  Client Requests Authorization

    In order for the end user to grant the client access, the client
    sends the end user to the authorization server.  The client
    constructs the request URI by adding the following URI query
    parameters to the user authorization endpoint URI:
<snip>
--------
response_format
          OPTIONAL. Indicates the format used to deliver token data and
          errors to the client. The parameter value MUST be set to 
"text/xml",
          "application/json", or "application/x-www-form-urlencoded". 
Defaults
          to "application/json" if omitted.

--------
3.5.1.1.1.  End User Grants Authorization

    If the end user authorizes the access request, the authorization
    server issues an access token and delivers it to the client by adding
    the following parameters, using the
--------
    mime type as indicated by "response_format"
--------
to the redirection URI fragment:

    access_token
          REQUIRED.  The access token.

    expires_in
          OPTIONAL.  The duration in seconds of the access token
          lifetime.

    refresh_token
          OPTIONAL.  The refresh token.

    state
          REQUIRED if the "state" parameter was present in the client
          authorization request.  Set to the exact value received from
          the client.

    access_token_secret
          REQUIRED if requested by the client.  The corresponding access
          token secret as requested by the client.
--------
    The way and format parameters are added to the fragment depend on 
the requested mime type.

    "application/json": All parameters are encoded as one flat JSON object
with one key/value pair per parameter. This document is URL encoded and
added as parameter "oauth_response" to the fragment.

    For example, the authorization server redirects the end user's user-
    agent by sending the following HTTP response:

     HTTP/1.1 302 Found
     Location: 
http://example.com/rd#oauth_response=%7B+%22access_token%22%3A+%22SlAV32hkKG%22%2C+%22expires_in%22%3A+%223600%22%2C+%22refresh_token%22%3A+%228xLOxBtZp8%22+%7D

    "text/xml": All parameters are encoded as one XML document with the 
root element
<token_response>. For each parameter there is a corresponding 
sub-element with
the parameter name containing the respectives parameters value. The XML 
document
is URL encoded and added as parameter "oauth_response" to the fragment.

     For example:

     HTTP/1.1 302 Found
     Location: 
http://example.com/rd#oauth_response=%3Ctoken_response%3E%3Caccess_token%3ESlAV32hkKG%3Cexpires_in%3E3600%3C%2Fexpires_in%3E%3Crefresh_token%3E8xLOxBtZp8%3C%2Frefresh_token%3E%3C%2Ftoken_response%3E

    "application/x-www-form-urlencoded": All parameter are directly 
added as
    parameters to the redirection URI fragment.
--------
    For example:

     HTTP/1.1 302 Found
     Location: http://example.com/rd#access_token=FJQbwq9&expires_in=3600

3.5.1.1.2.  End User Denies Authorization

    If the end user denied the access request, the authorization server
    responds to the client by adding the following parameters, using the
--------
    mime type as indicated by "response_format"
--------
to the redirection URI fragment:

    error
          REQUIRED.  The parameter value MUST be set to "user_denied"
          (case sensitive).

    state
          REQUIRED if the "state" parameter was present in the client
          authorization request.  Set to the exact value received from
          the client.
--------
     The way and format parameters are added to the fragment depend on the
requested mime type and follows the same rules as specified above.
--------
    For example, the authorization server responds with the following:

      HTTP/1.1 302 Found
      Location: 
http://example.com/rd#oauth_response=%7b+%22error%22%3d%22user%5fdenied%22%7d


From eran@hueniverse.com  Thu Apr 29 13:09:50 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6E9E73A697F for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 13:09:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.619
X-Spam-Level: 
X-Spam-Status: No, score=-1.619 tagged_above=-999 required=5 tests=[AWL=-0.879, BAYES_20=-0.74]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Qh8ubWflW28p for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 13:09:49 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 54ECC3A6953 for <oauth@ietf.org>; Thu, 29 Apr 2010 13:09:49 -0700 (PDT)
Received: (qmail 10795 invoked from network); 29 Apr 2010 20:09:35 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 29 Apr 2010 20:09:35 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Thu, 29 Apr 2010 13:09:32 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: "Brian Eaton (beaton@google.com)" <beaton@google.com>
Date: Thu, 29 Apr 2010 13:09:29 -0700
Thread-Topic: [OAUTH-WG] misc comments on draft
Thread-Index: AcriffBdeSFCKNRoRZWdslYCVXmJcwFT1kcg
Message-ID: <90C41DD21FB7C64BB94121FBBC2E7234393217709D@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <w2udaf5b9571004221742o19b88819m37d8b80a4882c97b@mail.gmail.com>
In-Reply-To: <w2udaf5b9571004221742o19b88819m37d8b80a4882c97b@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "OAuth WG \(oauth@ietf.org\)" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] misc comments on draft
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Apr 2010 20:09:50 -0000

> access token definition is: "A unique identifier used by the client"
>=20
> I agree with Dick, tokens are not identifiers.

Please suggest text.

> "The redirection URI MUST NOT includes a query component as defined by
> [RFC3986] section 3 if the state parameter is present." -> Wow.  This is
> convoluted.  How did we get here?

See previous discussion.

> "secret_type" - wouldn't this flow always return a bearer token?

Why?

EHL


From yarong@microsoft.com  Thu Apr 29 13:49:25 2010
Return-Path: <yarong@microsoft.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 708AD28C0EE for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 13:49:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.471
X-Spam-Level: 
X-Spam-Status: No, score=-8.471 tagged_above=-999 required=5 tests=[AWL=2.128,  BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cWLGoGcdqCym for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 13:49:23 -0700 (PDT)
Received: from smtp.microsoft.com (smtp.microsoft.com [131.107.115.212]) by core3.amsl.com (Postfix) with ESMTP id 6BD353A6942 for <oauth@ietf.org>; Thu, 29 Apr 2010 13:49:23 -0700 (PDT)
Received: from TK5EX14HUBC101.redmond.corp.microsoft.com (157.54.7.153) by TK5-EXGWY-E801.partners.extranet.microsoft.com (10.251.56.50) with Microsoft SMTP Server (TLS) id 8.2.176.0; Thu, 29 Apr 2010 13:49:09 -0700
Received: from TK5EX14MBXC115.redmond.corp.microsoft.com ([169.254.4.129]) by TK5EX14HUBC101.redmond.corp.microsoft.com ([157.54.7.153]) with mapi; Thu, 29 Apr 2010 13:49:09 -0700
From: Yaron Goland <yarong@microsoft.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>, Robert Sayre <sayrer@gmail.com>
Thread-Topic: [OAUTH-WG] application/x-www-form-urlencoded vs JSON (Proposal)
Thread-Index: AQHK59S4dijkuO12aUS5QP9a3egKcZI56ujQ
Date: Thu, 29 Apr 2010 20:49:08 +0000
Message-ID: <7C01E631FF4B654FA1E783F1C0265F8C4A3EF0B0@TK5EX14MBXC115.redmond.corp.microsoft.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BD2A172.2070401@lodderstedt.net>	<4BD8869A.2080403@lodderstedt.net> <s2zc334d54e1004281425x5e714eebwcd5a91af593a62ac@mail.gmail.com> <v2j68fba5c51004282044o3a5f96cfucb1157d3884d8cd2@mail.gmail.com> <4BD9E1E3.7060107@lodderstedt.net>
In-Reply-To: <4BD9E1E3.7060107@lodderstedt.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "jsmarr@stanfordalumni.org" <jsmarr@stanfordalumni.org>, "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON (Proposal)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Apr 2010 20:49:25 -0000

Can we please just have one format, not 3? The more choices we give the mor=
e interoperability suffers.

> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> Of Torsten Lodderstedt
> Sent: Thursday, April 29, 2010 12:46 PM
> To: Robert Sayre
> Cc: jsmarr@stanfordalumni.org; oauth@ietf.org
> Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
> (Proposal)
>=20
> Hi all,
>=20
> please find below a proposal for adding support for multiple response
> formats to the specification. I have taken the current version of the dra=
ft
> http://github.com/theRazorBlade/draft-ietf-oauth/raw/master/draft-ietf-
> oauth.txt
> and added some modifications indicated by dashed lines. Proposed changes
> to section 3.5.2 should be applied to 3.5.3, 3.6.1., 3.7.1., 3.7.2, and 4=
., too.
>=20
> Basically, the idea is that clients indicate the desired format using Acc=
ept
> headers (default) or request parameters (User-Agent flow) and the
> response is delivered accordingly. The formats considered are
> application/json, text/xml, and application/x-www-form-urlencoded. And as
> suggested by Joseph, parameters are encoded straight-forward as flat JSON
> object or XML document, respectively.
>=20
> I would appriciate
> regards,
> Torsten.
>=20
> 3.5.2.  Web Server Flow
> 3.5.2.2.  Client Requests Access Token
>=20
>     The client obtains an access token from the authorization server by <=
snip>
>     secret_type
>           OPTIONAL.  The access token secret type as described by
>           Section 5.3.  If omitted, the authorization server will issue a
>           bearer token (an access token without a matching secret) as
>           described by Section 5.2.
>=20
> --------
> A client may indicate the desired response format using an Accept-Header
> specifying one of the following mime types: application/x-www-form-
> urlencoded,
> application/xml,
> or application/json. If not specified, the default response format is
> application/json.
> (Alternatively, the response format could be specified by a query paramet=
er)
> --------
>=20
>     For example, the client makes the following HTTPS request (line
>     breaks are for display purposes only):
>=20
>       POST /token HTTP/1.1
>       Host: server.example.com
>       Content-Type: application/x-www-form-urlencoded
> --------
>       Accept: application/json
> --------
>=20
>       type=3Dweb_server&client_id=3Ds6BhdRkqt3&
>       client_secret=3DgX1fBat3bV&code=3Di1WsRn1uB1&
>       redirect_uri=3Dhttps%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb
>=20
>=20
>     The authorization server MUST verify that the verification code,
>     client identity, client secret, and redirection URI are all valid and
>     match its stored association.  If the request is valid, the
>     authorization server issues an access token and delivers it to the
>     client in the HTTP response body using
> --------
>     the mime type as requested by the client or "application/json"
> --------
> with a 200 status code (OK).
>=20
>     The response contains the following parameters:
>=20
>     access_token
>           REQUIRED.  The access token issued by the authorization server.
>=20
>     expires_in
>           OPTIONAL.  The duration in seconds of the access token
>           lifetime.
>=20
>     refresh_token
>           OPTIONAL.  The refresh token used to obtain new access tokens
>           using the same end user access grant as described in Section 4.
>=20
>     access_token_secret
>           REQUIRED if requested by the client.  The corresponding access
>           token secret as requested by the client.
>=20
> --------
>     The response format depends on the requested mime type. The
>     content-type header field indicates mime type and may optionaly
>     indicate charset.
>=20
>     "application/json": All parameters are encoded as one flat JSON objec=
t
> with one key/value pair per parameter.
>=20
>     For example:
>=20
>       HTTP/1.1 200 OK
>       Content-Type: application/json
>=20
>       { "access_token": "SlAV32hkKG", "expires_in": "3600",
> "refresh_token": "8xLOxBtZp8" }
>=20
>     "text/xml": All parameters are encoded as one XML document with the
> root element <token_response>. For each parameter there is a
> corresponding sub-element with the parameter name containing the
> respectives parameters value.
>=20
>     For example:
>=20
>       HTTP/1.1 200 OK
>       Content-Type: text/xml
>=20
> <token_response>
> <access_token>SlAV32hkKG
> <expires_in>3600</expires_in>
> <refresh_token>8xLOxBtZp8</refresh_token>
> </token_response>
>=20
>     "application/x-www-form-urlencoded": parameters are encoded as
> name/value pairs
> --------
>     For example:
>=20
>       HTTP/1.1 200 OK
>       Content-Type: application/x-www-form-urlencoded
>=20
>=20
> access_token=3DSlAV32hkKG&expires_in=3D3600&refresh_token=3D8xLOxBtZp8
>=20
>=20
>     If the request is invalid, the authorization server returns an error
>     message in the HTTP response body using the
> --------
>     the mime type as requested by the client or "application/json"
> --------
>     with a 400 status code (Bad Request).
>=20
>     The response contains the following parameter:
>=20
>     error
>           OPTIONAL.  The parameter value MUST be set to either
>           "redirect_uri_mismatch" or "expired_verification_code" (case
>           sensitive).
>=20
> --------
>     The response format depends on the requested mime type. The response
> rendering follows the rules as specified above.
> --------
> For example:
>=20
> --------
>       HTTP/1.1 400 Bad Request
>       Content-Type: application/json
>=20
>       { "error"=3D"expired_verification_code" }
>=20
> --------
> 3.5.1.  User-Agent Flow
> 3.5.1.1.  Client Requests Authorization
>=20
>     In order for the end user to grant the client access, the client
>     sends the end user to the authorization server.  The client
>     constructs the request URI by adding the following URI query
>     parameters to the user authorization endpoint URI:
> <snip>
> --------
> response_format
>           OPTIONAL. Indicates the format used to deliver token data and
>           errors to the client. The parameter value MUST be set to "text/=
xml",
>           "application/json", or "application/x-www-form-urlencoded".
> Defaults
>           to "application/json" if omitted.
>=20
> --------
> 3.5.1.1.1.  End User Grants Authorization
>=20
>     If the end user authorizes the access request, the authorization
>     server issues an access token and delivers it to the client by adding
>     the following parameters, using the
> --------
>     mime type as indicated by "response_format"
> --------
> to the redirection URI fragment:
>=20
>     access_token
>           REQUIRED.  The access token.
>=20
>     expires_in
>           OPTIONAL.  The duration in seconds of the access token
>           lifetime.
>=20
>     refresh_token
>           OPTIONAL.  The refresh token.
>=20
>     state
>           REQUIRED if the "state" parameter was present in the client
>           authorization request.  Set to the exact value received from
>           the client.
>=20
>     access_token_secret
>           REQUIRED if requested by the client.  The corresponding access
>           token secret as requested by the client.
> --------
>     The way and format parameters are added to the fragment depend on the
> requested mime type.
>=20
>     "application/json": All parameters are encoded as one flat JSON objec=
t
> with one key/value pair per parameter. This document is URL encoded and
> added as parameter "oauth_response" to the fragment.
>=20
>     For example, the authorization server redirects the end user's user-
>     agent by sending the following HTTP response:
>=20
>      HTTP/1.1 302 Found
>      Location:
> http://example.com/rd#oauth_response=3D%7B+%22access_token%22%3A+
> %22SlAV32hkKG%22%2C+%22expires_in%22%3A+%223600%22%2C+%22refr
> esh_token%22%3A+%228xLOxBtZp8%22+%7D
>=20
>     "text/xml": All parameters are encoded as one XML document with the
> root element <token_response>. For each parameter there is a
> corresponding sub-element with the parameter name containing the
> respectives parameters value. The XML document is URL encoded and added
> as parameter "oauth_response" to the fragment.
>=20
>      For example:
>=20
>      HTTP/1.1 302 Found
>      Location:
> http://example.com/rd#oauth_response=3D%3Ctoken_response%3E%3Cacce
> ss_token%3ESlAV32hkKG%3Cexpires_in%3E3600%3C%2Fexpires_in%3E%3Cr
> efresh_token%3E8xLOxBtZp8%3C%2Frefresh_token%3E%3C%2Ftoken_resp
> onse%3E
>=20
>     "application/x-www-form-urlencoded": All parameter are directly added=
 as
>     parameters to the redirection URI fragment.
> --------
>     For example:
>=20
>      HTTP/1.1 302 Found
>      Location:
> http://example.com/rd#access_token=3DFJQbwq9&expires_in=3D3600
>=20
> 3.5.1.1.2.  End User Denies Authorization
>=20
>     If the end user denied the access request, the authorization server
>     responds to the client by adding the following parameters, using the
> --------
>     mime type as indicated by "response_format"
> --------
> to the redirection URI fragment:
>=20
>     error
>           REQUIRED.  The parameter value MUST be set to "user_denied"
>           (case sensitive).
>=20
>     state
>           REQUIRED if the "state" parameter was present in the client
>           authorization request.  Set to the exact value received from
>           the client.
> --------
>      The way and format parameters are added to the fragment depend on th=
e
> requested mime type and follows the same rules as specified above.
> --------
>     For example, the authorization server responds with the following:
>=20
>       HTTP/1.1 302 Found
>       Location:
> http://example.com/rd#oauth_response=3D%7b+%22error%22%3d%22user%
> 5fdenied%22%7d
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From root@core3.amsl.com  Thu Apr 29 14:15:02 2010
Return-Path: <root@core3.amsl.com>
X-Original-To: oauth@ietf.org
Delivered-To: oauth@core3.amsl.com
Received: by core3.amsl.com (Postfix, from userid 0) id 40FA33A69F2; Thu, 29 Apr 2010 14:15:01 -0700 (PDT)
From: Internet-Drafts@ietf.org
To: i-d-announce@ietf.org
Content-Type: Multipart/Mixed; Boundary="NextPart"
Mime-Version: 1.0
Message-Id: <20100429211502.40FA33A69F2@core3.amsl.com>
Date: Thu, 29 Apr 2010 14:15:02 -0700 (PDT)
Cc: oauth@ietf.org
Subject: [OAUTH-WG] I-D Action:draft-ietf-oauth-v2-01.txt
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Apr 2010 21:15:02 -0000

--NextPart

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Open Authentication Protocol Working Group of the IETF.


	Title           : The OAuth 2.0 Protocol
	Author(s)       : E. Hammer-Lahav, et al.
	Filename        : draft-ietf-oauth-v2-01.txt
	Pages           : 49
	Date            : 2010-04-29

This specification describes the OAuth 2.0 protocol.  OAuth provides
a method for making authenticated HTTP requests using a token - an
identifier used to denote an access grant with specific scope,
duration, and other attributes.  Tokens are issued to third-party
clients by an authorization server with the approval of the resource
owner.  OAuth defines multiple flows for obtaining a token to support
a wide range of client types and user experience.

A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-ietf-oauth-v2-01.txt

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/

Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version of the
Internet-Draft.

--NextPart
Content-Type: Message/External-body;
	name="draft-ietf-oauth-v2-01.txt";
	site="ftp.ietf.org";
	access-type="anon-ftp";
	directory="internet-drafts"

Content-Type: text/plain
Content-ID: <2010-04-29141456.I-D@ietf.org>


--NextPart--

From Bill_Keenan@intuit.com  Thu Apr 29 14:23:05 2010
Return-Path: <Bill_Keenan@intuit.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AE58C3A6993 for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 14:23:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.397
X-Spam-Level: 
X-Spam-Status: No, score=-6.397 tagged_above=-999 required=5 tests=[AWL=0.201,  BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id s05WYHvCpa+H for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 14:23:02 -0700 (PDT)
Received: from mail4.intuit.com (mail4.intuit.com [12.149.175.56]) by core3.amsl.com (Postfix) with ESMTP id 8223A3A68AA for <oauth@ietf.org>; Thu, 29 Apr 2010 14:23:02 -0700 (PDT)
DomainKey-Signature: s=default; d=intuit.com; c=nofws; q=dns; h=X-SBRS:X-IronPort-AV:Received:Received:X-MimeOLE: x-cr-hashedpuzzle:MIME-Version:Content-Type:x-cr-puzzleid: Content-class:Subject:Date:Message-ID:X-MS-Has-Attach: X-MS-TNEF-Correlator:Thread-Topic:Thread-Index:From:To: Return-Path:X-OriginalArrivalTime; b=LVXrznH+gckrcUgF4uJ9CTnL76bQO1NayCyDDT4rbP03X4RL4q+ayRmC hEIg+kldcUXhV788PvzVssfEnWGEgVXXFF0Ne8fLJcc+0b5TxHc2rvsMM +9mjsgJZqfyvngX;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=intuit.com; i=Bill_Keenan@intuit.com; q=dns/txt; s=default; t=1272576169; x=1304112169; h=from:sender:reply-to:subject:date:message-id:to:cc: mime-version:content-transfer-encoding:content-id: content-description:resent-date:resent-from:resent-sender: resent-to:resent-cc:resent-message-id:in-reply-to: references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:list-owner:list-archive; z=From:=20"Keenan,=20Bill"=20<Bill_Keenan@intuit.com> |Subject:=20how=20does=20the=20spec=20move=20forward |Date:=20Thu,=2029=20Apr=202010=2014:22:43=20-0700 |Message-ID:=20<5DEB74B3E9FA574EAA911DB8167C559E0453B975@ SDGEXEVS12.corp.intuit.net>|To:=20<oauth@ietf.org> |MIME-Version:=201.0; bh=XSblvzJuexrGcuK2T8OoLAvuX0ps3fCPaEz6J1ve9NE=; b=JvZSUHbAYIz7LT2WD//0ZrASLp16yzooXpQk+LbUz589ob81RA6sP8p6 rv2hnwe5U21ZPUZ1+Rjnct4e4wm8qq+UzAn/3n3wbIGheI/cmycrh5HIP rVEggT9d8qU4Rlq;
X-SBRS: None
X-IronPort-AV: E=Sophos;i="4.52,297,1270450800";  d="scan'208,217";a="179562796"
Received: from sdgexbh03.corp.intuit.net ([172.17.135.77]) by mail4.sdg.ie.intuit.com with ESMTP; 29 Apr 2010 14:22:49 -0700
Received: from SDGEXEVS12.corp.intuit.net ([172.17.135.111]) by SDGEXBH03.corp.intuit.net with Microsoft SMTPSVC(6.0.3790.3959); Thu, 29 Apr 2010 14:22:49 -0700
X-MimeOLE: Produced By Microsoft Exchange V6.5
x-cr-hashedpuzzle: AdjF AoZ3 BRfr CGRG CZtE Cpre C1mx EuEd FFzd FwJt F5Q0 GYlu GkXM J5k/ J+el KOLj; 1; bwBhAHUAdABoAEAAaQBlAHQAZgAuAG8AcgBnAA==; Sosha1_v1; 7; {2F1E0E97-7C80-45B6-A91D-BE95867865EB}; YgBpAGwAbABfAGsAZQBlAG4AYQBuAEAAaQBuAHQAdQBpAHQALgBjAG8AbQA=; Thu, 29 Apr 2010 21:22:44 GMT; aABvAHcAIABkAG8AZQBzACAAdABoAGUAIABzAHAAZQBjACAAbQBvAHYAZQAgAGYAbwByAHcAYQByAGQA
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01CAE7E2.1E8829DD"
x-cr-puzzleid: {2F1E0E97-7C80-45B6-A91D-BE95867865EB}
Content-class: urn:content-classes:message
Date: Thu, 29 Apr 2010 14:22:43 -0700
Message-ID: <5DEB74B3E9FA574EAA911DB8167C559E0453B975@SDGEXEVS12.corp.intuit.net>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: how does the spec move forward
Thread-Index: Acrn4hs8r9UB1RK2TO2EmpJILOeQgg==
From: "Keenan, Bill" <Bill_Keenan@intuit.com>
To: <oauth@ietf.org>
X-OriginalArrivalTime: 29 Apr 2010 21:22:49.0073 (UTC) FILETIME=[1E50FE10:01CAE7E2]
Subject: [OAUTH-WG] how does the spec move forward
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Apr 2010 21:23:06 -0000

This is a multi-part message in MIME format.

------_=_NextPart_001_01CAE7E2.1E8829DD
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

For the ignorant (me), how does the spec, now hosted at IETF, move
forward?

=20

Do we still discuss on this list?

=20

Who does the editing work?

=20

Is .txt what we all have to read now?

=20


------_=_NextPart_001_01CAE7E2.1E8829DD
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:x=3D"urn:schemas-microsoft-com:office:excel" =
xmlns:p=3D"urn:schemas-microsoft-com:office:powerpoint" =
xmlns:a=3D"urn:schemas-microsoft-com:office:access" =
xmlns:dt=3D"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" =
xmlns:s=3D"uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" =
xmlns:rs=3D"urn:schemas-microsoft-com:rowset" xmlns:z=3D"#RowsetSchema" =
xmlns:b=3D"urn:schemas-microsoft-com:office:publisher" =
xmlns:ss=3D"urn:schemas-microsoft-com:office:spreadsheet" =
xmlns:c=3D"urn:schemas-microsoft-com:office:component:spreadsheet" =
xmlns:odc=3D"urn:schemas-microsoft-com:office:odc" =
xmlns:oa=3D"urn:schemas-microsoft-com:office:activation" =
xmlns:html=3D"http://www.w3.org/TR/REC-html40" =
xmlns:q=3D"http://schemas.xmlsoap.org/soap/envelope/" =
xmlns:rtc=3D"http://microsoft.com/officenet/conferencing" =
xmlns:D=3D"DAV:" xmlns:Repl=3D"http://schemas.microsoft.com/repl/" =
xmlns:mt=3D"http://schemas.microsoft.com/sharepoint/soap/meetings/" =
xmlns:x2=3D"http://schemas.microsoft.com/office/excel/2003/xml" =
xmlns:ppda=3D"http://www.passport.com/NameSpace.xsd" =
xmlns:ois=3D"http://schemas.microsoft.com/sharepoint/soap/ois/" =
xmlns:dir=3D"http://schemas.microsoft.com/sharepoint/soap/directory/" =
xmlns:ds=3D"http://www.w3.org/2000/09/xmldsig#" =
xmlns:dsp=3D"http://schemas.microsoft.com/sharepoint/dsp" =
xmlns:udc=3D"http://schemas.microsoft.com/data/udc" =
xmlns:xsd=3D"http://www.w3.org/2001/XMLSchema" =
xmlns:sub=3D"http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/"=
 xmlns:ec=3D"http://www.w3.org/2001/04/xmlenc#" =
xmlns:sp=3D"http://schemas.microsoft.com/sharepoint/" =
xmlns:sps=3D"http://schemas.microsoft.com/sharepoint/soap/" =
xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance" =
xmlns:udcs=3D"http://schemas.microsoft.com/data/udc/soap" =
xmlns:udcxf=3D"http://schemas.microsoft.com/data/udc/xmlfile" =
xmlns:udcp2p=3D"http://schemas.microsoft.com/data/udc/parttopart" =
xmlns:wf=3D"http://schemas.microsoft.com/sharepoint/soap/workflow/" =
xmlns:dsss=3D"http://schemas.microsoft.com/office/2006/digsig-setup" =
xmlns:dssi=3D"http://schemas.microsoft.com/office/2006/digsig" =
xmlns:mdssi=3D"http://schemas.openxmlformats.org/package/2006/digital-sig=
nature" =
xmlns:mver=3D"http://schemas.openxmlformats.org/markup-compatibility/2006=
" xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns:mrels=3D"http://schemas.openxmlformats.org/package/2006/relationshi=
ps" xmlns:spwp=3D"http://microsoft.com/sharepoint/webpartpages" =
xmlns:ex12t=3D"http://schemas.microsoft.com/exchange/services/2006/types"=
 =
xmlns:ex12m=3D"http://schemas.microsoft.com/exchange/services/2006/messag=
es" =
xmlns:pptsl=3D"http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/=
" =
xmlns:spsl=3D"http://microsoft.com/webservices/SharePointPortalServer/Pub=
lishedLinksService" xmlns:Z=3D"urn:schemas-microsoft-com:" =
xmlns:st=3D"&#1;" xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Verdana;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Verdana","sans-serif";
	color:windowtext;
	font-weight:normal;
	font-style:normal;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;font-family:"Verdana","sans-serif"'>For
the ignorant (me), how does the spec, now hosted at IETF, move =
forward?<o:p></o:p></span></p>

<p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;font-family:"Verdana","sans-serif"'><o:p>&nbsp;=
</o:p></span></p>

<p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;font-family:"Verdana","sans-serif"'>Do
we still discuss on this list?<o:p></o:p></span></p>

<p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;font-family:"Verdana","sans-serif"'><o:p>&nbsp;=
</o:p></span></p>

<p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;font-family:"Verdana","sans-serif"'>Who
does the editing work?<o:p></o:p></span></p>

<p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;font-family:"Verdana","sans-serif"'><o:p>&nbsp;=
</o:p></span></p>

<p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;font-family:"Verdana","sans-serif"'>Is
.txt what we all have to read now?<o:p></o:p></span></p>

<p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;font-family:"Verdana","sans-serif"'><o:p>&nbsp;=
</o:p></span></p>

</div>

</body>

</html>

------_=_NextPart_001_01CAE7E2.1E8829DD--

From stpeter@stpeter.im  Thu Apr 29 14:27:44 2010
Return-Path: <stpeter@stpeter.im>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7A4343A69C1 for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 14:27:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.33
X-Spam-Level: 
X-Spam-Status: No, score=-2.33 tagged_above=-999 required=5 tests=[AWL=0.269,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wFKHsi4WxlhA for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 14:27:42 -0700 (PDT)
Received: from stpeter.im (stpeter.im [207.210.219.233]) by core3.amsl.com (Postfix) with ESMTP id E53BC3A6897 for <oauth@ietf.org>; Thu, 29 Apr 2010 14:27:41 -0700 (PDT)
Received: from dhcp-64-101-72-222.cisco.com (dhcp-64-101-72-222.cisco.com [64.101.72.222]) (Authenticated sender: stpeter) by stpeter.im (Postfix) with ESMTPSA id 2EB0F40E39 for <oauth@ietf.org>; Thu, 29 Apr 2010 15:27:28 -0600 (MDT)
Message-ID: <4BD9F9BE.1090804@stpeter.im>
Date: Thu, 29 Apr 2010 15:27:26 -0600
From: Peter Saint-Andre <stpeter@stpeter.im>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: oauth@ietf.org
References: <5DEB74B3E9FA574EAA911DB8167C559E0453B975@SDGEXEVS12.corp.intuit.net>
In-Reply-To: <5DEB74B3E9FA574EAA911DB8167C559E0453B975@SDGEXEVS12.corp.intuit.net>
X-Enigmail-Version: 1.0.1
OpenPGP: url=http://www.saint-andre.com/me/stpeter.asc
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms030703090107030505080906"
Subject: Re: [OAUTH-WG] how does the spec move forward
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Apr 2010 21:27:44 -0000

This is a cryptographically signed message in MIME format.

--------------ms030703090107030505080906
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 4/29/10 3:22 PM, Keenan, Bill wrote:
> For the ignorant (me), how does the spec, now hosted at IETF, move forw=
ard?
>=20
> Do we still discuss on this list?

Yes, this is still the place.

You can also lodge issues in the tracker (or the WG chairs can decide if
and how they'd like to use that):

http://trac.tools.ietf.org/wg/oauth/trac/report/1

There's also a standing chat room if you'd like to use that:

xmpp:oauth@jabber.ietf.org?join

> Who does the editing work?

Eran seems to be handling that task quite well.

> Is .txt what we all have to read now?

No, there are also HTML and PDF, go here for links:

http://tools.ietf.org/html/draft-ietf-oauth-v2-00

Peter

--=20
Peter Saint-Andre
https://stpeter.im/




--------------ms030703090107030505080906
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIWnDCC
B1cwggY/oAMCAQICAVUwDQYJKoZIhvcNAQEFBQAwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQK
Ew1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBT
aWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRl
IENsaWVudCBDQTAeFw0wOTA3MDYwMDAwMDFaFw0xMDA3MDYyMzU5NTlaMIHCMQswCQYDVQQG
EwJVUzERMA8GA1UECBMIQ29sb3JhZG8xDzANBgNVBAcTBkRlbnZlcjEiMCAGA1UEChMZWE1Q
UCBTdGFuZGFyZHMgRm91bmRhdGlvbjEsMCoGA1UECxMjU3RhcnRDb20gVHJ1c3RlZCBDZXJ0
aWZpY2F0ZSBNZW1iZXIxGjAYBgNVBAMTEVBldGVyIFNhaW50LUFuZHJlMSEwHwYJKoZIhvcN
AQkBFhJzdHBldGVyQHN0cGV0ZXIuaW0wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQCas7Mrnh02GakN8sft+HJpU4MwBxEgrGDZ2ZzUxDDt2sEhM+9Q74h955MtgMhK3TeBf6Hs
hDh/8Z9G//k2qNA0M2S5rejTqrmW0Jabca/L7BUZ0GhnU2N/2zeciFUmuZ4A2l1T5IMX2ZVP
XnNIaefBtbImJAbDz3T0vxkzTtcqgW3wL83PMDiqiuM+e1k+VPvOW4f5ZSGkPIhYCDpWqNE5
wZvjrLNMc8jZOPs9DrsYuIVwU72Vhy1tkEh+w6YpYHrdEUAe+eKe6TuxqZ60e9z3O36uiV//
Ms274iD6PbA/IGazJgaAdg6tvPehwTYGJAGmv3PsJKkLGjgoh+RrrM1LAgMBAAGjggOKMIID
hjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
AwQwHQYDVR0OBBYEFOyws3XWgIY9FP1POVqjdZP9Lu38MB0GA1UdEQQWMBSBEnN0cGV0ZXJA
c3RwZXRlci5pbTCBqAYDVR0jBIGgMIGdgBR7iZySlyShhEcCy3T8LvSs3DLl86GBgaR/MH0x
CzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUg
RGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZp
Y2F0aW9uIEF1dGhvcml0eYIBDzCCAUcGA1UdIASCAT4wggE6MIIBNgYLKwYBBAGBtTcBAgAw
ggElMC4GCCsGAQUFBwIBFiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMDQG
CCsGAQUFBwIBFihodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMIG8
BggrBgEFBQcCAjCBrzAUFg1TdGFydENvbSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0
eSwgcmVhZCB0aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENv
bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93
d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwYwYDVR0fBFwwWjAroCmgJ4YlaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vY3J0dTMtY3JsLmNybDAroCmgJ4YlaHR0cDovL2NybC5zdGFydHNz
bC5jb20vY3J0dTMtY3JsLmNybDCBjgYIKwYBBQUHAQEEgYEwfzA5BggrBgEFBQcwAYYtaHR0
cDovL29jc3Auc3RhcnRzc2wuY29tL3N1Yi9jbGFzczMvY2xpZW50L2NhMEIGCCsGAQUFBzAC
hjZodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9jZXJ0cy9zdWIuY2xhc3MzLmNsaWVudC5jYS5j
cnQwIwYDVR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMA0GCSqGSIb3DQEBBQUA
A4IBAQBgv4xFXZqDKSOtnPOVbqOh1brj7oxRaVYk7N0MJG7x9Y/wkO3iwRwizVLcC1bA+D/R
gyFilXx6IQWE63Ge2tu+Y4w5QoHYwuUFQuBZuxvZpOa3ykdgPlBQaBM8m+Ien0skwNggaizA
X9Pc/sMLpP3jkO1iSF4agy4r5Ed+4G10mP5X0zO3gQwq9Uj4F9tX+58kU+fM1P8Sh+BYR4r/
kSbKE3tWcMaKblWPGwX0nYD26Je7Qb+uX/J5lCgozBrHXQWq8N98iklASf2pv+32Oi1dEjmM
UgAm/J2+YmxaI02+c+H6QH8+F3RUjCiRg9XqUNjcrNrnTFnm/iMMZADktsXPMIIHVzCCBj+g
AwIBAgIBVTANBgkqhkiG9w0BAQUFADCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBMB4XDTA5MDcwNjAwMDAwMVoXDTEwMDcwNjIzNTk1OVowgcIxCzAJBgNVBAYTAlVTMREw
DwYDVQQIEwhDb2xvcmFkbzEPMA0GA1UEBxMGRGVudmVyMSIwIAYDVQQKExlYTVBQIFN0YW5k
YXJkcyBGb3VuZGF0aW9uMSwwKgYDVQQLEyNTdGFydENvbSBUcnVzdGVkIENlcnRpZmljYXRl
IE1lbWJlcjEaMBgGA1UEAxMRUGV0ZXIgU2FpbnQtQW5kcmUxITAfBgkqhkiG9w0BCQEWEnN0
cGV0ZXJAc3RwZXRlci5pbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJqzsyue
HTYZqQ3yx+34cmlTgzAHESCsYNnZnNTEMO3awSEz71DviH3nky2AyErdN4F/oeyEOH/xn0b/
+Tao0DQzZLmt6NOquZbQlptxr8vsFRnQaGdTY3/bN5yIVSa5ngDaXVPkgxfZlU9ec0hp58G1
siYkBsPPdPS/GTNO1yqBbfAvzc8wOKqK4z57WT5U+85bh/llIaQ8iFgIOlao0TnBm+Oss0xz
yNk4+z0Ouxi4hXBTvZWHLW2QSH7Dpilget0RQB754p7pO7GpnrR73Pc7fq6JX/8yzbviIPo9
sD8gZrMmBoB2Dq2896HBNgYkAaa/c+wkqQsaOCiH5GuszUsCAwEAAaOCA4owggOGMAkGA1Ud
EwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNV
HQ4EFgQU7LCzddaAhj0U/U85WqN1k/0u7fwwHQYDVR0RBBYwFIESc3RwZXRlckBzdHBldGVy
LmltMIGoBgNVHSMEgaAwgZ2AFHuJnJKXJKGERwLLdPwu9KzcMuXzoYGBpH8wfTELMAkGA1UE
BhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFs
IENlcnRpZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24g
QXV0aG9yaXR5ggEPMIIBRwYDVR0gBIIBPjCCATowggE2BgsrBgEEAYG1NwECADCCASUwLgYI
KwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUH
AgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgbwGCCsGAQUF
BwICMIGvMBQWDVN0YXJ0Q29tIEx0ZC4wAwIBARqBlkxpbWl0ZWQgTGlhYmlsaXR5LCByZWFk
IHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5zdGFy
dHNzbC5jb20vcG9saWN5LnBkZjBjBgNVHR8EXDBaMCugKaAnhiVodHRwOi8vd3d3LnN0YXJ0
c3NsLmNvbS9jcnR1My1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9j
cnR1My1jcmwuY3JsMIGOBggrBgEFBQcBAQSBgTB/MDkGCCsGAQUFBzABhi1odHRwOi8vb2Nz
cC5zdGFydHNzbC5jb20vc3ViL2NsYXNzMy9jbGllbnQvY2EwQgYIKwYBBQUHMAKGNmh0dHA6
Ly93d3cuc3RhcnRzc2wuY29tL2NlcnRzL3N1Yi5jbGFzczMuY2xpZW50LmNhLmNydDAjBgNV
HRIEHDAahhhodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS8wDQYJKoZIhvcNAQEFBQADggEBAGC/
jEVdmoMpI62c85Vuo6HVuuPujFFpViTs3QwkbvH1j/CQ7eLBHCLNUtwLVsD4P9GDIWKVfHoh
BYTrcZ7a275jjDlCgdjC5QVC4Fm7G9mk5rfKR2A+UFBoEzyb4h6fSyTA2CBqLMBf09z+wwuk
/eOQ7WJIXhqDLivkR37gbXSY/lfTM7eBDCr1SPgX21f7nyRT58zU/xKH4FhHiv+RJsoTe1Zw
xopuVY8bBfSdgPbol7tBv65f8nmUKCjMGsddBarw33yKSUBJ/am/7fY6LV0SOYxSACb8nb5i
bFojTb5z4fpAfz4XdFSMKJGD1epQ2Nys2udMWeb+IwxkAOS2xc8wggfiMIIFyqADAgECAgEP
MA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQu
MSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQD
EyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNzEwMjQyMTAzMzJaFw0x
MjEwMjIyMTAzMzJaMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEr
MCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMv
U3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5o0luEj4gypQIp71Xi2TlXyLYrj9WkRy+d9BO
0FHPYnAsC99/jx/ibNRwIfAoFhZd+LDscdRSckvwuFSz0bKg3z+9o7cwlVAC9AwMWe8IM0Lx
c+8etYxsX4WIamG9fjzzi5GAW5ESKzzIN3SxHSplyGCWFwx/pgf1f4y6O9/ym+4f6zaDYP6B
x0r+SaJcr6eSGNm7X3EwX1v7XpRBY+aw019o7k72d0IX910F+XGt0OwNdM61Ff3FiTiexeUZ
bWxCGm6GZl+SQVG9xYVIgHQaLXoQF+g2wzrmKCbVcZhqH+hrlRnD6PfCuEyX/BR6PlAPRDlQ
6f1u3wqik+LF5P15AgMBAAGjggNbMIIDVzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBpjAd
BgNVHQ4EFgQUe4mckpckoYRHAst0/C70rNwy5fMwgagGA1UdIwSBoDCBnYAUTgvvGqRAW6UX
aYcwyjRoQ9BBrvKhgYGkfzB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UE
AxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHmCAQEwCQYDVR0SBAIwADA9Bggr
BgEFBQcBAQQxMC8wLQYIKwYBBQUHMAKGIWh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2Nh
LmNydDBgBgNVHR8EWTBXMCygKqAohiZodHRwOi8vY2VydC5zdGFydGNvbS5vcmcvc2ZzY2Et
Y3JsLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20vc2ZzY2EuY3JsMIIBXQYD
VR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBBDCCATswLwYIKwYBBQUHAgEWI2h0dHA6Ly9j
ZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRwOi8vY2VydC5z
dGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYgU3RhcnQg
Q29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5LCBy
ZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQu
c3RhcnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMFAGCWCGSAGG+EIB
DQRDFkFTdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRlIEZyZWUgU1NMIEVt
YWlsIENlcnRpZmljYXRlczANBgkqhkiG9w0BAQUFAAOCAgEAUpcEDdsKFRCxFBxcSm+8oMTT
fpS7fbZkxWHx5fHDjvAgaBQ+oY0tk4xtbD6VxeHYjxI63+hj8jICnqeVXPe34Bu+XzekIn2T
lrnPCQobKdQF2p52QgUvIxSURed0jcBaCBV22DSKaUqDOzD/Tx6VQy78zpblXjRH7OALE/+H
jzJVmspdnBUUtQOLYgPo924xkxR25VDdgtEE5vAXa/g2oCeZhy0ZEO4NbgIayAYCJcJRDz0h
dD2Ahec65Kw6LB3N7VXEjiRR5/WoKwH/QteRzPJbFDc1somrApjm2cyg+5nbm1RHeFIz+GxX
luRrPztvhNcby0PtAjqwY1txi4sW0R6ZJPuZ2DZ1/dzckoFhyZgFyOX3SEkNXVLldjTzneFJ
FnVSzDbc720vq184jR7pYoI9+f5QJ96a0iLxEAG8SJ5auBwXI/w2FmKmwmdMvJ8/17+B4sMC
IRrXrDQl2xzpVXh/Qcmk5nf+w8HFmqATGy1OUAQbXga7AySAUaYhvvFk50u0bO5DiUGwzrJO
3TrwvaC2Ei4EFaBmIVgG7TfU5TaaY9IcJSCQ7AGUYE3RFSRpsLOoA3DsxP42YERgS/Nxw29+
YqZtPoO2QPbNpI7xnHVCfNBabx3oDIf438nFfv8spw5BQqBSbEF1izJA57eE64CzHnt7lB20
OFD11avYopwxggPKMIIDxgIBATCBkjCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBAgFVMAkGBSsOAwIaBQCgggIMMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZI
hvcNAQkFMQ8XDTEwMDQyOTIxMjcyNlowIwYJKoZIhvcNAQkEMRYEFJqOmSmWxGGySBEbtqyP
al/6hE8kMF8GCSqGSIb3DQEJDzFSMFAwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqG
SIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBowYJ
KwYBBAGCNxAEMYGVMIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UE
AxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0ECAVUw
gaUGCyqGSIb3DQEJEAILMYGVoIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRD
b20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4
MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQg
Q0ECAVUwDQYJKoZIhvcNAQEBBQAEggEANZc3eIUq8M8DgUVhhDdnkKjaeKA0k01V6nvdWlc/
m6m4T7HzoTfb0HNPRSagbltltMtFv62q3oxZBl7vESV6L6y0Al7+jAGWZUP8Hqo2OPC9HgQK
8a3/7FEC2qcAgskTpnPjPPQPzvEd/UmIKGI/mbXCXqupZhyVPjmohiYntdxBcS4IhiNnwh+j
oc9wdmdUa++TEghhIiT0RycRm8d/iQmsfMTmdWVimPf7UkqgdmH1tc1x90f5rG7chbUl+V8K
Fz1sjWZbYyu242pT5p8RvPjbXGMIPOuUqZTHEG37OXOFGELUGsmDmmLV1VEq2KEde13+6Pdf
Ln+jxTCIZdDqIQAAAAAAAA==
--------------ms030703090107030505080906--

From eran@hueniverse.com  Thu Apr 29 14:34:17 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D37C53A69F5 for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 14:34:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.543
X-Spam-Level: 
X-Spam-Status: No, score=-2.543 tagged_above=-999 required=5 tests=[AWL=0.056,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VqrsUKBcWogh for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 14:34:17 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id B494B3A69E0 for <oauth@ietf.org>; Thu, 29 Apr 2010 14:34:14 -0700 (PDT)
Received: (qmail 22374 invoked from network); 29 Apr 2010 21:33:58 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 29 Apr 2010 21:33:57 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Thu, 29 Apr 2010 14:33:54 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: "oauth@ietf.org" <oauth@ietf.org>
Date: Thu, 29 Apr 2010 14:33:51 -0700
Thread-Topic: [OAUTH-WG] I-D Action:draft-ietf-oauth-v2-01.txt
Thread-Index: Acrn4QF62SHXwSisS4SZZ8YuNHLNbgAAn+gw
Message-ID: <90C41DD21FB7C64BB94121FBBC2E7234393217711F@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <20100429211502.40FA33A69F2@core3.amsl.com>
In-Reply-To: <20100429211502.40FA33A69F2@core3.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] I-D Action:draft-ietf-oauth-v2-01.txt
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Apr 2010 21:34:17 -0000

Draft -01 submitted today shortly after the -00 (this will make it easier t=
o do a diff for those who read the -00 draft).

I plan to publish -02 next week based on feedback received on the list.

EHL

> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> Of Internet-Drafts@ietf.org
> Sent: Thursday, April 29, 2010 2:15 PM
> To: i-d-announce@ietf.org
> Cc: oauth@ietf.org
> Subject: [OAUTH-WG] I-D Action:draft-ietf-oauth-v2-01.txt
>=20
> A New Internet-Draft is available from the on-line Internet-Drafts direct=
ories.
> This draft is a work item of the Open Authentication Protocol Working Gro=
up
> of the IETF.
>=20
>=20
> 	Title           : The OAuth 2.0 Protocol
> 	Author(s)       : E. Hammer-Lahav, et al.
> 	Filename        : draft-ietf-oauth-v2-01.txt
> 	Pages           : 49
> 	Date            : 2010-04-29
>=20
> This specification describes the OAuth 2.0 protocol.  OAuth provides a
> method for making authenticated HTTP requests using a token - an identifi=
er
> used to denote an access grant with specific scope, duration, and other
> attributes.  Tokens are issued to third-party clients by an authorization=
 server
> with the approval of the resource owner.  OAuth defines multiple flows fo=
r
> obtaining a token to support a wide range of client types and user
> experience.
>=20
> A URL for this Internet-Draft is:
> http://www.ietf.org/internet-drafts/draft-ietf-oauth-v2-01.txt
>=20
> Internet-Drafts are also available by anonymous FTP at:
> ftp://ftp.ietf.org/internet-drafts/
>=20
> Below is the data which will enable a MIME compliant mail reader
> implementation to automatically retrieve the ASCII version of the Interne=
t-
> Draft.

From blowmage@gmail.com  Thu Apr 29 14:41:03 2010
Return-Path: <blowmage@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 08BDE3A68E1 for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 14:41:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CN2yH5hpOR7t for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 14:40:59 -0700 (PDT)
Received: from mail-pz0-f182.google.com (mail-pz0-f182.google.com [209.85.222.182]) by core3.amsl.com (Postfix) with ESMTP id 36FEB3A69E0 for <oauth@ietf.org>; Thu, 29 Apr 2010 14:40:58 -0700 (PDT)
Received: by pzk12 with SMTP id 12so11325942pzk.32 for <oauth@ietf.org>; Thu, 29 Apr 2010 14:40:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=tys6FOrrQeXIdvGyQH3qVhjTlwsBat6tE+S4rykx/Io=; b=VQev4yIKAK9YZhk0ZpFDdK+5si+/jzFIHtXwNQs4TMYLaw5pOqcWiqXI3/Wa96rNYI oC4atLJm+1M8vTqKm/Hf+OLmk8BJn97Z8gnqacCNQ3QTt2xJzbYuS/+fouHnM1jUik1A HpyFn9V98DCfZfqNBZ/o+KG/eQY7sQ8FxJhJ0=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=AxooHEQl2FksidsxVrUYPFJARK2y3SbV86m3brUWQa0uTSMOprE1CYBGwn0CTqTBvE V1TDDrMEC4iG2XkK0c+cLbokBGFzv7BdPiQcFc6RMNJyYSRzmJWwcKDWgoDhnqawZ/8d kfCgB0Mx2NxtJxXMRyKsnfnWNryoBIvgQhJAU=
MIME-Version: 1.0
Received: by 10.141.89.7 with SMTP id r7mr125096rvl.52.1272577240710; Thu, 29  Apr 2010 14:40:40 -0700 (PDT)
Received: by 10.140.158.13 with HTTP; Thu, 29 Apr 2010 14:40:40 -0700 (PDT)
In-Reply-To: <7C01E631FF4B654FA1E783F1C0265F8C4A3EF0B0@TK5EX14MBXC115.redmond.corp.microsoft.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BD2A172.2070401@lodderstedt.net> <4BD8869A.2080403@lodderstedt.net> <s2zc334d54e1004281425x5e714eebwcd5a91af593a62ac@mail.gmail.com> <v2j68fba5c51004282044o3a5f96cfucb1157d3884d8cd2@mail.gmail.com> <4BD9E1E3.7060107@lodderstedt.net> <7C01E631FF4B654FA1E783F1C0265F8C4A3EF0B0@TK5EX14MBXC115.redmond.corp.microsoft.com>
Date: Thu, 29 Apr 2010 15:40:40 -0600
Message-ID: <z2yf5bedd151004291440g17693f8du9e19a649bef925e4@mail.gmail.com>
From: Mike Moore <blowmage@gmail.com>
To: "oauth@ietf.org" <oauth@ietf.org>
Content-Type: multipart/alternative; boundary=000e0cd138a461bdeb048566fa42
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON (Proposal)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Apr 2010 21:41:03 -0000

--000e0cd138a461bdeb048566fa42
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Thu, Apr 29, 2010 at 2:49 PM, Yaron Goland <yarong@microsoft.com> wrote:

> Can we please just have one format, not 3? The more choices we give the
> more interoperability suffers.


+=E2=88=9E


> > -----Original Message-----
> > From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> > Of Torsten Lodderstedt
> > Sent: Thursday, April 29, 2010 12:46 PM
> > To: Robert Sayre
> > Cc: jsmarr@stanfordalumni.org; oauth@ietf.org
> > Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
> > (Proposal)
> >
> > Hi all,
> >
> > please find below a proposal for adding support for multiple response
> > formats to the specification. I have taken the current version of the
> draft
> > http://github.com/theRazorBlade/draft-ietf-oauth/raw/master/draft-ietf-
> > oauth.txt
> > and added some modifications indicated by dashed lines. Proposed change=
s
> > to section 3.5.2 should be applied to 3.5.3, 3.6.1., 3.7.1., 3.7.2, and
> 4., too.
> >
> > Basically, the idea is that clients indicate the desired format using
> Accept
> > headers (default) or request parameters (User-Agent flow) and the
> > response is delivered accordingly. The formats considered are
> > application/json, text/xml, and application/x-www-form-urlencoded. And =
as
> > suggested by Joseph, parameters are encoded straight-forward as flat JS=
ON
> > object or XML document, respectively.
> >
> > I would appriciate
> > regards,
> > Torsten.
> >
> > 3.5.2.  Web Server Flow
> > 3.5.2.2.  Client Requests Access Token
> >
> >     The client obtains an access token from the authorization server by
> <snip>
> >     secret_type
> >           OPTIONAL.  The access token secret type as described by
> >           Section 5.3.  If omitted, the authorization server will issue=
 a
> >           bearer token (an access token without a matching secret) as
> >           described by Section 5.2.
> >
> > --------
> > A client may indicate the desired response format using an Accept-Heade=
r
> > specifying one of the following mime types: application/x-www-form-
> > urlencoded,
> > application/xml,
> > or application/json. If not specified, the default response format is
> > application/json.
> > (Alternatively, the response format could be specified by a query
> parameter)
> > --------
> >
> >     For example, the client makes the following HTTPS request (line
> >     breaks are for display purposes only):
> >
> >       POST /token HTTP/1.1
> >       Host: server.example.com
> >       Content-Type: application/x-www-form-urlencoded
> > --------
> >       Accept: application/json
> > --------
> >
> >       type=3Dweb_server&client_id=3Ds6BhdRkqt3&
> >       client_secret=3DgX1fBat3bV&code=3Di1WsRn1uB1&
> >       redirect_uri=3Dhttps%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb
> >
> >
> >     The authorization server MUST verify that the verification code,
> >     client identity, client secret, and redirection URI are all valid a=
nd
> >     match its stored association.  If the request is valid, the
> >     authorization server issues an access token and delivers it to the
> >     client in the HTTP response body using
> > --------
> >     the mime type as requested by the client or "application/json"
> > --------
> > with a 200 status code (OK).
> >
> >     The response contains the following parameters:
> >
> >     access_token
> >           REQUIRED.  The access token issued by the authorization serve=
r.
> >
> >     expires_in
> >           OPTIONAL.  The duration in seconds of the access token
> >           lifetime.
> >
> >     refresh_token
> >           OPTIONAL.  The refresh token used to obtain new access tokens
> >           using the same end user access grant as described in Section =
4.
> >
> >     access_token_secret
> >           REQUIRED if requested by the client.  The corresponding acces=
s
> >           token secret as requested by the client.
> >
> > --------
> >     The response format depends on the requested mime type. The
> >     content-type header field indicates mime type and may optionaly
> >     indicate charset.
> >
> >     "application/json": All parameters are encoded as one flat JSON
> object
> > with one key/value pair per parameter.
> >
> >     For example:
> >
> >       HTTP/1.1 200 OK
> >       Content-Type: application/json
> >
> >       { "access_token": "SlAV32hkKG", "expires_in": "3600",
> > "refresh_token": "8xLOxBtZp8" }
> >
> >     "text/xml": All parameters are encoded as one XML document with the
> > root element <token_response>. For each parameter there is a
> > corresponding sub-element with the parameter name containing the
> > respectives parameters value.
> >
> >     For example:
> >
> >       HTTP/1.1 200 OK
> >       Content-Type: text/xml
> >
> > <token_response>
> > <access_token>SlAV32hkKG
> > <expires_in>3600</expires_in>
> > <refresh_token>8xLOxBtZp8</refresh_token>
> > </token_response>
> >
> >     "application/x-www-form-urlencoded": parameters are encoded as
> > name/value pairs
> > --------
> >     For example:
> >
> >       HTTP/1.1 200 OK
> >       Content-Type: application/x-www-form-urlencoded
> >
> >
> > access_token=3DSlAV32hkKG&expires_in=3D3600&refresh_token=3D8xLOxBtZp8
> >
> >
> >     If the request is invalid, the authorization server returns an erro=
r
> >     message in the HTTP response body using the
> > --------
> >     the mime type as requested by the client or "application/json"
> > --------
> >     with a 400 status code (Bad Request).
> >
> >     The response contains the following parameter:
> >
> >     error
> >           OPTIONAL.  The parameter value MUST be set to either
> >           "redirect_uri_mismatch" or "expired_verification_code" (case
> >           sensitive).
> >
> > --------
> >     The response format depends on the requested mime type. The respons=
e
> > rendering follows the rules as specified above.
> > --------
> > For example:
> >
> > --------
> >       HTTP/1.1 400 Bad Request
> >       Content-Type: application/json
> >
> >       { "error"=3D"expired_verification_code" }
> >
> > --------
> > 3.5.1.  User-Agent Flow
> > 3.5.1.1.  Client Requests Authorization
> >
> >     In order for the end user to grant the client access, the client
> >     sends the end user to the authorization server.  The client
> >     constructs the request URI by adding the following URI query
> >     parameters to the user authorization endpoint URI:
> > <snip>
> > --------
> > response_format
> >           OPTIONAL. Indicates the format used to deliver token data and
> >           errors to the client. The parameter value MUST be set to
> "text/xml",
> >           "application/json", or "application/x-www-form-urlencoded".
> > Defaults
> >           to "application/json" if omitted.
> >
> > --------
> > 3.5.1.1.1.  End User Grants Authorization
> >
> >     If the end user authorizes the access request, the authorization
> >     server issues an access token and delivers it to the client by addi=
ng
> >     the following parameters, using the
> > --------
> >     mime type as indicated by "response_format"
> > --------
> > to the redirection URI fragment:
> >
> >     access_token
> >           REQUIRED.  The access token.
> >
> >     expires_in
> >           OPTIONAL.  The duration in seconds of the access token
> >           lifetime.
> >
> >     refresh_token
> >           OPTIONAL.  The refresh token.
> >
> >     state
> >           REQUIRED if the "state" parameter was present in the client
> >           authorization request.  Set to the exact value received from
> >           the client.
> >
> >     access_token_secret
> >           REQUIRED if requested by the client.  The corresponding acces=
s
> >           token secret as requested by the client.
> > --------
> >     The way and format parameters are added to the fragment depend on t=
he
> > requested mime type.
> >
> >     "application/json": All parameters are encoded as one flat JSON
> object
> > with one key/value pair per parameter. This document is URL encoded and
> > added as parameter "oauth_response" to the fragment.
> >
> >     For example, the authorization server redirects the end user's user=
-
> >     agent by sending the following HTTP response:
> >
> >      HTTP/1.1 302 Found
> >      Location:
> > http://example.com/rd#oauth_response=3D%7B+%22access_token%22%3A+
> > %22SlAV32hkKG%22%2C+%22expires_in%22%3A+%223600%22%2C+%22refr
> > esh_token%22%3A+%228xLOxBtZp8%22+%7D
> >
> >     "text/xml": All parameters are encoded as one XML document with the
> > root element <token_response>. For each parameter there is a
> > corresponding sub-element with the parameter name containing the
> > respectives parameters value. The XML document is URL encoded and added
> > as parameter "oauth_response" to the fragment.
> >
> >      For example:
> >
> >      HTTP/1.1 302 Found
> >      Location:
> > http://example.com/rd#oauth_response=3D%3Ctoken_response%3E%3Cacce
> > ss_token%3ESlAV32hkKG%3Cexpires_in%3E3600%3C%2Fexpires_in%3E%3Cr
> > efresh_token%3E8xLOxBtZp8%3C%2Frefresh_token%3E%3C%2Ftoken_resp
> > onse%3E
> >
> >     "application/x-www-form-urlencoded": All parameter are directly add=
ed
> as
> >     parameters to the redirection URI fragment.
> > --------
> >     For example:
> >
> >      HTTP/1.1 302 Found
> >      Location:
> > http://example.com/rd#access_token=3DFJQbwq9&expires_in=3D3600
> >
> > 3.5.1.1.2.  End User Denies Authorization
> >
> >     If the end user denied the access request, the authorization server
> >     responds to the client by adding the following parameters, using th=
e
> > --------
> >     mime type as indicated by "response_format"
> > --------
> > to the redirection URI fragment:
> >
> >     error
> >           REQUIRED.  The parameter value MUST be set to "user_denied"
> >           (case sensitive).
> >
> >     state
> >           REQUIRED if the "state" parameter was present in the client
> >           authorization request.  Set to the exact value received from
> >           the client.
> > --------
> >      The way and format parameters are added to the fragment depend on
> the
> > requested mime type and follows the same rules as specified above.
> > --------
> >     For example, the authorization server responds with the following:
> >
> >       HTTP/1.1 302 Found
> >       Location:
> > http://example.com/rd#oauth_response=3D%7b+%22error%22%3d%22user%
> > 5fdenied%22%7d
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--000e0cd138a461bdeb048566fa42
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div class=3D"gmail_quote">On Thu, Apr 29, 2010 at 2:49 PM, Yaron Goland <s=
pan dir=3D"ltr">&lt;<a href=3D"mailto:yarong@microsoft.com">yarong@microsof=
t.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"m=
argin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Can we please just have one format, not 3? The more choices we give the mor=
e interoperability suffers.</blockquote><div><br></div><div>+=E2=88=9E</div=
><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .=
8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class=3D"im">
&gt; -----Original Message-----<br>
&gt; From: <a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.org=
</a> [mailto:<a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.o=
rg</a>] On Behalf<br>
</div><div><div></div><div class=3D"h5">&gt; Of Torsten Lodderstedt<br>
&gt; Sent: Thursday, April 29, 2010 12:46 PM<br>
&gt; To: Robert Sayre<br>
&gt; Cc: <a href=3D"mailto:jsmarr@stanfordalumni.org">jsmarr@stanfordalumni=
.org</a>; <a href=3D"mailto:oauth@ietf.org">oauth@ietf.org</a><br>
&gt; Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON<br>
&gt; (Proposal)<br>
&gt;<br>
&gt; Hi all,<br>
&gt;<br>
&gt; please find below a proposal for adding support for multiple response<=
br>
&gt; formats to the specification. I have taken the current version of the =
draft<br>
&gt; <a href=3D"http://github.com/theRazorBlade/draft-ietf-oauth/raw/master=
/draft-ietf-" target=3D"_blank">http://github.com/theRazorBlade/draft-ietf-=
oauth/raw/master/draft-ietf-</a><br>
&gt; oauth.txt<br>
&gt; and added some modifications indicated by dashed lines. Proposed chang=
es<br>
&gt; to section 3.5.2 should be applied to 3.5.3, 3.6.1., 3.7.1., 3.7.2, an=
d 4., too.<br>
&gt;<br>
&gt; Basically, the idea is that clients indicate the desired format using =
Accept<br>
&gt; headers (default) or request parameters (User-Agent flow) and the<br>
&gt; response is delivered accordingly. The formats considered are<br>
&gt; application/json, text/xml, and application/x-www-form-urlencoded. And=
 as<br>
&gt; suggested by Joseph, parameters are encoded straight-forward as flat J=
SON<br>
&gt; object or XML document, respectively.<br>
&gt;<br>
&gt; I would appriciate<br>
&gt; regards,<br>
&gt; Torsten.<br>
&gt;<br>
&gt; 3.5.2. =C2=A0Web Server Flow<br>
&gt; 3.5.2.2. =C2=A0Client Requests Access Token<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 The client obtains an access token from the authorizatio=
n server by &lt;snip&gt;<br>
&gt; =C2=A0 =C2=A0 secret_type<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 OPTIONAL. =C2=A0The access token se=
cret type as described by<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Section 5.3. =C2=A0If omitted, the =
authorization server will issue a<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 bearer token (an access token witho=
ut a matching secret) as<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 described by Section 5.2.<br>
&gt;<br>
&gt; --------<br>
&gt; A client may indicate the desired response format using an Accept-Head=
er<br>
&gt; specifying one of the following mime types: application/x-www-form-<br=
>
&gt; urlencoded,<br>
&gt; application/xml,<br>
&gt; or application/json. If not specified, the default response format is<=
br>
&gt; application/json.<br>
&gt; (Alternatively, the response format could be specified by a query para=
meter)<br>
&gt; --------<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 For example, the client makes the following HTTPS reques=
t (line<br>
&gt; =C2=A0 =C2=A0 breaks are for display purposes only):<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 =C2=A0 POST /token HTTP/1.1<br>
&gt; =C2=A0 =C2=A0 =C2=A0 Host: <a href=3D"http://server.example.com" targe=
t=3D"_blank">server.example.com</a><br>
&gt; =C2=A0 =C2=A0 =C2=A0 Content-Type: application/x-www-form-urlencoded<b=
r>
&gt; --------<br>
&gt; =C2=A0 =C2=A0 =C2=A0 Accept: application/json<br>
&gt; --------<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 =C2=A0 type=3Dweb_server&amp;client_id=3Ds6BhdRkqt3&amp;=
<br>
&gt; =C2=A0 =C2=A0 =C2=A0 client_secret=3DgX1fBat3bV&amp;code=3Di1WsRn1uB1&=
amp;<br>
&gt; =C2=A0 =C2=A0 =C2=A0 redirect_uri=3Dhttps%3A%2F%2Fclient%2Eexample%2Ec=
om%2Fcb<br>
&gt;<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 The authorization server MUST verify that the verificati=
on code,<br>
&gt; =C2=A0 =C2=A0 client identity, client secret, and redirection URI are =
all valid and<br>
&gt; =C2=A0 =C2=A0 match its stored association. =C2=A0If the request is va=
lid, the<br>
&gt; =C2=A0 =C2=A0 authorization server issues an access token and delivers=
 it to the<br>
&gt; =C2=A0 =C2=A0 client in the HTTP response body using<br>
&gt; --------<br>
&gt; =C2=A0 =C2=A0 the mime type as requested by the client or &quot;applic=
ation/json&quot;<br>
&gt; --------<br>
&gt; with a 200 status code (OK).<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 The response contains the following parameters:<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 access_token<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 REQUIRED. =C2=A0The access token is=
sued by the authorization server.<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 expires_in<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 OPTIONAL. =C2=A0The duration in sec=
onds of the access token<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 lifetime.<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 refresh_token<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 OPTIONAL. =C2=A0The refresh token u=
sed to obtain new access tokens<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 using the same end user access gran=
t as described in Section 4.<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 access_token_secret<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 REQUIRED if requested by the client=
. =C2=A0The corresponding access<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 token secret as requested by the cl=
ient.<br>
&gt;<br>
&gt; --------<br>
&gt; =C2=A0 =C2=A0 The response format depends on the requested mime type. =
The<br>
&gt; =C2=A0 =C2=A0 content-type header field indicates mime type and may op=
tionaly<br>
&gt; =C2=A0 =C2=A0 indicate charset.<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 &quot;application/json&quot;: All parameters are encoded=
 as one flat JSON object<br>
&gt; with one key/value pair per parameter.<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 For example:<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 =C2=A0 HTTP/1.1 200 OK<br>
&gt; =C2=A0 =C2=A0 =C2=A0 Content-Type: application/json<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 =C2=A0 { &quot;access_token&quot;: &quot;SlAV32hkKG&quot=
;, &quot;expires_in&quot;: &quot;3600&quot;,<br>
&gt; &quot;refresh_token&quot;: &quot;8xLOxBtZp8&quot; }<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 &quot;text/xml&quot;: All parameters are encoded as one =
XML document with the<br>
&gt; root element &lt;token_response&gt;. For each parameter there is a<br>
&gt; corresponding sub-element with the parameter name containing the<br>
&gt; respectives parameters value.<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 For example:<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 =C2=A0 HTTP/1.1 200 OK<br>
&gt; =C2=A0 =C2=A0 =C2=A0 Content-Type: text/xml<br>
&gt;<br>
&gt; &lt;token_response&gt;<br>
&gt; &lt;access_token&gt;SlAV32hkKG<br>
&gt; &lt;expires_in&gt;3600&lt;/expires_in&gt;<br>
&gt; &lt;refresh_token&gt;8xLOxBtZp8&lt;/refresh_token&gt;<br>
&gt; &lt;/token_response&gt;<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 &quot;application/x-www-form-urlencoded&quot;: parameter=
s are encoded as<br>
&gt; name/value pairs<br>
&gt; --------<br>
&gt; =C2=A0 =C2=A0 For example:<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 =C2=A0 HTTP/1.1 200 OK<br>
&gt; =C2=A0 =C2=A0 =C2=A0 Content-Type: application/x-www-form-urlencoded<b=
r>
&gt;<br>
&gt;<br>
&gt; access_token=3DSlAV32hkKG&amp;expires_in=3D3600&amp;refresh_token=3D8x=
LOxBtZp8<br>
&gt;<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 If the request is invalid, the authorization server retu=
rns an error<br>
&gt; =C2=A0 =C2=A0 message in the HTTP response body using the<br>
&gt; --------<br>
&gt; =C2=A0 =C2=A0 the mime type as requested by the client or &quot;applic=
ation/json&quot;<br>
&gt; --------<br>
&gt; =C2=A0 =C2=A0 with a 400 status code (Bad Request).<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 The response contains the following parameter:<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 error<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 OPTIONAL. =C2=A0The parameter value=
 MUST be set to either<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;redirect_uri_mismatch&quot; o=
r &quot;expired_verification_code&quot; (case<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 sensitive).<br>
&gt;<br>
&gt; --------<br>
&gt; =C2=A0 =C2=A0 The response format depends on the requested mime type. =
The response<br>
&gt; rendering follows the rules as specified above.<br>
&gt; --------<br>
&gt; For example:<br>
&gt;<br>
&gt; --------<br>
&gt; =C2=A0 =C2=A0 =C2=A0 HTTP/1.1 400 Bad Request<br>
&gt; =C2=A0 =C2=A0 =C2=A0 Content-Type: application/json<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 =C2=A0 { &quot;error&quot;=3D&quot;expired_verification_=
code&quot; }<br>
&gt;<br>
&gt; --------<br>
&gt; 3.5.1. =C2=A0User-Agent Flow<br>
&gt; 3.5.1.1. =C2=A0Client Requests Authorization<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 In order for the end user to grant the client access, th=
e client<br>
&gt; =C2=A0 =C2=A0 sends the end user to the authorization server. =C2=A0Th=
e client<br>
&gt; =C2=A0 =C2=A0 constructs the request URI by adding the following URI q=
uery<br>
&gt; =C2=A0 =C2=A0 parameters to the user authorization endpoint URI:<br>
&gt; &lt;snip&gt;<br>
&gt; --------<br>
&gt; response_format<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 OPTIONAL. Indicates the format used=
 to deliver token data and<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 errors to the client. The parameter=
 value MUST be set to &quot;text/xml&quot;,<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;application/json&quot;, or &q=
uot;application/x-www-form-urlencoded&quot;.<br>
&gt; Defaults<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 to &quot;application/json&quot; if =
omitted.<br>
&gt;<br>
&gt; --------<br>
&gt; 3.5.1.1.1. =C2=A0End User Grants Authorization<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 If the end user authorizes the access request, the autho=
rization<br>
&gt; =C2=A0 =C2=A0 server issues an access token and delivers it to the cli=
ent by adding<br>
&gt; =C2=A0 =C2=A0 the following parameters, using the<br>
&gt; --------<br>
&gt; =C2=A0 =C2=A0 mime type as indicated by &quot;response_format&quot;<br=
>
&gt; --------<br>
&gt; to the redirection URI fragment:<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 access_token<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 REQUIRED. =C2=A0The access token.<b=
r>
&gt;<br>
&gt; =C2=A0 =C2=A0 expires_in<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 OPTIONAL. =C2=A0The duration in sec=
onds of the access token<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 lifetime.<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 refresh_token<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 OPTIONAL. =C2=A0The refresh token.<=
br>
&gt;<br>
&gt; =C2=A0 =C2=A0 state<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 REQUIRED if the &quot;state&quot; p=
arameter was present in the client<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 authorization request. =C2=A0Set to=
 the exact value received from<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 the client.<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 access_token_secret<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 REQUIRED if requested by the client=
. =C2=A0The corresponding access<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 token secret as requested by the cl=
ient.<br>
&gt; --------<br>
&gt; =C2=A0 =C2=A0 The way and format parameters are added to the fragment =
depend on the<br>
&gt; requested mime type.<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 &quot;application/json&quot;: All parameters are encoded=
 as one flat JSON object<br>
&gt; with one key/value pair per parameter. This document is URL encoded an=
d<br>
&gt; added as parameter &quot;oauth_response&quot; to the fragment.<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 For example, the authorization server redirects the end =
user&#39;s user-<br>
&gt; =C2=A0 =C2=A0 agent by sending the following HTTP response:<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 =C2=A0HTTP/1.1 302 Found<br>
&gt; =C2=A0 =C2=A0 =C2=A0Location:<br>
&gt; <a href=3D"http://example.com/rd#oauth_response=3D%7B+%22access_token%=
22%3A+" target=3D"_blank">http://example.com/rd#oauth_response=3D%7B+%22acc=
ess_token%22%3A+</a><br>
&gt; %22SlAV32hkKG%22%2C+%22expires_in%22%3A+%223600%22%2C+%22refr<br>
&gt; esh_token%22%3A+%228xLOxBtZp8%22+%7D<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 &quot;text/xml&quot;: All parameters are encoded as one =
XML document with the<br>
&gt; root element &lt;token_response&gt;. For each parameter there is a<br>
&gt; corresponding sub-element with the parameter name containing the<br>
&gt; respectives parameters value. The XML document is URL encoded and adde=
d<br>
&gt; as parameter &quot;oauth_response&quot; to the fragment.<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 =C2=A0For example:<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 =C2=A0HTTP/1.1 302 Found<br>
&gt; =C2=A0 =C2=A0 =C2=A0Location:<br>
&gt; <a href=3D"http://example.com/rd#oauth_response=3D%3Ctoken_response%3E=
%3Cacce" target=3D"_blank">http://example.com/rd#oauth_response=3D%3Ctoken_=
response%3E%3Cacce</a><br>
&gt; ss_token%3ESlAV32hkKG%3Cexpires_in%3E3600%3C%2Fexpires_in%3E%3Cr<br>
&gt; efresh_token%3E8xLOxBtZp8%3C%2Frefresh_token%3E%3C%2Ftoken_resp<br>
&gt; onse%3E<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 &quot;application/x-www-form-urlencoded&quot;: All param=
eter are directly added as<br>
&gt; =C2=A0 =C2=A0 parameters to the redirection URI fragment.<br>
&gt; --------<br>
&gt; =C2=A0 =C2=A0 For example:<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 =C2=A0HTTP/1.1 302 Found<br>
&gt; =C2=A0 =C2=A0 =C2=A0Location:<br>
&gt; <a href=3D"http://example.com/rd#access_token=3DFJQbwq9&amp;expires_in=
=3D3600" target=3D"_blank">http://example.com/rd#access_token=3DFJQbwq9&amp=
;expires_in=3D3600</a><br>
&gt;<br>
&gt; 3.5.1.1.2. =C2=A0End User Denies Authorization<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 If the end user denied the access request, the authoriza=
tion server<br>
&gt; =C2=A0 =C2=A0 responds to the client by adding the following parameter=
s, using the<br>
&gt; --------<br>
&gt; =C2=A0 =C2=A0 mime type as indicated by &quot;response_format&quot;<br=
>
&gt; --------<br>
&gt; to the redirection URI fragment:<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 error<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 REQUIRED. =C2=A0The parameter value=
 MUST be set to &quot;user_denied&quot;<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (case sensitive).<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 state<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 REQUIRED if the &quot;state&quot; p=
arameter was present in the client<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 authorization request. =C2=A0Set to=
 the exact value received from<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 the client.<br>
&gt; --------<br>
&gt; =C2=A0 =C2=A0 =C2=A0The way and format parameters are added to the fra=
gment depend on the<br>
&gt; requested mime type and follows the same rules as specified above.<br>
&gt; --------<br>
&gt; =C2=A0 =C2=A0 For example, the authorization server responds with the =
following:<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 =C2=A0 HTTP/1.1 302 Found<br>
&gt; =C2=A0 =C2=A0 =C2=A0 Location:<br>
&gt; <a href=3D"http://example.com/rd#oauth_response=3D%7b+%22error%22%3d%2=
2user%" target=3D"_blank">http://example.com/rd#oauth_response=3D%7b+%22err=
or%22%3d%22user%</a><br>
&gt; 5fdenied%22%7d<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_bla=
nk">https://www.ietf.org/mailman/listinfo/oauth</a><br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br>

--000e0cd138a461bdeb048566fa42--

From eran@hueniverse.com  Thu Apr 29 14:43:15 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 500793A6A1F for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 14:43:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.544
X-Spam-Level: 
X-Spam-Status: No, score=-2.544 tagged_above=-999 required=5 tests=[AWL=0.055,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rqEQEbcYUSvF for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 14:43:14 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 66FB43A68E1 for <oauth@ietf.org>; Thu, 29 Apr 2010 14:43:10 -0700 (PDT)
Received: (qmail 26606 invoked from network); 29 Apr 2010 21:42:56 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 29 Apr 2010 21:42:55 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Thu, 29 Apr 2010 14:42:54 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: "OAuth WG (oauth@ietf.org)" <oauth@ietf.org>
Date: Thu, 29 Apr 2010 14:42:48 -0700
Thread-Topic: Draft references
Thread-Index: Acrn5Okn/Hhw8MSpQbCbpY64HIjaSw==
Message-ID: <90C41DD21FB7C64BB94121FBBC2E72343932177131@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-cr-hashedpuzzle: A0in BKtA DNXP G0qv G6fl Hyqi ISnh Iafu JFrM JnXq J8eh LWOD LbeS LkHN Lrm6 L//2; 1; bwBhAHUAdABoAEAAaQBlAHQAZgAuAG8AcgBnAA==; Sosha1_v1; 7; {7675FD32-0382-44A6-9C74-83F90E65E9B2}; ZQByAGEAbgBAAGgAdQBlAG4AaQB2AGUAcgBzAGUALgBjAG8AbQA=; Thu, 29 Apr 2010 21:42:48 GMT;RAByAGEAZgB0ACAAcgBlAGYAZQByAGUAbgBjAGUAcwA=
x-cr-puzzleid: {7675FD32-0382-44A6-9C74-83F90E65E9B2}
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: [OAUTH-WG] Draft references
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Apr 2010 21:43:15 -0000

To anyone with published documented pointing to previous versions of the sp=
ec -=20

Please update your documents to point to the canonical working group draft:

http://tools.ietf.org/html/draft-ietf-oauth-v2-01

You can also point to:

http://tools.ietf.org/html/draft-ietf-oauth-v2

which will redirect to the latest draft (best for blog posts, but not for f=
eedback or to document a specific implementation as the draft will change).

The github draft:

http://github.com/theRazorBlade/draft-ietf-oauth

will always contain the latest draft but it is considered unstable and can =
change without notice. Consider it my personal workspace for working on the=
 draft. Please do not reference it!

EHL

From beaton@google.com  Thu Apr 29 15:09:52 2010
Return-Path: <beaton@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1B8CF3A682F for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 15:09:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.702
X-Spam-Level: 
X-Spam-Status: No, score=-101.702 tagged_above=-999 required=5 tests=[AWL=0.275, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id acJvkvzPm+Ak for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 15:09:51 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id EBACA3A659C for <oauth@ietf.org>; Thu, 29 Apr 2010 15:09:50 -0700 (PDT)
Received: from hpaq13.eem.corp.google.com (hpaq13.eem.corp.google.com [10.3.21.13]) by smtp-out.google.com with ESMTP id o3TM9alr004046 for <oauth@ietf.org>; Thu, 29 Apr 2010 15:09:36 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1272578976; bh=TYN8NryZm9BUUPlNnIb4uTVQvO0=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=qXRQu9Zh3Og0hCl/dW7uhf+wu8h7fF+xkexJkvYjKstY8sfxngEGAmfHu2U1K0OIo 3nl3VxAxKo9gVRHMjnBIw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=iGKlY9B/cP1gER1v19d9rVq4+ngjhcMGkR5xUL6AErswgRP1f0d+jMCuiMbSJ9B5e tE6qRTFBv6Gi0VQGNrWpA==
Received: from pwj3 (pwj3.prod.google.com [10.241.219.67]) by hpaq13.eem.corp.google.com with ESMTP id o3TM9X3v015436 for <oauth@ietf.org>; Thu, 29 Apr 2010 15:09:34 -0700
Received: by pwj3 with SMTP id 3so5938367pwj.8 for <oauth@ietf.org>; Thu, 29 Apr 2010 15:09:33 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.142.1.34 with SMTP id 34mr5686401wfa.206.1272578973245; Thu,  29 Apr 2010 15:09:33 -0700 (PDT)
Received: by 10.142.202.10 with HTTP; Thu, 29 Apr 2010 15:09:33 -0700 (PDT)
In-Reply-To: <z2yf5bedd151004291440g17693f8du9e19a649bef925e4@mail.gmail.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BD2A172.2070401@lodderstedt.net> <4BD8869A.2080403@lodderstedt.net> <s2zc334d54e1004281425x5e714eebwcd5a91af593a62ac@mail.gmail.com> <v2j68fba5c51004282044o3a5f96cfucb1157d3884d8cd2@mail.gmail.com> <4BD9E1E3.7060107@lodderstedt.net> <7C01E631FF4B654FA1E783F1C0265F8C4A3EF0B0@TK5EX14MBXC115.redmond.corp.microsoft.com> <z2yf5bedd151004291440g17693f8du9e19a649bef925e4@mail.gmail.com>
Date: Thu, 29 Apr 2010 15:09:33 -0700
Message-ID: <w2odaf5b9571004291509x8895a73k384a4b4ddb12b794@mail.gmail.com>
From: Brian Eaton <beaton@google.com>
To: Mike Moore <blowmage@gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON (Proposal)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Apr 2010 22:09:52 -0000

On Thu, Apr 29, 2010 at 2:40 PM, Mike Moore <blowmage@gmail.com> wrote:
> On Thu, Apr 29, 2010 at 2:49 PM, Yaron Goland <yarong@microsoft.com> wrote:
>>
>> Can we please just have one format, not 3? The more choices we give the
>> more interoperability suffers.

Yes.  The number of parsers needed to make a working system is
important.  The spec has too many already.

I'd like to see authorization servers returning JSON or XML, since
that's what the resource servers are doing.

...and given a choice between JSON and XML, I'd pick JSON.

Cheers,
Brian

From jsmarr@gmail.com  Thu Apr 29 15:10:26 2010
Return-Path: <jsmarr@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 944913A682F for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 15:10:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.478
X-Spam-Level: 
X-Spam-Status: No, score=-2.478 tagged_above=-999 required=5 tests=[AWL=0.120,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fHvrVVt8spIV for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 15:10:25 -0700 (PDT)
Received: from mail-pw0-f44.google.com (mail-pw0-f44.google.com [209.85.160.44]) by core3.amsl.com (Postfix) with ESMTP id 1B1C33A659C for <oauth@ietf.org>; Thu, 29 Apr 2010 15:10:25 -0700 (PDT)
Received: by pwj2 with SMTP id 2so11434245pwj.31 for <oauth@ietf.org>; Thu, 29 Apr 2010 15:10:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:reply-to :in-reply-to:references:from:date:message-id:subject:to:cc :content-type; bh=PbTLDGPzYWmnXjOwwTdg3tHK8XWmMnC2nkKKasiQJkY=; b=baCOjoQnkD4JQppI2mEQpABl62skQMdaqozJJT5R8hxogWnNeUbKM/O1S/JhR7wXhJ Z/0b1Ar+muiCwJ86utkNB9QYkZtZnej32Fc/QAa8viyNrUZf4RiZd7yroIm3ShECnchV RVpbCnnxyju9GkQlkJzLvTYG/1FlV1EIL4+zM=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:reply-to:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; b=hqCZd57kevlXAlkfos2KgWbiQwvWE2JXohN8ftDNbNLVkuVn3tYW3W+DpmQsvI7hQg +bx5Af3Ds1l/peivxb0qPsg/qh5JC7T++lxBvDMgLfwEe9LSixgW3Se/hxmTUng/Pq5+ mytVyl8ZdL95arqFI4NmBq8s9ViC6LEO0DM+4=
Received: by 10.142.66.5 with SMTP id o5mr5598136wfa.159.1272579008161; Thu,  29 Apr 2010 15:10:08 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.143.164.14 with HTTP; Thu, 29 Apr 2010 15:09:48 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E72343932177131@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <90C41DD21FB7C64BB94121FBBC2E72343932177131@P3PW5EX1MB01.EX1.SECURESERVER.NET>
From: Joseph Smarr <jsmarr@gmail.com>
Date: Thu, 29 Apr 2010 18:09:48 -0400
Message-ID: <p2yc334d54e1004291509lc6db3c7dk22271e94f4e30180@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=001636e909e6bae97b048567636b
Cc: "OAuth WG \(oauth@ietf.org\)" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft references
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: jsmarr@stanfordalumni.org
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Apr 2010 22:10:26 -0000

--001636e909e6bae97b048567636b
Content-Type: text/plain; charset=ISO-8859-1

Any way to get a pretty xml2rfc-style HTML output (like we use for OAuth
1.0), or is that too fluffy for the hardcore IETF types? :) Thanks, js

On Thu, Apr 29, 2010 at 5:42 PM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

> To anyone with published documented pointing to previous versions of the
> spec -
>
> Please update your documents to point to the canonical working group draft:
>
> http://tools.ietf.org/html/draft-ietf-oauth-v2-01
>
> You can also point to:
>
> http://tools.ietf.org/html/draft-ietf-oauth-v2
>
> which will redirect to the latest draft (best for blog posts, but not for
> feedback or to document a specific implementation as the draft will change).
>
> The github draft:
>
> http://github.com/theRazorBlade/draft-ietf-oauth
>
> will always contain the latest draft but it is considered unstable and can
> change without notice. Consider it my personal workspace for working on the
> draft. Please do not reference it!
>
> EHL
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--001636e909e6bae97b048567636b
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Any way to get a pretty xml2rfc-style HTML output (like we use for OAuth 1.=
0), or is that too fluffy for the hardcore IETF types? :) Thanks, js<br><br=
><div class=3D"gmail_quote">On Thu, Apr 29, 2010 at 5:42 PM, Eran Hammer-La=
hav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com">eran@hueni=
verse.com</a>&gt;</span> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">To anyone with published documented pointin=
g to previous versions of the spec -<br>
<br>
Please update your documents to point to the canonical working group draft:=
<br>
<br>
<a href=3D"http://tools.ietf.org/html/draft-ietf-oauth-v2-01" target=3D"_bl=
ank">http://tools.ietf.org/html/draft-ietf-oauth-v2-01</a><br>
<br>
You can also point to:<br>
<br>
<a href=3D"http://tools.ietf.org/html/draft-ietf-oauth-v2" target=3D"_blank=
">http://tools.ietf.org/html/draft-ietf-oauth-v2</a><br>
<br>
which will redirect to the latest draft (best for blog posts, but not for f=
eedback or to document a specific implementation as the draft will change).=
<br>
<br>
The github draft:<br>
<br>
<a href=3D"http://github.com/theRazorBlade/draft-ietf-oauth" target=3D"_bla=
nk">http://github.com/theRazorBlade/draft-ietf-oauth</a><br>
<br>
will always contain the latest draft but it is considered unstable and can =
change without notice. Consider it my personal workspace for working on the=
 draft. Please do not reference it!<br>
<br>
EHL<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</blockquote></div><br>

--001636e909e6bae97b048567636b--

From stpeter@stpeter.im  Thu Apr 29 15:22:42 2010
Return-Path: <stpeter@stpeter.im>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 315453A6A81 for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 15:22:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.334
X-Spam-Level: 
X-Spam-Status: No, score=-2.334 tagged_above=-999 required=5 tests=[AWL=0.265,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TBKOjxtXQrK2 for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 15:22:39 -0700 (PDT)
Received: from stpeter.im (stpeter.im [207.210.219.233]) by core3.amsl.com (Postfix) with ESMTP id 9F8933A659C for <oauth@ietf.org>; Thu, 29 Apr 2010 15:22:36 -0700 (PDT)
Received: from dhcp-64-101-72-222.cisco.com (dhcp-64-101-72-222.cisco.com [64.101.72.222]) (Authenticated sender: stpeter) by stpeter.im (Postfix) with ESMTPSA id 6CF3140E4E for <oauth@ietf.org>; Thu, 29 Apr 2010 16:22:22 -0600 (MDT)
Message-ID: <4BDA069D.2030204@stpeter.im>
Date: Thu, 29 Apr 2010 16:22:21 -0600
From: Peter Saint-Andre <stpeter@stpeter.im>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: oauth@ietf.org
References: <90C41DD21FB7C64BB94121FBBC2E72343932177131@P3PW5EX1MB01.EX1.SECURESERVER.NET> <p2yc334d54e1004291509lc6db3c7dk22271e94f4e30180@mail.gmail.com>
In-Reply-To: <p2yc334d54e1004291509lc6db3c7dk22271e94f4e30180@mail.gmail.com>
X-Enigmail-Version: 1.0.1
OpenPGP: url=http://www.saint-andre.com/me/stpeter.asc
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms090308090805070707010509"
Subject: Re: [OAUTH-WG] Draft references
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Apr 2010 22:22:42 -0000

This is a cryptographically signed message in MIME format.

--------------ms090308090805070707010509
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 4/29/10 4:09 PM, Joseph Smarr wrote:
> Any way to get a pretty xml2rfc-style HTML output (like we use for OAut=
h
> 1.0), or is that too fluffy for the hardcore IETF types? :) Thanks, js

Yeah, I don't know why the tools team doesn't do that if it has the XML
source. Time for a request to tools-discuss@ietf.org...

/psa




--------------ms090308090805070707010509
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIWnDCC
B1cwggY/oAMCAQICAVUwDQYJKoZIhvcNAQEFBQAwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQK
Ew1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBT
aWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRl
IENsaWVudCBDQTAeFw0wOTA3MDYwMDAwMDFaFw0xMDA3MDYyMzU5NTlaMIHCMQswCQYDVQQG
EwJVUzERMA8GA1UECBMIQ29sb3JhZG8xDzANBgNVBAcTBkRlbnZlcjEiMCAGA1UEChMZWE1Q
UCBTdGFuZGFyZHMgRm91bmRhdGlvbjEsMCoGA1UECxMjU3RhcnRDb20gVHJ1c3RlZCBDZXJ0
aWZpY2F0ZSBNZW1iZXIxGjAYBgNVBAMTEVBldGVyIFNhaW50LUFuZHJlMSEwHwYJKoZIhvcN
AQkBFhJzdHBldGVyQHN0cGV0ZXIuaW0wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQCas7Mrnh02GakN8sft+HJpU4MwBxEgrGDZ2ZzUxDDt2sEhM+9Q74h955MtgMhK3TeBf6Hs
hDh/8Z9G//k2qNA0M2S5rejTqrmW0Jabca/L7BUZ0GhnU2N/2zeciFUmuZ4A2l1T5IMX2ZVP
XnNIaefBtbImJAbDz3T0vxkzTtcqgW3wL83PMDiqiuM+e1k+VPvOW4f5ZSGkPIhYCDpWqNE5
wZvjrLNMc8jZOPs9DrsYuIVwU72Vhy1tkEh+w6YpYHrdEUAe+eKe6TuxqZ60e9z3O36uiV//
Ms274iD6PbA/IGazJgaAdg6tvPehwTYGJAGmv3PsJKkLGjgoh+RrrM1LAgMBAAGjggOKMIID
hjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
AwQwHQYDVR0OBBYEFOyws3XWgIY9FP1POVqjdZP9Lu38MB0GA1UdEQQWMBSBEnN0cGV0ZXJA
c3RwZXRlci5pbTCBqAYDVR0jBIGgMIGdgBR7iZySlyShhEcCy3T8LvSs3DLl86GBgaR/MH0x
CzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUg
RGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZp
Y2F0aW9uIEF1dGhvcml0eYIBDzCCAUcGA1UdIASCAT4wggE6MIIBNgYLKwYBBAGBtTcBAgAw
ggElMC4GCCsGAQUFBwIBFiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMDQG
CCsGAQUFBwIBFihodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMIG8
BggrBgEFBQcCAjCBrzAUFg1TdGFydENvbSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0
eSwgcmVhZCB0aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENv
bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93
d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwYwYDVR0fBFwwWjAroCmgJ4YlaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vY3J0dTMtY3JsLmNybDAroCmgJ4YlaHR0cDovL2NybC5zdGFydHNz
bC5jb20vY3J0dTMtY3JsLmNybDCBjgYIKwYBBQUHAQEEgYEwfzA5BggrBgEFBQcwAYYtaHR0
cDovL29jc3Auc3RhcnRzc2wuY29tL3N1Yi9jbGFzczMvY2xpZW50L2NhMEIGCCsGAQUFBzAC
hjZodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9jZXJ0cy9zdWIuY2xhc3MzLmNsaWVudC5jYS5j
cnQwIwYDVR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMA0GCSqGSIb3DQEBBQUA
A4IBAQBgv4xFXZqDKSOtnPOVbqOh1brj7oxRaVYk7N0MJG7x9Y/wkO3iwRwizVLcC1bA+D/R
gyFilXx6IQWE63Ge2tu+Y4w5QoHYwuUFQuBZuxvZpOa3ykdgPlBQaBM8m+Ien0skwNggaizA
X9Pc/sMLpP3jkO1iSF4agy4r5Ed+4G10mP5X0zO3gQwq9Uj4F9tX+58kU+fM1P8Sh+BYR4r/
kSbKE3tWcMaKblWPGwX0nYD26Je7Qb+uX/J5lCgozBrHXQWq8N98iklASf2pv+32Oi1dEjmM
UgAm/J2+YmxaI02+c+H6QH8+F3RUjCiRg9XqUNjcrNrnTFnm/iMMZADktsXPMIIHVzCCBj+g
AwIBAgIBVTANBgkqhkiG9w0BAQUFADCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBMB4XDTA5MDcwNjAwMDAwMVoXDTEwMDcwNjIzNTk1OVowgcIxCzAJBgNVBAYTAlVTMREw
DwYDVQQIEwhDb2xvcmFkbzEPMA0GA1UEBxMGRGVudmVyMSIwIAYDVQQKExlYTVBQIFN0YW5k
YXJkcyBGb3VuZGF0aW9uMSwwKgYDVQQLEyNTdGFydENvbSBUcnVzdGVkIENlcnRpZmljYXRl
IE1lbWJlcjEaMBgGA1UEAxMRUGV0ZXIgU2FpbnQtQW5kcmUxITAfBgkqhkiG9w0BCQEWEnN0
cGV0ZXJAc3RwZXRlci5pbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJqzsyue
HTYZqQ3yx+34cmlTgzAHESCsYNnZnNTEMO3awSEz71DviH3nky2AyErdN4F/oeyEOH/xn0b/
+Tao0DQzZLmt6NOquZbQlptxr8vsFRnQaGdTY3/bN5yIVSa5ngDaXVPkgxfZlU9ec0hp58G1
siYkBsPPdPS/GTNO1yqBbfAvzc8wOKqK4z57WT5U+85bh/llIaQ8iFgIOlao0TnBm+Oss0xz
yNk4+z0Ouxi4hXBTvZWHLW2QSH7Dpilget0RQB754p7pO7GpnrR73Pc7fq6JX/8yzbviIPo9
sD8gZrMmBoB2Dq2896HBNgYkAaa/c+wkqQsaOCiH5GuszUsCAwEAAaOCA4owggOGMAkGA1Ud
EwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNV
HQ4EFgQU7LCzddaAhj0U/U85WqN1k/0u7fwwHQYDVR0RBBYwFIESc3RwZXRlckBzdHBldGVy
LmltMIGoBgNVHSMEgaAwgZ2AFHuJnJKXJKGERwLLdPwu9KzcMuXzoYGBpH8wfTELMAkGA1UE
BhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFs
IENlcnRpZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24g
QXV0aG9yaXR5ggEPMIIBRwYDVR0gBIIBPjCCATowggE2BgsrBgEEAYG1NwECADCCASUwLgYI
KwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUH
AgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgbwGCCsGAQUF
BwICMIGvMBQWDVN0YXJ0Q29tIEx0ZC4wAwIBARqBlkxpbWl0ZWQgTGlhYmlsaXR5LCByZWFk
IHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5zdGFy
dHNzbC5jb20vcG9saWN5LnBkZjBjBgNVHR8EXDBaMCugKaAnhiVodHRwOi8vd3d3LnN0YXJ0
c3NsLmNvbS9jcnR1My1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9j
cnR1My1jcmwuY3JsMIGOBggrBgEFBQcBAQSBgTB/MDkGCCsGAQUFBzABhi1odHRwOi8vb2Nz
cC5zdGFydHNzbC5jb20vc3ViL2NsYXNzMy9jbGllbnQvY2EwQgYIKwYBBQUHMAKGNmh0dHA6
Ly93d3cuc3RhcnRzc2wuY29tL2NlcnRzL3N1Yi5jbGFzczMuY2xpZW50LmNhLmNydDAjBgNV
HRIEHDAahhhodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS8wDQYJKoZIhvcNAQEFBQADggEBAGC/
jEVdmoMpI62c85Vuo6HVuuPujFFpViTs3QwkbvH1j/CQ7eLBHCLNUtwLVsD4P9GDIWKVfHoh
BYTrcZ7a275jjDlCgdjC5QVC4Fm7G9mk5rfKR2A+UFBoEzyb4h6fSyTA2CBqLMBf09z+wwuk
/eOQ7WJIXhqDLivkR37gbXSY/lfTM7eBDCr1SPgX21f7nyRT58zU/xKH4FhHiv+RJsoTe1Zw
xopuVY8bBfSdgPbol7tBv65f8nmUKCjMGsddBarw33yKSUBJ/am/7fY6LV0SOYxSACb8nb5i
bFojTb5z4fpAfz4XdFSMKJGD1epQ2Nys2udMWeb+IwxkAOS2xc8wggfiMIIFyqADAgECAgEP
MA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQu
MSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQD
EyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNzEwMjQyMTAzMzJaFw0x
MjEwMjIyMTAzMzJaMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEr
MCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMv
U3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5o0luEj4gypQIp71Xi2TlXyLYrj9WkRy+d9BO
0FHPYnAsC99/jx/ibNRwIfAoFhZd+LDscdRSckvwuFSz0bKg3z+9o7cwlVAC9AwMWe8IM0Lx
c+8etYxsX4WIamG9fjzzi5GAW5ESKzzIN3SxHSplyGCWFwx/pgf1f4y6O9/ym+4f6zaDYP6B
x0r+SaJcr6eSGNm7X3EwX1v7XpRBY+aw019o7k72d0IX910F+XGt0OwNdM61Ff3FiTiexeUZ
bWxCGm6GZl+SQVG9xYVIgHQaLXoQF+g2wzrmKCbVcZhqH+hrlRnD6PfCuEyX/BR6PlAPRDlQ
6f1u3wqik+LF5P15AgMBAAGjggNbMIIDVzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBpjAd
BgNVHQ4EFgQUe4mckpckoYRHAst0/C70rNwy5fMwgagGA1UdIwSBoDCBnYAUTgvvGqRAW6UX
aYcwyjRoQ9BBrvKhgYGkfzB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UE
AxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHmCAQEwCQYDVR0SBAIwADA9Bggr
BgEFBQcBAQQxMC8wLQYIKwYBBQUHMAKGIWh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2Nh
LmNydDBgBgNVHR8EWTBXMCygKqAohiZodHRwOi8vY2VydC5zdGFydGNvbS5vcmcvc2ZzY2Et
Y3JsLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20vc2ZzY2EuY3JsMIIBXQYD
VR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBBDCCATswLwYIKwYBBQUHAgEWI2h0dHA6Ly9j
ZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRwOi8vY2VydC5z
dGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYgU3RhcnQg
Q29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5LCBy
ZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQu
c3RhcnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMFAGCWCGSAGG+EIB
DQRDFkFTdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRlIEZyZWUgU1NMIEVt
YWlsIENlcnRpZmljYXRlczANBgkqhkiG9w0BAQUFAAOCAgEAUpcEDdsKFRCxFBxcSm+8oMTT
fpS7fbZkxWHx5fHDjvAgaBQ+oY0tk4xtbD6VxeHYjxI63+hj8jICnqeVXPe34Bu+XzekIn2T
lrnPCQobKdQF2p52QgUvIxSURed0jcBaCBV22DSKaUqDOzD/Tx6VQy78zpblXjRH7OALE/+H
jzJVmspdnBUUtQOLYgPo924xkxR25VDdgtEE5vAXa/g2oCeZhy0ZEO4NbgIayAYCJcJRDz0h
dD2Ahec65Kw6LB3N7VXEjiRR5/WoKwH/QteRzPJbFDc1somrApjm2cyg+5nbm1RHeFIz+GxX
luRrPztvhNcby0PtAjqwY1txi4sW0R6ZJPuZ2DZ1/dzckoFhyZgFyOX3SEkNXVLldjTzneFJ
FnVSzDbc720vq184jR7pYoI9+f5QJ96a0iLxEAG8SJ5auBwXI/w2FmKmwmdMvJ8/17+B4sMC
IRrXrDQl2xzpVXh/Qcmk5nf+w8HFmqATGy1OUAQbXga7AySAUaYhvvFk50u0bO5DiUGwzrJO
3TrwvaC2Ei4EFaBmIVgG7TfU5TaaY9IcJSCQ7AGUYE3RFSRpsLOoA3DsxP42YERgS/Nxw29+
YqZtPoO2QPbNpI7xnHVCfNBabx3oDIf438nFfv8spw5BQqBSbEF1izJA57eE64CzHnt7lB20
OFD11avYopwxggPKMIIDxgIBATCBkjCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBAgFVMAkGBSsOAwIaBQCgggIMMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZI
hvcNAQkFMQ8XDTEwMDQyOTIyMjIyMVowIwYJKoZIhvcNAQkEMRYEFKGNn7WtqGVEQ8K1FpdB
g7b2f7fZMF8GCSqGSIb3DQEJDzFSMFAwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqG
SIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBowYJ
KwYBBAGCNxAEMYGVMIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UE
AxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0ECAVUw
gaUGCyqGSIb3DQEJEAILMYGVoIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRD
b20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4
MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQg
Q0ECAVUwDQYJKoZIhvcNAQEBBQAEggEAOYNzsTvOlW7jVxBUN12e5WaeZgXXZBrAb4d8jPFw
amAr0NIdD4BHbWkhLDuJP0MFeGb4ttJRfRVJNXiAwp+cIjCcK6y8RETRFLkvMSWsJzGxOKSx
hLZGlwoaElXfDIoRnApPAIw/Csd/yuNDSJtBaivrgcH1Wd3kSM6Qa5Fggquycz9Zn3toyzpC
FP+50PHgzZmhmqOF/PP/hNk0oAmzLUvAnOTv9f5MibNTL/6K5toRBIGBBlDGtNlNjlh6cc6z
QZajjC4ccXoCVjog/lrJGKaVFmHyLYZvtuH5o4oTAUY4xL7Ulx79M1YviojI4OW5cm32Vjdc
zJpM6Jo5YsEf9wAAAAAAAA==
--------------ms090308090805070707010509--

From mscurtescu@google.com  Thu Apr 29 17:22:49 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 27E1D3A6CC4 for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 17:22:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.734
X-Spam-Level: 
X-Spam-Status: No, score=-101.734 tagged_above=-999 required=5 tests=[AWL=0.243, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yFcwwnz3HqAY for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 17:22:47 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 2F7643A677D for <oauth@ietf.org>; Thu, 29 Apr 2010 17:22:47 -0700 (PDT)
Received: from hpaq1.eem.corp.google.com (hpaq1.eem.corp.google.com [10.3.21.1]) by smtp-out.google.com with ESMTP id o3U0MWhs015996 for <oauth@ietf.org>; Thu, 29 Apr 2010 17:22:32 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1272586952; bh=fxMnSycqLJ6x6przcPZbRc221Bw=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=lq1SAoUQ0Iczoo4aU31poeGyJgfpGnAZsDx9x3xPTHH7kIa5Pyt7I0GdIwhmd5AiD zYS5sx2eGkX4iFalaDJ8A==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=Vt8nEmY2eGoFPXm+2hzg8Lvi0pUapBBtiEFC4MUo5en6Z5RZfzIGMneZR4yuzJwO2 Z6t2hagkabcc+zKfGem9Q==
Received: from pvd12 (pvd12.prod.google.com [10.241.209.204]) by hpaq1.eem.corp.google.com with ESMTP id o3U0MT7w005832 for <oauth@ietf.org>; Thu, 29 Apr 2010 17:22:30 -0700
Received: by pvd12 with SMTP id 12so1273169pvd.26 for <oauth@ietf.org>; Thu, 29 Apr 2010 17:22:29 -0700 (PDT)
Received: by 10.140.58.7 with SMTP id g7mr241073rva.37.1272586949247; Thu, 29  Apr 2010 17:22:29 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.14.15 with HTTP; Thu, 29 Apr 2010 17:22:09 -0700 (PDT)
In-Reply-To: <4BD9E1E3.7060107@lodderstedt.net>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BD2A172.2070401@lodderstedt.net> <4BD8869A.2080403@lodderstedt.net>  <s2zc334d54e1004281425x5e714eebwcd5a91af593a62ac@mail.gmail.com>  <v2j68fba5c51004282044o3a5f96cfucb1157d3884d8cd2@mail.gmail.com>  <4BD9E1E3.7060107@lodderstedt.net>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 29 Apr 2010 17:22:09 -0700
Message-ID: <z2w74caaad21004291722k5058ade6k65529dfba73fd04e@mail.gmail.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: oauth@ietf.org, jsmarr@stanfordalumni.org
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON (Proposal)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Apr 2010 00:22:49 -0000

On Thu, Apr 29, 2010 at 12:45 PM, Torsten Lodderstedt
<torsten@lodderstedt.net> wrote:
> 3.5.2. =A0Web Server Flow
> 3.5.2.2. =A0Client Requests Access Token
>
> =A0 The client obtains an access token from the authorization server by
> <snip>
> =A0 secret_type
> =A0 =A0 =A0 =A0 OPTIONAL. =A0The access token secret type as described by
> =A0 =A0 =A0 =A0 Section 5.3. =A0If omitted, the authorization server will=
 issue a
> =A0 =A0 =A0 =A0 bearer token (an access token without a matching secret) =
as
> =A0 =A0 =A0 =A0 described by Section 5.2.
>
> --------
> A client may indicate the desired response format using an Accept-Header
> specifying
> one of the following mime types: application/x-www-form-urlencoded,
> application/xml,
> or application/json. If not specified, the default response format is
> application/json.
> (Alternatively, the response format could be specified by a query paramet=
er)
> --------
>
> =A0 For example, the client makes the following HTTPS request (line
> =A0 breaks are for display purposes only):
>
> =A0 =A0 POST /token HTTP/1.1
> =A0 =A0 Host: server.example.com
> =A0 =A0 Content-Type: application/x-www-form-urlencoded
> --------
> =A0 =A0 Accept: application/json
> --------
>
> =A0 =A0 type=3Dweb_server&client_id=3Ds6BhdRkqt3&
> =A0 =A0 client_secret=3DgX1fBat3bV&code=3Di1WsRn1uB1&
> =A0 =A0 redirect_uri=3Dhttps%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb

Why not allow the request to be JSON encoded as well?

The only non-JSON requests and responses are those that go through the
User Agent as query parameters. How about encoding with JSON in these
cases as well and putting the whole JSON blob into a query parameter
named like oauth_request/oauth_response? This would make all
requests/responses  consistent and eliminate possible collisions.

Do we still have to support application/x-www-form-urlencoded?

Marius

From mscurtescu@google.com  Thu Apr 29 17:39:36 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 85DAE3A6812 for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 17:39:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.536
X-Spam-Level: 
X-Spam-Status: No, score=-100.536 tagged_above=-999 required=5 tests=[AWL=-0.973, BAYES_40=-0.185, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uByplRCQsg3x for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 17:39:35 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 66BB83A63D3 for <oauth@ietf.org>; Thu, 29 Apr 2010 17:39:35 -0700 (PDT)
Received: from hpaq1.eem.corp.google.com (hpaq1.eem.corp.google.com [10.3.21.1]) by smtp-out.google.com with ESMTP id o3U0dKUn027306 for <oauth@ietf.org>; Thu, 29 Apr 2010 17:39:20 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1272587960; bh=d0HDJOSFfBX0/NgfiPqEEoKrwqM=; h=MIME-Version:From:Date:Message-ID:Subject:To:Content-Type; b=BvJ7D8vF2i/IwX0p7o4j9f0cZrK/TlpNGlSWBTrJ8jD7K4rlTt65CAI1xxMl42wAi M8MojZSoSfIxpWz//t6Mw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:from:date:message-id:subject:to:content-type:x-system-of-record; b=uV/Z3u3k2ViM/kAvYg1xlx1NO529XYUQxeOvaf4e+3aTKweByhpoAG9r42y4s14Hx Xmz/rRTiK5E1aqMcqBlmQ==
Received: from pxi1 (pxi1.prod.google.com [10.243.27.1]) by hpaq1.eem.corp.google.com with ESMTP id o3U0dIqX016768 for <oauth@ietf.org>; Thu, 29 Apr 2010 17:39:19 -0700
Received: by pxi1 with SMTP id 1so3341457pxi.8 for <oauth@ietf.org>; Thu, 29 Apr 2010 17:39:18 -0700 (PDT)
Received: by 10.141.2.2 with SMTP id e2mr209337rvi.263.1272587958154; Thu, 29  Apr 2010 17:39:18 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.14.15 with HTTP; Thu, 29 Apr 2010 17:38:58 -0700 (PDT)
From: Marius Scurtescu <mscurtescu@google.com>
Date: Thu, 29 Apr 2010 17:38:58 -0700
Message-ID: <u2n74caaad21004291738ua47de12aob707d77e46e47adb@mail.gmail.com>
To: OAuth WG <oauth@ietf.org>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Subject: [OAUTH-WG] same-origin policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Apr 2010 00:39:36 -0000

Section 3.5.1, version 01, says: "These clients cannot keep client
secrets confidential and the authentication of the client is based on
the user-agent's same-origin policy."

I don't think that the same-origin policy comes into play in this
case. Authentication of the client is based only on the end-user
validating the redirection URI.

Marius

From James.H.Manger@team.telstra.com  Thu Apr 29 18:51:16 2010
Return-Path: <James.H.Manger@team.telstra.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A98AB3A63EB for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 18:51:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.081
X-Spam-Level: *
X-Spam-Status: No, score=1.081 tagged_above=-999 required=5 tests=[AWL=-0.618,  BAYES_50=0.001, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Cya8Mzb135jj for <oauth@core3.amsl.com>; Thu, 29 Apr 2010 18:51:15 -0700 (PDT)
Received: from ipxano.tcif.telstra.com.au (ipxano.tcif.telstra.com.au [203.35.82.200]) by core3.amsl.com (Postfix) with ESMTP id 597E23A6358 for <oauth@ietf.org>; Thu, 29 Apr 2010 18:51:13 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.52,299,1270389600";  d="scan'208";a="2304234"
Received: from unknown (HELO ipcani.tcif.telstra.com.au) ([10.97.216.200]) by ipoani.tcif.telstra.com.au with ESMTP; 30 Apr 2010 11:50:58 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,5967"; a="1650661"
Received: from wsmsg3706.srv.dir.telstra.com ([172.49.40.80]) by ipcani.tcif.telstra.com.au with ESMTP; 30 Apr 2010 11:50:59 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by wsmsg3706.srv.dir.telstra.com ([172.49.40.80]) with mapi; Fri, 30 Apr 2010 11:50:58 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: "oauth@ietf.org" <oauth@ietf.org>
Date: Fri, 30 Apr 2010 11:50:57 +1000
Thread-Topic: [OAUTH-WG] application/x-www-form-urlencoded vs JSON (Proposal)
Thread-Index: Acrn1JdrDXA7zW7KSCO+1dGXoNW2GwAKqxpg
Message-ID: <255B9BB34FB7D647A506DC292726F6E11257B7ACB1@WSMSG3153V.srv.dir.telstra.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BD2A172.2070401@lodderstedt.net>	<4BD8869A.2080403@lodderstedt.net> <s2zc334d54e1004281425x5e714eebwcd5a91af593a62ac@mail.gmail.com> <v2j68fba5c51004282044o3a5f96cfucb1157d3884d8cd2@mail.gmail.com> <4BD9E1E3.7060107@lodderstedt.net>
In-Reply-To: <4BD9E1E3.7060107@lodderstedt.net>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-AU
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON (Proposal)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Apr 2010 01:51:16 -0000

PiBtdWx0aXBsZSByZXNwb25zZSBmb3JtYXRzDQoNClF1aXRlIGEgZmV3IHBlb3BsZSAobW9zdD8p
IGhhdmUgKG9mdGVuIHN0cm9uZ2x5KSBmYXZvdXJlZCBhIHNpbmdsZSByZXNwb25zZSBmb3JtYXQs
IGFuZCBtb3N0IG9mIHRoZW0gcHJlZmVyIEpTT04uIEkgYWdyZWU6IEpTT04gZm9yIHJlc3BvbnNl
cywgYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIGZvciByZXF1ZXN0cy4NCg0KDQo+
IFByb3Bvc2VkIGNoYW5nZXMgdG8gc2VjdGlvbiAzLjUuMiBzaG91bGQgYmUgYXBwbGllZCB0bw0K
PiAzLjUuMywgMy42LjEuLCAzLjcuMS4sIDMuNy4yLCBhbmQgNC4sIHRvby4NCg0KSSBob3BlIHdl
IGNhbiByZWR1Y2UgdGhlIGR1cGxpY2F0aW9uIGJ5IGRlc2NyaWJpbmcgdGhlIGZvcm1hdCBvbmNl
IG9ubHkuDQoNCg0KPiBwYXJhbWV0ZXJzIGFyZSBlbmNvZGVkIHN0cmFpZ2h0LWZvcndhcmQgYXMg
ZmxhdCBKU09OIG9iamVjdA0KDQpJdCB3b3VsZCBiZSBiZXR0ZXIgdG8gdXNlIHRoZSBiYXNpYyBK
U09OIHR5cGVzLCBub3QganVzdCBzdHJpbmdzIGZvciBldmVyeXRoaW5nLg0KRm9yIGluc3RhbmNl
LCANCiAgImV4cGlyZXNfaW4iOiAzNjAwDQpJbnN0ZWFkIG9mDQogICJleHBpcmVzX2luIjogIjM2
MDAiDQpGb3JjaW5nIGFsbCB2YWx1ZXMgdG8gYmUgc3RyaW5ncyBtYXkgc2ltcGxpZnkgbWFwcGlu
ZyBiZXR3ZWVuIG11bHRpcGxlIGZvcm1hdHMsIGJ1dCBpdCBoaW5kZXJzIGlkaW9tYXRpYyB1c2Ug
b2YgdGhlIGZvcm1hdHMgKHdoaWNoIGlzIGltcG9ydGFudCkuIFRoaXMgaXMgYW5vdGhlciByZWFz
b24gdG8gcGljayBhIHNpbmdsZSBmb3JtYXQuDQoNCg0KPiBhcHBsaWNhdGlvbi9qc29uDQoNClRo
ZXJlIGFyZSBsb3RzIG9mIGFwcGxpY2F0aW9uL1hYWFgreG1sIG1lZGlhIHR5cGVzIHRoYXQgYXJl
IGJldHRlciB0byB1c2UgdGhhbiB0aGUgZ2VuZXJpYyBhcHBsaWNhdGlvbi94bWwuIDxodHRwOi8v
dG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzMDIzI2FwcGVuZGl4LUE+DQpJcyB0aGUgc2FtZSB0cnVl
IGZvciBKU09OPw0KSSB0aGluayBhbiBhcHBsaWNhdGlvbi9jcmVkZW50aWFsIG1lZGlhIHR5cGUg
d291bGQgYmUgbW9yZSBoZWxwZnVsIChwZXJoYXBzIHdpdGggYSAiK2pzb24iIHN1ZmZpeCBpZiB0
aGF0IGlzIGNvbW1vbiBwcmFjdGlzZSkuDQoNCg0KLS0NCkphbWVzIE1hbmdlcg0K

From torsten@lodderstedt.net  Fri Apr 30 00:29:01 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 5AF643A67B3 for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 00:29:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.413
X-Spam-Level: 
X-Spam-Status: No, score=-1.413 tagged_above=-999 required=5 tests=[AWL=0.836,  BAYES_00=-2.599, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8BbINFUHgYej for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 00:29:00 -0700 (PDT)
Received: from smtprelay01.ispgateway.de (smtprelay01.ispgateway.de [80.67.18.13]) by core3.amsl.com (Postfix) with ESMTP id 03C793A6403 for <oauth@ietf.org>; Fri, 30 Apr 2010 00:28:59 -0700 (PDT)
Received: from [80.67.16.114] (helo=localhost) by smtprelay01.ispgateway.de with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O7keS-0006Cu-SM; Fri, 30 Apr 2010 09:28:44 +0200
Received: from proxy1.t-online.net (proxy1.t-online.net [195.243.113.249]) by webmail.df.eu (Horde Framework) with HTTP; Fri, 30 Apr 2010 09:28:44 +0200
Message-ID: <20100430092844.19246e5a70ad1ew4@webmail.df.eu>
Date: Fri, 30 Apr 2010 09:28:44 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <20100429211502.40FA33A69F2@core3.amsl.com> <90C41DD21FB7C64BB94121FBBC2E7234393217711F@P3PW5EX1MB01.EX1.SECURESERVER.NET>
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E7234393217711F@P3PW5EX1MB01.EX1.SECURESERVER.NET>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; DelSp="Yes"; format="flowed"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit
User-Agent: Dynamic Internet Messaging Program (DIMP) H3 (1.1.2)
X-Originating-IP: 195.243.113.249
X-Df-Sender: 141509
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] I-D Action:draft-ietf-oauth-v2-01.txt
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Apr 2010 07:29:01 -0000

Hi Eran,

would you please give an overview of what aspects you are going to  
change in the next draft and what issue you consider as still open?

thanks in advance,
Torsten.

Zitat von Eran Hammer-Lahav <eran@hueniverse.com>:

> Draft -01 submitted today shortly after the -00 (this will make it  
> easier to do a diff for those who read the -00 draft).
>
> I plan to publish -02 next week based on feedback received on the list.
>
> EHL
>
>> -----Original Message-----
>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
>> Of Internet-Drafts@ietf.org
>> Sent: Thursday, April 29, 2010 2:15 PM
>> To: i-d-announce@ietf.org
>> Cc: oauth@ietf.org
>> Subject: [OAUTH-WG] I-D Action:draft-ietf-oauth-v2-01.txt
>>
>> A New Internet-Draft is available from the on-line Internet-Drafts  
>> directories.
>> This draft is a work item of the Open Authentication Protocol Working Group
>> of the IETF.
>>
>>
>> 	Title           : The OAuth 2.0 Protocol
>> 	Author(s)       : E. Hammer-Lahav, et al.
>> 	Filename        : draft-ietf-oauth-v2-01.txt
>> 	Pages           : 49
>> 	Date            : 2010-04-29
>>
>> This specification describes the OAuth 2.0 protocol.  OAuth provides a
>> method for making authenticated HTTP requests using a token - an identifier
>> used to denote an access grant with specific scope, duration, and other
>> attributes.  Tokens are issued to third-party clients by an  
>> authorization server
>> with the approval of the resource owner.  OAuth defines multiple flows for
>> obtaining a token to support a wide range of client types and user
>> experience.
>>
>> A URL for this Internet-Draft is:
>> http://www.ietf.org/internet-drafts/draft-ietf-oauth-v2-01.txt
>>
>> Internet-Drafts are also available by anonymous FTP at:
>> ftp://ftp.ietf.org/internet-drafts/
>>
>> Below is the data which will enable a MIME compliant mail reader
>> implementation to automatically retrieve the ASCII version of the Internet-
>> Draft.
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>





From torsten@lodderstedt.net  Fri Apr 30 01:59:51 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D48193A68D0 for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 01:59:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.322
X-Spam-Level: 
X-Spam-Status: No, score=-0.322 tagged_above=-999 required=5 tests=[AWL=-0.673, BAYES_50=0.001, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8Fs7If4viB56 for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 01:59:51 -0700 (PDT)
Received: from smtprelay01.ispgateway.de (smtprelay01.ispgateway.de [80.67.31.39]) by core3.amsl.com (Postfix) with ESMTP id B5E8F3A67CF for <oauth@ietf.org>; Fri, 30 Apr 2010 01:59:50 -0700 (PDT)
Received: from [80.67.16.114] (helo=localhost) by smtprelay01.ispgateway.de with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O7m4N-0001Bm-PV; Fri, 30 Apr 2010 10:59:35 +0200
Received: from proxy1.t-online.net (proxy1.t-online.net [195.243.113.249]) by webmail.df.eu (Horde Framework) with HTTP; Fri, 30 Apr 2010 10:59:35 +0200
Message-ID: <20100430105935.20255m8kdythy6sc@webmail.df.eu>
Date: Fri, 30 Apr 2010 10:59:35 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
To: Brian Eaton <beaton@google.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BD2A172.2070401@lodderstedt.net> <4BD8869A.2080403@lodderstedt.net> <s2zc334d54e1004281425x5e714eebwcd5a91af593a62ac@mail.gmail.com> <v2j68fba5c51004282044o3a5f96cfucb1157d3884d8cd2@mail.gmail.com> <4BD9E1E3.7060107@lodderstedt.net> <7C01E631FF4B654FA1E783F1C0265F8C4A3EF0B0@TK5EX14MBXC115.redmond.corp.microsoft.com> <z2yf5bedd151004291440g17693f8du9e19a649bef925e4@mail.gmail.com> <w2odaf5b9571004291509x8895a73k384a4b4ddb12b794@mail.gmail.com>
In-Reply-To: <w2odaf5b9571004291509x8895a73k384a4b4ddb12b794@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; DelSp="Yes"; format="flowed"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit
User-Agent: Dynamic Internet Messaging Program (DIMP) H3 (1.1.2)
X-Originating-IP: 195.243.113.249
X-Df-Sender: 141509
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON (Proposal)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Apr 2010 08:59:51 -0000

Zitat von Brian Eaton <beaton@google.com>:

> On Thu, Apr 29, 2010 at 2:40 PM, Mike Moore <blowmage@gmail.com> wrote:
>> On Thu, Apr 29, 2010 at 2:49 PM, Yaron Goland <yarong@microsoft.com> wrote:
>>>
>>> Can we please just have one format, not 3? The more choices we give the
>>> more interoperability suffers.
>
> Yes.  The number of parsers needed to make a working system is
> important.  The spec has too many already.
>
> I'd like to see authorization servers returning JSON or XML, since
> that's what the resource servers are doing.
>
> ...and given a choice between JSON and XML, I'd pick JSON.
>

I agree. At Deutsche Telekom, we try to align our authorization APIs with the
APIs provided by the resource servers. Authorization is "just" a small, but
important, portion of the overall process and aligning it with the rest
increases acceptance and decreases error rate.

None of the APIs we provide uses form encoding, most of them use JSON,  
some XML.
Based on that observation I would like to see at least JSON support in OAuth.
So JSON as the only would be fine with me.

My proposal is based on the observation that the WG did not come to a  
consensus
about the one and only format.

I have collected the following opinions from the thread:

pro additional support for JSON and XML - Marius Scurtescu, John  
Jawed, Richard Barnes, Brian Eaton, Torsten Lodderstedt
pro additional support for JSON - Dick Hardt (initiated the thread),  
Joseph Smarr
still support application/x-www-form-urlencoded (unclear whether  
exclusively) - David Recordon, Gaurav Rastogi
one format only (preference unclear) - Yaron Goland
JSON as the only format (if forced to decide for a single format) -  
Brian Eaton, Torsten Lodderstedt
JSON as the only format - James Manger, Robert Sayre
application/x-www-form-urlencoded as the only format - Mike Moore
JSON for responses as well - Marius Scurtescu

Here are some representative comments from the thread:

Joseph Smarr - "JSON is already widely supported (presumably including  
by most APIs that you're building OAuth support to be able to access!"

David Recordon - "it's drastically more complex for environments (like  
embedded hardware)
which doesn't support JSON."

Paul C. Bryan - "I'm struggling to imagine hardware that on the one  
hand would support
OAuth, but on the other would be incapable of supporting JSON..."

Gaurav Rastogi - "There are enough number of small embedded software  
stack where JSON is not an option."

So we have at least 9 votes pro JSON, but also 1 vote for  
application/x-www-form-urlencoded only.

How shall we proceed? Can we come to a consensus?

regards,
Torsten.

> Cheers,
> Brian
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>





From eran@hueniverse.com  Fri Apr 30 08:44:20 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 515043A6896 for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 08:44:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.244
X-Spam-Level: 
X-Spam-Status: No, score=-1.244 tagged_above=-999 required=5 tests=[AWL=-1.245, BAYES_50=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZoOOzbvqaN5n for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 08:44:19 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 57DE33A688C for <oauth@ietf.org>; Fri, 30 Apr 2010 08:44:19 -0700 (PDT)
Received: (qmail 30095 invoked from network); 30 Apr 2010 15:44:05 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 30 Apr 2010 15:44:05 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Fri, 30 Apr 2010 08:43:55 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: "OAuth WG (oauth@ietf.org)" <oauth@ietf.org>
Date: Fri, 30 Apr 2010 08:43:55 -0700
Thread-Topic: Scope - Coming to a Consensus
Thread-Index: Acroe/D4ieCnKO2GTMiNS2rQ7lPsVg==
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723439321772EF@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: [OAUTH-WG] Scope - Coming to a Consensus
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Apr 2010 15:44:20 -0000

It's time to decide how we want to treat access token scope in the specific=
ation. Note that this discussion is limited to *requesting* an access token=
 with a specific scope and does not include how to decide when a token shou=
ld be reused against an unfamiliar server (i.e. resource server advertising=
 which scope it requires).

Below is the list of options with enough group interest. I didn't my best t=
o represent each option without bias but please feel free to add more detai=
ls with your votes. If you feel strongly about other alternatives, please l=
ist them in your reply.

Please reply by 5/5.

EHL

---

1. Parameter Name Only=20

Define a token request parameter 'scope' leaving the value structure undefi=
ned. This will allow libraries to define a built-in parameter to pass scope=
 up and down the stack. Each provider will need to document their use of th=
e parameter, including delimiter and encoding.

Pros:

- This does not require specifying a format that may conflict with existing=
 or desired vendor-specific needs.
- There isn't enough deployment experience to go further than that.
- It makes using a library easier for client developers

Cons:

- Adding an undefined parameter can hurt interoperability in the long run b=
ecause as soon as it is deployed it will become impossible to standardize t=
his value in the future.
- Libraries are likely to implement the most popular form of scope encoding=
 which will conflict with other vendors.
- Specifying a generally useful format isn't that hard, but is very useful.
- Libraries will need to pass arbitrary parameters anyway to accommodate ot=
her vendor-specific extensions.

2. No Scope Parameter

The protocol will remain mute on the subject, allowing vendors to introduce=
 their own scope parameter either as an extension or as an opaque part of t=
he authorization and token endpoints (as proposed by James Manger).

Pros:

- Simplicity - the protocol doesn't define (partially or fully) parameters =
that are not required in every implementation.
- Flexibility - since there is no consensus on the subject, this allows ven=
dors to define their own parameters with more suitable names (e.g. 'resourc=
es', 'permission', 'duration', etc.).

Cons:

- Every implementation is likely to add such a parameter anyway.
- The pattern described by James isn't obvious and developers are likely to=
 reinvent a scope parameter instead.
- Goes against common expectation of scope support in the core protocol.

3. Space-Delimited Scope Parameter Value

Define a 'scope' parameter with value of space-delimited strings (which can=
 include any character that is not a space - the entire parameter value is =
encoded per the transport rules regardless). Space allows using URIs or sim=
ple strings as values.

Pros:

- A separator-delimited list of values is the common format for scope param=
eters in existing implementations and represents actual deployment experien=
ce.
- Most vendors define a set of opaque strings used for requesting scope. Th=
is enables libraries to concatenate these in a standard way.
- Enables simple extensions in the future for discovering which scope is re=
quired by each resource.

Cons:

- Defining a format without a discovery method for the values needs doesn't=
 offer much more than the other options.
- Doesn't go far enough to actually achieve interoperability.
- Adds complexity for little value.




From eran@hueniverse.com  Fri Apr 30 08:46:40 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A8B243A6896 for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 08:46:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.536
X-Spam-Level: 
X-Spam-Status: No, score=-2.536 tagged_above=-999 required=5 tests=[AWL=0.063,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jFrQlj3b0vJM for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 08:46:39 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 959213A688C for <oauth@ietf.org>; Fri, 30 Apr 2010 08:46:39 -0700 (PDT)
Received: (qmail 31461 invoked from network); 30 Apr 2010 15:46:26 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 30 Apr 2010 15:46:25 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Fri, 30 Apr 2010 08:46:16 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Date: Fri, 30 Apr 2010 08:46:15 -0700
Thread-Topic: [OAUTH-WG] I-D Action:draft-ietf-oauth-v2-01.txt
Thread-Index: AcroNxO/Yqx4OYKATJex84uvQYqEXQAROniw
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723439321772F5@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <20100429211502.40FA33A69F2@core3.amsl.com> <90C41DD21FB7C64BB94121FBBC2E7234393217711F@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100430092844.19246e5a70ad1ew4@webmail.df.eu>
In-Reply-To: <20100430092844.19246e5a70ad1ew4@webmail.df.eu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] I-D Action:draft-ietf-oauth-v2-01.txt
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Apr 2010 15:46:40 -0000

I'd like to add scope and credentials response format in the next draft. Do=
esn't have to be perfect but something we can work with. I am also planning=
 to complete the missing sections at the end.

My goal is to have a feature-complete spec before the interim meeting 5/20.

EHL

> -----Original Message-----
> From: Torsten Lodderstedt [mailto:torsten@lodderstedt.net]
> Sent: Friday, April 30, 2010 12:29 AM
> To: Eran Hammer-Lahav
> Cc: oauth@ietf.org
> Subject: Re: [OAUTH-WG] I-D Action:draft-ietf-oauth-v2-01.txt
>=20
> Hi Eran,
>=20
> would you please give an overview of what aspects you are going to change
> in the next draft and what issue you consider as still open?
>=20
> thanks in advance,
> Torsten.
>=20
> Zitat von Eran Hammer-Lahav <eran@hueniverse.com>:
>=20
> > Draft -01 submitted today shortly after the -00 (this will make it
> > easier to do a diff for those who read the -00 draft).
> >
> > I plan to publish -02 next week based on feedback received on the list.
> >
> > EHL
> >
> >> -----Original Message-----
> >> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
> >> Behalf Of Internet-Drafts@ietf.org
> >> Sent: Thursday, April 29, 2010 2:15 PM
> >> To: i-d-announce@ietf.org
> >> Cc: oauth@ietf.org
> >> Subject: [OAUTH-WG] I-D Action:draft-ietf-oauth-v2-01.txt
> >>
> >> A New Internet-Draft is available from the on-line Internet-Drafts
> >> directories.
> >> This draft is a work item of the Open Authentication Protocol Working
> >> Group of the IETF.
> >>
> >>
> >> 	Title           : The OAuth 2.0 Protocol
> >> 	Author(s)       : E. Hammer-Lahav, et al.
> >> 	Filename        : draft-ietf-oauth-v2-01.txt
> >> 	Pages           : 49
> >> 	Date            : 2010-04-29
> >>
> >> This specification describes the OAuth 2.0 protocol.  OAuth provides
> >> a method for making authenticated HTTP requests using a token - an
> >> identifier used to denote an access grant with specific scope,
> >> duration, and other attributes.  Tokens are issued to third-party
> >> clients by an authorization server with the approval of the resource
> >> owner.  OAuth defines multiple flows for obtaining a token to support
> >> a wide range of client types and user experience.
> >>
> >> A URL for this Internet-Draft is:
> >> http://www.ietf.org/internet-drafts/draft-ietf-oauth-v2-01.txt
> >>
> >> Internet-Drafts are also available by anonymous FTP at:
> >> ftp://ftp.ietf.org/internet-drafts/
> >>
> >> Below is the data which will enable a MIME compliant mail reader
> >> implementation to automatically retrieve the ASCII version of the
> >> Internet- Draft.
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> >
>=20
>=20
>=20


From eran@hueniverse.com  Fri Apr 30 08:48:06 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 343543A6B0A for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 08:48:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.537
X-Spam-Level: 
X-Spam-Status: No, score=-2.537 tagged_above=-999 required=5 tests=[AWL=0.062,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id O4DdRqxKvFL5 for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 08:48:05 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id CA0683A6B02 for <oauth@ietf.org>; Fri, 30 Apr 2010 08:48:04 -0700 (PDT)
Received: (qmail 15057 invoked from network); 30 Apr 2010 15:47:49 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 30 Apr 2010 15:47:49 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Fri, 30 Apr 2010 08:47:47 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Marius Scurtescu <mscurtescu@google.com>, OAuth WG <oauth@ietf.org>
Date: Fri, 30 Apr 2010 08:46:39 -0700
Thread-Topic: [OAUTH-WG] same-origin policy
Thread-Index: Acrn/ZeK7OLXJrTKQSWD19+9KX5Q3AAfrODw
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723439321772F8@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <u2n74caaad21004291738ua47de12aob707d77e46e47adb@mail.gmail.com>
In-Reply-To: <u2n74caaad21004291738ua47de12aob707d77e46e47adb@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] same-origin policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Apr 2010 15:48:06 -0000

This language was requested by Brian.

EHL

> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> Of Marius Scurtescu
> Sent: Thursday, April 29, 2010 5:39 PM
> To: OAuth WG
> Subject: [OAUTH-WG] same-origin policy
>=20
> Section 3.5.1, version 01, says: "These clients cannot keep client secret=
s
> confidential and the authentication of the client is based on the user-ag=
ent's
> same-origin policy."
>=20
> I don't think that the same-origin policy comes into play in this case.
> Authentication of the client is based only on the end-user validating the
> redirection URI.
>=20
> Marius
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth

From yarong@microsoft.com  Fri Apr 30 09:02:50 2010
Return-Path: <yarong@microsoft.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 91B703A6405 for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 09:02:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.235
X-Spam-Level: 
X-Spam-Status: No, score=-8.235 tagged_above=-999 required=5 tests=[AWL=-0.236, BAYES_50=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xvc3z-GJMcdl for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 09:02:49 -0700 (PDT)
Received: from smtp.microsoft.com (mail2.microsoft.com [131.107.115.215]) by core3.amsl.com (Postfix) with ESMTP id 6E6903A6A93 for <oauth@ietf.org>; Fri, 30 Apr 2010 09:02:49 -0700 (PDT)
Received: from TK5EX14MLTC104.redmond.corp.microsoft.com (157.54.79.159) by TK5-EXGWY-E802.partners.extranet.microsoft.com (10.251.56.168) with Microsoft SMTP Server (TLS) id 8.2.176.0; Fri, 30 Apr 2010 09:02:35 -0700
Received: from TK5EX14MBXC117.redmond.corp.microsoft.com ([169.254.8.11]) by TK5EX14MLTC104.redmond.corp.microsoft.com ([157.54.79.159]) with mapi; Fri, 30 Apr 2010 09:02:35 -0700
From: Yaron Goland <yarong@microsoft.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>, Brian Eaton <beaton@google.com>
Thread-Topic: [OAUTH-WG] application/x-www-form-urlencoded vs JSON (Proposal)
Thread-Index: AQHK59S4dijkuO12aUS5QP9a3egKcZI56ujQgACEAACAAAgSgIAAtZ6AgAAAk0A=
Date: Fri, 30 Apr 2010 16:02:31 +0000
Message-ID: <7C01E631FF4B654FA1E783F1C0265F8C4A402461@TK5EX14MBXC117.redmond.corp.microsoft.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BD2A172.2070401@lodderstedt.net> <4BD8869A.2080403@lodderstedt.net> <s2zc334d54e1004281425x5e714eebwcd5a91af593a62ac@mail.gmail.com> <v2j68fba5c51004282044o3a5f96cfucb1157d3884d8cd2@mail.gmail.com> <4BD9E1E3.7060107@lodderstedt.net> <7C01E631FF4B654FA1E783F1C0265F8C4A3EF0B0@TK5EX14MBXC115.redmond.corp.microsoft.com> <z2yf5bedd151004291440g17693f8du9e19a649bef925e4@mail.gmail.com> <w2odaf5b9571004291509x8895a73k384a4b4ddb12b794@mail.gmail.com> <20100430105935.20255m8kdythy6sc@webmail.df.eu>
In-Reply-To: <20100430105935.20255m8kdythy6sc@webmail.df.eu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON (Proposal)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Apr 2010 16:02:50 -0000

I actually have a preference for application/x-www-form-urlencoded but it's=
 not overwhelming, the key thing I believe we need to do is have exactly on=
e request/response format. In other words, I don't believe we should use on=
e format for requests and another for responses. Just pick one for both.
	Thanks,
		Yaron

> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> Of Torsten Lodderstedt
> Sent: Friday, April 30, 2010 2:00 AM
> To: Brian Eaton
> Cc: oauth@ietf.org
> Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
> (Proposal)
>=20
>=20
> Zitat von Brian Eaton <beaton@google.com>:
>=20
> > On Thu, Apr 29, 2010 at 2:40 PM, Mike Moore <blowmage@gmail.com>
> wrote:
> >> On Thu, Apr 29, 2010 at 2:49 PM, Yaron Goland <yarong@microsoft.com>
> wrote:
> >>>
> >>> Can we please just have one format, not 3? The more choices we give
> >>> the more interoperability suffers.
> >
> > Yes.  The number of parsers needed to make a working system is
> > important.  The spec has too many already.
> >
> > I'd like to see authorization servers returning JSON or XML, since
> > that's what the resource servers are doing.
> >
> > ...and given a choice between JSON and XML, I'd pick JSON.
> >
>=20
> I agree. At Deutsche Telekom, we try to align our authorization APIs with=
 the
> APIs provided by the resource servers. Authorization is "just" a small, b=
ut
> important, portion of the overall process and aligning it with the rest
> increases acceptance and decreases error rate.
>=20
> None of the APIs we provide uses form encoding, most of them use JSON,
> some XML.
> Based on that observation I would like to see at least JSON support in OA=
uth.
> So JSON as the only would be fine with me.
>=20
> My proposal is based on the observation that the WG did not come to a
> consensus about the one and only format.
>=20
> I have collected the following opinions from the thread:
>=20
> pro additional support for JSON and XML - Marius Scurtescu, John Jawed,
> Richard Barnes, Brian Eaton, Torsten Lodderstedt pro additional support f=
or
> JSON - Dick Hardt (initiated the thread), Joseph Smarr still support
> application/x-www-form-urlencoded (unclear whether
> exclusively) - David Recordon, Gaurav Rastogi one format only (preference
> unclear) - Yaron Goland JSON as the only format (if forced to decide for =
a
> single format) - Brian Eaton, Torsten Lodderstedt JSON as the only format=
 -
> James Manger, Robert Sayre application/x-www-form-urlencoded as the
> only format - Mike Moore JSON for responses as well - Marius Scurtescu
>=20
> Here are some representative comments from the thread:
>=20
> Joseph Smarr - "JSON is already widely supported (presumably including by
> most APIs that you're building OAuth support to be able to access!"
>=20
> David Recordon - "it's drastically more complex for environments (like
> embedded hardware) which doesn't support JSON."
>=20
> Paul C. Bryan - "I'm struggling to imagine hardware that on the one hand
> would support OAuth, but on the other would be incapable of supporting
> JSON..."
>=20
> Gaurav Rastogi - "There are enough number of small embedded software
> stack where JSON is not an option."
>=20
> So we have at least 9 votes pro JSON, but also 1 vote for application/x-w=
ww-
> form-urlencoded only.
>=20
> How shall we proceed? Can we come to a consensus?
>=20
> regards,
> Torsten.
>=20
> > Cheers,
> > Brian
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> >
>=20
>=20
>=20
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From blowmage@gmail.com  Fri Apr 30 09:12:50 2010
Return-Path: <blowmage@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 5E8C63A6A40 for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 09:12:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bC7XLP8i1N6D for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 09:12:49 -0700 (PDT)
Received: from mail-pw0-f44.google.com (mail-pw0-f44.google.com [209.85.160.44]) by core3.amsl.com (Postfix) with ESMTP id E7A0C3A6B50 for <oauth@ietf.org>; Fri, 30 Apr 2010 09:12:48 -0700 (PDT)
Received: by pwj2 with SMTP id 2so230593pwj.31 for <oauth@ietf.org>; Fri, 30 Apr 2010 09:12:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=Xc6rvgf4ySXjO7VVzpls7Pmuq1efkaTTnF0agJ6J15g=; b=wIMOgqzEV5JP2R5jl39dbJiwqAaStMAMdduYuK1Zo0+NvXfGzDaUyGxDs/Ruo8j3dr BUM8Bu0NWHCey6Q2lqY2GSmKKN8qv/Zd69ZH5IxqWHQ253dZYHgfvwednwQfczuNrahA 4+ga+AM53byz1k1K2qmd/4dy7+UroL5ZEnYRY=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=rRrwx1CrCMIylPlq+bBnOzu9GU3y9qqQ9qzMRQnmZC8DMlSHKCAhdMqf+cnlRm7l0S fQr8ElgFtHC59R+9L36F9dz7wSyZGbk86Vm+dnXC8SZYY7C+bp2GIAO36LZgW2+RtD1U OBo9+04Ud2a91ekIj8q3Wm+545stBR7lieELo=
MIME-Version: 1.0
Received: by 10.141.107.5 with SMTP id j5mr1088066rvm.105.1272643952493; Fri,  30 Apr 2010 09:12:32 -0700 (PDT)
Received: by 10.140.158.13 with HTTP; Fri, 30 Apr 2010 09:12:32 -0700 (PDT)
In-Reply-To: <7C01E631FF4B654FA1E783F1C0265F8C4A402461@TK5EX14MBXC117.redmond.corp.microsoft.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <4BD8869A.2080403@lodderstedt.net> <s2zc334d54e1004281425x5e714eebwcd5a91af593a62ac@mail.gmail.com> <v2j68fba5c51004282044o3a5f96cfucb1157d3884d8cd2@mail.gmail.com> <4BD9E1E3.7060107@lodderstedt.net> <7C01E631FF4B654FA1E783F1C0265F8C4A3EF0B0@TK5EX14MBXC115.redmond.corp.microsoft.com> <z2yf5bedd151004291440g17693f8du9e19a649bef925e4@mail.gmail.com> <w2odaf5b9571004291509x8895a73k384a4b4ddb12b794@mail.gmail.com> <20100430105935.20255m8kdythy6sc@webmail.df.eu> <7C01E631FF4B654FA1E783F1C0265F8C4A402461@TK5EX14MBXC117.redmond.corp.microsoft.com>
Date: Fri, 30 Apr 2010 10:12:32 -0600
Message-ID: <w2pf5bedd151004300912ja2c2d29ftdae1f235b0a7a569@mail.gmail.com>
From: Mike Moore <blowmage@gmail.com>
To: Yaron Goland <yarong@microsoft.com>
Content-Type: multipart/alternative; boundary=000e0cd13b6ab6c45b0485768275
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON (Proposal)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Apr 2010 16:12:50 -0000

--000e0cd13b6ab6c45b0485768275
Content-Type: text/plain; charset=ISO-8859-1

I fully agree with Yaron. My preference for x-www-form-urlencoded is slight,
and mostly because I haven't seen a compelling reason to change. I'm fine
with choosing JSON (or even XML) as long as there is one format.

On Fri, Apr 30, 2010 at 10:02 AM, Yaron Goland <yarong@microsoft.com> wrote:

> I actually have a preference for application/x-www-form-urlencoded but it's
> not overwhelming, the key thing I believe we need to do is have exactly one
> request/response format. In other words, I don't believe we should use one
> format for requests and another for responses. Just pick one for both.
>        Thanks,
>                 Yaron
>
> > -----Original Message-----
> > From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> > Of Torsten Lodderstedt
> > Sent: Friday, April 30, 2010 2:00 AM
> > To: Brian Eaton
> > Cc: oauth@ietf.org
> > Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
> > (Proposal)
> >
> >
> > Zitat von Brian Eaton <beaton@google.com>:
> >
> > > On Thu, Apr 29, 2010 at 2:40 PM, Mike Moore <blowmage@gmail.com>
> > wrote:
> > >> On Thu, Apr 29, 2010 at 2:49 PM, Yaron Goland <yarong@microsoft.com>
> > wrote:
> > >>>
> > >>> Can we please just have one format, not 3? The more choices we give
> > >>> the more interoperability suffers.
> > >
> > > Yes.  The number of parsers needed to make a working system is
> > > important.  The spec has too many already.
> > >
> > > I'd like to see authorization servers returning JSON or XML, since
> > > that's what the resource servers are doing.
> > >
> > > ...and given a choice between JSON and XML, I'd pick JSON.
> > >
> >
> > I agree. At Deutsche Telekom, we try to align our authorization APIs with
> the
> > APIs provided by the resource servers. Authorization is "just" a small,
> but
> > important, portion of the overall process and aligning it with the rest
> > increases acceptance and decreases error rate.
> >
> > None of the APIs we provide uses form encoding, most of them use JSON,
> > some XML.
> > Based on that observation I would like to see at least JSON support in
> OAuth.
> > So JSON as the only would be fine with me.
> >
> > My proposal is based on the observation that the WG did not come to a
> > consensus about the one and only format.
> >
> > I have collected the following opinions from the thread:
> >
> > pro additional support for JSON and XML - Marius Scurtescu, John Jawed,
> > Richard Barnes, Brian Eaton, Torsten Lodderstedt pro additional support
> for
> > JSON - Dick Hardt (initiated the thread), Joseph Smarr still support
> > application/x-www-form-urlencoded (unclear whether
> > exclusively) - David Recordon, Gaurav Rastogi one format only (preference
> > unclear) - Yaron Goland JSON as the only format (if forced to decide for
> a
> > single format) - Brian Eaton, Torsten Lodderstedt JSON as the only format
> -
> > James Manger, Robert Sayre application/x-www-form-urlencoded as the
> > only format - Mike Moore JSON for responses as well - Marius Scurtescu
> >
> > Here are some representative comments from the thread:
> >
> > Joseph Smarr - "JSON is already widely supported (presumably including by
> > most APIs that you're building OAuth support to be able to access!"
> >
> > David Recordon - "it's drastically more complex for environments (like
> > embedded hardware) which doesn't support JSON."
> >
> > Paul C. Bryan - "I'm struggling to imagine hardware that on the one hand
> > would support OAuth, but on the other would be incapable of supporting
> > JSON..."
> >
> > Gaurav Rastogi - "There are enough number of small embedded software
> > stack where JSON is not an option."
> >
> > So we have at least 9 votes pro JSON, but also 1 vote for
> application/x-www-
> > form-urlencoded only.
> >
> > How shall we proceed? Can we come to a consensus?
> >
> > regards,
> > Torsten.
> >
> > > Cheers,
> > > Brian
> > > _______________________________________________
> > > OAuth mailing list
> > > OAuth@ietf.org
> > > https://www.ietf.org/mailman/listinfo/oauth
> > >
> >
> >
> >
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--000e0cd13b6ab6c45b0485768275
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I fully agree with Yaron. My preference for=A0x-www-form-urlencoded is slig=
ht, and mostly because I haven&#39;t seen a compelling reason to change. I&=
#39;m fine with choosing JSON (or even XML) as long as there is one format.=
<br>
<br><div class=3D"gmail_quote">On Fri, Apr 30, 2010 at 10:02 AM, Yaron Gola=
nd <span dir=3D"ltr">&lt;<a href=3D"mailto:yarong@microsoft.com">yarong@mic=
rosoft.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I actually have a preference for application/x-www-form-urlencoded but it&#=
39;s not overwhelming, the key thing I believe we need to do is have exactl=
y one request/response format. In other words, I don&#39;t believe we shoul=
d use one format for requests and another for responses. Just pick one for =
both.<br>

 =A0 =A0 =A0 =A0Thanks,<br>
<font color=3D"#888888"> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Yaron<br>
</font><div class=3D"im"><br>
&gt; -----Original Message-----<br>
&gt; From: <a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.org=
</a> [mailto:<a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.o=
rg</a>] On Behalf<br>
&gt; Of Torsten Lodderstedt<br>
</div><div><div></div><div class=3D"h5">&gt; Sent: Friday, April 30, 2010 2=
:00 AM<br>
&gt; To: Brian Eaton<br>
&gt; Cc: <a href=3D"mailto:oauth@ietf.org">oauth@ietf.org</a><br>
&gt; Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON<br>
&gt; (Proposal)<br>
&gt;<br>
&gt;<br>
&gt; Zitat von Brian Eaton &lt;<a href=3D"mailto:beaton@google.com">beaton@=
google.com</a>&gt;:<br>
&gt;<br>
&gt; &gt; On Thu, Apr 29, 2010 at 2:40 PM, Mike Moore &lt;<a href=3D"mailto=
:blowmage@gmail.com">blowmage@gmail.com</a>&gt;<br>
&gt; wrote:<br>
&gt; &gt;&gt; On Thu, Apr 29, 2010 at 2:49 PM, Yaron Goland &lt;<a href=3D"=
mailto:yarong@microsoft.com">yarong@microsoft.com</a>&gt;<br>
&gt; wrote:<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; Can we please just have one format, not 3? The more choic=
es we give<br>
&gt; &gt;&gt;&gt; the more interoperability suffers.<br>
&gt; &gt;<br>
&gt; &gt; Yes. =A0The number of parsers needed to make a working system is<=
br>
&gt; &gt; important. =A0The spec has too many already.<br>
&gt; &gt;<br>
&gt; &gt; I&#39;d like to see authorization servers returning JSON or XML, =
since<br>
&gt; &gt; that&#39;s what the resource servers are doing.<br>
&gt; &gt;<br>
&gt; &gt; ...and given a choice between JSON and XML, I&#39;d pick JSON.<br=
>
&gt; &gt;<br>
&gt;<br>
&gt; I agree. At Deutsche Telekom, we try to align our authorization APIs w=
ith the<br>
&gt; APIs provided by the resource servers. Authorization is &quot;just&quo=
t; a small, but<br>
&gt; important, portion of the overall process and aligning it with the res=
t<br>
&gt; increases acceptance and decreases error rate.<br>
&gt;<br>
&gt; None of the APIs we provide uses form encoding, most of them use JSON,=
<br>
&gt; some XML.<br>
&gt; Based on that observation I would like to see at least JSON support in=
 OAuth.<br>
&gt; So JSON as the only would be fine with me.<br>
&gt;<br>
&gt; My proposal is based on the observation that the WG did not come to a<=
br>
&gt; consensus about the one and only format.<br>
&gt;<br>
&gt; I have collected the following opinions from the thread:<br>
&gt;<br>
&gt; pro additional support for JSON and XML - Marius Scurtescu, John Jawed=
,<br>
&gt; Richard Barnes, Brian Eaton, Torsten Lodderstedt pro additional suppor=
t for<br>
&gt; JSON - Dick Hardt (initiated the thread), Joseph Smarr still support<b=
r>
&gt; application/x-www-form-urlencoded (unclear whether<br>
&gt; exclusively) - David Recordon, Gaurav Rastogi one format only (prefere=
nce<br>
&gt; unclear) - Yaron Goland JSON as the only format (if forced to decide f=
or a<br>
&gt; single format) - Brian Eaton, Torsten Lodderstedt JSON as the only for=
mat -<br>
&gt; James Manger, Robert Sayre application/x-www-form-urlencoded as the<br=
>
&gt; only format - Mike Moore JSON for responses as well - Marius Scurtescu=
<br>
&gt;<br>
&gt; Here are some representative comments from the thread:<br>
&gt;<br>
&gt; Joseph Smarr - &quot;JSON is already widely supported (presumably incl=
uding by<br>
&gt; most APIs that you&#39;re building OAuth support to be able to access!=
&quot;<br>
&gt;<br>
&gt; David Recordon - &quot;it&#39;s drastically more complex for environme=
nts (like<br>
&gt; embedded hardware) which doesn&#39;t support JSON.&quot;<br>
&gt;<br>
&gt; Paul C. Bryan - &quot;I&#39;m struggling to imagine hardware that on t=
he one hand<br>
&gt; would support OAuth, but on the other would be incapable of supporting=
<br>
&gt; JSON...&quot;<br>
&gt;<br>
&gt; Gaurav Rastogi - &quot;There are enough number of small embedded softw=
are<br>
&gt; stack where JSON is not an option.&quot;<br>
&gt;<br>
&gt; So we have at least 9 votes pro JSON, but also 1 vote for application/=
x-www-<br>
&gt; form-urlencoded only.<br>
&gt;<br>
&gt; How shall we proceed? Can we come to a consensus?<br>
&gt;<br>
&gt; regards,<br>
&gt; Torsten.<br>
&gt;<br>
&gt; &gt; Cheers,<br>
&gt; &gt; Brian<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; OAuth mailing list<br>
&gt; &gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt; &gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D=
"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_bla=
nk">https://www.ietf.org/mailman/listinfo/oauth</a><br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br>

--000e0cd13b6ab6c45b0485768275--

From eran@hueniverse.com  Fri Apr 30 10:13:14 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E0C943A677E for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 10:13:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.537
X-Spam-Level: 
X-Spam-Status: No, score=-2.537 tagged_above=-999 required=5 tests=[AWL=0.062,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MMT01Tf7Rgpc for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 10:13:13 -0700 (PDT)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id C0F173A6810 for <oauth@ietf.org>; Fri, 30 Apr 2010 10:13:13 -0700 (PDT)
Received: (qmail 15555 invoked from network); 30 Apr 2010 17:12:59 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 30 Apr 2010 17:12:59 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Fri, 30 Apr 2010 10:12:55 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Yaron Goland <yarong@microsoft.com>, Torsten Lodderstedt <torsten@lodderstedt.net>, Brian Eaton <beaton@google.com>
Date: Fri, 30 Apr 2010 10:12:53 -0700
Thread-Topic: [OAUTH-WG] application/x-www-form-urlencoded vs JSON (Proposal)
Thread-Index: AQHK59S4dijkuO12aUS5QP9a3egKcZI56ujQgACEAACAAAgSgIAAtZ6AgAAAk0CAABNYcA==
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723439323D03A5@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BD2A172.2070401@lodderstedt.net> <4BD8869A.2080403@lodderstedt.net> <s2zc334d54e1004281425x5e714eebwcd5a91af593a62ac@mail.gmail.com> <v2j68fba5c51004282044o3a5f96cfucb1157d3884d8cd2@mail.gmail.com> <4BD9E1E3.7060107@lodderstedt.net> <7C01E631FF4B654FA1E783F1C0265F8C4A3EF0B0@TK5EX14MBXC115.redmond.corp.microsoft.com> <z2yf5bedd151004291440g17693f8du9e19a649bef925e4@mail.gmail.com> <w2odaf5b9571004291509x8895a73k384a4b4ddb12b794@mail.gmail.com> <20100430105935.20255m8kdythy6sc@webmail.df.eu> <7C01E631FF4B654FA1E783F1C0265F8C4A402461@TK5EX14MBXC117.redmond.corp.microsoft.com>
In-Reply-To: <7C01E631FF4B654FA1E783F1C0265F8C4A402461@TK5EX14MBXC117.redmond.corp.microsoft.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON (Proposal)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Apr 2010 17:13:15 -0000

I don't think the two are related. Request format is based on common HTTP r=
equest practice and is built-in every web client. Adding a list of paramete=
rs to a request URI is trivial. Response format on the other hand is less c=
onsistent on the client and we can improve this by specifying a well-define=
 serialization.

I don't care about which format to use or whether we support more than one.

EHL

> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> Of Yaron Goland
> Sent: Friday, April 30, 2010 9:03 AM
> To: Torsten Lodderstedt; Brian Eaton
> Cc: oauth@ietf.org
> Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
> (Proposal)
>=20
> I actually have a preference for application/x-www-form-urlencoded but it=
's
> not overwhelming, the key thing I believe we need to do is have exactly o=
ne
> request/response format. In other words, I don't believe we should use on=
e
> format for requests and another for responses. Just pick one for both.
> 	Thanks,
> 		Yaron
>=20
> > -----Original Message-----
> > From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
> > Of Torsten Lodderstedt
> > Sent: Friday, April 30, 2010 2:00 AM
> > To: Brian Eaton
> > Cc: oauth@ietf.org
> > Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
> > (Proposal)
> >
> >
> > Zitat von Brian Eaton <beaton@google.com>:
> >
> > > On Thu, Apr 29, 2010 at 2:40 PM, Mike Moore <blowmage@gmail.com>
> > wrote:
> > >> On Thu, Apr 29, 2010 at 2:49 PM, Yaron Goland
> > >> <yarong@microsoft.com>
> > wrote:
> > >>>
> > >>> Can we please just have one format, not 3? The more choices we
> > >>> give the more interoperability suffers.
> > >
> > > Yes.  The number of parsers needed to make a working system is
> > > important.  The spec has too many already.
> > >
> > > I'd like to see authorization servers returning JSON or XML, since
> > > that's what the resource servers are doing.
> > >
> > > ...and given a choice between JSON and XML, I'd pick JSON.
> > >
> >
> > I agree. At Deutsche Telekom, we try to align our authorization APIs
> > with the APIs provided by the resource servers. Authorization is
> > "just" a small, but important, portion of the overall process and
> > aligning it with the rest increases acceptance and decreases error rate=
.
> >
> > None of the APIs we provide uses form encoding, most of them use JSON,
> > some XML.
> > Based on that observation I would like to see at least JSON support in
> OAuth.
> > So JSON as the only would be fine with me.
> >
> > My proposal is based on the observation that the WG did not come to a
> > consensus about the one and only format.
> >
> > I have collected the following opinions from the thread:
> >
> > pro additional support for JSON and XML - Marius Scurtescu, John
> > Jawed, Richard Barnes, Brian Eaton, Torsten Lodderstedt pro additional
> > support for JSON - Dick Hardt (initiated the thread), Joseph Smarr
> > still support application/x-www-form-urlencoded (unclear whether
> > exclusively) - David Recordon, Gaurav Rastogi one format only
> > (preference
> > unclear) - Yaron Goland JSON as the only format (if forced to decide
> > for a single format) - Brian Eaton, Torsten Lodderstedt JSON as the
> > only format - James Manger, Robert Sayre
> > application/x-www-form-urlencoded as the only format - Mike Moore
> JSON
> > for responses as well - Marius Scurtescu
> >
> > Here are some representative comments from the thread:
> >
> > Joseph Smarr - "JSON is already widely supported (presumably including
> > by most APIs that you're building OAuth support to be able to access!"
> >
> > David Recordon - "it's drastically more complex for environments (like
> > embedded hardware) which doesn't support JSON."
> >
> > Paul C. Bryan - "I'm struggling to imagine hardware that on the one
> > hand would support OAuth, but on the other would be incapable of
> > supporting JSON..."
> >
> > Gaurav Rastogi - "There are enough number of small embedded software
> > stack where JSON is not an option."
> >
> > So we have at least 9 votes pro JSON, but also 1 vote for
> > application/x-www- form-urlencoded only.
> >
> > How shall we proceed? Can we come to a consensus?
> >
> > regards,
> > Torsten.
> >
> > > Cheers,
> > > Brian
> > > _______________________________________________
> > > OAuth mailing list
> > > OAuth@ietf.org
> > > https://www.ietf.org/mailman/listinfo/oauth
> > >
> >
> >
> >
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth

From blowmage@gmail.com  Fri Apr 30 10:24:07 2010
Return-Path: <blowmage@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id EE5E228C17E for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 10:24:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VgU1ugeZM1FY for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 10:24:06 -0700 (PDT)
Received: from mail-pw0-f44.google.com (mail-pw0-f44.google.com [209.85.160.44]) by core3.amsl.com (Postfix) with ESMTP id A172D28C0F2 for <oauth@ietf.org>; Fri, 30 Apr 2010 10:22:33 -0700 (PDT)
Received: by pwj2 with SMTP id 2so275780pwj.31 for <oauth@ietf.org>; Fri, 30 Apr 2010 10:22:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=otA5zAEN/7AP3xo2Qk5NsmOtcdrk+U6JJx+r7qDb/g8=; b=hGC0OSe5/h9Mwugy5X1mYAcIq3Vv3VN2mqcjBmYV9u4r+0AZDNQscPax0m9C+fiX/b 5aYh8eYD4aJ3KJ4Isqh0vWOWgpiFRRqPEnbfK6zZvPcRvkPA+Se7q2L63ix0LIDQy+oa upCC30kHF8y8Jrmr8YKLkN5wc14gF1UyyMfcU=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=xKG/0WnZu2hVZtIlaE02lrG+VYOxaV6FquW9ycBJPWW20mp7HooMfSTO5k1K/cps2F XrcZ3SFZoiuuw0kBK8ZY/esM7h45T1k9WH5SPkayau+ZZN+Jr/i/gZVBhjIdSIesbuN0 2AlGGNbzAWsw40HrGCqaCHrYLMkM1tHomczbA=
MIME-Version: 1.0
Received: by 10.141.107.11 with SMTP id j11mr1132366rvm.199.1272648137317;  Fri, 30 Apr 2010 10:22:17 -0700 (PDT)
Received: by 10.140.158.13 with HTTP; Fri, 30 Apr 2010 10:22:17 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723439323D03A5@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <s2zc334d54e1004281425x5e714eebwcd5a91af593a62ac@mail.gmail.com> <v2j68fba5c51004282044o3a5f96cfucb1157d3884d8cd2@mail.gmail.com> <4BD9E1E3.7060107@lodderstedt.net> <7C01E631FF4B654FA1E783F1C0265F8C4A3EF0B0@TK5EX14MBXC115.redmond.corp.microsoft.com> <z2yf5bedd151004291440g17693f8du9e19a649bef925e4@mail.gmail.com> <w2odaf5b9571004291509x8895a73k384a4b4ddb12b794@mail.gmail.com> <20100430105935.20255m8kdythy6sc@webmail.df.eu> <7C01E631FF4B654FA1E783F1C0265F8C4A402461@TK5EX14MBXC117.redmond.corp.microsoft.com> <90C41DD21FB7C64BB94121FBBC2E723439323D03A5@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Date: Fri, 30 Apr 2010 11:22:17 -0600
Message-ID: <v2tf5bedd151004301022mea573a75v4e8e2eb34527bdcb@mail.gmail.com>
From: Mike Moore <blowmage@gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: multipart/alternative; boundary=000e0cd13a84261f5f0485777cb7
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON (Proposal)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Apr 2010 17:24:07 -0000

--000e0cd13a84261f5f0485777cb7
Content-Type: text/plain; charset=ISO-8859-1

On Fri, Apr 30, 2010 at 11:12 AM, Eran Hammer-Lahav <eran@hueniverse.com>wrote:

> I don't think the two are related. Request format is based on common HTTP
> request practice and is built-in every web client. Adding a list of
> parameters to a request URI is trivial. Response format on the other hand is
> less consistent on the client and we can improve this by specifying a
> well-define serialization.
>

Oops, I misread Yaron's message. I thought this was only about the response
format. I agree the request format should stay as it is.


> I don't care about which format to use or whether we support more than one.
>

Agreed.


> EHL

--000e0cd13a84261f5f0485777cb7
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div class=3D"gmail_quote">On Fri, Apr 30, 2010 at 11:12 AM, Eran Hammer-La=
hav <span dir=3D"ltr">&lt;<a href=3D"mailto:eran@hueniverse.com">eran@hueni=
verse.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I don&#39;t think the two are related. Request format is based on common HT=
TP request practice and is built-in every web client. Adding a list of para=
meters to a request URI is trivial. Response format on the other hand is le=
ss consistent on the client and we can improve this by specifying a well-de=
fine serialization.<br>
</blockquote><div><br></div><div>Oops, I misread Yaron&#39;s message. I tho=
ught this was only about the response format. I agree the request format sh=
ould stay as it is.</div><div>=A0</div><blockquote class=3D"gmail_quote" st=
yle=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

I don&#39;t care about which format to use or whether we support more than =
one.<br></blockquote><div><br></div><div>Agreed.</div><div>=A0</div><blockq=
uote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex;">
<font color=3D"#888888"><font class=3D"Apple-style-span" color=3D"#000000">=
</font>
EHL</font></blockquote></div>

--000e0cd13a84261f5f0485777cb7--

From stpeter@stpeter.im  Fri Apr 30 10:40:33 2010
Return-Path: <stpeter@stpeter.im>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 85E0428C0F2 for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 10:40:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.342
X-Spam-Level: 
X-Spam-Status: No, score=-2.342 tagged_above=-999 required=5 tests=[AWL=0.257,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 10YTRWgINYxd for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 10:40:32 -0700 (PDT)
Received: from stpeter.im (stpeter.im [207.210.219.233]) by core3.amsl.com (Postfix) with ESMTP id 436483A685D for <oauth@ietf.org>; Fri, 30 Apr 2010 10:40:32 -0700 (PDT)
Received: from dhcp-64-101-72-158.cisco.com (dhcp-64-101-72-158.cisco.com [64.101.72.158]) (Authenticated sender: stpeter) by stpeter.im (Postfix) with ESMTPSA id C7AF240E16; Fri, 30 Apr 2010 11:40:17 -0600 (MDT)
Message-ID: <4BDB1601.7050108@stpeter.im>
Date: Fri, 30 Apr 2010 11:40:17 -0600
From: Peter Saint-Andre <stpeter@stpeter.im>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: jsmarr@stanfordalumni.org
References: <90C41DD21FB7C64BB94121FBBC2E72343932177131@P3PW5EX1MB01.EX1.SECURESERVER.NET> <p2yc334d54e1004291509lc6db3c7dk22271e94f4e30180@mail.gmail.com>
In-Reply-To: <p2yc334d54e1004291509lc6db3c7dk22271e94f4e30180@mail.gmail.com>
X-Enigmail-Version: 1.0.1
OpenPGP: url=http://www.saint-andre.com/me/stpeter.asc
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms000004080508070704040908"
Cc: "OAuth WG \(oauth@ietf.org\)" <oauth@ietf.org>, Henrik Levkowetz <henrik@levkowetz.com>
Subject: Re: [OAUTH-WG] Draft references
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Apr 2010 17:40:33 -0000

This is a cryptographically signed message in MIME format.

--------------ms000004080508070704040908
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Ask and ye shall receive:

http://tools.ietf.org/id/draft-ietf-oauth-v2-01.html

The tools team rocks.

On 4/29/10 4:09 PM, Joseph Smarr wrote:
> Any way to get a pretty xml2rfc-style HTML output (like we use for OAut=
h
> 1.0), or is that too fluffy for the hardcore IETF types? :) Thanks, js
>=20
> On Thu, Apr 29, 2010 at 5:42 PM, Eran Hammer-Lahav <eran@hueniverse.com=

> <mailto:eran@hueniverse.com>> wrote:
>=20
>     To anyone with published documented pointing to previous versions o=
f
>     the spec -
>=20
>     Please update your documents to point to the canonical working grou=
p
>     draft:
>=20
>     http://tools.ietf.org/html/draft-ietf-oauth-v2-01
>=20
>     You can also point to:
>=20
>     http://tools.ietf.org/html/draft-ietf-oauth-v2
>=20
>     which will redirect to the latest draft (best for blog posts, but
>     not for feedback or to document a specific implementation as the
>     draft will change).
>=20
>     The github draft:
>=20
>     http://github.com/theRazorBlade/draft-ietf-oauth
>=20
>     will always contain the latest draft but it is considered unstable
>     and can change without notice. Consider it my personal workspace fo=
r
>     working on the draft. Please do not reference it!
>=20
>     EHL
>     _______________________________________________
>     OAuth mailing list
>     OAuth@ietf.org <mailto:OAuth@ietf.org>
>     https://www.ietf.org/mailman/listinfo/oauth
>=20


--------------ms000004080508070704040908
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIWnDCC
B1cwggY/oAMCAQICAVUwDQYJKoZIhvcNAQEFBQAwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQK
Ew1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBT
aWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRl
IENsaWVudCBDQTAeFw0wOTA3MDYwMDAwMDFaFw0xMDA3MDYyMzU5NTlaMIHCMQswCQYDVQQG
EwJVUzERMA8GA1UECBMIQ29sb3JhZG8xDzANBgNVBAcTBkRlbnZlcjEiMCAGA1UEChMZWE1Q
UCBTdGFuZGFyZHMgRm91bmRhdGlvbjEsMCoGA1UECxMjU3RhcnRDb20gVHJ1c3RlZCBDZXJ0
aWZpY2F0ZSBNZW1iZXIxGjAYBgNVBAMTEVBldGVyIFNhaW50LUFuZHJlMSEwHwYJKoZIhvcN
AQkBFhJzdHBldGVyQHN0cGV0ZXIuaW0wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQCas7Mrnh02GakN8sft+HJpU4MwBxEgrGDZ2ZzUxDDt2sEhM+9Q74h955MtgMhK3TeBf6Hs
hDh/8Z9G//k2qNA0M2S5rejTqrmW0Jabca/L7BUZ0GhnU2N/2zeciFUmuZ4A2l1T5IMX2ZVP
XnNIaefBtbImJAbDz3T0vxkzTtcqgW3wL83PMDiqiuM+e1k+VPvOW4f5ZSGkPIhYCDpWqNE5
wZvjrLNMc8jZOPs9DrsYuIVwU72Vhy1tkEh+w6YpYHrdEUAe+eKe6TuxqZ60e9z3O36uiV//
Ms274iD6PbA/IGazJgaAdg6tvPehwTYGJAGmv3PsJKkLGjgoh+RrrM1LAgMBAAGjggOKMIID
hjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
AwQwHQYDVR0OBBYEFOyws3XWgIY9FP1POVqjdZP9Lu38MB0GA1UdEQQWMBSBEnN0cGV0ZXJA
c3RwZXRlci5pbTCBqAYDVR0jBIGgMIGdgBR7iZySlyShhEcCy3T8LvSs3DLl86GBgaR/MH0x
CzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUg
RGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZp
Y2F0aW9uIEF1dGhvcml0eYIBDzCCAUcGA1UdIASCAT4wggE6MIIBNgYLKwYBBAGBtTcBAgAw
ggElMC4GCCsGAQUFBwIBFiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMDQG
CCsGAQUFBwIBFihodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMIG8
BggrBgEFBQcCAjCBrzAUFg1TdGFydENvbSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0
eSwgcmVhZCB0aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENv
bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93
d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwYwYDVR0fBFwwWjAroCmgJ4YlaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vY3J0dTMtY3JsLmNybDAroCmgJ4YlaHR0cDovL2NybC5zdGFydHNz
bC5jb20vY3J0dTMtY3JsLmNybDCBjgYIKwYBBQUHAQEEgYEwfzA5BggrBgEFBQcwAYYtaHR0
cDovL29jc3Auc3RhcnRzc2wuY29tL3N1Yi9jbGFzczMvY2xpZW50L2NhMEIGCCsGAQUFBzAC
hjZodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9jZXJ0cy9zdWIuY2xhc3MzLmNsaWVudC5jYS5j
cnQwIwYDVR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMA0GCSqGSIb3DQEBBQUA
A4IBAQBgv4xFXZqDKSOtnPOVbqOh1brj7oxRaVYk7N0MJG7x9Y/wkO3iwRwizVLcC1bA+D/R
gyFilXx6IQWE63Ge2tu+Y4w5QoHYwuUFQuBZuxvZpOa3ykdgPlBQaBM8m+Ien0skwNggaizA
X9Pc/sMLpP3jkO1iSF4agy4r5Ed+4G10mP5X0zO3gQwq9Uj4F9tX+58kU+fM1P8Sh+BYR4r/
kSbKE3tWcMaKblWPGwX0nYD26Je7Qb+uX/J5lCgozBrHXQWq8N98iklASf2pv+32Oi1dEjmM
UgAm/J2+YmxaI02+c+H6QH8+F3RUjCiRg9XqUNjcrNrnTFnm/iMMZADktsXPMIIHVzCCBj+g
AwIBAgIBVTANBgkqhkiG9w0BAQUFADCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBMB4XDTA5MDcwNjAwMDAwMVoXDTEwMDcwNjIzNTk1OVowgcIxCzAJBgNVBAYTAlVTMREw
DwYDVQQIEwhDb2xvcmFkbzEPMA0GA1UEBxMGRGVudmVyMSIwIAYDVQQKExlYTVBQIFN0YW5k
YXJkcyBGb3VuZGF0aW9uMSwwKgYDVQQLEyNTdGFydENvbSBUcnVzdGVkIENlcnRpZmljYXRl
IE1lbWJlcjEaMBgGA1UEAxMRUGV0ZXIgU2FpbnQtQW5kcmUxITAfBgkqhkiG9w0BCQEWEnN0
cGV0ZXJAc3RwZXRlci5pbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJqzsyue
HTYZqQ3yx+34cmlTgzAHESCsYNnZnNTEMO3awSEz71DviH3nky2AyErdN4F/oeyEOH/xn0b/
+Tao0DQzZLmt6NOquZbQlptxr8vsFRnQaGdTY3/bN5yIVSa5ngDaXVPkgxfZlU9ec0hp58G1
siYkBsPPdPS/GTNO1yqBbfAvzc8wOKqK4z57WT5U+85bh/llIaQ8iFgIOlao0TnBm+Oss0xz
yNk4+z0Ouxi4hXBTvZWHLW2QSH7Dpilget0RQB754p7pO7GpnrR73Pc7fq6JX/8yzbviIPo9
sD8gZrMmBoB2Dq2896HBNgYkAaa/c+wkqQsaOCiH5GuszUsCAwEAAaOCA4owggOGMAkGA1Ud
EwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNV
HQ4EFgQU7LCzddaAhj0U/U85WqN1k/0u7fwwHQYDVR0RBBYwFIESc3RwZXRlckBzdHBldGVy
LmltMIGoBgNVHSMEgaAwgZ2AFHuJnJKXJKGERwLLdPwu9KzcMuXzoYGBpH8wfTELMAkGA1UE
BhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFs
IENlcnRpZmljYXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24g
QXV0aG9yaXR5ggEPMIIBRwYDVR0gBIIBPjCCATowggE2BgsrBgEEAYG1NwECADCCASUwLgYI
KwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUH
AgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgbwGCCsGAQUF
BwICMIGvMBQWDVN0YXJ0Q29tIEx0ZC4wAwIBARqBlkxpbWl0ZWQgTGlhYmlsaXR5LCByZWFk
IHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5zdGFy
dHNzbC5jb20vcG9saWN5LnBkZjBjBgNVHR8EXDBaMCugKaAnhiVodHRwOi8vd3d3LnN0YXJ0
c3NsLmNvbS9jcnR1My1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9j
cnR1My1jcmwuY3JsMIGOBggrBgEFBQcBAQSBgTB/MDkGCCsGAQUFBzABhi1odHRwOi8vb2Nz
cC5zdGFydHNzbC5jb20vc3ViL2NsYXNzMy9jbGllbnQvY2EwQgYIKwYBBQUHMAKGNmh0dHA6
Ly93d3cuc3RhcnRzc2wuY29tL2NlcnRzL3N1Yi5jbGFzczMuY2xpZW50LmNhLmNydDAjBgNV
HRIEHDAahhhodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS8wDQYJKoZIhvcNAQEFBQADggEBAGC/
jEVdmoMpI62c85Vuo6HVuuPujFFpViTs3QwkbvH1j/CQ7eLBHCLNUtwLVsD4P9GDIWKVfHoh
BYTrcZ7a275jjDlCgdjC5QVC4Fm7G9mk5rfKR2A+UFBoEzyb4h6fSyTA2CBqLMBf09z+wwuk
/eOQ7WJIXhqDLivkR37gbXSY/lfTM7eBDCr1SPgX21f7nyRT58zU/xKH4FhHiv+RJsoTe1Zw
xopuVY8bBfSdgPbol7tBv65f8nmUKCjMGsddBarw33yKSUBJ/am/7fY6LV0SOYxSACb8nb5i
bFojTb5z4fpAfz4XdFSMKJGD1epQ2Nys2udMWeb+IwxkAOS2xc8wggfiMIIFyqADAgECAgEP
MA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQu
MSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQD
EyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNzEwMjQyMTAzMzJaFw0x
MjEwMjIyMTAzMzJaMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEr
MCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMv
U3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5o0luEj4gypQIp71Xi2TlXyLYrj9WkRy+d9BO
0FHPYnAsC99/jx/ibNRwIfAoFhZd+LDscdRSckvwuFSz0bKg3z+9o7cwlVAC9AwMWe8IM0Lx
c+8etYxsX4WIamG9fjzzi5GAW5ESKzzIN3SxHSplyGCWFwx/pgf1f4y6O9/ym+4f6zaDYP6B
x0r+SaJcr6eSGNm7X3EwX1v7XpRBY+aw019o7k72d0IX910F+XGt0OwNdM61Ff3FiTiexeUZ
bWxCGm6GZl+SQVG9xYVIgHQaLXoQF+g2wzrmKCbVcZhqH+hrlRnD6PfCuEyX/BR6PlAPRDlQ
6f1u3wqik+LF5P15AgMBAAGjggNbMIIDVzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBpjAd
BgNVHQ4EFgQUe4mckpckoYRHAst0/C70rNwy5fMwgagGA1UdIwSBoDCBnYAUTgvvGqRAW6UX
aYcwyjRoQ9BBrvKhgYGkfzB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UE
AxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHmCAQEwCQYDVR0SBAIwADA9Bggr
BgEFBQcBAQQxMC8wLQYIKwYBBQUHMAKGIWh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2Nh
LmNydDBgBgNVHR8EWTBXMCygKqAohiZodHRwOi8vY2VydC5zdGFydGNvbS5vcmcvc2ZzY2Et
Y3JsLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20vc2ZzY2EuY3JsMIIBXQYD
VR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBBDCCATswLwYIKwYBBQUHAgEWI2h0dHA6Ly9j
ZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRwOi8vY2VydC5z
dGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYgU3RhcnQg
Q29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5LCBy
ZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQu
c3RhcnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMFAGCWCGSAGG+EIB
DQRDFkFTdGFydENvbSBDbGFzcyAzIFByaW1hcnkgSW50ZXJtZWRpYXRlIEZyZWUgU1NMIEVt
YWlsIENlcnRpZmljYXRlczANBgkqhkiG9w0BAQUFAAOCAgEAUpcEDdsKFRCxFBxcSm+8oMTT
fpS7fbZkxWHx5fHDjvAgaBQ+oY0tk4xtbD6VxeHYjxI63+hj8jICnqeVXPe34Bu+XzekIn2T
lrnPCQobKdQF2p52QgUvIxSURed0jcBaCBV22DSKaUqDOzD/Tx6VQy78zpblXjRH7OALE/+H
jzJVmspdnBUUtQOLYgPo924xkxR25VDdgtEE5vAXa/g2oCeZhy0ZEO4NbgIayAYCJcJRDz0h
dD2Ahec65Kw6LB3N7VXEjiRR5/WoKwH/QteRzPJbFDc1somrApjm2cyg+5nbm1RHeFIz+GxX
luRrPztvhNcby0PtAjqwY1txi4sW0R6ZJPuZ2DZ1/dzckoFhyZgFyOX3SEkNXVLldjTzneFJ
FnVSzDbc720vq184jR7pYoI9+f5QJ96a0iLxEAG8SJ5auBwXI/w2FmKmwmdMvJ8/17+B4sMC
IRrXrDQl2xzpVXh/Qcmk5nf+w8HFmqATGy1OUAQbXga7AySAUaYhvvFk50u0bO5DiUGwzrJO
3TrwvaC2Ei4EFaBmIVgG7TfU5TaaY9IcJSCQ7AGUYE3RFSRpsLOoA3DsxP42YERgS/Nxw29+
YqZtPoO2QPbNpI7xnHVCfNBabx3oDIf438nFfv8spw5BQqBSbEF1izJA57eE64CzHnt7lB20
OFD11avYopwxggPKMIIDxgIBATCBkjCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDMgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50
IENBAgFVMAkGBSsOAwIaBQCgggIMMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZI
hvcNAQkFMQ8XDTEwMDQzMDE3NDAxN1owIwYJKoZIhvcNAQkEMRYEFNVE44+YAlK3hK/f5+2v
Xckr6CHPMF8GCSqGSIb3DQEJDzFSMFAwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqG
SIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBowYJ
KwYBBAGCNxAEMYGVMIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UE
AxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0ECAVUw
gaUGCyqGSIb3DQEJEAILMYGVoIGSMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRD
b20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4
MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMyBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQg
Q0ECAVUwDQYJKoZIhvcNAQEBBQAEggEAVXVQ1rBujS7qtGyTRxBM62ptWkbQrDbu+feA/hej
6qkCHKkz9BdirHcf4yd1GEhSIfmMh8jemWVj9f+b7VGc5oZmULHYIpjpN7+UnChxDHTaft2W
zvYGMQtbuVk+VJz1qFE4Wlop5EmBBjgpBIgo6qPg+nyHdO4z0g7gGbk2oxmcbeAPjobOxIif
6vCji9RWauMMPavcxvkduFBUz4tguIK6cFPnw4N9kJ9GtrY5P8KWDWxmZmstuhmN8cQReQGL
bxNDkcqQ4CY6j3odpqVP11hGjeQcwK7IRGov4W1sDwEEiCZVW5J9i9tz1sX1gxcfESHOifCt
0beqYU5qtEbPhwAAAAAAAA==
--------------ms000004080508070704040908--

From torsten@lodderstedt.net  Fri Apr 30 11:22:38 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BAF8D3A6BBC for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 11:22:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.907
X-Spam-Level: 
X-Spam-Status: No, score=-1.907 tagged_above=-999 required=5 tests=[AWL=0.342,  BAYES_00=-2.599, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9fu6GmEuzmpd for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 11:22:35 -0700 (PDT)
Received: from smtprelay03.ispgateway.de (smtprelay03.ispgateway.de [80.67.29.28]) by core3.amsl.com (Postfix) with ESMTP id A3B9128C17A for <oauth@ietf.org>; Fri, 30 Apr 2010 11:20:49 -0700 (PDT)
Received: from p4fff1540.dip.t-dialin.net ([79.255.21.64] helo=[127.0.0.1]) by smtprelay03.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O7upG-0006ZV-9C; Fri, 30 Apr 2010 20:20:34 +0200
Message-ID: <4BDB1F66.2010700@lodderstedt.net>
Date: Fri, 30 Apr 2010 20:20:22 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <20100429211502.40FA33A69F2@core3.amsl.com> <90C41DD21FB7C64BB94121FBBC2E7234393217711F@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100430092844.19246e5a70ad1ew4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723439321772F5@P3PW5EX1MB01.EX1.SECURESERVER.NET>
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723439321772F5@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] I-D Action:draft-ietf-oauth-v2-01.txt
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Apr 2010 18:22:39 -0000

Am 30.04.2010 17:46, schrieb Eran Hammer-Lahav:
> I'd like to add scope and credentials response format in the next draft. Doesn't have to be perfect but something we can work with. I am also planning to complete the missing sections at the end.
>
> My goal is to have a feature-complete spec before the interim meeting 5/20.
>
>    

what do you mean with "feature-complete"?

regards,
Torsten.
> EHL
>
>    
>> -----Original Message-----
>> From: Torsten Lodderstedt [mailto:torsten@lodderstedt.net]
>> Sent: Friday, April 30, 2010 12:29 AM
>> To: Eran Hammer-Lahav
>> Cc: oauth@ietf.org
>> Subject: Re: [OAUTH-WG] I-D Action:draft-ietf-oauth-v2-01.txt
>>
>> Hi Eran,
>>
>> would you please give an overview of what aspects you are going to change
>> in the next draft and what issue you consider as still open?
>>
>> thanks in advance,
>> Torsten.
>>
>> Zitat von Eran Hammer-Lahav<eran@hueniverse.com>:
>>
>>      
>>> Draft -01 submitted today shortly after the -00 (this will make it
>>> easier to do a diff for those who read the -00 draft).
>>>
>>> I plan to publish -02 next week based on feedback received on the list.
>>>
>>> EHL
>>>
>>>        
>>>> -----Original Message-----
>>>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
>>>> Behalf Of Internet-Drafts@ietf.org
>>>> Sent: Thursday, April 29, 2010 2:15 PM
>>>> To: i-d-announce@ietf.org
>>>> Cc: oauth@ietf.org
>>>> Subject: [OAUTH-WG] I-D Action:draft-ietf-oauth-v2-01.txt
>>>>
>>>> A New Internet-Draft is available from the on-line Internet-Drafts
>>>> directories.
>>>> This draft is a work item of the Open Authentication Protocol Working
>>>> Group of the IETF.
>>>>
>>>>
>>>> 	Title           : The OAuth 2.0 Protocol
>>>> 	Author(s)       : E. Hammer-Lahav, et al.
>>>> 	Filename        : draft-ietf-oauth-v2-01.txt
>>>> 	Pages           : 49
>>>> 	Date            : 2010-04-29
>>>>
>>>> This specification describes the OAuth 2.0 protocol.  OAuth provides
>>>> a method for making authenticated HTTP requests using a token - an
>>>> identifier used to denote an access grant with specific scope,
>>>> duration, and other attributes.  Tokens are issued to third-party
>>>> clients by an authorization server with the approval of the resource
>>>> owner.  OAuth defines multiple flows for obtaining a token to support
>>>> a wide range of client types and user experience.
>>>>
>>>> A URL for this Internet-Draft is:
>>>> http://www.ietf.org/internet-drafts/draft-ietf-oauth-v2-01.txt
>>>>
>>>> Internet-Drafts are also available by anonymous FTP at:
>>>> ftp://ftp.ietf.org/internet-drafts/
>>>>
>>>> Below is the data which will enable a MIME compliant mail reader
>>>> implementation to automatically retrieve the ASCII version of the
>>>> Internet- Draft.
>>>>          
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>>        
>>
>>
>>      
>    



From torsten@lodderstedt.net  Fri Apr 30 11:43:44 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id F374B3A6868 for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 11:43:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.614
X-Spam-Level: 
X-Spam-Status: No, score=-0.614 tagged_above=-999 required=5 tests=[AWL=-0.965, BAYES_50=0.001, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HVXq9D37Cgr0 for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 11:43:43 -0700 (PDT)
Received: from smtprelay04.ispgateway.de (smtprelay04.ispgateway.de [80.67.31.38]) by core3.amsl.com (Postfix) with ESMTP id E923E3A6808 for <oauth@ietf.org>; Fri, 30 Apr 2010 11:43:42 -0700 (PDT)
Received: from p4fff1540.dip.t-dialin.net ([79.255.21.64] helo=[127.0.0.1]) by smtprelay04.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O7vBO-0007a5-Sf; Fri, 30 Apr 2010 20:43:27 +0200
Message-ID: <4BDB24CA.4050407@lodderstedt.net>
Date: Fri, 30 Apr 2010 20:43:22 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Eran Hammer-Lahav <eran@hueniverse.com>
References: <90C41DD21FB7C64BB94121FBBC2E723439321772EF@P3PW5EX1MB01.EX1.SECURESERVER.NET>
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723439321772EF@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: "OAuth WG \(oauth@ietf.org\)" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope - Coming to a Consensus
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Apr 2010 18:43:44 -0000

+1 on option 3.

Am 30.04.2010 17:43, schrieb Eran Hammer-Lahav:
> 3. Space-Delimited Scope Parameter Value
>
> Define a 'scope' parameter with value of space-delimited strings (which can include any character that is not a space - the entire parameter value is encoded per the transport rules regardless). Space allows using URIs or simple strings as values.
>
> Pros:
>
> - A separator-delimited list of values is the common format for scope parameters in existing implementations and represents actual deployment experience.
> - Most vendors define a set of opaque strings used for requesting scope. This enables libraries to concatenate these in a standard way.
> - Enables simple extensions in the future for discovering which scope is required by each resource.
>
> Cons:
>
> - Defining a format without a discovery method for the values needs doesn't offer much more than the other options.
>    

In my opinion, automatic discovery on scope values is as valuable or not 
valuable as automatic discovery for a service API. I would like to echo 
one of my postings:

A scope defines the set of permissions a client asks for and that 
becomes associated with tokens. I don't see the need (and a way) for 
automatic scope discovery. In my opinion, scopes are part of the API 
documentation of a particular resource server. So if someone implements 
a client, it needs to consider the different scopes this client needs 
the end users authorization for. If the resource server implements a 
OAuth2-based standard API (e.g. for contact management or e-Mail), a 
client might be interoperable (in terms of scopes) among the resource 
servers implementing this standard.

> - Doesn't go far enough to actually achieve interoperability.
> - Adds complexity for little value.
>    

I think it adds a lot of value. It introduces the concept of client 
permissions to OAuth, which allows to restrict client access to services 
at a fine-grained level. At Deutsche Telekom, we have some use cases 
requiring such a feature and would be happy to see it supported by the 
standard.

regards,
Torsten.





>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>    



From atom@yahoo-inc.com  Fri Apr 30 11:47:33 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AE7B43A6BC1 for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 11:47:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -15.18
X-Spam-Level: 
X-Spam-Status: No, score=-15.18 tagged_above=-999 required=5 tests=[AWL=0.226,  BAYES_20=-0.74, IP_NOT_FRIENDLY=0.334, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NHtpi8r45PNx for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 11:47:32 -0700 (PDT)
Received: from mrout2-b.corp.re1.yahoo.com (mrout2-b.corp.re1.yahoo.com [69.147.107.21]) by core3.amsl.com (Postfix) with ESMTP id 779BD3A6A39 for <oauth@ietf.org>; Fri, 30 Apr 2010 11:47:31 -0700 (PDT)
Received: from SNV-EXPF01.ds.corp.yahoo.com (snv-expf01.ds.corp.yahoo.com [207.126.227.250]) by mrout2-b.corp.re1.yahoo.com (8.13.8/8.13.8/y.out) with ESMTP id o3UIkChH010519 for <oauth@ietf.org>; Fri, 30 Apr 2010 11:46:12 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:message-id: thread-topic:thread-index:in-reply-to:mime-version:content-type: content-transfer-encoding:x-originalarrivaltime; b=NIiADPOOaK+xtEye1dvOAZhJXeGfSpa8f94BpeNqr2q5n3VprR7xzYXlQGnjg1nS
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXPF01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.4675);  Fri, 30 Apr 2010 11:46:11 -0700
Received: from 10.72.169.31 ([10.72.169.31]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.60]) with Microsoft Exchange Server HTTP-DAV ; Fri, 30 Apr 2010 18:45:17 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Fri, 30 Apr 2010 11:45:16 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: "oauth@ietf.org" <oauth@ietf.org>
Message-ID: <C800734C.2D660%atom@yahoo-inc.com>
Thread-Topic: [OAUTH-WG] application/x-www-form-urlencoded vs JSON (Proposal)
Thread-Index: AQHK59S4dijkuO12aUS5QP9a3egKcZI56ujQgAFv+z8=
In-Reply-To: <7C01E631FF4B654FA1E783F1C0265F8C4A3EF0B0@TK5EX14MBXC115.redmond.corp.microsoft.com>
Mime-version: 1.0
Content-type: text/plain; charset="US-ASCII"
Content-transfer-encoding: 7bit
X-OriginalArrivalTime: 30 Apr 2010 18:46:12.0063 (UTC) FILETIME=[67ACCEF0:01CAE895]
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON (Proposal)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Apr 2010 18:47:33 -0000

On 4/29/10 1:49 PM, "Yaron Goland" <yarong@microsoft.com> wrote:

> Can we please just have one format, not 3? The more choices we give the more
> interoperability suffers.

+1

I vote for JSON, and I'm not a fan of XML, however my main preference is
that we just pick one.

One of the primary goals of OAuth-WRAP was to make things simple - and
having more than one way to express the same thing increases complexity and
reduces interop.

Allen


From atom@yahoo-inc.com  Fri Apr 30 12:11:15 2010
Return-Path: <atom@yahoo-inc.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2DAB628C26C for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 12:11:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.825
X-Spam-Level: 
X-Spam-Status: No, score=-14.825 tagged_above=-999 required=5 tests=[AWL=-0.160, BAYES_50=0.001, IP_NOT_FRIENDLY=0.334, USER_IN_DEF_WHITELIST=-15]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mFwQaHH9R82X for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 12:11:14 -0700 (PDT)
Received: from mrout2-b.corp.re1.yahoo.com (mrout2-b.corp.re1.yahoo.com [69.147.107.21]) by core3.amsl.com (Postfix) with ESMTP id 4244C3A6AA3 for <oauth@ietf.org>; Fri, 30 Apr 2010 12:10:31 -0700 (PDT)
Received: from SNV-EXPF01.ds.corp.yahoo.com (snv-expf01.ds.corp.yahoo.com [207.126.227.250]) by mrout2-b.corp.re1.yahoo.com (8.13.8/8.13.8/y.out) with ESMTP id o3UJ9SGI017298; Fri, 30 Apr 2010 12:09:30 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=received:user-agent:date:subject:from:to:message-id: thread-topic:thread-index:in-reply-to:mime-version:content-type: content-transfer-encoding:x-originalarrivaltime; b=YPCaXjNvCTC8w+jShQ/2YhaNuhXMYgNYbIq6621ktQJrBpZmS36RZ5Q05BDmqqlL
Received: from SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.235]) by SNV-EXPF01.ds.corp.yahoo.com with Microsoft SMTPSVC(6.0.3790.4675);  Fri, 30 Apr 2010 12:09:28 -0700
Received: from 10.72.169.31 ([10.72.169.31]) by SNV-EXVS03.ds.corp.yahoo.com ([207.126.227.239]) via Exchange Front-End Server snv-webmail.corp.yahoo.com ([207.126.227.60]) with Microsoft Exchange Server HTTP-DAV ; Fri, 30 Apr 2010 19:08:50 +0000
User-Agent: Microsoft-Entourage/12.24.0.100205
Date: Fri, 30 Apr 2010 12:08:48 -0700
From: Allen Tom <atom@yahoo-inc.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>, "OAuth WG (oauth@ietf.org)" <oauth@ietf.org>
Message-ID: <C80078D0.2D681%atom@yahoo-inc.com>
Thread-Topic: [OAUTH-WG] Scope - Coming to a Consensus
Thread-Index: Acroe/D4ieCnKO2GTMiNS2rQ7lPsVgAHJ7pV
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723439321772EF@P3PW5EX1MB01.EX1.SECURESERVER.NET>
Mime-version: 1.0
Content-type: text/plain; charset="US-ASCII"
Content-transfer-encoding: 7bit
X-OriginalArrivalTime: 30 Apr 2010 19:09:28.0144 (UTC) FILETIME=[A7CDDD00:01CAE898]
Subject: Re: [OAUTH-WG] Scope - Coming to a Consensus
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Apr 2010 19:11:15 -0000

I vote for #3

There are already plenty of implementations that use a scope parameter:

Facebook:
http://developers.facebook.com/docs/authentication/

Google:
http://code.google.com/apis/accounts/docs/OAuth_ref.html#RequestToken

Flickr: (called "perm")
http://www.flickr.com/services/api/auth.spec.html

Yahoo currently requires developers to tell us the scopes that they need
when registering for a consumer key. We've received plenty of feedback that
developers would rather specify the scope(s) at authorization time, so we
would support a multi-valued scope parameter. Space is a reasonable
delimiter.

Allen



On 4/30/10 8:43 AM, "Eran Hammer-Lahav" <eran@hueniverse.com> wrote:

> 
> 3. Space-Delimited Scope Parameter Value
> 
> Define a 'scope' parameter with value of space-delimited strings (which can
> include any character that is not a space - the entire parameter value is
> encoded per the transport rules regardless). Space allows using URIs or simple
> strings as values.
> 
> Pros:
> 
> - A separator-delimited list of values is the common format for scope
> parameters in existing implementations and represents actual deployment
> experience.
> - Most vendors define a set of opaque strings used for requesting scope. This
> enables libraries to concatenate these in a standard way.
> - Enables simple extensions in the future for discovering which scope is
> required by each resource.
> 
> Cons:
> 
> - Defining a format without a discovery method for the values needs doesn't
> offer much more than the other options.
> - Doesn't go far enough to actually achieve interoperability.
> - Adds complexity for little value.
> 
> 
> 
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From jsmarr@gmail.com  Fri Apr 30 13:58:10 2010
Return-Path: <jsmarr@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D82163A6A36 for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 13:58:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.198
X-Spam-Level: 
X-Spam-Status: No, score=-1.198 tagged_above=-999 required=5 tests=[AWL=-1.200, BAYES_50=0.001, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1KJBPuqAj5gF for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 13:58:09 -0700 (PDT)
Received: from mail-px0-f172.google.com (mail-px0-f172.google.com [209.85.212.172]) by core3.amsl.com (Postfix) with ESMTP id B95B83A69E5 for <oauth@ietf.org>; Fri, 30 Apr 2010 13:58:07 -0700 (PDT)
Received: by pxi19 with SMTP id 19so392162pxi.31 for <oauth@ietf.org>; Fri, 30 Apr 2010 13:57:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:reply-to :in-reply-to:references:from:date:message-id:subject:to:cc :content-type; bh=LChtLVF1xJZZdueNBgI0Mz4qrSSaVGYV/4LYKEi9X4A=; b=TA19zisRbou8/QnR7xZGV7YKq26upsRopg+Yj+GVyUJhkDwLYtMsf/n58JckoGhUY2 2+cC2vnPlmyRAjebTNzL5Y3Wt2gAB3H/M4E7JzesmL4jnvz5bksN1f6CugWMgWli4puQ s1zBBp7t+s5ZJrVXMzVNVajYfVmMT7pN8z5q8=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:reply-to:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; b=Qs28o4pMx9XiWQadk7nlQt7+wUwFbhPRvfGNMkATafdMATYD+pQ7OSoIkYmARdbHJ+ Zzt3lr/tNW0BJGGi2Ybbo1djkm1oEynbMiHYBr2awyCZWfArxl2vjC05qv0idhLLODSP rTlxG6wn/9N+IdJ45l0NK9niT/JFyqmirma4w=
Received: by 10.142.248.1 with SMTP id v1mr7049667wfh.107.1272661071491; Fri,  30 Apr 2010 13:57:51 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.143.164.14 with HTTP; Fri, 30 Apr 2010 13:52:16 -0700 (PDT)
In-Reply-To: <C80078D0.2D681%atom@yahoo-inc.com>
References: <90C41DD21FB7C64BB94121FBBC2E723439321772EF@P3PW5EX1MB01.EX1.SECURESERVER.NET> <C80078D0.2D681%atom@yahoo-inc.com>
From: Joseph Smarr <jsmarr@gmail.com>
Date: Fri, 30 Apr 2010 13:52:16 -0700
Message-ID: <m2tc334d54e1004301352zf2a7f1cbi3fc90525ffddbf8@mail.gmail.com>
To: Allen Tom <atom@yahoo-inc.com>
Content-Type: multipart/alternative; boundary=00504502cc9115f58504857a7f38
Cc: "OAuth WG \(oauth@ietf.org\)" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope - Coming to a Consensus
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: jsmarr@stanfordalumni.org
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Apr 2010 20:58:10 -0000

--00504502cc9115f58504857a7f38
Content-Type: text/plain; charset=ISO-8859-1

I also vote for #3. I think our field experience has shown that a) lack of a
standard place to stick scope info in access token requests leads to
per-provider inconsistencies that further complicate libraries, b) lots of
providers do want to offer scoped access tokens (and show the list of scopes
being requested on consent UI), and c) we're likely to want to have some
cross-vendor standard scopes (e.g. "access profile data", PoCo, "post
activities", etc.) so it's natural to express those as URIs, thus favoring
space-delimited scope values.

Thanks,js

On Fri, Apr 30, 2010 at 12:08 PM, Allen Tom <atom@yahoo-inc.com> wrote:

> I vote for #3
>
> There are already plenty of implementations that use a scope parameter:
>
> Facebook:
> http://developers.facebook.com/docs/authentication/
>
> Google:
> http://code.google.com/apis/accounts/docs/OAuth_ref.html#RequestToken
>
> Flickr: (called "perm")
> http://www.flickr.com/services/api/auth.spec.html
>
> Yahoo currently requires developers to tell us the scopes that they need
> when registering for a consumer key. We've received plenty of feedback that
> developers would rather specify the scope(s) at authorization time, so we
> would support a multi-valued scope parameter. Space is a reasonable
> delimiter.
>
> Allen
>
>
>
> On 4/30/10 8:43 AM, "Eran Hammer-Lahav" <eran@hueniverse.com> wrote:
>
> >
> > 3. Space-Delimited Scope Parameter Value
> >
> > Define a 'scope' parameter with value of space-delimited strings (which
> can
> > include any character that is not a space - the entire parameter value is
> > encoded per the transport rules regardless). Space allows using URIs or
> simple
> > strings as values.
> >
> > Pros:
> >
> > - A separator-delimited list of values is the common format for scope
> > parameters in existing implementations and represents actual deployment
> > experience.
> > - Most vendors define a set of opaque strings used for requesting scope.
> This
> > enables libraries to concatenate these in a standard way.
> > - Enables simple extensions in the future for discovering which scope is
> > required by each resource.
> >
> > Cons:
> >
> > - Defining a format without a discovery method for the values needs
> doesn't
> > offer much more than the other options.
> > - Doesn't go far enough to actually achieve interoperability.
> > - Adds complexity for little value.
> >
> >
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

--00504502cc9115f58504857a7f38
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I also vote for #3. I think our field experience has shown that a) lack of =
a standard place to stick scope info in access token requests leads to per-=
provider inconsistencies that further complicate libraries, b) lots of prov=
iders do want to offer scoped access tokens (and show the list of scopes be=
ing requested on consent UI), and c) we&#39;re likely to want to have some =
cross-vendor standard scopes (e.g. &quot;access profile data&quot;, PoCo, &=
quot;post activities&quot;, etc.) so it&#39;s natural to express those as U=
RIs, thus favoring space-delimited scope values.<div>

<br></div><div>Thanks,js<br><br><div class=3D"gmail_quote">On Fri, Apr 30, =
2010 at 12:08 PM, Allen Tom <span dir=3D"ltr">&lt;<a href=3D"mailto:atom@ya=
hoo-inc.com">atom@yahoo-inc.com</a>&gt;</span> wrote:<br><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex;">

I vote for #3<br>
<br>
There are already plenty of implementations that use a scope parameter:<br>
<br>
Facebook:<br>
<a href=3D"http://developers.facebook.com/docs/authentication/" target=3D"_=
blank">http://developers.facebook.com/docs/authentication/</a><br>
<br>
Google:<br>
<a href=3D"http://code.google.com/apis/accounts/docs/OAuth_ref.html#Request=
Token" target=3D"_blank">http://code.google.com/apis/accounts/docs/OAuth_re=
f.html#RequestToken</a><br>
<br>
Flickr: (called &quot;perm&quot;)<br>
<a href=3D"http://www.flickr.com/services/api/auth.spec.html" target=3D"_bl=
ank">http://www.flickr.com/services/api/auth.spec.html</a><br>
<br>
Yahoo currently requires developers to tell us the scopes that they need<br=
>
when registering for a consumer key. We&#39;ve received plenty of feedback =
that<br>
developers would rather specify the scope(s) at authorization time, so we<b=
r>
would support a multi-valued scope parameter. Space is a reasonable<br>
delimiter.<br>
<font color=3D"#888888"><br>
Allen<br>
</font><div><div></div><div class=3D"h5"><br>
<br>
<br>
On 4/30/10 8:43 AM, &quot;Eran Hammer-Lahav&quot; &lt;<a href=3D"mailto:era=
n@hueniverse.com">eran@hueniverse.com</a>&gt; wrote:<br>
<br>
&gt;<br>
&gt; 3. Space-Delimited Scope Parameter Value<br>
&gt;<br>
&gt; Define a &#39;scope&#39; parameter with value of space-delimited strin=
gs (which can<br>
&gt; include any character that is not a space - the entire parameter value=
 is<br>
&gt; encoded per the transport rules regardless). Space allows using URIs o=
r simple<br>
&gt; strings as values.<br>
&gt;<br>
&gt; Pros:<br>
&gt;<br>
&gt; - A separator-delimited list of values is the common format for scope<=
br>
&gt; parameters in existing implementations and represents actual deploymen=
t<br>
&gt; experience.<br>
&gt; - Most vendors define a set of opaque strings used for requesting scop=
e. This<br>
&gt; enables libraries to concatenate these in a standard way.<br>
&gt; - Enables simple extensions in the future for discovering which scope =
is<br>
&gt; required by each resource.<br>
&gt;<br>
&gt; Cons:<br>
&gt;<br>
&gt; - Defining a format without a discovery method for the values needs do=
esn&#39;t<br>
&gt; offer much more than the other options.<br>
&gt; - Doesn&#39;t go far enough to actually achieve interoperability.<br>
&gt; - Adds complexity for little value.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; OAuth mailing list<br>
&gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_bla=
nk">https://www.ietf.org/mailman/listinfo/oauth</a><br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br></div>

--00504502cc9115f58504857a7f38--

From pelleb@gmail.com  Fri Apr 30 14:13:41 2010
Return-Path: <pelleb@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C6AD73A6C31 for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 14:13:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.283
X-Spam-Level: 
X-Spam-Status: No, score=-0.283 tagged_above=-999 required=5 tests=[AWL=-0.395, BAYES_05=-1.11, FM_FORGED_GMAIL=0.622, J_CHICKENPOX_62=0.6]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id En7ONNBuDQYG for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 14:13:39 -0700 (PDT)
Received: from mail-fx0-f44.google.com (mail-fx0-f44.google.com [209.85.161.44]) by core3.amsl.com (Postfix) with ESMTP id A401B3A6C23 for <oauth@ietf.org>; Fri, 30 Apr 2010 14:13:37 -0700 (PDT)
Received: by fxm4 with SMTP id 4so623848fxm.31 for <oauth@ietf.org>; Fri, 30 Apr 2010 14:13:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:sender:received :in-reply-to:references:date:x-google-sender-auth:message-id:subject :from:to:content-type; bh=wa0F1uSoTpRDH/GyOf1bcZNsUCrJbCDHxHp9dQei0D4=; b=PZuPtjNuWolACwd5KtwxX3HmceOVEV1NGjwnnQSkJ0aQO1yp6Se1yz1m9EHt7GK9NZ 1WO/YHBDBoH5VfNO706beY81wsulehNGVtTxhuPIPYSAwH+t9YyH1Wbk/XBS9ayZPoa0 4OOFhhmd/ZzbdrooJ2vHNqUFBb2g7UNxYQi3k=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type; b=Kv8U/uGD92hfmbmLYBDU5kqT1Qeje0r/NsyVKppLwMXx/NLdMEkiUSJjVRmV1y7E5x F6N89kf14WQWIw351YekNPc2aO7kZPeXQEdjcXlb/77P5dlAH6dodKcaob3qE+UmoMPz YXHHetwcBDjF+8cdH7+hOsmczcVP4ibnO3wxE=
MIME-Version: 1.0
Received: by 10.223.5.81 with SMTP id 17mr1673042fau.42.1272662000386; Fri, 30  Apr 2010 14:13:20 -0700 (PDT)
Sender: pelleb@gmail.com
Received: by 10.223.111.205 with HTTP; Fri, 30 Apr 2010 14:13:20 -0700 (PDT)
In-Reply-To: <m2tc334d54e1004301352zf2a7f1cbi3fc90525ffddbf8@mail.gmail.com>
References: <90C41DD21FB7C64BB94121FBBC2E723439321772EF@P3PW5EX1MB01.EX1.SECURESERVER.NET> <C80078D0.2D681%atom@yahoo-inc.com> <m2tc334d54e1004301352zf2a7f1cbi3fc90525ffddbf8@mail.gmail.com>
Date: Fri, 30 Apr 2010 17:13:20 -0400
X-Google-Sender-Auth: f4473478c09935e8
Message-ID: <m2jce1325031004301413x6f4b3341h5e8844311d109a79@mail.gmail.com>
From: Pelle Braendgaard <pelle@stakeventures.com>
To: "OAuth WG (oauth@ietf.org)" <oauth@ietf.org>
Content-Type: text/plain; charset=UTF-8
Subject: Re: [OAUTH-WG] Scope - Coming to a Consensus
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Apr 2010 21:13:41 -0000

+1 for #3

Since google implemented I always thought it an elegant simple way of
requesting access.

On Fri, Apr 30, 2010 at 4:52 PM, Joseph Smarr <jsmarr@gmail.com> wrote:
> I also vote for #3. I think our field experience has shown that a) lack of a
> standard place to stick scope info in access token requests leads to
> per-provider inconsistencies that further complicate libraries, b) lots of
> providers do want to offer scoped access tokens (and show the list of scopes
> being requested on consent UI), and c) we're likely to want to have some
> cross-vendor standard scopes (e.g. "access profile data", PoCo, "post
> activities", etc.) so it's natural to express those as URIs, thus favoring
> space-delimited scope values.
> Thanks,js
>
> On Fri, Apr 30, 2010 at 12:08 PM, Allen Tom <atom@yahoo-inc.com> wrote:
>>
>> I vote for #3
>>
>> There are already plenty of implementations that use a scope parameter:
>>
>> Facebook:
>> http://developers.facebook.com/docs/authentication/
>>
>> Google:
>> http://code.google.com/apis/accounts/docs/OAuth_ref.html#RequestToken
>>
>> Flickr: (called "perm")
>> http://www.flickr.com/services/api/auth.spec.html
>>
>> Yahoo currently requires developers to tell us the scopes that they need
>> when registering for a consumer key. We've received plenty of feedback
>> that
>> developers would rather specify the scope(s) at authorization time, so we
>> would support a multi-valued scope parameter. Space is a reasonable
>> delimiter.
>>
>> Allen
>>
>>
>>
>> On 4/30/10 8:43 AM, "Eran Hammer-Lahav" <eran@hueniverse.com> wrote:
>>
>> >
>> > 3. Space-Delimited Scope Parameter Value
>> >
>> > Define a 'scope' parameter with value of space-delimited strings (which
>> > can
>> > include any character that is not a space - the entire parameter value
>> > is
>> > encoded per the transport rules regardless). Space allows using URIs or
>> > simple
>> > strings as values.
>> >
>> > Pros:
>> >
>> > - A separator-delimited list of values is the common format for scope
>> > parameters in existing implementations and represents actual deployment
>> > experience.
>> > - Most vendors define a set of opaque strings used for requesting scope.
>> > This
>> > enables libraries to concatenate these in a standard way.
>> > - Enables simple extensions in the future for discovering which scope is
>> > required by each resource.
>> >
>> > Cons:
>> >
>> > - Defining a format without a discovery method for the values needs
>> > doesn't
>> > offer much more than the other options.
>> > - Doesn't go far enough to actually achieve interoperability.
>> > - Adds complexity for little value.
>> >
>> >
>> >
>> > _______________________________________________
>> > OAuth mailing list
>> > OAuth@ietf.org
>> > https://www.ietf.org/mailman/listinfo/oauth
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>



-- 
http://agree2.com - Reach Agreement!
http://extraeagle.com - Solutions for the electronic Extra Legal world
http://stakeventures.com - Bootstrapping blog

From justinsm@microsoft.com  Fri Apr 30 15:04:01 2010
Return-Path: <justinsm@microsoft.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D333F3A6A0B for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 15:04:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.299
X-Spam-Level: 
X-Spam-Status: No, score=-10.299 tagged_above=-999 required=5 tests=[AWL=-0.300, BAYES_00=-2.599, J_CHICKENPOX_62=0.6, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3WTOusGcruey for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 15:04:00 -0700 (PDT)
Received: from smtp.microsoft.com (mailc.microsoft.com [131.107.115.214]) by core3.amsl.com (Postfix) with ESMTP id 763DD3A68E1 for <oauth@ietf.org>; Fri, 30 Apr 2010 15:03:59 -0700 (PDT)
Received: from TK5EX14MLTC101.redmond.corp.microsoft.com (157.54.79.178) by TK5-EXGWY-E803.partners.extranet.microsoft.com (10.251.56.169) with Microsoft SMTP Server (TLS) id 8.2.176.0; Fri, 30 Apr 2010 15:03:45 -0700
Received: from TK5EX14MBXC115.redmond.corp.microsoft.com ([169.254.4.129]) by TK5EX14MLTC101.redmond.corp.microsoft.com ([157.54.79.178]) with mapi; Fri, 30 Apr 2010 15:03:43 -0700
From: Justin Smith <justinsm@microsoft.com>
To: "OAuth WG (oauth@ietf.org)" <oauth@ietf.org>
Thread-Topic: [OAUTH-WG] Scope - Coming to a Consensus
Thread-Index: AQHK6Jj02D6vmsUg2UKTY8by4O8/65I78i8AgAAF4gD//5gCcA==
Date: Fri, 30 Apr 2010 22:01:35 +0000
Deferred-Delivery: Fri, 30 Apr 2010 22:02:00 +0000
Message-ID: <191F411E00E19F4E943ECDB6D65C60851695A6A4@TK5EX14MBXC115.redmond.corp.microsoft.com>
References: <90C41DD21FB7C64BB94121FBBC2E723439321772EF@P3PW5EX1MB01.EX1.SECURESERVER.NET> <C80078D0.2D681%atom@yahoo-inc.com> <m2tc334d54e1004301352zf2a7f1cbi3fc90525ffddbf8@mail.gmail.com> <m2jce1325031004301413x6f4b3341h5e8844311d109a79@mail.gmail.com>
In-Reply-To: <m2jce1325031004301413x6f4b3341h5e8844311d109a79@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] Scope - Coming to a Consensus
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Apr 2010 22:04:01 -0000

Piling on: +1 for #3.

--justin

-----Original Message-----
From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of P=
elle Braendgaard
Sent: Friday, April 30, 2010 2:13 PM
To: OAuth WG (oauth@ietf.org)
Subject: Re: [OAUTH-WG] Scope - Coming to a Consensus

+1 for #3

Since google implemented I always thought it an elegant simple way of
requesting access.

On Fri, Apr 30, 2010 at 4:52 PM, Joseph Smarr <jsmarr@gmail.com> wrote:
> I also vote for #3. I think our field experience has shown that a) lack o=
f a
> standard place to stick scope info in access token requests leads to
> per-provider inconsistencies that further complicate libraries, b) lots o=
f
> providers do want to offer scoped access tokens (and show the list of sco=
pes
> being requested on consent UI), and c) we're likely to want to have some
> cross-vendor standard scopes (e.g. "access profile data", PoCo, "post
> activities", etc.) so it's natural to express those as URIs, thus favorin=
g
> space-delimited scope values.
> Thanks,js
>
> On Fri, Apr 30, 2010 at 12:08 PM, Allen Tom <atom@yahoo-inc.com> wrote:
>>
>> I vote for #3
>>
>> There are already plenty of implementations that use a scope parameter:
>>
>> Facebook:
>> http://developers.facebook.com/docs/authentication/
>>
>> Google:
>> http://code.google.com/apis/accounts/docs/OAuth_ref.html#RequestToken
>>
>> Flickr: (called "perm")
>> http://www.flickr.com/services/api/auth.spec.html
>>
>> Yahoo currently requires developers to tell us the scopes that they need
>> when registering for a consumer key. We've received plenty of feedback
>> that
>> developers would rather specify the scope(s) at authorization time, so w=
e
>> would support a multi-valued scope parameter. Space is a reasonable
>> delimiter.
>>
>> Allen
>>
>>
>>
>> On 4/30/10 8:43 AM, "Eran Hammer-Lahav" <eran@hueniverse.com> wrote:
>>
>> >
>> > 3. Space-Delimited Scope Parameter Value
>> >
>> > Define a 'scope' parameter with value of space-delimited strings (whic=
h
>> > can
>> > include any character that is not a space - the entire parameter value
>> > is
>> > encoded per the transport rules regardless). Space allows using URIs o=
r
>> > simple
>> > strings as values.
>> >
>> > Pros:
>> >
>> > - A separator-delimited list of values is the common format for scope
>> > parameters in existing implementations and represents actual deploymen=
t
>> > experience.
>> > - Most vendors define a set of opaque strings used for requesting scop=
e.
>> > This
>> > enables libraries to concatenate these in a standard way.
>> > - Enables simple extensions in the future for discovering which scope =
is
>> > required by each resource.
>> >
>> > Cons:
>> >
>> > - Defining a format without a discovery method for the values needs
>> > doesn't
>> > offer much more than the other options.
>> > - Doesn't go far enough to actually achieve interoperability.
>> > - Adds complexity for little value.
>> >
>> >
>> >
>> > _______________________________________________
>> > OAuth mailing list
>> > OAuth@ietf.org
>> > https://www.ietf.org/mailman/listinfo/oauth
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>



--=20
http://agree2.com - Reach Agreement!
http://extraeagle.com - Solutions for the electronic Extra Legal world
http://stakeventures.com - Bootstrapping blog
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


From mscurtescu@google.com  Fri Apr 30 17:31:35 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 649503A690B for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 17:31:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.951
X-Spam-Level: 
X-Spam-Status: No, score=-105.951 tagged_above=-999 required=5 tests=[AWL=0.026, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id O3iWo8Z4zxtG for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 17:31:33 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id D3C433A68BC for <oauth@ietf.org>; Fri, 30 Apr 2010 17:31:32 -0700 (PDT)
Received: from hpaq14.eem.corp.google.com (hpaq14.eem.corp.google.com [10.3.21.14]) by smtp-out.google.com with ESMTP id o410VBsa024623 for <oauth@ietf.org>; Fri, 30 Apr 2010 17:31:12 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1272673872; bh=yqmnEyLH7cVIXduOgGKVBqppO2U=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=azbTBa/bTs5Pk5jwMkKa4Ua7cWIyILEKGOxCg0U0LUkRdFhqmhY/LWV0lqQVLWhaS tfqQJGCcSdTJfa14BymrQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=fq+zc+qjtpZvPvT4GShhJ15YEi5MWd1Rl9FYZDwN0VDbp9hj7ve3EZFwV9YqzCun9 peEWiVg9bujyKiDQMkQTQ==
Received: from pvg4 (pvg4.prod.google.com [10.241.210.132]) by hpaq14.eem.corp.google.com with ESMTP id o410V9ej006990 for <oauth@ietf.org>; Fri, 30 Apr 2010 17:31:10 -0700
Received: by pvg4 with SMTP id 4so400390pvg.8 for <oauth@ietf.org>; Fri, 30 Apr 2010 17:31:09 -0700 (PDT)
Received: by 10.141.187.29 with SMTP id o29mr1367299rvp.48.1272673869153; Fri,  30 Apr 2010 17:31:09 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.14.15 with HTTP; Fri, 30 Apr 2010 17:30:49 -0700 (PDT)
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E723439321772F8@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <u2n74caaad21004291738ua47de12aob707d77e46e47adb@mail.gmail.com>  <90C41DD21FB7C64BB94121FBBC2E723439321772F8@P3PW5EX1MB01.EX1.SECURESERVER.NET>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Fri, 30 Apr 2010 17:30:49 -0700
Message-ID: <AANLkTinyMDrAcyU9kbMClycrdvlUyipO2bsMKjY2ZSez@mail.gmail.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] same-origin policy
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 01 May 2010 00:31:35 -0000

On Fri, Apr 30, 2010 at 8:46 AM, Eran Hammer-Lahav <eran@hueniverse.com> wrote:
> This language was requested by Brian.

And he is right, my bad. I considered only a narrow definition of same-origin.

Marius

>
> EHL
>
>> -----Original Message-----
>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf
>> Of Marius Scurtescu
>> Sent: Thursday, April 29, 2010 5:39 PM
>> To: OAuth WG
>> Subject: [OAUTH-WG] same-origin policy
>>
>> Section 3.5.1, version 01, says: "These clients cannot keep client secrets
>> confidential and the authentication of the client is based on the user-agent's
>> same-origin policy."
>>
>> I don't think that the same-origin policy comes into play in this case.
>> Authentication of the client is based only on the end-user validating the
>> redirection URI.
>>
>> Marius
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>

From mscurtescu@google.com  Fri Apr 30 18:07:45 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1E4B63A6A01 for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 18:07:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.207
X-Spam-Level: 
X-Spam-Status: No, score=-105.207 tagged_above=-999 required=5 tests=[AWL=-0.719, BAYES_05=-1.11, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rdj83VpSyDFq for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 18:07:42 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 119F83A66B4 for <oauth@ietf.org>; Fri, 30 Apr 2010 18:07:41 -0700 (PDT)
Received: from kpbe14.cbf.corp.google.com (kpbe14.cbf.corp.google.com [172.25.105.78]) by smtp-out.google.com with ESMTP id o4117PM4022507 for <oauth@ietf.org>; Fri, 30 Apr 2010 18:07:26 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1272676046; bh=pkebNOT73WuUTm5Ex9SBEAS8tQ0=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=RQFNRYCWhFldYv42S+4FsHd8MZsYFCxfy0vyuXHy8q2mVeyBjCR3ZQ8rDT+wl1MW5 gMwwy2cFCAEi+IgphQGjA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=eU88iM4TvqULFCxDogWDuBG1oB8uBVM4wo1e9t5qtOllPDokagobfqZLwHJs9O42X IHJYSFBpzePywfS2Jilmg==
Received: from pwi6 (pwi6.prod.google.com [10.241.219.6]) by kpbe14.cbf.corp.google.com with ESMTP id o4117Ofd030344 for <oauth@ietf.org>; Fri, 30 Apr 2010 18:07:24 -0700
Received: by pwi6 with SMTP id 6so399491pwi.18 for <oauth@ietf.org>; Fri, 30 Apr 2010 18:07:24 -0700 (PDT)
Received: by 10.141.187.4 with SMTP id o4mr1452739rvp.217.1272676044146; Fri,  30 Apr 2010 18:07:24 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.14.15 with HTTP; Fri, 30 Apr 2010 18:07:04 -0700 (PDT)
In-Reply-To: <4BDB24CA.4050407@lodderstedt.net>
References: <90C41DD21FB7C64BB94121FBBC2E723439321772EF@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BDB24CA.4050407@lodderstedt.net>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Fri, 30 Apr 2010 18:07:04 -0700
Message-ID: <AANLkTikGcyvdMiYKLC3TUaIVChlgwQUxJ2I8eud1ivNU@mail.gmail.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: "OAuth WG \(oauth@ietf.org\)" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope - Coming to a Consensus
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 01 May 2010 01:07:45 -0000

On Fri, Apr 30, 2010 at 11:43 AM, Torsten Lodderstedt
<torsten@lodderstedt.net> wrote:
> In my opinion, automatic discovery on scope values is as valuable or not
> valuable as automatic discovery for a service API. I would like to echo one
> of my postings:
>
> A scope defines the set of permissions a client asks for and that becomes
> associated with tokens. I don't see the need (and a way) for automatic scope
> discovery. In my opinion, scopes are part of the API documentation of a
> particular resource server. So if someone implements a client, it needs to
> consider the different scopes this client needs the end users authorization
> for. If the resource server implements a OAuth2-based standard API (e.g. for
> contact management or e-Mail), a client might be interoperable (in terms of
> scopes) among the resource servers implementing this standard.

Not sure I understand, are you saying that for a standard API, like
IMAP for example, there should be a standard scope (or set of scopes)?
If not, then discovery of scopes is almost a must in this case. The
client implementor cannot know the actual scope because implementation
is done against a generic API.

I did not see the value of scope discovery until I realized the above use case.

Marius

From mscurtescu@google.com  Fri Apr 30 18:12:13 2010
Return-Path: <mscurtescu@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7AD7B3A6A2D for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 18:12:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.708
X-Spam-Level: 
X-Spam-Status: No, score=-101.708 tagged_above=-999 required=5 tests=[AWL=0.269, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ht9tFiX1oZOO for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 18:12:12 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id 525EE3A63D3 for <oauth@ietf.org>; Fri, 30 Apr 2010 18:12:12 -0700 (PDT)
Received: from wpaz1.hot.corp.google.com (wpaz1.hot.corp.google.com [172.24.198.65]) by smtp-out.google.com with ESMTP id o411BuM9021224 for <oauth@ietf.org>; Fri, 30 Apr 2010 18:11:56 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1272676316; bh=rVo9JI9nbUmwADbHLjM9hQxx8Xk=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=RaH5doYbhKkpXsaN5P0LbdpFIephfY4CFjvpCKUk3FOZD/VMXH8A68bGMFmdwmHOV qfwjDO7Tzzl8nk2tKrDBA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=h8pHutsAWdKudWjC0EOmQwP3lShumgYygl2KcvPK/HUpju84s9N+MjzuyCWQSTdN3 9E/5AX3/mReNYkFyTAu5g==
Received: from pwj5 (pwj5.prod.google.com [10.241.219.69]) by wpaz1.hot.corp.google.com with ESMTP id o411BspB032327 for <oauth@ietf.org>; Fri, 30 Apr 2010 18:11:54 -0700
Received: by pwj5 with SMTP id 5so418750pwj.20 for <oauth@ietf.org>; Fri, 30 Apr 2010 18:11:54 -0700 (PDT)
Received: by 10.141.106.12 with SMTP id i12mr1499920rvm.149.1272676314159;  Fri, 30 Apr 2010 18:11:54 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.141.14.15 with HTTP; Fri, 30 Apr 2010 18:11:34 -0700 (PDT)
In-Reply-To: <C80078D0.2D681%atom@yahoo-inc.com>
References: <90C41DD21FB7C64BB94121FBBC2E723439321772EF@P3PW5EX1MB01.EX1.SECURESERVER.NET> <C80078D0.2D681%atom@yahoo-inc.com>
From: Marius Scurtescu <mscurtescu@google.com>
Date: Fri, 30 Apr 2010 18:11:34 -0700
Message-ID: <AANLkTikJBx-BwdLvgszIhSo9cf5WsJZvtjrWznei44Te@mail.gmail.com>
To: Allen Tom <atom@yahoo-inc.com>
Content-Type: text/plain; charset=ISO-8859-1
X-System-Of-Record: true
Cc: "OAuth WG \(oauth@ietf.org\)" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope - Coming to a Consensus
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 01 May 2010 01:12:13 -0000

+1 for #3.

If the delimiter becomes an issue then:
- for application/x-www-form-urlencoded and query parameters we can
allow multiple values for this parameter
- for json this parameter can be defined as an array

Marius



On Fri, Apr 30, 2010 at 12:08 PM, Allen Tom <atom@yahoo-inc.com> wrote:
> I vote for #3
>
> There are already plenty of implementations that use a scope parameter:
>
> Facebook:
> http://developers.facebook.com/docs/authentication/
>
> Google:
> http://code.google.com/apis/accounts/docs/OAuth_ref.html#RequestToken
>
> Flickr: (called "perm")
> http://www.flickr.com/services/api/auth.spec.html
>
> Yahoo currently requires developers to tell us the scopes that they need
> when registering for a consumer key. We've received plenty of feedback that
> developers would rather specify the scope(s) at authorization time, so we
> would support a multi-valued scope parameter. Space is a reasonable
> delimiter.
>
> Allen
>
>
>
> On 4/30/10 8:43 AM, "Eran Hammer-Lahav" <eran@hueniverse.com> wrote:
>
>>
>> 3. Space-Delimited Scope Parameter Value
>>
>> Define a 'scope' parameter with value of space-delimited strings (which can
>> include any character that is not a space - the entire parameter value is
>> encoded per the transport rules regardless). Space allows using URIs or simple
>> strings as values.
>>
>> Pros:
>>
>> - A separator-delimited list of values is the common format for scope
>> parameters in existing implementations and represents actual deployment
>> experience.
>> - Most vendors define a set of opaque strings used for requesting scope. This
>> enables libraries to concatenate these in a standard way.
>> - Enables simple extensions in the future for discovering which scope is
>> required by each resource.
>>
>> Cons:
>>
>> - Defining a format without a discovery method for the values needs doesn't
>> offer much more than the other options.
>> - Doesn't go far enough to actually achieve interoperability.
>> - Adds complexity for little value.
>>
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

From dick.hardt@gmail.com  Fri Apr 30 18:49:03 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 300473A68C3 for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 18:49:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.439
X-Spam-Level: 
X-Spam-Status: No, score=-2.439 tagged_above=-999 required=5 tests=[AWL=0.160,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id s8Z9wVCPI9+4 for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 18:49:02 -0700 (PDT)
Received: from mail-px0-f172.google.com (mail-px0-f172.google.com [209.85.212.172]) by core3.amsl.com (Postfix) with ESMTP id 6D3FA3A6851 for <oauth@ietf.org>; Fri, 30 Apr 2010 18:49:02 -0700 (PDT)
Received: by pxi19 with SMTP id 19so479729pxi.31 for <oauth@ietf.org>; Fri, 30 Apr 2010 18:48:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=rUu7P1AvwsvpH9NsxWF3IIiDsv3GxzO4EIIBXzqIt+g=; b=i+x/d2cafszo2xcIuGgYXduFrBVaOzsvA2Z1VksrFLu2hRIAlXDvA6Z7YrTTYDT23k OE6cOov8AbQhoHeCvR88SJDB6uK6x+t3ncf8DigNg2Aa3lFMjc08jP3HyBInZEF6vGXx LWYVnIyPPMF00wCSa+HqZ2Us/o7S3cSpmRllw=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=PKOyGgII97moA9A1Og65sdCm1Pljx+xJ9y0kybUIQnGufNQSMp5WD7+dy8HDyQZvqP fWgORFngL+9Q/2/bGx+cC83xtrSdWIho9fr6lfr7UA4X7rJjnY+YHIKO6tnqYJ4BgJ3F B8YNpMyBgQ9Stwr7Vj2N/h2YQ+qvnnoyKYjNY=
Received: by 10.114.215.12 with SMTP id n12mr2020713wag.68.1272678525823; Fri, 30 Apr 2010 18:48:45 -0700 (PDT)
Received: from [10.0.1.8] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id v13sm11531500wav.2.2010.04.30.18.48.44 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 30 Apr 2010 18:48:44 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: Dick Hardt <dick.hardt@gmail.com>
In-Reply-To: <7C01E631FF4B654FA1E783F1C0265F8C4A402461@TK5EX14MBXC117.redmond.corp.microsoft.com>
Date: Fri, 30 Apr 2010 18:48:43 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <DE3327C1-F8B7-43E0-8A49-EF3EA60B1E5B@gmail.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BD2A172.2070401@lodderstedt.net> <4BD8869A.2080403@lodderstedt.net> <s2zc334d54e1004281425x5e714eebwcd5a91af593a62ac@mail.gmail.com> <v2j68fba5c51004282044o3a5f96cfucb1157d3884d8cd2@mail.gmail.com> <4BD9E1E3.7060107@lodderstedt.net> <7C01E631FF4B654FA1E783F1C0265F8C4A3EF0B0@TK5EX14MBXC115.redmond.corp.microsoft.com> <z2yf5bedd151004291440g17693f8du9e19a649bef925e4@mail.gmail.com> <w2odaf5b9571004291509x8895a73k384a4b4ddb12b794@mail.gmail.com> <20100430105935.20255m8kdythy6sc@webmail.df.eu> <7C01E631FF4B654FA1E783F1C0265F8C4A402461@TK5EX14MBXC117.redmond.corp.microsoft.com>
To: Yaron Goland <yarong@microsoft.com>
X-Mailer: Apple Mail (2.1078)
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON (Proposal)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 01 May 2010 01:49:03 -0000

On 2010-04-30, at 9:02 AM, Yaron Goland wrote:

> I actually have a preference for application/x-www-form-urlencoded but =
it's not overwhelming, the key thing I believe we need to do is have =
exactly one request/response format. In other words, I don't believe we =
should use one format for requests and another for responses. Just pick =
one for both.

Using JSON for both seems weird relative to existing implementations. =
Look at the Facebook Open Graph API. Given FB's presence, a pattern that =
will be widely adopted and understood. Parameters are on the query line, =
and results are in JSON. If we changed the response from the AS to JSON, =
it would seem natural to a FB developer. Now they have to decode =
responses to the AS as being  application/x-www-form-urlencoded, and the =
other are JSON.

-- Dick


From dick.hardt@gmail.com  Fri Apr 30 18:50:53 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BC7703A6C22 for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 18:50:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.447
X-Spam-Level: 
X-Spam-Status: No, score=-2.447 tagged_above=-999 required=5 tests=[AWL=0.152,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lrtHk3P9E4gM for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 18:50:52 -0700 (PDT)
Received: from mail-pv0-f172.google.com (mail-pv0-f172.google.com [74.125.83.172]) by core3.amsl.com (Postfix) with ESMTP id 42FA13A68C3 for <oauth@ietf.org>; Fri, 30 Apr 2010 18:50:52 -0700 (PDT)
Received: by pvg6 with SMTP id 6so471164pvg.31 for <oauth@ietf.org>; Fri, 30 Apr 2010 18:50:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=DKD9OulWGzYvZVVwbQuZhG7vfGlRAjxWGokw4v1iQYg=; b=o3/jSO/sd13+lhFYcYmFBkGB1PEDAz+X2aUxZrrCUq7xwHkmCqK0VLAK6VeHwaSE8b YdE/zmw5nGYUJhEP0ae455QUDhNhVdkOw0iN6xK/pu7kZRlMbo4CYZfJWLIgj8EGHnFh sG8YO22nP96Xgl/xY54pV/iWA9tFqVwC8353k=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=r7q+5UosorUs5+4urlurtWjXXqFlt5TcjK24ytbtL4+J2txxdxzJJ3MquLz1KLqGoZ T6IAEGmgjQhAC05ePdBRVDgXlcT8GCnLNF6GsZU1cHRW+3FwrEWDjhEUljMcVSZa4Wfb V2S4uO77EwKSJwAUICcaFcOrEiGPeTfkzFJcY=
Received: by 10.143.132.6 with SMTP id j6mr7294193wfn.278.1272678634400; Fri, 30 Apr 2010 18:50:34 -0700 (PDT)
Received: from [10.0.1.8] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id 21sm2415028pzk.4.2010.04.30.18.50.33 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 30 Apr 2010 18:50:33 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=windows-1252
From: Dick Hardt <dick.hardt@gmail.com>
In-Reply-To: <4B7104BF-B8C6-4707-B550-215970F82F3E@adobe.com>
Date: Fri, 30 Apr 2010 18:50:32 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <03855D59-834A-4BA3-B7F5-DF6DFE6128C3@gmail.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <t2wc334d54e1004200924ja0e7786u9b349a1931098f2a@mail.gmail.com> <l2ofd6741651004201245gdfc6e2a3j10a6e8a3e59f2072@mail.gmail.com> <4B7104BF-B8C6-4707-B550-215970F82F3E@adobe.com>
To: Gaurav Rastogi <grastogi@adobe.com>
X-Mailer: Apple Mail (2.1078)
Cc: "jsmarr@stanfordalumni.org" <jsmarr@stanfordalumni.org>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 01 May 2010 01:50:53 -0000

Given how simple the JSON response object would be, I don't think it =
would be much harder to write a parser than  =
application/x-www-form-urlencoded.

If the embedded software is going to call Facebook's Open Graph API or =
many other modern API's, it will need a JSON parser anyway.

-- Dick

On 2010-04-21, at 11:36 AM, Gaurav Rastogi wrote:

> +1 on not requiring JSON exclusively. There are enough number of small =
embedded software stack where JSON is not an option.=20
>=20
> On Apr 20, 2010, at 12:45 PM, David Recordon wrote:
>=20
>> Having written an implementation last night against the web server
>> flow, I'm worried about adding JSON as a requirement for the =
response.
>> While it might be easier for environments with JSON libraries, it's
>> drastically more complex for environments (like embedded hardware)
>> which doesn't support JSON. And writing basic form encoded parsing
>> code really isn't that hard =96 especially if I can do it!
>>=20
>>=20
>> On Tue, Apr 20, 2010 at 9:24 AM, Joseph Smarr <jsmarr@gmail.com> =
wrote:
>>> +1 to including JSON format, and perhaps making it the required =
format. In
>>> my experience helping numerous developers debug their OAuth =
implementations,
>>> url-encoding/decoding was often a source of bugs, since a) the =
libraries are
>>> usually hand-built, b) url-encoding is known to be =
funky/inconsistent wrt +
>>> vs. %20 and other such things, and c) it's very sensitive to things =
like a
>>> trailing newline at the end of the response, which can easily be =
tokenized
>>> as part of the the last value (since the normal implementations just =
split
>>> on & and =3D). In contrast, I've never heard of any problems parsing =
JSON, nor
>>> any encoding/decoding bugs related to working with JSON in other =
APIs
>>> (something I *cannot* say about XML, which is way more finicky about
>>> requiring its values to be properly encoded or escaped in CDATA =
etc.; I've
>>> also seen way more inconsistency in support of XML parsers and their =
output
>>> formats, whereas JSON always works exactly the same way and always =
"just
>>> works").
>>> So in conclusion, url-encoding has caused a lot of pain in OAuth =
1.0, and
>>> JSON is already widely supported (presumably including by most APIs =
that
>>> you're building OAuth support to be able to access!), so I think it =
would
>>> simplify the spec and increase ease/success of development to use =
JSON as a
>>> request format. In fact, I think I'd like to push for it to be the
>>> default/required format, given the positive attributes above. Does =
anyone
>>> object, and if so, why?
>>> Thanks, js
>>>=20
>>> On Tue, Apr 20, 2010 at 8:10 AM, Eran Hammer-Lahav =
<eran@hueniverse.com>
>>> wrote:
>>>>=20
>>>> There seems to be support for this idea with some concerns about
>>>> complexity. Someone needs to propose text for this including =
defining the
>>>> request parameter and schema of the various reply formats.
>>>>=20
>>>> EHL
>>>>=20
>>>>> -----Original Message-----
>>>>> From: Torsten Lodderstedt [mailto:torsten@lodderstedt.net]
>>>>> Sent: Monday, April 19, 2010 4:48 AM
>>>>> To: Eran Hammer-Lahav
>>>>> Cc: Dick Hardt; OAuth WG
>>>>> Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>>>>>=20
>>>>>=20
>>>>>> We can also offer both and define a client request parameter (as =
long
>>>>>> as the server is required to make at least one format available).
>>>>>=20
>>>>> +1 on this
>>>>>=20
>>>>> regards,
>>>>> Torsten.
>>>>>=20
>>>>>>=20
>>>>>> EHL
>>>>>>=20
>>>>>>> -----Original Message-----
>>>>>>> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
>>>>>>> Behalf Of Dick Hardt
>>>>>>> Sent: Sunday, April 18, 2010 9:30 PM
>>>>>>> To: OAuth WG
>>>>>>> Subject: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>>>>>>>=20
>>>>>>> The AS token endpoint response is encoded as =
application/x-www-form-
>>>>>>> urlencoded
>>>>>>>=20
>>>>>>> While this reuses a well known and understood encoding standard, =
it
>>>>>>> is uncommon for a client to receive a message encoded like this. =
Most
>>>>>>> server responses are encoded as XML or JSON. Libraries are NOT
>>>>>>> reedily available to parse application/x-www-form-urlencoded =
results
>>>>>>> as this is something that is typically done in the web servers
>>>>>>> framework. While parsing the name value pairs and URL =
un-encoding
>>>>>>> them is not hard, many developers have been caught just =
splitting the
>>>>> parameters and forgetting to URL decode the token.
>>>>>>> Since the token is opaque and may contain characters that are
>>>>>>> escaped, it is a difficult bug to detect.
>>>>>>>=20
>>>>>>> Potential options:
>>>>>>>=20
>>>>>>> 1) Do nothing, developers should read the specs and do the right
>>>>>>> thing.
>>>>>>>=20
>>>>>>> 2) Require that all parameters are URL safe so that there is no
>>>>>>> encoding issue.
>>>>>>>=20
>>>>>>> 3) Return results as JSON, and recommend that parameters be URL =
safe.
>>>>>>>=20
>>>>>>> -- Dick
>>>>>>> _______________________________________________
>>>>>>> OAuth mailing list
>>>>>>> OAuth@ietf.org
>>>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>>> _______________________________________________
>>>>>> OAuth mailing list
>>>>>> OAuth@ietf.org
>>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>>>=20
>>>>>=20
>>>>>=20
>>>>>=20
>>>>=20
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>=20
>>>=20
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>=20
>>>=20
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


From dick.hardt@gmail.com  Fri Apr 30 18:51:20 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2BEA83A6851 for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 18:51:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.454
X-Spam-Level: 
X-Spam-Status: No, score=-2.454 tagged_above=-999 required=5 tests=[AWL=0.145,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 38Ak+yLZyTJZ for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 18:51:19 -0700 (PDT)
Received: from mail-pz0-f182.google.com (mail-pz0-f182.google.com [209.85.222.182]) by core3.amsl.com (Postfix) with ESMTP id 708D93A680D for <oauth@ietf.org>; Fri, 30 Apr 2010 18:51:19 -0700 (PDT)
Received: by pzk12 with SMTP id 12so522246pzk.32 for <oauth@ietf.org>; Fri, 30 Apr 2010 18:51:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=p7Cy/v6QEzVSyxgXkwa0uM7eV+KX2wcMm8eC4LtzexY=; b=CPkhW4rX11EMSvjAG0pl3B4uGUb5/MIbsmY8F0jwwfBTw3k1f6NODfuCVOWInNU7mM Ab8BGLhkHi/7JSQdZPRnbX6sxp0ukJcIBsjwSm2ILmwsJwDyoRtq/HiXTtgTGlVEMv30 D4vmpk4Py2WYFvJAU5++XpZI3zzj4uEoH5UE0=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=snitx50OjA6vJaGlDxejKS9WIHf2qu+muDzUdxifCSZyk1RVtRZAezufKAh1OYTba5 h1qT/B8XvYxPx17ucFXnw0/Q+8UHGVdveCCfRSthCw9TVCnyP6weQnt/Xn42EX0rjGx5 ZaU/2ZVlhd7zzWksAVAnwmsGv+yfU5NDMAWBo=
Received: by 10.142.250.1 with SMTP id x1mr7233578wfh.109.1272678663348; Fri, 30 Apr 2010 18:51:03 -0700 (PDT)
Received: from [10.0.1.8] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id 21sm2415028pzk.4.2010.04.30.18.51.02 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 30 Apr 2010 18:51:02 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
From: Dick Hardt <dick.hardt@gmail.com>
In-Reply-To: <9FB1C9A1-6E27-45B8-AFD5-649AD8591AFF@hueniverse.com>
Date: Fri, 30 Apr 2010 18:51:02 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <9DA60271-34A3-4C2F-9299-9AB851F68D2B@gmail.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <t2wc334d54e1004200924ja0e7786u9b349a1931098f2a@mail.gmail.com> <l2ofd6741651004201245gdfc6e2a3j10a6e8a3e59f2072@mail.gmail.com> <1271793363.20679.6.camel@Dynamo> <j2wc334d54e1004201417s1bbcc025r76fdb607295f384c@mail.gmail.com> <9FB1C9A1-6E27-45B8-AFD5-649AD8591AFF@hueniverse.com>
To: Eran Hammer-Lahav <eran@hueniverse.com>
X-Mailer: Apple Mail (2.1078)
Cc: "jsmarr@stanfordalumni.org" <jsmarr@stanfordalumni.org>, OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 01 May 2010 01:51:20 -0000

On 2010-04-20, at 2:31 PM, Eran Hammer-Lahav wrote:

> All the issues around encoding in 1.0 were about signatures. This is =
no longer an issue.=20

Don't we still support signatures? I still see if in the spec. :)

-- Dick


From dick.hardt@gmail.com  Fri Apr 30 18:51:58 2010
Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id CFF223A6C2F for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 18:51:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.46
X-Spam-Level: 
X-Spam-Status: No, score=-2.46 tagged_above=-999 required=5 tests=[AWL=0.138,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7Hddmepjo4bt for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 18:51:57 -0700 (PDT)
Received: from mail-pv0-f172.google.com (mail-pv0-f172.google.com [74.125.83.172]) by core3.amsl.com (Postfix) with ESMTP id 06C703A680D for <oauth@ietf.org>; Fri, 30 Apr 2010 18:51:51 -0700 (PDT)
Received: by pvg6 with SMTP id 6so471374pvg.31 for <oauth@ietf.org>; Fri, 30 Apr 2010 18:51:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:message-id:references:to :x-mailer; bh=fX/JUdMBJkyPoVH0LGvUoy/PKC8729zMkKeh+LADKcI=; b=MQHu7vSmdFNLbZZiVyrKvxGkrgJFV9+nlWY4QNb835tU4tEYhVSuLrjFz0MSW+ih43 s729kH1YZefMQgieuSyKNVPpcHMF19Yc/4pl0C0tnJXVjP8nWci+U24F7Q7oPwVF++rx 79tQ6s/D3sZ1UVLojkTvv2N+ipNwjEcjrincM=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :message-id:references:to:x-mailer; b=NM9txiB6WlyJhx5Nac65CUNs/5hcA2bh3ah8wk5yU0OZzl9uNtjBc5KpZfAMImyqcK FA+n/D/LN/0QR1tvNE801HO0vx8yBRvKc+U0FAztbru00tu/0Z83c+yFxESDwWc0saXR 0m9nIBObMoZ8iDEG7AC6hmz5qcqdk4VV8H4Io=
Received: by 10.142.207.18 with SMTP id e18mr7470507wfg.158.1272678694142; Fri, 30 Apr 2010 18:51:34 -0700 (PDT)
Received: from [10.0.1.8] (c-67-180-195-167.hsd1.ca.comcast.net [67.180.195.167]) by mx.google.com with ESMTPS id 21sm2415028pzk.4.2010.04.30.18.51.32 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 30 Apr 2010 18:51:32 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: multipart/alternative; boundary=Apple-Mail-6-166232583
From: Dick Hardt <dick.hardt@gmail.com>
In-Reply-To: <t2wc334d54e1004200924ja0e7786u9b349a1931098f2a@mail.gmail.com>
Date: Fri, 30 Apr 2010 18:51:32 -0700
Message-Id: <50802E3D-2578-409C-92BC-B5C47EBE6C21@gmail.com>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <t2wc334d54e1004200924ja0e7786u9b349a1931098f2a@mail.gmail.com>
To: jsmarr@stanfordalumni.org
X-Mailer: Apple Mail (2.1078)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 01 May 2010 01:51:58 -0000

--Apple-Mail-6-166232583
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

+1 to JSON being the only format.

On 2010-04-20, at 9:24 AM, Joseph Smarr wrote:

> +1 to including JSON format, and perhaps making it the required =
format. In my experience helping numerous developers debug their OAuth =
implementations, url-encoding/decoding was often a source of bugs, since =
a) the libraries are usually hand-built, b) url-encoding is known to be =
funky/inconsistent wrt + vs. %20 and other such things, and c) it's very =
sensitive to things like a trailing newline at the end of the response, =
which can easily be tokenized as part of the the last value (since the =
normal implementations just split on & and =3D). In contrast, I've never =
heard of any problems parsing JSON, nor any encoding/decoding bugs =
related to working with JSON in other APIs (something I *cannot* say =
about XML, which is way more finicky about requiring its values to be =
properly encoded or escaped in CDATA etc.; I've also seen way more =
inconsistency in support of XML parsers and their output formats, =
whereas JSON always works exactly the same way and always "just works").
>=20
> So in conclusion, url-encoding has caused a lot of pain in OAuth 1.0, =
and JSON is already widely supported (presumably including by most APIs =
that you're building OAuth support to be able to access!), so I think it =
would simplify the spec and increase ease/success of development to use =
JSON as a request format. In fact, I think I'd like to push for it to be =
the default/required format, given the positive attributes above. Does =
anyone object, and if so, why?
>=20
> Thanks, js
>=20
> On Tue, Apr 20, 2010 at 8:10 AM, Eran Hammer-Lahav =
<eran@hueniverse.com> wrote:
> There seems to be support for this idea with some concerns about =
complexity. Someone needs to propose text for this including defining =
the request parameter and schema of the various reply formats.
>=20
> EHL
>=20
> > -----Original Message-----
> > From: Torsten Lodderstedt [mailto:torsten@lodderstedt.net]
> > Sent: Monday, April 19, 2010 4:48 AM
> > To: Eran Hammer-Lahav
> > Cc: Dick Hardt; OAuth WG
> > Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
> >
> >
> > > We can also offer both and define a client request parameter (as =
long
> > > as the server is required to make at least one format available).
> >
> > +1 on this
> >
> > regards,
> > Torsten.
> >
> > >
> > > EHL
> > >
> > >> -----Original Message-----
> > >> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
> > >> Behalf Of Dick Hardt
> > >> Sent: Sunday, April 18, 2010 9:30 PM
> > >> To: OAuth WG
> > >> Subject: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
> > >>
> > >> The AS token endpoint response is encoded as =
application/x-www-form-
> > >> urlencoded
> > >>
> > >> While this reuses a well known and understood encoding standard, =
it
> > >> is uncommon for a client to receive a message encoded like this. =
Most
> > >> server responses are encoded as XML or JSON. Libraries are NOT
> > >> reedily available to parse application/x-www-form-urlencoded =
results
> > >> as this is something that is typically done in the web servers
> > >> framework. While parsing the name value pairs and URL un-encoding
> > >> them is not hard, many developers have been caught just splitting =
the
> > parameters and forgetting to URL decode the token.
> > >> Since the token is opaque and may contain characters that are
> > >> escaped, it is a difficult bug to detect.
> > >>
> > >> Potential options:
> > >>
> > >> 1) Do nothing, developers should read the specs and do the right =
thing.
> > >>
> > >> 2) Require that all parameters are URL safe so that there is no
> > >> encoding issue.
> > >>
> > >> 3) Return results as JSON, and recommend that parameters be URL =
safe.
> > >>
> > >> -- Dick
> > >> _______________________________________________
> > >> OAuth mailing list
> > >> OAuth@ietf.org
> > >> https://www.ietf.org/mailman/listinfo/oauth
> > > _______________________________________________
> > > OAuth mailing list
> > > OAuth@ietf.org
> > > https://www.ietf.org/mailman/listinfo/oauth
> > >
> >
> >
> >
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>=20
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth


--Apple-Mail-6-166232583
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">+1 to =
JSON being the only format.<div><br><div><div>On 2010-04-20, at 9:24 AM, =
Joseph Smarr wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite">+1 to =
including JSON format, and perhaps making it the required format. In my =
experience helping numerous developers debug their OAuth =
implementations, url-encoding/decoding was often a source of bugs, since =
a) the libraries are usually hand-built, b) url-encoding is known to be =
funky/inconsistent wrt + vs. %20 and other such things, and c) it's very =
sensitive to things like a trailing newline at the end of the response, =
which can easily be tokenized as part of the the last value (since the =
normal implementations just split on &amp; and =3D). In contrast, I've =
never heard of any problems parsing JSON, nor any encoding/decoding bugs =
related to working with JSON in other APIs (something I *cannot* say =
about XML, which is way more finicky about requiring its values to be =
properly encoded or escaped in CDATA etc.; I've also seen way more =
inconsistency in support of XML parsers and their output formats, =
whereas JSON always works exactly the same way and always "just =
works").<div>

<br></div><div>So in conclusion, url-encoding has caused a lot of pain =
in OAuth 1.0, and JSON is already widely supported (presumably including =
by most APIs that you're building OAuth support to be able to access!), =
so I think it would simplify the spec and increase ease/success of =
development to use JSON as a request format. In fact, I think I'd like =
to push for it to be the default/required format, given the positive =
attributes above. Does anyone object, and if so, why?</div>

<div><br></div><div>Thanks, js<br><br><div class=3D"gmail_quote">On Tue, =
Apr 20, 2010 at 8:10 AM, Eran Hammer-Lahav <span dir=3D"ltr">&lt;<a =
href=3D"mailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt;</span> =
wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 =
.8ex;border-left:1px #ccc solid;padding-left:1ex;">

There seems to be support for this idea with some concerns about =
complexity. Someone needs to propose text for this including defining =
the request parameter and schema of the various reply formats.<br>
<font color=3D"#888888"><br>
EHL<br>
</font><div class=3D"im"><br>
&gt; -----Original Message-----<br>
&gt; From: Torsten Lodderstedt [mailto:<a =
href=3D"mailto:torsten@lodderstedt.net">torsten@lodderstedt.net</a>]<br>
&gt; Sent: Monday, April 19, 2010 4:48 AM<br>
&gt; To: Eran Hammer-Lahav<br>
</div><div><div></div><div class=3D"h5">&gt; Cc: Dick Hardt; OAuth =
WG<br>
&gt; Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs =
JSON<br>
&gt;<br>
&gt;<br>
&gt; &gt; We can also offer both and define a client request parameter =
(as long<br>
&gt; &gt; as the server is required to make at least one format =
available).<br>
&gt;<br>
&gt; +1 on this<br>
&gt;<br>
&gt; regards,<br>
&gt; Torsten.<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; EHL<br>
&gt; &gt;<br>
&gt; &gt;&gt; -----Original Message-----<br>
&gt; &gt;&gt; From: <a =
href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.org</a> =
[mailto:<a =
href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@ietf.org</a>] =
On<br>
&gt; &gt;&gt; Behalf Of Dick Hardt<br>
&gt; &gt;&gt; Sent: Sunday, April 18, 2010 9:30 PM<br>
&gt; &gt;&gt; To: OAuth WG<br>
&gt; &gt;&gt; Subject: [OAUTH-WG] application/x-www-form-urlencoded vs =
JSON<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; The AS token endpoint response is encoded as =
application/x-www-form-<br>
&gt; &gt;&gt; urlencoded<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; While this reuses a well known and understood encoding =
standard, it<br>
&gt; &gt;&gt; is uncommon for a client to receive a message encoded like =
this. Most<br>
&gt; &gt;&gt; server responses are encoded as XML or JSON. Libraries are =
NOT<br>
&gt; &gt;&gt; reedily available to parse =
application/x-www-form-urlencoded results<br>
&gt; &gt;&gt; as this is something that is typically done in the web =
servers<br>
&gt; &gt;&gt; framework. While parsing the name value pairs and URL =
un-encoding<br>
&gt; &gt;&gt; them is not hard, many developers have been caught just =
splitting the<br>
&gt; parameters and forgetting to URL decode the token.<br>
&gt; &gt;&gt; Since the token is opaque and may contain characters that =
are<br>
&gt; &gt;&gt; escaped, it is a difficult bug to detect.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Potential options:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; 1) Do nothing, developers should read the specs and do the =
right thing.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; 2) Require that all parameters are URL safe so that there =
is no<br>
&gt; &gt;&gt; encoding issue.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; 3) Return results as JSON, and recommend that parameters =
be URL safe.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; -- Dick<br>
&gt; &gt;&gt; _______________________________________________<br>
&gt; &gt;&gt; OAuth mailing list<br>
&gt; &gt;&gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt; &gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" =
target=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; OAuth mailing list<br>
&gt; &gt; <a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
&gt; &gt; <a href=3D"https://www.ietf.org/mailman/listinfo/oauth" =
target=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
<br>
_______________________________________________<br>
OAuth mailing list<br>
<a href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/oauth" =
target=3D"_blank">https://www.ietf.org/mailman/listinfo/oauth</a><br>
</div></div></blockquote></div><br></div>
_______________________________________________<br>OAuth mailing =
list<br><a =
href=3D"mailto:OAuth@ietf.org">OAuth@ietf.org</a><br>https://www.ietf.org/=
mailman/listinfo/oauth<br></blockquote></div><br></div></body></html>=

--Apple-Mail-6-166232583--

From eran@hueniverse.com  Fri Apr 30 19:33:01 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BF7743A680D for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 19:33:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.537
X-Spam-Level: 
X-Spam-Status: No, score=-2.537 tagged_above=-999 required=5 tests=[AWL=0.062,  BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id F-E6sGBca7ZR for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 19:33:01 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 12EEC3A67E6 for <oauth@ietf.org>; Fri, 30 Apr 2010 19:33:00 -0700 (PDT)
Received: (qmail 23270 invoked from network); 1 May 2010 02:32:45 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.21) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 1 May 2010 02:32:45 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT003.EX1.SECURESERVER.NET ([72.167.180.21]) with mapi; Fri, 30 Apr 2010 19:32:46 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Dick Hardt <dick.hardt@gmail.com>
Date: Fri, 30 Apr 2010 19:32:28 -0700
Thread-Topic: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
Thread-Index: Acro0MLvV49WdV/MQGSlBSaKhEvikAABboPQ
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723439323D0532@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <t2wc334d54e1004200924ja0e7786u9b349a1931098f2a@mail.gmail.com> <l2ofd6741651004201245gdfc6e2a3j10a6e8a3e59f2072@mail.gmail.com> <1271793363.20679.6.camel@Dynamo> <j2wc334d54e1004201417s1bbcc025r76fdb607295f384c@mail.gmail.com> <9FB1C9A1-6E27-45B8-AFD5-649AD8591AFF@hueniverse.com> <9DA60271-34A3-4C2F-9299-9AB851F68D2B@gmail.com>
In-Reply-To: <9DA60271-34A3-4C2F-9299-9AB851F68D2B@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 01 May 2010 02:33:01 -0000

Well, take a look at the current proposal and tell me if encoding is still =
an issue...

EHL

> -----Original Message-----
> From: Dick Hardt [mailto:dick.hardt@gmail.com]
> Sent: Friday, April 30, 2010 6:51 PM
> To: Eran Hammer-Lahav
> Cc: jsmarr@stanfordalumni.org; OAuth WG
> Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>=20
>=20
> On 2010-04-20, at 2:31 PM, Eran Hammer-Lahav wrote:
>=20
> > All the issues around encoding in 1.0 were about signatures. This is no
> longer an issue.
>=20
> Don't we still support signatures? I still see if in the spec. :)
>=20
> -- Dick


From eran@hueniverse.com  Fri Apr 30 19:33:59 2010
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 196C63A6830 for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 19:33:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.537
X-Spam-Level: 
X-Spam-Status: No, score=-2.537 tagged_above=-999 required=5 tests=[AWL=0.061,  BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id G9pfsShvk6hN for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 19:33:57 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 9C5C43A680D for <oauth@ietf.org>; Fri, 30 Apr 2010 19:33:57 -0700 (PDT)
Received: (qmail 24068 invoked from network); 1 May 2010 02:33:44 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 1 May 2010 02:33:43 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.20]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Fri, 30 Apr 2010 19:33:43 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: OAuth WG <oauth@ietf.org>
Date: Fri, 30 Apr 2010 19:33:26 -0700
Thread-Topic: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
Thread-Index: Acro0NT7IR9jk8IeTJ2NUbh5WSydqAABbofw
Message-ID: <90C41DD21FB7C64BB94121FBBC2E723439323D0533@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <9890332F-E759-4E63-96FE-DB3071194D84@gmail.com> <90C41DD21FB7C64BB94121FBBC2E723438E30A379B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <20100419134825.134951nuzvi35hk4@webmail.df.eu> <90C41DD21FB7C64BB94121FBBC2E723438E5C7F45E@P3PW5EX1MB01.EX1.SECURESERVER.NET> <t2wc334d54e1004200924ja0e7786u9b349a1931098f2a@mail.gmail.com> <50802E3D-2578-409C-92BC-B5C47EBE6C21@gmail.com>
In-Reply-To: <50802E3D-2578-409C-92BC-B5C47EBE6C21@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_90C41DD21FB7C64BB94121FBBC2E723439323D0533P3PW5EX1MB01E_"
MIME-Version: 1.0
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 01 May 2010 02:33:59 -0000

--_000_90C41DD21FB7C64BB94121FBBC2E723439323D0533P3PW5EX1MB01E_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

If we end up with JSON as the only *core* format, we can still extend the p=
rotocol in another spec to add a format request parameter with other serial=
izations.

EHL

From: Dick Hardt [mailto:dick.hardt@gmail.com]
Sent: Friday, April 30, 2010 6:52 PM
To: jsmarr@stanfordalumni.org
Cc: Eran Hammer-Lahav; OAuth WG
Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON

+1 to JSON being the only format.

On 2010-04-20, at 9:24 AM, Joseph Smarr wrote:


+1 to including JSON format, and perhaps making it the required format. In =
my experience helping numerous developers debug their OAuth implementations=
, url-encoding/decoding was often a source of bugs, since a) the libraries =
are usually hand-built, b) url-encoding is known to be funky/inconsistent w=
rt + vs. %20 and other such things, and c) it's very sensitive to things li=
ke a trailing newline at the end of the response, which can easily be token=
ized as part of the the last value (since the normal implementations just s=
plit on & and =3D). In contrast, I've never heard of any problems parsing J=
SON, nor any encoding/decoding bugs related to working with JSON in other A=
PIs (something I *cannot* say about XML, which is way more finicky about re=
quiring its values to be properly encoded or escaped in CDATA etc.; I've al=
so seen way more inconsistency in support of XML parsers and their output f=
ormats, whereas JSON always works exactly the same way and always "just wor=
ks").

So in conclusion, url-encoding has caused a lot of pain in OAuth 1.0, and J=
SON is already widely supported (presumably including by most APIs that you=
're building OAuth support to be able to access!), so I think it would simp=
lify the spec and increase ease/success of development to use JSON as a req=
uest format. In fact, I think I'd like to push for it to be the default/req=
uired format, given the positive attributes above. Does anyone object, and =
if so, why?

Thanks, js
On Tue, Apr 20, 2010 at 8:10 AM, Eran Hammer-Lahav <eran@hueniverse.com<mai=
lto:eran@hueniverse.com>> wrote:
There seems to be support for this idea with some concerns about complexity=
. Someone needs to propose text for this including defining the request par=
ameter and schema of the various reply formats.

EHL

> -----Original Message-----
> From: Torsten Lodderstedt [mailto:torsten@lodderstedt.net<mailto:torsten@=
lodderstedt.net>]
> Sent: Monday, April 19, 2010 4:48 AM
> To: Eran Hammer-Lahav
> Cc: Dick Hardt; OAuth WG
> Subject: Re: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
>
>
> > We can also offer both and define a client request parameter (as long
> > as the server is required to make at least one format available).
>
> +1 on this
>
> regards,
> Torsten.
>
> >
> > EHL
> >
> >> -----Original Message-----
> >> From: oauth-bounces@ietf.org<mailto:oauth-bounces@ietf.org> [mailto:oa=
uth-bounces@ietf.org<mailto:oauth-bounces@ietf.org>] On
> >> Behalf Of Dick Hardt
> >> Sent: Sunday, April 18, 2010 9:30 PM
> >> To: OAuth WG
> >> Subject: [OAUTH-WG] application/x-www-form-urlencoded vs JSON
> >>
> >> The AS token endpoint response is encoded as application/x-www-form-
> >> urlencoded
> >>
> >> While this reuses a well known and understood encoding standard, it
> >> is uncommon for a client to receive a message encoded like this. Most
> >> server responses are encoded as XML or JSON. Libraries are NOT
> >> reedily available to parse application/x-www-form-urlencoded results
> >> as this is something that is typically done in the web servers
> >> framework. While parsing the name value pairs and URL un-encoding
> >> them is not hard, many developers have been caught just splitting the
> parameters and forgetting to URL decode the token.
> >> Since the token is opaque and may contain characters that are
> >> escaped, it is a difficult bug to detect.
> >>
> >> Potential options:
> >>
> >> 1) Do nothing, developers should read the specs and do the right thing=
.
> >>
> >> 2) Require that all parameters are URL safe so that there is no
> >> encoding issue.
> >>
> >> 3) Return results as JSON, and recommend that parameters be URL safe.
> >>
> >> -- Dick
> >> _______________________________________________
> >> OAuth mailing list
> >> OAuth@ietf.org<mailto:OAuth@ietf.org>
> >> https://www.ietf.org/mailman/listinfo/oauth
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org<mailto:OAuth@ietf.org>
> > https://www.ietf.org/mailman/listinfo/oauth
> >
>
>
>

_______________________________________________
OAuth mailing list
OAuth@ietf.org<mailto:OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth

_______________________________________________
OAuth mailing list
OAuth@ietf.org<mailto:OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth


--_000_90C41DD21FB7C64BB94121FBBC2E723439323D0533P3PW5EX1MB01E_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV=3D"Content-Type" CONTENT=
=3D"text/html; charset=3Dus-ascii"><meta name=3DGenerator content=3D"Micros=
oft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue vli=
nk=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span style=3D'f=
ont-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>If we end=
 up with JSON as the only *<b>core</b>* format, we can still extend the pro=
tocol in another spec to add a format request parameter with other serializ=
ations.<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:=
11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p><=
/span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:=
"Calibri","sans-serif";color:#1F497D'>EHL<o:p></o:p></span></p><p class=3DM=
soNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"=
;color:#1F497D'><o:p>&nbsp;</o:p></span></p><div style=3D'border:none;borde=
r-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div style=3D'borde=
r:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=
=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma","sans-=
serif"'>From:</span></b><span style=3D'font-size:10.0pt;font-family:"Tahoma=
","sans-serif"'> Dick Hardt [mailto:dick.hardt@gmail.com] <br><b>Sent:</b> =
Friday, April 30, 2010 6:52 PM<br><b>To:</b> jsmarr@stanfordalumni.org<br><=
b>Cc:</b> Eran Hammer-Lahav; OAuth WG<br><b>Subject:</b> Re: [OAUTH-WG] app=
lication/x-www-form-urlencoded vs JSON<o:p></o:p></span></p></div></div><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>+1 to JSON bein=
g the only format.<o:p></o:p></p><div><p class=3DMsoNormal><o:p>&nbsp;</o:p=
></p><div><div><p class=3DMsoNormal>On 2010-04-20, at 9:24 AM, Joseph Smarr=
 wrote:<o:p></o:p></p></div><p class=3DMsoNormal><br><br><o:p></o:p></p><p =
class=3DMsoNormal>+1 to including JSON format, and perhaps making it the re=
quired format. In my experience helping numerous developers debug their OAu=
th implementations, url-encoding/decoding was often a source of bugs, since=
 a) the libraries are usually hand-built, b) url-encoding is known to be fu=
nky/inconsistent wrt + vs. %20 and other such things, and c) it's very sens=
itive to things like a trailing newline at the end of the response, which c=
an easily be tokenized as part of the the last value (since the normal impl=
ementations just split on &amp; and =3D). In contrast, I've never heard of =
any problems parsing JSON, nor any encoding/decoding bugs related to workin=
g with JSON in other APIs (something I *cannot* say about XML, which is way=
 more finicky about requiring its values to be properly encoded or escaped =
in CDATA etc.; I've also seen way more inconsistency in support of XML pars=
ers and their output formats, whereas JSON always works exactly the same wa=
y and always &quot;just works&quot;).<o:p></o:p></p><div><p class=3DMsoNorm=
al><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>So in conclusion, u=
rl-encoding has caused a lot of pain in OAuth 1.0, and JSON is already wide=
ly supported (presumably including by most APIs that you're building OAuth =
support to be able to access!), so I think it would simplify the spec and i=
ncrease ease/success of development to use JSON as a request format. In fac=
t, I think I'd like to push for it to be the default/required format, given=
 the positive attributes above. Does anyone object, and if so, why?<o:p></o=
:p></p></div><div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p c=
lass=3DMsoNormal style=3D'margin-bottom:12.0pt'>Thanks, js<o:p></o:p></p><d=
iv><p class=3DMsoNormal>On Tue, Apr 20, 2010 at 8:10 AM, Eran Hammer-Lahav =
&lt;<a href=3D"mailto:eran@hueniverse.com">eran@hueniverse.com</a>&gt; wrot=
e:<o:p></o:p></p><p class=3DMsoNormal>There seems to be support for this id=
ea with some concerns about complexity. Someone needs to propose text for t=
his including defining the request parameter and schema of the various repl=
y formats.<br><span style=3D'color:#888888'><br>EHL</span><o:p></o:p></p><d=
iv><p class=3DMsoNormal><br>&gt; -----Original Message-----<br>&gt; From: T=
orsten Lodderstedt [mailto:<a href=3D"mailto:torsten@lodderstedt.net">torst=
en@lodderstedt.net</a>]<br>&gt; Sent: Monday, April 19, 2010 4:48 AM<br>&gt=
; To: Eran Hammer-Lahav<o:p></o:p></p></div><div><div><p class=3DMsoNormal>=
&gt; Cc: Dick Hardt; OAuth WG<br>&gt; Subject: Re: [OAUTH-WG] application/x=
-www-form-urlencoded vs JSON<br>&gt;<br>&gt;<br>&gt; &gt; We can also offer=
 both and define a client request parameter (as long<br>&gt; &gt; as the se=
rver is required to make at least one format available).<br>&gt;<br>&gt; +1=
 on this<br>&gt;<br>&gt; regards,<br>&gt; Torsten.<br>&gt;<br>&gt; &gt;<br>=
&gt; &gt; EHL<br>&gt; &gt;<br>&gt; &gt;&gt; -----Original Message-----<br>&=
gt; &gt;&gt; From: <a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounces@=
ietf.org</a> [mailto:<a href=3D"mailto:oauth-bounces@ietf.org">oauth-bounce=
s@ietf.org</a>] On<br>&gt; &gt;&gt; Behalf Of Dick Hardt<br>&gt; &gt;&gt; S=
ent: Sunday, April 18, 2010 9:30 PM<br>&gt; &gt;&gt; To: OAuth WG<br>&gt; &=
gt;&gt; Subject: [OAUTH-WG] application/x-www-form-urlencoded vs JSON<br>&g=
t; &gt;&gt;<br>&gt; &gt;&gt; The AS token endpoint response is encoded as a=
pplication/x-www-form-<br>&gt; &gt;&gt; urlencoded<br>&gt; &gt;&gt;<br>&gt;=
 &gt;&gt; While this reuses a well known and understood encoding standard, =
it<br>&gt; &gt;&gt; is uncommon for a client to receive a message encoded l=
ike this. Most<br>&gt; &gt;&gt; server responses are encoded as XML or JSON=
. Libraries are NOT<br>&gt; &gt;&gt; reedily available to parse application=
/x-www-form-urlencoded results<br>&gt; &gt;&gt; as this is something that i=
s typically done in the web servers<br>&gt; &gt;&gt; framework. While parsi=
ng the name value pairs and URL un-encoding<br>&gt; &gt;&gt; them is not ha=
rd, many developers have been caught just splitting the<br>&gt; parameters =
and forgetting to URL decode the token.<br>&gt; &gt;&gt; Since the token is=
 opaque and may contain characters that are<br>&gt; &gt;&gt; escaped, it is=
 a difficult bug to detect.<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; Potential opt=
ions:<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; 1) Do nothing, developers should re=
ad the specs and do the right thing.<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; 2) R=
equire that all parameters are URL safe so that there is no<br>&gt; &gt;&gt=
; encoding issue.<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; 3) Return results as JS=
ON, and recommend that parameters be URL safe.<br>&gt; &gt;&gt;<br>&gt; &gt=
;&gt; -- Dick<br>&gt; &gt;&gt; ____________________________________________=
___<br>&gt; &gt;&gt; OAuth mailing list<br>&gt; &gt;&gt; <a href=3D"mailto:=
OAuth@ietf.org">OAuth@ietf.org</a><br>&gt; &gt;&gt; <a href=3D"https://www.=
ietf.org/mailman/listinfo/oauth" target=3D"_blank">https://www.ietf.org/mai=
lman/listinfo/oauth</a><br>&gt; &gt; ______________________________________=
_________<br>&gt; &gt; OAuth mailing list<br>&gt; &gt; <a href=3D"mailto:OA=
uth@ietf.org">OAuth@ietf.org</a><br>&gt; &gt; <a href=3D"https://www.ietf.o=
rg/mailman/listinfo/oauth" target=3D"_blank">https://www.ietf.org/mailman/l=
istinfo/oauth</a><br>&gt; &gt;<br>&gt;<br>&gt;<br>&gt;<br><br>_____________=
__________________________________<br>OAuth mailing list<br><a href=3D"mail=
to:OAuth@ietf.org">OAuth@ietf.org</a><br><a href=3D"https://www.ietf.org/ma=
ilman/listinfo/oauth" target=3D"_blank">https://www.ietf.org/mailman/listin=
fo/oauth</a><o:p></o:p></p></div></div></div><p class=3DMsoNormal><o:p>&nbs=
p;</o:p></p></div><p class=3DMsoNormal>____________________________________=
___________<br>OAuth mailing list<br><a href=3D"mailto:OAuth@ietf.org">OAut=
h@ietf.org</a><br><a href=3D"https://www.ietf.org/mailman/listinfo/oauth">h=
ttps://www.ietf.org/mailman/listinfo/oauth</a><o:p></o:p></p></div><p class=
=3DMsoNormal><o:p>&nbsp;</o:p></p></div></div></div></body></html>=

--_000_90C41DD21FB7C64BB94121FBBC2E723439323D0533P3PW5EX1MB01E_--

From torsten@lodderstedt.net  Fri Apr 30 23:01:05 2010
Return-Path: <torsten@lodderstedt.net>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 185D83A6A5E for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 23:01:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.595
X-Spam-Level: 
X-Spam-Status: No, score=-0.595 tagged_above=-999 required=5 tests=[AWL=-0.946, BAYES_50=0.001, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Gncp7-4oVRDV for <oauth@core3.amsl.com>; Fri, 30 Apr 2010 23:01:04 -0700 (PDT)
Received: from smtprelay04.ispgateway.de (smtprelay04.ispgateway.de [80.67.31.32]) by core3.amsl.com (Postfix) with ESMTP id A38E93A6A08 for <oauth@ietf.org>; Fri, 30 Apr 2010 23:01:01 -0700 (PDT)
Received: from p4fff1ad4.dip.t-dialin.net ([79.255.26.212] helo=[127.0.0.1]) by smtprelay04.ispgateway.de with esmtpa (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1O85kr-0007aU-TO; Sat, 01 May 2010 08:00:45 +0200
Message-ID: <4BDBC389.2090709@lodderstedt.net>
Date: Sat, 01 May 2010 08:00:41 +0200
From: Torsten Lodderstedt <torsten@lodderstedt.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Marius Scurtescu <mscurtescu@google.com>
References: <90C41DD21FB7C64BB94121FBBC2E723439321772EF@P3PW5EX1MB01.EX1.SECURESERVER.NET> <4BDB24CA.4050407@lodderstedt.net> <AANLkTikGcyvdMiYKLC3TUaIVChlgwQUxJ2I8eud1ivNU@mail.gmail.com>
In-Reply-To: <AANLkTikGcyvdMiYKLC3TUaIVChlgwQUxJ2I8eud1ivNU@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Df-Sender: 141509
Cc: "OAuth WG \(oauth@ietf.org\)" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Scope - Coming to a Consensus
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 01 May 2010 06:01:05 -0000

Am 01.05.2010 03:07, schrieb Marius Scurtescu:
> On Fri, Apr 30, 2010 at 11:43 AM, Torsten Lodderstedt
> <torsten@lodderstedt.net>  wrote:
>    
>> In my opinion, automatic discovery on scope values is as valuable or not
>> valuable as automatic discovery for a service API. I would like to echo one
>> of my postings:
>>
>> A scope defines the set of permissions a client asks for and that becomes
>> associated with tokens. I don't see the need (and a way) for automatic scope
>> discovery. In my opinion, scopes are part of the API documentation of a
>> particular resource server. So if someone implements a client, it needs to
>> consider the different scopes this client needs the end users authorization
>> for. If the resource server implements a OAuth2-based standard API (e.g. for
>> contact management or e-Mail), a client might be interoperable (in terms of
>> scopes) among the resource servers implementing this standard.
>>      
> Not sure I understand, are you saying that for a standard API, like
> IMAP for example, there should be a standard scope (or set of scopes)?
>    

Yes, that's what I said.

Scopes (~permissions) should be defined allong with the corresponding 
API. So developers should know upfront
which scope is required  to perform a particular action. For example, 
"uploading documents requires scope 'upload'".
The same holds for IMAP. Depending on the IMAP feature set you want to 
use there could be plenty of scopes,
ranging from "read users INBOX" to sharing scenarios, where users have 
access to other users IMAP folders.

regards,
Torsten.

> If not, then discovery of scopes is almost a must in this case. The
> client implementor cannot know the actual scope because implementation
> is done against a generic API.
>
> I did not see the value of scope discovery until I realized the above use case.
>
> Marius
>    




