[OAUTH-WG] Re: New Internet-Draft: Approval-Based Dynamic Client Registration
Mike Kuredjian <michael.kuredjian@gmail.com> Mon, 03 August 2026 20:06 UTC
Return-Path: <michael.kuredjian@gmail.com>
X-Original-To: oauth@mail2.ietf.org
Delivered-To: oauth@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 051D7122F4553 for <oauth@mail2.ietf.org>; Mon, 3 Aug 2026 13:06:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1785787564; bh=NRiW6WR+7B6b30PV7cA48GgAuCANe1u7WeXvKqPjN1U=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=mfXGsrrorVgvp+K/rnE4zFlaJqyD0lceLIoPzTMV+FBQ9QFStiqM/78bZn1z0jqMP vg/uJgJKlT2hFgj+A2WC4szfT2qT17nz41PTpEkC1DEVb3O6lIJtKHcEE8ICcr0c4q HI1IcH9N4MNoEGT+cSKRbEa3aI7pwpFKCJ2JTIjQ=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Gy53IfHQyPxH for <oauth@mail2.ietf.org>; Mon, 3 Aug 2026 13:06:03 -0700 (PDT)
Received: from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com [IPv6:2a00:1450:4864:20::22f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 2661F122F454C for <oauth@ietf.org>; Mon, 3 Aug 2026 13:06:03 -0700 (PDT)
Received: by mail-lj1-x22f.google.com with SMTP id 38308e7fff4ca-39efab5d138so1651451fa.2 for <oauth@ietf.org>; Mon, 03 Aug 2026 13:06:03 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1785787562; cv=none; d=google.com; s=arc-20260327; b=PqHeVPuHOIgs0aXQNK0BP1jtrv40/3oys2i6g3DNgx4c0icbXUaLk41fr9mXRyUXLZ CqnxWkC3RJtbwDKtSlr8CJy/ptiNzDicl0MQWqxDb3xwmqxRqoQ33HYj1vLBGFuVJUD5 uiQsJdF5B1t7VXsCE+B5WCcrP+pgWL6iUqLgpH5kIaOUlsW21iutZl6z4rocT5p2GaZc jBLAjle9RbXMddIXASxqRlQiAF7nIo4NluaVkER+pdd1v8nZTn1aKo5TtNXO3JVoW+24 OJLkgcmFFLfdIpJdKkgrSFT/YkGlfXBIF1hVdABaQTAcXf3HNMSufNeqr4B9jlF0r5UZ q0bw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=T4wg64rBDhcph1y0ddM0J/UKTiFSrFet3Ib83EMAWkA=; fh=+VkqVORfWJXXj4qdyRmEOhVT2ghl6Lswvtg2vVN5iuo=; b=CcZTr6adW2pORshmKpQI88Q4GijcF0dGw2Xlt93JPbbl0HKH0gmvXtViPEXZfEn3eD PhFRo9IINrAsjWN4Pz9Ou3ujPZD/ibmzPj+mAv0qFj8h4vYuBXgBAAZrhRJWhFADUUZI oUvVyYtbodYle9QPrttjWVmkgivLeAehJP8VnvTu46NbIm0i98CyinbaW8mFDfHLAiIw OcvphC4QZAdFf0nTzCQChNFBD2bBTAiwy4JaAVCrRy3D+5rQUDosksdgAnFC4PabHtxr 9EPnGtnq42R+lA3ZHeaHNKHZISEztCfk2wCmJTbGFsDuthEbXMWdTE5b84SxY03O1Gbc zvlA==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785787562; x=1786392362; darn=ietf.org; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=T4wg64rBDhcph1y0ddM0J/UKTiFSrFet3Ib83EMAWkA=; b=pXCDk5TuUSCOCtcK5pVovFObVtcTm1lJ2NiVR5GatlL5qgud8LvtvuYRbZeraotFX1 rPaMfV1k5Jj48wbbX4HoH9RKicn5qoyPJ9P6aaDH6dkBGR3CoKQEhHGVMn8XsX6ZnNAR F0fuycjfOofy8aE+cD+47SmkxsWM77PzGi9OygOTPe7Motqon2nLUj7irwQEhxs5cIUS tWop0NBKNkMb05LwQb6SHAjWwWApbthZ8HwdfC11v6ZIQJOBn5trX7hoSuVx78pfuray zscIL8GEjswHNNXExe4jd1RG+RwETDISXjYYk243HBZDYfI5tTnkt4vOVjOjy0e56Wrd HGXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785787562; x=1786392362; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=T4wg64rBDhcph1y0ddM0J/UKTiFSrFet3Ib83EMAWkA=; b=hSHBChZOv9gWJuXLsJ8ytIcGAaa2cdqkJAj35NBTduOPGhQ5lLj63qzZq1hnK9hbIU fQoWPUcFEza+c0X2yIyphuIRLkRY0u1ENaK4rdp826JTDERcj8e7Nn7/GkYzcAqJOUBG zy7lt+laE7CSVHjJXPmBToEkDTcHwXpg/IPEoJumtnKs+AHMoLO5gETEO/OzrjOO9yZk XvfQBQxPD2ECkDsRo8Qtx7XpFgXez4AV+TRmwsutDjBJyWa4asSdQ0J2q+lsHqlwvFZM lRtKZIJcw/ssPn8nJTOH1sb9/rRQlp6FCDrq+WMAXKu7jbiLRBgzcm16zDniT5srq3KG PmwA==
X-Forwarded-Encrypted: i=1; AHgh+RrhtvwRypX0LXpMNu3Lb6dk+8nqjNO+Hs6OizHr+QEFe3ywjRVjwYysPMkJ2eSHzJk7Jd48nA==@ietf.org
X-Gm-Message-State: AOJu0Yw3aiEAgpJjMkZqW/JJexs+SUYqprzLgUKxi6nWlqiLRN8HmBN/ d6CfhzqKERaGfm7oh7Hxj77CtQpohmgsRbeOK5pYLM3kDo2UxbmKwZMO2iRZy717+/eombDOoxh yH6Hyu0aEDYS9uvip0h7dSbeOkXQhY/c=
X-Gm-Gg: AR+sD10E06r67pAZMqT0K9qNqWEVIjPxnaMiqFe1RzMIO4E/gONjO67Wev91maQ08ZH awfHhIuN3eF7EehmdSe1pm5VsazYqddYG4CSrx/U72SfSCImB0TKhqPZs13l/UWFW5qz4+MGXeh z7hZokV9iLUc0GrYdi/LbXe8IK+Tmiit6Sv4JqMh0+BLlih3KB8o+Ho0XQpelasSageYi9ohc0R iFU39CYokhUSR8a9+0p6Xzwhc/sRDoWxsqHPMa1DaPVqpD5N/wiNA1hAsqBMxRwCgN0TtbKox1H VjhvyiYAwli5KSXuCb+yH36yCVMUQOlMZoPW0rwYC307uDzyk1/ElLHa2PrUz0PO5VJcazdFVBV cjJZsTdJbDucy74L1yg==
X-Received: by 2002:a05:6512:3ca7:b0:5b1:5d2e:432d with SMTP id 2adb3069b0e04-5b2e4cdc5b7mr2420893e87.0.1785787561580; Mon, 03 Aug 2026 13:06:01 -0700 (PDT)
MIME-Version: 1.0
References: <PH5PR18MB927672B870A8187F205B048373A4C32@PH5PR18MB927672.namprd18.prod.outlook.com> <IA0PR01MB82772B0AB25C1762525BDD6FBDC32@IA0PR01MB8277.prod.exchangelabs.com>
In-Reply-To: <IA0PR01MB82772B0AB25C1762525BDD6FBDC32@IA0PR01MB8277.prod.exchangelabs.com>
From: Mike Kuredjian <michael.kuredjian@gmail.com>
Date: Mon, 03 Aug 2026 13:05:49 -0700
X-Gm-Features: AUfX_mynp86AgDX_s84lSC1RbFSOCTMqH0OrS9enX6ym3xMT_yl_rqAeS-P6wrY
Message-ID: <CAGGo3OdpN+JvhAy7TH12u4PhvPz_zqaT8+YbkzfkFJ+3z4sbtA@mail.gmail.com>
To: Justin Richer <jricher@mit.edu>
Content-Type: multipart/alternative; boundary="000000000000409e8506582a11c2"
Message-ID-Hash: BIPXWJYC7XBFEQ7TUSRZVVRMDSYMKXAA
X-Message-ID-Hash: BIPXWJYC7XBFEQ7TUSRZVVRMDSYMKXAA
X-MailFrom: michael.kuredjian@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-oauth.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: "Dellaert, Philippe" <pdellaer=40amazon.com@dmarc.ietf.org>, "oauth@ietf.org" <oauth@ietf.org>, "maciej.machulak@cloudidentity.co.uk" <maciej.machulak@cloudidentity.co.uk>, "phil.hunt@oracle.com" <phil.hunt@oracle.com>, "frederik.krogsdal@idura.eu" <frederik.krogsdal@idura.eu>, "guilherme.niero@itau-unibanco.com.br" <guilherme.niero@itau-unibanco.com.br>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [OAUTH-WG] Re: New Internet-Draft: Approval-Based Dynamic Client Registration
List-Id: OAUTH WG <oauth.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/-RvO2o_D0VwiTdP0WA5ML21jErE>
List-Archive: <https://mailarchive.ietf.org/arch/browse/oauth>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Owner: <mailto:oauth-owner@ietf.org>
List-Post: <mailto:oauth@ietf.org>
List-Subscribe: <mailto:oauth-join@ietf.org>
List-Unsubscribe: <mailto:oauth-leave@ietf.org>
Justin & Philipe, Replying to echo that it's an interesting spec and I can think of one clear niche where it would apply: MCPs wherein the tools being offered are of a 2LO access nature and/or sensitive. In our particular case at Atlassian, we're looking to offer org administrators an MCP with tools geared around such use-cases (site admin, user admin, etc), and one could imagine wanting such a protection against fully dynamic client registration that we otherwise see with pure DCR agents. Of course CIMD + whitelist can be used to solve to this, but as we know, not all agents are able to host a TLS endpoint, so by providing an OOB approval option, you can offer DCR for these more sensitive use-cases, knowing activation will be gated. Extending the management spec is also appealing... I wonder if there's a case to be made for the registration token to be a client_id itself (albeit in a disabled state)? Best, Michael On Sun, Jul 19, 2026 at 11:36 PM Justin Richer <jricher@mit.edu> wrote: > Phillipe, thanks for sending this out - this is an interesting idea. I had > a couple questions upon first skimming that I was wondering if you'd > already worked through or not, so I'd love to hear your thoughts. Most of > them center around how this new functionality layers in with the existing > DynReg spec, both for clients and servers. > > You've got a registration mode flag here — but is it important in this > model that the client opts in? Because I'm wondering if a client could just > make a normal request and get back a "pending" response instead of the > standard one. It seems like it'd be the AS's choice to support an immediate > registration or not, based on some policy or something about the client's > request, and not the client's stance on the matter. It's an error to the > naive client if the AS doesn't do immediate mode anyway. Is there a > difference here I might be missing? > > Second, I'm wondering if the additional code and round-trip management > protocol is necessary here. If the client gets back a "pending" response, > instead of using a new protocol just to manage pending registrations, we > could perhaps extend the DynReg Management spec (RFC7592) for this case. So > the client gets its registration access token and to poll for updates does > a GET on the management endpoint. If it's still pending, we can respond > with the 202 pending request just like in the initial registration. To > cancel it can do a DELETE on that endpoint, instead of having a special > flag. I've not thought deeply about this, but am I missing something that a > separate protocol and endpoint bring to the party here? > > Overall, I think this semi-synchronous mode is an interesting one that > could layer in with DynReg for (what seems to me) a niche set of use cases, > but I can definitely see it in an enterprise type environment, for > instance, where policy controls registration more strictly than on the open > web. > > -- Justin > ------------------------------ > *From:* Dellaert, Philippe <pdellaer=40amazon.com@dmarc.ietf.org> > *Sent:* Monday, July 20, 2026 12:40 AM > *To:* oauth@ietf.org <oauth@ietf.org> > *Cc:* ietf@justin.richer.org <ietf@justin.richer.org>; > maciej.machulak@cloudidentity.co.uk <maciej.machulak@cloudidentity.co.uk>; > phil.hunt@oracle.com <phil.hunt@oracle.com>; frederik.krogsdal@idura.eu < > frederik.krogsdal@idura.eu>; guilherme.niero@itau-unibanco.com.br < > guilherme.niero@itau-unibanco.com.br> > *Subject:* [OAUTH-WG] New Internet-Draft: Approval-Based Dynamic Client > Registration > > Hi all, > > As you might have noticed, I’ve submitted a new Internet-Draft: > Approval-Based Dynamic Client Registration: > https://datatracker.ietf.org/doc/draft-dellaert-oauth-approval-based-dcr/ > > Dynamic Client Registration provides a way for new clients to register > themselves using an open registration mechanism, or registering using an > Initial Access Token for extra security. For certain clients like native > applications, CLI tools, or applications at scale, providing an IAT is not > always an option and open registration is something many operators prefer > to avoid. > > I propose an approval-based registration using the existing DCR > registration endpoint where the client opts-in for this new mode. If the > authorization server’s policy supports and requires an approval before the > client is registered, it returns a registration code, a verification code > and a verification URI. The client polls the registration endpoint while an > approver approves or denies the registration request out of band using the > verification code and the verification URI. Once approved, on the next > poll, the client receives a normal DCR response. > > A lot of this is inspired by the Device Authorization Grant (RFC 8628) and > the Deferred Token Response draft. I do diverge from these proposals by > using specific HTTP response codes instead of using error responses. > Registration success remains 201, a pending registration waiting for > approval returns 202, both for initial request and polling, and 429 with a > Retry-After response header is used to indicate to the client to slow down > the requests. 400 is still used for errors. > > I’d welcome feedback from the group, and especially from the authors of > Dynamic Client Registration as this is an addition to DCR, and from the > authors of Device Authorization Grant and Deferred Token Response as they > are a source of inspiration. I have cc’d the DCR and DTR authors out of > courtesy, not out of any expectation. > > Regards, > Philippe > _______________________________________________ > OAuth mailing list -- oauth@ietf.org > To unsubscribe send an email to oauth-leave@ietf.org >
- [OAUTH-WG] New Internet-Draft: Approval-Based Dyn… Dellaert, Philippe
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Justin Richer
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Dellaert, Philippe
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Dellaert, Philippe
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Mike Kuredjian
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Dellaert, Philippe
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Mike Kuredjian
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Lombardo, Jeff
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Neil Madden
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Max Gerber
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Neil Madden
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Nick Watson
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Frederik Krogsdal Jacobsen
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Dellaert, Philippe
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Emelia S.
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Jaryn Sabey
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Emelia S.
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Aaron Parecki
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Jaryn Sabey
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Lombardo, Jeff
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Emelia S.
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Lombardo, Jeff
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Karl McGuinness
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Dellaert, Philippe
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Jaryn Sabey
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Thi Nguyen-Huu
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Jaryn Sabey
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Thi Nguyen-Huu
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Dellaert, Philippe
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Guilherme Oliveira Niero
- [OAUTH-WG] Re: New Internet-Draft: Approval-Based… Dellaert, Philippe