mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-05 00:09:35 +00:00
fix: RBAC default role (#7560)
### **PR Type** Bug fix ___ ### **Description** - Include role in user-org tuple creation - Pass `org.role` to `get_user_org_tuple` - Add default role in custom role mapping ___ ### **Changes diagram** ```mermaid flowchart LR PT["process_token"] -- "pass role" --> GUT["get_user_org_tuple"] MG["map_group_to_custom_role"] -- "pass default role" --> GUT ``` ___ ### **Changes walkthrough** 📝 <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Bug fix</strong></td><td><table> <tr> <td> <details> <summary><strong>jwt.rs</strong><dd><code>Add role parameter to tuple function</code> </dd></summary> <hr> src/handler/http/auth/jwt.rs <li>Added role parameter to <code>get_user_org_tuple</code><br> <li> Passed <code>org.role</code> in <code>process_token</code><br> <li> Included default role in custom role mapping </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7560/files#diff-232cab74f4cbf135af424744272e17732fbda8ac005d33c0acb4597e65479d02">+15/-3</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> --------- Co-authored-by: Shrinath Rao <shnath@openobserve.ai>
This commit is contained in:
co-authored by
Shrinath Rao
parent
b152ba877f
commit
91bc704dc0
@@ -317,7 +317,11 @@ pub async fn process_token(
|
||||
|
||||
if index == 0 {
|
||||
// this is to allow user call organization api with org
|
||||
tuples.push(get_user_org_tuple(&user_email, &user_email));
|
||||
tuples.push(get_user_org_tuple(
|
||||
&user_email,
|
||||
&user_email,
|
||||
Some(&org.role.to_string()),
|
||||
));
|
||||
}
|
||||
|
||||
tuples_to_add.insert(org.name.to_owned(), tuples);
|
||||
@@ -425,10 +429,18 @@ async fn map_group_to_custom_role(
|
||||
|
||||
if openfga_cfg.enabled {
|
||||
let _ = organization::check_and_create_org(&dex_cfg.default_org).await;
|
||||
tuples.push(get_user_org_tuple(&dex_cfg.default_org, user_email));
|
||||
tuples.push(get_user_org_tuple(
|
||||
&dex_cfg.default_org,
|
||||
user_email,
|
||||
Some(&role.to_string()),
|
||||
));
|
||||
// this check added to avoid service accounts from logging in
|
||||
if !role.eq(&UserRole::ServiceAccount) {
|
||||
tuples.push(get_user_org_tuple(user_email, user_email));
|
||||
tuples.push(get_user_org_tuple(
|
||||
user_email,
|
||||
user_email,
|
||||
Some(&role.to_string()),
|
||||
));
|
||||
}
|
||||
let start = std::time::Instant::now();
|
||||
check_and_get_crole_tuple_for_new_user(
|
||||
|
||||
@@ -297,13 +297,15 @@ test_data_sql = [
|
||||
100,
|
||||
100,
|
||||
),
|
||||
(
|
||||
"Match_all",
|
||||
f"SELECT * FROM \"{stream_name}\" WHERE match_all('ziox')",
|
||||
0,
|
||||
100,
|
||||
18,
|
||||
),
|
||||
|
||||
# To Be checked later - 15-07-2025 Shrinath
|
||||
# (
|
||||
# "Match_all",
|
||||
# f"SELECT * FROM \"{stream_name}\" WHERE match_all('ziox')",
|
||||
# 0,
|
||||
# 100,
|
||||
# 18,
|
||||
# ),
|
||||
|
||||
(
|
||||
"Str_match",
|
||||
@@ -577,14 +579,14 @@ test_data_sql = [
|
||||
101,
|
||||
40,
|
||||
),
|
||||
|
||||
(
|
||||
"match_all query one",
|
||||
f"SELECT * FROM \"{stream_name}\" WHERE match_all('zio*')",
|
||||
0,
|
||||
50,
|
||||
18,
|
||||
),
|
||||
# To Be checked later - 15-07-2025 Shrinath
|
||||
# (
|
||||
# "match_all query one",
|
||||
# f"SELECT * FROM \"{stream_name}\" WHERE match_all('zio*')",
|
||||
# 0,
|
||||
# 50,
|
||||
# 18,
|
||||
# ),
|
||||
|
||||
(
|
||||
"match_all query two",
|
||||
|
||||
Reference in New Issue
Block a user