Skip to content

An implementation of the ZITADEL gRPC API in Rust. Complemented with other useful elements such as ServiceAccount auth.

License

Notifications You must be signed in to change notification settings

grafbase/zitadel-rust

 
 

Repository files navigation

ZITADEL for Rust   Crates.io docs.rs Crates.io Crates.io

This repository contains the gRPC service clients and helpers/credentials/other utilities for ZITADEL.

The following features are present:

  • API clients for communication with the ZITADEL API (calling gRPC methods)
  • Credentials support for the API clients (access token and service account interceptors)
  • OIDC Introspection support for rocket
  • OIDC Introspection support for axum

Example

There exist a few examples in the examples directory. Go there to see the library in action, or head over to the documentation to see the full API documentation.

Development

After you clone the repository, you need "just" to run certain tasks. Generating the gRPC clients is done via just generate-grpc or just (as it is configured to be the default action for just).

For the generation to complete successfully, you need to have "buf" and the required proto plugins installed.

Required tooling:

  • just
  • buf
  • protoc
  • protoc-gen-prost: cargo install protoc-gen-prost
  • protoc-gen-tonic: cargo install protoc-gen-tonic
  • protoc-gen-prost-crate: cargo install protoc-gen-prost-crate

Installing the tools is also partially available via just install-tools.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option. Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the package by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

An implementation of the ZITADEL gRPC API in Rust. Complemented with other useful elements such as ServiceAccount auth.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.9%
  • Other 0.1%