Re: [GNAP] [Txauth] Revisiting the photo sharing example (a driving use case for the creation of OAuth)

Justin Richer <jricher@mit.edu> Thu, 13 August 2020 15:52 UTC

Return-Path: <jricher@mit.edu>
X-Original-To: txauth@ietfa.amsl.com
Delivered-To: txauth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1B8B33A0DFF for <txauth@ietfa.amsl.com>; Thu, 13 Aug 2020 08:52:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.895
X-Spam-Level:
X-Spam-Status: No, score=-1.895 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_FONT_LOW_CONTRAST=0.001, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WIGNwLl4Pa74 for <txauth@ietfa.amsl.com>; Thu, 13 Aug 2020 08:52:14 -0700 (PDT)
Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4D5983A0DFC for <txauth@ietf.org>; Thu, 13 Aug 2020 08:52:13 -0700 (PDT)
Received: from [192.168.1.18] (static-71-174-62-56.bstnma.fios.verizon.net [71.174.62.56]) (authenticated bits=0) (User authenticated as jricher@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 07DFq94U007788 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Aug 2020 11:52:09 -0400
From: Justin Richer <jricher@mit.edu>
Message-Id: <AEFEED0A-6DE8-4770-9304-B48FDE6F1E82@mit.edu>
Content-Type: multipart/alternative; boundary="Apple-Mail=_0F40587A-66B2-4AB0-8427-5B79337819E7"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.1\))
Date: Thu, 13 Aug 2020 11:52:08 -0400
In-Reply-To: <CAD9ie-uEDzF08RZJMwRq8B0nNYqoE-vfWCyace5GFL+cqRJMvA@mail.gmail.com>
Cc: Fabien Imbault <fabien.imbault@gmail.com>, Denis <denis.ietf@free.fr>, "txauth@ietf.org" <txauth@ietf.org>, Francis Pouatcha <fpo@adorsys.de>, Benjamin Kaduk <kaduk@mit.edu>
To: Dick Hardt <dick.hardt@gmail.com>
References: <c5f40413-93b8-2e8c-0a3e-14a07cd27ad0@free.fr> <ECF217AE-1D67-4EAE-AE51-531F6EE6E222@mit.edu> <583aedda-ae41-1f3e-6623-671f2197614c@free.fr> <20200804185313.GT92412@kduck.mit.edu> <CAJot-L2hykst2vFxcwLn_auDMMaw7psVwsKFHKhQp9DA49ydWg@mail.gmail.com> <A4DC7B4E-FD34-454F-9396-B971CF5D57A4@mit.edu> <CAD9ie-tKEp+PV3F4p84Zbu7Kd1dQutawnzHybt8cmg-XniLYLQ@mail.gmail.com> <CAOW4vyN4ifCXmk1XAyGK4cEfY1jTp6+AWOL-uNjEpVcp0Ku0UQ@mail.gmail.com> <CAD9ie-ugjNevqKAPWFjKqGMMpCvX6yyC=M4bs9naenJf-k9uqg@mail.gmail.com> <CAOW4vyOrXstAvc3eKbsUh+gOPT-79nevR8nT5FyKTe+aAQ1pSw@mail.gmail.com> <CAD9ie-sZbxBKuLgC3Bu+yzJATOETdto=S83B6FOmC3gFJWz1jw@mail.gmail.com> <1b4a6a43-4c57-92b4-f442-2da58a2d0d70@free.fr> <CAD9ie-s5_tOZhE57tj1b+XaqDw+D43n_wStOPSmi7cioG2Z+gw@mail.gmail.com> <6678f154-31e7-2d01-2002-f3600f589c96@free.fr> <CD0AE256-7868-4B00-9235-300CB55506BC@mit.edu> <CAM8feuS0K3OTmNY6fzYKOtZeh1_6r_+UhW3uBzT96agw56akRA@mail.gmail.com> <08DEE9CF-F828-4221-AD51-B10AA1B2E9F2@mit.edu> <CAM8feuS8xZTsTrEuumRGgOhUfSvyJshhD9z8AgH-RZb2j2oerg@mail.gmail.com> <CAD9ie-uEDzF08RZJMwRq8B0nNYqoE-vfWCyace5GFL+cqRJMvA@mail.gmail.com>
X-Mailer: Apple Mail (2.3608.120.23.2.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/txauth/Kb28BikOLlSAVMwhV95zppPxAdI>
Subject: Re: [GNAP] [Txauth] Revisiting the photo sharing example (a driving use case for the creation of OAuth)
X-BeenThere: txauth@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <txauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/txauth>, <mailto:txauth-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/txauth/>
List-Post: <mailto:txauth@ietf.org>
List-Help: <mailto:txauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/txauth>, <mailto:txauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 13 Aug 2020 15:52:16 -0000

That’s true when the front channel (redirects between parties) is used as the method for interaction, but the point I was making is that that method isn’t going to be the only way that interaction happens. I don’t think it’s helpful to conflate other interaction mechanisms that don’t use redirections with URIs and query parameters as “front channel” here. The security models and surrounding assumptions are very different. 

 — Justin

> On Aug 13, 2020, at 11:40 AM, Dick Hardt <dick.hardt@gmail.com> wrote:
> 
> I've often thought of front channel as an interaction visible to the user, and back channel as being between two software systems, in this case, the client and GS.
> 
> Consent from the user is the front channel, independent of how the user gets to the GS, or if an app is part of the GS, or is the GS.
> ᐧ
> 
> On Thu, Aug 13, 2020 at 8:34 AM Fabien Imbault <fabien.imbault@gmail.com <mailto:fabien.imbault@gmail.com>> wrote:
> Indeed.
> 
> On Thu, Aug 13, 2020 at 5:33 PM Justin Richer <jricher@mit.edu <mailto:jricher@mit.edu>> wrote:
> A point I forgot to make below: the “front channel” isn’t going to exist for a lot of systems anymore, where interaction happens through an app or communication happens through some separate communication fabric. So there are cases, just like in OAuth 2, where there’s only a “back channel” and the other aspect of the AS never comes into play.
> 
>  — Justin
> 
>> On Aug 13, 2020, at 11:17 AM, Fabien Imbault <fabien.imbault@gmail.com <mailto:fabien.imbault@gmail.com>> wrote:
>> 
>> Without surprise, +1 to differentiate between the back-channel and the front-channel.
>> 
>> On Thu, Aug 13, 2020 at 5:15 PM Justin Richer <jricher@mit.edu <mailto:jricher@mit.edu>> wrote:
>> Denis, I want to focus on one point here:
>> 
>>> In OAuth 2.0, the user consent is performed by the AS using an authorize endpoint where the user consent is solicited and captured.
>>> 
>>> Since a user, with no prior experience, shall first connect to a RS to perform an operation, the user consent shall be performed by the RS, 
>>> instead of the AS. This means that we should define a "consent" endpoint at the RS.
>> 
>> One of my goals with XYZ’s design was to be able to separate the interaction with the user from the web-based flows for the delegation protocol, and that aspect is enshrined in the GNAP charter as well.
>> 
>> It points to the reality that there are two different aspects of the traditional AS that we might need to talk about separately now. One deals with delegation, issuing tokens, returning data directly to the client (not through a separate API, since that’s the RS), and other back-channel stuff. The other aspect deals with interacting with the user and/or resource owner. 
>> 
>> We already saw bits of this in OAuth 2: the AS is defined by the pair of the token endpoint and authorization endpoint, each filling the respective roles above. What if we formally separate these? Strawman names:
>> 
>> 
>> Delegation Server (DS) - handles the back-channel stuff
>> 
>> Interaction Server (IS) - handles the front-channel stuff
>> 
>> 
>>  — Justin
>> 
>> -- 
>> TXAuth mailing list
>> TXAuth@ietf.org <mailto:TXAuth@ietf.org>
>> https://www.ietf.org/mailman/listinfo/txauth <https://www.ietf.org/mailman/listinfo/txauth>
>