feat(console): integrate app (#7417)

* docs, frameworks view

* project select, integrate app page

* fix search project autocomplete

* framework autocomplete

* framwork select component, integrate, mapping to oidc config

* param

* fix route handler

* setname projectid context

* app-create page without context

* show description of app type, info section

* redirects section

* updatevalue observable

* fix redirect uris section

* i18n

* setup config

* backbutton behavior, cleanup

* cleanup

* lint

* allow other framework jump off

* dev mode warning

* navigate to project

* rm import

* i18n, guide link

* edit name dialog

* show warning for duplicate name
This commit is contained in:
Max Peintner
2024-02-28 17:52:21 +01:00
committed by GitHub
parent f4c72cbe14
commit 0fcdfe460c
64 changed files with 2381 additions and 176 deletions

View File

@@ -8,93 +8,11 @@ To achieve your goals as fast as possible, we provide you with SDKs, Example Rep
The SDKs and Integration depend on the framework and language you are using.
import { Tile } from "../../src/components/tile";
import { Frameworks } from "../../src/components/frameworks";
### Resources
<div className="tile-wrapper">
<Tile title="Angular"
imageSource="/docs/img/tech/angular.svg"
link="/docs/sdk-examples/angular"></Tile>
<Tile title="Flutter"
imageSource="/docs/img/tech/flutter.svg"
link="/docs/sdk-examples/flutter"></Tile>
<Tile title="Go"
imageSource="/docs/img/tech/golang.svg"
link="/docs/sdk-examples/go"></Tile>
<Tile
title="Java"
imageSource="/docs/img/tech/java.svg"
link="/docs/sdk-examples/java"></Tile>
<Tile
title="NestJS"
imageSource="/docs/img/tech/nestjs.svg"
link="/docs/sdk-examples/nestjs"></Tile>
<Tile
title="Next.js"
imageSource="/docs/img/tech/nextjs.svg"
imageSourceLight="/docs/img/tech/nextjslight.svg"
link="/docs/sdk-examples/nextjs"></Tile>
<Tile
title="Python Django"
imageSource="/docs/img/tech/django.png"
link="/docs/sdk-examples/python-django"></Tile>
<Tile
title="Python Flask"
imageSource="/docs/img/tech/flask.svg"
imageSourceLight="/docs/img/tech/flasklight.svg"
link="/docs/sdk-examples/python-flask"></Tile>
<Tile
title="React"
imageSource="/docs/img/tech/react.png"
link="/docs/sdk-examples/react"></Tile>
<Tile
title="Symfony"
imageSource="/docs/img/tech/php.svg"
link="/docs/sdk-examples/symfony"></Tile>
<Tile
title="Vue.js"
imageSource="/docs/img/tech/vue.svg"
link="/docs/sdk-examples/vue"></Tile>
<Tile
title="Dart"
imageSource="/docs/img/tech/dart.svg"
link="https://github.com/smartive/zitadel-dart"
external="true"></Tile>
<Tile
title="Elixir"
imageSource="/docs/img/tech/elixir.svg"
link="https://github.com/maennchen/zitadel_api"
external="true"></Tile>
<Tile
title="NextAuth"
imageSource="/docs/img/tech/nextjs.svg"
imageSourceLight="/docs/img/tech/nextjslight.svg"
link="https://next-auth.js.org/providers/zitadel"
external="true"></Tile>
<Tile
title="Node.js"
imageSource="/docs/img/tech/nodejs.svg"
link="https://www.npmjs.com/package/@zitadel/node"
external="true"></Tile>
<Tile
title=".Net"
imageSource="/docs/img/tech/dotnet.svg"
link="https://github.com/smartive/zitadel-net"
external="true"></Tile>
<Tile
title="Passport.js"
imageSource="/docs/img/tech/passportjs.svg"
link="https://github.com/buehler/node-passport-zitadel"
external="true"></Tile>
<Tile
title="Rust"
imageSourceLight="/docs/img/tech/rust.svg"
imageSource="/docs/img/tech/rustlight.svg"
link="https://github.com/smartive/zitadel-rust"
external="true"></Tile>
</div>
<Frameworks />
### OIDC Libraries

115
docs/frameworks.json Normal file
View File

@@ -0,0 +1,115 @@
[
{
"id": "angular",
"title": "Angular",
"description": "This preset sets up an OIDC configuration with Authentication Code Flow, secured by PKCE",
"imgSrcLight": "/docs/img/tech/angular.svg",
"imgSrcDark": "/docs/img/tech/angular.svg",
"docsLink": "/docs/sdk-examples/angular"
},
{
"id": "flutter",
"title": "Flutter",
"imgSrcDark": "/docs/img/tech/flutter.svg",
"docsLink": "/docs/sdk-examples/flutter"
},
{
"title": "Go",
"imgSrcDark": "/docs/img/tech/golang.svg",
"docsLink": "/docs/sdk-examples/go"
},
{
"id": "java",
"title": "Java",
"imgSrcDark": "/docs/img/tech/java.svg",
"docsLink": "/docs/sdk-examples/java"
},
{
"title": "NestJS",
"imgSrcDark": "/docs/img/tech/nestjs.svg",
"docsLink": "/docs/sdk-examples/nestjs"
},
{
"id": "next",
"title": "Next.js",
"imgSrcDark": "/docs/img/tech/nextjs.svg",
"imgSrcLight": "/docs/img/tech/nextjslight.svg",
"docsLink": "/docs/sdk-examples/nextjs"
},
{
"id": "django",
"title": "Python Django",
"imgSrcDark": "/docs/img/tech/django.png",
"docsLink": "/docs/sdk-examples/python-django"
},
{
"title": "Python Flask",
"imgSrcDark": "/docs/img/tech/flask.svg",
"imgSrcLight": "/docs/img/tech/flasklight.svg",
"docsLink": "/docs/sdk-examples/python-flask"
},
{
"id": "react",
"title": "React",
"description": "This preset sets up an OIDC configuration with Authentication Code Flow, secured by PKCE",
"imgSrcDark": "/docs/img/tech/react.png",
"docsLink": "/docs/sdk-examples/react"
},
{
"id": "symfony",
"title": "Symfony",
"imgSrcDark": "/docs/img/tech/php.svg",
"docsLink": "/docs/sdk-examples/symfony"
},
{
"id": "vue",
"title": "Vue.js",
"description": "This preset sets up an OIDC configuration with Authentication Code Flow, secured by PKCE",
"imgSrcDark": "/docs/img/tech/vue.svg",
"docsLink": "/docs/sdk-examples/vue"
},
{
"title": "Dart",
"imgSrcDark": "/docs/img/tech/dart.svg",
"docsLink": "https://github.com/smartive/zitadel-dart",
"external": true
},
{
"title": "Elixir",
"imgSrcDark": "/docs/img/tech/elixir.svg",
"docsLink": "https://github.com/maennchen/zitadel_api",
"external": true
},
{
"title": "NextAuth",
"imgSrcDark": "/docs/img/tech/nextjs.svg",
"imgSrcLight": "/docs/img/tech/nextjslight.svg",
"docsLink": "https://next-auth.js.org/providers/zitadel",
"external": true
},
{
"title": "Node.js",
"imgSrcDark": "/docs/img/tech/nodejs.svg",
"docsLink": "https://www.npmjs.com/package/@zitadel/node",
"external": true
},
{
"title": ".Net",
"imgSrcDark": "/docs/img/tech/dotnet.svg",
"docsLink": "https://github.com/smartive/zitadel-net",
"external": true
},
{
"title": "Passport.js",
"imgSrcDark": "/docs/img/tech/passportjs.svg",
"docsLink": "https://github.com/buehler/node-passport-zitadel",
"external": true
},
{
"title": "Rust",
"imgSrcLight": "/docs/img/tech/rust.svg",
"imgSrcDark": "/docs/img/tech/rustlight.svg",
"docsLink": "https://github.com/smartive/zitadel-rust",
"external": true
}
]

View File

@@ -0,0 +1,21 @@
import React from "react";
import { Tile } from "./tile";
import frameworks from "../../frameworks.json";
export function Frameworks({}) {
return (
<div className="tile-wrapper">
{frameworks.map((framework) => {
return (
<Tile
title={framework.title}
imageSource={framework.imgSrcDark}
imageSourceLight={framework.imgSrcLight}
link={framework.docsLink}
external={framework.external}
></Tile>
);
})}
</div>
);
}