mirror of
https://github.com/andwati/zitadel.git
synced 2026-10-21 23:14:26 +00:00
# Which Problems Are Solved This PR resolves #4845 by enhancing the OIDC Playground: * set default instance domain to `http://localhost:8080` * openid checkbox is now disabled * add explanation texts for custom zitadel scopes # How the Problems Are Solved * The checkbox for the `openid` scope is set to `disabled` * The default value for the instance domain is update by using `setInstance` * A new map with explanation texts for the custom scopes is introduced. During the rendering process of the scope checkboxes the value from this map is displayed, if the scope exists as key. # Additional Changes During the local setup of the documentation webapp I got some react errors on the authrequest page. This issue has ben solved by refactoring the usage of an `useEffect` block. # Additional Context - Closes #4845 PS. I did not found any scripts for linting/formatting (e.g. eslint, prettier) for the docs project. This is a bit annoying because when I use my local configurations of eslint/prettier the whole file get's refactored with unnecessary changes (change of import order, indention etc.). It would be great to add some custom configurations to to make the development process easier and enforce a consistent coding style :) Co-authored-by: Markus Heinemann <[email protected]> Co-authored-by: Tim Möhlmann <[email protected]>
345 lines
10 KiB
JavaScript
345 lines
10 KiB
JavaScript
import Link from "@docusaurus/Link";
|
|
import useBaseUrl from "@docusaurus/useBaseUrl";
|
|
import useDocusaurusContext from "@docusaurus/useDocusaurusContext";
|
|
import Layout from "@theme/Layout";
|
|
import ThemedImage from "@theme/ThemedImage";
|
|
import clsx from "clsx";
|
|
|
|
import Column from "../components/column";
|
|
import {
|
|
HomeListWrapper,
|
|
ICONTYPE,
|
|
ListElement,
|
|
ListWrapper,
|
|
} from "../components/list";
|
|
import styles from "./styles.module.css";
|
|
|
|
const features = [
|
|
{
|
|
title: "Documentation", // TODO: Plausible
|
|
darkImageUrl: "img/index/Guides-dark.svg",
|
|
lightImageUrl: "img/index/Guides-light.svg",
|
|
link: "guides/overview",
|
|
description: (
|
|
<>
|
|
Read our documentation and learn how you can setup, customize, and
|
|
integrate authentication and authorization to your project.
|
|
</>
|
|
),
|
|
content: (
|
|
<ListWrapper>
|
|
<Column>
|
|
<div>
|
|
<ListElement
|
|
link="/docs/guides/start/quickstart"
|
|
type={ICONTYPE.START}
|
|
title="Get started"
|
|
description=""
|
|
/>
|
|
<ListElement
|
|
link="/docs/sdk-examples/introduction"
|
|
type={ICONTYPE.APIS}
|
|
title="SDKs"
|
|
description=""
|
|
/>
|
|
<ListElement
|
|
link="/docs/sdk-examples/introduction"
|
|
type={ICONTYPE.APIS}
|
|
title="Example Apps"
|
|
description=""
|
|
/>
|
|
<ListElement
|
|
link="/docs/guides/manage/console/overview"
|
|
type={ICONTYPE.LOGIN}
|
|
title="Manage"
|
|
description="All about Console"
|
|
/>
|
|
<ListElement
|
|
link="/docs/guides/integrate"
|
|
type={ICONTYPE.LOGIN}
|
|
title="Integrate"
|
|
description="Access our APIs and configure services and tools"
|
|
/>
|
|
</div>
|
|
<div>
|
|
<ListElement
|
|
link="/docs/guides/solution-scenarios/introduction"
|
|
iconClasses="las la-paragraph"
|
|
roundClasses="custom-rounded custom-rounded-split"
|
|
label="B2C"
|
|
title="Solution Scenarios"
|
|
description=""
|
|
/>
|
|
<ListElement
|
|
link="/docs/concepts"
|
|
type={ICONTYPE.TASKS}
|
|
title="Concepts"
|
|
description=""
|
|
/>
|
|
<ListElement
|
|
link="/docs/concepts/architecture/software"
|
|
type={ICONTYPE.ARCHITECTURE}
|
|
title="Architecture"
|
|
description=""
|
|
/>
|
|
<ListElement
|
|
link="/docs/guides/manage/customize/branding"
|
|
type={ICONTYPE.PRIVATELABELING}
|
|
title="Customization"
|
|
description=""
|
|
/>
|
|
<ListElement
|
|
link="/docs/support/troubleshooting"
|
|
type={ICONTYPE.HELP}
|
|
title="Support"
|
|
description=""
|
|
/>
|
|
</div>
|
|
</Column>
|
|
</ListWrapper>
|
|
),
|
|
},
|
|
{
|
|
title: "Get Started",
|
|
darkImageUrl: "/docs/img/index/Quickstarts-dark.svg",
|
|
lightImageUrl: "img/index/Quickstarts-light.svg",
|
|
link: "/docs/sdk-examples/introduction",
|
|
description: (
|
|
<>
|
|
Learn how to integrate your applications and build secure workflows and
|
|
APIs with ZITADEL.
|
|
</>
|
|
),
|
|
content: (
|
|
<div className={styles.apilinks}>
|
|
<ListWrapper>
|
|
<ListElement
|
|
link="/docs/guides/start/quickstart"
|
|
type={ICONTYPE.START}
|
|
title="Quick Start Guide"
|
|
description="The ultimate guide to get started with ZITADEL."
|
|
/>
|
|
<ListElement
|
|
link="/docs/examples/login/angular"
|
|
type={ICONTYPE.APIS}
|
|
title="Frontend Quickstart Guides"
|
|
description=""
|
|
/>
|
|
<ListElement
|
|
link="/docs/examples/secure-api/go"
|
|
type={ICONTYPE.APIS}
|
|
title="Backend Quickstart Guides"
|
|
description=""
|
|
/>
|
|
<ListElement
|
|
link="/docs/sdk-examples/introduction"
|
|
type={ICONTYPE.APIS}
|
|
title="Examples"
|
|
description="Clone an existing example application."
|
|
/>
|
|
</ListWrapper>
|
|
</div>
|
|
),
|
|
},
|
|
{
|
|
title: "APIs",
|
|
darkImageUrl: "/docs/img/index/APIs-dark.svg",
|
|
lightImageUrl: "/docs/img/index/APIs-light.svg",
|
|
link: "/apis/introduction",
|
|
description: (
|
|
<>Learn more about our APIs and how to integrate them in your apps.</>
|
|
),
|
|
content: (
|
|
<div className={styles.apilinks}>
|
|
<ListWrapper>
|
|
<ListElement
|
|
link="/docs/apis/resources/auth/authentication-api-aka-auth"
|
|
type={ICONTYPE.APIS}
|
|
title="Authenticated User"
|
|
description="All operations on the currently authenticated user."
|
|
/>
|
|
<ListElement
|
|
link="/docs/apis/resources/mgmt/management-api"
|
|
type={ICONTYPE.APIS}
|
|
title="Organization Objects"
|
|
description="Mutate IAM objects like organizations, projects, clients, users etc."
|
|
/>
|
|
<ListElement
|
|
link="/docs/apis/resources/admin/administration-api-aka-admin"
|
|
type={ICONTYPE.APIS}
|
|
title="Instance Objects"
|
|
description="Configure and manage the IAM instance."
|
|
/>
|
|
<ListElement
|
|
link="/docs/apis/openidoauth/endpoints"
|
|
type={ICONTYPE.APIS}
|
|
title="OIDC Endpoints"
|
|
description=""
|
|
/>
|
|
<ListElement
|
|
link="/docs/apis/saml/endpoints"
|
|
type={ICONTYPE.APIS}
|
|
title="SAML Endpoints"
|
|
description=""
|
|
/>
|
|
<ListElement
|
|
link="/docs/apis/actions/introduction"
|
|
type={ICONTYPE.APIS}
|
|
title="Actions"
|
|
description="Customize and integrate ZITADEL into your landscape"
|
|
/>
|
|
</ListWrapper>
|
|
</div>
|
|
),
|
|
},
|
|
{
|
|
title: "Self-hosting",
|
|
darkImageUrl: "img/index/Concepts-dark.svg",
|
|
lightImageUrl: "img/index/Concepts-light.svg",
|
|
link: "/docs/self-hosting/deploy/overview",
|
|
description: <>Everything you need to know about self-hosting ZITADEL.</>,
|
|
content: (
|
|
<ListWrapper>
|
|
<ListElement
|
|
link="/docs/self-hosting/deploy/overview"
|
|
type={ICONTYPE.SYSTEM}
|
|
title="Deploy"
|
|
description=""
|
|
/>
|
|
<ListElement
|
|
link="/docs/self-hosting/manage/production"
|
|
type={ICONTYPE.TASKS}
|
|
title="Production Setup"
|
|
description=""
|
|
/>
|
|
<ListElement
|
|
link="/docs/self-hosting/manage/configure"
|
|
type={ICONTYPE.APIS}
|
|
title="Configuration"
|
|
description=""
|
|
/>
|
|
<ListElement
|
|
link="/docs/self-hosting/manage/updating_scaling"
|
|
type={ICONTYPE.APIS}
|
|
title="Update and Scaling"
|
|
description=""
|
|
/>
|
|
</ListWrapper>
|
|
),
|
|
},
|
|
];
|
|
|
|
function QuickstartLink({ link, title, imageSource, lightImageSource }) {
|
|
return (
|
|
<Link href={link} className={clsx("", styles.quickstart)}>
|
|
{/* <img className={styles.quickstartlinkimg} src={imageSource} alt={`${title}`}/> */}
|
|
<ThemedImage
|
|
className={styles.quickstartlinkimg}
|
|
alt={title}
|
|
sources={{
|
|
light: lightImageSource ? lightImageSource : imageSource,
|
|
dark: imageSource,
|
|
}}
|
|
/>
|
|
<p>{title}</p>
|
|
</Link>
|
|
);
|
|
}
|
|
|
|
function Feature({
|
|
darkImageUrl,
|
|
lightImageUrl,
|
|
title,
|
|
description,
|
|
link,
|
|
content,
|
|
}) {
|
|
const darkImgUrl = useBaseUrl(darkImageUrl);
|
|
const lightImgUrl = useBaseUrl(lightImageUrl);
|
|
|
|
const themedImage = (
|
|
<ThemedImage
|
|
className={styles.featureImage}
|
|
alt={title}
|
|
sources={{
|
|
light: lightImgUrl,
|
|
dark: darkImgUrl,
|
|
}}
|
|
/>
|
|
);
|
|
return (
|
|
<div className={clsx("col col--6 docs-link", styles.feature)}>
|
|
{darkImgUrl && lightImgUrl && (
|
|
<div className="">
|
|
<HomeListWrapper image={themedImage}>
|
|
<Link to={useBaseUrl(link)}>
|
|
<h3 className={styles.homelink}>
|
|
{title}
|
|
<i
|
|
className={clsx("las la-angle-right", styles.homelinkicon)}
|
|
></i>
|
|
</h3>
|
|
</Link>
|
|
<p className="">{description}</p>
|
|
|
|
{content}
|
|
</HomeListWrapper>
|
|
</div>
|
|
)}
|
|
</div>
|
|
);
|
|
}
|
|
|
|
const Gigi = () => {
|
|
return (
|
|
<div className={styles.gigiwrapper}>
|
|
<div className={styles.gigiwrapperrelative}>
|
|
<img height="151px" width="256px" src="/docs/img/gigi.svg" />
|
|
<div className={styles.gigibanner}>Try ZITADEL Cloud for FREE 🚀</div>
|
|
</div>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export default function Home() {
|
|
const context = useDocusaurusContext();
|
|
const { siteConfig = {} } = context;
|
|
return (
|
|
<Layout description={`${siteConfig.customFields.description}`}>
|
|
<header className={clsx("hero", styles.heroBanner)}>
|
|
<div className="container">
|
|
<h1 className="hero__title">{siteConfig.title}</h1>
|
|
<p className="hero__subtitle">{siteConfig.tagline}</p>
|
|
<div className={styles.buttons}>
|
|
<Link
|
|
className={clsx(
|
|
"button button--outline button--lg get-started",
|
|
styles.getStarted
|
|
)}
|
|
to={useBaseUrl("guides/start/quickstart")}
|
|
>
|
|
Get Started
|
|
</Link>
|
|
</div>
|
|
</div>
|
|
<Link to="https://zitadel.com">
|
|
<Gigi />
|
|
</Link>
|
|
</header>
|
|
<main>
|
|
{features && features.length > 0 && (
|
|
<section className={styles.features}>
|
|
<div className="container">
|
|
<div className="row">
|
|
{features.map((props, idx) => (
|
|
<Feature key={idx} {...props} />
|
|
))}
|
|
</div>
|
|
</div>
|
|
</section>
|
|
)}
|
|
</main>
|
|
</Layout>
|
|
);
|
|
}
|