Bugfix: OAuth login redirect not working#4837
Open
feyruzb wants to merge 2 commits intoEricsson:masterfrom
Open
Bugfix: OAuth login redirect not working#4837feyruzb wants to merge 2 commits intoEricsson:masterfrom
feyruzb wants to merge 2 commits intoEricsson:masterfrom
Conversation
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.
This PR fixes the OAuth login flow which was broken when redirecting to external authorization URLs.
The bug
router.push({ path: url })is intended for client-side navigation within the SPA. When passed an external URL (such as the OAuth provider's authorization endpoint), Vue Router attempts to match it against the defined routes, fails, and falls through to the 404 handler instead of redirecting the browser. window.location.href is the correct API for navigating to external URLs.Reproduction: attempt to log in via GitHub OAuth, observe the error in the console:
OAuth createLink failed: 'scope'The fix
Login.vue: replacedrouter.push({ path: url })withwindow.location.href = url, the correct API for navigating to external URLs.index.js: corrected the casing of the OAuth login route path from/login/oAuthlogin/:providerto/login/OAuthLogin/:providerfor consistency.Testing
Tested locally by logging in via GitHub OAuth. The redirect to the provider now works correctly.