INNER CODE UNIT · Python
verify_bearer_token
datawhalechina/wow-fullstack · tutorial/FastAPI/第6章-FastAPI MCP/main.py:106
async def verify_bearer_token(token_payload = Depends(token_auth_scheme)):
if token_payload.credentials != EXPECTED_BEARER_TOKEN:
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED,
detail="无效的认证凭据",
headers={"WWW-Authenticate": "Bearer"},
)
return token_payload.credentials
# 生成JWT令牌
def generate_jwt(expiry_seconds: int = 900):
current_time = int(time.time())
# 构建标准JWT载荷
payload = {
'iat': current_time - 30, # 颁发时间(提前30秒,避免时钟偏差问题)
'exp': current_time + expiry_seconds, # 过期时间
'sub': PROJECT_ID # 主题(项目ID)