[OAUTH-WG] Re: New Internet-Draft: Approval-Based Dynamic Client Registration
Mike Kuredjian <michael.kuredjian@gmail.com> Mon, 03 August 2026 22:12 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 384D512303979 for <oauth@mail2.ietf.org>; Mon, 3 Aug 2026 15:12:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1785795148; bh=qpI1Gamr0iruJY5OCN/s4kp2J39Az6YQRILmpCXfy+w=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=sH79mAT8TnvMobaqblxInwXIQk5rk8lspnyr8KLyJNjsryaj6IGD/vqkDGINXKP46 KvdDTOxpNNRRiR5o0aGyOnrQMIAJVuE+KvMgFtEEbV8WwMCAKyxRZTl32u9Xd/SB72 6qfpqcdl3ROa/l56UAlUb7/xby47wAOUGitcGhC4=
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 ff7F94CJPYiZ for <oauth@mail2.ietf.org>; Mon, 3 Aug 2026 15:12:27 -0700 (PDT)
Received: from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com [IPv6:2a00:1450:4864:20::12b]) (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 3F61F12303972 for <oauth@ietf.org>; Mon, 3 Aug 2026 15:12:27 -0700 (PDT)
Received: by mail-lf1-x12b.google.com with SMTP id 2adb3069b0e04-5aeafa51b5cso474424e87.1 for <oauth@ietf.org>; Mon, 03 Aug 2026 15:12:27 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1785795140; cv=none; d=google.com; s=arc-20260327; b=SXqyt51xjPXLrdsLzel55GM9cBunkiO6C+d8YEdEvdsHWlBDYnpUF7SCChuQxOrt8g A0f0oe2BruuF6HCcpd1y+5cCng6iEvgkGwUTLaPCBrxxgBUdw79bogsYmSnNqAQQ3eF+ VtHKruJ/mBL4Yi7ElfGtW0QAWst+NnNVkNwbokUKM6zrgTsrtAPnfBc/RN0HKxpopmu1 eIzf5MSYnoe0fAnBJol3shbttQVHXQTtLxw5Vq+BwBci7LHVEsjsSTQ5/UMrSS3bm7Eg FZ/T0LxtSXKUnFQMFAUd61DymP0a4M2BZidtSu4d+HsG/d573km0FVtHMuuSYwMT1ZNW xGDg==
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=7fzUjB+XDgwdwy4wx0LLWnUFF40YZWaxK1SbXIbQR5s=; fh=0vFGzO9iexElD54+Q/WCFcIY7zaJkDGxBLm8Z2oFnac=; b=sSb/+k7svwEe/yjcPv2RYIW/dXJWzmXw0InaumML6nD5t4p3wXBa8n1stfsUmsbRFi 55aYVwVAQCDYquSDerx/Z0qWX9WxXEuUprDcV+EkT4wx+zCF1nrEv5higtoH0VSkPkfz eajTxU1zofYXgxw/3a5wNeXs8HSBQzjutvw1uhVX9QMTMLoKBB7nO/Z9gcp2EEycKFeg xYXN/QT0y0PjaN/bd6lyuwtYmXf1SvTM0+fe8HOIkJf5GAJZADOeeDL2WQ22edlEthlK kR+F8uXuRYK34KrMWk4WKGhhw7Of64XeMSPWSncr4lefrrvoWQbfzq5r51pL8EJMk3ZC lx7g==; 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=1785795140; x=1786399940; 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=7fzUjB+XDgwdwy4wx0LLWnUFF40YZWaxK1SbXIbQR5s=; b=pnv6lcNQOP7VJ4gPbTdRys0LJ88H/D0V08ROFAoJMyIgQ2k73WoL57RDAT9dVZCTdq lQ5wC0DmGTbOPgleIKqebR/ukp9XH7xfY3w4yQ8cpyzWp8R4gbhLmD69uUDFRuiGaW1a KNVJ+ISUhtYrZTBp+rKrwurtWlEgjHK5zXXU1HONBBkBlPe69TRog1HpnRDee2gj+sjS 25WsmMPn0Gt2yuz8z1djR6aqMqZQFB0met71PS4XORCFjEL0n/PP47RPsVBMoLGgvqnd UZcR//A5pH2136kkp7wraB9LUUu0AOfacaXLHJf8Pd4E/ZYGxD9Hj/oN8ZlJk1mmTj4d Zk8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785795140; x=1786399940; 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=7fzUjB+XDgwdwy4wx0LLWnUFF40YZWaxK1SbXIbQR5s=; b=BFtG53diHI5wZs8GYlRzLnx35Y/lWTOMr7ow7stGMQGkml6P+XDFLeOFXsmWFeAkXH bT+IfBRJVig1pb25RnvpL6wdYt0ErDFQ5gqEDT0J0rR1FjODkxQviJfcyAFzLaNVs2lR HZpT+QbqjT4R5JjSuk9r+7a1gDXrgxz9Cs0GuNjGFejZcZ2BmPPcBu0MyJ7y8LG+w3/d 7Y7pU8NnNosaOdRdmxnuwpfs5wT13PhjdUVQdHDkGcAhicKzHhjBs+w6kc/eZOEy1Vu+ YKYcPK5pfYX0UPtgDCH5AJ5ITCiAijk8lgmYr0DJ6ptt7XdGseVLK9u4YyN/JxR0hO4T /CVw==
X-Forwarded-Encrypted: i=1; AHgh+RpnZFFX0bZWK6+GlKDaHgFgKdS6Xu51A3OYzwxgfBpEBXRvOF5GT85+S/fwmoRYjuAfATUh4w==@ietf.org
X-Gm-Message-State: AOJu0YxqUIS+sCg9J/t4jT+/D+V7hZ7/KC342WA2mWA4QQHgRjIh8q8i Fy0wO7zqu0OAH88+jhqUrv9Q3GDzM2wkpgstPgtRdUgwFZDUwbaGHSc92hdRbH4bdB5g2xEwh9v rmSLckXUG/j+ctH36LBGH6RYcYNfnSlg=
X-Gm-Gg: AR+sD1020GJQDQGvGlGsBhKMqzBA/bUHZ6OmNUc1vPHTTgu3zlBY0FTtbyhAAP9z+g8 Kdi95xMe2AJqtkftb+AWjeDmunQLzAHE9IFzNQPnMx3ktH9lIfOIOQcTw9y9WuwvOsj1wcMfr+2 V4bK7TiGZSztDjDjW8/L3HMpTsk0hzzbJ11SlouqOFgmPuuJZ8umNiCKyXDXUh4rmaOnFETpMBM 4nTxmyxuDiJX9a82D/Mh43+rta/yIFPPIoum1iTYHpsZuxXXpIiMPgRR/SiruwQbit5gxugQQua mTdIbHHesvnOQNp32jS1Gsu9nOBWYYUUrHPvolxiqMpJeGpJeyQGjGNbbmbg4mzxpHxhwOm5GcU nauXhsmvfvSmbOQiXmg==
X-Received: by 2002:a05:6512:a8a:b0:5b2:b724:2d55 with SMTP id 2adb3069b0e04-5b2e4dda622mr1990212e87.0.1785795139662; Mon, 03 Aug 2026 15:12:19 -0700 (PDT)
MIME-Version: 1.0
References: <PH5PR18MB927672B870A8187F205B048373A4C32@PH5PR18MB927672.namprd18.prod.outlook.com> <IA0PR01MB82772B0AB25C1762525BDD6FBDC32@IA0PR01MB8277.prod.exchangelabs.com> <CAGGo3OdpN+JvhAy7TH12u4PhvPz_zqaT8+YbkzfkFJ+3z4sbtA@mail.gmail.com> <DS3PR18MB9276654F6DD32C3D00D0BE3F1FA4D52@DS3PR18MB927665.namprd18.prod.outlook.com>
In-Reply-To: <DS3PR18MB9276654F6DD32C3D00D0BE3F1FA4D52@DS3PR18MB927665.namprd18.prod.outlook.com>
From: Mike Kuredjian <michael.kuredjian@gmail.com>
Date: Mon, 03 Aug 2026 15:12:07 -0700
X-Gm-Features: AUfX_mwbUmcObuOs_9lDUOX1pB9-ruOIShG-YdOK2KeJp-RSYAWlzJwtYJdjgXs
Message-ID: <CAGGo3Ofj6S56DoRvGLyUpKU733f9gKjxKOhRC6NNjSraEJEeVA@mail.gmail.com>
To: "Dellaert, Philippe" <pdellaer@amazon.com>
Content-Type: multipart/alternative; boundary="000000000000f0f77a06582bd45c"
Message-ID-Hash: KNDWDJ7UVPQGNWUXT5F44YU6YKGAN75H
X-Message-ID-Hash: KNDWDJ7UVPQGNWUXT5F44YU6YKGAN75H
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: "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/SCUeYsIF4pYhsOpYkzs-OQJZYdo>
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>
Makes sense - I often forget about the management spec, to the point that one of our internal developers messing around with Claw hit a roadblock with their agentic code because our DCR implementation didn't have the presumed management APIs, but it's good to keep it in mind as something to formally support :D On Mon, Aug 3, 2026 at 2:20 PM Dellaert, Philippe <pdellaer@amazon.com> wrote: > Hi Mike, > > Thanks for your feedback. Your use case is aligned with what some others > have pinged me on and what I’ve seen, glad there’s multiple of us facing > these problems and there’s a use for this type of protocol. > > I think it’s better not to put a requirement on the client_id format and > let the AS decide. The draft does not put any requirements or restrictions > on this. If an AS wants to use the registration code as the client_id, > it’s their choice. If the AS wants to use a preferred format for their > client_ids, or use a CIMD client_id (if the AS wants to host metadata for > all registered clients), they should have that freedom. > > On extending the management spec, I need to dig deeper what the most > appropriate approach is. I think Justin feedback is good, so I’ll work on > this idea more. > > Regards, > Philippe > > *From: *Mike Kuredjian <michael.kuredjian@gmail.com> > *Date: *Monday, August 3, 2026 at 1:07 PM > *To: *Justin Richer <jricher@mit.edu> > *Cc: *Dellaert, Philippe <pdellaer@amazon.com>; 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> > *Subject: *RE: [EXTERNAL] [OAUTH-WG] Re: New Internet-Draft: > Approval-Based Dynamic Client Registration > > *CAUTION*: This email originated from outside of the organization. Do not > click links or open attachments unless you can confirm the sender and know > the content is safe. > > 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