summaryrefslogtreecommitdiff
path: root/server/src/auth.rs
diff options
context:
space:
mode:
authorKjetil Orbekk <kj@orbekk.com>2022-10-07 21:31:21 -0400
committerKjetil Orbekk <kj@orbekk.com>2022-10-07 21:31:21 -0400
commitba57f14611b3a35bc08f01050779f1b4c9fc6090 (patch)
tree78fd8eda7686210d58c26054408e94279a5a08a0 /server/src/auth.rs
parent262471eeed510e36026b17e0ff1b070d88753417 (diff)
Add url encoded cookie
Diffstat (limited to 'server/src/auth.rs')
-rw-r--r--server/src/auth.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/server/src/auth.rs b/server/src/auth.rs
index ab1ba8b..c5f9e64 100644
--- a/server/src/auth.rs
+++ b/server/src/auth.rs
@@ -1,7 +1,7 @@
use std::{
env,
num::NonZeroUsize,
- sync::{Arc, Mutex},
+ sync::{Arc, Mutex}, collections::HashMap,
};
use lru::LruCache;
@@ -12,6 +12,7 @@ use openidconnect::{
AccessTokenHash, AuthenticationFlow, AuthorizationCode, ClientId, ClientSecret, CsrfToken,
IssuerUrl, Nonce, OAuth2TokenResponse, PkceCodeChallenge, RedirectUrl, Scope, TokenResponse,
};
+use tracing::info;
use uuid::Uuid;
use serde::{Deserialize, Serialize};
@@ -94,4 +95,11 @@ impl Authenticator {
.put(user_id.clone(), LoginState { csrf_token, nonce });
(user_id, auth_url)
}
+
+ pub async fn authenticate(&self, user_id: EndUserId, auth_params: HashMap<String, String>) {
+ let state = self.login_cache.lock().unwrap().pop(&user_id).unwrap();
+ info!("state: {:?}, {:?}", state.csrf_token.secret(), state.nonce.secret());
+
+ // params: {"session_state": "909b9959-041b-4a98-84d0-5f978bc8a679", "code": "2b4e95d1-0000-4b28-b49d-7a9de731e82b.909b9959-041b-4a98-84d0-5f978bc8a679.a382d869-4e34-42f1-a64d-24a224b9d338", "state": "a7Hff_hF_FOCqPCxmA1ZXg
+ }
}