-
Notifications
You must be signed in to change notification settings - Fork 4
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
BUG - sev-2 - [iOS/Android/All] - Increase in session refresh error rates (which forces users to re-authenticate) #9615
Comments
Slack thread for additional context: https://dsva.slack.com/archives/C04LFGY2SJK/p1725392845790499 |
There is a spike of logNonFatalErrorToFirebase(err, So looking through that non fatal I see that the spike started with 2.30 at least compared with the previous versions. ~780 vs previous versions of it being mid 200s and then exploding at 2.32 where it jumps to 23k for Android and iOS it was a slow ramp up starting in 2.24 ~300 and steadily gaining more each release and again exploding in 2.32 to 38k. const retrieveRefreshToken = async (): Promise<string | undefined> => { if (reconstructedToken) { return reconstructedToken |
Looking further I found there is also a non fatal for saving the refresh token, but it’s numbers didn’t spike so that likely indicates that saving is done correctly. |
so I guess my next question is do we have a spike for vama_login_token_get with a value of false? |
also knowing if there was a spike in vama_login_token_store being false would also be useful |
Taking a look at the libraries for Async Storage and Keychain nothing jumps out in their issues that would be causing this problem, but it could still be possible. |
I checked the version history for both Keychain and Async Storage for which version we used to see if it was possible we updated to an unstable version. Looks like Keychain and Async Storage both didn't change versions from when we had stable releases with out the spike and immediately after the spike. This leads me to further believe that it isn't a library problem We have updated both since then and there are currently new versions available for both that haven't been upgraded yet. |
Looking further at the logs I think this might lead to more for Android Wrapped error: javax.crypto.IllegalBlockSizeException iOS was not as helpful The user name or passphrase you entered is not correct. |
with that error I was able to find this thread oblador/react-native-keychain#262 and it looks like a solution is to specify storage: Keychain.STORAGE_TYPE.AES, in the keychain options as biometrics picks one based off the settings and RSA and the other types sometimes throws this error but AES seems to be reliable |
@Sparowhawk Android is no longer behaving as expected. If you login to a staging user, turn on biometrics, minimize the app, and re-open it it is no longer asking for your biometrics before signing you in again. |
@theodur Waiting on Theo's upgrade ticket for the library so we can specify the biometrics AES option instead of letting the device pick |
@Sparowhawk Your fix fixed the original issue but brought on another issue. It looks like the biometric authentication is occurring during the first time login as well (when it shouldn't). Still just for android. So if you uninstall/re-install the app, login to staging, and press yes to use biometrics a biometric authentication popup is appearing in front of the onboarding screen. |
@Sparowhawk The PR with the upgrade changes was merged yesterday Edit: Ironically, v9.2.0 of |
1/8/2025 - The MFS team is taking this ticket on for Sprint work. |
Judging from the comments on this ticket it looks like there has been work done on this issue, I'd like to see if it's still persisting. I don't have access to DataDog but if I could get confirmation that this issue is still occurring then that would be helpful. Also, I don't have a physical device to test on but I've been simulating biometrics with the Android emulator and haven't run into any issues yet. Will keep testing. |
2/3/2025 - Moving the ticket to blocked, pending Joe Niquette's return on 2/5/2025 (per @matt-guest-wilcore) |
Based on the discussions here in this ticket, it looks like react-native-keychain could be the root cause. I noticed PR #10040 was opened to address this, but was never merged. However, per this comment, it seems to be a follow-up to PR #10061, which has already been merged. I thinking that if #10040 is merged, it’ll likely resolve this issue. |
2/6/2025 - Joe Niquette reproduced this error and wants to review with his team, then @matt-guest-wilcore will run the reproduction of the issue with the #10040 |
2/10/25 Matt to pair with Alex to test Android |
2/11/25 Blocked until Matt and Alex can pair |
2/12/25 Alex to take a shot at reproducing this. Matt cannot get the error to reproduce. |
What happened?
We received a report from folks in the Identity DSVA channel that there's been an increase in session refresh error rates, since about mid-July.
![image.png](https://camo.githubusercontent.com/1465260b32f667face390480557c8f2c51dc4a10f7417240f79a247dff848658/68747470733a2f2f6170692e7a656e6875622e636f6d2f617474616368656446696c65732f65794a66636d467062484d694f6e73696257567a6332466e5a534936496b4a42614842424e573573516d633950534973496d563463434936626e56736243776963485679496a6f69596d7876596c39705a434a3966513d3d2d2d316531626335313132633438613130303766303130376362373563343566613661353734616364622f696d6167652e706e67)
https://vagov.ddog-gov.com/metric/explorer?fromUser=true&start=1717444052000&end=1725392852000&paused=false
The user experience for this is logging into the app, and then (within 45 days, with biometrics enabled) being logged out of the app and having to use UN/PW to log in again. This has been reported by at least one production user.
Specs:
Steps to Reproduce
unknown
Desired behavior
Should be maintaining login session tokens for the full 45 days, so folks can log in easier with biometrics
Acceptance Criteria
Bug Severity - BE SURE TO ADD THE SEVERITY LABEL
See Bug Tracking for details on severity levels
Linked to Story
Screen shot(s) and additional information
Full JSON response for services related to issue (expand/collapse)
Ticket Checklist
The text was updated successfully, but these errors were encountered: