Skip to content

Commit d155595

Browse files
authored
refactor: only use permit to check project permissions (#1721)
* refactor: only use permit to check project permissions We saw no errors in the last 24 hours nor any results different from our old internal checks. So it is safe to switch fully to permit. * refactor: return error
1 parent 4eda51f commit d155595

File tree

1 file changed

+14
-33
lines changed

1 file changed

+14
-33
lines changed

gateway/src/auth.rs

Lines changed: 14 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -82,39 +82,20 @@ where
8282

8383
let RouterState { service, .. } = RouterState::from_ref(state);
8484

85-
let has_bypass = user.claim.is_admin() || user.claim.is_deployer();
86-
87-
let allowed = has_bypass
88-
|| {
89-
let projects: Vec<_> = service.iter_user_projects(&user.id).await?.collect();
90-
let internal_allowed = projects.contains(&scope);
91-
92-
let permit_allowed = service
93-
.permit_client
94-
.allowed(
95-
&user.id,
96-
&service.find_project_by_name(&scope).await?.id,
97-
"develop", // TODO?: make this configurable per endpoint?
98-
)
99-
.await
100-
.map_err(|_| {
101-
error!("failed to check Permit permission");
102-
// Error::from_kind(ErrorKind::Internal)
103-
})
104-
.unwrap_or_default();
105-
106-
if internal_allowed != permit_allowed {
107-
error!(
108-
"PERMIT: Permissions for user {} project {} did not match internal permissions. Internal: {}, Permit: {}",
109-
user.id,
110-
scope,
111-
internal_allowed,
112-
permit_allowed
113-
);
114-
}
115-
116-
internal_allowed
117-
};
85+
let allowed = user.claim.is_admin()
86+
|| user.claim.is_deployer()
87+
|| service
88+
.permit_client
89+
.allowed(
90+
&user.id,
91+
&service.find_project_by_name(&scope).await?.id,
92+
"develop", // TODO: make this configurable per endpoint?
93+
)
94+
.await
95+
.map_err(|_| {
96+
error!("failed to check Permit permission");
97+
Error::from_kind(ErrorKind::Internal)
98+
})?;
11899

119100
if allowed {
120101
Ok(Self { user, scope })

0 commit comments

Comments
 (0)