fix: enhance gpauth to support browser authentication

This commit is contained in:
Kevin Yue
2024-08-15 09:10:12 +00:00
parent 9317430968
commit 57e20fe478
13 changed files with 171 additions and 66 deletions

View File

@@ -1,9 +1,10 @@
use std::collections::HashMap;
use anyhow::bail;
use serde::{Deserialize, Serialize};
use specta::Type;
use crate::auth::SamlAuthData;
use crate::auth::{SamlAuthData, SamlAuthResult};
#[derive(Debug, Serialize, Deserialize, Type, Clone)]
#[serde(rename_all = "camelCase")]
@@ -230,6 +231,17 @@ impl From<SamlAuthData> for Credential {
}
}
impl TryFrom<SamlAuthResult> for Credential {
type Error = anyhow::Error;
fn try_from(value: SamlAuthResult) -> anyhow::Result<Self> {
match value {
SamlAuthResult::Success(auth_data) => Ok(Self::from(auth_data)),
SamlAuthResult::Failure(err) => bail!(err),
}
}
}
impl From<PasswordCredential> for Credential {
fn from(value: PasswordCredential) -> Self {
Self::Password(value)