bitwarden_core/client/
login_method.rs1#[cfg(feature = "secrets")]
2use std::path::PathBuf;
3
4use bitwarden_crypto::Kdf;
5use serde::{Deserialize, Serialize};
6
7#[cfg(feature = "secrets")]
8use crate::{OrganizationId, auth::AccessToken};
9
10#[derive(Debug)]
11pub enum LoginMethod {
12 #[allow(dead_code)]
13 User(UserLoginMethod),
14 #[cfg(feature = "secrets")]
17 ServiceAccount(ServiceAccountLoginMethod),
18}
19
20#[allow(dead_code)]
21#[derive(Debug, Clone, Serialize, Deserialize)]
22pub enum UserLoginMethod {
23 Username {
24 client_id: String,
25 email: String,
26 kdf: Kdf,
27 },
28 ApiKey {
29 client_id: String,
30 client_secret: String,
31
32 email: String,
33 kdf: Kdf,
34 },
35}
36
37#[cfg(feature = "secrets")]
38#[derive(Debug)]
39pub enum ServiceAccountLoginMethod {
40 AccessToken {
41 access_token: AccessToken,
42 organization_id: OrganizationId,
43 state_file: Option<PathBuf>,
44 },
45}