🐛 Fix redirect missing search parameters
This commit is contained in:
		@@ -15,6 +15,10 @@ func preConnect(c *fiber.Ctx) error {
 | 
				
			|||||||
	id := c.Query("client_id")
 | 
						id := c.Query("client_id")
 | 
				
			||||||
	redirect := c.Query("redirect_uri")
 | 
						redirect := c.Query("redirect_uri")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if len(id) <= 0 || len(redirect) <= 0 {
 | 
				
			||||||
 | 
							return fiber.NewError(fiber.StatusBadRequest, "invalid request, missing query parameters")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	var client models.ThirdClient
 | 
						var client models.ThirdClient
 | 
				
			||||||
	if err := database.C.Where(&models.ThirdClient{Alias: id}).First(&client).Error; err != nil {
 | 
						if err := database.C.Where(&models.ThirdClient{Alias: id}).First(&client).Error; err != nil {
 | 
				
			||||||
		return fiber.NewError(fiber.StatusNotFound, err.Error())
 | 
							return fiber.NewError(fiber.StatusNotFound, err.Error())
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@ import Navbar from "./shared/Navbar.tsx";
 | 
				
			|||||||
import { readProfiles, useUserinfo } from "../stores/userinfo.tsx";
 | 
					import { readProfiles, useUserinfo } from "../stores/userinfo.tsx";
 | 
				
			||||||
import { createEffect, createSignal, Show } from "solid-js";
 | 
					import { createEffect, createSignal, Show } from "solid-js";
 | 
				
			||||||
import { readWellKnown } from "../stores/wellKnown.tsx";
 | 
					import { readWellKnown } from "../stores/wellKnown.tsx";
 | 
				
			||||||
import { BeforeLeaveEventArgs, useBeforeLeave, useLocation, useNavigate } from "@solidjs/router";
 | 
					import { BeforeLeaveEventArgs, useLocation, useNavigate } from "@solidjs/router";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default function RootLayout(props: any) {
 | 
					export default function RootLayout(props: any) {
 | 
				
			||||||
  const [ready, setReady] = createSignal(false);
 | 
					  const [ready, setReady] = createSignal(false);
 | 
				
			||||||
@@ -16,9 +16,9 @@ export default function RootLayout(props: any) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  createEffect(() => {
 | 
					  createEffect(() => {
 | 
				
			||||||
    if (ready()) {
 | 
					    if (ready()) {
 | 
				
			||||||
      keepGate(location.pathname);
 | 
					      keepGate(location.pathname + location.search);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }, [ready, userinfo]);
 | 
					  }, [ready, userinfo, location]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  function keepGate(path: string, e?: BeforeLeaveEventArgs) {
 | 
					  function keepGate(path: string, e?: BeforeLeaveEventArgs) {
 | 
				
			||||||
    const pathname = path.split("?")[0];
 | 
					    const pathname = path.split("?")[0];
 | 
				
			||||||
@@ -30,8 +30,6 @@ export default function RootLayout(props: any) {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  useBeforeLeave((e: BeforeLeaveEventArgs) => keepGate(e.to.toString(), e));
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  return (
 | 
					  return (
 | 
				
			||||||
    <Show when={ready()} fallback={
 | 
					    <Show when={ready()} fallback={
 | 
				
			||||||
      <div class="h-screen w-screen flex justify-center items-center">
 | 
					      <div class="h-screen w-screen flex justify-center items-center">
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user