76 lines
2.0 KiB
Python
76 lines
2.0 KiB
Python
|
|
#!/usr/bin/env python3
|
|||
|
|
# -*- coding: utf-8 -*-
|
|||
|
|
"""
|
|||
|
|
测试 OpenClaw Auth Runtime
|
|||
|
|
"""
|
|||
|
|
|
|||
|
|
import sys
|
|||
|
|
from pathlib import Path
|
|||
|
|
|
|||
|
|
# 添加当前目录到路径
|
|||
|
|
sys.path.insert(0, str(Path(__file__).parent))
|
|||
|
|
|
|||
|
|
from auth_runtime import (
|
|||
|
|
create_env_config,
|
|||
|
|
get_access_token,
|
|||
|
|
request_api_with_auto_refresh,
|
|||
|
|
load_client_key_from_env,
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
|
|||
|
|
def main():
|
|||
|
|
print("=" * 60)
|
|||
|
|
print("OpenClaw Auth Runtime 测试")
|
|||
|
|
print("=" * 60)
|
|||
|
|
|
|||
|
|
# 方式 1: 从 .env 加载 CLIENT_KEY
|
|||
|
|
try:
|
|||
|
|
client_key = load_client_key_from_env()
|
|||
|
|
print(f"✓ 从 .env 文件加载 CLIENT_KEY: {client_key[:10]}...")
|
|||
|
|
except ValueError as e:
|
|||
|
|
print(f"❌ {e}")
|
|||
|
|
print("\n请在 .env 文件中设置 CLIENT_KEY")
|
|||
|
|
print("或设置环境变量:export CLIENT_KEY=your-key")
|
|||
|
|
return 1
|
|||
|
|
|
|||
|
|
# 创建配置
|
|||
|
|
config = create_env_config()
|
|||
|
|
print(f"✓ 配置创建成功")
|
|||
|
|
print(f" AUTH_BASE: {config.auth_base}")
|
|||
|
|
print(f" AUTH_CACHE_DIR: {config.auth_cache_dir}")
|
|||
|
|
|
|||
|
|
# 获取访问令牌
|
|||
|
|
print("\n【测试 1】获取访问令牌...")
|
|||
|
|
try:
|
|||
|
|
token = get_access_token(dry_run=False, config=config)
|
|||
|
|
print(f"✓ 获取成功:{token[:20]}...")
|
|||
|
|
except Exception as e:
|
|||
|
|
print(f"❌ 失败:{e}")
|
|||
|
|
return 1
|
|||
|
|
|
|||
|
|
# 测试 API 请求
|
|||
|
|
print("\n【测试 2】测试 API 请求...")
|
|||
|
|
try:
|
|||
|
|
# 示例:请求认证端点
|
|||
|
|
response = request_api_with_auto_refresh(
|
|||
|
|
method="POST",
|
|||
|
|
url=f"{config.auth_base}/auth/skill-credit/session",
|
|||
|
|
dry_run=False,
|
|||
|
|
config=config,
|
|||
|
|
body={"clientKey": config.client_key},
|
|||
|
|
)
|
|||
|
|
print(f"✓ 响应状态:{response.status}")
|
|||
|
|
print(f" 响应体:{response.body[:100]}...")
|
|||
|
|
except Exception as e:
|
|||
|
|
print(f"❌ 失败:{e}")
|
|||
|
|
|
|||
|
|
print("\n" + "=" * 60)
|
|||
|
|
print("✅ 测试完成")
|
|||
|
|
print("=" * 60)
|
|||
|
|
|
|||
|
|
return 0
|
|||
|
|
|
|||
|
|
|
|||
|
|
if __name__ == "__main__":
|
|||
|
|
sys.exit(main())
|