Skip to content

feat(claims-source-app): support claim set lookups and fix license lookup - #342

Open
avner-m wants to merge 2 commits into
masterfrom
am/claim-sets-sample-app
Open

avner-m wants to merge 2 commits into
masterfrom
am/claim-sets-sample-app

Conversation

@avner-m

@avner-m avner-m commented Sep 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Extends claims-source-app so it serves both the existing Claims source tutorial and the new Claim sets tutorial on MATTR Learn. Also bumps the Android sample holder to a Holder SDK version that supports claim sets.

claims-source-app

  • GET /claims now looks up by recordId when present. The Claim sets tutorial maps it from the claim set identifier with mapFrom: "claimSetId". Otherwise it looks up by licenseNumber, as the Claims source tutorial expects.
  • An unknown recordId returns 200 {} instead of 404. The Claim sets tutorial's last step issues a record that is not in the database, with the data supplied on the offer. MATTR VII fails issuance on a non-2XX Claims source response, so a 404 would break that step.
  • Fixes an existing bug: the lookup read an email query parameter that no record in database.json has, so every request returned 404. The data and README switched to licenseNumber in chore: Update Claims Source app #252, but the code was never updated.
  • Adds three fictional birth certificate records (BC-1001 to BC-1003) for one fictional family.
  • README: documents both lookup keys, and replaces the stale /guides/oid4vci/claim-source-tutorial URL with the current tutorial URLs. The top-level README's empty tutorial link is filled in.

android-holder-tutorial-sample-app

  • Bumps global.mattr.mobilecredential:holder from 7.0.1 to 7.2.0. From 7.2.0 the SDK claims several credentials of the same type from one offer, and the Holder SDK quickstart points Claim sets tutorial readers to this app. The 7.1.x and 7.2.0 changelogs list no API changes that affect MainActivity.kt.

Testing

  • Ran the app locally and checked the endpoint with curl:
    • licenseNumber=DL-123456 returns 200
    • an unknown licenseNumber returns 404
    • recordId=BC-1002 returns 200 with the record
    • recordId=BC-1004 returns 200 {}
    • a bad x-api-key returns 401
  • Not verified: the Android sample holder was not built on 7.2.0. The SDK zip isn't available in my environment, so a reviewer should do a local build.
  • Not verified: end to end against a claim-sets-enabled tenant.

Merge order

The Claim sets tutorial link in the READMEs goes live when the companion MATTR Learn PR merges. Merge this PR first, because the tutorial links to the new records.

🤖 Generated with Claude Code

…okup

Look up records by recordId (mapped from the claim set identifier) for the new Claim sets tutorial, and by licenseNumber for the Claims source tutorial. The lookup previously read an email query parameter that no record in database.json has, so every request returned 404.
@avner-m
avner-m requested a review from a team as a code owner September 24, 2026 04:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant