Add STALWART_HTTPS_PORT variable

This commit is contained in:
Maurus Decimus
2026-04-22 08:41:46 +02:00
parent 04b673587d
commit 2fd3f208bd
11 changed files with 32 additions and 58 deletions

View File

@@ -49,8 +49,6 @@ pub struct OAuthMetadata {
pub trait OAuthApiHandler: Sync + Send {
fn handle_discover_request(
&self,
req: &HttpRequest,
session: &HttpSessionData,
account_name: &str,
) -> impl Future<Output = trc::Result<HttpResponse>> + Send;
@@ -66,11 +64,7 @@ pub trait OAuthApiHandler: Sync + Send {
session: &HttpSessionData,
) -> impl Future<Output = trc::Result<HttpResponse>> + Send;
fn handle_oauth_metadata(
&self,
req: HttpRequest,
session: &HttpSessionData,
) -> impl Future<Output = trc::Result<HttpResponse>> + Send;
fn handle_oauth_metadata(&self) -> impl Future<Output = trc::Result<HttpResponse>> + Send;
}
#[derive(Debug, serde::Serialize, serde::Deserialize)]
@@ -120,12 +114,7 @@ pub enum LoginResponse {
}
impl OAuthApiHandler for Server {
async fn handle_discover_request(
&self,
req: &HttpRequest,
session: &HttpSessionData,
account_name: &str,
) -> trc::Result<HttpResponse> {
async fn handle_discover_request(&self, account_name: &str) -> trc::Result<HttpResponse> {
let account_name = account_name.trim().to_lowercase();
if let Some(domain_name) = account_name.try_domain_part()
&& let Some(endpoint) = self
@@ -137,7 +126,7 @@ impl OAuthApiHandler for Server {
.no_cache()
.into_http_response())
} else {
self.handle_oidc_metadata(req, session).await
self.handle_oidc_metadata().await
}
}
@@ -423,7 +412,7 @@ impl OAuthApiHandler for Server {
.await?;
// Build response
let base_url = HttpContext::new(session, req).resolve_response_url(self);
let base_url = &self.core.network.http.url_https;
Ok(JsonResponse::new(DeviceAuthResponse {
verification_uri: format!("{base_url}/device"),
verification_uri_complete: format!("{base_url}/device/?code={user_code}"),
@@ -436,12 +425,8 @@ impl OAuthApiHandler for Server {
.into_http_response())
}
async fn handle_oauth_metadata(
&self,
req: HttpRequest,
session: &HttpSessionData,
) -> trc::Result<HttpResponse> {
let base_url = HttpContext::new(session, &req).resolve_response_url(self);
async fn handle_oauth_metadata(&self) -> trc::Result<HttpResponse> {
let base_url = &self.core.network.http.url_https;
Ok(JsonResponse::new(OAuthMetadata {
authorization_endpoint: format!("{base_url}/login",),

View File

@@ -33,11 +33,7 @@ pub trait OpenIdHandler: Sync + Send {
account_id: u32,
) -> impl Future<Output = trc::Result<HttpResponse>> + Send;
fn handle_oidc_metadata(
&self,
req: &HttpRequest,
session: &HttpSessionData,
) -> impl Future<Output = trc::Result<HttpResponse>> + Send;
fn handle_oidc_metadata(&self) -> impl Future<Output = trc::Result<HttpResponse>> + Send;
}
impl OpenIdHandler for Server {
@@ -56,12 +52,8 @@ impl OpenIdHandler for Server {
.into_http_response())
}
async fn handle_oidc_metadata(
&self,
req: &HttpRequest,
session: &HttpSessionData,
) -> trc::Result<HttpResponse> {
let base_url = HttpContext::new(session, req).resolve_response_url(self);
async fn handle_oidc_metadata(&self) -> trc::Result<HttpResponse> {
let base_url = &self.core.network.http.url_https;
Ok(JsonResponse::new(OpenIdMetadata {
authorization_endpoint: format!("{base_url}/login",),

View File

@@ -64,9 +64,7 @@ impl TokenHandler for Server {
let mut response = TokenResponse::error(ErrorType::InvalidGrant);
let issuer = HttpContext::new(&session, req)
.resolve_response_url(self)
.to_string();
let issuer = self.core.network.http.url_https.to_string();
if grant_type.eq_ignore_ascii_case("authorization_code") {
response = if let (Some(code), Some(client_id), Some(redirect_uri)) = (