Skip to content

Commit d55f959

Browse files
committed
controllers/user/session: Migrate to async oauth2 client
1 parent 942c0ca commit d55f959

File tree

1 file changed

+10
-13
lines changed

1 file changed

+10
-13
lines changed

src/controllers/user/session.rs

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use axum_extra::response::ErasedJson;
55
use diesel::QueryResult;
66
use diesel_async::AsyncPgConnection;
77
use http::request::Parts;
8-
use oauth2::reqwest::http_client;
8+
use oauth2::reqwest::async_http_client;
99
use oauth2::{AuthorizationCode, CsrfToken, Scope, TokenResponse};
1010

1111
use crate::app::AppState;
@@ -14,7 +14,6 @@ use crate::middleware::log_request::RequestLogExt;
1414
use crate::middleware::session::SessionExtension;
1515
use crate::models::{NewUser, User};
1616
use crate::schema::users;
17-
use crate::tasks::spawn_blocking;
1817
use crate::util::diesel::is_read_only_error;
1918
use crate::util::errors::{bad_request, server_error, AppResult};
2019
use crate::views::EncodableMe;
@@ -99,17 +98,15 @@ pub async fn authorize(
9998
// Fetch the access token from GitHub using the code we just got
10099
let app_clone = app.clone();
101100
let request_log = req.request_log().clone();
102-
let token = spawn_blocking(move || {
103-
app_clone
104-
.github_oauth
105-
.exchange_code(query.code)
106-
.request(http_client)
107-
.map_err(|err| {
108-
request_log.add("cause", err);
109-
server_error("Error obtaining token")
110-
})
111-
})
112-
.await?;
101+
let token = app_clone
102+
.github_oauth
103+
.exchange_code(query.code)
104+
.request_async(async_http_client)
105+
.await
106+
.map_err(|err| {
107+
request_log.add("cause", err);
108+
server_error("Error obtaining token")
109+
})?;
113110

114111
let token = token.access_token();
115112

0 commit comments

Comments
 (0)