forked from smartive/zitadel-rust
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
91 lines (81 loc) · 3.25 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
[package]
name = "zitadel"
description = "An implementation of ZITADEL API access and authentication in Rust."
version = "0.0.0-development"
edition = "2021"
license = "MIT OR Apache-2.0"
authors = ["Christoph Bühler <christoph@smartive.ch>"]
repository = "https://github.com/buehler/zitadel-rust"
keywords = ["ZITADEL", "gRPC", "clients", "authentication", "oidc"]
categories = ["authentication", "api-bindings"]
include = [
"build.rs",
"src/**/*.rs",
"Cargo.toml",
"LICENSE*",
"README.md",
"external/zitadel/proto/**/*.proto",
"external/protoc-gen-validate/validate/**/*.proto",
"external/googleapis/google/**/*.proto",
"external/grpc-gateway/protoc-gen-openapiv2/**/*.proto"
]
[features]
default = []
## The API feature enables the gRPC service clients to access the ZITADEL API.
api = ["dep:prost", "dep:prost-types", "dep:tonic", "dep:tonic-types"]
## 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.
credentials = [
"dep:jsonwebtoken",
"dep:openidconnect",
"dep:reqwest",
"dep:serde",
"dep:serde_json",
"dep:serde_urlencoded",
"dep:time",
]
## 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.
interceptors = ["api", "credentials", "dep:time", "dep:tokio"]
## 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.
oidc = [
"credentials",
"dep:base64",
]
## Feature that enables support for the [rocket framework](https://rocket.rs/).
## It enables authentication features for rocket in the form of route guards.
## Refer to the rocket module for more information.
rocket = [
"credentials",
"oidc",
"dep:rocket",
]
[dependencies]
base64 = { version = "0.21.1", optional = true }
custom_error = "1.9.2"
document-features = { version = "0.2", optional = true }
jsonwebtoken = { version = "8.3.0", optional = true }
openidconnect = { version = "3.0.0", optional = true }
prost = { version = "0.11", optional = true }
prost-types = { version = "0.11", optional = true }
reqwest = { version = "0.11.18", features = ["json"], optional = true }
rocket = { version = "0.5.0-rc.3", optional = true }
serde = { version = "1.0", features = ["derive"], optional = true }
serde_json = { version = "1.0", optional = true }
serde_urlencoded = { version = "0.7.1", optional = true }
time = { version = "0.3.21", optional = true }
tokio = { version = "1", optional = true, features = ["macros", "rt-multi-thread"] }
tonic = { version = "0.9", features = ["tls", "tls-roots", "tls-roots-common"], optional = true }
tonic-types = { version = "0.9", optional = true }
[dev-dependencies]
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
[build-dependencies]
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
tonic-build = "0.9"
[package.metadata.docs.rs]
all-features = true