JWT 即 JSON Web Token,是用 JSON 形式安全传输信息的方法。本节介绍JWT与gRPC结合,关于JWT交互流程的介绍参考文末的链接。
1. 使用JWT客户端与服务端交互
1)客户端使用用户名、密码发送给服务端
2)服务端返回JWT数据,返回数据由三部分组成
Header
:TOKEN 的类型,就是JWT,签名的算法,如 HMAC、 SHA256Payload
:携带的信息,比如用户名、过期时间等,一般叫做Claim
Signature
:签名,是由header
、payload
和你自己维护的一个secret
经过加密得来的,HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)
3)客户端发送业务消息并带有JWT
4)服务端验证JWT是否正确、是否过期,验证通过后返回数据