Re: [OAUTH-WG] Assertion flow: please add optional refresh_token in response

Torsten Lodderstedt <torsten@lodderstedt.net> Tue, 15 June 2010 15:54 UTC

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 7C84B28C101 for <oauth@core3.amsl.com>; Tue, 15 Jun 2010 08:54:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.948
X-Spam-Level:
X-Spam-Status: No, score=-0.948 tagged_above=-999 required=5 tests=[AWL=-1.300, 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 XMPjrKxoEXj6 for <oauth@core3.amsl.com>; Tue, 15 Jun 2010 08:54:45 -0700 (PDT)
Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.31.40]) by core3.amsl.com (Postfix) with ESMTP id 5D54828C12C for <oauth@ietf.org>; Tue, 15 Jun 2010 08:54:45 -0700 (PDT)
Received: from [80.187.100.231] (helo=[10.170.218.214]) by smtprelay02.ispgateway.de with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.68) (envelope-from <torsten@lodderstedt.net>) id 1OOYTM-0002U1-Gj; Tue, 15 Jun 2010 17:54:48 +0200
References: <AANLkTil1viRqVgwJzmq7N1W21TPeT5RuclBF5DmPvVVM@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E72343B3EBB68C9@P3PW5EX1MB01.EX1.SECURESERVER.NET> <AANLkTilRNaMzu9018HcZLb_j-vKbh4Mtl1LR_BYtnro-@mail.gmail.com> <A3F81FEE-7C52-4DD1-8261-C86FAFF3E1D5@gmail.com> <AANLkTilxAaLgOZwCDXnCvTII6Q82cCs7aajL2pxb7ij3@mail.gmail.com>
Message-Id: <55E1F9D6-71EC-40CE-8103-790E823B8D58@lodderstedt.net>
From: Torsten Lodderstedt <torsten@lodderstedt.net>
To: Andrew Arnott <andrewarnott@gmail.com>
In-Reply-To: <AANLkTilxAaLgOZwCDXnCvTII6Q82cCs7aajL2pxb7ij3@mail.gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail-35--190179003"
Content-Transfer-Encoding: 7bit
X-Mailer: iPhone Mail (7E18)
Mime-Version: 1.0 (iPhone Mail 7E18)
Date: Tue, 15 Jun 2010 17:54:05 +0200
X-Df-Sender: 141509
Cc: "OAuth WG (oauth@ietf.org)" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Assertion flow: please add optional refresh_token in 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: Tue, 15 Jun 2010 15:54:47 -0000

Wouldn't it be an alternative solution, if the AS first tries to  
authenticate the user using SPNEGO within the Web Server flow? This  
should work in the inhouse scenario. If it fails, it can fall back to  
username/password auth..

Thoughts?

regards,
Torsten.



Am 15.06.2010 um 17:19 schrieb Andrew Arnott <andrewarnott@gmail.com>:

> Hi Dick,
>
> Responses inline.
>
> On Tue, Jun 15, 2010 at 7:12 AM, Dick Hardt <dick.hardt@gmail.com>  
> wrote:
> Why can the client app access the AS to get an access token but not  
> the corporate network to get a new assertion?
>
> The corporate network where the AD lives is behind a firewall,  
> whereas the AS is on the public Internet.  So when the client is on  
> the public Internet, the AD is not available but the AS is.  Also,  
> the resource server is on the public Internet (probably obvious).
>
> How does the client app get the assertion to begin with? How did  
> delegation from the user happen?
>
> There are two possible scenarios here, which I will outline and  
> inject the steps in each scenario:
> The client app is initially launched while on the corporate network
> The client sends an HTTP request to an endpoint on a corpnet AS(1)  
> (directly -- not through a browser), which sniffs the request for  
> NTLM credentials (or however Windows auth does it) and if present  
> immediately responds with an authorization code (a.k.a. verification  
> code) rather than prompting the user for permission.  This is  
> considered reasonable in this application because the client is  
> already running on a trusted machine and the privacy ramifications  
> are minimal.
> The client app exchanges the authorization code for a refresh token  
> and an access token at the AS(2) token endpoint, which lies outside  
> the corporate firewall, and can thereby refresh access tokens when  
> the client is off corpnet.
> All resource requests use an OAuth access token to gain access.
> The client app is initially launched off the corporate network.
> This just uses the standard user agent or web server flows,  
> including prompting the user for authorization.
>
> Would you elaborate more on the use case so that we can understand  
> the full trust model?
>
> Perhaps my description above covers this question.  I'll just add  
> that the goal is to make the authorization process as painless (or  
> altogether absent from the user's point of view) as possible.  We're  
> also considering providing customized app downloads to each user  
> based on the Windows auth user that downloads the .zip file, such  
> that the client app includes a file containing the authorization  
> code encoded for that particular user.
>
>
> The assertion flow was intended for autonomous clients rather than  
> user delegation -- hence Brian's response and mine that this is a  
> different flow if the access token is for user delegation.
>
> That makes sense.
>
>
> Are you envisioning the client makes a call to AD to get an  
> assertion where the call is automagically authenticated as the user  
> by NTLM?
>
> Perhaps my scenarios above clarified this. My client never  
> explicitly calls AD though.  Whether that happens implicitly by the  
> Windows platform, I don't know.
>
> What do you envision being the relationship between the AS and AD?  
> What authority does the AS have? How long is the refresh token valid  
> for?
>
> The refresh token would be valid until the user logged into the AS  
> (or RS perhaps) to revoke it. The AD is altogether unaware of the  
> AS, but the AS trusts the AD to have authenticated the user and  
> trusts the AD assertion.
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth