From 9713e2d581e7f93725114716d7dafb4e3bdf143c Mon Sep 17 00:00:00 2001 From: peintnermax Date: Mon, 31 Jul 2023 11:56:23 +0200 Subject: [PATCH] fix build, azure, gitlab styling --- .../register/idp/[provider]/success/page.tsx | 52 +++++++++------ apps/login/app/(login)/register/idp/page.tsx | 13 ++-- apps/login/package.json | 1 - apps/login/styles/globals.scss | 2 +- apps/login/ui/AddressBar.tsx | 2 +- apps/login/ui/Button.tsx | 2 +- apps/login/ui/IdentityProviders.tsx | 10 --- apps/login/ui/LayoutProviders.tsx | 7 +- apps/login/ui/SignInWithIDP.tsx | 64 +++++++++---------- packages/zitadel-client/src/index.ts | 8 --- .../src/components/SignInWithAzureAD.tsx | 29 +++------ pnpm-lock.yaml | 10 +-- 12 files changed, 88 insertions(+), 112 deletions(-) delete mode 100644 apps/login/ui/IdentityProviders.tsx diff --git a/apps/login/app/(login)/register/idp/[provider]/success/page.tsx b/apps/login/app/(login)/register/idp/[provider]/success/page.tsx index 5485e4751d2..2796a69fe2d 100644 --- a/apps/login/app/(login)/register/idp/[provider]/success/page.tsx +++ b/apps/login/app/(login)/register/idp/[provider]/success/page.tsx @@ -1,10 +1,9 @@ import { ProviderSlug } from "#/lib/demos"; import { addHumanUser, server } from "#/lib/zitadel"; +import Alert, { AlertType } from "#/ui/Alert"; import { AddHumanUserRequest, - AddHumanUserResponse, IDPInformation, - Provider, RetrieveIdentityProviderInformationResponse, user, IDPLink, @@ -79,9 +78,7 @@ function createUser( info: IDPInformation ): Promise { const userData = (PROVIDER_MAPPING as any)[provider](info); - console.log(userData); const userService = user.getUser(server); - console.log(userData.profile); return userService.addHumanUser(userData, {}).then((resp) => resp.userId); } @@ -96,23 +93,42 @@ export default async function Page({ const { provider } = params; if (provider && id && token) { - const information = await retrieveIDP(id, token); - let user; - if (information) { - user = await createUser(provider, information); - } - - return ( -
-

Register successful

-

Your account has successfully been created.

- {user &&
{JSON.stringify(user)}
} -
- ); + return retrieveIDP(id, token) + .then((information) => { + if (information) { + return createUser(provider, information).catch((error) => { + throw new Error(error.details); + }); + } else { + throw new Error("Could not get user information."); + } + }) + .then((userId) => { + return ( +
+

Register successful

+
You have successfully been registered!
+
+ ); + }) + .catch((error: Error) => { + return ( +
+

Register failed

+
+ { + + {JSON.stringify(error.message)} + + } +
+
+ ); + }); } else { return (
-

Register successful

+

Register

No id and token received!

); diff --git a/apps/login/app/(login)/register/idp/page.tsx b/apps/login/app/(login)/register/idp/page.tsx index e309f38b5e1..66a8d18640f 100644 --- a/apps/login/app/(login)/register/idp/page.tsx +++ b/apps/login/app/(login)/register/idp/page.tsx @@ -32,15 +32,18 @@ export default async function Page({ const identityProviders = await getIdentityProviders(server, ""); - console.log(identityProviders); - return (

Register

-

Create your ZITADEL account.

+

+ Select one of the following providers to register +

- {legal && identityProviders && ( - + {legal && identityProviders && process.env.ZITADEL_API_URL && ( + )}
); diff --git a/apps/login/package.json b/apps/login/package.json index 73dd6860921..19e7bf3fa5c 100644 --- a/apps/login/package.json +++ b/apps/login/package.json @@ -37,7 +37,6 @@ "@tailwindcss/forms": "0.5.3", "@vercel/analytics": "^1.0.0", "@zitadel/client": "workspace:*", - "@zitadel/next": "workspace:*", "@zitadel/react": "workspace:*", "@zitadel/server": "workspace:*", "clsx": "1.2.1", diff --git a/apps/login/styles/globals.scss b/apps/login/styles/globals.scss index 4fb9f4e72e1..bb028d1db6f 100755 --- a/apps/login/styles/globals.scss +++ b/apps/login/styles/globals.scss @@ -13,7 +13,7 @@ } .ztdl-p { - @apply text-sm; + @apply text-sm text-text-light-secondary-500 dark:text-text-dark-secondary-500; } } diff --git a/apps/login/ui/AddressBar.tsx b/apps/login/ui/AddressBar.tsx index 2f873b05885..a748488e30a 100644 --- a/apps/login/ui/AddressBar.tsx +++ b/apps/login/ui/AddressBar.tsx @@ -11,7 +11,7 @@ export function AddressBar({ domain }: Props) { const pathname = usePathname(); return ( -
+
( ...props }, ref - ): ReactNode => ( + ) => (
- ); -} diff --git a/apps/login/ui/LayoutProviders.tsx b/apps/login/ui/LayoutProviders.tsx index db30c70e262..3f9b46f91e2 100644 --- a/apps/login/ui/LayoutProviders.tsx +++ b/apps/login/ui/LayoutProviders.tsx @@ -1,6 +1,6 @@ "use client"; import { ZitadelReactProvider } from "@zitadel/react"; -import { ThemeProvider, useTheme } from "next-themes"; +import { useTheme } from "next-themes"; type Props = { children: React.ReactNode; @@ -10,11 +10,6 @@ export function LayoutProviders({ children }: Props) { const { resolvedTheme } = useTheme(); const isDark = resolvedTheme && resolvedTheme === "dark"; - // useEffect(() => { - // console.log("layoutproviders useeffect"); - // setTheme(document); - // }); - return (
{children} diff --git a/apps/login/ui/SignInWithIDP.tsx b/apps/login/ui/SignInWithIDP.tsx index 6922903a69b..a768df35bd3 100644 --- a/apps/login/ui/SignInWithIDP.tsx +++ b/apps/login/ui/SignInWithIDP.tsx @@ -15,26 +15,36 @@ import { ProviderSlug } from "#/lib/demos"; export interface SignInWithIDPProps { children?: ReactNode; + instanceUrl: string; identityProviders: any[]; + startIDPFlowPath?: (idpId: string) => string; } -export function SignInWithIDP({ identityProviders }: SignInWithIDPProps) { +const START_IDP_FLOW_PATH = (idpId: string) => + `/v2alpha/users/idps/${idpId}/start`; + +export function SignInWithIDP({ + instanceUrl, + identityProviders, + startIDPFlowPath = START_IDP_FLOW_PATH, +}: SignInWithIDPProps) { const [loading, setLoading] = useState(false); const [error, setError] = useState(""); const router = useRouter(); - async function startFlow(idp: any, provider: ProviderSlug) { - console.log("start flow"); - const host = "http://localhost:3000"; + async function startFlow(idpId: string, provider: ProviderSlug) { + const host = process.env.VERCEL_URL ?? "http://localhost:3000"; setLoading(true); + // const path = startIDPFlowPath(idpId); + // const res = await fetch(`${instanceUrl}${path}`, { const res = await fetch("/api/idp/start", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ - idpId: idp.id, + idpId, successUrl: `${host}/register/idp/${provider}/success`, failureUrl: `${host}/register/idp/${provider}/failure`, }), @@ -60,19 +70,19 @@ export function SignInWithIDP({ identityProviders }: SignInWithIDPProps) { - startFlow(idp, ProviderSlug.GITHUB).then(({ authUrl }) => { - console.log("done"); - router.push(authUrl); - }) + startFlow(idp.id, ProviderSlug.GITHUB).then( + ({ authUrl }) => { + console.log("done"); + router.push(authUrl); + } + ) } - // name={idp.name} > ); case 7: // IdentityProviderType.IDENTITY_PROVIDER_TYPE_GITHUB_ES: return ( // startFlow(idp, ProviderSlug.GITHUB).then(({ authUrl }) => { // console.log("done"); @@ -82,39 +92,25 @@ export function SignInWithIDP({ identityProviders }: SignInWithIDPProps) { > ); case 5: // IdentityProviderType.IDENTITY_PROVIDER_TYPE_AZURE_AD: - return ( - - ); + return ; case 10: // IdentityProviderType.IDENTITY_PROVIDER_TYPE_GOOGLE: return ( - startFlow(idp, ProviderSlug.GOOGLE).then(({ authUrl }) => { - console.log("done"); - router.push(authUrl); - }) + startFlow(idp.id, ProviderSlug.GOOGLE).then( + ({ authUrl }) => { + console.log("done"); + router.push(authUrl); + } + ) } > ); case 8: // IdentityProviderType.IDENTITY_PROVIDER_TYPE_GITLAB: - return ( - - ); + return ; case 9: //IdentityProviderType.IDENTITY_PROVIDER_TYPE_GITLAB_SELF_HOSTED: - return ( - - ); + return ; default: return
{idp.name}
; } diff --git a/packages/zitadel-client/src/index.ts b/packages/zitadel-client/src/index.ts index 2a240fb30c8..a116f088b01 100644 --- a/packages/zitadel-client/src/index.ts +++ b/packages/zitadel-client/src/index.ts @@ -3,11 +3,3 @@ export { initializeApp, getApps } from "./app"; export { getAuth } from "./auth"; export type { ZitadelOptions } from "./app"; -export * from "./proto/client/zitadel/settings/v2alpha/legal_settings_pb"; -export * from "./proto/client/zitadel/settings/v2alpha/settings_service_pb"; -export * from "./proto/client/zitadel/settings/v2alpha/settings_pb"; - -export * from "./proto/client/zitadel/idp_pb"; -export * from "./proto/client/zitadel/user_pb"; - -export * from "./proto/client/zitadel/settings_pb"; diff --git a/packages/zitadel-react/src/components/SignInWithAzureAD.tsx b/packages/zitadel-react/src/components/SignInWithAzureAD.tsx index 4a2161ac5d2..1d4d6ed786c 100644 --- a/packages/zitadel-react/src/components/SignInWithAzureAD.tsx +++ b/packages/zitadel-react/src/components/SignInWithAzureAD.tsx @@ -14,29 +14,18 @@ export const SignInWithAzureAD = forwardRef< className={`ztdl-w-full ztdl-cursor-pointer ztdl-flex ztdl-flex-row ztdl-items-center ztdl-bg-white ztdl-text-black dark:ztdl-bg-transparent dark:ztdl-text-white border ztdl-border-divider-light dark:ztdl-border-divider-dark rounded-md px-4 text-sm ${className}`} {...props} > -
+
- - - - + + + +
{children ? ( diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3f2089ead21..774d70a746f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -41,9 +41,6 @@ importers: '@zitadel/client': specifier: workspace:* version: link:../../packages/zitadel-client - '@zitadel/next': - specifier: workspace:* - version: link:../../packages/zitadel-next '@zitadel/react': specifier: workspace:* version: link:../../packages/zitadel-react @@ -5406,7 +5403,7 @@ packages: pretty-format: 29.5.0 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.1(@types/node@18.11.9)(typescript@5.1.6) + ts-node: 10.9.1(@types/node@18.11.9)(typescript@5.0.4) transitivePeerDependencies: - supports-color dev: true @@ -6896,7 +6893,7 @@ packages: dependencies: lilconfig: 2.0.6 postcss: 8.4.21 - ts-node: 10.9.1(@types/node@18.11.9)(typescript@5.1.6) + ts-node: 10.9.1(@types/node@18.11.9)(typescript@5.0.4) yaml: 1.10.2 /postcss-load-config@3.1.4(ts-node@10.9.1): @@ -8236,7 +8233,6 @@ packages: typescript: 5.0.4 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - dev: true /ts-node@10.9.1(@types/node@18.11.9)(typescript@5.1.6): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} @@ -8267,6 +8263,7 @@ packages: typescript: 5.1.6 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + dev: true /ts-poet@6.4.1: resolution: {integrity: sha512-AjZEs4h2w4sDfwpHMxQKHrTlNh2wRbM5NRXmLz0RiH+yPGtSQFbe9hBpNocU8vqVNgfh0BIOiXR80xDz3kKxUQ==} @@ -8570,7 +8567,6 @@ packages: resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} engines: {node: '>=12.20'} hasBin: true - dev: true /typescript@5.1.6: resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==}