feat: with actual return url #6

Merged
kjuulh merged 1 commits from feat/with-actual-return-url into main 2023-11-01 21:58:59 +01:00

View File

@ -7,7 +7,7 @@ use oauth2::url::Url;
use crate::{ use crate::{
introspection::IntrospectionService, introspection::IntrospectionService,
login::{auth_clap::AuthEngine, AuthClap}, login::{auth_clap::AuthEngine, config::ConfigClap, AuthClap},
oauth::{zitadel::ZitadelConfig, OAuth}, oauth::{zitadel::ZitadelConfig, OAuth},
session::{SessionService, User}, session::{SessionService, User},
}; };
@ -32,8 +32,12 @@ impl AuthService {
let oauth: OAuth = ZitadelConfig::try_from(config.zitadel.clone())?.into(); let oauth: OAuth = ZitadelConfig::try_from(config.zitadel.clone())?.into();
let introspection: IntrospectionService = let introspection: IntrospectionService =
IntrospectionService::new_zitadel(config).await?; IntrospectionService::new_zitadel(config).await?;
Ok(Self::new_zitadel(
Ok(Self::new_zitadel(oauth, introspection, session)) oauth,
introspection,
session,
&config.config,
))
} }
} }
} }
@ -42,11 +46,13 @@ impl AuthService {
oauth: OAuth, oauth: OAuth,
introspection: IntrospectionService, introspection: IntrospectionService,
session: SessionService, session: SessionService,
config: &ConfigClap,
) -> Self { ) -> Self {
Self(Arc::new(ZitadelAuthService { Self(Arc::new(ZitadelAuthService {
oauth, oauth,
introspection, introspection,
session, session,
config: config.clone(),
})) }))
} }
@ -67,6 +73,7 @@ pub struct ZitadelAuthService {
oauth: OAuth, oauth: OAuth,
introspection: IntrospectionService, introspection: IntrospectionService,
session: SessionService, session: SessionService,
config: ConfigClap,
} }
pub static COOKIE_NAME: &str = "SESSION"; pub static COOKIE_NAME: &str = "SESSION";
@ -89,7 +96,7 @@ impl Auth for ZitadelAuthService {
Ok(( Ok((
headers, headers,
Url::parse("http://localhost:3001/authed") Url::parse(&self.config.return_url)
.context("failed to parse login_authorized zitadel return url")?, .context("failed to parse login_authorized zitadel return url")?,
)) ))
} }