Files
crypto_okx/tests/test_hub_bridge_auth.py
dekun 193c02eda8 修复中控内嵌:跨站 Cookie 被拦时用 embed_sso 维持登录。
SSO 写入 sessionStorage,fetch 自动带 X-Hub-Embed-SSO,避免期权链 API 401。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-01 11:56:51 +08:00

39 lines
1.1 KiB
Python

"""中控 Bridge SSO / Token 冒烟."""
from __future__ import annotations
import unittest
from lib.hub.hub_bridge_auth import (
make_sso_token,
verify_sso_token,
build_embed_open_url,
)
class HubBridgeAuthTests(unittest.TestCase):
def test_sso_roundtrip(self):
tok = make_sso_token("secret-token", ttl_sec=60)
self.assertTrue(verify_sso_token(tok, "secret-token"))
self.assertFalse(verify_sso_token(tok, "other"))
self.assertFalse(verify_sso_token("bad", "secret-token"))
def test_embed_open_url(self):
url = build_embed_open_url(
"https://okx.example.com",
bridge_token="abc",
embed_path="/embed",
)
self.assertTrue(url.startswith("https://okx.example.com/hub_sso?"))
self.assertIn("token=", url)
self.assertIn("next=%2Fembed", url)
def test_embed_session_token(self):
from lib.hub.hub_bridge_auth import make_embed_session_token
tok = make_embed_session_token("secret-token", ttl_sec=120)
self.assertTrue(verify_sso_token(tok, "secret-token"))
if __name__ == "__main__":
unittest.main()