mirror of
https://github.com/zitadel/zitadel.git
synced 2025-12-05 23:12:07 +00:00
feat: docs rehaul, fix missing context in console, quickstarts (#1212)
* onboarding components, routing, steps * onboarding component, toc * fix onboarding mixin * header * refactor docs * fix layout * cleanup routing * docs routing * fix conventions * de en routing * docs, guide contents, nav * rem i18n support * fix routing from docs * rollup onwarn changes, preload * update svelte plugin, update rollup config * move docs * revert img style, remove code table * rem de completely * rollup optim, template * angular quickstart, quickstart overview page, update deps * fix link * pack, slug * prefetch binding, hidden links * export log * guards route ch * fix homepage * angular docs * docs * resolve fsh * overview * docs * docs * packages fix race condition * nav, home link * add vue, aspnet * doc optimizations * embed status pal * angular guide * angular guide * dotnet, angular guide * viewbox * typo * block onboarding route for non iam writers * set links from component data * fix: fetch org context in guard, more main cnt (#1192) * change get started guide, fix code blockquotes, typos * flutter guide * h2 spacing * highlight strong * plus * rm start sublinks * add proxy quickstart * regex * prevent outside click, fix project grant write Co-authored-by: Florian Forster <florian@caos.ch> Co-authored-by: Livio Amstutz <livio.a@gmail.com>
This commit is contained in:
@@ -1,5 +0,0 @@
|
||||
---
|
||||
title: Übersicht
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -2,6 +2,8 @@
|
||||
title: Overview
|
||||
---
|
||||
|
||||
This documentation describes the structure of ZITADEL, its role system and in parallel the use of [console](https://console.zitadel.ch), our administration UI for ZITADEL.
|
||||
|
||||
> All documentations are under active work and subject to change soon!
|
||||
|
||||
### Features
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
title: Console
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
title: Organisationen
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
title: Projekte
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
title: Clients
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -13,7 +13,7 @@ Typical types of applications are:
|
||||
* User Agent (Single-Page-Application)
|
||||
* Native
|
||||
|
||||
Check out our [Integration Guide](integrate#Overview) for more information.
|
||||
Check out our [Integration Guide](quickstarts#Overview) for more information.
|
||||
|
||||
### Manage clients
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
title: Rollen
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -10,7 +10,7 @@ title: Roles
|
||||
|
||||
For more information about how **roles** can be consumed, have a look the protocol specific information.
|
||||
|
||||
- [OpenID Connect / OAuth](integrate#How_to_consume_authorizations_in_your_application_or_service)
|
||||
- [OpenID Connect / OAuth](quickstarts#How_to_consume_authorizations_in_your_application_or_service)
|
||||
|
||||
### Manage Roles
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
title: Benutzer
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
title: Richtlinien
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
title: Identitäts Provider
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
title: Authorizations
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
title: Management Rollen
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
title: ZITADEL Rollen
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
title: Audit
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
title: System Administration
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -38,7 +38,7 @@ There is even a possibility to regenerate a read model.
|
||||
</figure>
|
||||
</div>
|
||||
|
||||
> Additional infos to the architecture of ZITADEL is located in [Architecture Docs](documentation#Architecture)
|
||||
> Additional infos to the architecture of ZITADEL is located in [Architecture Docs](architecture#Architecture)
|
||||
|
||||
### Secret Handling
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
<meta property="description" content="{$_('home_seo.description')}" />
|
||||
|
||||
<meta property="og:url" content="https://docs.zitadel.ch" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="Administration" />
|
||||
<meta property="og:description" content="Erfahren Sie mehr über die Administration von ZITADEL" />
|
||||
<meta property="og:image" content="https://www.zitadel.ch/zitadel-social-preview25.png" />
|
||||
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:site" content="@caos_ch">
|
||||
<meta name="twitter:title" content="Administration" />
|
||||
<meta name="twitter:description" content="Erfahren Sie mehr über die Administration von ZITADEL" />
|
||||
<meta name="twitter:image" content="https://www.zitadel.ch/zitadel-social-preview25.png">
|
||||
|
||||
<script type='application/ld+json'>
|
||||
{
|
||||
"@context" : "http://schema.org/",
|
||||
"@type" : "WebPage",
|
||||
"about": {
|
||||
"name":"Administrations Dokumentation",
|
||||
"description":"Erfahren Sie mehr über die Administration von ZITADEL",
|
||||
},
|
||||
"author": {
|
||||
"name":"caos AG",
|
||||
"address":"Teufener Strasse 19, 9000 St.Gallen",
|
||||
"email":"hi@caos.ch"
|
||||
},
|
||||
"copyrightYear":"2020",
|
||||
"creator": {
|
||||
"name":"caos AG",
|
||||
"address":"Teufener Strasse 19, 9000 St.Gallen",
|
||||
"email":"hi@caos.ch"
|
||||
},
|
||||
}
|
||||
</script>
|
||||
@@ -1,35 +0,0 @@
|
||||
<meta property="description" content="How to administrate ZITADEL" />
|
||||
|
||||
<meta property="og:url" content="https://docs.zitadel.ch" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="Administration Documentation" />
|
||||
<meta property="og:description" content="How to administrate ZITADEL" />
|
||||
<meta property="og:image" content="https://www.zitadel.ch/zitadel-social-preview25.png" />
|
||||
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:site" content="@zitadel_ch">
|
||||
<meta name="twitter:title" content="Administration Documentation" />
|
||||
<meta name="twitter:description" content="How to administrate ZITADEL" />
|
||||
<meta name="twitter:image" content="https://www.zitadel.ch/zitadel-social-preview25.png">
|
||||
|
||||
<script type='application/ld+json'>
|
||||
{
|
||||
"@context" : "http://schema.org/",
|
||||
"@type" : "WebPage",
|
||||
"about": {
|
||||
"name":"Administration Documentation",
|
||||
"description":"How to administrate ZITADEL",
|
||||
},
|
||||
"author": {
|
||||
"name":"caos AG",
|
||||
"address":"Teufener Strasse 19, 9000 St.Gallen",
|
||||
"email":"hi@caos.ch"
|
||||
},
|
||||
"copyrightYear":"2020",
|
||||
"creator": {
|
||||
"name":"caos AG",
|
||||
"address":"Teufener Strasse 19, 9000 St.Gallen",
|
||||
"email":"hi@caos.ch"
|
||||
},
|
||||
}
|
||||
</script>
|
||||
16
site/docs/angular/00-overview.md
Normal file
16
site/docs/angular/00-overview.md
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
title: Angular
|
||||
---
|
||||
|
||||
<div style="display: flex; align-items: center;">
|
||||
<img src="logos/zitadel-logo-solo-darkdesign.svg" height="160px" alt="zitadel"/>
|
||||
<i style="font-size: 40px; height: 40px; margin: 0 15px;" class="las la-plus"></i>
|
||||
<img src="tech/angular.svg" height="200px" alt="angular"/>
|
||||
</div>
|
||||
|
||||
This Integration guide shows you the recommended way to integrate **ZITADEL** into your Angular Application.
|
||||
It demonstrates how to add a user login to your application and fetch some data from the user info endpoint.
|
||||
|
||||
At the end of the guide you should have an application able to login a user and read the user profile.
|
||||
|
||||
> Note that our **ZITADEL Console** is also written in Angular and can therefore be used as a reference.
|
||||
29
site/docs/angular/01-configure.md
Normal file
29
site/docs/angular/01-configure.md
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: Configure Zitadel
|
||||
---
|
||||
|
||||
### Setup Application and get Keys
|
||||
|
||||
Before we can start building our application we have do do a few configuration steps in ZITADEL Console.
|
||||
You will need to provide some information about your app. We recommend creating a new app to start from scratch. Navigate to your [Project](https://console.zitadel.ch/projects) and add a new application at the top of the page.
|
||||
Select Web Application and continue.
|
||||
We recommend that you use [Authorization Code](architecture#Authorization_Code) in combination with [Proof Key for Code Exchange](architecture#Proof_Key_for_Code_Exchange) for all web applications.
|
||||
|
||||
> Make sure Authentication Method is set to `NONE` and the Application Type is set to `SPA` or `NATIVE`.
|
||||
|
||||
#### Redirect URLs
|
||||
|
||||
A redirect URL is a URL in your application where ZITADEL redirects the user after they have authenticated. Set your url to the domain the web app will be deployed to or use `localhost:4200` for development as Angular will be running on port 4200.
|
||||
|
||||
> If you are following along with the sample project you downloaded from our templates, you should set the Allowed Callback URL to http://localhost:4200/auth/callback. You will also have to set dev mode to `true` as this will enable unsecure http for the moment.
|
||||
|
||||
If you want to redirect the users back to a route on your application after they have logged out, add an optional redirect in the post redirectURI field.
|
||||
|
||||
Continue and Create the application.
|
||||
|
||||
#### Client ID and Secret
|
||||
|
||||
After successful app creation a popup will appear showing you your clientID as well as a secret.
|
||||
Copy your client ID as it will be needed in the next step.
|
||||
|
||||
> Note: You will be able to regenerate the secret at a later time, though it is not needed for SPAs with Authorization Code Flow.
|
||||
198
site/docs/angular/02-code.md
Normal file
198
site/docs/angular/02-code.md
Normal file
@@ -0,0 +1,198 @@
|
||||
---
|
||||
title: Angular Setup
|
||||
---
|
||||
|
||||
### Install Angular dependencies
|
||||
|
||||
You need to install an oauth / oidc client to connect with ZITADEL. Run the following command:
|
||||
|
||||
```bash
|
||||
npm install angular-oauth2-oidc
|
||||
```
|
||||
|
||||
This library helps integrating ZITADEL Authentication in your Angular Application.
|
||||
|
||||
### Create and configure Auth Module
|
||||
|
||||
Add the Auth module to your Angular imports in AppModule and setup the AuthConfig in a constant above.
|
||||
|
||||
```ts
|
||||
...
|
||||
import { AuthConfig, OAuthModule } from 'angular-oauth2-oidc';
|
||||
|
||||
const authConfig: AuthConfig = {
|
||||
clientId: 'YOUR CLIENT ID',
|
||||
redirectUri: 'http://localhost:4200/auth/callback', // change this to your domain later or use window.location.origin.
|
||||
scope: 'openid profile email',
|
||||
responseType: 'code',
|
||||
oidc: true,
|
||||
};
|
||||
|
||||
@NgModule({
|
||||
declarations: [
|
||||
AppComponent,
|
||||
SignedoutComponent,
|
||||
],
|
||||
imports: [
|
||||
OAuthModule..forRoot(),
|
||||
...
|
||||
```
|
||||
|
||||
Set **openid**, **profile** and **email** as scope, **code** as responseType, and oidc to **true**.
|
||||
Then create a Authentication Service to provide the functions to authenticate your user.
|
||||
|
||||
You can use Angulars schematics to do so:
|
||||
|
||||
``` bash
|
||||
ng g component services/auth
|
||||
```
|
||||
This will create an AuthService automatically for you.
|
||||
|
||||
Copy the following code to your service. This code provides a function `authenticate()` which redirects the user to ZITADEL. After the user has logged in it will be redirected back to your redirectURI set in Auth Module and Console. Make sure both correspond, otherwise ZITADEL will throw an error.
|
||||
|
||||
```ts
|
||||
import { AuthConfig, OAuthService } from 'angular-oauth2-oidc';
|
||||
|
||||
export default class AuthService {
|
||||
private authConfig!: AuthConfig;
|
||||
private _authenticated: boolean = false;
|
||||
private readonly _authenticationChanged: BehaviorSubject<
|
||||
boolean
|
||||
> = new BehaviorSubject(this.authenticated);
|
||||
|
||||
constructor(
|
||||
private oauthService: OAuthService,
|
||||
private statehandler: StatehandlerService,
|
||||
) { }
|
||||
|
||||
public get authenticated(): boolean {
|
||||
return this._authenticated;
|
||||
}
|
||||
|
||||
public get authenticationChanged(): Observable<boolean> {
|
||||
return this._authenticationChanged;
|
||||
}
|
||||
|
||||
public getOIDCUser(): Observable<any> {
|
||||
return from(this.oauthService.loadUserProfile());
|
||||
}
|
||||
|
||||
public async authenticate(): Promise<boolean> {
|
||||
this.oauthService.configure(this.authConfig);
|
||||
|
||||
this.oauthService.strictDiscoveryDocumentValidation = false;
|
||||
await this.oauthService.loadDiscoveryDocumentAndTryLogin();
|
||||
|
||||
this._authenticated = this.oauthService.hasValidAccessToken();
|
||||
|
||||
if (!this.oauthService.hasValidIdToken() || !this.authenticated || partialConfig || force) {
|
||||
const newState = setState ? await this.statehandler.createState().toPromise() : undefined;
|
||||
this.oauthService.initCodeFlow(newState);
|
||||
}
|
||||
this._authenticationChanged.next(this.authenticated);
|
||||
|
||||
return this.authenticated;
|
||||
}
|
||||
|
||||
public signout(): void {
|
||||
this.oauthService.logOut();
|
||||
this._authenticated = false;
|
||||
this._authenticationChanged.next(false);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Add Login in your application
|
||||
|
||||
To login a user, a component or a guard is needed.
|
||||
|
||||
- A component provides a button prompting the user to start the login flow.
|
||||
`authenticate()` redirects your user to ZITADEL.ch for authentication. Upon successfull Authentication, ZITADEL will redirect the user back to your previously defined Redirect URL.
|
||||
|
||||
- A guard can be setup to check if the user has a valid **Access Token** to proceed. This will check if the user has a stored **accesstoken** in storage or otherwise prompt the user to login.
|
||||
|
||||
The use of this components totally depends on your application. In most cases you need both.
|
||||
|
||||
To create a component use
|
||||
``` bash
|
||||
ng g component components/login
|
||||
```
|
||||
and then inject the authService to call `authenticate()`.
|
||||
|
||||
Same for the guard:
|
||||
``` bash
|
||||
ng g guard guards/auth
|
||||
```
|
||||
|
||||
This code shows the AuthGuard used in our Console.
|
||||
|
||||
```ts
|
||||
import { AuthService } from 'src/app/services/auth.service';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
})
|
||||
export class AuthGuard implements CanActivate {
|
||||
constructor(private auth: AuthService) { }
|
||||
|
||||
public canActivate(
|
||||
_: ActivatedRouteSnapshot,
|
||||
state: RouterStateSnapshot,
|
||||
): Observable<boolean> | Promise<boolean> | boolean {
|
||||
if (!this.auth.authenticated) {
|
||||
return this.auth.authenticate();
|
||||
}
|
||||
return this.auth.authenticated;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
it can easily be added to your RouterModule.
|
||||
|
||||
```ts
|
||||
...
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
loadChildren: () => import('./pages/home/home.module').then(m => m.HomeModule),
|
||||
canActivate: [AuthGuard],
|
||||
},
|
||||
...
|
||||
```
|
||||
|
||||
### Add Logout in your application
|
||||
|
||||
The authService and Library also provides a useful function for logging out your users. Just call `auth.signout()` to log out your user. Note that you can also configure your Logout Redirect URL if you want your Users to be redirected after logout.
|
||||
|
||||
```ts
|
||||
import { AuthService } from 'src/app/services/auth.service.ts';
|
||||
|
||||
export class SomeComponentWithLogout {
|
||||
constructor(private authService: AuthService){}
|
||||
|
||||
public signout(): Promise<void> {
|
||||
return this.authService.signout();
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Show User Information
|
||||
|
||||
To fetch user data, ZITADELS user info endpoint has to be called. This data contains sensitive information and artifacts related to your users identity and the scopes you defined in your Auth Config.
|
||||
Our AuthService already includes a function called getOIDCUser(). You can call it whereever you need this information.
|
||||
|
||||
```ts
|
||||
import { AuthService } from 'src/app/services/auth.service.ts';
|
||||
|
||||
export class SomeComponentWithUserInfo {
|
||||
constructor(public authService: AuthService){}
|
||||
}
|
||||
```
|
||||
|
||||
and in your html
|
||||
|
||||
```html
|
||||
<div *ngIf="(authService.getOIDCUser | async) as oidcInfo">
|
||||
<p>{{oidcInfo | json}}</p>
|
||||
</div>
|
||||
```
|
||||
9
site/docs/angular/03-end.md
Normal file
9
site/docs/angular/03-end.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: Completion
|
||||
---
|
||||
|
||||
### What next?
|
||||
|
||||
You have successfully integrated ZITADEL in your Angular Application! Now you can proceed implementing our APIs to include Authorization. Refer to our [Docs](apis#Authentication_API) or checkout our Console Code on [Github](https://github.com/caos/zitadel) which is using GRPC to access data.
|
||||
|
||||
For more information about creating an angular application we refer to [Angular](https://angular.io/start) and for more information about the used oauth/oidc library consider reading their docs at [angular-oauth2-oidc](https://github.com/manfredsteyer/angular-oauth2-oidc).
|
||||
@@ -3,6 +3,8 @@ title: Overview
|
||||
description: …
|
||||
---
|
||||
|
||||
<i class="las la-code" style="font-size: 100px; height: 100px; color:#6c8eef" ></i>
|
||||
|
||||
> All documentations are under active work and subject to change soon!
|
||||
|
||||
### APIs
|
||||
@@ -2,6 +2,8 @@
|
||||
title: Overview
|
||||
---
|
||||
|
||||
<i class="las la-project-diagram" style="font-size: 100px; height: 100px; color:#6c8eef"></i>
|
||||
|
||||
> All documentations are under active work and subject to change soon!
|
||||
|
||||
This part of the **ZITADEL** documentation comprises three major subject areas:
|
||||
@@ -97,3 +97,4 @@ With this design even the outage of a whole data-center would have a minimal imp
|
||||
<figcaption itemprop="caption description">Multi-Cluster Architecture</figcaption>
|
||||
</figure>
|
||||
</div>
|
||||
|
||||
@@ -3,22 +3,21 @@ title: OpenID Connect 1.0 & OAuth 2.0
|
||||
---
|
||||
|
||||
### Endpoints and Domains
|
||||
|
||||
This chapter documents the [OpenID Connect 1.0](https://openid.net/connect/) and [OAuth 2.0](https://oauth.net/2/) features provided by **ZITADEL**.
|
||||
|
||||
Under normal circumstances **ZITADEL** need four domain names to operate properly.
|
||||
|
||||
| Domain Name | Example | Description |
|
||||
|:------------|:----------------------|--------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| issuer | `issuer.zitadel.ch` | Provides the [OpenID Connect 1.0 Discovery Endpoint](#openid-connect-10-discovery) |
|
||||
| api | `api.zitadel.ch` | All ZITADEL API's are located under this domain see [API explanation](develop#APIs) for details |
|
||||
| issuer | `issuer.zitadel.ch` | Provides the [OpenID Connect 1.0 Discovery Endpoint](#OpenID_Connect_1_0_Discovery) |
|
||||
| api | `api.zitadel.ch` | All ZITADEL API's are located under this domain see [API explanation](apis#APIs) for details |
|
||||
| login | `accounts.zitadel.ch` | The accounts.* page provides server renderer pages like login and register and as well the authorization_endpoint for OpenID Connect |
|
||||
| console | `console.zitadel.ch` | With the console.* domain we serve the assets for the management gui |
|
||||
|
||||
#### OpenID Connect 1.0 Discovery
|
||||
|
||||
The OpenID Connect Discovery Endpoint is located within the issuer domain.
|
||||
For example with [zitadel.ch](zitadel.ch) this would be the domain [issuer.zitadel.ch](issuer.zitadel.ch). This would give us [https://issuer.zitadel.ch/.well-known/openid-configuration](https://issuer.zitadel.ch/.well-known/openid-configuration).
|
||||
For example with [zitadel.ch](https://zitadel.ch), issuer.zitadel.ch would be the domain. This would give us [https://issuer.zitadel.ch/.well-known/openid-configuration](https://issuer.zitadel.ch/.well-known/openid-configuration).
|
||||
|
||||
**Link to spec.** [OpenID Connect Discovery 1.0 incorporating errata set 1](https://openid.net/specs/openid-connect-discovery-1_0.html)
|
||||
|
||||
@@ -50,7 +49,7 @@ For example with [zitadel.ch](zitadel.ch) this would be the domain [issuer.zitad
|
||||
|
||||
#### OAuth 2.0 Metadata
|
||||
|
||||
**ZITADEL** does not yet provide a OAuth 2.0 Metadata endpoint but instead provides a [OpenID Connect Discovery Endpoint](#openid-connect-10-discovery).
|
||||
**ZITADEL** does not yet provide a OAuth 2.0 Metadata endpoint but instead provides a [OpenID Connect Discovery Endpoint](#OpenID_Connect_1_0_Discovery).
|
||||
|
||||
### Scopes
|
||||
|
||||
@@ -287,3 +286,4 @@ curl --request POST \
|
||||
#### Security Assertion Markup Language (SAML) 2.0 Profile
|
||||
|
||||
**Link to spec.** [Security Assertion Markup Language (SAML) 2.0 Profile for OAuth 2.0 Client Authentication and Authorization Grants](https://tools.ietf.org/html/rfc7522)
|
||||
|
||||
15
site/docs/aspnet/00-overview.md
Normal file
15
site/docs/aspnet/00-overview.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: ASP.NET Auth and Authz
|
||||
description: ...
|
||||
---
|
||||
|
||||
<div style="display: flex; align-items: center;">
|
||||
<img src="logos/zitadel-logo-solo-darkdesign.svg" height="160px" alt="zitadel"/>
|
||||
<i style="font-size: 40px; height: 40px; margin: 0 15px;" class="las la-plus"></i>
|
||||
<img src="tech/net.svg" height="160px" alt="aspnet"/>
|
||||
</div>
|
||||
|
||||
|
||||
> This quickstart is not yet released. Come back later!
|
||||
|
||||
This Integration guide shows you the recommended way on how to integrate **ZITADEL** into your ASP NET Backend.
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
title: Übersicht
|
||||
description: …
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
title: Authentication API
|
||||
description: …
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
title: Management API
|
||||
description: …
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
title: Admin API
|
||||
description: …
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
title: Übersicht
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,20 +0,0 @@
|
||||
---
|
||||
title: Prinzipien
|
||||
---
|
||||
|
||||
- Seien Sie bei Ihren Entscheidungen transparent
|
||||
- Zustandsloses Anwendungsdesign
|
||||
- Das System der Aufzeichnungen ist der Ereignisspeicher
|
||||
- Alles andere muss regeneriert werden können
|
||||
- Versuchen Sie nicht, komplexe Probleme außerhalb des IAM-Bereichs zu lösen
|
||||
- Verwenden Sie skalierbaren Speicher für den Ereignisspeicher und die Abfragemodelle
|
||||
- Versuchen Sie, wenn immer möglich idempotent zu sein
|
||||
- Reduzieren Sie die Notwendigkeit von System- oder externen Abhängigkeiten so weit wie möglich
|
||||
- Automatisierung einbeziehen
|
||||
- Zuerst die Design-API
|
||||
- Optimieren Sie alle Komponenten für den Betrieb am zweiten Tag
|
||||
- Verwenden Sie nur Open-Source-Projekte mit permissiven Lizenzen
|
||||
- Rollen Sie nicht Ihre eigene Krypto
|
||||
- Standard so weit wie möglich einbeziehen
|
||||
- Nutzen Sie die Funktionen der Plattform
|
||||
- Mit einem CDN und einer WAF laufen können
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
title: Architektur
|
||||
---
|
||||
|
||||
> TBD
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
title: OpenID Connect 1.0 & OAuth 2.0
|
||||
---
|
||||
|
||||
> TBD
|
||||
78
site/docs/export-log
Normal file
78
site/docs/export-log
Normal file
@@ -0,0 +1,78 @@
|
||||
4.66 kB service-worker-index.html
|
||||
10.5 kB index.html
|
||||
1.15 kB icons/favicon.ico
|
||||
481 B manifest.json
|
||||
3.17 kB prism.css
|
||||
11.6 kB default-skin/default-skin.css
|
||||
14.8 kB client/client-48a0d285.css
|
||||
3.88 kB client/index-5d76bab7.css
|
||||
4.14 kB photoswipe.css
|
||||
33.9 kB client/client.ea30bda8.js
|
||||
559 B client/inject_styles.5607aec6.js
|
||||
18.1 kB client/index.6f1d050b.js
|
||||
5.54 kB start.json
|
||||
967 B quickstarts.json
|
||||
6.45 kB logos/zitadel-logo-light.svg
|
||||
8.3 kB logos/zitadel-logo-solo-darkdesign.svg
|
||||
18 kB start/index.html
|
||||
14.9 kB img/develop2.png
|
||||
10.1 kB img/projects2.png
|
||||
11.1 kB img/personal2.png
|
||||
7.96 kB quickstarts/index.html
|
||||
15.2 kB use/index.html
|
||||
22.8 kB apis/index.html
|
||||
73.1 kB img/accounts_org_register.png
|
||||
10.3 kB client/[slug]-3cb415b8.css
|
||||
1.52 kB client/index-4d174bf5.css
|
||||
20.7 kB client/[slug].aebb20dc.js
|
||||
4.16 kB client/index.c2043c63.js
|
||||
114 kB architecture/index.html
|
||||
207 kB img/accounts_password.png
|
||||
199 kB img/accounts_page.png
|
||||
899 B tech/angular.svg
|
||||
1.79 kB tech/dart.svg
|
||||
2.29 kB tech/golang.svg
|
||||
200 kB img/accounts_otp_verify.png
|
||||
21.3 kB img/zitadel_software_architecture.png
|
||||
10.4 kB img/zitadel_cluster_architecture.png
|
||||
184 kB administrate/index.html
|
||||
39 kB angular/index.html
|
||||
38.9 kB dart/index.html
|
||||
38.8 kB go/index.html
|
||||
7.37 kB img/zitadel_multicluster_architecture.png
|
||||
31 kB img/console_user_entry.png
|
||||
83.5 kB img/console_admin_entry.png
|
||||
167 kB img/console_admin_system.png
|
||||
129 kB img/console_org_domain_default.png
|
||||
126 kB img/console_org_domain_add.png
|
||||
142 kB img/console_org_domain_added.png
|
||||
126 kB img/console_user_personal_information.png
|
||||
135 kB img/console_org_domain_verify.png
|
||||
52.8 kB img/console_user_personal_info.png
|
||||
15 kB img/console_projects_empty.png
|
||||
40.2 kB img/console_projects_my_first_project.png
|
||||
40.7 kB img/console_org_domain_verified.png
|
||||
178 kB img/console_org_manage_roles_2.png
|
||||
129 kB img/console_org_manage_roles_1.png
|
||||
38.1 kB img/console_org_domain_verify_dns.png
|
||||
112 kB img/console_project_manage_roles_1.png
|
||||
19.5 kB img/console_clients_my_first_spa_wizard_1.png
|
||||
21.6 kB img/console_clients_my_first_spa_wizard_4.png
|
||||
22.3 kB img/console_clients_my_first_spa_wizard_3.png
|
||||
28.3 kB img/console_clients_my_first_spa_config.png
|
||||
27.1 kB img/console_user_list_search.png
|
||||
159 kB img/console_project_manage_roles_2.png
|
||||
25.2 kB img/console_user_list.png
|
||||
16.3 kB img/console_clients_my_first_spa_wizard_2.png
|
||||
38.8 kB img/console_authz_add_1.png
|
||||
77.2 kB administrate.json
|
||||
26.6 kB img/console_authz_overview.png
|
||||
186 kB img/console_user_manage_roles_1.png
|
||||
47.9 kB img/console_user_manage_roles_2.png
|
||||
110 kB img/console_user_create_done.png
|
||||
36.1 kB img/console_authz_add_2.png
|
||||
34.1 kB img/console_authz_add_3.png
|
||||
29.6 kB img/console_user_create_form.png
|
||||
6.53 kB apis.json
|
||||
142 kB img/console_iam_admin_failed.png
|
||||
167 kB img/console_iam_admin_views.png
|
||||
14
site/docs/flutter/00-overview.md
Normal file
14
site/docs/flutter/00-overview.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
title: Flutter Login
|
||||
description: ...
|
||||
---
|
||||
|
||||
<div style="display: flex; align-items: center;">
|
||||
<img src="logos/zitadel-logo-solo-darkdesign.svg" height="160px" alt="zitadel"/>
|
||||
<i style="font-size: 40px; height: 40px; margin: 0 15px;" class="las la-plus"></i>
|
||||
<img src="tech/flutter.svg" height="150px" alt="flutter"/>
|
||||
</div>
|
||||
|
||||
> This quickstart is not yet released. Come back later!
|
||||
|
||||
This Integration guide shows you the recommended way on how to integrate **ZITADEL** into your Dart Application.
|
||||
15
site/docs/go/00-overview.md
Normal file
15
site/docs/go/00-overview.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Dart Login
|
||||
description: ...
|
||||
---
|
||||
|
||||
<div style="display: flex; align-items: center;">
|
||||
<img src="logos/zitadel-logo-solo-darkdesign.svg" height="160px" alt="zitadel"/>
|
||||
<i style="font-size: 40px; height: 40px; margin: 0 15px;" class="las la-plus"></i>
|
||||
<img src="tech/golang.svg" height="80px" alt="golang"/>
|
||||
</div>
|
||||
|
||||
|
||||
> This quickstart is not yet released. Come back later!
|
||||
|
||||
This Integration guide shows you the recommended way on how to integrate **ZITADEL** into your Go Lang Backend.
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
title: Übersicht
|
||||
description: ...
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
title: Single Page Application
|
||||
description: ...
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
title: Server Side Application
|
||||
description: ...
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
title: Mobile Application
|
||||
description: ...
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
title: Native Application
|
||||
description: ...
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
title: Proxy / WAF
|
||||
description: ...
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
title: API
|
||||
description: ...
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
title: Products
|
||||
description: ...
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
13
site/docs/oauth2-proxy/00-overview.md
Normal file
13
site/docs/oauth2-proxy/00-overview.md
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
title: OAuth 2.0 Proxy
|
||||
---
|
||||
|
||||
<div style="display: flex; align-items: center;">
|
||||
<img src="logos/zitadel-logo-solo-darkdesign.svg" height="160px" alt="zitadel"/>
|
||||
<i style="font-size: 40px; height: 40px; margin: 0 15px;" class="las la-plus"></i>
|
||||
<img src="tech/oauth2-proxy.svg" height="200px" alt="oauth2-proxy"/>
|
||||
</div>
|
||||
|
||||
### OAuth2 Proxy Project
|
||||
|
||||
[OAuth2-proxy](https://github.com/oauth2-proxy/oauth2-proxy) is a project which allows services to delegate the authentication flow to a IDP, for example **ZITADEL**
|
||||
29
site/docs/oauth2-proxy/01-configure-zitadel.md
Normal file
29
site/docs/oauth2-proxy/01-configure-zitadel.md
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: Configure Zitadel
|
||||
---
|
||||
|
||||
### Setup Application and get Keys
|
||||
|
||||
Before we can start building our application we have do do a few configuration steps in ZITADEL Console.
|
||||
You will need to provide some information about your app. We recommend creating a new app to start from scratch. Navigate to your [Project](https://console.zitadel.ch/projects) and add a new application at the top of the page.
|
||||
Select Web Application and continue.
|
||||
We recommend that you use [Authorization Code](architecture#Authorization_Code) for the OAuth 2.0 Proxy.
|
||||
|
||||
> Make sure Authentication Method is set to `BASIC` and the Application Type is set to `Web`.
|
||||
|
||||
#### Redirect URLs
|
||||
|
||||
A redirect URL is a URL in your application where ZITADEL redirects the user after they have authenticated. Set your url to the domain the proxy will be deployed to or use the default one `http://127.0.0.1:4180/oauth2/callback`.
|
||||
|
||||
> If you are following along with the sample project you downloaded from our templates, you should set the Allowed Callback URL to http://localhost:4200/auth/callback. You will also have to set dev mode to `true` as this will enable unsecure http for the moment.
|
||||
|
||||
If you want to redirect the users back to a route on your application after they have logged out, add an optional redirect in the post redirectURI field.
|
||||
|
||||
Continue and Create the application.
|
||||
|
||||
#### Client ID and Secret
|
||||
|
||||
After successful app creation a popup will appear showing you your clientID as well as a secret.
|
||||
Copy your client ID and Secrets as it will be needed in the next step.
|
||||
|
||||
> Note: You will be able to regenerate the secret at a later time if you loose it.
|
||||
28
site/docs/oauth2-proxy/02-configure-proxy.md
Normal file
28
site/docs/oauth2-proxy/02-configure-proxy.md
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: OAuth 2.0 Proxy Setup
|
||||
---
|
||||
|
||||
### Authentication Example
|
||||
|
||||
```toml
|
||||
provider = "oidc"
|
||||
user_id_claim = "sub" #uses the subject as ID instead of the email
|
||||
provider_display_name = "ZITADEL"
|
||||
redirect_url = "http://127.0.0.1:4180/oauth2/callback"
|
||||
oidc_issuer_url = "https://issuer.zitadel.ch"
|
||||
upstreams = [
|
||||
"https://example.corp.com"
|
||||
]
|
||||
email_domains = [
|
||||
"*"
|
||||
]
|
||||
client_id = "{ZITADEL_GENERATED_CLIENT_ID}"
|
||||
client_secret = "{ZITADEL_GENERATED_CLIENT_SECRET}"
|
||||
pass_access_token = true
|
||||
cookie_secret = "{SUPPLY_SOME_SECRET_HERE}"
|
||||
skip_provider_button = true
|
||||
cookie_secure = false #localdev only false
|
||||
http_address = "127.0.0.1:4180" #localdev only
|
||||
```
|
||||
|
||||
> This was tested with version `oauth2-proxy v6.1.1 (built with go1.14.2)`
|
||||
7
site/docs/oauth2-proxy/03-end.md
Normal file
7
site/docs/oauth2-proxy/03-end.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
title: Completion
|
||||
---
|
||||
|
||||
### What next?
|
||||
|
||||
You have successfully integrated ZITADEL in your proxy!
|
||||
@@ -13,4 +13,4 @@ This Integration guide gives you recommendations on how to integrate different C
|
||||
- Native App
|
||||
- Reverse Proxy
|
||||
|
||||
For more details about how **ZITADEL** treats [scopes](documentation#Scopes) and [claims](documentation#Claims) see the [documentations](documentation).
|
||||
For more details about how **ZITADEL** treats [scopes](architecture#Scopes) and [claims](architecture#Claims) see the [documentations](architecture).
|
||||
@@ -5,7 +5,7 @@ description: ...
|
||||
|
||||
### SPA Protocol and Flow recommendation
|
||||
|
||||
If your [client](administrate#Clients) is a single page application (SPA) we recommend that you use [Authorization Code](documentation#Authorization_Code) in combination with [Proof Key for Code Exchange](documentation#Proof_Key_for_Code_Exchange).
|
||||
If your [client](administrate#Clients) is a single page application (SPA) we recommend that you use [Authorization Code](architecture#Authorization_Code) in combination with [Proof Key for Code Exchange](architecture#Proof_Key_for_Code_Exchange).
|
||||
|
||||
This flow has great support with most modern languages and frameworks and is the recommended default.
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
title: Schnellstart
|
||||
description: ...
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -1,54 +0,0 @@
|
||||
---
|
||||
title: Quick-Start
|
||||
description: A quick-start reference for the impatient reader.
|
||||
---
|
||||
|
||||
> All documentations are under active work and subject to change soon!
|
||||
|
||||
### Trying out ZITADEL
|
||||
|
||||
You can either use our cloud-instance [ZITADEL.ch](https://zitadel.ch) or deploy a dedicated **ZITADEL** instance. To get started, we recommend you try out our free tier on [ZITADEL.ch](https://zitadel.ch).
|
||||
|
||||
### Use ZITADEL.ch
|
||||
|
||||
To use ZITADEL in your project you need to:
|
||||
1. Set up a new [client](administrate#What_are_clients) and [users](administrate#What_are_users) in our [Console](administrate#What_is_Console);
|
||||
2. Configure your project to use ZITADEL.
|
||||
|
||||
To register your free [organisation](administrate#Organisations), visit this link [register organisation](https://accounts.zitadel.ch/register/org).
|
||||
After accepting the TOS and filling out all the required fields you will receive an email with further instructions.
|
||||
|
||||
<div class="zitadel-gallery" itemscope itemtype="http://schema.org/ImageGallery">
|
||||
<figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
|
||||
<a href="img/accounts_org_register.png" itemprop="contentUrl" data-size="1472x1000">
|
||||
<img src="img/accounts_org_register.png" itemprop="thumbnail" alt="Organisation Overview" />
|
||||
</a>
|
||||
<figcaption itemprop="caption description">Organisation Register</figcaption>
|
||||
</figure>
|
||||
</div>
|
||||
|
||||
#### Verify your domain name (optional)
|
||||
|
||||
When you verify your domain you get the benefit that your [organisations](administrate#Organisations) [users](administrate#Users) can use this domain as **preferred logonname**. You find a more detailed explanation [How ZITADEL handles usernames](administrate#How_ZITADEL_handles_usernames).
|
||||
|
||||
The verification process is documented [here](administrate#Verify_a_domain_name)
|
||||
|
||||
#### Add Users to your organisation
|
||||
|
||||
To add new user just follow [this guide](administrate#Create_Users)
|
||||
|
||||
#### Setup an application
|
||||
|
||||
First [create a project](administrate#Create_a_project)
|
||||
|
||||
Then create within this [project](administrate#Projects) a [new client](administrate#Create_a_client)
|
||||
|
||||
The wizard should provide some guidance what client is the proper for you. If you are still unsure consult our [Integration Guide](integrate#Overview)
|
||||
|
||||
### Use ORBOS to install ZITADEL
|
||||
|
||||
> This will be added later on
|
||||
|
||||
### Install ZITADEL with static manifest
|
||||
|
||||
> This will be added later on
|
||||
19
site/docs/start/00-quick-start.md
Normal file
19
site/docs/start/00-quick-start.md
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Welcome to ZITADEL
|
||||
description: A quick-start reference for the impatient reader.
|
||||
---
|
||||
|
||||
Most applications need to know the identity of a user allowing to securely store user data in the cloud and provide the same personalised experience across all of the user's devices.
|
||||
|
||||
ZITADEL's authentication provides backend services, easy-to-use SDKs, and ready-made UI libraries to authenticate users in your application. It supports authentication using passwords and applies additional security with the help of a second factor, for example OTP, to ensure a safe and secure access.
|
||||
It additionally leverages industry standards like OAuth 2.0 and OpenID Connect such that it can be easily integrated in your custom backend.
|
||||
|
||||
This documentation demonstrates the different installation methods of ZITADEL and provides a quick start guide on how to register your organization as well as creating your first project.
|
||||
|
||||
> All documentations are under active work and subject to change soon!
|
||||
|
||||
## Trying out ZITADEL
|
||||
|
||||
### Installation Types
|
||||
|
||||
You can either use our cloud-instance [zitadel.ch](https://zitadel.ch) or deploy a dedicated **ZITADEL** instance. To get started, we recommend you to try out our free tier first.
|
||||
39
site/docs/start/01-zitadel-ch.md
Normal file
39
site/docs/start/01-zitadel-ch.md
Normal file
@@ -0,0 +1,39 @@
|
||||
---
|
||||
title: ZITADEL.ch
|
||||
description: A quick-start reference to use our cloud instance zitadel.ch
|
||||
---
|
||||
|
||||
### Use cloud instance zitadel.ch
|
||||
|
||||
To create a ZITADEL project, you have to register as an organization first. Click [here](https://accounts.zitadel.ch/register/org) to register.
|
||||
You will receive an email prompting you to verify your mail.
|
||||
Then go to your [Console Projects](https://console.zitadel.ch/projects) view and create a new project.
|
||||
|
||||
<div class="zitadel-gallery" itemscope itemtype="http://schema.org/ImageGallery">
|
||||
<figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
|
||||
<a href="img/accounts_org_register_light.png" itemprop="contentUrl" data-size="840x1398">
|
||||
<img src="img/accounts_org_register_light.png" itemprop="thumbnail" alt="Organisation Overview" />
|
||||
</a>
|
||||
<figcaption itemprop="caption description">Organisation Register</figcaption>
|
||||
</figure>
|
||||
</div>
|
||||
|
||||
Now you can proceed adding [users](administrate#What_are_users) to your organization as well as integrating your applications. We refer to our administration [documentation](administrate#What_are_clients) as well as our [quickstarts](quickstarts) to do so.
|
||||
|
||||
#### Verify your domain name (optional)
|
||||
|
||||
If you verify a domain you get the benefit that your organisations users can use this domain as the **preferred logonname**. You find a more detailed explanation on [how ZITADEL handles usernames](administrate#How_ZITADEL_handles_usernames) here.
|
||||
The verification process is documented [here](administrate#Verify_a_domain_name)
|
||||
|
||||
#### Elect Managers
|
||||
|
||||
ZITADEL allows you to give other users control over ZITADEL Console itself. This can be restricted to some kind of write and/or read. This can be especially useful for directing administration over several users. You can have managers able to edit project settings and others able to create/add users only.
|
||||
Read the [administration](administrate#ZITADEL_Roles) guide for more information.
|
||||
|
||||
> Note: ZITADEL Managers are always located on the right sidepanel of console.
|
||||
|
||||
#### Integrating an application
|
||||
|
||||
After creating your project you can start integrating your applications.
|
||||
After choosing your [project](https://console.zitadel.ch/projects) add a client application on the top of the page.
|
||||
The wizard should provide some guidance what client is the proper for you. If you are still unsure consult our [Quickstart Guides](quickstarts).
|
||||
7
site/docs/start/02-orbos.md
Normal file
7
site/docs/start/02-orbos.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
title: ORBOS
|
||||
---
|
||||
|
||||
### Use ORBOS to install ZITADEL
|
||||
|
||||
> This will be added later on
|
||||
7
site/docs/start/03-static-manifest.md
Normal file
7
site/docs/start/03-static-manifest.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
title: Static Manifest
|
||||
---
|
||||
|
||||
### Install ZITADEL with static manifest
|
||||
|
||||
> This will be added later on
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
title: Benutzerhandbuch
|
||||
---
|
||||
|
||||
> This Language is not yet translated. Please consult the English version.
|
||||
@@ -2,6 +2,8 @@
|
||||
title: User Manual
|
||||
---
|
||||
|
||||
<i class="las la-book-reader" style="font-size: 100px; height: 100px; color:#6c8eef"></i>
|
||||
|
||||
> All documentations are under active work and subject to change soon!
|
||||
|
||||
### Self Register User
|
||||
15
site/docs/vue/00-overview.md
Normal file
15
site/docs/vue/00-overview.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Vue Login and User Endpoint
|
||||
description: ...
|
||||
---
|
||||
|
||||
<div style="display: flex; align-items: center;">
|
||||
<img src="logos/zitadel-logo-solo-darkdesign.svg" height="160px" alt="zitadel"/>
|
||||
<i style="font-size: 40px; height: 40px; margin: 0 15px;" class="las la-plus"></i>
|
||||
<img src="tech/vue.svg" height="140px" alt="vue"/>
|
||||
</div>
|
||||
|
||||
|
||||
> This quickstart is not yet released. Come back later!
|
||||
|
||||
This Integration guide shows you the recommended way on how to integrate **ZITADEL** into your Vue Frontend Application.
|
||||
Reference in New Issue
Block a user