nodedb_types/protocol/
auth.rs1use serde::{Deserialize, Serialize};
6
7#[derive(
9 Debug, Clone, Serialize, Deserialize, zerompk::ToMessagePack, zerompk::FromMessagePack,
10)]
11#[serde(tag = "method", rename_all = "snake_case")]
12#[non_exhaustive]
13pub enum AuthMethod {
14 #[serde(rename = "trust")]
15 Trust {
16 #[serde(default = "default_username")]
17 username: String,
18 },
19 #[serde(rename = "password")]
20 Password { username: String, password: String },
21 #[serde(rename = "api_key")]
22 ApiKey { token: String },
23 #[serde(rename = "oidc_bearer")]
25 OidcBearer {
26 token: String,
27 #[serde(default)]
30 provider: Option<String>,
31 },
32}
33
34fn default_username() -> String {
35 "admin".into()
36}
37
38#[derive(
40 Debug, Clone, Serialize, Deserialize, zerompk::ToMessagePack, zerompk::FromMessagePack,
41)]
42pub struct AuthResponse {
43 pub username: String,
44 pub tenant_id: u64,
45}