前后端分离的登录:token机制.txt

登录知识点.txt
知识来源:百度“登录 前后端分离”
一、前后端分离的登录:token机制
参考:https://blog.csdn.net/qq_41970025/article/details/90705849
https://www.cnblogs.com/eret9616/p/9661314.html 的2.2 基于Token登录
基于token的认证,适用场景:分布式,微服务。
1).token与cookie相比较的优势:
   1、支持跨域访问,将token置于请求头中,而cookie是不支持跨域访问的。
   2、无状态化,服务端无需存储token,只需要验证token信息是否正确即可,
        而session需要在服务端存储,一般是通过cookie中的sessionID在服务端查找对应的session。
   3、无需绑定到一个特殊的身份验证方案(传统的用户名密码登陆),
        只需要生成的token是符合我们预期设定的即可。
   4、更适用于移动端 (Android,iOS,小程序等等),
        像这种原生平台不支持cookie,
        比如说微信小程序,每一次请求都是一次会话,
        当然我们可以每次去手动为它添加cookie,详情请查看博主另一篇博客。
   5、避免CSRF跨站伪造攻击,还是因为不依赖cookie。
   6、非常适用于RESTful API,这样可以轻易与各种后端(java,.net,python…)相结合,去耦合。

2)前后端分离的登录解决方案
   注:目前大多数都采用请求头携带 Token 的形式。
    1、首次登录时,后端服务器判断用户账号、密码正确之后,
        根据用户id、用户名、定义好的秘钥、过期时间生成 token,返回给前端。
    2、前端拿到后端返回的 token ,存储在 localStorage 里。
    3、前端每次路由跳转,判断 localStorage 有无 token,
        没有则跳转到登录页,有则请求获取用户信息,改变登录状态。
    4、每次请求接口,在请求头里携带 token。
    5、后端接口 判断 请求头有无 token,没有或者 token 过期,返回401。
    6、前端得到 401 状态码,重定向 到登录页面。


二、前后端分离 | 关于登录状态那些事
参考:https://www.cnblogs.com/boboooo/p/9779355.html
3.1.近几年,随着前后端分离的流行,
我们访问一个网站时,先去请求静态服务,拿到页面后,
再异步去后台请求数据,最后渲染成我们看到的带有数据的网站。

3.2.同源(域)策略
同源策略是浏览器保证安全的基础,它是指,
A网页设置的 Cookie,B网页不能打开,除非这两个网页同源。
所谓同源是指:协议相同、域名相同、端口相同。
例如:http://www.a.com/login,
协议是http,域名是www.a.com,端口是80。
只要这3个相同,我们就可以在请求(Request)时带上Cookie,
在响应(Response)时设置Cookie。

3.3.同域下的前后端分离
同域下,异步请求时,服务器成功设置了Cookie,Cookie也能带到服务端。
所以,我们在做前后端分离时,前端和后端部署在同一域下,
满足浏览器的同源策略,登录不需要做特殊的处理。

3.4.不同域下的前后端分离
见 jwt(json web token) 用户认证。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值