DB-GPT/dbgpt/serve/utils/auth.py
明天 b124ecc10b
feat: (0.6)New UI (#1855)
Co-authored-by: 夏姜 <wenfengjiang.jwf@digital-engine.com>
Co-authored-by: aries_ckt <916701291@qq.com>
Co-authored-by: wb-lh513319 <wb-lh513319@alibaba-inc.com>
Co-authored-by: csunny <cfqsunny@163.com>
2024-08-21 17:37:45 +08:00

39 lines
1.1 KiB
Python

import logging
from typing import Optional
from fastapi import Header
from dbgpt._private.pydantic import BaseModel, ConfigDict
logger = logging.getLogger(__name__)
class UserRequest(BaseModel):
user_id: Optional[str] = None
user_no: Optional[str] = None
real_name: Optional[str] = None
# same with user_id
user_name: Optional[str] = None
user_channel: Optional[str] = None
role: Optional[str] = "normal"
nick_name: Optional[str] = None
email: Optional[str] = None
avatar_url: Optional[str] = None
nick_name_like: Optional[str] = None
def get_user_from_headers(user_id: Optional[str] = Header(None)):
try:
# Mock User Info
if user_id:
return UserRequest(
user_id=user_id, role="admin", nick_name=user_id, real_name=user_id
)
else:
return UserRequest(
user_id="001", role="admin", nick_name="dbgpt", real_name="dbgpt"
)
except Exception as e:
logging.exception("Authentication failed!")
raise Exception(f"Authentication failed. {str(e)}")