跳到主要内容

ARC 2.0.0-beta.28

身份与数据空间

理解 ARC 的调用者上下文、DID 作用域存储、session 数据视图,以及把它们分开的边界。

当应用需要知道「谁在行动」以及「该调用者能看见哪份数据视图」时,使用本 board。先把三个相关概念分开。

术语

术语在 ARC 中的当前含义不要说成
DID主体与已验证调用者上下文的标识;用于给存储划定作用域。客户端字段、UI 文案或路径片段就能完成认证。
DID Space具体的 AFS provider 与用户可见的 DID 作用域存储面。挂上 DID Space 就自动拥有完整 AFS 操作集。
Data Space用于讨论调用者数据上下文与视图的文档/架构用语。另一套公开 SDK、后端、API 产品或生命周期对象。
/user · /tmp · /space为单个调用者与 session 组合的、受约束的 AFS 视图。可以直接去碰 ObjectStore、CAS 或 SQLite 内部布局。

DID 进入调用者上下文与 DID Space;两者共同进入 session 视图;Data Space 只是命名该数据上下文

路径不是授权决定。运行时先解析调用者上下文、构建 session 视图,再由 provider 策略决定应用能否使用数据。UI 可见性、以及路径里恰好出现 DID,都不是权限授予。

各部分如何连接

受信凭据变成 CallerInfo。session 再把调用者专用视图叠在共享的 instance world 上。/user 与可选的 /space 经 DID Space provider 解析;/tmp 是 session 本地临时区。

步骤发生什么
1运行时接受 cookie JWT、Bearer JWT,或 Bearer blocklet-… access key。
2共享 caller 核心把 connect-service 身份映射为 CallerInfodidrolesauthMethod、可选 instanceDid)。
3构造 session 时仅为该调用者挂载 /user/tmp,以及可选的 /space
4DID Space provider 在 systemuser 角色前缀下持久化数据。

从受信凭据经 CallerInfo 与 SessionUserAFS 进入 session 视图,并由 DID Space provider 承载

按任务阅读

如果你需要从这里开始
理解 ARC 对调用者知道什么调用者上下文
按 DID 作用域存储或挂载数据DID 作用域存储
理解文档用语 Data Space这里的 “Data Space” 指什么
理解 /user/tmp/spaceSession 数据
本地运行 arc space 检查检查本地空间
看 DID Connect 如何进入 ARC 运行时ARC 中的 DID Connect
查看本 board 明确不承诺什么当前合同边界
对照指定 ARC release 复验证据与版本边界

验证版本

本 board 的操作命令已在隔离的 --root-path 目录下,针对 ARC CLI 2.0.0-beta.28 重新跑过。源码与测试引用对应文档编写时的当前 ArcBlock/arc 树。关于 instance DID 生命周期的架构草稿只作考古材料,不是公开合同。

相关 board

  • AFS — provider 合同与挂载语义。
  • Blocklets — package 与 instance 工作流。
  • AUP — 声明式 UI 与 session 呈现。
  • Web Device — 把 AFS 路径做成静态站点。
  • arc space — space 子命令完整 CLI 参考。