JSON Web Token 认证原理

Photo by Andrew Ly on Unsplash

JSON Web Token(下面简称 JWT )常被用来作为认证凭据存储在浏览器本地。通过本文,我想阐述清楚 JWT 认证的实现过程和背后的原理。

什么是 JWT

JWT 中头部信息和载荷信息使用 Base64URL 进行编码。和 Base64 编码一样,Base64URL 本身是一种编码算法,而不是加密算法,因此头部信息和载荷信息仍不能携带密码等敏感信息。如下图所示,左侧是编码后的 JWT,右边是解码后的 JWT 各个部分的值。可以看到,头部信息、载荷信息和签名信息分别用 . 号隔开。

下次请求时,客户端携带这个 JWT 来与服务器进行交互。由于数字签名的引入,服务端可以检测这个 JWT 是否被篡改。

继续阅读JSON Web Token 认证原理