-
Notifications
You must be signed in to change notification settings - Fork 66
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
[VI-850] updates SiS session refresher to poll MPI for id theft & death flags #19752
base: master
Are you sure you want to change the base?
Conversation
472cb23
to
b52aabd
Compare
b52aabd
to
1d03fa0
Compare
1d03fa0
to
99045fe
Compare
I wonder if we could put this in UserLoader and run the checks when the user model has to be recreated |
99045fe
to
db162e3
Compare
db162e3
to
0552683
Compare
2ccded6
to
0c60c50
Compare
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.
Looks gud, thanks for making those changes
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.
Tested with new changes, lgtm with the changes!
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.
Nice -- thank you!
Summary
This PR serves to patch a vulnerability discovered wherein a mobile user who originally authenticated with valid MPI death & id_theft flags had one of those authentication-blocking attributes updated in MPI but was maintaining a session on the VA mobile app. This change makes it so that every time a
User
model is instantiated via SiS auth it check the MPI profile (Redis cache or MPI API query) for MPI death & id theft flags.Code changes
services/sign_in/user_loader::reload_user
method to call newly-created User modelvalidate_mpi_profile
method.id_theft_flag
anddeceased_date
attributes and failures of those validations results in anMPILockedAccountError
error being raised and the authentication action terminating.Related issue(s)
Testing done
mvi/profile_icn/<icn>.yml
to include one of the following:<patientPerson>
block add the following two attributes<deceasedInd nullFlavor="PINF" value="true"/>
<deceasedTime value="19991231"
<patient classCode="PAT">
block add the following attribute<confidentialityCode code="ID_THEFT^TRUE"/>
What areas of the site does it impact?
Authenticated routes
Acceptance criteria
Requested Feedback
(OPTIONAL)What should the reviewers know in addition to the above. Is there anything specific you wish the reviewer to assist with. Do you have any concerns with this PR, why?