Web 应用接入¶
OpenASA 浏览器登录接入应采用标准顶层跳转、前端 state 校验和后端 token 换取模式。
1. 用客户端元数据组装 authorize URL¶
前端应基于这些字段组装 OpenASA authorize 请求:
client_idredirect_uriscopestate- 如启用则包含 PKCE 参数
2. 使用浏览器顶层跳转¶
用户点击登录时:
const base = "https://api.openasa.com";
const authorizeUrl = `${base}/<authorize-endpoint>?response_type=code&client_id=...`;
window.location.href = authorizeUrl;
不要用 XHR/fetch 启动 OAuth。
3. 在你自己的应用回调地址处理结果¶
当 OpenASA 回跳到你的应用后:
- 读取
code与state - 校验
state - 将 code 交给后端换取 token
- 刷新应用自己的会话与用户状态
4. 生产环境建议¶
- OpenASA authorize 必须走浏览器顶层跳转。
- code 换 token 必须放在可信后端,不放在浏览器 JavaScript 中。
- 运行时
redirect_uri必须与注册值完全一致。 - 对 code 过期、回调不匹配等问题提供明确可重试交互。