xAuth 当前建议分成两层测试:
-
本地 mock 回归
- 不消耗真实 token
- 用于覆盖关键错误分支与协议细节
- 应作为日常开发默认回归
-
真实站点 smoke test
- 会消耗真实
auth_token - 只用于抽检真实 X / Twitter 授权链路
- 当前建议使用已验证样本:
taskon、galxe、postwise
- 会消耗真实
cd python
python mock_test.py覆盖:
429 -> retry353 -> ct0 -> x-csrf-token -> auth_codeoauth1 -> authenticity_token -> oauth_verifier
cd javascript
npm install
npm run test:mock覆盖:
429 -> retry- cookie /
ct0/csrf - JSON
redirect_uri - OAuth1 verifier 解析
cd golang
go test ./...覆盖:
429 -> retry- OAuth1 token / verifier 流程
- OAuth2
ct0/csrf/ account state / redirect_uri`
cd php
php mock_test.php覆盖:
429 -> retry- OAuth1 authenticity token / verifier 解析
- OAuth2
ct0 -> auth_code -> redirect_uri
cd java
mvn test覆盖:
429 -> retry- OAuth1 verifier 解析
- OAuth2
ct0/csrf/ account state 映射
cd rust
cargo test覆盖:
429 -> retry- OAuth1 / OAuth2 本地 mock 流程
- 文本 / JSON
redirect_uri兼容
cd csharp/XAuth.Tests
dotnet test覆盖:
429 -> retry- OAuth1 verifier 解析
- OAuth2
ct0/csrf/ account state 映射
站点样本集中在根目录 test-sites.json。
cd python
XAUTH_AUTH_TOKEN=your_token python real_smoke.py只测单站:
cd python
XAUTH_AUTH_TOKEN=your_token XAUTH_SITE=taskon python real_smoke.py
cd python
XAUTH_AUTH_TOKEN=your_token XAUTH_SITE=galxe python real_smoke.py
cd python
XAUTH_AUTH_TOKEN=your_token XAUTH_SITE=postwise python real_smoke.pytaskon:OAuth2galxe:OAuth2postwise:OAuth1
开发时:
- 先跑 mock 回归
- 修改通过后再抽检 1 个真站
- 提交前可选择抽检 2~3 个真站
- 本机缺工具链时,依赖 GitHub Actions CI 继续验证 PHP / Java / Rust / C#
这样既能节省 token,也能保证协议链路不飘。