[OAUTH-WG] Re: Comments on draft-gerber-oauth-deferred-token-response: delegation verifiability during the pending window
Frederik Krogsdal Jacobsen <frederik.krogsdal@idura.eu> Tue, 28 July 2026 09:21 UTC
Return-Path: <frederik.krogsdal@idura.eu>
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 CA62A11FB1F45 for <oauth@mail2.ietf.org>; Tue, 28 Jul 2026 02:21:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1785230481; bh=seK4cLAkLQbnPP1ri0OTF2s0k7J7oq0T2cTuFtWjlS8=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=kXJOX4jQQjhvI805NCgnD/ByvTiDQ7bcxrsIMFRS22D+NjJuu9qPfe7cWfnteXHmx 5dxVOs4Qma1vpcdKmisCkcFFspRQZ6u0sWR+pA9L9HgU+3rt67Lx0mzZH3IDnO2ioA GKDP7sV8R2C7DjpLsUm/NXkBzqUpqZvIxCajGiwM=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 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, 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=idura.eu
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 IF-M6ZncRWKm for <oauth@mail2.ietf.org>; Tue, 28 Jul 2026 02:21:19 -0700 (PDT)
Received: from mail-vs1-xe31.google.com (mail-vs1-xe31.google.com [IPv6:2607:f8b0:4864:20::e31]) (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 4F32F11FB1E5C for <oauth@ietf.org>; Tue, 28 Jul 2026 02:20:51 -0700 (PDT)
Received: by mail-vs1-xe31.google.com with SMTP id ada2fe7eead31-74597302e21so457017137.1 for <oauth@ietf.org>; Tue, 28 Jul 2026 02:20:51 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1785230451; cv=none; d=google.com; s=arc-20260327; b=FERbGEJxKpTO37poQdElC6DEvfrwfaq3cNprMgFogf+tXLjQYSUlkEjTafZH/c6oKw l5EsRHJbIki7ylNIcjN649SiQ9Abf1yiB8lkd7FRRROYMWxfSsdICHNx8nlPtaku5M/J JDxGRpwUpCAjYwG/KBRXVgwr4pcKHdgPnQvJ/gA2R2NBXx/kOyGH2XEa/ukWVzKEMb2j it76QmhUwt3wduesi4ZM2dg/XU1cU3Losw4nlfWvnKRhFD4ZXSOb/kdYNOE49A0QchGX YP5ivn5YeiirkSuMXe9Bb2xt6fl/gsPc2KqThLR7psp4WaAgg0I1kDc2WRI/Ki2TY4N+ kH8w==
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=D8a/5/ROwj+N3DBB/oAsIhxvZdNqTBmK+7dxxmViUNw=; fh=w+qM+SWHG79hkobK7fVVkwWpRG5BKU3hShRn1Et3OZ4=; b=OFgVXPM/xQR4rSE+zcE88SF7bv7ltAl6WvGrcPxpmY20Q5ycvFi6lbi8Oj+pqUVfuT Bpbzfo7rV3SZAiHoGClHahKW780ORPGGYUd2pGaCm5HPmN3Y6nt8U+3KwTbsTfa0SWRJ FRs3ai74KEw885vM14hxFOeSSlIXOFh/KEQ8UtywLnO3xwS/XpbatS9r/sRb5AQ4NZRx HmpXpZGCzpU6qzg8ZdBFEj+HbCa6hvFxPMMeDROzmYROjVxfGCDhpQnr0iScb3+EX/Ho yjKuAXhFdQzjR+D2WxoHSvc/4//7YU9pOT8R1ExyAvQU8OKm7tNOZhELHuh9lYj6drje Y4cw==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=idura.eu; s=google; t=1785230451; x=1785835251; 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=D8a/5/ROwj+N3DBB/oAsIhxvZdNqTBmK+7dxxmViUNw=; b=m58FIyOH+E1vSel5pEs2+YMAknLjh4IlIN+CdOC8kIPfLrJ9Wkh47SudjgkUxRjQBd x7Bq/1cmfLv8ofHh8EhFCKYkXqCUzltge4fSsljRRjuUT25TpDarQWUDNhdm4aFmfewm BhVLBkQ/Fmoqaum1W0XUR3NKt9t0NGc/s6LL95N1xaDzptF7u3dfahGwa685U+zpbzkT WdwFnzjMR8nqya0BaR4fSa2yEVh6mbgvjOgVD+9xEUtK8xpayyU2wKyBKpKKrw9apYiz CWopEqLlsLvMm0zhbaCgz8A6DNUvwgQ/yf+niDN5xWAVZQVrtwBZVMcDjQNjFYmBdZQe 7A8Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785230451; x=1785835251; 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=D8a/5/ROwj+N3DBB/oAsIhxvZdNqTBmK+7dxxmViUNw=; b=CDGBGGGR/uwc5W3mdqJ1LDjrU2knM0hG+l//tJawad8ci6211bUNnZVtDso+/PSrSC pmF0aqp+zDMnu6b95pCFsqjbyZJsZtwZrV2dAn/dTucrLGYWYV46+FVruty0vAhlxtSg 1Ywn9YuokK5kM31qwA6Y1B24xOQ9uD5qXyw+xy9YdwzgSBXVn855vZT5cfkes90LtUs8 jZ9tQvfIKKGWAjsnrSBLUC14Yley3lzWEO3B+w0rm+4CEJTWIplEJmEFpaXQlX9aF0Eh wd8iT2XaZLaMMjisZw03TZmyPb/6yvsQuLG/mTrOru3J8xDelUjkDTFj5IalQ1QHMi1M PpWg==
X-Forwarded-Encrypted: i=1; AHgh+RpoVhUE9NRx+v7Kj5vzSNWWseydguyjnmrxSGH428Mq+f4roZFcOcrd0N9AO50AQhi6vFNE2Q==@ietf.org
X-Gm-Message-State: AOJu0Yxbge/mqDIiOzQwfpKZioNqir5KbPNThXgrQKfmaxbYJcjpDav6 LUyrHuh70xYfZM+zngE+hhbhejVbCDhk3hyuZMNnEsZshMjpyuI19gnmvukk6q/we4XDGk+GGQa k7OBIWprZh4Jrvr4/xXJ+WlOJUJfp/IHuiSvgf5D/2ivHkyiw8F9G7Ew=
X-Gm-Gg: AR+sD13ufcSS4xW8x3vPDHT35o27Ukm4bW0YnT8yl/ZJCqYb7o/A2ZuiUDZxRi3JVU5 Bcd99o0KketnYt7BxfbMDLITeHDbe9dTCQ30Y9WtmMiHBFyc8W2DMyPLbEAWVUX8kUoBhjn/SHO 5NTjoRefWir8wJVcZNy1Nb1O4OVE1ckg98BAQbOvkL6D/xXbs6UukqawdZqlxKRHvK050vEW3T5 Hm4GAi8rkuqPQznweX3KKVuyieCQrbafCwKyhNWExnIMH6HHeOIf1ujTdW9fsV73f0rqW5WPYk=
X-Received: by 2002:a05:6102:370e:b0:74d:ceb4:5efd with SMTP id ada2fe7eead31-754a0e9a14dmr572291137.8.1785230450598; Tue, 28 Jul 2026 02:20:50 -0700 (PDT)
MIME-Version: 1.0
References: <VTMwcLgAbFmakTQ6wuUa0xitP58EKmY9kHNArNvX0iBU2AQ1HX5MYfM5LOuWmEqgenryI0Yw85UZrZEuq_NKx-9y02hw9uLh_mOR8ef_89U=@scorautomation.com> <CAPVrLW0xuhY+nH1h6aMtOWx+zvziyLCe20ANeP_gtdA8DDM_mQ@mail.gmail.com> <XapSJwqIH2whfy0Y20oWjogltd3MrMAMr7xYebMvBpxt_NWaaD7aR3_cdKpxzB0a59-8DjKG6hXoXx5WEDv6otmAmhLGOwoqnqtt_NhY5Do=@scorautomation.com> <CAMQcq-Y4bVLziPAZfe4mhuMsAKpM+KS1hjqBjtiVmRBhdunxPg@mail.gmail.com> <XV2wiUuIgYHRSxpUWjKb8RMz75VNVtYwPkrN5DEILryIsAUpyDygiW4u0UfVjAPs_hsS2SE41hLBQIa6vlnDxbqqet7zaeZXbEmQfLABZFA=@scorautomation.com>
In-Reply-To: <XV2wiUuIgYHRSxpUWjKb8RMz75VNVtYwPkrN5DEILryIsAUpyDygiW4u0UfVjAPs_hsS2SE41hLBQIa6vlnDxbqqet7zaeZXbEmQfLABZFA=@scorautomation.com>
From: Frederik Krogsdal Jacobsen <frederik.krogsdal@idura.eu>
Date: Tue, 28 Jul 2026 11:20:39 +0200
X-Gm-Features: AUfX_mzy1DbBLJL4sirrffJlD2rY5oNrEAWnfDQC9lULRr9w4nXshFeaH6xtU-4
Message-ID: <CAMQcq-baCtdjjvSDs6CoNW2JM5mz3PPW=q_OPWODLb6-5ux4iA@mail.gmail.com>
To: mitch@scorautomation.com
Content-Type: multipart/alternative; boundary="000000000000d9b5f30657a85ad8"
Message-ID-Hash: XEBCM2QXP3FEJJE4G42FYGPC5EIEBMDQ
X-Message-ID-Hash: XEBCM2QXP3FEJJE4G42FYGPC5EIEBMDQ
X-MailFrom: frederik.krogsdal@idura.eu
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: mitch=40scorautomation.com@dmarc.ietf.org, Karl McGuinness <me@karlmcguinness.com>, "oauth@ietf.org" <oauth@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [OAUTH-WG] Re: Comments on draft-gerber-oauth-deferred-token-response: delegation verifiability during the pending window
List-Id: OAUTH WG <oauth.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/dj_YH_FlYrRF2VtG7eFweJa8-3I>
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>
Hi Mitchell,
Thanks for the additional explanation and use cases!
The use cases you mention all have in common that they start with what I
will call an "initiating entity" that wants to do something, then later
changes its mind and is no longer in control of the client.
Crucially, the initiating entity is not the same entity as the one that is
deferred to (otherwise it could just deny the request in the deferral
itself), and it is not the client (otherwise it could just use the
cancellation endpoint already in DTR).
In general there is no separate initiating entity though, as we also
consider e.g. automated workflows (it might just be a cron job or something
similar that does not have any kind of agency to change its mind).
I think this would need to be defined in a higher-level profile, since it
requires some way for the initiating entity to contact the AS directly,
i.e. without involving the client.
I'm also not sure it really makes sense to distinguish the client and the
initiating entity using it. If your client is compromised, there's
generally not a lot you can do to prevent it from misbehaving other than
revoking its permissions.
If we assume that the client is well-behaved, I think a lot of these could
be solved by the client just giving the initiating entity the ability to
cancel in its application code, which will then make the client cancel the
flow.
If the assumption is that the client is malicious, are there any cases
where the initiating entity would cancel just the one transaction and not
revoke the permissions of the client?
I don't think I quite understand which threat model would lead to this
outcome.
Cheers,
Frederik
On Thu, 23 Jul 2026 at 17:42, <mitch@scorautomation.com> wrote:
>
> Hi Frederik,
>
> Both takeaways sound right to me, and a subject linked cancellation path
> in particular would close the gap I was pointing at. Since you asked about
> uses, here are three concrete scenarios from the agent deployment side, all
> the same shape: the principal's intent changes during the pending window,
> and today the principal has no path of their own.
>
> 1. Agent trading. A human authorizes an AI agent to execute a position on
> a regulated prediction market. Approval lands at hour 2, the token redeems
> at hour 12. At hour 7 conditions change and the human wants out. The
> cancellation token doesn't help them, the client holds it, and a
> compromised or simply autonomous agent has no reason to use it. CAEP
> doesn't fire either, the account is fine, only the intent changed. The
> human's only path today is whatever support surface the AS offers.
>
> 2. Enterprise delegation. An employee authorizes an agent to act in a
> procurement negotiation, then is reassigned mid window. Account termination
> would surface via SSF/CAEP, but voluntary reassignment or withdrawal is not
> an account state event. The subject needs a first class way to say this
> specific grant no longer stands.
>
> 3. Consumer purchases. A user approves an agent purchase flow, sleeps on
> it, and changes their mind before the merchant's approval workflow
> completes. Chargeback style remediation after redemption is expensive for
> everyone. Cancellation by the subject before redemption is cheap.
>
> The common requirements these imply: the cancellation path must be
> exercisable by the subject rather than the client, must not depend on the
> client cooperating, and must be distinguishable from account level signals,
> withdrawal of one grant, not a change in account state.
>
> On where it lives: I think you're right that the endpoint itself may be
> profile territory, OIDC or otherwise, while DTR's job is to guarantee the
> extension point exists, a defined way for the AS to check subject
> cancellation state before releasing the token at redemption. That keeps the
> substrate grant agnostic and lets profiles define how subject intent is
> expressed. For what it's worth, the layered work Karl and I have been
> discussing treats the subject's grant and its withdrawal as signed
> artifacts verified alongside redemption, which would compose naturally with
> a subject linked cancellation check in DTR: the endpoint handles the in
> band case, the artifact handles verifiability across trust boundaries.
> Happy to write up the use cases in more detail if that's useful for the
> draft.
>
>
> Mitchell Ross
> SignedByMe
>
>
>
>
>
> -------- Original Message --------
> On Thursday, 07/23/26 at 10:12 Frederik Krogsdal Jacobsen <
> frederik.krogsdal@idura.eu> wrote:
>
> Hi Mitchell and Karl,
>
> Thanks for thinking this through.
>
> My takeaway from this is that there are two things we should think about
> in DTR:
>
> 1. Make sure there are adequate extension points for SSF/CAEP profiles.
> 2. Consider supporting a separate cancellation endpoint, perhaps
> linked to the subject itself. I think this may possibly be use-case
> specific and belong in an OpenID Connect profile for DTR, but I'm not 100%
> sure I understand the uses yet.
>
> Cheers,
> Frederik
>
> On Wed, 22 Jul 2026 at 23:44, <mitch=40scorautomation.com@dmarc.ietf.org>
> wrote:
>
>> Hi Karl,
>>
>> Thanks. I accept this reframing. Keeping the substrate grant agnostic and
>> locating delegation authority in compositional profiles is the right
>> architecture; my points are better read as requirements on the composition
>> hooks than as changes to DTR, and on that reading DTR already leaves the
>> room. The Actor Profile family is close to what I was hoping existed, actor
>> signed per hop authority in Proofs especially. I'll study all three drafts
>> properly.
>>
>> One observation on the remaining delta, which you flagged first: the
>> composition currently routes exactly one question back through AS memory,
>> freshness. The authority chain verifies against independent trust roots,
>> but its currency delegates to introspection. So (1) and (2) from my
>> original mail are addressed by composition, while (3) survives it: the
>> principal still holds no first class revocation object, and withdrawal of
>> intent routes through the issuer's surface.
>>
>> A companion status mechanism could take the same shape as the delegation
>> itself: a principal signed status object published to a queryable status
>> source, verified against the same trust root as the proof chain, with no
>> issuer in the path. The tradeoff doesn't disappear, currency becomes cache
>> bounded against the status source, essentially the status list tradeoff,
>> but revocation becomes a principal operation, which is what closes point
>> (3). The status source could be any of the shapes already in this thread: a
>> status list, a federation endpoint, or another queryable transport. The
>> property that matters is that publication is permissionless for the
>> principal.
>>
>> On your request for a reference: SignedByMe (where I work) has built a
>> system for AI agent delegation that implements one instantiation of this
>> pattern, a principal signed delegation artifact, a principal published
>> revocation object, and verifier side checking of both. I'm preparing a
>> technical writeup with a JOSE serialization and will share it with the list
>> shortly so there's something concrete to compare against Proofs. We're also
>> evaluating DTR's deferral semantics for our own async approval flow and
>> would report implementation experience back to the list if that
>> materializes.
>>
>> I'd welcome a follow up conversation on whether a principal published
>> status mechanism is the right follow on to Proofs, and where that work
>> would live.
>>
>> Best,
>> Mitchell Ross
>>
>>
>>
>> On Wednesday, July 22nd, 2026 at 12:56 AM, Karl McGuinness <
>> me@karlmcguinness.com> wrote:
>>
>> Hi Mitchell,
>>
>> Thanks for raising this concern. My read is that your three points are
>> real and that they land at the composition layer above DTR rather than in
>> DTR itself. DTR is designed as a transport substrate; the
>> delegation-authority questions layer on top rather than modify it.
>>
>> DTR's job is the async transport: request, defer, poll, redeem, with
>> sender-constraining and cancellation. It deliberately does not define what
>> authority the deferral code represents, how that authority is expressed, or
>> how it's verified beyond the DPoP key binding. That's a design choice IMHO:
>> keeping the transport grant-agnostic lets it carry approval flows whose
>> credential shapes and verification models differ, without the substrate
>> needing to know about them.
>>
>> Your three concerns are all credential-shape and verification-model
>> concerns: (1) resolves to "make the delegation a signed artifact," (2) to
>> "make authority verifiable independently of AS state," and (3) partly to
>> "make revocation an artifact-holder operation." None require DTR to change;
>> they require the substrate to leave room for compositional profiles to
>> define signed delegation artifacts, principal-controlled key material, and
>> independent revocation surfaces. That's the pattern the substrate is
>> designed for.
>>
>> *Existence proof: the Actor Profile family*
>>
>> I've been publishing an actor-side delegation family that layers this
>> kind of authority chain on top of OAuth token issuance (not specifically
>> DTR, but structurally compatible):
>>
>> - draft-mcguinness-oauth-actor-profile
>> <https://datatracker.ietf.org/doc/draft-mcguinness-oauth-actor-profile/> defines
>> a visible act chain for delegation hops.
>> - draft-mcguinness-oauth-actor-receipts
>> <https://datatracker.ietf.org/doc/draft-mcguinness-oauth-actor-receipts/> adds
>> AS-signed per-hop provenance.
>> - draft-mcguinness-oauth-actor-proofs
>> <https://datatracker.ietf.org/doc/draft-mcguinness-oauth-actor-proofs/> adds
>> actor-signed per-hop authority.
>>
>> Mapped to your requirements: the principal signs an Actor Proof carrying
>> the target binding ("scopes") and JWT exp ("expiry"). At redemption, the
>> client polls with the deferral_code and a DPoP proof (per DTR §5.6); the
>> resource server independently validates the token signature (issuer trust),
>> the DPoP proof (current-hop possession), and the actor-signature chain
>> (delegation authority) against distinct trust roots. Proofs travel
>> alongside the OAuth request and are preserved into the issued token, or are
>> returned via introspection for opaque tokens. Delegation authority is
>> verified as a signature chain, not by consulting AS memory.
>>
>> Your "revocation handle" is the gap I flagged: the current Proofs draft
>> explicitly places per-proof online revocation outside its scope and
>> delegates freshness to AS introspection. A companion status mechanism would
>> close it, but that's follow-on work.
>>
>> Other compositional shapes are equally viable: OpenID Federation entity
>> statements offer a different lens on the same problem, and verifiable
>> credential approaches offer another. On the AuthZEN interop point you
>> raised, AROP (openid/authzen#531
>> <https://github.com/openid/authzen/pull/531>) is a published composition
>> of DTR + RAR + ARAP for AuthZEN-driven access requests, a concrete working
>> example of the same composability. The specific choice of profile matters
>> less than the substrate being composable enough for multiple viable answers
>> to exist. For DTR itself, the *interesting question is whether the
>> composition hooks are open, not which profile is picked*.
>>
>> *Why DTR already accommodates this*
>>
>> DTR doesn't restrict originating-request parameters (those are the
>> underlying grant type's rules) and doesn't shape the token issued in the
>> polling response (that's the issuing profile's job). A profile carrying a
>> signed delegation via RAR (RFC 9396
>> <https://datatracker.ietf.org/doc/html/rfc9396>) authorization_details or
>> a dedicated parameter fits on the request today, and the AS can embed the
>> delegation as a claim in the issued token, or expose it via introspection
>> for opaque tokens. No DTR changes required. The substrate posture that
>> makes DTR grant-agnostic is what makes it composable at both ends.
>>
>> Happy to dig into this as a follow-up conversation. If you have other
>> delegation-artifact work you think is useful for your concerns, I'd welcome
>> the reference so I can compare.
>>
>> -Karl
>>
>>
>> _______________________________________________
>> OAuth mailing list -- oauth@ietf.org
>> To unsubscribe send an email to oauth-leave@ietf.org
>>
>
- [OAUTH-WG] Comments on draft-gerber-oauth-deferre… mitch
- [OAUTH-WG] Re: Comments on draft-gerber-oauth-def… Karl McGuinness
- [OAUTH-WG] Re: Comments on draft-gerber-oauth-def… mitch
- [OAUTH-WG] Re: Comments on draft-gerber-oauth-def… Frederik Krogsdal Jacobsen
- [OAUTH-WG] Re: Comments on draft-gerber-oauth-def… mitch
- [OAUTH-WG] Re: Comments on draft-gerber-oauth-def… Frederik Krogsdal Jacobsen
- [OAUTH-WG] Re: Comments on draft-gerber-oauth-def… mitch
- [OAUTH-WG] Re: Comments on draft-gerber-oauth-def… Frederik Krogsdal Jacobsen
- [OAUTH-WG] Re: Comments on draft-gerber-oauth-def… Mohamad Khalil Yossif
- [OAUTH-WG] Re: Comments on draft-gerber-oauth-def… Frederik Krogsdal Jacobsen
- [OAUTH-WG] Re: Comments on draft-gerber-oauth-def… Mohamad Khalil Yossif