#grpc-client #grpc #oidc #clients #api-client

zitadel

An implementation of ZITADEL API access and authentication in Rust

122 stable releases

new 4.3.0 Apr 18, 2024
4.2.2 Mar 24, 2024
3.5.1 Jan 23, 2024
3.4.29 Oct 21, 2023
1.0.1 Mar 23, 2022

#49 in Authentication

Download history 22/week @ 2023-12-24 101/week @ 2023-12-31 66/week @ 2024-01-07 47/week @ 2024-01-14 26/week @ 2024-01-21 29/week @ 2024-01-28 29/week @ 2024-02-04 23/week @ 2024-02-11 85/week @ 2024-02-18 133/week @ 2024-02-25 13/week @ 2024-03-03 723/week @ 2024-03-10 832/week @ 2024-03-17 173/week @ 2024-03-24 85/week @ 2024-03-31 192/week @ 2024-04-07

1,308 downloads per month

MIT/Apache

2MB
42K SLoC

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.

Dependencies

~0–41MB
~640K SLoC