refreshToken 傷城~ 2022-09-11 06:10 139阅读 0赞 import store from '@/store' import config from './config.js' import Base64 from './base64.js' // H5版本 // #ifdef H5 import Fly from "flyio/dist/npm/fly" // #endif //微信小程序和APP版本 // #ifndef H5 import Fly from "flyio/dist/npm/wx" // #endif const request = new Fly(); let base64 = new Base64(); console.log(request) request.interceptors.request.use((request) => { request.baseURL = config.baseURL; const token = store.state.user.token; request.headers['Authorization'] = `Basic ${ base64.encode(`${ config.clientId}:${ config.clientSecret}`)}`; if (token) { request.headers['Blade-Auth'] = 'bearer ' + token } else { request.headers['Tenant-Id'] = config.tenantId } if (request.method === 'POST' && request.headers['Content-Type'] !== 'multipart/form-data') { uni.showLoading({ }); request.body = { ...request.body, _t: Date.parse(new Date()) / 1000 } } else if (request.method === 'GET') { request.params = { _t: Date.parse(new Date()) / 1000, ...request.params } } return request }) let isRefreshing = false; let requests = []; request.interceptors.response.use(response => { uni.hideLoading() return response.data }, error => { uni.hideLoading() if (error.response.data.code == 401) { if (!isRefreshing) { isRefreshing = true store.dispatch('refreshToken').then(res => { if (res.access_token) { requests.forEach(cb => { console.log(cb) cb() }) requests = [] }else{ } }) isRefreshing = false } else { return new Promise((resolve) => { requests.push(() => { resolve(request()) }) }) } } }) export default request export { request }
相关 accessToken 和 refreshToken区别 accessToken和refreshToken都是用于身份认证和授权的令牌,它们的区别和关联如下: 1. accessToken:accessToken是一个短期的令牌, 阳光穿透心脏的1/2处/ 2024年03月26日 22:27/ 0 赞/ 87 阅读
相关 refreshToken import store from '@/store' import config from './config.js' import Base64 f 傷城~/ 2022年09月11日 06:10/ 0 赞/ 140 阅读
相关 access token已过期,怎么用refreshtoken刷新accesstoken access token已过期,怎么用refreshtoken刷新accesstoken。 不指定 justwinit 2014-2-17 16:13 大 | 中 | 小 Bertha 。/ 2022年04月12日 11:19/ 0 赞/ 1345 阅读
相关 vue+axios 使用JWT的时候如何使用refreshToken无痕刷新assetsToken并继续之前的请求?返回之前的数据? 什么是jwt 简单来说就是一个加密令牌,服务端能通过算法加密用户信息并随着请求和相应传送,进而能让服务端知道登录的是谁,他有没有权限进入我的服务器获取信息。jwt详细的实 「爱情、让人受尽委屈。」/ 2021年10月23日 09:45/ 0 赞/ 383 阅读
相关 基于JWT(JSON WEB TOKEN) 生成token及refreshToken实现用户认证及过期处理 > 基于JWT(JSON WEB TOKEN) 生成token及refreshToken实现用户认证及过期处理 【1】 【问题背景】:想[实现Session共享方法以及单 痛定思痛。/ 2021年10月19日 10:28/ 0 赞/ 764 阅读
还没有评论,来说两句吧...