Review of draft-wmills-oauth-lrdd-06.txt

Jan Algermissen <jan.algermissen@nordsc.com> Fri, 11 January 2013 07:35 UTC

Return-Path: <jan.algermissen@nordsc.com>
X-Original-To: link-relations@ietfa.amsl.com
Delivered-To: link-relations@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0A65721F8A89 for <link-relations@ietfa.amsl.com>; Thu, 10 Jan 2013 23:35:17 -0800 (PST)
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.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FH410jDm3HrI for <link-relations@ietfa.amsl.com>; Thu, 10 Jan 2013 23:35:15 -0800 (PST)
Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.17.8]) by ietfa.amsl.com (Postfix) with ESMTP id D580421F8689 for <link-relations@ietf.org>; Thu, 10 Jan 2013 23:35:14 -0800 (PST)
Received: from [172.20.10.2] (tmo-106-125.customers.d1-online.com [80.187.106.125]) by mrelayeu.kundenserver.de (node=mreu2) with ESMTP (Nemesis) id 0Lgt3C-1TEEpq2Rgk-00oRcm; Fri, 11 Jan 2013 08:35:13 +0100
From: Jan Algermissen <jan.algermissen@nordsc.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Subject: Review of draft-wmills-oauth-lrdd-06.txt
Date: Fri, 11 Jan 2013 08:35:08 +0100
Message-Id: <CE3AE558-A6D8-4A6D-B0C1-F5CC7F783B40@nordsc.com>
To: wmills_92105@yahoo.com, "link-relations@ietf.org" <link-relations@ietf.org>
Mime-Version: 1.0 (Mac OS X Mail 6.2 \(1499\))
X-Mailer: Apple Mail (2.1499)
X-Provags-ID: V02:K0:qXMUCdc36WX2ksVBZqZOFSeEjl8zwCVdUVXWCYPTH3v y9n0UAmXZiCWjMFdx03D+3G4F4hcH/OQ5StzN7D5KoY6HKZX1Q M5R7qg/Fn9R720EcqJmuPCYAF332BBHFGV+uAJifyhHj4S0R4E RNUzGjBdKYOb3fO79DKz1jZzbimwq4d4xnYwAMTdc5K3atJoQV mY6C1Vk3h2Lh35+BZFLenR60jTAMoKGqigDk4QhDbkqruCc+w0 9tW/fZZq1sey8fJDJtJphchBR4Cm2SKIZTG0weBZeZGD5YTjvr tC0BGyY7NQw76WYb096SjlFhtr7jipRRoOKk+TLO5zcuigZ0Bt a3Ab9VnsUenuLU8UCoBmpkd0UZUEL//gARUzDFb2lq8aX3tOZX BcySy9EliRX+A==
Cc: Nevil Brownlee <rfc-ise@rfc-editor.org>
X-BeenThere: link-relations@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: <link-relations.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/link-relations>, <mailto:link-relations-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/link-relations>
List-Post: <mailto:link-relations@ietf.org>
List-Help: <mailto:link-relations-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/link-relations>, <mailto:link-relations-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 11 Jan 2013 07:35:17 -0000

[Resending this and added some comments on decoupling at the end]

Hi,

this is a review of draft-wmills-oauth-lrdd-06.txt

Jan


Overall:

"link type" -> "link relation type"


1. Introduction

I don't think that the I-D needs to reference "Web Host Metadata" and "Web Finger" specs. The means of using the relation types is orthogonal to their specification.

3. OAuth 2 Link Types  (-> "Link Relation Types" :-)

Consider s/endpoint/entrypoint/g - I know that OAuth uses 'endpoint', but the proper term on the Web would really be 'entry point'

3.1 [Change headline to:] The 'oauth2-authorize' Link Relation Type

Suggested rewording:

"This link relation type indicates a resource that represents an OAuth 2 authorization entry point to be used
  for user authentication/authorization to grant access to a protected
  resource."


3.2 [Change headline to:] The 'oauth2-token' Link Relation Type

Suggested rewording:

"This link relation type indicates a resource that represents an OAuth 2 token entry point to be used for obtaining
tokens to access protected services.  This link type has two link-extensions: ...."


4.1 - 4.3

Likewise 3.1 and 3.2 change the headline and text. What is to be defined here is not the endpoint (erm, entry point) but the link relation type.


In addition, I second Julian's comments made here:

http://www.ietf.org/mail-archive/web/link-relations/current/msg00418.html

One final remark,

Given that there are a number of OAuth-ish protocols existing and emerging I think it would be a good idea to investigate decoupling the link relation types from these protocols - if possible. An 'authorization endpoint' likely has the same semantic across all of those protocols.

If clients can determine the actual variant at runtime, *after* discovering the entry point resources we would not need to register virtualy the same link relation types over and over again for all the protcols.

Please do take a look whether this is possible. (Your I-D does this already for OAuth 1 and 2)

UPDATE:

What I mean is that the semantics of link relations for, for example, the authorization resource are the same for any OAuth-ish protocol. Ther eis no need to provide different link relation types for OAuth 1.0a and 2.

For a client (no matter whether 1.0a or 2 ... or maybe OZ[1]) it will be sufficient to look for an 'authorization' resource. The differentiation of the particular protocols should is a runtime issue. There is no need to duplicate the semantics for each new OAutish protocol that comes around.

To illustrate: likewise you would not need new 'service' or 'edit' link relations for each new AtomPub version that comes around. Client and server will figure tat out at runtime.

Such decoupling greatly improves the maintainability and evolvability of specifications[2].

Hence, I suggest to remove the differentiation between 1.0a and 2 where possible and to specifiy the link relations in a more genral sense. For example:

"The 'authorize' Link Relation Type

Suggested rewording:

"This link relation type indicates a resource that represents an authorization entry point to be used
  for user authentication/authorization to grant access to a protected
  resource.""

That way Link: </auth>;rel=authorize will work for all OAuths, present and future ones. The same goes for all the other link relation types.

Clearer now?

Jan


[1] http://github.com/hueniverse/oz
[2] http://www.w3.org/TR/webarch/#orthogonal-specs