From nobody Tue Mar  2 12:10:07 2021
Return-Path: <me@evertpot.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 75C163A0EEA
 for <oauth@ietfa.amsl.com>; Tue,  2 Mar 2021 12:10:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.12
X-Spam-Level: 
X-Spam-Status: No, score=-2.12 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
 DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001,
 NICE_REPLY_A=-0.001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,
 SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key)
 header.d=evertpot.com header.b=PeNRbPoX;
 dkim=pass (2048-bit key)
 header.d=messagingengine.com header.b=WLJrYn9W
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 RrIOAQo5WQdz for <oauth@ietfa.amsl.com>;
 Tue,  2 Mar 2021 12:10:04 -0800 (PST)
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com
 [66.111.4.25])
 (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ietfa.amsl.com (Postfix) with ESMTPS id 824D43A0EEE
 for <oauth@ietf.org>; Tue,  2 Mar 2021 12:10:04 -0800 (PST)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.nyi.internal (Postfix) with ESMTP id E82D25C0192;
 Tue,  2 Mar 2021 15:10:03 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Tue, 02 Mar 2021 15:10:03 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=evertpot.com; h=
 subject:to:cc:references:from:message-id:date:mime-version
 :in-reply-to:content-type; s=mesmtp; bh=5JuJXO3kAbJ93nRYz3jyeeRn
 2i1p/wRJrLqRNnYpaVI=; b=PeNRbPoXv8aREH0taFyZyS1JK/3Tj/YFhGH/yZlg
 RBqza/qcIms3kzRTDQvYXg7Ys+FG/X+Q81DZRb+NAKzkcG/BRgZtKfJ7+gJpBuBM
 DBlxvZMNfXMhzyY3O2TbyBNpCntYrHzpm6Z4h3HAXQGY73TFG7Mhjf1O8F9PHOzr
 QwU=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-type:date:from:in-reply-to
 :message-id:mime-version:references:subject:to:x-me-proxy
 :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=5JuJXO
 3kAbJ93nRYz3jyeeRn2i1p/wRJrLqRNnYpaVI=; b=WLJrYn9WQs4AQqY16pqzqA
 h3cK5pxHmsEoW/Qa3QeD8vAGROtLTmqzF+VTOEx3LbIX+FmeDqRfO0XXiY6PO2zk
 4jFczS7jYMo/V3DWWew/BMsz5FZaB8DiCF6DUSA9BbJK7BtMbqjXKqJaPjyD2n/b
 AJLHsSBDLcjH+2ONQiuntX1Tx8O9KWoPdSDfdzh412isVq5Qens2YZivp3mZ5ePF
 YTzZORwvHWp2SslA2CUNSwFl6ekm6iTSx3aP0vxGiGZk8IqE0hvPp5oPjjf3EeBF
 SLgM4rHtHcbcl5gqNwa/5uFjJ4eF5hHsfYlw4bnaB04Dr1xQWQRNj/8ix+L8r4DA
 ==
X-ME-Sender: <xms:m5s-YFCX22i_tUY8g76f7IA4rDIEaVKFxbdP6NFI6ZaD2asf9EirhA>
 <xme:m5s-YDhpJxWU54-6P-2532oa8aAVtGye9X8KCk_lJjFhIdUQYIH-3Av_kbevxAtRX
 yl0jzIlR03BVplc>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledruddttddguddvjecutefuodetggdotefrod
 ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
 necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
 enucfjughrpefuvfhfhffkffgfgggjtgesrgdtreertdefjeenucfhrhhomhepgfhvvghr
 thcurfhothcuoehmvgesvghvvghrthhpohhtrdgtohhmqeenucggtffrrghtthgvrhhnpe
 eikeektdffhedtledtgeehtefhffdvvddtvdeigeelkeehheegheduvdehfffhleenucff
 ohhmrghinhepihgvthhfrdhorhhgpdhfohhrghgvrhhotghkrdgtohhmnecukfhppeelle
 drvdeftddrvdehfedrheejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehm
 rghilhhfrhhomhepmhgvsegvvhgvrhhtphhothdrtghomh
X-ME-Proxy: <xmx:m5s-YAl1UPGPlSgiBI0lz9vFRbmp7HxCysXne1Du_Y3jBtxMOLcgGA>
 <xmx:m5s-YPxWl_89YDQQQsosgtKuroZ5Kb_mDz_ZA7lDPV76z4M1q_Fq9Q>
 <xmx:m5s-YKQ1KsA6H0MtL0-zR2oQK4OxmyAIc5Lf1opsRlKUKD81pT0QGg>
 <xmx:m5s-YBOLSqEnCehEa5i17x1QYUlcZ5XLU67ZNYWtNZD8j1JErLanHQ>
Received: from [192.168.0.112]
 (cpe9050ca212883-cm9050ca212880.cpe.net.cable.rogers.com [99.230.253.57])
 by mail.messagingengine.com (Postfix) with ESMTPA id 652D424005A;
 Tue,  2 Mar 2021 15:10:03 -0500 (EST)
To: Neil Madden <neil.madden@forgerock.com>
Cc: oauth@ietf.org
References: <6105c6f6-d291-b80e-4596-9ff4f10b3b55@evertpot.com>
 <67896868-B842-402D-8BFC-DBDFA6AF648D@forgerock.com>
From: Evert Pot <me@evertpot.com>
Message-ID: <1ac815d9-3634-97bb-537c-478fce52b389@evertpot.com>
Date: Tue, 2 Mar 2021 15:10:01 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.7.1
MIME-Version: 1.0
In-Reply-To: <67896868-B842-402D-8BFC-DBDFA6AF648D@forgerock.com>
Content-Type: multipart/alternative;
 boundary="------------DDFE9753F44975F818A3B826"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/ZvKRR0aRfpPbcRf9BHsfM58YJ4w>
Subject: Re: [OAUTH-WG] One-time token login
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.29
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: Tue, 02 Mar 2021 20:10:07 -0000

This is a multi-part message in MIME format.
--------------DDFE9753F44975F818A3B826
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit

Thanks Neil & Hans,

Our AS doesn't do jwt quite yet. It's in-house, but open source. We 
don't have rfc7523 yet, but this does sounds like a pretty great 
longer-term solution.
We're a bit time constrained, so perhaps this feature just needs to be 
done as a one-off before we can do RFC7523 for real, later.

Thank you!

On 2021-03-02 3:05 p.m., Neil Madden wrote:

> One option is JWT Bearer grant with “jti” and replay prevention 
> (https://tools.ietf.org/html/rfc7523#page-7 
> <https://tools.ietf.org/html/rfc7523#page-7>) if your AS supports it. 
> This is nice if some other component is generating the emails as it 
> needs no coordination with the AS.
>
> — Neil
>
>> On 2 Mar 2021, at 19:04, Evert Pot <me@evertpot.com> wrote:
>>
>> ﻿
>>
>> Dear list,
>>
>> We have a requirement to let users log in to an application via a 
>> code sent by email.
>> This code needs to be exchanged for an access/refresh token pair, and 
>> should only work once.
>>
>> The access/refresh token scope would give limited access to the 
>> application. Since we already use the authorization_code flow for 
>> other (more sensitive) parts of the application, I would like to 
>> re-use the OAuth2 framework for parts of this.
>>
>> It doesn't sit right with me to overload the 'code' in 
>> authorization_code, so I was considering introducing a new custom 
>> grant_type for our application, specific for this purpose.
>> It seems that grant_type in the 'token' endpoint would support 
>> extension in this manner, by using a uri such as 
>> https://vendor.example/email-token
>>
>> I'm comfortable implementing this, but curious:
>>
>>  1. Is there already some prior art that I'm not aware of? I'd rather
>>     not do a custom grant_type if there's something standard I could do.
>>  2. Are there any major pitfalls associated with this?
>>
>> Evert
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>
> ForgeRock values your Privacy <https://www.forgerock.com/your-privacy> 

--------------DDFE9753F44975F818A3B826
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Thanks Neil &amp; Hans,</p>
    <p>Our AS doesn't do jwt quite yet. It's in-house, but open source.
      We don't have rfc7523 yet, but this does sounds like a pretty
      great longer-term solution.<br>
      We're a bit time constrained, so perhaps this feature just needs
      to be done as a one-off before we can do RFC7523 for real, later.<br>
      <br>
      Thank you!<br>
      <br>
    </p>
    <p>On 2021-03-02 3:05 p.m., Neil Madden wrote:<br>
    </p>
    <blockquote type="cite"
      cite="mid:67896868-B842-402D-8BFC-DBDFA6AF648D@forgerock.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">One option is JWT Bearer grant with “jti” and
        replay prevention (<a
          href="https://tools.ietf.org/html/rfc7523#page-7"
          moz-do-not-send="true">https://tools.ietf.org/html/rfc7523#page-7 </a>)
        if your AS supports it. This is nice if some other component is
        generating the emails as it needs no coordination with the AS. </div>
      <div dir="ltr"><br>
      </div>
      <div dir="ltr">— Neil</div>
      <div dir="ltr"><br>
        <blockquote type="cite">On 2 Mar 2021, at 19:04, Evert Pot
          <a class="moz-txt-link-rfc2396E" href="mailto:me@evertpot.com">&lt;me@evertpot.com&gt;</a> wrote:<br>
          <br>
        </blockquote>
      </div>
      <blockquote type="cite">
        <div dir="ltr">﻿
          <meta http-equiv="content-type" content="text/html;
            charset=UTF-8">
          <p>Dear list,</p>
          <p>We have a requirement to let users log in to an application
            via a code sent by email.<br>
            This code needs to be exchanged for an access/refresh token
            pair, and should only work once.<br>
            <br>
            The access/refresh token scope would give limited access to
            the application. Since we already use the authorization_code
            flow for other (more sensitive) parts of the application, I
            would like to re-use the OAuth2 framework for parts of this.<br>
            <br>
            It doesn't sit right with me to overload the 'code' in
            authorization_code, so I was considering introducing a new
            custom grant_type for our application, specific for this
            purpose.<br>
            It seems that grant_type in the 'token' endpoint would
            support extension in this manner, by using a uri such as <a
              class="moz-txt-link-freetext"
              href="https://vendor.example/email-token"
              moz-do-not-send="true">https://vendor.example/email-token</a></p>
          <p>I'm comfortable implementing this, but curious:</p>
          <ol>
            <li>Is there already some prior art that I'm not aware of?
              I'd rather not do a custom grant_type if there's something
              standard I could do.</li>
            <li>Are there any major pitfalls associated with this?</li>
          </ol>
          <p>Evert<br>
          </p>
          <span>_______________________________________________</span><br>
          <span>OAuth mailing list</span><br>
          <span><a class="moz-txt-link-abbreviated" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a></span><br>
          <span><a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a></span><br>
        </div>
      </blockquote>
      <br>
      <span
style="color:rgb(23,43,77);font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe
        UI&quot;,Roboto,Oxygen,Ubuntu,&quot;Fira Sans&quot;,&quot;Droid
        Sans&quot;,&quot;Helvetica
        Neue&quot;,sans-serif;background-color:rgb(255,255,255)"><font
          size="1">ForgeRock values your <a
            href="https://www.forgerock.com/your-privacy"
            target="_blank" moz-do-not-send="true">Privacy</a></font></span>
    </blockquote>
  </body>
</html>

--------------DDFE9753F44975F818A3B826--

