Cookie
起源:购物车
工作机制:通过报文中的cookie和set-cookie使得服务器和客户端来维护一套存储机制
作用:使用cookie管理登录状态、存储用户偏好、用户行为追踪
XSS(Cross-site scripting):HttpOnly 任何的js不许拿到,只允许网络请求时,浏览器自动加上
XSRF(Cross-site request forgery):Referer 跨站请求伪造,简称跨域问题。
Authorization
- Basic
Authorization: Basic <username:password(Base64)>
(Base64:将每3/4个字节转成一个新的字节,使得所有的字符都转成变成64个可打印的字符。) - Bearer (持票人)
Authorization: Bearer <bearer token>
OAuth2
OAuth2流程 (以简书向github申请授权为例)
https://segmentfault.com/a/1190000013467122
- 客户端浏览器打开简书网站,用户点击登录,请求简书的接口,简书服务器返回302附带上client_id进行重定向,客户端重定向至github发送第三方授权请求,附带上简书的client_id。
- 此时重定向会打开新的窗口,就是github的授权窗口(如果github没有登录,则会先进行登录)。用户点击同意,向github请求同意授权接口,github会返回authorization code,并重定向至简书服务器。
前面的请求都不必是https,下面的请求必须是https。 - 简书服务器通过https请求,将授权code和client_secret发送至github。github返回access token。
- 拿到access token的简书服务器向github申请并拿到用户的信息,简书服务器再使用这些信息注册新的一个新的账号,并将简书服务器的token返回至客户端。