跳转至

Web 应用接入

OpenASA 浏览器登录接入应采用标准顶层跳转、前端 state 校验和后端 token 换取模式。

1. 用客户端元数据组装 authorize URL

前端应基于这些字段组装 OpenASA authorize 请求:

  • client_id
  • redirect_uri
  • scope
  • state
  • 如启用则包含 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 回跳到你的应用后:

  1. 读取 codestate
  2. 校验 state
  3. 将 code 交给后端换取 token
  4. 刷新应用自己的会话与用户状态

4. 生产环境建议

  • OpenASA authorize 必须走浏览器顶层跳转。
  • code 换 token 必须放在可信后端,不放在浏览器 JavaScript 中。
  • 运行时 redirect_uri 必须与注册值完全一致。
  • 对 code 过期、回调不匹配等问题提供明确可重试交互。