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 仅作为已归档迁移资料处理。