[#4253 8/8] docs+test: release notes, policy docs, two-VP same-id integration test#4291
Draft
stevenvegt wants to merge 1 commit into
Draft
[#4253 8/8] docs+test: release notes, policy docs, two-VP same-id integration test#4291stevenvegt wants to merge 1 commit into
stevenvegt wants to merge 1 commit into
Conversation
Assisted-by: AI
Contributor
|
Coverage Impact This PR will not change total coverage. 🚦 See full report on Qlty Cloud »🛟 Help
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Parent PRD
#4253
Item 8 of 8, the integration close-out. Depends on #5 (#4287), #6 (#4288), #7 (#4290) — and transitively the rest. Based on the feature branch, since it exercises and documents the fully integrated behavior.
Summary
Document the new behavior and verify it end to end: release-notes entries (user-facing only), a
docs/pages/deployment/policy.rstupdate, and an embedded-node integration test for the two-VP same-idbinding.Release notes —
docs/pages/release_notes.rstAppend to the existing Unreleased / ## New features section. User-facing changes only — the
MatchReportdiagnostics are internal in this PRD (no endpoint/UI surface yet), so they are not mentioned here. Entries (each referencing #4253 and linking the relevant PR), with details deferred to the policy docs:idbinding: within one PresentationDefinition, reusing a fieldidacross descriptors now requires the chosen credentials to agree on that id's value (previously the id was decorative and descriptors were matched independently).credential_selectionvalidation: unknowncredential_selectionkeys onrequest-service-access-tokennow return400 invalid_requestnaming every unknown key, validated against the in-scope PD(s) (single-VP) or their union (two-VP). (Previously an unknown key surfaced inconsistently; the per-descriptor selector no longer rejects keys mid-flow.)idfields have incompatible filters (conflicting type/const, etc.) now fails at startup with an error naming the field id. Includes a one-line audit checklist: search deployed PDs for repeatedidnames, confirm the intended shared-value semantics, and verify filters on shared ids agree on type and const.Each entry links to the new policy-docs section for detail.
Docs —
docs/pages/deployment/policy.rstAdd a section explaining, for PD authors:
idacross descriptors binds credentials to a single shared value (with a short example, e.g.org_uraon the HCP and delegation descriptors);idfilters fail the node at boot, and what "consistent" means (same declared type/const; path differences allowed; pattern-vs-pattern not checked);credential_selectionkey validation and the400 invalid_requestresponse.Cross-link from
oauth.rstif it documentsrequest-service-access-token.Integration test —
auth/api/iam/jwtbearer_integration_test.goExtend the existing embedded-node harness (
node.StartServer, the medication-overview policy + the three MO credentials) rather than adding a docker scenario. Add scenarios on a policy whose organization and service_provider PDs share a fieldid:request-service-access-tokenfails (no token), not a silently mismatched pair.These exercise the real engine, real signing, and real VP verification through the integrated stack.
Acceptance Criteria
policy.rstexplains same-idbinding, load-time validation, andcredential_selectionvalidation.idhappy path, mismatch rejection, and the org-only-captured-key (problem added baseline funcs from old repo #1) case.go test ./auth/api/iam/...passes; docs build.Out of scope
MatchReportdeveloper-diagnostics surface (endpoint/UI) — separate follow-up to Facilitate developers with their policy development #4218.