fix(auth): iam check

This commit is contained in:
2026-02-11 10:56:04 +08:00
parent 583fd521a2
commit 909d9a6da2
18 changed files with 646 additions and 202 deletions

View File

@@ -8,7 +8,7 @@ use utoipa::IntoParams;
use uuid::Uuid;
use crate::api::{AppState, handlers::common::extract_bearer_token};
use auth_kit::middleware::{tenant::TenantId, auth::AuthContext};
use auth_kit::middleware::{auth::AuthContext, tenant::TenantId};
#[derive(Debug, serde::Deserialize, utoipa::ToSchema)]
pub struct CreateColumnRequest {
@@ -49,7 +49,7 @@ pub fn router() -> Router<AppState> {
#[utoipa::path(
post,
path = "/v1/columns",
path = "/columns",
tag = "Column",
request_body = CreateColumnRequest,
security(
@@ -90,14 +90,14 @@ pub async fn create_column_handler(
#[utoipa::path(
get,
path = "/v1/columns",
path = "/columns",
tag = "Column",
params(ListColumnsQuery),
security(
("bearer_auth" = [])
),
responses(
(status = 200, description = "栏目列表", body = crate::infrastructure::repositories::column::Paged<crate::domain::models::Column>),
(status = 200, description = "栏目列表", body = crate::domain::models::Paged<crate::domain::models::Column>),
(status = 401, description = "未认证"),
(status = 403, description = "无权限")
)
@@ -108,8 +108,10 @@ pub async fn list_columns_handler(
State(state): State<AppState>,
headers: axum::http::HeaderMap,
Query(query): Query<ListColumnsQuery>,
) -> Result<AppResponse<crate::infrastructure::repositories::column::Paged<crate::domain::models::Column>>, AppError>
{
) -> Result<
AppResponse<crate::infrastructure::repositories::column::Paged<crate::domain::models::Column>>,
AppError,
> {
let token = extract_bearer_token(&headers)?;
state
.iam_client
@@ -133,7 +135,7 @@ pub async fn list_columns_handler(
#[utoipa::path(
get,
path = "/v1/columns/{id}",
path = "/columns/{id}",
tag = "Column",
params(
("id" = String, Path, description = "栏目ID")
@@ -167,7 +169,7 @@ pub async fn get_column_handler(
#[utoipa::path(
patch,
path = "/v1/columns/{id}",
path = "/columns/{id}",
tag = "Column",
request_body = UpdateColumnRequest,
params(
@@ -214,7 +216,7 @@ pub async fn update_column_handler(
#[utoipa::path(
delete,
path = "/v1/columns/{id}",
path = "/columns/{id}",
tag = "Column",
params(
("id" = String, Path, description = "栏目ID")