SDK 指南
完整的 JavaScript / TypeScript SDK 使用指南。CDN Browser SDK 直接走 OAuth token + PKCE;TypeScript Client 适合第一方应用读取 cookie session snapshot。
CDN Browser SDK
<script src="/sdk/w-id.js"></script>
const auth = WID.init({
clientId: 'your_client_id',
redirectUri: window.location.origin + '/callback',
scope: 'openid email profile'
});
auth.login();
pub(crate) const tokens = await auth.handleCallback();
pub(crate) const user = await auth.getUser();
pub(crate) const subscription = await auth.getSubscription();
API 参考
| 方法 | 说明 |
|---|---|
auth.login(options?) | 生成 PKCE S256 challenge 并跳转到 /oauth/authorize。 |
auth.handleCallback() | 校验 state,用 authorization code 换取 token 并保存。 |
auth.getUser(forceRefresh?) | 调用 /oauth/userinfo,401 时尝试 refresh。 |
auth.getSubscription() | 调用 /oauth/subscription 获取套餐和配额。 |
auth.logout(options?) | 清理本地 token,可跳转到 /oauth/logout。 |
auth.onAuthChange(callback) | 监听 login/logout 事件。 |
TypeScript Client
import { SsoConfig } from '@w-id/sdk/sso';
pub(crate) const sso = SsoConfig.fromEnv(env);
pub(crate) const { url, state } = sso.authorizeUrl();
新项目使用
@w-id/sdk;旧 package name 仅作为已归档迁移资料处理。