@zharper/ai-auth
v0.2.0
Published
YQSL AI front-end OAuth login guard and token-aware request SDK
Readme
@zharper/ai-auth
YQSL AI 前端统一登录 SDK。提供 OAuth 登录、token 回跳消费、登录守卫、请求自动带 token、401/403 重新登录,以及纯 HTML 项目的静态文件同步 CLI。
安装
npm install @zharper/ai-auth原生 HTML 项目
npx ai-auth init --appCode brand-label-audit --title 配料表消费者风险审核
npx ai-auth sync页面加载顺序:
<script src="./vendor/ai-auth.global.js"></script>
<script src="./auth.config.js"></script>
<script src="./auth.js"></script>auth.config.js 示例:
window.AI_AUTH_CONFIG = {
appCode: "brand-label-audit",
env: "uat",
oauthBaseUrl: "https://ai-web.yqsl.xyz",
tokenKey: "accessToken",
tokenHeaderName: "token"
};auth.js 只需要:
window.authGuard = window.YqslAiAuth.installAiAuth(window.AI_AUTH_CONFIG);installAiAuth 会自动消费 URL token、无 token 跳登录页、patch window.fetch、请求自动带 token,并在 HTTP 401/403 或 JSON { code: 401/403 } 时清 token 重新登录。
框架项目用法
import { createAiAuth, installAiAuth } from "@zharper/ai-auth";
const auth = createAiAuth({
appCode: "gen-contract-diff",
env: "uat",
oauthBaseUrl: "https://ai-web.yqsl.xyz"
});
auth.requireLogin();
const data = await auth.request("/api/state");
installAiAuth({
appCode: "gen-contract-diff",
env: "uat",
oauthBaseUrl: "https://ai-web.yqsl.xyz"
});重要边界
前端只维护 appCode。飞书 App ID / App Secret / redirect_uri 必须维护在 OAuth 后端 infra_application,不要下发到前端。
