From 0e6babe6a847974b5c3804fbbea8b177615e5340 Mon Sep 17 00:00:00 2001 From: Thibaud Courtoison Date: Fri, 17 May 2019 13:59:29 +0200 Subject: [PATCH] :bug: Fix login redirection (#192) --- client/src/contexts/Auth/AuthProvider.jsx | 4 +++- client/src/services/auth.js | 8 +++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/client/src/contexts/Auth/AuthProvider.jsx b/client/src/contexts/Auth/AuthProvider.jsx index 3238a6fda..0fb5d2967 100644 --- a/client/src/contexts/Auth/AuthProvider.jsx +++ b/client/src/contexts/Auth/AuthProvider.jsx @@ -70,7 +70,7 @@ class AuthProvider extends Component { try { const authResult = await auth.parseHash(hash) - const { redirectTo } = auth.popStateBeforeLogin() + const { redirectTo } = auth.getStateBeforeLogin() const { data } = await authQL(authResult.idToken) @@ -87,6 +87,8 @@ class AuthProvider extends Component { } ) + auth.clearStateBeforeLogin() + history.push(redirectTo || '') } catch (err) { alert.pushError('Authentication failed: ' + JSON.stringify(err.message), err) diff --git a/client/src/services/auth.js b/client/src/services/auth.js index 906a1ad9d..8285fb2e4 100644 --- a/client/src/services/auth.js +++ b/client/src/services/auth.js @@ -81,10 +81,12 @@ class Auth { localStorage.state_before_login = JSON.stringify(state) } - popStateBeforeLogin() { - const state = JSON.parse(localStorage.state_before_login || '{}') + getStateBeforeLogin() { + return JSON.parse(localStorage.state_before_login || '{}') + } + + clearStateBeforeLogin() { localStorage.removeItem('state_before_login') - return state } }