JSON Web Token 认证原理

Photo by Andrew Ly on Unsplash

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

JWT 中 header(头部信息)和 payload(载荷信息)使用 Base64URL 进行编码。和 Base64 编码一样,Base64URL 本身是一种编码算法,而不是加密算法,因此头部信息和载荷信息仍不能携带密码等敏感信息。

为此,我们可以在服务器端根据头部信息和载荷信息生成一个数字签名,放在 JWT 中发回给客户端进行储存。下次请求时,客户端携带这个 JWT 来与服务器进行交互。由于数字签名的引入,服务端可以检测这个 JWT 是否被篡改。若无篡改,则可直接取出 JWT 中用户名、账号等信息进行下一步判断。

继续阅读JSON Web Token 认证原理