Re: [OAUTH-WG] Last Call: <draft-ietf-oauth-device-flow-09.txt> (OAuth 2.0 Device Flow for Browserless and Input Constrained Devices) to Proposed Standard

Brian Campbell <bcampbell@pingidentity.com> Wed, 30 May 2018 22:49 UTC

Return-Path: <bcampbell@pingidentity.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 DC77612D875 for <oauth@ietfa.amsl.com>; Wed, 30 May 2018 15:49:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=pingidentity.com
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 8MLiwHno_hi5 for <oauth@ietfa.amsl.com>; Wed, 30 May 2018 15:48:59 -0700 (PDT)
Received: from mail-io0-x229.google.com (mail-io0-x229.google.com [IPv6:2607:f8b0:4001:c06::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7F381127286 for <oauth@ietf.org>; Wed, 30 May 2018 15:48:54 -0700 (PDT)
Received: by mail-io0-x229.google.com with SMTP id e15-v6so15201910iog.1 for <oauth@ietf.org>; Wed, 30 May 2018 15:48:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pingidentity.com; s=gmail; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=vqrAMVH8SyUF7keRndeLVwkCqQX5PKEcmlMimJc4UAY=; b=WvsTRA88IrTJhBM/QZ20P+1f+AWe0lx0KZLoXCQEKGqMw4M4gSb+LY3QaOLW5ii6CP vevBTJqR8i4yOAX4H1as5nsQWFkE0rsgqH3BM9lEp/XZIIptjTojMFoZL3YP8KxjXlT/ 3uSywhfzOVHy6i6uOq8kahJWu5e9Xto27g4oQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=vqrAMVH8SyUF7keRndeLVwkCqQX5PKEcmlMimJc4UAY=; b=TU4XR8amuTQBtIUn6x1ebn9q00KCEN9toRlOQyv0HM/8WM4be+upjDVMXhwc2pBWkV HgT9psVogk88x0UdqXI5xlr0oOVMb0UocF0kaJSJmCz1O/R5foFQh0fkQNx6uhsdwx45 3W/wITjdmKeyeFgOUxUblG62sYz1pq11Ti1T66mTf2hHE+4H8CfZCOyF6JmJUZSnuxvv rg2GeWq7+r8tXEh/OqbNFU3Zzctodh7U9TxttJ7ITFaoWN3KDO+7ZQSqsj6P49n7jaKD yzMkus1XhFxGAyggSZArTF1ZJ9/U5kWDUWBCkLK5eNySKTjK129CO6ZHKBiRwPtXLJf2 0A4g==
X-Gm-Message-State: ALKqPwdkw/b87qemc/fkZO+aHe8nIhoVxKITuz8XdepopYy1NLB4TgFz UaEr5sHL0YGBvz0eT1zlqRKZHzkAHhwwIiO61Xv3WvhoTql9qJBF97RKr9A9GXh5mHHprk7So/U xUHWW0Gh1PK2eAg==
X-Google-Smtp-Source: ADUXVKIkMUewLlWNSF06tuj2AQRiYW2FwMmo3ySQwxrE5XwwUU5BARDcbDWLn3vRxxfo2bBXDHlqMIfP6NcgkSj9ka0=
X-Received: by 2002:a6b:630d:: with SMTP id p13-v6mr3850482iog.17.1527720533583; Wed, 30 May 2018 15:48:53 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:a02:144a:0:0:0:0:0 with HTTP; Wed, 30 May 2018 15:48:22 -0700 (PDT)
In-Reply-To: <CAAP42hBznvLPe8JLy1HYxFQ2bWxGW5mbpa8hcAv6K8jM3EkQxw@mail.gmail.com>
References: <152763243091.27698.7723369435827878398.idtracker@ietfa.amsl.com> <CAEqOSkfwdn-+1zFBgpgk3Mr6HYy-OvKNdVRKZtdP9c6HVHC60Q@mail.gmail.com> <CAAP42hAA8FC8B8bhDdCAg=5TnDjZXr76UiMLNABEG23GRFdeyQ@mail.gmail.com> <CAEqOSkcquQ4GXhhOV30TsOEYSV5fuG_PtO7TFo_pE_zVAJd0zA@mail.gmail.com> <CAAP42hBznvLPe8JLy1HYxFQ2bWxGW5mbpa8hcAv6K8jM3EkQxw@mail.gmail.com>
From: Brian Campbell <bcampbell@pingidentity.com>
Date: Wed, 30 May 2018 16:48:22 -0600
Message-ID: <CA+k3eCQ5xxj4nCUBvQn1QwUEL-ouLiZgean02rFwEjC6dcz9mw@mail.gmail.com>
To: William Denniss <wdenniss=40google.com@dmarc.ietf.org>
Cc: Andrew Sciberras <andrewsciberras@pingidentity.com>, draft-ietf-oauth-device-flow@ietf.org, oauth-chairs@ietf.org, ietf@ietf.org, IETF-Announce <ietf-announce@ietf.org>, oauth <oauth@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000b8872f056d742716"
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/SSHbwpw7bRqym0uQsPN27djZs8U>
Subject: Re: [OAUTH-WG] Last Call: <draft-ietf-oauth-device-flow-09.txt> (OAuth 2.0 Device Flow for Browserless and Input Constrained Devices) to Proposed Standard
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.22
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: <https://mailarchive.ietf.org/arch/browse/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: Wed, 30 May 2018 22:49:02 -0000

I realize this is somewhat pedantic but I don't think referencing 4.1.2.1
works given how RFC 6749 set things up. Rather I believe that the device
flow needs to define and register "access_denied" as a valid token endpoint
response error code (it's not a token endpoint response error per RFC 6749
sec 5.2 nor has it been registered https://www.iana.org/assignmen
ts/oauth-parameters/oauth-parameters.xhtml#extensions-error).  Also
invalid_grant is a a token endpoint response error from RFC 6749 sec 5.2 so
that reference is needed and appropriate. RFC 6749 Sec 4.1.2.1
<https://tools.ietf.org/html/rfc6749#section-4.1.2> defines errors returned
from the authorization endpoint. But the device flow errors are from the
token endpoint.






On Wed, May 30, 2018 at 4:27 PM, William Denniss <
wdenniss=40google.com@dmarc.ietf.org> wrote:

> Hi Andrew,
>
> On Wed, May 30, 2018 at 3:18 PM, Andrew Sciberras <
> andrewsciberras@pingidentity.com> wrote:
>
>> Hi William
>>
>> You are right that the document explicitly indicates which error codes
>> may be returned. However I think it's ambiguous as to which error within
>> Section 5.2 of RFC6749 would apply in the scenario of a user not granting
>> access.
>>
>> I think that this ambiguity is highlighted further by the Google
>> implementation (https://developers.google.com
>> /identity/protocols/OAuth2ForDevices#step-6-handle-
>> responses-to-polling-requests
>> <https://developers..google.com/identity/protocols/OAuth2ForDevices#step-6-handle-responses-to-polling-requests>)
>> not adhering to the explicit statement of the document and electing to use
>> a (more appropriate) error code that exists outside of section 5.2.
>>
>>
>
> Oh, I see what you mean now. Yes, given this is an authorization request,
> not a token request, the errors from Section 4.1.2.1
> <https://tools.ietf.org/html/rfc6749#section-4.1.2> are more relevant.
>
> I believe it was the authors intention to reference that set of errors, so
> I will plan to update the doc to reference 4..1.2.1 instead.  Good catch!
> Thank you.
>
>
>>
>> On Thu, May 31, 2018 at 8:06 AM, William Denniss <wdenniss@google.com>
>> wrote:
>>
>>> Hi Andrew,
>>>
>>> On Wed, May 30, 2018 at 2:35 PM, Andrew Sciberras <andrewsciberras@pingidentity.com> wrote:
>>>
>>> Hello
>>>>
>>>>
>>>> Do we feel that the document should be more specific in addressing how
>>>> the authorization service should respond to a device access token request
>>>> when the user has refused to grant access to the device?
>>>>
>>>>
>>>> The document currently indicates in section 3.5 that a success response
>>>> defined in section 5.1 of RFC6749, an error as defined in section 5.2 of
>>>> RFC6749 (this includes invalid_request, invalid_client, invalid_grant,
>>>> unauthorized_client, unsupported_grant_type, and invalid_scope), or a new
>>>> device flow error code (authorization_pending, slow_down, and
>>>> expired_token) may be returned in a response to a device token request.
>>>>
>>>>
>>>>
>>>> It doesn’t seem that any of these options are appropriate to convey
>>>> that a user has refused to grant access to the device.
>>>>
>>>>
>>>> The Google implementation appears to be using the access_denied error
>>>> code from section 4.1.2.1 of RFC6749. While this would seem to be the most
>>>> suitable error code, the document does not explicitly indicate it as a
>>>> permitted response.
>>>>
>>>
>>> Actually, this is indicated explicitly I believe:
>>>
>>> If the user has approved the grant, the token endpoint responds with a
>>> success response defined in Section 5.1 of [RFC6749]; *otherwise it
>>> responds with an error, as defined in Section 5.2 of [RFC6749].*
>>>
>> In addition to the error codes defined in Section 5.2 of [RFC6749], the
>>> following error codes are specific for the device flow:
>>>
>>>
>>>>
>>>> I believe that clarifying the response error code in the condition
>>>> where a user has refused access to the client would be beneficial, remove
>>>> ambiguity, and promote greater consistency across implementations.
>>>>
>>>>
>>>> Regards
>>>>
>>>> Andrew Sciberras
>>>>
>>>>
>>>> On Wed, May 30, 2018 at 8:20 AM, The IESG <iesg-secretary@ietf.org>
>>>> wrote:
>>>>
>>>>>
>>>>> The IESG has received a request from the Web Authorization Protocol WG
>>>>> (oauth) to consider the following document: - 'OAuth 2.0 Device Flow
>>>>> for
>>>>> Browserless and Input Constrained Devices'
>>>>>   <draft-ietf-oauth-device-flow-09.txt> as Proposed Standard
>>>>>
>>>>> The IESG plans to make a decision in the next few weeks, and solicits
>>>>> final
>>>>> comments on this action. Please send substantive comments to the
>>>>> ietf@ietf.org mailing lists by 2018-06-12. Exceptionally, comments
>>>>> may be
>>>>> sent to iesg@ietf.org instead. In either case, please retain the
>>>>> beginning of
>>>>> the Subject line to allow automated sorting.
>>>>>
>>>>> Abstract
>>>>>
>>>>>
>>>>>    This OAuth 2.0 authorization flow for browserless and input
>>>>>    constrained devices, often referred to as the device flow, enables
>>>>>    OAuth clients to request user authorization from devices that have
>>>>> an
>>>>>    Internet connection, but don't have an easy input method (such as a
>>>>>    smart TV, media console, picture frame, or printer), or lack a
>>>>>    suitable browser for a more traditional OAuth flow.  This
>>>>>    authorization flow instructs the user to perform the authorization
>>>>>    request on a secondary device, such as a smartphone.  There is no
>>>>>    requirement for communication between the constrained device and the
>>>>>    user's secondary device.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> The file can be obtained via
>>>>> https://datatracker.ietf.org/doc/draft-ietf-oauth-device-flow/
>>>>>
>>>>> IESG discussion can be tracked via
>>>>> https://datatracker.ietf.org/doc/draft-ietf-oauth-device-flow/ballot/
>>>>>
>>>>>
>>>>> No IPR declarations have been submitted directly on this I-D.
>>>>>
>>>>>
>>>>> The document contains these normative downward references.
>>>>> See RFC 3967 for additional information:
>>>>>     rfc6819: OAuth 2.0 Threat Model and Security Considerations
>>>>> (Informational - IETF stream)
>>>>>     draft-recordon-oauth-v2-device: OAuth 2.0 Device Profile
>>>>>  (None - )
>>>>>     rfc6755: An IETF URN Sub-Namespace for OAuth (Informational - IETF
>>>>> stream)
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> OAuth mailing list
>>>>> OAuth@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>>
>>>>
>>>>
>>>> *CONFIDENTIALITY NOTICE: This email may contain confidential and
>>>> privileged material for the sole use of the intended recipient(s). Any
>>>> review, use, distribution or disclosure by others is strictly prohibited..
>>>> If you have received this communication in error, please notify the sender
>>>> immediately by e-mail and delete the message and any file attachments from
>>>> your computer. Thank you.*
>>>>
>>>
>>>
>>
>> *CONFIDENTIALITY NOTICE: This email may contain confidential and
>> privileged material for the sole use of the intended recipient(s). Any
>> review, use, distribution or disclosure by others is strictly prohibited..
>> If you have received this communication in error, please notify the sender
>> immediately by e-mail and delete the message and any file attachments from
>> your computer. Thank you.*
>>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>

-- 
_CONFIDENTIALITY NOTICE: This email may contain confidential and privileged 
material for the sole use of the intended recipient(s). Any review, use, 
distribution or disclosure by others is strictly prohibited.  If you have 
received this communication in error, please notify the sender immediately 
by e-mail and delete the message and any file attachments from your 
computer. Thank you._