iPolloWork Docs

认证与访问

将身份、组织、成员、角色和邀请视为彼此独立的 API 责任。

API 将当前已认证用户、组织,以及被分配给单个资源的访问授权分开处理。有效登录并不代表用户已经具备某个提供商、插件、配置对象或 Worker 的访问权限。

访问决策渲染组织写操作前,先解析调用者

客户端既需要有效凭据,也需要正确的组织与资源授权。这是两项拥有不同失败状态的检查。

  1. 01认证

    通过安全客户端边界发送声明的 Bearer Session 或 Den API Key。

  2. 02解析身份

    读取 `/v1/me` 和可用组织,再选择组织级操作。

  3. 03检查资源授权

    通过匹配的资源 access 路由,以最窄的有效角色读取或修改授权。

  4. 04写入或解释

    继续目标操作,或展示明确的未认证、拒绝或不可用状态。

主要接口分组

接口分组用途
/v1/me读取当前用户与桌面配置。
/v1/me/orgs/v1/org发现组织上下文与当前组织。
/v1/members/*/v1/roles/*管理成员与角色分配。
/v1/invitations/v1/orgs/invitations/*创建、预览、接受和取消邀请。
OAuth 与 OpenID Discovery 路径支持注册认证流程与客户端发现。

访问是资源级决定

多个资源都提供独立的 access 子路由,例如:

/v1/config-objects/{configObjectId}/access
/v1/plugins/{pluginId}/access
/v1/llm-providers/{llmProviderId}/access/{accessId}
/v1/skill-hubs/{skillHubId}/access

请将资源和它的授权记录视作两个独立生命周期对象。客户端应先建立组织上下文,再使用尽可能窄的资源作用域读写访问授权。

安全的客户端行为

  • 不要将 bearer token 或提供商凭据保存到会话产物或日志。
  • 展示组织级动作前先确认当前用户和组织。
  • 对拒绝或缺失访问权限显示明确状态,而不是空资源列表。
  • 调用应用中的管理操作前,始终做明确角色检查。

状态是交互模型的一部分

结果含义推荐客户端响应
401调用方未通过当前请求的认证请求新的安全 Session 或服务凭据。
403调用方已知,但缺少需要的组织或资源授权显示资源范围与下一步允许操作的负责人。
404当前上下文无法解析请求对象不要在尝试其他 ID 时泄露无关资源元数据。
409资源处于冲突的生命周期状态重新读取对象并展示真实状态,再建议用户重试。

凭据选择和 Base URL 行为见 OpenAPI 与集成。每个路由的授权和错误响应仍应以当前 OpenAPI Operation 为准。

认证方案、准确响应结构和当前版本的接口定义请以 packages/docs/openapi.json 为准。