1pub mod oidc;
11
12use mz_adapter::Client as AdapterClient;
13use mz_frontegg_auth::Authenticator as FronteggAuthenticator;
14
15pub use oidc::{GenericOidcAuthenticator, OidcClaims, OidcError, ValidatedClaims};
16
17use mz_auth::AuthenticatorKind;
18
19#[derive(Debug, Clone)]
20pub enum Authenticator {
21 Frontegg(FronteggAuthenticator),
22 Password(AdapterClient),
23 Sasl(AdapterClient),
24 Oidc(GenericOidcAuthenticator),
25 None,
26}
27
28impl Authenticator {
29 pub fn kind(&self) -> AuthenticatorKind {
30 match self {
31 Authenticator::Frontegg(_) => AuthenticatorKind::Frontegg,
32 Authenticator::Password(_) => AuthenticatorKind::Password,
33 Authenticator::Sasl(_) => AuthenticatorKind::Sasl,
34 Authenticator::Oidc(_) => AuthenticatorKind::Oidc,
35 Authenticator::None => AuthenticatorKind::None,
36 }
37 }
38}