Re: [kitten] Suggested changes for -16 Re: I-D Action: draft-ietf-kitten-sasl-oauth-16.txt

Benjamin Kaduk <kaduk@MIT.EDU> Wed, 17 September 2014 23:08 UTC

Return-Path: <kaduk@mit.edu>
X-Original-To: kitten@ietfa.amsl.com
Delivered-To: kitten@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EC9AF1A03CA for <kitten@ietfa.amsl.com>; Wed, 17 Sep 2014 16:08:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.853
X-Spam-Level:
X-Spam-Status: No, score=-5.853 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-1.652, SPF_PASS=-0.001] autolearn=ham
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 ftTnlYTgr_eC for <kitten@ietfa.amsl.com>; Wed, 17 Sep 2014 16:08:02 -0700 (PDT)
Received: from dmz-mailsec-scanner-8.mit.edu (dmz-mailsec-scanner-8.mit.edu [18.7.68.37]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4F4C31A05F5 for <kitten@ietf.org>; Wed, 17 Sep 2014 16:08:01 -0700 (PDT)
X-AuditID: 12074425-f79e46d000002583-3f-541a144f4337
Received: from mailhub-auth-1.mit.edu ( [18.9.21.35]) (using TLS with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by dmz-mailsec-scanner-8.mit.edu (Symantec Messaging Gateway) with SMTP id B6.87.09603.F441A145; Wed, 17 Sep 2014 19:07:59 -0400 (EDT)
Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) by mailhub-auth-1.mit.edu (8.13.8/8.9.2) with ESMTP id s8HN7x8d012552; Wed, 17 Sep 2014 19:07:59 -0400
Received: from multics.mit.edu (system-low-sipb.mit.edu [18.187.2.37]) (authenticated bits=56) (User authenticated as kaduk@ATHENA.MIT.EDU) by outgoing.mit.edu (8.13.8/8.12.4) with ESMTP id s8HN7uAl019745 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 17 Sep 2014 19:07:58 -0400
Received: (from kaduk@localhost) by multics.mit.edu (8.12.9.20060308) id s8HN7uh3004003; Wed, 17 Sep 2014 19:07:56 -0400 (EDT)
Date: Wed, 17 Sep 2014 19:07:56 -0400
From: Benjamin Kaduk <kaduk@MIT.EDU>
To: Bill Mills <wmills_92105@yahoo.com>
In-Reply-To: <1410912993.76700.YahooMailNeo@web142806.mail.bf1.yahoo.com>
Message-ID: <alpine.GSO.1.10.1409162350510.21571@multics.mit.edu>
References: <20140916234519.22685.47362.idtracker@ietfa.amsl.com> <1410912249.50514.YahooMailNeo@web142801.mail.bf1.yahoo.com> <1410912993.76700.YahooMailNeo@web142806.mail.bf1.yahoo.com>
User-Agent: Alpine 1.10 (GSO 962 2008-03-14)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrBIsWRmVeSWpSXmKPExsUixCmqrOsvIhVisPmKjsXRzatYLL51XWd2 YPJYsuQnk8esWYeZApiiuGxSUnMyy1KL9O0SuDLezpjMVvBPs2L66y1sDYzbFbsYOTkkBEwk TnT0sUHYYhIX7q0Hsrk4hARmM0k0d/xngXA2MkpcPPOPHcI5xCTRO2EtK0iLkEADo8TSJRwg NouAtsSUdVvZQWw2ARWJmW82Ao3i4BARUJdo/u4NEmYGMr+decMIYgsLpEr86msHK+EU8JRo 2WMJEuYVcJRY1PkHau9uRokpe96BrRIV0JFYvX8KC0SRoMTJmU9YIGZqSSyfvo1lAqPgLCSp WUhSCxiZVjHKpuRW6eYmZuYUpybrFicn5uWlFula6OVmluilppRuYgQFKruL6g7GCYeUDjEK cDAq8fAe4JUKEWJNLCuuzD3EKMnBpCTK+4sVKMSXlJ9SmZFYnBFfVJqTWnyIUYKDWUmE1/O9 ZIgQb0piZVVqUT5MSpqDRUmcd9MPvhAhgfTEktTs1NSC1CKYrAwHh5IEr5Mw0FDBotT01Iq0 zJwShDQTByfIcB6g4f4gNbzFBYm5xZnpEPlTjLoc6zq/9TMJseTl56VKifOmgxQJgBRllObB zYElmFeM4kBvCfM6g1TxAJMT3KRXQEuYgJac7REDWVKSiJCSamB0n7XDik26z4fhxId6UY6q U1ecnHUa+20Vy+Uvrm33Vir4Xfo+v+PWLJfpqzzm5fv+FPY2Oq5QasfcqZO6cmlIN/OK9RMi XdqqHL/a5SrpO3JcrIiI8K4Ry33Gp8EQp3Zw25Lngqz/dM3K13w/37jPe06/X4bb9vsvrm2J nZvVYFDE8T/jiBJLcUaioRZzUXEiAFzvAKILAwAA
Archived-At: http://mailarchive.ietf.org/arch/msg/kitten/143z_6FkzB0sgw0iiuN8iB3t1DQ
Cc: "kitten@ietf.org" <kitten@ietf.org>
Subject: Re: [kitten] Suggested changes for -16 Re: I-D Action: draft-ietf-kitten-sasl-oauth-16.txt
X-BeenThere: kitten@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Common Authentication Technologies - Next Generation <kitten.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/kitten>, <mailto:kitten-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/kitten/>
List-Post: <mailto:kitten@ietf.org>
List-Help: <mailto:kitten-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/kitten>, <mailto:kitten-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 Sep 2014 23:08:05 -0000

On Tue, 16 Sep 2014, Bill Mills wrote:

> Resending with a more useful subject line.
>
>
>
> On Tuesday, September 16, 2014 5:04 PM, Bill Mills <wmills_92105@yahoo.com> wrote:
>
>
> -16 is submitted, and there is one suggested change (which I was

Thanks.

The new text for the "host" key/value has a comma splice.

In 4.3, there is an added message from the server.  Is that intended to
replace the previous value?

> supposed to have added in already and blew it), which is to replace
> section 3.2.2 with the text (farther) below.
> My comments on the suggested text:

I think I am confused or missed an email or something; I don't remember
why you were supposed to add this text.

> #1)  I don't think the dynamic registration stuff is baked enough to
> want to pull that in to the "oauth-configuration" definition.  I don't
> want to pull it in because I don't think dynamic registration is
> required for SASL/OAUTH (as evidenced by the Google and Outlook.com
> implementations.

Even in the new text it is OPTIONAL, which would seem consistent with the
lack of requirement.

> #2)  I didn't really want to make all of the OpenID elements required
> but I don't have a strong opinion here, my initial intent was to use the
> OpenID Discovery format as an existing format to be re-used here but
> leave it flexible.

The text in -16 seems more consistent with that goal than the text below.

> #3)  I am against recommending scope names at all in any way.  I would
> not include the last sentence of paragraph 5 below and strike the scope
> names.

I don't have any position on the use or inclusion of scopes; I am only
concerned that if someone concludes they need to use a scope, they have
some sense of how to do so/what to choose.  It seems that this is a matter
for generic OAuth specifications, not this document, most likely.

> New text for 3.2.2:
> -----------------------
> 3.2.2.  Server Response to Failed Authentication
>
>
> For a failed authentication the server returns a JSON [RFC4627]
> formatted error result, and fails the authentication.  The error
> result consists of the following values:
>
>
> status (REQUIRED):  The authorization error code.  Valid error
> codes are defined in the IANA "OAuth Extensions Error Registry"
> specified in the OAuth 2 core specification.
>
>
> scope (OPTIONAL):  An OAuth scope which is valid to access the
> service.  This may be empty which implies that unscoped tokens
> are required, or a scope value.  If a scope is specified then a
> single scope is preferred, use of a space separated list of
> scopes is NOT RECOMMENDED.
>
>
> oauth-configuration (OPTIONAL):  The URL for a document following
> the OpenID Provider Configuration Information schema, as
> described in Section 3 of the OpenID Connect Discovery
> [OpenID.Discovery], that is appropriate for the user.  The
> server MAY return different URLs for users from different
> domains and a client MUST NOT cache a single returned value and
> assume it applies for all users/domains that the server
> suports.  The returned discovery document MUST have all data
> elements required by the OpenID Connect Discovery specification

It seems slightly redundant to say that it MUST have all the required
features of the thing that it complies to, but maybe the extra emphasis is
needed.

-Ben

> populated.  In addition, the discovery document MUST contain
> the 'registration_endpoint' element to learn about the endpoint
> to be used with the Dynamic Client Registration protocol
> [I-D.ietf-oauth-dyn-reg] to obtain the minimum number of
> parameters necessary for the OAuth protocol exchange to
> function.  Authorization servers MUST implement the
> authorization code grant and other grant types MAY be
> supported.  Furthermore, authorization servers MUST implement
> the ability to issue refresh tokens for use with native
> applications to benefit from an abbreviated protocol exchange.
> The use of the 'offline_access' scope, as defined in
> [OpenID.Core] is RECOMMENDED to give clients the capability to
> explicitly request a refresh token.
>
>
> If the resource server provides a scope (as part of the element of
> the configuration payload) then the client MUST always request
> scoped tokens from the token endpoint.  This specification
> RECOMMMENDs the use of the following scopes:
>
> imap:  The 'imap' scope value is used to interact with IMAP mail
> servers.
>
> pop3:  The 'pop3' scope value is used to interact with POP3 mail
> servers.
>
> xmpp:  The 'xmpp' scope value is used to interact with XMPP servers.
>
>
>
> If the resource server provides no scope to the client then the
> client SHOULD presume an empty scope (unscoped token) is needed.
>
>
> Since clients may interact with a number of application servers,
> such as email servers and XMPP servers, they need to have a way
> to determine whether dynamic client registration has been performed
> already and whether an already available refresh token can be
> re-used to obtain an access token for the desired resource server.
> This specification RECOMMENDs that a client uses the information in
> the 'issue' element to make this determination.
> -----------------------
>
>
> I think we're getting very close :)
>
> -bill
>
>
>