diff options
author | rtkay123 <dev@kanjala.com> | 2025-07-26 19:24:38 +0200 |
---|---|---|
committer | rtkay123 <dev@kanjala.com> | 2025-07-26 19:24:38 +0200 |
commit | e26d87f4fa18999c6bcfbcf32cfa85adab11acdd (patch) | |
tree | 603c6dacb6c448984bdcc5fa2b4a9314f1a23960 /crates/auth/src/server/grpc | |
parent | 236876f1d0539ac22a3977fd8599933725ad0f90 (diff) | |
download | sellershut-e26d87f4fa18999c6bcfbcf32cfa85adab11acdd.tar.bz2 sellershut-e26d87f4fa18999c6bcfbcf32cfa85adab11acdd.zip |
feat(auth): create user call
Diffstat (limited to 'crates/auth/src/server/grpc')
-rw-r--r-- | crates/auth/src/server/grpc/auth.rs | 50 | ||||
-rw-r--r-- | crates/auth/src/server/grpc/interceptor.rs | 17 |
2 files changed, 0 insertions, 67 deletions
diff --git a/crates/auth/src/server/grpc/auth.rs b/crates/auth/src/server/grpc/auth.rs deleted file mode 100644 index fb00291..0000000 --- a/crates/auth/src/server/grpc/auth.rs +++ /dev/null @@ -1,50 +0,0 @@ -use std::str::FromStr; - -use jsonwebtoken::DecodingKey; -use sellershut_core::auth::{ValidationRequest, ValidationResponse, auth_server::Auth}; -use tonic::{Request, Response, Status, async_trait}; -use tower_sessions::{SessionStore, session::Id}; -use tracing::warn; - -use crate::{auth::Claims, state::AppHandle}; - -#[async_trait] -impl Auth for AppHandle { - async fn validate_auth_token( - &self, - request: Request<ValidationRequest>, - ) -> Result<Response<ValidationResponse>, Status> { - let token = request.into_inner().token; - - let token = jsonwebtoken::decode::<Claims>( - &token, - &DecodingKey::from_secret(self.local_config.oauth.jwt_encoding_key.as_bytes()), - &jsonwebtoken::Validation::default(), - ); - - match token { - Ok(value) => { - let session_id = value.claims.sid; - let store = &self.session_store; - match Id::from_str(&session_id) { - Ok(ref id) => { - if let Ok(Some(_)) = store.load(id).await { - return Ok(Response::new(ValidationResponse { valid: true })); - } else { - return Ok(Response::new(Default::default())); - } - } - Err(e) => { - warn!("{e}"); - - return Ok(Response::new(Default::default())); - } - } - } - Err(e) => { - warn!("{e}"); - Ok(Response::new(ValidationResponse::default())) - } - } - } -} diff --git a/crates/auth/src/server/grpc/interceptor.rs b/crates/auth/src/server/grpc/interceptor.rs deleted file mode 100644 index 155a306..0000000 --- a/crates/auth/src/server/grpc/interceptor.rs +++ /dev/null @@ -1,17 +0,0 @@ -use tonic::{ - Status, - service::{Interceptor, interceptor::InterceptedService}, - transport::Channel, -}; -use tracing::Span; - -pub type Intercepted = InterceptedService<Channel, MyInterceptor>; - -#[derive(Clone, Copy)] -pub struct MyInterceptor; - -impl Interceptor for MyInterceptor { - fn call(&mut self, request: tonic::Request<()>) -> Result<tonic::Request<()>, Status> { - Ok(request) - } -} |