|
|
|
@ -1,7 +1,7 @@ |
|
|
|
|
import logging |
|
|
|
|
from typing import Optional |
|
|
|
|
import json |
|
|
|
|
from fastapi import Header |
|
|
|
|
from fastapi import Header,HTTPException |
|
|
|
|
from dataclasses import dataclass |
|
|
|
|
from dbgpt._private.pydantic import BaseModel |
|
|
|
|
from dbgpt.redis.redis import redis_add,redis_expire,redis_get |
|
|
|
@ -20,7 +20,7 @@ class UserRequest(BaseModel): |
|
|
|
|
email: Optional[str] = None |
|
|
|
|
avatar_url: Optional[str] = None |
|
|
|
|
nick_name_like: Optional[str] = None |
|
|
|
|
|
|
|
|
|
dept_id: Optional[int] = None |
|
|
|
|
|
|
|
|
|
@dataclass |
|
|
|
|
class User: |
|
|
|
@ -37,11 +37,11 @@ class User: |
|
|
|
|
def get_user_from_headers(user_id: Optional[str] = Header(None),Authorization: Optional[str] = Header(None)): |
|
|
|
|
try: |
|
|
|
|
if Authorization is None: |
|
|
|
|
raise Exception(f"登录已失效,请重新登录") |
|
|
|
|
raise HTTPException(401,"登录已失效,请重新登录") |
|
|
|
|
# 查询缓存信息 |
|
|
|
|
redis_data = redis_get("oauth_access_token:"+Authorization.replace("Bearer ", "")) |
|
|
|
|
if redis_data is None: |
|
|
|
|
raise Exception(f"登录已失效,请重新登录") |
|
|
|
|
raise HTTPException(401,"登录已失效,请重新登录") |
|
|
|
|
|
|
|
|
|
data_dict = json.loads(redis_data) |
|
|
|
|
|
|
|
|
@ -60,4 +60,4 @@ def get_user_from_headers(user_id: Optional[str] = Header(None),Authorization: O |
|
|
|
|
# ) |
|
|
|
|
except Exception as e: |
|
|
|
|
logging.exception("Authentication failed!") |
|
|
|
|
raise Exception(f"Authentication failed. {str(e)}") |
|
|
|
|
raise HTTPException(401, "登录已失效,请重新登录") |
|
|
|
|