49 lines
975 B
TypeScript
49 lines
975 B
TypeScript
import { Authorize } from "./_components/Authorize";
|
|
|
|
export const services = [
|
|
{
|
|
id: "1",
|
|
service: "dispatch",
|
|
name: "Leitstellendisposition",
|
|
approvedUrls: ["http://localhost:3001"],
|
|
},
|
|
{
|
|
id: "2",
|
|
secret: "jp2k430fnv",
|
|
service: "desktop",
|
|
name: "Desktop client",
|
|
approvedUrls: ["var://oAuth"],
|
|
},
|
|
{
|
|
id: "3",
|
|
secret: "d0f3e4e4",
|
|
service: "moodle",
|
|
name: "Moodle",
|
|
approvedUrls: [
|
|
"http://localhost:8081",
|
|
"https://moodle.virtualairrescue.com",
|
|
],
|
|
},
|
|
];
|
|
export type Service = (typeof services)[number];
|
|
|
|
const Page = async ({
|
|
searchParams,
|
|
}: {
|
|
searchParams: Promise<{ [key: string]: string | string[] | undefined }>;
|
|
}) => {
|
|
const { service: serviceId, client_id: clientId } = await searchParams;
|
|
|
|
const service = services.find(
|
|
(service) => service.id === serviceId || service.id === clientId,
|
|
);
|
|
|
|
if (!service) {
|
|
return <div>Service not found</div>;
|
|
}
|
|
|
|
return <Authorize service={service} />;
|
|
};
|
|
|
|
export default Page;
|