1.为什么要使用token,token是什么?

官方回答:
Token 是在服务端产生的。如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回 Token 给前端。前端可以在每次请求的时候带上 Token 证明自己的合法地位。
我自己理解:
token就相当于客户端登录的账号的唯一标识,在做一些数据请求的时候,后台会要求在请求头中携带token,如果没有token,或者token过期了,那么这时候就会对这个客户端进行返回响应的数据,然后前端在解析这些数据,判断是token过期,还是没有携带token,然后让用户进行相应的操作。总而言之,token是在向后台请求数据的时候必不可少的。如果没有token,那么后台要么不会返回响应的数据,要么就会返回一些无关紧要的数据。

2.验证本地token。

​ 有些数据如果请求头不携带token是请求不到的,服务器会给我们返回空的数据或者是直接报错,这时候我们就可
以在请求数据的时候进行前端验证本地token是否存在,如果存在的话就发送请求,如果不存在就让提醒用户前去
登录或者没有登录无法查看数据,而我们在用户等了之后就把后台返回给我们的token值保存在本地。

3.请求头携带token。

如何在请求头中携带token
-----上代码
// 请求拦截器

let  _axios = axios.create();   // 创建axios实例
// 请求拦截器
_axios.interceptors.request.use(// 请求成功function (config) {const token = localStorage.getItem('token')if (token) { // 判断是否存在token,如果存在的话,则每个http header都加上tokenconfig.headers.authorization = token //请求头加上token}Toast.loading({message: '加载中...',forbidClick: true,});return config},// 请求失败function (error) {return Promise.reject(error)}
)

4.关于登录注册。

登录注册一直都是前端程序员绕不开的一个需求,不管你是写什么项目都会用到登录注册 ,当你写代码到登录注册的时候大概会分为两个模块

  • ​ 密码登录

    • 在写密码登录的时候就回进行验证用户名、账号、手机号中的一种,当然这些验证都要写在前端,不然每一次都发送请求给服务器占用服务器性能,一般都是在写非空、格式的判断还有密码的长短判断。
  • ​ 手机号验证码登录
    • ​ 这种登录方式又涉及到了第一次登录那就相当于注册了,而注册之后是前往设置密码、个人信息,还是前往某个页面这些就根据项目需求来决定,不同的项目需求也不一样。

5.关于封装axios和封装接口。

  • 封装axios

    import axios from 'axios'
    import { Toast } from 'vant';let _axios = axios.create({// 在这里配置请求头// baseURL: "https://wap.*******.com"     // 公共地址// headers:{}     // 请求头
    })
    // 请求拦截器
    _axios.interceptors.request.use(// 请求成功function (config) {const token = localStorage.getItem('token')if (token) { // 判断是否存在token,如果存在的话,则每个http header都加上tokenconfig.headers.authorization = token //请求头加上token}Toast.loading({message: '加载中...',forbidClick: true,});return config},// 请求失败function (error) {return Promise.reject(error)}
    )// 响应拦截器
    _axios.interceptors.response.use(// 响应成功function (response) {if(response.code==200){Toast.clear()}return response},//  响应失败function (error) {return Promise.reject(error)}
    )// 默认导出 _axios
    export default _axios
    
  • 封装接口

    ​ 首先新建一个request.js文件,一般建在utils下,然后倒入刚才封装的axios.js文件,新建一个对象,在对象中添加方法,方法就是请求接口的函数封装,然后默认导出对象,在main.js中导入requeat.js文件,然后将对象挂载在vue原型上。,然后倒入刚才封装的axios.js文件,新建一个对象,在对象中添加方法,方法就是请求接口的函数封装,然后默认导出对象,在main.js中导入requeat.js文件,然后将对象挂载在vue原型上。

1.为什么要使用token,token是什么?相关推荐

  1. 什么是token token用在哪 token放在哪比较好

    1. token 其实就是访问资源的凭证,一般是用户通过用户名和密码登录成功之后,服务器将登录凭证做数字签名,加密之后得到的字符串作为token2. token用在用户登录城后之后会返回给客户端,3. ...

  2. golang通过RSA算法生成token,go从配置文件中注入密钥文件,go从文件中读取密钥文件,go RSA算法下token生成与解析;go java token共用

    RSA算法 token生成与解析 本文演示两种方式,一种是把密钥文件放在配置文件中,一种是把密钥文件本身放入项目或者容器中. 下面两种的区别在于私钥公钥的初始化, init方法,需要哪种取哪种. 通过 ...

  3. php jwt使用案例,PHP使用JWT创建Token的实例详解

    iss (issuer)issuer请求实体,可以是发起请求的用户的信息,也可是jwt的签发者 sub (Subject)设置主题,类似于发邮件时的主题 aud (audience)接收jwt的一方 ...

  4. AJAX安全-Session做Token

    个人思路,请大神看到了指点 个人理解token是防止扫号机或者恶意注册.恶意发表灌水,有些JS写的token算法,也会被抓出来被利用,个人感觉还是用会过期的Session做token更好,服务器存储, ...

  5. SpringMVC中实现的token,防表单重复提交

    一:首先创建一个token处理类  ,这里的类名叫 TokenHandler private static Logger logger = Logger.getLogger(TokenHandler. ...

  6. Token ,Cookie、Session傻傻分不清楚?

    点击上方蓝色"视学算法",选择"设为星标" 作者 | 王菜鸟1993 来源 | cnblogs.com/JamesWang1993/p/8593494.html ...

  7. 简单介绍vue获取token实现token登录的示例代码

    最近新做了个vue项目,正好项目中有登录部分,本文就详细的介绍一下登录部分的实现,文中通过示例代码介绍的非常详细,感兴趣的小伙伴们可以参考一下 使用token做登录验证的思路大致如下: 1.在第一次登 ...

  8. 不要用JWT替代session管理(上):全面了解Token,JWT,OAuth,SAML,SSO

    通常为了弄清楚一个概念,我们需要掌握十个概念.在判断 JWT (Json Web Token) 是否能代替 session 管理之前,我们要了解什么是 token,以及 access token 和 ...

  9. 漫谈BCH Token方案

    Token是什么? Token是什么,Token有必要存在吗?如果说公链的币就是钱的话,那么Token就是票(或者说"通证").生活中处处需要钱,而有的时候,钱要换一种方式存在,那 ...

  10. php 验证微信token_微信token认证程序

    [php]代码库<?php /** * @author heqing * @version v1.0 */ //define your token define("TOKEN" ...

最新文章

  1. 一个简单的C++程序,回顾基本语法
  2. USACO 2.3.3 罗马数字
  3. POJ-4004:数字组合(用位移方法解组合数问题,Java版)
  4. canvas动画 - 背景线条 - 应用篇
  5. YzmCMS全新轻爽极简风格模版主题
  6. ASP脚本语言之vbscript用法
  7. [cb]SceneView 获取鼠标位置
  8. mORMot Js对象解析 Json 实例
  9. AppTheme属性设置集合
  10. Angular和Vue.js 深度对比
  11. Android解析WindowManagerService(一)WMS的诞生
  12. Unity3D Shader系列之护盾效果
  13. 《自动控制原理》个人笔记(来自ppt课件)
  14. 产品生命周期管理PLM系统概述——睿思成研发管理咨询(www.wiserdm.com)
  15. winrar解压器_最好的解压软件,没有之一
  16. H5+js实现别踩白块儿
  17. 计算机上机考试自我检查800字,【考试太差 自我反省检讨书800字】_考试成绩差自我反省检讨书范文3篇...
  18. Spring框架的七大模块
  19. macbook蓝牙pan未连接_蓝牙自动重连机制
  20. 中国顶级黑客,你所不知的内幕

热门文章

  1. 可能是数据最全的世界各国地区下拉级联,包含国际化中英文
  2. 小葫芦弹幕助手连接服务器失败,为什么自动弹幕发送老是失败?如何解决?
  3. 一台电脑中,如何使 git 同时配置Github、Gitee等多种版本控制工具
  4. 使用 Vite + 前端框架 (SolidJs,React,Svelte,Vue) 来开发 油猴脚本
  5. 恩智浦imx8qxp-mek的 device Tree 结构
  6. Delphi 实现多国语言
  7. 飞控计算机功能硬件设计,基于微机的某型无人机飞控系统的硬件设计及软件实现...
  8. 前端开发:Mac电脑修改hosts文件的方法
  9. 计算机类学术期刊SCI/EI期刊核心期刊有哪些?
  10. Linux查看日志文件