Global IdV feature flag / new "IdV Unavailable" page#7970
Closed
Global IdV feature flag / new "IdV Unavailable" page#7970
Conversation
matthinz
commented
Mar 10, 2023
matthinz
commented
Mar 10, 2023
matthinz
commented
Mar 10, 2023
aduth
reviewed
Mar 13, 2023
Contributor
Author
|
@aduth I’m leaning toward this approach to avoid adding code to
This way users can hit refresh during IdV to 🤞 try and fix their issue, but we still have flexibility to redirect the user to a friendly "idv unavailable" from other parts of the app. |
e990ee3 to
b24a680
Compare
9917262 to
62ec030
Compare
aduth
reviewed
Mar 15, 2023
jmhooper
reviewed
Mar 15, 2023
Tie feature to vendor availability as well as config.
Return a 503 service unavailable whenever IdV is unavailable.
The unused i18n detector was getting tripped up by the ternary conditional in here.
There's not really a route to this action by default.
Did not end up implementing this
Rather than bolting more functionality onto ApplicationController: - Add a new route at `/errors/idv_unavailable` for non-IdV parts of the app to redirect to - Take over `/verify/*` and show the unavailable message when it is.
When IdV becomes available again, try and send the user back where they were.
… more helpful and detailed error message when identity verification is unavailable.
We're not longer using this bit of VendorStatus.
Keep `redirect_from` analytics param for this case. (503 responses will log with the event `path` set to the currnet location)
Use `show` for the action that shows the error, and move view to the more conventional `idv/unavailable/show.html.erb`.
For both use cases (fixed path at /errors/idv_unavailable AND catchall for /verify/* when idv is down), just use the "show" action. Also, only return 503 Service Unavailable if idv is actually unavailable.
62ec030 to
e116e8e
Compare
5XX errors will trigger nuisance alerts in monitoring tools. An error message that we have purposefully put in place should be regarded as "OK".
Contributor
|
It appears that the spec failing in the build is relevant to the changes. |
This was leftover from an earlier version of this PR.
Contributor
Author
|
I'm gonna mark this as a "work in progress" for now, as there is some overlap here with #8011 that I'd like to iron out after that lands. |
Contributor
Author
|
I'm going to close this in favor of a new PR, since this has gone stale w/r/t |
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🎫 Ticket
LG-8710
🛠 Summary of changes
Provide a way to disable IdV independent of vendor status flags
There was a desire to be able to keep our existing
VendorStatusinfrastructure, but also provide a means for on-call engineers to completely disable identity verification independent of that.So now, in addition to marking a required vendor as
:full_outage, settingidv_available: falsewill disable IdV completely.In code,
FeatureManagement.idv_available?should be the preferred way of establishing whether identity verification is available to end users.Add a new page explaining that Idv is down
The new page (see screenshots below) includes language related to identity verification, and so is not appropriate to be used as a generic error page. There are instances where the old vendor outage page were being used by non-IdV code—these are unmodified.
📜 Testing Plan
Provide a checklist of steps to confirm the changes.
idv_available: falsein your config and restart your server👀 Screenshots
With Service Provider:
Without Service Provider: