Skip to content

Commit ab2e068

Browse files
committed
OIDC: remove unnecessary ok-wrapping
- Changed return types to avoid unnecessary `Ok()` wrapping.
1 parent 07c8a03 commit ab2e068

File tree

1 file changed

+15
-22
lines changed

1 file changed

+15
-22
lines changed

src/webserver/oidc.rs

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -323,21 +323,18 @@ enum MiddlewareResponse {
323323
Respond(ServiceResponse),
324324
}
325325

326-
async fn handle_request(
327-
oidc_state: &OidcState,
328-
request: ServiceRequest,
329-
) -> actix_web::Result<MiddlewareResponse> {
326+
async fn handle_request(oidc_state: &OidcState, request: ServiceRequest) -> MiddlewareResponse {
330327
log::trace!("Started OIDC middleware request handling");
331328
oidc_state.refresh_if_expired(&request).await;
332329
match get_authenticated_user_info(oidc_state, &request).await {
333330
Ok(Some(claims)) => {
334-
if request.path() != SQLPAGE_REDIRECT_URI {
331+
if request.path() == SQLPAGE_REDIRECT_URI {
332+
MiddlewareResponse::Respond(handle_authenticated_oidc_callback(request))
333+
} else {
335334
log::trace!("Storing authenticated user info in request extensions: {claims:?}");
336335
request.extensions_mut().insert(claims);
337-
return Ok(MiddlewareResponse::Forward(request));
336+
MiddlewareResponse::Forward(request)
338337
}
339-
let response = handle_authenticated_oidc_callback(request);
340-
Ok(MiddlewareResponse::Respond(response))
341338
}
342339
Ok(None) => {
343340
log::trace!("No authenticated user found");
@@ -354,39 +351,36 @@ async fn handle_request(
354351
async fn handle_unauthenticated_request(
355352
oidc_state: &OidcState,
356353
request: ServiceRequest,
357-
) -> actix_web::Result<MiddlewareResponse> {
354+
) -> MiddlewareResponse {
358355
log::debug!("Handling unauthenticated request to {}", request.path());
359356
if request.path() == SQLPAGE_REDIRECT_URI {
360357
log::debug!("The request is the OIDC callback");
361-
let response = handle_oidc_callback(oidc_state, request).await?;
362-
return Ok(MiddlewareResponse::Respond(response));
358+
let response = handle_oidc_callback(oidc_state, request).await;
359+
return MiddlewareResponse::Respond(response);
363360
}
364361

365362
if oidc_state.config.is_public_path(request.path()) {
366-
return Ok(MiddlewareResponse::Forward(request));
363+
return MiddlewareResponse::Forward(request);
367364
}
368365

369366
log::debug!("Redirecting to OIDC provider");
370367

371368
let initial_url = request.uri().to_string();
372369
let response = build_auth_provider_redirect_response(oidc_state, initial_url).await;
373-
Ok(MiddlewareResponse::Respond(request.into_response(response)))
370+
MiddlewareResponse::Respond(request.into_response(response))
374371
}
375372

376-
async fn handle_oidc_callback(
377-
oidc_state: &OidcState,
378-
request: ServiceRequest,
379-
) -> actix_web::Result<ServiceResponse> {
373+
async fn handle_oidc_callback(oidc_state: &OidcState, request: ServiceRequest) -> ServiceResponse {
380374
let query_string = request.query_string();
381375
match process_oidc_callback(oidc_state, query_string, &request).await {
382-
Ok(response) => Ok(request.into_response(response)),
376+
Ok(response) => request.into_response(response),
383377
Err(e) => {
384378
let redirect_url =
385379
get_state_from_cookie(&request).map_or_else(|_| "/".into(), |s| s.initial_url);
386380
log::error!("Failed to process OIDC callback. Refreshing oidc provider metadata, then redirecting to {redirect_url}: {e:#}");
387381
oidc_state.refresh_on_error(&request).await;
388382
let resp = build_auth_provider_redirect_response(oidc_state, redirect_url).await;
389-
Ok(request.into_response(resp))
383+
request.into_response(resp)
390384
}
391385
}
392386
}
@@ -417,9 +411,8 @@ where
417411
let oidc_state = Arc::clone(&self.oidc_state);
418412
Box::pin(async move {
419413
match handle_request(&oidc_state, request).await {
420-
Ok(MiddlewareResponse::Respond(response)) => Ok(response),
421-
Ok(MiddlewareResponse::Forward(request)) => srv.call(request).await,
422-
Err(err) => Err(err),
414+
MiddlewareResponse::Respond(response) => Ok(response),
415+
MiddlewareResponse::Forward(request) => srv.call(request).await,
423416
}
424417
})
425418
}

0 commit comments

Comments
 (0)