test_oauth_config.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. """
  2. 测试 SSO 配置
  3. 直接访问统一认证平台验证配置
  4. """
  5. import requests
  6. from config import settings
  7. def test_sso_config():
  8. """测试 SSO 配置"""
  9. print("=" * 60)
  10. print("SSO 配置测试")
  11. print("=" * 60)
  12. print(f"\n1. SSO 配置:")
  13. print(f" Base URL: {settings.SSO_BASE_URL}")
  14. print(f" Client ID: {settings.SSO_CLIENT_ID}")
  15. print(f" Client Secret: {settings.SSO_CLIENT_SECRET}")
  16. print(f" Redirect URI: {settings.SSO_REDIRECT_URI}")
  17. print(f" Authorize Endpoint: {settings.SSO_AUTHORIZE_ENDPOINT}")
  18. # 构建授权 URL
  19. from urllib.parse import urlencode
  20. params = {
  21. "response_type": "code",
  22. "client_id": settings.SSO_CLIENT_ID,
  23. "redirect_uri": settings.SSO_REDIRECT_URI,
  24. "scope": settings.SSO_SCOPE,
  25. "state": "test_state_123",
  26. }
  27. authorize_url = f"{settings.SSO_BASE_URL}{settings.SSO_AUTHORIZE_ENDPOINT}"
  28. full_url = f"{authorize_url}?{urlencode(params)}"
  29. print(f"\n2. 授权 URL:")
  30. print(f" {full_url}")
  31. print(f"\n3. 测试 SSO 服务器连接...")
  32. try:
  33. response = requests.get(settings.SSO_BASE_URL, timeout=5)
  34. print(f" ✓ SSO 服务器可访问 (状态码: {response.status_code})")
  35. except Exception as e:
  36. print(f" ✗ SSO 服务器不可访问: {e}")
  37. print("\n" + "=" * 60)
  38. print("请手动访问上面的授权 URL 测试登录流程")
  39. print("=" * 60)
  40. if __name__ == "__main__":
  41. test_sso_config()