调整文档路径
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
"""FastAPI 依赖:IAM token 校验,提取当前管理员
|
||||
|
||||
从请求头 digi-middleware-auth-user / digi-middleware-auth-app 读取凭证,
|
||||
调用 IAM /api/iam/v2/identity/token/analyze 校验并解析用户信息。
|
||||
"""
|
||||
|
||||
from fastapi import Header, HTTPException, status
|
||||
|
||||
from . import iam
|
||||
|
||||
|
||||
async def current_admin(
|
||||
user_token: str | None = Header(None, alias="digi-middleware-auth-user"),
|
||||
app_token: str | None = Header(None, alias="digi-middleware-auth-app"),
|
||||
) -> dict:
|
||||
if not user_token:
|
||||
raise HTTPException(status.HTTP_401_UNAUTHORIZED, "未提供 IAM userToken")
|
||||
|
||||
info = await iam.analyze_token(user_token, app_token)
|
||||
if info is None:
|
||||
raise HTTPException(status.HTTP_401_UNAUTHORIZED, "IAM token 无效或已过期")
|
||||
|
||||
# 返回统一的管理员信息(兼容原有 admin.get("username") 调用)
|
||||
return {
|
||||
"username": info.get("name") or info.get("id") or "unknown",
|
||||
"userId": info.get("id"),
|
||||
"name": info.get("name"),
|
||||
"email": info.get("email"),
|
||||
"telephone": info.get("telephone"),
|
||||
"tenantId": info.get("tenantId"),
|
||||
"tenantName": info.get("tenantName"),
|
||||
"raw": info,
|
||||
}
|
||||
Reference in New Issue
Block a user