前端鉴权的几种方式
1. Http basic Authorization
基于浏览器的一种鉴权方式。
1. 未授权请求,拦截,返回 401 Unauthorised
2. 支持的浏览器弹出用户名密码框,输入用户名密码,连同上次请求数据,一起发送到服务端
使用授权头,Authorization: Basic [base64]编码的用户名密码
3. 服务端验证通过,返回资源
4. 客户端会一种携带授权头,不安全,适用于内网
2. session-cookie
用户未登录,无sessionId,客户端登录后,在cookie中种下sessionId,发送到服务端,服务端验证通过,释放资源。
sessionId过期,重新登录,http请求,后端会redirect到登录页,ajax请求或前端route,需要前端全局拦截
3. Token
用户未登录,无token,登录后,返回token,客户端可以存储在cookie,storage,或内存中,每次请求携带token,
其灵活的特点是,不必须依赖cookie,可以在任何终端使用,多用于app鉴权。
Token过期,重新登录,请求拦截通session-cookie
4. OAuth
OAuth2.0流程:
1. 第三方应用在资源方注册,获取身份,无身份后面请求无效
2. 第三方应用征得用户授权,同意获取资源
3. 第三方应用向资源方请求授权码,资源方返回授权码
4. 第三方应用以授权码,向资源方申请访问令牌,资源方返回令牌
5. 第三方应用以令牌,访问受限资源