授权
授权是账本里的一条:写明被授权方、哪一件记录、有效期,以及条款文件的指纹。签发后只能撤销,内容保持定稿。
起草
到「授权」按「新建授权」,或在记录详情里按「授权给他人」(这件记录已预填)。表单各格:
- 被授权方
- 粘贴一个
0x…地址;右边「最近地址」列出地址簿和以前的被授权方。地址背后是个人、公司还是合约,由双方自行约定。 - 哪一条记录
- 按「选择记录」挑一件。只有已确认上链的记录能选,其余灰着并注明原因。
- 条款文件
- 必填,拖进来或点选。它的 SHA-256 自动填进「条款文件指纹」。签发时这份文件在数据目录里留一份,之后随授权文件和记录包交给对方,对方自己重算指纹即可核对。
- 有效期
- 「7 天」「30 天」(默认)「90 天」,按链上时间起算;或「自定义」,填起止的 Unix 秒。链上时间尚缺时,先同步一次,或改用自定义。
- 独占、转授权与范围
- 「独占授权」开关、「上游授权(转授权用)」与「使用范围」。
被授权方、条款文件指纹、上游三格里的地址或哈希一律写成小写。
含义在条款里
账本只认形式:一个地址、一个指纹、一段时间。是否独占、可用于何处、价格几何、违约如何处理,都写在条款文件里。对方重算条款文件的指纹,与授权里记下的一致,就能确认这正是签发时所附的那一份。
「独占授权」开关只记在你自己的机器上:同一件记录已有独占授权且时段重叠时,应用弹出「独占授权冲突」,拦下新的签发。对外具有约束力的独占,要写进条款文件。
签发
- 被授权方、记录、条款文件指纹三样齐了,按「加入账本」(开了「自动上链」时写「立即上链」)。
- 确认卡「签发授权」写出记录、有效期、条款文件与费用,被授权方和各项指纹在「详细信息」里。在卡上再按一次即签发。
- 授权写进账本,进待上链队列,照待上链队列上链。
新建授权页的旁栏「签发前的检查」是一张两步清单:「填写条款」和「起草首份授权」,下面显示密钥余额,可以逐步标记完成。
交给对方
- 授权码
- 以
zikaron-grant:开头的一段文本,在授权详情里按「复制授权码」。它能核验签名和有效期。 - 授权文件
- 按「导出授权文件…」写出一份
.zkgrant文件:授权链各跳的条目、签发者账本、条款文件和授权码都在里面,对方能做完整核验。导出前应用会现读一次链。
撤销
在授权详情页底部按「撤销授权…」,卡上写着记录与原有效期,「详细信息」里可以填裁决文件的指纹。按「确认撤销」写入撤销条目,进待上链队列。撤销是终局的,由这份授权派生的转授权同时失效。上链后,对方复核时只要拿得到你更新后的账本(同一台机器、对方存下的上游目录,或你发布地址上更新过的记录包),撤销监测就会发现它;在那之前,那份授权显示「有缺项」。
收下授权
使用方把收到的授权放进「我的授权」。按「添加授权」,贴授权码,或把授权文件拖进来,按「核验并添加」:
- 应用先核验签名和格式,全部通过才收下。
- 授权码带着转授权链时,链上各跳一并收下。
- 授权文件在数据目录里留一份,其中的签发者账本以后用于核验。
- 只有授权码时,能核验签名和有效期;要完整核验,请签发者导出授权文件。
每份授权一张卡,判定有四种:
- 全部通过
- 六项核验都通过。
- 有缺项
- 部分项目尚待结果,例如缺签发者账本、尚待确认上链。等结果明确后再依赖这份授权。
- 未通过
- 至少一项查出问题。
- 已被撤销
- 签发者已撤销这份授权。
「重新核验」逐份复核整个库:先在本机、再在保管库里找签发者账本,然后扫链。复核也按「设置 › 通知」的周期自动跑,出厂为每 600 秒。工具栏的「按签发者」把授权按签发者分组,有问题的组排在最上。
凭证
凭证是给第三方(例如你的顾客)看的授权证明,一份文本加一张二维码。在授权详情的凭证卡上按「生成凭证」:应用把授权链一直接到根,写出 badge.txt 和二维码 badge.svg。对方在「核验 › 核验授权」贴入文本即可核验。
转授权
本次运行复核过、六项核验全部通过的授权,详情上有「转授权给他人」。按下先出确认卡「转授权」,再按「起草…」进入转授权页:上半是上游授权的信息,下半与起草授权相同,记录固定为上游的那件。
- 转授权写进你自己(使用方)的账本,进你自己的待上链队列。使用方要有签名密钥和账本,页面会引你去「生成密钥…」或「开账…」。
- 转授权以上游为限:上游被撤销或到期,转授权随之失效。有效期由你自己设定,请把它设在上游的有效期之内。
- 核验转授权时,每一跳各核六项,再核相邻两跳是否接上。
撤销监测
每次整库复核之后,应用检查两件事:签发者是否撤销了你持有的某份授权,签发者账本是否移交给了新密钥。发现其中之一时,窗口向系统请求一次注意,出一条提醒,并在「提醒」页末尾加一行红灯。同一件事只提醒一次。