☰
Router_Section_101_structureMapApproachUnderstand
2026/10/6 13:13:27 网站建设 项目流程

Gemini_JWT演示

别把两件事混在一起:

  1. “证明我是我(这个人)”——这在网络里几乎做不到(除非上身份证、人脸、KYC)。
  2. “证明我现在控制着某个凭证”——Web2 常见是“我知道密码”;Web3 常见是“我控制这个钱包私钥”。

Web3 登录(SIWE / EIP-4361)做的是第 2 件事:证明你控制某个地址对应的私钥,而不是哲学意义上的“你就是你”。(Ethereum Improvement Proposals)


把每个东西的“职责”先对号入座


典型流程(用“门卫 + 手环”的类比)

1) 点“用钱包登录”

前端先问后端要一个挑战(challenge),里面会有nonce、domain、uri、时间等(SIWE 标准消息格式就是干这个的)。(Ethereum Improvement Proposals)

类比:门卫说:“在我这张纸上写的这句暗号上签名(暗号每次都不一样)。”

2) 钱包让你确认并签名

钱包用私钥对这段消息签名。私钥不出钱包,只产出签名。

类比:你在纸上“现场签字/按指纹”,门卫只拿到“签名结果”,拿不到你的“手”。

3) 服务器验证:你确实控制这个地址

服务器会做几件关键检查:

到这里为止,服务器得到的结论是:
“这个请求方此刻控制着 0xABC… 的私钥。”
不是“这个人是谁”。


关键问题:为什么后续只要 JWT 就行?

因为从这一刻开始,系统进入**会话管理(session)**阶段:

类比:你刚进场时门卫让你按指纹(钱包签名 + nonce 校验)。通过后给你一个一次活动有效的手环(JWT)。
之后你去任何摊位(各个 API)不需要再按指纹,只需要出示手环。手环一旦丢了,捡到的人也能用——所以要靠 HTTPS、短过期、风控来降低风险。

Gemini_HMAC演示

OWASP 也有一句很直白的原则:一旦会话建立,session id / token 在有效期内就等价于你当初使用的最强认证手段(不管你当初是密码、OTP、证书还是生物识别)。(cheatsheetseries.owasp.org)


“服务器用对称密钥证明服务器是服务器”——这里要纠正一下


一句话把全链路串起来

。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询