Hasty Briefsbeta

双语

ATProto in Practice #1: Identity

11 hours ago
  • ATProto账号有两个标识符:不可变的DID和可变更的人类可读句柄。
  • 句柄是域名,现有域名可作为句柄使用。
  • 将句柄解析为DID需要同时检查DNS TXT记录和.well-known HTTP文件。
  • DID文档包含带有句柄的'alsoKnownAs'字段和带有PDS端点的'service'字段。
  • 验证是双向的:应检查两个方向以确认所有权。
  • 保留的TLD(如.alt、.local、.example)应被拒绝作为句柄。
  • DID主要有两种方法:did:plc(集中式,有历史记录)和did:web(自托管,无历史记录)。
  • did:plc存储完整的变更历史,可作为审计日志查看。
  • did:web绑定到某个域名且无法迁移;若保留域名则永久可用。
  • 解析did:plc将访问plc.directory,而did:web则使用域名的.well-known/did.json。
  • DIDKit是一个Ruby gem,可简化句柄和DID的解析。
  • PLC导出API允许批量下载操作,满足大规模数据需求。
  • 操作日志使用与DID文档不同的JSON格式;包含墓碑记录和旧版格式。
  • 从alsoKnownAs中过滤无效句柄,并通过反向解析进行验证。
  • 并非所有句柄都是真实的;需验证并处理多句柄等边缘情况。