fix(provider): harden Agent Identity OAuth lifecycle

This commit is contained in:
elky
2026-07-23 09:33:00 +08:00
parent e49024d33b
commit 3606290ac8
84 changed files with 8063 additions and 1104 deletions
@@ -222,6 +222,28 @@ pub(super) fn classify_oauth_route(
"admin:provider_oauth",
false,
))
} else if method == http::Method::POST
&& normalized_path.starts_with("/api/admin/provider-oauth/providers/")
&& normalized_path.ends_with("/agent-identity-import/tasks")
{
Some(classified(
"admin_proxy",
"provider_oauth_manage",
"start_agent_identity_import_task",
"admin:provider_oauth",
false,
))
} else if method == http::Method::GET
&& normalized_path.starts_with("/api/admin/provider-oauth/providers/")
&& normalized_path.contains("/agent-identity-import/tasks/")
{
Some(classified(
"admin_proxy",
"provider_oauth_manage",
"get_agent_identity_import_task_status",
"admin:provider_oauth",
false,
))
} else if method == http::Method::POST
&& normalized_path.starts_with("/api/admin/provider-oauth/providers/")
&& normalized_path.ends_with("/batch-import")
@@ -109,6 +109,20 @@ fn classifies_admin_provider_oauth_maintenance_routes_as_admin_proxy_route() {
"admin:provider_oauth",
"admin:provider_oauth:write",
),
(
http::Method::POST,
"/api/admin/provider-oauth/providers/provider-123/agent-identity-import/tasks",
"start_agent_identity_import_task",
"admin:provider_oauth",
"admin:provider_oauth:write",
),
(
http::Method::GET,
"/api/admin/provider-oauth/providers/provider-123/agent-identity-import/tasks/agent-identity-task-123",
"get_agent_identity_import_task_status",
"admin:provider_oauth",
"admin:provider_oauth:read",
),
(
http::Method::POST,
"/api/admin/provider-oauth/providers/provider-123/batch-import",