Skip to content

Enforce resume re-auth and cross-origin resume guard #620

@eanzhao

Description

@eanzhao

目标

每次 previous_response_id 请求重走 §8 scope resolution port 验证 scope 匹配;跨 origin (api_key vs channel) resume 默认禁止。

范围

  • resume 时:re-resolve current scope via §8 scope resolution port → 必须 == actor.scope_id
  • 验证语义不是「token 还有效」,是「resolve 出的 scope 仍匹配」,防 token rotation 越权。
  • 验证 origin_kind 与本次请求 ingress 一致。
  • 跨 origin (api_key 起的 response 被 channel webhook 续,反之亦然) 默认 reject;feature gate 留接口预留,v1 默认关闭。

验收

  • 单测覆盖 token rotation 后 resume 仍按 scope 匹配判断。
  • 跨 origin resume reject 测试通过。
  • 错误返回语义清晰(区分 scope mismatch 与 origin mismatch)。

不做

  • channel webhook ingress 本身(v1 out of scope)。
  • 跨 origin feature gate 启用配置 UI(v1 不需要)。

依赖

建立在「Establish run/session ownership actor」+「Add scope resolution port」之上。

来源

discussion #609 §13

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions