Re: [OAUTH-WG] Oauth Server to Server

Antonio Sanso <asanso@adobe.com> Tue, 24 September 2013 18:39 UTC

Return-Path: <asanso@adobe.com>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4CAF611E80E4 for <oauth@ietfa.amsl.com>; Tue, 24 Sep 2013 11:39:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.45
X-Spam-Level:
X-Spam-Status: No, score=-4.45 tagged_above=-999 required=5 tests=[AWL=-0.307, BAYES_00=-2.599, FRT_ADOBE2=2.455, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id x7-B0BPj-Hgp for <oauth@ietfa.amsl.com>; Tue, 24 Sep 2013 11:39:07 -0700 (PDT)
Received: from exprod6og107.obsmtp.com (exprod6og107.obsmtp.com [64.18.1.208]) by ietfa.amsl.com (Postfix) with ESMTP id 589EB21F9B9F for <oauth@ietf.org>; Tue, 24 Sep 2013 11:39:07 -0700 (PDT)
Received: from outbound-smtp-1.corp.adobe.com ([192.150.11.134]) by exprod6ob107.postini.com ([64.18.5.12]) with SMTP ID DSNKUkHcSPKIpftVOyUXZcatDcupanORJzcp@postini.com; Tue, 24 Sep 2013 11:39:07 PDT
Received: from inner-relay-2.corp.adobe.com ([153.32.1.52]) by outbound-smtp-1.corp.adobe.com (8.12.10/8.12.10) with ESMTP id r8OIZQiH007895; Tue, 24 Sep 2013 11:35:27 -0700 (PDT)
Received: from nahub02.corp.adobe.com (nahub02.corp.adobe.com [10.8.189.98]) by inner-relay-2.corp.adobe.com (8.12.10/8.12.10) with ESMTP id r8OId3OU003576; Tue, 24 Sep 2013 11:39:03 -0700 (PDT)
Received: from eurcas01.eur.adobe.com (10.128.4.27) by nahub02.corp.adobe.com (10.8.189.98) with Microsoft SMTP Server (TLS) id 8.3.327.1; Tue, 24 Sep 2013 11:39:02 -0700
Received: from [10.136.132.253] (10.136.132.253) by eurcas01.eur.adobe.com (10.128.4.111) with Microsoft SMTP Server id 8.3.327.1; Tue, 24 Sep 2013 19:39:00 +0100
Content-Type: multipart/alternative; boundary="Apple-Mail=_72149C2C-E699-4A16-83E5-03B97F677A20"
MIME-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
From: Antonio Sanso <asanso@adobe.com>
In-Reply-To: <CA+wnMn8gV-eZtQNvQ4-EPXS8-M2Jn1mpkLgUJ4NHB4BHYEyLZw@mail.gmail.com>
Date: Tue, 24 Sep 2013 20:38:54 +0200
Message-ID: <EDA1F2F2-875B-4A6C-9330-383F903C4471@adobe.com>
References: <832FA2A6-D0DD-45D0-9107-7EE02B6793B7@adobe.com> <CA+k3eCSVwT15wBwuCZNy1EuiVOSwVg+TThVvWnbwZ1wHVvfA-A@mail.gmail.com> <7558541E-3517-4F71-A049-6143D4247738@adobe.com> <1510634430014420341@unknownmsgid> <4AEF7FF7-06A2-4A2E-92D4-B18DDBC07B21@adobe.com> <CA+wnMn8gV-eZtQNvQ4-EPXS8-M2Jn1mpkLgUJ4NHB4BHYEyLZw@mail.gmail.com>
To: Chuck Mortimore <cmortimore@salesforce.com>
X-Mailer: Apple Mail (2.1510)
Cc: "oauth@ietf.org WG" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Oauth Server to Server
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@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, 24 Sep 2013 18:39:12 -0000

Hi Chuck,

On Sep 24, 2013, at 6:56 PM, Chuck Mortimore <cmortimore@salesforce.com> wrote:

> What you're describing is exactly what the JWT bearer flow specs out
> 
> http://tools.ietf.org/html/draft-ietf-oauth-jwt-bearer 
> 
> We've got the exact same flow, and there are other implementations out there.   http://login.salesforce.com/help/doc/en/remoteaccess_oauth_jwt_flow.htm


thanks this is indeed the same :) What it looks to me though is that the information contained in the second link you shared (http://login.salesforce.com/help/doc/en/remoteaccess_oauth_jwt_flow.htm) are complementary to the jet bearer spec draft.

People that will only read that spec would need to figure out all on their own . Is there any chance the oauth bearer draft will cover the actual use case as well or it would be too much ?

Regards

Antonio

> 
> 
> On Tue, Sep 24, 2013 at 8:17 AM, Antonio Sanso <asanso@adobe.com> wrote:
> Hi chuck,
> 
> 
> On Sep 24, 2013, at 4:57 PM, Chuck Mortimore <cmortimore@salesforce.com> wrote:
> 
>> I'm not sure I understand your point here.   I don't believe there is anything custom or special about the google implementation here vs JWT.   It looks identical to our implementation.  
>> 
>> Can you elaborate?
> 
> sure.
> 
> What is novel IMHO in the Google approach is not the bearer format , that is still JWT (or JWS in this case) but the overall scenario.
> 
> As I see OAuth 2 is really good to cover use cases where there is human interaction (so an user namely the resource owner can provider username and password to the AS but not to the client and get back the Bearer Token).
> This is obviously covered from [2] and [3] namely Authorization Code Grant and Implicit grant flow.
> 
> When there is not human interaction involved what RFC6749 offers is the already cited Resource Owner Password Credentials Grant that IMHO is a no go since it required the resource owner to share his password with the client.
> 
> The way as Google offers to solve the same situation (namely obtain , or create in this case, a bearer token without having the resource owner password) is using asymmetric cryptography. What is happening is that quoting
> 
> "During the creation of a Service Account, you will be prompted to download a private key. Be sure to save this private key in a secure location. After the Service Account has been created, you will also have access to the client_id associated with the private key."
> 
> An alternative mentioned from John Bradley previously is that clients can securely generate key pairs but in terms of security would be identical.
> 
> I hope is a bit clearer now  :)
> 
> regards
> 
> antonio
> 
> 
> [2] http://tools.ietf.org/html/rfc6749#section-4.1
> [3] http://tools.ietf.org/html/rfc6749#section-4.2
> 
>> 
>> - cmort
>> 
>> On Sep 24, 2013, at 5:57 AM, Antonio Sanso <asanso@adobe.com> wrote:
>> 
>>> Hi Brian,
>>> 
>>> thanks a lot for your pointer.
>>> 
>>> What the custom Google flow provides more than the oauth jwt bearer draft is IMHO an explicit way to build JWT without any 'human interaction' so a server can handle the construction of an expired JWT bearer token on his own.
>>> 
>>> This can of course be figured out by any implementer (as the Google folks obviously did) but it would be nice to provide this black on white on a spec IMHO
>>> 
>>> regards
>>> 
>>> Antonio
>>> 
>>> 
>>> On Sep 24, 2013, at 2:35 PM, Brian Campbell <bcampbell@pingidentity.com> wrote:
>>> 
>>>> Might this http://tools.ietf.org/html/draft-ietf-oauth-jwt-bearer be what you're looking for?
>>>> 
>>>> 
>>>> On Tue, Sep 24, 2013 at 6:08 AM, Antonio Sanso <asanso@adobe.com> wrote:
>>>> Hi *,
>>>> 
>>>> apologis to be back to this argument :).
>>>> 
>>>> Let me try to better explain one use case that IMHO would be really good to have in the OAuth specification family :)
>>>> 
>>>> At the moment the only "OAuth standard" way I know to do OAuth server to server is to use [0] namely Resource Owner Password Credentials Grant.
>>>> 
>>>> Let me tell I am not a big fun of this particular flow :) (but this is another story).
>>>> 
>>>> An arguable better way to solve this scenario is to user (and why not to standardise :S?) the method used by Google (or a variant of it) see [1].
>>>> 
>>>> Couple of more things:
>>>> 
>>>> - I do not know if Google would be interested to put some effort to standardise it (is anybody from Google lurking :) e.g.Tim Bray :D )
>>>> - I am not too familiar with IETF process. Would the OAuth WG take in consideration such proposal draft??
>>>> 
>>>> Thanks and regards
>>>> 
>>>> Antonio
>>>> 
>>>> [0] http://tools.ietf.org/html/rfc6749#section-4.3
>>>> [1] https://developers.google.com/accounts/docs/OAuth2ServiceAccount
>>>> _______________________________________________
>>>> 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
> 
>