mirror of
https://github.com/andwati/zitadel.git
synced 2026-10-18 21:52:54 +00:00
docs: Make Examples and SDK Pages easier to understand (#7291)
* docs: first attempt to restructure the sdks and examples to make it better understandable * docs: first attempt to restructure the sdks and examples to make it better understandable * docs: first attempt to restructure the sdks and examples to make it better understandable * docs: first attempt to restructure the sdks and examples to make it better understandable * docs: first attempt to restructure the sdks and examples to make it better understandable * docs: first attempt to restructure the sdks and examples to make it better understandable * docs: adding more example pages * docs: adding more example pages * docs: add all sdk/examples * docs: add tile component * docs: introduction page * docs: introduction page * docs: add react * docs: remove old sdk and example pages * docs: fix broken links * docs: fix broken links * styles * Update docs/docs/sdk-examples/introduction.mdx Co-authored-by: Livio Spring <[email protected]> * Update docs/docs/sdk-examples/java.mdx Co-authored-by: Livio Spring <[email protected]> * Update docs/docs/sdk-examples/python.mdx Co-authored-by: Livio Spring <[email protected]> * Update docs/docs/sdk-examples/python.mdx Co-authored-by: Livio Spring <[email protected]> * docs: review changes * docs: smaller tiles * docs: changes from go and java review * docs: correct python description * Update docs/docs/sdk-examples/python.mdx Co-authored-by: Livio Spring <[email protected]> * Update docs/docs/sdk-examples/introduction.mdx Co-authored-by: Tim Möhlmann <[email protected]> * Update docs/docs/sdk-examples/python.mdx Co-authored-by: Tim Möhlmann <[email protected]> * docs: flask logo * flask, rust imgs * docs: flask logo * Update go.mdx * Update java.mdx * Update docs/docs/sdk-examples/flutter.mdx Co-authored-by: Livio Spring <[email protected]> * Update docs/src/css/tile.module.css Co-authored-by: Livio Spring <[email protected]> * docs: sidebar alphabetic * docs: sidebar alphabetic * docs: django logo --------- Co-authored-by: peintnermax <[email protected]> Co-authored-by: Livio Spring <[email protected]> Co-authored-by: Tim Möhlmann <[email protected]> Co-authored-by: Stefan Benz <[email protected]>
This commit is contained in:
co-authored by
Livio Spring
Tim Möhlmann
peintnermax
Stefan Benz
parent
59dcd6f498
commit
a065ddc706
@@ -1,227 +0,0 @@
|
||||
---
|
||||
title: Overview of ZITADEL example applications and quickstarts
|
||||
sidebar_label: Overview
|
||||
---
|
||||
|
||||
Our examples cover a range of programming languages and frameworks, so no matter what you're into, we've got you covered.
|
||||
|
||||
## Frontend
|
||||
|
||||
### Single page application
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>Language</th>
|
||||
<th>Example</th>
|
||||
<th>Quickstart</th>
|
||||
<th>SDK</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="100px">
|
||||
<img src="/docs/img/tech/angular.svg" alt="angular"/>
|
||||
</td>
|
||||
<td>Angular</td>
|
||||
<td><a href="https://github.com/zitadel/zitadel-angular" target="_blank"><i class="lab la-github"></i></a></td>
|
||||
<td><a href="/examples/login/angular">Guide</a></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="100px">
|
||||
<img src="/docs/img/tech/react.png" alt="react"/>
|
||||
</td>
|
||||
<td>React</td>
|
||||
<td><a href="https://github.com/zitadel/react-user-authentication" target="_blank"><i class="lab la-github"></i></a></td>
|
||||
<td><a href="/examples/login/react">Guide</a></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="100px">
|
||||
<img src="/docs/img/tech/vue.svg" alt="vue"/>
|
||||
</td>
|
||||
<td>Vue</td>
|
||||
<td><a href="https://github.com/zitadel/zitadel-vue" target="_blank"><i class="lab la-github"></i></a></td>
|
||||
<td><a href="/examples/login/vue">Guide</a></td>
|
||||
<td><a href="https://github.com/zitadel/zitadel-vue">SDK</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
### Native/mobile app
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>Language</th>
|
||||
<th>Example</th>
|
||||
<th>Quickstart</th>
|
||||
<th>SDK</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="100px">
|
||||
<img src="/docs/img/tech/flutter.svg" alt="flutter"/>
|
||||
</td>
|
||||
<td>Flutter</td>
|
||||
<td><a href="https://github.com/zitadel/zitadel_flutter" target="_blank"><i class="lab la-github"></i></a></td>
|
||||
<td><a href="/examples/login/flutter">Guide</a></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
### Regular web app
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>Language</th>
|
||||
<th>Example</th>
|
||||
<th>Quickstart</th>
|
||||
<th>SDK</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="100px">
|
||||
<img src="/docs/img/tech/nextjs.svg" alt="nextjs"/>
|
||||
</td>
|
||||
<td>NextJS</td>
|
||||
<td><a href="https://github.com/zitadel/zitadel-nextjs" target="_blank"><i class="lab la-github"></i></a></td>
|
||||
<td><a href="/examples/login/nextjs">Guide</a></td>
|
||||
<td><a href="./sdks#more">NextAuth Provider</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="100px">
|
||||
<img src="/docs/img/tech/golang.svg" alt="golang"/>
|
||||
</td>
|
||||
<td>Go Web</td>
|
||||
<td><a href="https://github.com/zitadel/zitadel-go/tree/next/example/app" target="_blank"><i class="lab la-github"></i></a></td>
|
||||
<td><a href="/examples/login/go">Guide</a></td>
|
||||
<td><a href="https://github.com/zitadel/zitadel-go/tree/next" target="_blank">SDK</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="100px">
|
||||
<img src="/docs/img/tech/java.svg" alt="java"/>
|
||||
</td>
|
||||
<td>Java Spring Boot Web</td>
|
||||
<td><a href="https://github.com/zitadel/zitadel-java" target="_blank"><i class="lab la-github"></i></a></td>
|
||||
<td><a href="/examples/login/java-spring">Guide</a></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="100px">
|
||||
<img src="/docs/img/tech/php.svg" alt="php"/>
|
||||
</td>
|
||||
<td>Symfony PHP Framework</td>
|
||||
<td><a href="https://github.com/zitadel/example-symfony-oidc" target="_blank"><i class="lab la-github"></i></a></td>
|
||||
<td><a href="/examples/login/symfony">Guide</a></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="100px">
|
||||
<img src="/docs/img/tech/python.svg" alt="python"/>
|
||||
</td>
|
||||
<td>Python Flask Web</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="100px">
|
||||
<img src="/docs/img/tech/python.svg" alt="python"/>
|
||||
</td>
|
||||
<td>Python Django Web</td>
|
||||
<td><a href="https://github.com/zitadel/example-python-django-oidc" target="_blank"><i class="lab la-github"></i></a></td>
|
||||
<td><a href="/examples/login/django">Guide</a></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="100px">
|
||||
<img src="/docs/img/tech/dotnet.svg" alt="dotnet"/>
|
||||
</td>
|
||||
<td>ASP.NET Core MVC Web</td>
|
||||
<td><a href="https://github.com/smartive/zitadel-net/tree/main/examples/Zitadel.AspNet.AuthN" target="_blank"><i class="lab la-github"></i></a></td>
|
||||
<td><a href="https://github.com/smartive/zitadel-net/tree/main/src/Zitadel#authentication-in-web-apps">Guide</a></td>
|
||||
<td><a href="https://github.com/smartive/zitadel-net">SDK</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## Backend
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>Language</th>
|
||||
<th>Example</th>
|
||||
<th>Quickstart</th>
|
||||
<th>SDK</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="100px">
|
||||
<img src="/docs/img/tech/golang.svg" alt="golang"/>
|
||||
</td>
|
||||
<td>Golang</td>
|
||||
<td><a href="https://github.com/zitadel/zitadel-go/tree/next/example/api" target="_blank"><i class="lab la-github"></i></a></td>
|
||||
<td><a href="./secure-api/go">Guide</a></td>
|
||||
<td><a href="https://github.com/zitadel/zitadel-go/tree/next" target="_blank">SDK</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="/docs/img/tech/python.svg" alt="phyton"/>
|
||||
</td>
|
||||
<td>Python Flask</td>
|
||||
<td><a href="https://github.com/zitadel/example-api-python3-flask" target="_blank"><i class="lab la-github"></i></a></td>
|
||||
<td><a href="./secure-api/python-flask">Guide</a></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="/docs/img/tech/python.svg" alt="phyton"/>
|
||||
</td>
|
||||
<td>Python Django</td>
|
||||
<td><a href="https://github.com/zitadel/example-python-django-oauth" target="_blank"><i class="lab la-github"></i></a></td>
|
||||
<td><a href="./secure-api/django">Guide</a></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="/docs/img/tech/dotnet.svg" alt="dotnet"/>
|
||||
</td>
|
||||
<td>ASP.NET Core WebAPI</td>
|
||||
<td><a href="https://github.com/smartive/zitadel-net/tree/main/examples/Zitadel.WebApi" target="_blank"><i class="lab la-github"></i></a></td>
|
||||
<td><a href="https://github.com/smartive/zitadel-net/tree/main/src/Zitadel#authentication-in-web-apis">Guide</a></td>
|
||||
<td><a href="https://github.com/smartive/zitadel-net">SDK</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="/docs/img/tech/nodejs.svg" alt="node"/>
|
||||
</td>
|
||||
<td>Node.js NestJS API</td>
|
||||
<td><a href="https://github.com/ehwplus/zitadel-nodejs-nestjs" target="_blank"><i class="lab la-github"></i></a></td>
|
||||
<td><a href="./secure-api/nodejs-nestjs">Guide</a></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="100px">
|
||||
<img src="/docs/img/tech/php.svg" alt="php"/>
|
||||
</td>
|
||||
<td>PHP API</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="/docs/img/tech/java.svg" alt="java"/>
|
||||
</td>
|
||||
<td>Java Spring Boot API</td>
|
||||
<td><a href="https://github.com/zitadel/zitadel-java" target="_blank"><i class="lab la-github"></i></a></td>
|
||||
<td><a href="/examples/login/java-spring">Guide</a></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## Other example applications
|
||||
|
||||
- [B2B customer portal](https://github.com/zitadel/zitadel-nextjs-b2b): Showcase the use of personal access tokens in a B2B environment. Uses NextJS Framework.
|
||||
- [Frontend with backend API](https://github.com/zitadel/example-quote-generator-app): A simple web application using a React front-end and a Python back-end API, both secured using ZITADEL
|
||||
- [Introspection](https://github.com/zitadel/examples-api-access-and-token-introspection): Python examples for securing an API and invoking it as a service user
|
||||
- [Fine-grained authorization](https://github.com/zitadel/example-fine-grained-authorization): Leverage actions, custom metadata, and claims for attribute-based access control
|
||||
|
||||
Search for the "example" tag in our repository to [explore all examples](https://github.com/search?q=topic%3Aexamples+org%3Azitadel&type=repositories).
|
||||
@@ -1,109 +0,0 @@
|
||||
---
|
||||
title: ZITADEL SDKs
|
||||
sidebar_label: SDKs
|
||||
---
|
||||
|
||||
On this page you find our official SDKs, links to supporting frameworks and providers, and resources to help with SDKs.
|
||||
The SDKs wrap either our [gRPC or REST APIs](/docs/apis/introduction) to provide the client with User Authentication and
|
||||
Management for resources.
|
||||
|
||||
## ZITADEL SDKs
|
||||
|
||||
| Language / Framework | Link Github | User Authentication | Manage resources | Notes |
|
||||
| -------------------- | ------------------------------------------------------------- | --------------------------------------------------------- | ---------------- | ----------- |
|
||||
| Go | [zitadel-go](https://github.com/zitadel/zitadel-go) | 🚧 [WIP](https://github.com/zitadel/zitadel-go/tree/next) | ✔️ | `official` |
|
||||
| Vue | [zitadel-vue](https://github.com/zitadel/zitadel-vue) | ✔️ | ❌ | `official` |
|
||||
| React | [zitadel-react](https://github.com/zitadel/zitadel-react) | ✔️ | ❌ | `official` |
|
||||
| .NET | [zitadel-net](https://github.com/smartive/zitadel-net) | ✔️ | ✔️ | `community` |
|
||||
| Elixir | [zitadel_api](https://github.com/jshmrtn/zitadel_api) | ✔️ | ✔️ | `community` |
|
||||
| NodeJS | [@zitadel/node](https://www.npmjs.com/package/@zitadel/node) | ❌ | ✔️ | `community` |
|
||||
| Dart | [zitadel-dart](https://github.com/smartive/zitadel-dart) | ❌ | ✔️ | `community` |
|
||||
| Rust | [zitadel-rust](https://github.com/smartive/zitadel-rust) | ✔️ | ✔️ | `community` |
|
||||
| JVM | 🚧 [WIP](https://github.com/zitadel/zitadel/discussions/3650) | ❓ | ❓ | TBD |
|
||||
| Python | 🚧 [WIP](https://github.com/zitadel/zitadel/issues/3675) | ❓ | ❓ | TBD |
|
||||
|
||||
## Missing SDK
|
||||
|
||||
Is your language/framework missing? Fear not, you can generate your gRPC API Client with ease.
|
||||
|
||||
1. Make sure to install [buf](https://buf.build/docs/installation/)
|
||||
2. Create a `buf.gen.yaml` and configure the [plugins](https://buf.build/plugins) you need
|
||||
3. Run `buf generate https://github.com/zitadel/zitadel#format=git,tag=v2.23.1` (change the versions to your needs)
|
||||
|
||||
Let us make an example with Ruby. Any other supported language by buf will work as well. Consult
|
||||
the [buf plugin registry](https://buf.build/plugins) for more ideas.
|
||||
|
||||
### Example with Ruby
|
||||
|
||||
With gRPC we usually need to generate the client stub and the messages/types. This is why we need two plugins.
|
||||
The plugin `grpc/ruby` generates the client stub and the plugin `protocolbuffers/ruby` takes care of the messages/types.
|
||||
|
||||
```yaml
|
||||
version: v1
|
||||
plugins:
|
||||
- plugin: buf.build/grpc/ruby
|
||||
out: gen
|
||||
- plugin: buf.build/protocolbuffers/ruby
|
||||
out: gen
|
||||
```
|
||||
|
||||
If you now run `buf generate https://github.com/zitadel/zitadel#format=git,tag=v2.23.1` in the folder where
|
||||
your `buf.gen.yaml` is located you should see the folder `gen` appear.
|
||||
|
||||
If you run `ls -la gen/zitadel/` you should see something like this:
|
||||
|
||||
```bash
|
||||
ffo@ffo-pc:~/git/zitadel/ruby$ ls -la gen/zitadel/
|
||||
total 704
|
||||
drwxr-xr-x 2 ffo ffo 4096 Apr 11 16:49 .
|
||||
drwxr-xr-x 3 ffo ffo 4096 Apr 11 16:49 ..
|
||||
-rw-r--r-- 1 ffo ffo 4397 Apr 11 16:49 action_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 141097 Apr 11 16:49 admin_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 25151 Apr 11 16:49 admin_services_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 6537 Apr 11 16:49 app_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 1134 Apr 11 16:49 auth_n_key_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 32881 Apr 11 16:49 auth_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 6896 Apr 11 16:49 auth_services_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 1571 Apr 11 16:49 change_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 2488 Apr 11 16:49 event_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 14782 Apr 11 16:49 idp_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 5031 Apr 11 16:49 instance_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 223348 Apr 11 16:49 management_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 44402 Apr 11 16:49 management_services_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 3020 Apr 11 16:49 member_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 855 Apr 11 16:49 message_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 1445 Apr 11 16:49 metadata_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 2370 Apr 11 16:49 object_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 621 Apr 11 16:49 options_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 4425 Apr 11 16:49 org_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 8538 Apr 11 16:49 policy_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 8223 Apr 11 16:49 project_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 1022 Apr 11 16:49 quota_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 5872 Apr 11 16:49 settings_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 20985 Apr 11 16:49 system_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 4784 Apr 11 16:49 system_services_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 28759 Apr 11 16:49 text_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 24170 Apr 11 16:49 user_pb.rb
|
||||
-rw-r--r-- 1 ffo ffo 13568 Apr 11 16:49 v1_pb.rb
|
||||
```
|
||||
|
||||
Import these files into your project to start interacting with ZITADEL's APIs.
|
||||
|
||||
## More
|
||||
|
||||
While we are not actively maintaining the following projects, it is worth checking out if you're interested in exploring
|
||||
ZITADEL in different programming languages or frameworks.
|
||||
|
||||
- [NodeJS passport](https://github.com/buehler/node-passport-zitadel) authentication helper
|
||||
- [NextAuth Provider for ZITADEL](https://next-auth.js.org/providers/zitadel)
|
||||
|
||||
If we do not provide an example, SDK or guide, we strongly recommend using existing authentication libraries for your
|
||||
language or framework instead of building your own.
|
||||
Certified libraries have undergone rigorous testing and validation to ensure high security and reliability.
|
||||
There are many recommended libraries available, this saves time and ensures that users' data is well-protected.
|
||||
|
||||
You might want to check out the following links to find a good library:
|
||||
|
||||
- [awesome-auth](https://github.com/casbin/awesome-auth)
|
||||
- [OpenID General References](https://openid.net/developers/libraries/)
|
||||
- [OpenID certified developer tools](https://openid.net/certified-open-id-developer-tools/)
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: ZITADEL with Node.js
|
||||
sidebar_label: Node.js
|
||||
sidebar_label: NestJS
|
||||
---
|
||||
|
||||
# ZITADEL with Node.js (NestJS)
|
||||
|
||||
Reference in New Issue
Block a user