[OAUTH-WG] 回复: Re: [gffletch/tt_xdomain] Consider direct JAG-to-Txn-Token exchange as an optional flow (Issue #17)

niyuan <niyuan1@huawei.com> Sun, 20 September 2026 12:13 UTC

Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx.ietf.org (Postfix) with ESMTPS id 46E4931 for <oauth@ietf.org>; Sun, 20 Sep 2026 12:13:35 +0000 (UTC)
Authentication-Results: mx.ietf.org; dkim=pass header.d=huawei.com header.s=dkim header.b=kRtXuOWT; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (mx.ietf.org: domain of niyuan1@huawei.com designates 185.176.79.56 as permitted sender) smtp.mailfrom=niyuan1@huawei.com
dkim-signature: v=1; a=rsa-sha256; d=huawei.com; s=dkim; c=relaxed/relaxed; q=dns/txt; h=From; bh=5DDm6jqN7RruUol8rhViwEx600DmwSByQVHFvHm0Hb8=; b=kRtXuOWTMpnJtcNznAIueyoMbqY6bpQ1aQo6m5LPk4PNJrE5Mvys+PkADeb5AUWcRMSfvK3sK N88L/9aeIga75A0c8TwGfNq/j3Po9HG+mtVcVEv6S8MpE5JxAtKKLv6IuEIoxJw61a7E5TWn+oc ZM+j0qMeD1e6U7PRRpBBUAA=
Received: from mail.maildlp.com (unknown [172.18.224.107]) by frasgout.his.huawei.com (SkyGuard) with ESMTPS id 4hnlbv4TnPzJ46Dk for <oauth@ietf.org>; Sun, 20 Sep 2026 20:12:27 +0800 (CST)
Received: from lhrpeml100010.china.huawei.com (unknown [7.191.174.197]) by mail.maildlp.com (Postfix) with ESMTPS id BF02140584 for <oauth@ietf.org>; Sun, 20 Sep 2026 20:13:28 +0800 (CST)
Received: from kwepemr100015.china.huawei.com (7.202.195.49) by lhrpeml100010.china.huawei.com (7.191.174.197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Sun, 20 Sep 2026 13:13:27 +0100
Received: from kwepemr500016.china.huawei.com (7.202.195.68) by kwepemr100015.china.huawei.com (7.202.195.49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Sun, 20 Sep 2026 20:13:25 +0800
Received: from kwepemr500016.china.huawei.com ([7.202.195.68]) by kwepemr500016.china.huawei.com ([7.202.195.68]) with mapi id 15.02.2562.045; Sun, 20 Sep 2026 20:13:25 +0800
From: niyuan <niyuan1@huawei.com>
To: Pieter Kasselman <pieter@defakto.security>
Thread-Topic: [OAUTH-WG] Re: [gffletch/tt_xdomain] Consider direct JAG-to-Txn-Token exchange as an optional flow (Issue #17)
Thread-Index: AQHdQJaDOwvlBfj31UWETFPjeNL/DgIRxZL5AZMfHsEC0Oj9G7ecIpDw
Date: Sun, 20 Sep 2026 12:13:25 +0000
Message-ID: <147cf5f0ff0f4b2eb51d85ae36ec379c@huawei.com>
References: <gffletch/tt_xdomain/issues/17@github.com> <gffletch/tt_xdomain/issues/17/5607978459@github.com> <a62a8e68bc0d4c9ca1f6ea922adc6c98@huawei.com> <CALtWOA1_nWGpm94aKtHDzFTshq1U0d1mGgViJZ8N6=e4Z9GXTw@mail.gmail.com>
In-Reply-To: <CALtWOA1_nWGpm94aKtHDzFTshq1U0d1mGgViJZ8N6=e4Z9GXTw@mail.gmail.com>
Accept-Language: en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.136.131.77]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Spamd-Bar: ---------
Message-ID-Hash: DK7PLOUCAOJUU2RFNRJIKBPZVVQOGEEU
X-Message-ID-Hash: DK7PLOUCAOJUU2RFNRJIKBPZVVQOGEEU
X-MailFrom: niyuan1@huawei.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-oauth.ietf.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: oauth <oauth@ietf.org>, "Liuchunchi(Peter)" <liuchunchi@huawei.com>
X-Mailman-Version: 3.3.10
Precedence: list
Subject: [OAUTH-WG] 回复: Re: [gffletch/tt_xdomain] Consider direct JAG-to-Txn-Token exchange as an optional flow (Issue #17)
List-Id: OAUTH WG <oauth.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/YWu2OFvXsxKxWdT1nPlgHS1N2X0>
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>

Thanks @PieterKas,I understand your point about keeping the two roles clear: AS-B controls access to resources in Domain B, while TTS-B issues the local Txn-Token.

My concern is that introducing the intermediate Access Token adds one additional exchange and two additional cross-domain hops, which reduces efficiency. Moreover, It may introduce a reusable cross-domain token without the JAG’s explicit short-lifetime and single-use constraints. If that Access Token is only used to obtain a local Txn-Token, as illustrated in the “Chaining Across Multiple Trust Domains” section, could this unnecessarily increase the opportunity for reuse or broaden the exposure surface?

A similar concern was previously raised in oauth-wg/oauth-transaction-tokens#62, where it was noted that “creating long-living Access Tokens just for the purpose of exchanging them for short-lived Txn-Tokens and then throwing them away can be considered wasteful (energy costs),” and that such a long-lived Access Token “could leak and another party could use them to create Txn-Tokens or access resources the Access Token was meant for.”

With AS-B and TTS-B retaining their respective roles, could this profile define an optional domain-local interaction where AS-B makes the authorization decision and provides the approved authorization context to TTS-B for local Txn-Token issuance? This could avoid the intermediate Access Token while preserving the existing role separation, with AS-B still receiving the JAG and authorizing access in Domain B.

Best Regards,
Yuan

-----邮件原件-----
发件人: Pieter Kasselman <pieter@defakto.security> 
发送时间: 2026年9月14日 20:03
收件人: niyuan <niyuan1=40huawei.com@dmarc.ietf.org>
抄送: oauth <oauth@ietf.org>; Liuchunchi(Peter) <liuchunchi@huawei.com>
主题: [OAUTH-WG] Re: [gffletch/tt_xdomain] Consider direct JAG-to-Txn-Token exchange as an optional flow (Issue #17)

Hi Yuan

Apart from @gffletch concerns, I believe there is a more fundamental issue with your proposal.

In an OAuth ecosystem, resources in Domain B are protected by the Authorization Server in Domain B and require a valid OAuth Access Token for access, not a JAG. Using a JAG as you propose above is inappropriate and consequently unsafe since the JAG is issued by the Authorization Server in Domain A. The Authorization Server in Domain A is not responsible for controlling access to resources in Domain B.

Because the flows you propose remove the OAuth Authorisation Server in Trust Domain B from the access decision for Resources in Domain B your proposal is unsafe (a JAG is not an OAuth Access Token).

Cheers

Pieter





On Mon, Sep 14, 2026 at 5:18 AM niyuan
<niyuan1=40huawei.com@dmarc.ietf.org> wrote:
>
> Hi George and all,
>
>
>
> For list visibility, I’d like to share the recent GitHub discussi=n on the direct JAG-to-Txn-Token flow in draft-fletcher-oauth-txn-token-ch=ining-profile:
>
>
>
> https://github.com/gffletch/tt_xdomain/issues/17
>
>
>
> As described in the "Chaining Across Multiple Trust Domains" section, thi= profile MAY be applied recursively when a transaction spans multiple trus= domains. In this case, each trust-domain transition repeats the JAG-to-Ac=ess-Token and Access-Token-to-Txn-Token exchanges. The associated round tr=ps and processing overhead therefore accumulate as the workflow crosses mo=e domains.
>
>
>
> Identity Chaining already allows a JAG `aud` claim to identify multiple t=usted authorization servers (in Section 2.3.3). To reduce the above overhe=d, could the JAG `aud` claim be extended in this profile to also include T=S-B, so the downstream domain could choose between the following flows?
>
>
>
> AS-B receives the JAG and follows the existing Identity Chaining flow 
> to =ssue an Access Token; TTS-B accepts the JAG and issues a local Txn-Token.
>
>
>
> This profile already makes profile-specific changes to the base Identity =haining parameter usage, such as `resource`. Similarly, the direct JAG-to-=TS-B flow could be defined as a profile-level extension by allowing the `a=dience` parameter and JAG `aud` claim to include TTS-B.
>
>
>
> I think this could be a useful optimization for multi-domain workflows. W=uld you consider it a reasonable extension?
>
>
>
>
>
> Best regards,
>
> Yuan
>
>
>
>
>
> For reference, the earlier GitHub discussions are included below.
>
>
>
> --- Earlier GitHub discussion ---
>
>
>
> Topic: Re: [gffletch/tt_xdomain] Consider direct JAG-to-Txn-Token 
> exchang= as an optional flow (Issue #17)
>
>
>
> gffletch left a comment (gffletch/tt_xdomain#17)
>
> Thanks for the explanation and sequence flows. I understand the desired o=timization more clearly now.
>
> The issue that blocks this sort of optimization is that draft-ietf-oauth-=dentity-chaining (on which this profile depends) in section 2.3.1 explicit=y requires the resource parameter of the token exchange request to be the =RI of the authorization server in trust domain B. The same is true of the =udience parameter in the token exchange call. This means the JAG is explic=tly only valid at AS-B.
>
> Note also that section 2.3.3 also requires the issued JAG audience claim =o explicitly be the Authorization Server in trust domain B.
>
> Therefore, at this point, I don't see a path to implement this flow.
>
>
> Topic: Two suggestions for 
> draft-fletcher-transaction-token-chaining-prof=le
>
>
>
> Hi George, Pieter, and Sean,
>
>
>
> I would like to share two GitHub issues I opened with two suggestions for=draft-fletcher-transaction-token-chaining-profile:
>
>
>
> 1.      Direct JAG-to-Txn-Token exchange as an optional flow
>
> When the downstream domain needs a local Txn-Token to continue the workfl=w, this issue explores whether the intermediate Access Token exchange can =e avoided by allowing the downstream TTS to directly accept the JAG. In th=s proposal, no Txn-Token crosses the trust-domain boundary. Txn-Tokens rem=in local to their respective trust domains, while the JAG carries the cros=-domain authorization information.
>
> https://github.com/gffletch/tt_xdomain/issues/17
>
>
>
> 2.      Support `tctx` in `txn_claims`
>
> `tctx` may be useful for the downstream domain to continue the same workf=ow, so this proposes that it MAY be included in `txn_claims`, subject to m=nimization and privacy policy.
>
> https://github.com/gffletch/tt_xdomain/issues/18
>
>
>
> I would appreciate your thoughts on these suggestions.
>
>
>
> Best regards,
>
> Yuan
>
>
>
> _______________________________________________
> OAuth mailing list -- oauth@ietf.org
> To unsubscribe send an email to oauth-leave@ietf.org