Crate zitadel

source ·
Expand description

This is the ZITADEL API and authentication crate for rust. It does provide the gRPC service clients to access the ZITADEL API and contains other utilities and helpers for ZITADEL.

ZITADEL

ZITADEL is an open source IAM (identity and access management) system. With this crate, it is possible to access the API of ZITADEL itself on the SaaS cloud instance or any self-hosted variant of ZITADEL.

To create a ZITADEL (v2) instance, head over to the ZITADEL customer portal and create an account and an instance. The newly created instance can then be used to secure your applications and APIs. This crate offers the necessary tools to access the API of the instance, to authenticate users, and to validate incoming requests.

To get started with ZITADEL, check out the getting started guide in the docs!

API Access

To use this crate for accessing the ZITADEL API, ensure that the api feature is enabled. You may use the provided clients and their convenience functions to create a client that directly authenticates itself against the API. The *.proto files are directly fetched from the ZITADEL repository.

Feature flags

  • api — The API feature enables the gRPC service clients to access the ZITADEL API.

  • credentials — The credentials feature enables special credentials helpers for ZITADEL. For example, it allows the user to create a ZITADEL service account and authenticate against ZITADEL.

  • interceptors — The interceptors feature enables specific gRPC interceptors and new convenience functions to create a gRPC client with interceptors. The interceptors provide easy access to an authenticated ZITADEL API client. The interceptors work with the credentials from this crate.

  • oidc — The OIDC module enables basic OIDC (OpenID Connect) features to communicate with ZITADEL. Two examples are the discover and introspect functions. The OIDC features are required for some of the web framework features.

  • rocket — Feature that enables support for the rocket framework. It enables authentication features for rocket in the form of route guards. Refer to the rocket module for more information.

Modules

  • Module with API elements and definitions of ZITADEL. Contains the compiled ZITADEL gRPC API as well as the gRPC clients and constructors for clients.
  • Module that contains credentials for ZITADEL. This module allows accessing the ZITADEL API or using ZITADEL as an OIDC provider. Can be used in conjunction with the gRPC service clients to access the API.
  • Module with OIDC related functionality. ZITADEL is built upon OIDC which enables standardized access to some functionality. This module provides the base functionality for OIDC related calls.
  • This module provides convenience functions and structs to interact with ZITADEL within the rocket framework.