You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by di...@apache.org on 2022/02/15 15:00:57 UTC
[superset] branch master updated: fix: Only redirect to relative paths when authentication expires (#18714)
This is an automated email from the ASF dual-hosted git repository.
diegopucci pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git
The following commit(s) were added to refs/heads/master by this push:
new 8027f5f fix: Only redirect to relative paths when authentication expires (#18714)
8027f5f is described below
commit 8027f5f0a63425c280121d671ae843e4c420793b
Author: Geido <60...@users.noreply.github.com>
AuthorDate: Tue Feb 15 16:59:06 2022 +0200
fix: Only redirect to relative paths when authentication expires (#18714)
* Only redirect to relative paths
* Fix redirect test
---
.../superset-ui-core/src/connection/SupersetClientClass.ts | 4 +++-
.../test/connection/SupersetClientClass.test.ts | 11 +++++++++--
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/superset-frontend/packages/superset-ui-core/src/connection/SupersetClientClass.ts b/superset-frontend/packages/superset-ui-core/src/connection/SupersetClientClass.ts
index 39d5022..fa75148 100644
--- a/superset-frontend/packages/superset-ui-core/src/connection/SupersetClientClass.ts
+++ b/superset-frontend/packages/superset-ui-core/src/connection/SupersetClientClass.ts
@@ -232,6 +232,8 @@ export default class SupersetClientClass {
}
redirectUnauthorized() {
- window.location.href = `/login?next=${window.location.href}`;
+ window.location.href = `/login?next=${
+ window.location.pathname + window.location.search
+ }`;
}
}
diff --git a/superset-frontend/packages/superset-ui-core/test/connection/SupersetClientClass.test.ts b/superset-frontend/packages/superset-ui-core/test/connection/SupersetClientClass.test.ts
index 4efd4f4..ae6ac13 100644
--- a/superset-frontend/packages/superset-ui-core/test/connection/SupersetClientClass.test.ts
+++ b/superset-frontend/packages/superset-ui-core/test/connection/SupersetClientClass.test.ts
@@ -501,11 +501,16 @@ describe('SupersetClientClass', () => {
it('should redirect Unauthorized', async () => {
const mockRequestUrl = 'https://host/get/url';
+ const mockRequestPath = '/get/url';
+ const mockRequestSearch = '?param=1¶m=2';
const { location } = window;
// @ts-ignore
delete window.location;
// @ts-ignore
- window.location = { href: mockRequestUrl };
+ window.location = {
+ pathname: mockRequestPath,
+ search: mockRequestSearch,
+ };
const authSpy = jest
.spyOn(SupersetClientClass.prototype, 'ensureAuth')
.mockImplementation();
@@ -523,7 +528,9 @@ describe('SupersetClientClass', () => {
error = err;
} finally {
const redirectURL = window.location.href;
- expect(redirectURL).toBe(`/login?next=${mockRequestUrl}`);
+ expect(redirectURL).toBe(
+ `/login?next=${mockRequestPath + mockRequestSearch}`,
+ );
expect(error.status).toBe(401);
}