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

Deferred Flow when AT expires #538

Open
fmarino-ipzs opened this issue Jan 24, 2025 · 5 comments
Open

Deferred Flow when AT expires #538

fmarino-ipzs opened this issue Jan 24, 2025 · 5 comments
Assignees
Labels
enhancement Something improving existing features issuance question Further information is requested standardization Topics related to the standardization process in IETF/OIDF
Milestone

Comments

@fmarino-ipzs
Copy link
Collaborator

Currently, the Deferred Flow is only allowed if the WI has a valid Access Token, according to the latest draft of OID4VCI. We should clarify how to use deferred flow in case of expired AT.
The Refresh Token seems to be a good mechanism but we should consider:

  1. DPoP RT
  2. Refresh Token Rotation mechanism

Moreover:

  • regarding point 1, we should analyze the UX implications
  • we should clarify the scope of the RT beyond deferred flow (e.g. for re-issuance/renewal of a Digital Credential)
@fmarino-ipzs fmarino-ipzs added enhancement Something improving existing features question Further information is requested issuance standardization Topics related to the standardization process in IETF/OIDF labels Jan 24, 2025
@fmarino-ipzs fmarino-ipzs added this to the 0.9.2 milestone Jan 24, 2025
@fmarino-ipzs
Copy link
Collaborator Author

Regarding point 1 and UX implications: even if we would not consider the use of DPoP for RT, we would still have a DPoP AT to be used for the Credential Endpoint, therefore requiring user involvement during the deferred (or in the even more general case during a re-issuance/renewal of a Credential).
WDYT?

@peppelinux
Copy link
Member

I am in favor of using DPoP for RT

a wallet http request to a third endpoint could be hijacked and the refresh token therefore stolen. DPoP is the security solution that definitively mitigates this

@peppelinux
Copy link
Member

I am ok to use the same cnf of the AT for the RT too, or at least to not mandate to use different cryptographic materials for AT and RT

@asharif1990
Copy link
Collaborator

I think from the security prespective and following the BCPs it is a good strategy to have the DPoP RT. Regarding the UX implications, You can pre-generate the DPoP proof and control their validity based on the server-provided Nonce and use them in the background without user involvement.

regarding other use-cases. I agree with you @fmarino-ipzs.

@grausof
Copy link
Collaborator

grausof commented Jan 29, 2025

I agree with the use of DPoP. I don't see any major complications on the UX side, once the app is opened and the wallet is unlocked, the app is able to perform all the cryptographic operations necessary for a refresh. From a technical point of view, no user consent is necessary, but if required from a legal point of view it could be a one-shot consent for reissuance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Something improving existing features issuance question Further information is requested standardization Topics related to the standardization process in IETF/OIDF
Projects
Development

No branches or pull requests

6 participants