Browse Source

Add redirect capability

This feature allows the authentication process to redirect to a
route passed in the querystring. This allows the /auth route
a means of bringing the user to an expected route instead of the
main page (root).
= 2 months ago
parent
commit
7837843f82
1 changed files with 9 additions and 1 deletions
  1. 9 1
      src/routes/auth/+page.svelte

+ 9 - 1
src/routes/auth/+page.svelte

@@ -28,6 +28,12 @@
 
 
 	let ldapUsername = '';
 	let ldapUsername = '';
 
 
+	const querystringValue = (key) => {
+		const querystring = window.location.search;
+		const urlParams = new URLSearchParams(querystring);
+		return urlParams.get(key);
+	};
+
 	const setSessionUser = async (sessionUser) => {
 	const setSessionUser = async (sessionUser) => {
 		if (sessionUser) {
 		if (sessionUser) {
 			console.log(sessionUser);
 			console.log(sessionUser);
@@ -39,7 +45,9 @@
 			$socket.emit('user-join', { auth: { token: sessionUser.token } });
 			$socket.emit('user-join', { auth: { token: sessionUser.token } });
 			await user.set(sessionUser);
 			await user.set(sessionUser);
 			await config.set(await getBackendConfig());
 			await config.set(await getBackendConfig());
-			goto('/');
+
+			const redirectPath = querystringValue('redirect') || '/';
+			goto(redirectPath);
 		}
 		}
 	};
 	};