Support Process Death in WebAuthProvider #784
Open
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.
Changes
This PR fixes issue #779, where Auth0 fails to invoke the registered callbacks due to losing the callbacks that were registered when calling
await()
orstart()
.This was achieved by serializing the Auth0Manager state into JSON and saving this JSON into the
AuthorizationActivity
bundle. When restoration happens, we rebuild the Auth0Manager again from the already saved bundle.In order though to receive the callbacks from the newly restored OAuthManager, we need to listen to the callbacks through an application-scoped callback, so I've added a couple of new APIs called
addCallback
andremoveCallback
(open for naming and redesign changes) that clients if interested, they can call add/removeCallback from onStart and onStop, so that when the oauth authentication request's result returns, would get invoked with the captured credentials.WebAuthProvider
.References
Testing
Add tests for the serializing and deserializing logic.
This change adds unit test coverage
This change adds integration test coverage
This change has been tested on the latest version of the platform/language or why not
Checklist
I have read the Auth0 general contribution guidelines
I have read the Auth0 Code of Conduct
All existing and new tests complete without errors