跳转到内容

快速开始

查看 Markdown

本页演示最小可行集成:让一个 Web 应用对接 Sudomimus,并取得一个经过验证的用户身份。

不是 Web 应用?请选对应指南:

  1. with.sudomimus.com 创建或加入一个组织(Organization)。 开发者自助门户以组织为单位:应用(Application)与扇区(Sector)都归属于某个组织,因此在创建应用之前你需要先拥有一个。大多数账户会当场创建自己的第一个组织(表单会预填一个建议名称);如果同事已经在运行一个,请让他们邀请你加入。在你尚未归属任何组织之前,/applications/sectors 页面会重定向到 /organizations

  2. 在该组织内创建你的应用。 创建时你会拿到:

    • applicationAnchor —— 一个稳定的小写 kebab-case 应用锚点(例如 my-app),也是应用在 API 中的公开名称。
    • client-auth 私钥 —— 创建时只展示一次,用于签名 /establish 请求。请像对待任何生产密钥一样妥善保管。
    • 应用的 token-signing 公钥。运行时也可以通过 POST /info 拉取,用于验证 access token。
  3. 至少添加一条 CALLBACK 类型的 返回规则,列出允许重定向回的 hostname。具体的 callbackUrl 在每次 /establish 时由应用提供;规则决定的是这个 URL 的 hostname 是否被允许。

  4. 至少添加一条认证规则(例如 PASSKEY_USERNAMELESSPASSKEY_REASONEDEMAIL_VERIFICATION)和一条身份准入规则(例如用于开放注册的 EMAIL + allowedEmails: ["*"])。三层规则都采用允许列表 + 默认拒绝;任一层为空时,应用都无法完成登录。

每一次经过 Connect API 的身份认证往返都遵循同样的四个阶段:

  1. Establish(建立) —— 应用后端请求 Connect 开启一次认证会话,并取回一对会话引用(exposureKey + hiddenKey)。
  2. Authenticate(认证) —— 应用携带 exposureKey 把用户引导到 via.sudomimus.com;用户在那里完成通行密钥或邮箱验证码挑战。
  3. Redeem(兑换) —— via.sudomimus.com 通过回调 URL 交还控制权,并在查询参数中附带 exposure-keyconfirmation-key。应用后端将三个密钥提交给 Connect,换取签名的访问令牌和刷新令牌。
  4. Refresh(刷新) —— 访问令牌临近过期时,应用后端使用刷新令牌换取新的访问令牌和轮换后的刷新令牌。

完整请求形状与 Connect、via.sudomimus.com、应用之间的协作关系见 Connect 流程