fix+feat: fix infinte-loading due to non-call of callback and expose error message into frontend #2516
+106
−67
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.
Summary
When a new user tried to sign up with social login, while registration disabled, the callback won't being called and would have to wait for a long time due to no callbacks. Also This PR also introduces append
error
parameter to/login
frontend route to show the error of oauth.Backend
passport.authenticate
to handle the error message and then redirect into./login?error=<MESSAGE>
.Frontend
Login.tsx
: Extract?error
parameters from the URL and show it as an error message.customError
state sinceerror
state always localized.customError
usage.Concerns
customError
state is duplicated witherror
state. And might need to change names to avoid confusion.Since I'm not used on express.js and React, Please let me know if i wrong of this
Change Type
Please delete any irrelevant options.
Testing
Please describe your test process and include instructions so that we can reproduce your test. If there are any important variables for your testing configuration, list them here.
Test Configuration:
I have no idea which unit test should i create.
Tested with
ALLOW_SOCIAL_LOGIN=true
andALLOW_SOCIAL_REGISTRATION=false
env.Checklist
Please delete any irrelevant options.