I've been getting reports of users being signed out when the app launches. This shouldn't happen.
From error logs and from code tracing, the sequence seems to be:
- The app launches.
- The
appLaunchSetup(userSignedIn for the credentials (e.g., iOSGoogle) gets called.
- That credentials method calls the
GenericSignInDelegate method signInCompleted.
- That call leads to a call to
iOSBasics internal method completeSignInProcess
- That method calls
api.checkCreds
If it has been a while since the app was last launched the sign in credentials may have expired.
This leads to the api.checkCreds call to receive an unauthorized response from the server, and the user is then signed out.
While I do do a refresh credentials when the app starts, that's insufficient. At best there is a race condition between that credentials refresh and the above api.checkCreds.
I've been getting reports of users being signed out when the app launches. This shouldn't happen.
From error logs and from code tracing, the sequence seems to be:
appLaunchSetup(userSignedInfor the credentials (e.g.,iOSGoogle) gets called.GenericSignInDelegatemethodsignInCompleted.iOSBasicsinternal methodcompleteSignInProcessapi.checkCredsIf it has been a while since the app was last launched the sign in credentials may have expired.
This leads to the
api.checkCredscall to receive anunauthorizedresponse from the server, and the user is then signed out.While I do do a refresh credentials when the app starts, that's insufficient. At best there is a race condition between that credentials refresh and the above
api.checkCreds.