Skip to content

Commit 98a7768

Browse files
simplify api-auth: remove DeviceFingerprint/UserId, only insert Claims; remove Cargo.lock stubs
Co-Authored-By: yujonglee <yujonglee.dev@gmail.com>
1 parent bdf717e commit 98a7768

File tree

4 files changed

+15
-51
lines changed

4 files changed

+15
-51
lines changed

Cargo.lock

Lines changed: 0 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/ai/src/auth.rs

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,22 @@ use std::collections::BTreeMap;
22

33
use axum::{extract::Request, middleware::Next, response::Response};
44

5+
use hypr_api_auth::Claims;
56
pub use hypr_api_auth::{AuthState, require_auth};
6-
use hypr_api_auth::{Claims, DeviceFingerprint, UserId};
7+
8+
const DEVICE_FINGERPRINT_HEADER: &str = "x-device-fingerprint";
79

810
pub async fn sentry_and_analytics(mut request: Request, next: Next) -> Response {
9-
if let Some(claims) = request.extensions().get::<Claims>() {
10-
let device_fingerprint = request.extensions().get::<DeviceFingerprint>();
11+
let device_fingerprint = request
12+
.headers()
13+
.get(DEVICE_FINGERPRINT_HEADER)
14+
.and_then(|h| h.to_str().ok())
15+
.map(String::from);
1116

17+
if let Some(claims) = request.extensions().get::<Claims>() {
1218
sentry::configure_scope(|scope| {
1319
scope.set_user(Some(sentry::User {
14-
id: device_fingerprint.map(|f| f.0.clone()),
20+
id: device_fingerprint.clone(),
1521
email: claims.email.clone(),
1622
username: Some(claims.sub.clone()),
1723
..Default::default()
@@ -31,24 +37,17 @@ pub async fn sentry_and_analytics(mut request: Request, next: Next) -> Response
3137
);
3238
scope.set_context("user_claims", sentry::protocol::Context::Other(ctx));
3339
});
34-
}
35-
36-
let fingerprint = request
37-
.extensions()
38-
.get::<DeviceFingerprint>()
39-
.map(|f| f.0.clone());
40-
let user_id = request.extensions().get::<UserId>().map(|u| u.0.clone());
4140

42-
if let Some(fingerprint) = fingerprint {
41+
let user_id = claims.sub.clone();
4342
request
4443
.extensions_mut()
45-
.insert(hypr_analytics::DeviceFingerprint(fingerprint));
44+
.insert(hypr_analytics::AuthenticatedUserId(user_id));
4645
}
4746

48-
if let Some(user_id) = user_id {
47+
if let Some(fingerprint) = device_fingerprint {
4948
request
5049
.extensions_mut()
51-
.insert(hypr_analytics::AuthenticatedUserId(user_id));
50+
.insert(hypr_analytics::DeviceFingerprint(fingerprint));
5251
}
5352

5453
next.run(request).await

apps/ai/src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ use hypr_analytics::AnalyticsClientBuilder;
2121
use auth::AuthState;
2222
use env::env;
2323

24-
pub use hypr_api_auth::DEVICE_FINGERPRINT_HEADER;
24+
pub const DEVICE_FINGERPRINT_HEADER: &str = "x-device-fingerprint";
2525

2626
fn app() -> Router {
2727
let env = env();

crates/api-auth/src/lib.rs

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,6 @@ use hypr_supabase_auth::{Error as SupabaseAuthError, SupabaseAuth};
88

99
pub use hypr_supabase_auth::Claims;
1010

11-
pub const DEVICE_FINGERPRINT_HEADER: &str = "x-device-fingerprint";
12-
13-
#[derive(Clone, Debug)]
14-
pub struct DeviceFingerprint(pub String);
15-
16-
#[derive(Clone, Debug)]
17-
pub struct UserId(pub String);
18-
1911
#[derive(Clone)]
2012
pub struct AuthState {
2113
inner: SupabaseAuth,
@@ -71,12 +63,6 @@ pub async fn require_auth(
7163
.and_then(|h| h.to_str().ok())
7264
.ok_or(SupabaseAuthError::MissingAuthHeader)?;
7365

74-
let device_fingerprint = request
75-
.headers()
76-
.get(DEVICE_FINGERPRINT_HEADER)
77-
.and_then(|h| h.to_str().ok())
78-
.map(String::from);
79-
8066
let token =
8167
SupabaseAuth::extract_token(auth_header).ok_or(SupabaseAuthError::InvalidAuthHeader)?;
8268

@@ -85,17 +71,8 @@ pub async fn require_auth(
8571
.require_entitlement(token, &state.required_entitlement)
8672
.await?;
8773

88-
let user_id = claims.sub.clone();
8974
request.extensions_mut().insert(claims);
9075

91-
if let Some(fingerprint) = device_fingerprint {
92-
request
93-
.extensions_mut()
94-
.insert(DeviceFingerprint(fingerprint));
95-
}
96-
97-
request.extensions_mut().insert(UserId(user_id));
98-
9976
Ok(next.run(request).await)
10077
}
10178

0 commit comments

Comments
 (0)