Skip to content

Use expected URL instead of expected origins for IAE flow - #695

Open
awoie wants to merge 10 commits into
mainfrom
awoie/fix-672
Open

Use expected URL instead of expected origins for IAE flow#695
awoie wants to merge 10 commits into
mainfrom
awoie/fix-672

Conversation

@awoie

@awoie awoie commented Jan 27, 2026

Copy link
Copy Markdown
Contributor

Fixes #672
Fixes #698

Need feedback on whether expected_url should be plural/ an array. Currently, it is a single value since there is only one IAE endpoint and follow-up requests have to use the IAE endpoint and not a dynamic URL provided by the interactive authorization response that requires interaction. If this should change any reasons (e.g. reusability), I would need to update the PR.

@GarethCOliver if this should be a resuable mechanism, do we need to change the binding the IAE endpoint sections? Currently, they are tightly coupled to IAE by using prefixes etc.

Comment thread 1.1/openid-4-verifiable-credential-issuance-1_1.md Outdated
Comment thread 1.1/openid-4-verifiable-credential-issuance-1_1.md Outdated
@TimoGlastra

Copy link
Copy Markdown
Member

Should this PR also address #698, since it's related to the origin binding?

I think the reference in A3.5 won't be correct anymore since it links to "derived Origin (as defined in Section 6.2.1.1)"

@Sakurann Sakurann added the iae Items related to Interactive Authorization Endpoint label Feb 5, 2026
Comment thread 1.1/openid-4-verifiable-credential-issuance-1_1.md Outdated
@awoie
awoie requested a review from TimoGlastra February 18, 2026 20:27
@awoie

awoie commented Feb 18, 2026

Copy link
Copy Markdown
Contributor Author

This PR needs more reviews.

Could you please review again @TimoGlastra

@TimoGlastra TimoGlastra left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think it's missing some required changes to fully remove all references to "Derived origin"

Comment thread 1.1/openid-4-verifiable-credential-issuance-1_1.md Outdated
Comment thread 1.1/openid-4-verifiable-credential-issuance-1_1.md Outdated
Comment thread 1.1/openid-4-verifiable-credential-issuance-1_1.md Outdated
awoie and others added 2 commits February 24, 2026 15:23
Co-authored-by: Timo Glastra <timo@animo.id>
@awoie
awoie requested a review from TimoGlastra February 24, 2026 14:27
Comment thread 1.1/openid-4-verifiable-credential-issuance-1_1.md Outdated
Co-authored-by: Timo Glastra <timo@animo.id>

@c2bo c2bo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I found the description/terminology a bit confusing: request vs Interactive Authorization Response in our terminology unless i misunderstood something. This is the current text:

The expected_url parameter is a non-empty string that contains the endpoint of the Verifier that is returning the request. In the openid4vp_presentation interaction type, expected_url MUST be set to the Interactive Authorization Endpoint.

If expected_url is present, the Wallet MUST compare the value in this parameter to the URL of the follow-up request to detect replay of the request from a malicious Verifier.

this is achieved by the Wallet verifying the expected_url parameter in the request, which contains the Interactive Authorization Endpoint that initiated the request.

Given the terminology, wouldn't something like this be more fitting?

the expected_url parameter is a non-empty string that contains the endpoint of the Authorization Server that is returning the Interactive Authorization Response.

If expected_url is present, the Wallet MUST compare the value in this parameter to the URL of the follow-up Interactive Authorization Request to detect replay of the request from a malicious Authorization Server/Verifier.

this is achieved by the Wallet verifying the expected_url parameter in the Interactive Authorization Response, which contains the Interactive Authorization Endpoint that initiated the Interactive Authorization Response.

Comment thread 1.1/openid-4-verifiable-credential-issuance-1_1.md Outdated
Comment thread 1.1/openid-4-verifiable-credential-issuance-1_1.md Outdated
Comment thread 1.1/openid-4-verifiable-credential-issuance-1_1.md Outdated
@Sakurann

Copy link
Copy Markdown
Collaborator

@c2bo can you please respond to @awoie 's suggestions?

@Sakurann
Sakurann requested a review from fkj April 22, 2026 08:17
@c2bo

c2bo commented Apr 22, 2026

Copy link
Copy Markdown
Member

@c2bo can you please respond to @awoie 's suggestions?

I think those changes help clarify / reduce the confusion between request & IA response, thanks @awoie!

@fkj fkj left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looks good to me with the new suggestions.

@c2bo c2bo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

looks good to me with the proposed changes

@brentzundel

Copy link
Copy Markdown
Collaborator

@awoie if you accept @c2bo 's changes, then I believe we can merge this PR.

@brentzundel

Copy link
Copy Markdown
Collaborator

@awoie, please also address merge conflicts.

brentzundel and others added 2 commits July 9, 2026 13:47
@mickrau

mickrau commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

@awoie @brentzundel
i solved the merge conflicts in mickrau/fix-672

Feel free to merge it into this PR

Update: After speaking with @paulbastian, I went ahead and merged it myself.

@mickrau
mickrau self-requested a review July 29, 2026 06:31

@mickrau mickrau left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I fixed the conflicts, but i'm not really satisfied that we're introducing a new VP related variable in this spec and gaining so little from it.
Correct me if I'm wrong, but we get a little more precision (uri instead of origin) but this only addresses potential privacy issues when:

different AS instances use the same origin and one instance is evil
the Authorization Response is not encrypted.
I would prefer to keep it simple and recommend to use response encryption (in HAIP)

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

Labels

iae Items related to Interactive Authorization Endpoint

Projects

None yet

Development

Successfully merging this pull request may close these issues.

IAE Binding for SD-JWT VC is inconsistent with other definitions Type definition of expected_origins clashes with IAE endpoint URL

7 participants