bearer token 是什么
参考地址:https://www.zhihu.com/question/305585277
一、历史
在以前,用户进行认证的时候一般是:
-> 用户向服务端发送验证信息(用户名、密码)。
-> 服务端验证成功就向用户返回一个sessionid,服务端保存了这个session_id对应的信息,写入用户的 Cookie。
-> 之后前端发出的每一次请求,都会通过Cookie,将session_id传回服务端,服务端收到session_id,找到对应的数据,由此得知用户的身份。
但是这种情况需要服务端保存会话,影响性能,且不是很好实现,可以考虑使用JWT,让客户端自己保存状态,服务端只做校验。JWT的原理是,服务器认证以后,生成一个JSON对象,发回给用户,如下所示
{ "data": ".......", "expires": "7730123010203" }
服务器在生成这个对象的时候加上签名。经过一系列加密和签名算法之后,JWT变成了这样的结构的一个具有有效期的字符串(是否有效服务端会根据expires判断)
Base64URL(header).base64UrlEncode(payload).HMACSHA256(Base64URL(header).base64UrlEncode(payload), secret )
这个字符串你可以把它放在Cookie里面自动发送,但是如果是跨域请求就会有问题了,所以更好的做法是放在HTTP请求的头信息Authorization字段里面。
Authorization: Bearer <token>
jwt 是什么:https://jwt.io/introduction/
博客里大都是转载的内容,其目的主要用户知识的组织和管理。

浙公网安备 33010602011771号