vue2项目之身份认证实现

文章介绍了如何通过uuid实现游客身份认证,生成的uuid存储在浏览器本地,作为请求头的一部分。同时,当用户登录后,服务器返回的token也被存储在本地,并在后续请求中添加到请求头,以此进行身份验证。这种方式确保了用户操作的安全性和会话的持久性。
摘要由CSDN通过智能技术生成

身份认证实现

6.4.1 uuid 实现游客认证

1、在 src/utils 文件夹创建 uuid_token.js

// 导出函数 getUUID() 用于生成 uuid

import { v4 as uuidv4 } from 'uuid';

export const getUUID = function() {
    // 将 uuid 存储与浏览器中 避免每次产生新id
    let uuid = localStorage.getItem('uuid');

    if(!uuid) {
        uuid = uuidv4();
        localStorage.setItem('uuid', uuid);
    }

    return uuid;
}

2、在 api/requests.js (axios 封装文件)中对请求头添加 uuid

import { getUUID } from '@/utils/uuid_token'

//请求拦截器----在项目中发请求前执行的函数
requests.interceptors.request.use(function(config) {
    // config 为一个 AJAX 对象

    // 给请求头添加游客 uuid (userTempId 为后端提供的请求头属性)
    config.headers.userTempId = getUUID();

    // 加载进度条
    nprogress.start();

    return config;
})

这样每个请求的请求头的 userTempId 都为游客的 uuid,且游客的 uuid 存在浏览器本地存储里

6.4.2 token 实现身份认证

我们登录之后可以从服务器获取到 token,我们将 token 存到本地存储中,并在发送请求前在请求头中配置 token 属性。

if(result.code == 200) {
    localStorage.setItem('token', result.data.token); // 本地存储 token

    return {message: '登录成功'};
}
requests.interceptors.request.use(function(config) {
    ...
    // 给请求头添加 token
    let token = localStorage.getItem('token');
    if(token) config.headers.token = token;
    ...
})

通过 token 我们可以向服务器发送请求获取用户数据,首先在 APP 里面申请!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cocoonne

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值