-
Notifications
You must be signed in to change notification settings - Fork 107
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
[SIW-1455] Reissuing expired or expiring eID #6580
base: master
Are you sure you want to change the base?
[SIW-1455] Reissuing expired or expiring eID #6580
Conversation
…-credential-expiry-and-reissuing
Jira Pull Request LinkThis Pull Request refers to the following Jira issue SIW-1455 |
onError: [ | ||
{ | ||
guard: "isReissuingAndSessionExpired", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can use the and
higher guard: and(["isReissuing", "isSessionExpired"])
.
I have a question on this error case: is it correct to close the issuance (action that pops the navigation stack) and return to idle while the user re-authenticates? Are we sure the user can resume the issuance flow without getting stuck in an "impossible" state? Just to be sure.
Short description
This PR handle the reissuing of eID when it is expired or expiring and manages credential requests when the eID is expired, and the Wallet Instance is invalid
List of changes proposed in this pull request
ItwEidLifecycleAlert
to start eID reissuing, navigating toItwIdentificationModeSelectionScreen
with parameidReissuing
set totrue
eidReissuing
toItwIdentificationModeSelectionScreen
, if present send thestart-reissuing
event toitwEidIssuanceMachine
ItwPresentationEidVerificationExpiredScreen
, displayed when requesting a credential with the expired eID and a not valid Wallet InstanceItwPresentationEidVerificationExpiredScreen
inWalletCardOnboardingScreen
requesting a credential but the Wallet Instance is not validitwEidIssuanceMachine
created a new actionsetIsReissuing
to set theisReissuing
context state totrue
, and added a new guardisReissuing
to check if we are in the reissuing scenario.Added the
start-reissuing
event to theIdle
state, allowing a direct transition to theUserIdentification
state. Enhanced theUserIdentification
state to handle the back button differently based on whether the flow is in the reissuing scenario or not. Updated theDisplayingPreview
state to handle reissuing. IfisReissuing
istrue
, it navigates directly to the wallet; otherwise, it transitions to theSuccess
stateHow to test
To test the changes, simulate different scenarios by mocking the
jwt.expiration
of the stored eID credential: request the eID when it is expiring or expired, and attempt to request a credential with an expired eID and an invalid Wallet Instance, ensuring the correct screens and flows are triggeredRequesting credential with WI invalid and eID expired
Screen.Recording.2024-12-24.at.10.50.05.mov
Reissuing expiring eID (same flow for expired eID)
Screen.Recording.2024-12-24.at.10.38.58.mov