Expand description
WeCom 认证运行时:鉴权客户端、鉴权 Transport 与客户端构建。
组合 wecomx-auth 的认证能力与 [wecomx-transport] 的请求
传输,为第三方应用提供开箱即用的 Library 入口:
WecomClient:门面客户端——鉴权 + 动态服务发现 + schema 驱动方法 调用一步到位(service()/method()/run(argv));WecomClientBuilder:构建WecomClient或仅带鉴权的Transport(token provider、超时、默认头等);WecomBackend:统一出网后端——持有 token 即注入Authorization: Bearer <token>;挂RequireAuth的端点先过门禁; 命中 853004(token 失效)时经TokenProvider静默刷新并重放原请求一次(载荷经HttpRequestPayload工厂克隆,零成本重放);endpoint_catalog:网关扁平协议的端点目录覆写(配合wecomx::Client使用)。
§Quick start
ⓘ
use std::sync::Arc;
use std::time::Duration;
use wecomx_runtime::{BotGatewayTokenProvider, EncryptedFileCredentialStore, WecomClientBuilder};
let store = Arc::new(EncryptedFileCredentialStore::new("~/.config/wecom"));
let provider = BotGatewayTokenProvider::new("bot-id", "secret", store);
let client = WecomClientBuilder::new()
.token_provider(Arc::new(provider))
.timeout(Duration::from_secs(10))
.build()
.await?;
// 程序化调用(服务/方法名由 discovery 下发)
let svc = client.service("hr").await?;
let result = svc.method(&["users", "list"])?.invoke(serde_json::json!({})).await?;Re-exports§
pub use backend::TOKEN_EXPIRED_ERRCODE;pub use backend::WecomBackend;pub use backend::is_token_expired;pub use backend::set_bearer_token;pub use builder::DEFAULT_BASE_URL;pub use builder::DEFAULT_BIN_NAME;pub use builder::WecomClientBuilder;pub use catalog::endpoint_catalog;pub use client::WecomClient;
Modules§
- backend
- 鉴权出网后端:动态 Authorization 注入 + 853004 静默刷新 + 重放。
- builder
WecomClientBuilder:一键构建带鉴权的 WeCom 客户端 / transport。- catalog
- 内置 endpoint 目录覆写(协议差异由产品层定义)。
- client
WecomClient:面向第三方应用的门面客户端。
Structs§
- Access
Token - 访问令牌(Bearer token)。
- BotCredential
- Bot 凭据(
botid + secret)。 - BotGateway
Token Provider - AI Bot CLI 网关 Token Provider:botid+secret 签名调用
/cgi-bin/aibot/cli/get_cli_config换取 Bearer token。 - Credentials
- 本地凭据总账:bot 信息与 Bearer token 共存,保证原子更新。
- Encrypted
File Credential Store - 加密文件凭据存储。
- Flat
ApiResponse - 网关扁平协议响应体:顶层只有
errcode/errmsg/results_json。 - FlatRes
- 扁平响应信封(鉴权引导等「不套网关
results_json信封」的接口使用)。 - Memory
Credential Store - 内存凭据存储(进程内共享)。
- Nested
Res - 网关扁平协议响应信封。
- Require
Auth - 端点调用前的 token 门禁标记(存在即生效)。
- Suppress
Auth - 抑制
Authorization注入的标记(换取 token 的引导端点专用)。
Enums§
- Auth
Error - wecomx-auth 统一错误。
Traits§
- Credential
Store - 凭据存储抽象。
- Token
Provider - Token Provider 抽象:运行时经它获取与刷新访问令牌。
Functions§
- auth_
endpoint - 按 URL 装配鉴权引导端点(换取 Bearer token 的专用 Endpoint)——引导端点 的唯一装配原语。