diff --git a/burrow/src/auth/server/db.rs b/burrow/src/auth/server/db.rs index e621424..575f39c 100644 --- a/burrow/src/auth/server/db.rs +++ b/burrow/src/auth/server/db.rs @@ -49,7 +49,7 @@ pub fn init_db() -> Result<()> { } pub fn store_connection( - openid_user: super::providers::OpenIdUser, + openid_user: &super::providers::OpenIdUser, openid_provider: &str, access_token: &str, refresh_token: Option<&str>, diff --git a/burrow/src/auth/server/grpc_server.rs b/burrow/src/auth/server/grpc_server.rs index 56b67fc..4bc6ae6 100644 --- a/burrow/src/auth/server/grpc_server.rs +++ b/burrow/src/auth/server/grpc_server.rs @@ -25,7 +25,7 @@ impl BurrowWeb for BurrowGrpcServer { &self, request: Request, ) -> Result, Status> { - auth(request).await + auth(request, &self.jwt_keypair).await } async fn create_device( diff --git a/burrow/src/auth/server/providers/mod.rs b/burrow/src/auth/server/providers/mod.rs index 9488c8c..b9bfe88 100644 --- a/burrow/src/auth/server/providers/mod.rs +++ b/burrow/src/auth/server/providers/mod.rs @@ -58,6 +58,7 @@ mod tests { name: "Inquisition".into(), }; let encoded = JwtInfo::try_from_oid(sample_usr.clone(), &key_pair)?; + println!("{}", encoded.jwt); let decoded = OpenIdUser::try_from_jwt(&encoded, &key_pair)?; assert_eq!(decoded, sample_usr); Ok(()) diff --git a/burrow/src/auth/server/providers/slack.rs b/burrow/src/auth/server/providers/slack.rs index 2b7d8b3..38fbfe1 100644 --- a/burrow/src/auth/server/providers/slack.rs +++ b/burrow/src/auth/server/providers/slack.rs @@ -9,13 +9,17 @@ use serde::Deserialize; use super::db::store_connection; use super::grpc_defs::{JwtInfo, SlackAuthRequest}; +use super::KeypairT; use tonic::{Request as TRequest, Response as TResponse, Result as TResult, Status as TStatus}; #[derive(Deserialize)] pub struct SlackToken { slack_token: String, } -pub async fn auth(request: TRequest) -> TResult, TStatus> { +pub async fn auth( + request: TRequest, + key_pair: &KeypairT, +) -> TResult, TStatus> { let slack_token = request.into_inner().slack_token; let slack_user = match fetch_slack_user(&slack_token).await { Ok(user) => user, @@ -31,7 +35,7 @@ pub async fn auth(request: TRequest) -> TResult user, Err(e) => { log::error!("Failed to fetch Slack user: {:?}", e); @@ -39,8 +43,10 @@ pub async fn auth(request: TRequest) -> TResult Result {