参考:《认证授权基础》
1. 认证 (Authentication) 和授权 (Authorization)的区别是什么?
说简单点就是:
认证 (Authentication): 你是谁。

授权 (Authorization): 你有哪些权限 干什么事情。

稍微正式点(啰嗦点)的说法就是:
- Authentication(认证) 是验证您的身份的凭据(例如用户名/用户ID和密码),通过这个凭据,系统得以知道你就是你,也就是说系统存在你这个用户。所以,Authentication 被称为身份/用户验证。
- Authorization(授权) 发生在 Authentication(认证) 之后。授权嘛,光看意思大家应该就明白,它主要掌管我们访问系统的权限。比如有些特定资源只能具有特定权限的人才能访问比如admin,有些对系统资源操作比如删除、添加、更新只能特定人才具有。
2. 什么是 Token?什么是 JWT?如何基于Token进行身份验证?
使用 Token。JWT (JSON Web Token) 就是token这种方式的实现,通过这种方式服务器端就不需要保存 Session 数据了,只用在客户端保存服务端返回给客户的 Token 就可以了,token是在服务端生成。扩展性得到提升。
JWT 由 3 部分构成。
请求时,你可以把token它放在 Cookie 里面自动发送,但是这样不能跨域,所以更好的做法是放在 HTTP Header 的 Authorization字段中: Authorization: Bearer Token。
【注意】cookie里面的东西是 只要发送请求,就会自动发送;而Header 的 Authorization字段 是需要手动指定的。
575

被折叠的 条评论
为什么被折叠?



