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