diff --git a/app/routes/data-request_.auth.tsx b/app/routes/data-request_.auth.tsx new file mode 100644 index 0000000..718b534 --- /dev/null +++ b/app/routes/data-request_.auth.tsx @@ -0,0 +1,45 @@ +import { Button, Card, Container, Heading, VStack } from "@chakra-ui/react"; +import { useLoaderData } from "@remix-run/react"; + +export async function loader({ context }: { context: RequestContext }) { + const state = crypto.randomUUID().replace(/-/g, ""); + const url = new URL(context.request.url); + url.pathname = "/api/data-requests/session"; + + await context.env.DATA.put( + `rbxstate_${state}`, + context.request.headers.get("cf-connecting-ip") ?? "", + { + expirationTtl: 300, + }, + ); + + return { + client_id: context.env.ROBLOX_OAUTH_CLIENT_ID, + state, + url: encodeURIComponent(url.href), + }; +} + +export default function () { + const { client_id, state, url } = useLoaderData(); + + return ( + + + + Log in to Car Crushers +
+ +
+
+
+ ); +}