test_oauth_config.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. """
  2. 测试 OAuth 配置
  3. 直接访问 OAuth 服务器验证配置
  4. """
  5. import requests
  6. from config import settings
  7. def test_oauth_config():
  8. """测试 OAuth 配置"""
  9. print("=" * 60)
  10. print("OAuth 配置测试")
  11. print("=" * 60)
  12. print(f"\n1. OAuth 配置:")
  13. print(f" Base URL: {settings.OAUTH_BASE_URL}")
  14. print(f" Client ID: {settings.OAUTH_CLIENT_ID}")
  15. print(f" Client Secret: {settings.OAUTH_CLIENT_SECRET}")
  16. print(f" Redirect URI: {settings.OAUTH_REDIRECT_URI}")
  17. print(f" Authorize Endpoint: {settings.OAUTH_AUTHORIZE_ENDPOINT}")
  18. # 构建授权 URL
  19. from urllib.parse import urlencode
  20. params = {
  21. "response_type": "code",
  22. "client_id": settings.OAUTH_CLIENT_ID,
  23. "redirect_uri": settings.OAUTH_REDIRECT_URI,
  24. "scope": settings.OAUTH_SCOPE,
  25. "state": "test_state_123"
  26. }
  27. authorize_url = f"{settings.OAUTH_BASE_URL}{settings.OAUTH_AUTHORIZE_ENDPOINT}"
  28. full_url = f"{authorize_url}?{urlencode(params)}"
  29. print(f"\n2. 授权 URL:")
  30. print(f" {full_url}")
  31. print(f"\n3. 测试 OAuth 服务器连接...")
  32. try:
  33. response = requests.get(settings.OAUTH_BASE_URL, timeout=5)
  34. print(f" ✓ OAuth 服务器可访问 (状态码: {response.status_code})")
  35. except Exception as e:
  36. print(f" ✗ OAuth 服务器不可访问: {e}")
  37. print("\n" + "=" * 60)
  38. print("请手动访问上面的授权 URL 测试登录流程")
  39. print("如果返回 'invalid_client' 错误,请检查:")
  40. print("1. Client ID 是否在 OAuth 服务器上注册")
  41. print("2. Redirect URI 是否在 OAuth 服务器上配置")
  42. print("3. Client Secret 是否正确")
  43. print("=" * 60)
  44. if __name__ == "__main__":
  45. test_oauth_config()