1
- [package ]
2
- name = " zitadel"
3
- description = " An implementation of ZITADEL API access and authentication in Rust."
4
- version = " 0.0.0-development"
5
- edition = " 2021"
6
- license = " MIT OR Apache-2.0"
7
- authors = [
" Christoph Bühler <[email protected] >" ]
8
- repository = " https://github.com/buehler/zitadel-rust"
9
- keywords = [" ZITADEL" , " gRPC" , " clients" , " authentication" , " oidc" ]
10
- categories = [" authentication" , " api-bindings" ]
11
- include = [
12
- " src/**/*.rs" ,
13
- " Cargo.toml" ,
14
- " LICENSE*" ,
15
- " README.md" ,
16
- ]
17
-
18
- [features ]
19
- default = [" tls-roots" ]
20
-
21
- # # Feature that enables support for the [actix framework](https://actix.rs/).
22
- actix = [" credentials" , " oidc" , " dep:actix-web" ]
23
-
24
- # # The API feature enables all gRPC service clients to access the ZITADEL API.
25
- api = [
26
- " api-admin-v1" ,
27
- " api-auth-v1" ,
28
- " api-management-v1" ,
29
- " api-system-v1" ,
30
- " api-oidc-v2" ,
31
- " api-org-v2" ,
32
- " api-session-v2" ,
33
- " api-settings-v2" ,
34
- " api-user-v2"
1
+ [workspace ]
2
+ resolver = " 2"
3
+ members = [
4
+ " crates/zitadel" ,
5
+ " crates/zitadel-gen" ,
35
6
]
36
- # # The API feature enables all gRPC service clients to access the respective ZITADEL API.
37
- api-admin-v1 = [" api-common" , " zitadel-admin-v1" ]
38
- # # The API feature enables all gRPC service clients to access the respective ZITADEL API.
39
- api-auth-v1 = [" api-common" , " zitadel-auth-v1" ]
40
- # # The API feature enables all gRPC service clients to access the respective ZITADEL API.
41
- api-management-v1 = [" api-common" , " zitadel-v1-v1" ]
42
- # # The API feature enables all gRPC service clients to access the respective ZITADEL API.
43
- api-system-v1 = [" api-common" , " zitadel-system-v1" , " zitadel-authn-v1" ]
44
- # # The API feature enables all gRPC service clients to access the respective ZITADEL API.
45
- api-oidc-v2 = [" api-common" , " zitadel-oidc-v2" ]
46
- # # The API feature enables all gRPC service clients to access the respective ZITADEL API.
47
- api-org-v2 = [" api-common" , " zitadel-org-v2" , " zitadel-user-v2" ]
48
- # # The API feature enables all gRPC service clients to access the respective ZITADEL API.
49
- api-session-v2 = [" api-common" , " zitadel-session-v2" ]
50
- # # The API feature enables all gRPC service clients to access the respective ZITADEL API.
51
- api-settings-v2 = [" api-common" , " zitadel-settings-v2" ]
52
- # # The API feature enables all gRPC service clients to access the respective ZITADEL API.
53
- api-user-v2 = [" api-common" , " zitadel-user-v2" ]
54
- api-common = [" dep:prost" , " dep:prost-types" , " dep:tonic" , " dep:tonic-types" , " dep:pbjson-types" ]
55
-
56
- tls-roots = [" tonic/tls-roots" ]
57
- tls-webpki-roots = [" tonic/tls-webpki-roots" ]
58
-
59
-
60
- # # Feature that enables support for the [axum framework](https://docs.rs/axum/latest/axum/).
61
- axum = [" credentials" , " oidc" , " dep:axum" , " dep:axum-extra" ]
62
-
63
- # # The credentials feature enables special credentials helpers for ZITADEL.
64
- # # For example, it allows the user to create a ZITADEL service account and
65
- # # authenticate against ZITADEL.
66
- credentials = [" dep:jsonwebtoken" , " dep:openidconnect" , " dep:reqwest" , " dep:serde" , " dep:serde_json" , " dep:serde_urlencoded" , " dep:time" ]
67
-
68
- # # The interceptors feature enables specific gRPC interceptors and
69
- # # new convenience functions to create a gRPC client with interceptors.
70
- # # The interceptors provide easy access to an authenticated ZITADEL API client.
71
- # # The interceptors work with the credentials from this crate.
72
- interceptors = [" credentials" , " dep:time" , " dep:tokio" ]
73
-
74
- # # This feature enables caching of the OIDC discovery and introspection results.
75
- # # By default, only the in-memory cache is available. To use a different cache,
76
- # # enable specific features of this crate, or implement your own cache with
77
- # # the trait.
78
- introspection_cache = [" dep:async-trait" , " dep:time" , " dep:moka" ]
79
-
80
- # # The OIDC module enables basic OIDC (OpenID Connect) features to communicate
81
- # # with ZITADEL. Two examples are the `discover` and `introspect` functions.
82
- # # The OIDC features are required for some of the web framework features.
83
- oidc = [" credentials" , " dep:base64-compat" ]
84
-
85
- # # Feature that enables support for the [rocket framework](https://rocket.rs/).
86
- # # It enables authentication features for rocket in the form of route guards.
87
- # # Refer to the rocket module for more information.
88
- rocket = [" credentials" , " oidc" , " dep:rocket" ]
89
-
90
- # # Feature that enables support for the [rocket okapi](https://github.com/GREsau/okapi).
91
- rocket_okapi = [" rocket" , " dep:rocket_okapi" , " dep:schemars" ]
92
7
93
- # @@protoc_deletion_point(features)
94
- # This section is automatically generated by protoc-gen-prost-crate.
95
- # Changes in this area may be lost on regeneration.
96
- proto_full = ["zitadel-action-v1","zitadel-admin-v1","zitadel-app-v1","zitadel-auth-v1","zitadel-authn-v1","zitadel-change-v1","zitadel-event-v1","zitadel-feature-v1","zitadel-feature-v2","zitadel-feature-v2beta","zitadel-idp-v1","zitadel-idp-v2","zitadel-instance-v1","zitadel-management-v1","zitadel-member-v1","zitadel-metadata-v1","zitadel-milestone-v1","zitadel-object-v2","zitadel-object-v2beta","zitadel-object-v3alpha","zitadel-oidc-v2","zitadel-oidc-v2beta","zitadel-org-v1","zitadel-org-v2","zitadel-org-v2beta","zitadel-policy-v1","zitadel-project-v1","zitadel-protoc_gen_zitadel-v2","zitadel-quota-v1","zitadel-resources-action-v3alpha","zitadel-resources-object-v3alpha","zitadel-resources-user-v3alpha","zitadel-resources-userschema-v3alpha","zitadel-resources-webkey-v3alpha","zitadel-session-v2","zitadel-session-v2beta","zitadel-settings-object-v3alpha","zitadel-settings-v1","zitadel-settings-v2","zitadel-settings-v2beta","zitadel-system-v1","zitadel-text-v1","zitadel-user-v1","zitadel-user-v2","zitadel-user-v2beta","zitadel-v1","zitadel-v1-v1"]
97
- "zitadel-action-v1" = [" zitadel-v1" ]
98
- "zitadel-admin-v1" = [" zitadel-event-v1" ," zitadel-idp-v1" ," zitadel-instance-v1" ," zitadel-management-v1" ," zitadel-member-v1" ," zitadel-milestone-v1" ," zitadel-org-v1" ," zitadel-policy-v1" ," zitadel-settings-v1" ," zitadel-text-v1" ," zitadel-v1" ," zitadel-v1-v1" ]
99
- "zitadel-app-v1" = [" zitadel-v1" ]
100
- "zitadel-auth-v1" = [" zitadel-change-v1" ," zitadel-idp-v1" ," zitadel-metadata-v1" ," zitadel-org-v1" ," zitadel-policy-v1" ," zitadel-user-v1" ," zitadel-v1" ]
101
- "zitadel-authn-v1" = [" zitadel-v1" ]
102
- "zitadel-change-v1" = [" zitadel-v1" ]
103
- "zitadel-event-v1" = [" zitadel-v1" ]
104
- "zitadel-feature-v1" = []
105
- "zitadel-feature-v2" = [" zitadel-object-v2" ]
106
- "zitadel-feature-v2beta" = [" zitadel-object-v2beta" ]
107
- "zitadel-idp-v1" = [" zitadel-v1" ]
108
- "zitadel-idp-v2" = [" zitadel-object-v2" ]
109
- "zitadel-instance-v1" = [" zitadel-v1" ]
110
- "zitadel-management-v1" = [" zitadel-action-v1" ," zitadel-app-v1" ," zitadel-authn-v1" ," zitadel-change-v1" ," zitadel-idp-v1" ," zitadel-member-v1" ," zitadel-metadata-v1" ," zitadel-org-v1" ," zitadel-policy-v1" ," zitadel-project-v1" ," zitadel-text-v1" ," zitadel-user-v1" ," zitadel-v1" ]
111
- "zitadel-member-v1" = [" zitadel-user-v1" ," zitadel-v1" ]
112
- "zitadel-metadata-v1" = [" zitadel-v1" ]
113
- "zitadel-milestone-v1" = []
114
- "zitadel-object-v2" = []
115
- "zitadel-object-v2beta" = []
116
- "zitadel-object-v3alpha" = []
117
- "zitadel-oidc-v2" = [" zitadel-object-v2" ]
118
- "zitadel-oidc-v2beta" = [" zitadel-object-v2beta" ]
119
- "zitadel-org-v1" = [" zitadel-v1" ]
120
- "zitadel-org-v2" = [" zitadel-object-v2" ]
121
- "zitadel-org-v2beta" = [" zitadel-object-v2beta" ]
122
- "zitadel-policy-v1" = [" zitadel-idp-v1" ," zitadel-v1" ]
123
- "zitadel-project-v1" = [" zitadel-v1" ]
124
- "zitadel-protoc_gen_zitadel-v2" = []
125
- "zitadel-quota-v1" = []
126
- "zitadel-resources-action-v3alpha" = [" zitadel-object-v3alpha" ," zitadel-resources-object-v3alpha" ]
127
- "zitadel-resources-object-v3alpha" = [" zitadel-object-v3alpha" ]
128
- "zitadel-resources-user-v3alpha" = [" zitadel-object-v3alpha" ," zitadel-resources-object-v3alpha" ]
129
- "zitadel-resources-userschema-v3alpha" = [" zitadel-object-v3alpha" ," zitadel-resources-object-v3alpha" ]
130
- "zitadel-resources-webkey-v3alpha" = [" zitadel-object-v3alpha" ," zitadel-resources-object-v3alpha" ]
131
- "zitadel-session-v2" = [" zitadel-object-v2" ," zitadel-v1" ]
132
- "zitadel-session-v2beta" = [" zitadel-object-v2beta" ," zitadel-v1" ]
133
- "zitadel-settings-object-v3alpha" = [" zitadel-object-v3alpha" ]
134
- "zitadel-settings-v1" = [" zitadel-v1" ]
135
- "zitadel-settings-v2" = [" zitadel-object-v2" ]
136
- "zitadel-settings-v2beta" = [" zitadel-object-v2beta" ]
137
- "zitadel-system-v1" = [" zitadel-feature-v1" ," zitadel-instance-v1" ," zitadel-member-v1" ," zitadel-quota-v1" ," zitadel-v1" ]
138
- "zitadel-text-v1" = [" zitadel-v1" ]
139
- "zitadel-user-v1" = [" zitadel-v1" ]
140
- "zitadel-user-v2" = [" zitadel-object-v2" ]
141
- "zitadel-user-v2beta" = [" zitadel-object-v2beta" ]
142
- "zitadel-v1" = []
143
- "zitadel-v1-v1" = [" zitadel-authn-v1" ," zitadel-idp-v1" ," zitadel-management-v1" ," zitadel-org-v1" ," zitadel-v1" ]
144
- # @@protoc_insertion_point(features)
145
-
146
- [dependencies ]
147
- actix-web = { version = " 4.5.1" , optional = true }
148
- async-trait = { version = " 0.1.80" , optional = true }
149
- axum = { version = " 0.8.0" , optional = true , features = [" macros" ] }
150
- axum-extra = { version = " 0.11.0" , optional = true , features = [" typed-header" ] }
151
- base64-compat = { version = " 1" , optional = true }
152
- custom_error = " 1.9.2"
153
- document-features = { version = " 0.2.8" , optional = true }
154
- jsonwebtoken = { version = " 9.3.0" , optional = true }
155
- moka = { version = " 0.12.8" , features = [" future" ], optional = true }
156
- openidconnect = { version = " 3.5.0" , optional = true }
157
- pbjson-types = { version = " 0.7.0" , optional = true }
158
- prost = { version = " 0.13.1" , optional = true }
159
- prost-types = { version = " 0.13.1" , optional = true }
160
- reqwest = { version = " 0.11.27" , features = [" json" , " rustls-tls" ], default-features = false , optional = true }
161
- rocket = { version = " 0.5.0" , optional = true }
162
- serde = { version = " 1.0.200" , features = [" derive" ], optional = true }
163
- serde_json = { version = " 1.0.116" , optional = true }
164
- serde_urlencoded = { version = " 0.7.1" , optional = true }
165
- time = { version = " 0.3.36" , optional = true }
166
- tokio = { version = " 1.37.0" , optional = true , features = [
167
- " macros" ,
168
- " rt-multi-thread" ,
169
- ] }
170
- tonic = { version = " 0.12.1" , features = [
171
- " tls" ,
172
- ], optional = true }
173
- rocket_okapi = { version = " 0.9.0" , optional = true , default-features = false }
174
- schemars = {version = " 0.8.21" , optional = true }
175
- tonic-types = { version = " 0.12.1" , optional = true }
176
-
177
- [dev-dependencies ]
178
- chrono = " 0.4.38"
179
- tokio = { version = " 1.37.0" , features = [" macros" , " rt-multi-thread" ] }
180
- tower = { version = " 0.5.0" }
181
- http-body-util = " 0.1.0"
182
-
183
- [package .metadata .docs .rs ]
184
- all-features = true
185
-
186
-
187
- [[example ]]
188
- name = " actix_webapi_oauth_interception_basic"
189
- required-features = [" actix" ]
190
-
191
- [[example ]]
192
- name = " axum_webapi_oauth_interception_basic"
193
- required-features = [" axum" ]
194
-
195
- [[example ]]
196
- name = " fetch_profile_with_pat"
197
- required-features = [" api" , " interceptors" ]
198
-
199
- [[example ]]
200
- name = " fetch_profile_with_service_account"
201
- required-features = [" api" , " interceptors" ]
202
-
203
- [[example ]]
204
- name = " rocket_webapi_oauth_interception_basic"
205
- required-features = [" rocket" ]
206
-
207
- [[example ]]
208
- name = " rocket_webapi_oauth_interception_jwtprofile_cached"
209
- required-features = [" rocket" , " introspection_cache" ]
210
-
211
- [[example ]]
212
- name = " rocket_webapi_oauth_interception_jwtprofile"
213
- required-features = [" rocket" ]
214
-
215
- [[example ]]
216
- name = " service_account_authentication"
217
- required-features = [" credentials" ]
8
+ [workspace .package ]
9
+ version = " 0.1.0"
10
+ authors = [
" Christoph Bühler <[email protected] >" ]
11
+ description = " Rust Microservices for labs gallery"
12
+ license = " MIT OR Apache-2.0"
13
+ edition = " 2021"
0 commit comments