From 5fb2a6b13cdc406e3e8dfd010fabc398250bc450 Mon Sep 17 00:00:00 2001 From: Dominik George <dominik.george@teckids.org> Date: Sat, 8 May 2021 12:36:46 +0200 Subject: [PATCH] [PAM] Store user access token in cache after successful authentication --- src/pam.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pam.rs b/src/pam.rs index c455f03..31d5b35 100644 --- a/src/pam.rs +++ b/src/pam.rs @@ -24,6 +24,8 @@ use crate::oauth::get_access_token_password; use crate::logging::setup_log; +use crate::cache::CACHE; + use pamsm::{PamServiceModule, Pam, PamFlag, PamError, PamLibExt}; fn pam_sm_prepare(argv: &Vec<String>) -> Config { @@ -86,8 +88,9 @@ impl PamServiceModule for PamOidc { debug!("Successfully got password"); match get_access_token_password(conf, "pam", username.to_string(), password.to_string(), PamError::SERVICE_ERR, PamError::AUTH_ERR) { - Ok(_) => { + Ok(t) => { info!("Authenticated {} using Resource Owner Password Grant", username); + CACHE.save_user_token(username.to_string(), t.into()); return PamError::SUCCESS; }, Err(e) => { -- GitLab