Use async reqwest for openid connect checks (#645)

PR #646

* cargo update
* Use an enum instead of a trait (prepare to allow async)
* Use async reqwest client for openid connect checks.
* Move extract bearer token function to util::httpclient.

Co-authored-by: Ximon Eighteen <3304436+ximon18@users.noreply.github.com>
This commit is contained in:
Tim Bruijnzeels
2021-09-06 13:38:17 +02:00
committed by GitHub
co-authored by Ximon Eighteen
parent 1dfffed3ff
commit 27fd25dcb2
11 changed files with 702 additions and 1456 deletions
+4 -4
View File
@@ -341,7 +341,7 @@ pub struct Request {
impl Request {
pub async fn new(request: hyper::Request<hyper::Body>, state: State) -> Self {
let path = RequestPath::from_request(&request);
let actor = state.actor_from_request(&request);
let actor = state.actor_from_request(&request).await;
Request {
request,
@@ -505,15 +505,15 @@ impl Request {
}
pub async fn get_login_url(&self) -> KrillResult<HttpResponse> {
self.state.get_login_url()
self.state.get_login_url().await
}
pub async fn login(&self) -> KrillResult<LoggedInUser> {
self.state.login(&self.request)
self.state.login(&self.request).await
}
pub async fn logout(&self) -> KrillResult<HttpResponse> {
self.state.logout(&self.request)
self.state.logout(&self.request).await
}
}