-
Notifications
You must be signed in to change notification settings - Fork 515
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DIF Presentation Issue: Credential Not Identified Despite Matching Schema Context #3441
Comments
@PatStLouis @dbluhm — can either of you help here? |
@
here in this function, it's trying to find the id in expanded_types. adding a find in context might help.. |
Try adding "schema": [
{
"uri": "https://w3c-ccg.github.io/citizenship-vocab/contexts/citizenship-v2.jsonld#Person"
}
] I haven't questioned this or looked deeply into it but I've discovered that, in order to request a presentation with a schema uri, the implementation expects the type to be on the end of the uri as a fragment. As another example, to match the root
|
@dbluhm, You are absolutely correct about the root one. But the other one doesn't work if I add
I can give you another example.. If I try to issue similar credential with context
And this is for the initial issuance,
If I am not wrong then it seems Example issuance payload,
Example verification payload,
|
I did some exploration with your examples and have recreated the scenario you described. ACA-Py is indeed "expanding" the I think what we're seeing is a result of the Presentation Exchange Spec not having precise text for using presentation definitions to request JSON-LD based credentials. The ...
"fields": [
{
"path": ["$.credentialSchema.id", "$.vc.credentialSchema.id"],
"filter": {
"type": "string",
"const": "hub://did:foo:123/Collections/schema.us.gov/passport.json"
}
},
... So I agree that this seems an odd process but it seems a technically valid way to use the PEx 1.0 spec with JSON-LD credentials. Notably, this is the way agents ACA-Py interops with (e.g. Credo) expect to have JSON-LD credentials requested so it aligns with how this is conventionally used. Modifying this behavior would constitute a breaking change that would extend beyond the sphere of ACA-Py. |
I'm curious if @PatStLouis has any additional insights |
Thanks a lot for the brief explanation @dbluhm . |
I am using
acapy-v1.2.0
and issuing a json-ld credential. Following is the payload for credential issuance.If I call
/credentials/w3c/
, I get following output for the received credential.Now I want to verify this credential. To do so from verifier I send a proof request using following payload.
But when I run
/present-proof-2.0/records/{pres_ex_id}/credentials
on holder it is not able to find the credential for presentation.But if I change the schema uri to
https://schema.org/Person
(which is technically the@id
of Person inhttps://w3c-ccg.github.io/citizenship-vocab/contexts/citizenship-v2.jsonld
and also present in theexpanded_type
in w3c credential record) then it is able to find the credential for presentation. . I am a little bit confused here..shouldn't the schema uri be as same as the one used in context during issuance ? Please let me know if I am missing out something.The text was updated successfully, but these errors were encountered: