zitadel/lib.rs
1#![doc(
2 html_favicon_url = "https://raw.githubusercontent.com/caos/zitadel/main/console/src/favicon.ico",
3 html_logo_url = "https://raw.githubusercontent.com/caos/zitadel/main/console/src/assets/images/zitadel-logo-solo-light.svg",
4 issue_tracker_base_url = "https://github.com/smartive/zitadel-rust/issues/"
5)]
6//! This is the [ZITADEL](https://zitadel.com/) API and authentication crate for rust.
7//! It does provide the gRPC service clients to access the ZITADEL API and contains other
8//! utilities and helpers for ZITADEL.
9//!
10//! # ZITADEL
11//!
12//! [ZITADEL](https://zitadel.com/) is an open source IAM (identity and access management) system.
13//! With this crate, it is possible to access the API of ZITADEL itself
14//! on the SaaS cloud instance or any self-hosted variant of ZITADEL.
15//!
16//! To create a ZITADEL (v2) instance, head over to the [ZITADEL customer portal](https://zitadel.cloud)
17//! and create an account and an instance. The newly created instance can then be used to secure
18//! your applications and APIs. This crate offers the necessary tools to access the API of the
19//! instance, to authenticate users, and to validate incoming requests.
20//!
21//! To get started with ZITADEL, check out the
22//! [getting started guide in the docs](https://docs.zitadel.com/docs/guides/start/quickstart)!
23//!
24//! # API Access
25//!
26//! To use this crate for accessing the ZITADEL API, ensure that the `api` feature is enabled.
27//! You may use the provided
28//! [clients][crate::api::clients] and their convenience functions to create a client that directly authenticates
29//! itself against the API. The `*.proto` files are directly fetched from
30//! [the ZITADEL repository](https://github.com/zitadel/zitadel).
31//!
32//! ## Feature flags
33#![cfg_attr(
34 feature = "document-features",
35 cfg_attr(doc, doc = ::document_features::document_features!())
36)]
37
38#[cfg(feature = "actix")]
39pub mod actix;
40#[cfg(feature = "api-common")]
41pub mod api;
42#[cfg(feature = "axum")]
43pub mod axum;
44#[cfg(feature = "credentials")]
45pub mod credentials;
46#[cfg(feature = "oidc")]
47pub mod oidc;
48#[cfg(feature = "rocket")]
49pub mod rocket;