前端鉴权的几种方式

前端鉴权


保持用户的登录状态,在前端开发中也是一门不小的学问,涉及到的知识覆盖前后端。

目前前端用来处理用户鉴权信息的方式,大题看来有两种。

cookie

说到 cookie 大家都会想起饼干,在前端的领域里 cookie 用于存储变量。在前端请求网络资源或是后端接口时,请求头 Headers 里都会带上当前域下的 cookie 信息,服务端通过检测请求头内的 cookie 判断当前用户的登录状态是否过期,或是 cookie 是否错误,来判断当前用户是否能成功返回响应。

把 cookie 信息种到当前域名这个过程不会复杂,无论是 Java、PHP、Node 等服务端语言去编写接口,都有相应的种 cookie 的 API。这个过程大概是,前端请求登录接口,后端验证用户名和密码是否正确。在正确的情况下服务端 Set-Cookie ,参数大致是域名、有效时间、secure (是否 HTTPS ) 等,种下 cookie 之后,浏览器就会在指定域下添加相应的 cookie 信息。

token

有些同学会有这样的疑问,如果没有浏览器环境,那就没有种 cookie 的环境,用户状态如何维护?

这里就引出 Token 的概念,可以这样理解它:Token 是服务器生成的一串随机字符串或者一个 json 串,用于客户端进行资源请求的令牌。

当我们调用登录接口之后,服务端返回给前端一个 Token ,之后存储 Token 到本地环境,每次前端请求接口的时候,都需要在请求头里带上 Token 信息,并且 Token 可以在服务端设置过期时间。Token 过期之后,前端在请求失败回调 406(前后端协商好错误码)之后重新跳转到登录界面进行鉴权。

若是考虑到之后会拓展小程序和原生 APP ,建议使用 Token 的形式进行用户信息鉴权,方便以后代码进行二次开发。

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值