Skip to content
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

Clarification on when a credentialRefresh service should be used #1020

Closed
morgatron opened this issue Jan 30, 2023 · 10 comments
Closed

Clarification on when a credentialRefresh service should be used #1020

morgatron opened this issue Jan 30, 2023 · 10 comments
Labels
pending close Close if no objection within 7 days question

Comments

@morgatron
Copy link

morgatron commented Jan 30, 2023

It's stated on the third paragraph here that:

"The refresh service is only expected to be used when either the credential has expired or the issuer does not publish credential status information."

To me this sounds like refreshing should be used:

  • when a credential is expired (clear enough)
  • When a credential is not revocable
  • At no other time

Apart from finding this confusing, I see conversation elsewhere, including on issues on this repo, where other uses are considered. So I'm presumably misunderstanding something. Perhaps I"m not the only one confused by this.

@Sakurann
Copy link
Contributor

I think refreshService Property should be removed from v2 specification. Issuance/refresh happens between the Issuer and the Holder, so this should be covered by whichever Issuance protocol used to issue the credentials. Verifier does not need to know issuer's issuance/refresh endpoint. and if the Holder got Credential Issued once, it would know issuer's issuance/refresh endpoint already, without this property.

@TallTed
Copy link
Member

TallTed commented Feb 13, 2023

if the Holder got Credential Issued once, it would know issuer's issuance/refresh endpoint already

I question this assertion, especially if the Issuer's issuance endpoint(s) differ from their refresh endpoint(s). It seems to me refreshService should be retained.

@David-Chadwick
Copy link
Contributor

@TallTed Don't you think that the issuer can inform the holder the endpoint for refreshing the VC that it is currently issuing during the issuing process? Or even by some out of band means? Why should the verifier be able to learn the refresh endpoint? This seems to me to be an example of allowing the verifier to call home.

@jandrieu
Copy link
Contributor

The paragraph cited seems to be incorrect. Refresh != status, so I'm not sure why these two would be conflated.

@Sakurann Sakurann added the pending close Close if no objection within 7 days label Apr 11, 2023
@Sakurann
Copy link
Contributor

pending close since the original question has been responded to. please also see the outcome of #1082

@iherman
Copy link
Member

iherman commented Apr 12, 2023

The issue was discussed in a meeting on 2023-04-11

  • no resolutions were taken
View the transcript

1.2. Clarification on when a credentialRefresh service should be used (issue vc-data-model#1020)

See github issue vc-data-model#1020.

Kristina Yasuda: "Clarification on when a credentialRefresh service should be used" - this is a question with some attempts at an answer.
… is this suitable for pending close tag? or is discussion still going on.

Manu Sporny: on the fence about this - have a proposal to move credential refresh to a property - will assert two implementations.
… maybe we do something about this if credentialRefresh stays in specification.
… PR is #1082.

1 similar comment
@iherman
Copy link
Member

iherman commented Apr 12, 2023

The issue was discussed in a meeting on 2023-04-11

  • no resolutions were taken
View the transcript

1.2. Clarification on when a credentialRefresh service should be used (issue vc-data-model#1020)

See github issue vc-data-model#1020.

Kristina Yasuda: "Clarification on when a credentialRefresh service should be used" - this is a question with some attempts at an answer.
… is this suitable for pending close tag? or is discussion still going on.

Manu Sporny: on the fence about this - have a proposal to move credential refresh to a property - will assert two implementations.
… maybe we do something about this if credentialRefresh stays in specification.
… PR is #1082.

@TallTed
Copy link
Member

TallTed commented Apr 12, 2023

@David-Chadwick

@TallTed Don't you think that the issuer can inform the holder the endpoint for refreshing the VC that it is currently issuing during the issuing process? Or even by some out of band means? Why should the verifier be able to learn the refresh endpoint? This seems to me to be an example of allowing the verifier to call home.

The current holder may not have been the original holder (a/k/a the issuee), so no, I don't "think that the issuer can inform the holder the endpoint for refreshing the VC that it is currently issuing during the issuing process" nor "by some out of band means".

I do agree that this might be "an example of allowing the verifier to call home", so it seems the credentialRefresh should be metadata of the VC (not an assertion within it), which the holder/presenter MAY (SHOULD? MUST?) omit from the presentation.

@David-Chadwick
Copy link
Contributor

@TallTed I agree with you that the refresh property should not be metadata of the credential, but rather metadata of the verifiable credential. This means that the issuer can provide it to the issuee via the issuing protocol (which could be in the VP if the VP construct is used) but otherwise as a parameter of the issuing protocol. We agree that the property must never be inside the VC. The issuee may pass this metadata to a subsequent holder at its own discretion by inserting it into the VP that it creates.

@brentzundel
Copy link
Member

Though comments have been added, no objections to closing have been raised since being marked pending close, closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pending close Close if no objection within 7 days question
Projects
None yet
Development

No branches or pull requests

7 participants