diff --git a/webadmin/src/js/client.js b/webadmin/src/js/client.js index 8556db387..44cbcf9e6 100644 --- a/webadmin/src/js/client.js +++ b/webadmin/src/js/client.js @@ -616,6 +616,9 @@ angular.module('Application').service('Client', ['$http', 'md5', 'Notification', var state = Math.floor((1 + Math.random()) * 0x1000000000000).toString(16).substring(1); window.localStorage.oauth2State = state; + // stash for further use in login_callback + window.localStorage.returnTo = '/' + window.location.hash; + window.location.href = this.apiOrigin + '/api/v1/oauth/dialog/authorize?response_type=token&client_id=' + this._clientId + '&redirect_uri=' + callbackURL + '&scope=' + scope + '&state=' + state; }; diff --git a/webadmin/src/login_callback.html b/webadmin/src/login_callback.html index 7ea39359f..04a4ea05a 100644 --- a/webadmin/src/login_callback.html +++ b/webadmin/src/login_callback.html @@ -19,7 +19,8 @@ // clear oauth2 state delete window.localStorage.oauth2State; - window.location.href = '/'; + if (window.localStorage.returnTo) window.location.href = window.localStorage.returnTo; + else window.location.href = '/'; }