Skip to content

Add invalid_tx_code error code to pre-authz code flow#686

Open
awoie wants to merge 8 commits intomainfrom
awoie/fix-474
Open

Add invalid_tx_code error code to pre-authz code flow#686
awoie wants to merge 8 commits intomainfrom
awoie/fix-474

Conversation

@awoie
Copy link
Contributor

@awoie awoie commented Jan 15, 2026

Fixes #474

@awoie awoie requested a review from jogu January 15, 2026 15:48
@awoie
Copy link
Contributor Author

awoie commented Jan 21, 2026

@c2bo @tplooker @Sakurann @jogu @paulbastian could somebody please review this.

Copy link
Contributor

@paulbastian paulbastian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes a lot of sense, please consider to strengthen the normative language.

@awoie awoie requested a review from fkj February 18, 2026 19:39
@awoie
Copy link
Contributor Author

awoie commented Feb 18, 2026

@Sakurann @fkj @paulbastian @tplooker I updated the PR accordingly to:

  • add security considerations to errata
  • invalid_tx_code is still a should, not a must for backward compatibility. however, i tried to make 1.0 errata future-proof.
  • scope of this PR is limited to transaction codes. note that pre-authz codes must be short-lived as per 1.0. This PR just talks about transaction codes where the WG was not able to provide an example where the transaction code is long-lived. also note that it is a should, not a must.

Copy link
Member

@fkj fkj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was convinced during the WG meeting that the transaction code lifetime issue is "superseded" by the pre-authorized code lifetime already being "short-lived", whatever that means for the specific application. So I'm OK with just saying transaction codes SHOULD also be short-lived.

@Vanderkast
Copy link
Member

In general, LGTM.

Assume the following scenario:

  1. The End-User passes OOB process prepending OID4VCI Pre-Authorized code flow.
  2. The Issuer sends the Credential Offer and the tx_code.
  3. The End-User starts Credential Issuance via the Wallet.
  4. The Wallet accesses Token Endpoint of the Authorization Server (AS) and exchanges tx_code for an Access Token.
  5. The Wallet accesses Credential Endpoint of the Issuer but receives HTTP status code 202 involving the Wallet to access Deferred Credential Endpoint later on.

Due to one-time usage of tx_code, the Wallet cannot re-issue Access Token if it is expired.

  1. Is Credential Response HTTP status code 202 considered at all in such flow?
  2. If so, do we expect AS to return Refresh Token so the Wallet can refresh Access Token?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Define dedicated error code for tx code in pre-auth code flow

7 participants