Token 的阿凡达们 书架

第 03 章 / 共 9 章

第三章 · 门卫手里的通行证

你早上刷工牌进办公楼,闸机嘀一声放行。注意闸机做了什么、没做什么:它没有重新核实你是谁——没有查你的身份证,没有打电话给人事,没有问你上司。它只是读了一张卡,卡说「这人已通过验证」,它就信了。

这就是安全领域的 token,词典里那条「代表执行某个操作的权利」的定义,在这里几乎原封不动。它是所有阿凡达里离游戏厅铜板最近的一个——只不过铜板代表的权利是「玩一次游戏」,通行证代表的权利是「以你的身份做事」。

为什么不每次都验正主

设想一个不用 token 的世界:你在网站上每点一个链接,都要重新输一遍用户名和密码。烦还在其次,真正的灾难是密码满天飞——它在你电脑里存了无数份,在网络上跑了无数趟,每趟都可能被截获。正主(密码)太贵重也太脆弱,经不起这么折腾。

于是工程上造了个替身,流程和游戏厅一模一样:

大白话:登录一次拿到的 token,就是服务器发你的临时工牌。服务器只认牌不认脸——所以丢工牌(token 泄露)比你想的严重,谁捡到都能刷进门。这也是为什么 token 都有有效期:工牌过夜作废,丢了也只损失一小段窗口。

令牌自己会说话:JWT

传统 token 有个小麻烦:服务器收到一串随机字符,得回头查账本(数据库)才知道这牌发给了谁、灵没灵验。每次请求查一次账,量大时账本先被压垮。

于是有了更精致的化身 JWT(JSON Web Token,一种把「你是谁、你有什么权限、什么时候过期」直接写进令牌本身、再加防伪签名的通行证)。它像一张自带照片和公章的证件:服务器不用查账本,只要验公章(签名)没被动过,证件上写的话就可信。

这又是一跳类比:从「随机号码牌,凭号查账」跳到了「自带内容的防伪证件」。token 开始往「携带信息」的方向走——记住这个方向,第四、五、六章里它会成为主角。

硬件 token:把替身铸进铁里

安全领域还有一个返祖的分支:银行发的 U 盾、动态口令器、插在电脑上的安全密钥。它们干脆把 token 做成实体——字面意义回到了游戏厅铜板。网银转账时,光知道密码不够,你手里还得真的捏着那块小硬件。「你有的东西」(硬件)加「你知道的东西」(密码),两样凑齐才算你本人。这块铁代表的,仍然是那条古老的定义:执行某个操作的权利。

本章留下的问题

这一章的 token 几乎没变形:还是替身,还是凭证,还是「验证替身比验证正主便宜」。但注意 JWT 露出的那条缝——token 内部开始装载信息了,而不只是「代表」信息。

下一章里,token 将纵身跳进一个完全不同的世界:编译器。在那里它不再代表「权利」,而是代表「一段字符是什么」——比如这串字符是个数字,那串是个名字。凭证的色彩淡了,特征的色彩浓了。可你会看到,三条件一个都没丢,只是换了主语。

Token 的阿凡达们 · 竹小竹8167
费曼式写法 · 由多个 AI 代理撰写与互相审校