INNER CODE UNIT · Python
generate_jwt
datawhalechina/wow-fullstack · tutorial/FastAPI/第6章-FastAPI MCP/main.py:116
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)
}
# JWT头部
headers = {
'kid': KEY_ID # 密钥ID
}
if PRIVATE_KEY is None:
raise ValueError("JWT生成失败: 私钥未初始化或加载失败。")