JWT,也就是JSON Web Token,这个“通行证”主要由三个部分组成。我们可以把它们想象成“通行证”的三个重要区域,每个区域都有它特殊的作用。
头部(Header):
这部分就像“通行证”的封面,它告诉人们这个“通行证”的一些基本信息。比如,它用了什么方式来加密和验证信息(就像告诉我们这本通行证是如何制作的)。这个部分会包含一些简单的描述,比如这个JWT是用来做什么的,以及它是怎么被加密的。载荷(Payload):
这部分是“通行证”的主要内容。在这里,会列出持有者的信息,比如姓名、角色或者其他一些描述。这些信息告诉我们这个“通行证”是属于谁的,或者持有者可以做什么。这部分也会包含“通行证”的有效期,告诉我们什么时候这个“通行证”就不能用了。签名(Signature):
这部分就像“通行证”的防伪标记。它用来确认这个“通行证”是真实的,没有被篡改过。这个签名是用头部和载荷的信息,加上一个只有服务器知道的秘密密钥来生成的。当服务器收到“通行证”时,它会用自己的密钥来检查签名是否正确,从而确认“通行证”是真实的。
所以,简单来说,JWT的头部告诉我们“通行证”的基本信息,载荷描述了持有者的信息和权限,而签名则用来验证“通行证”的真实性和完整性。这三部分共同保证了JWT的安全和有效性。