🐛 Fix redirect missing search parameters
This commit is contained in:
parent
902650f11d
commit
922fa45fa7
@ -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">
|
||||||
|
Loading…
Reference in New Issue
Block a user