CookiesReader
Cookies Reader
"use strict";
/**
*
* @author xgqfrms
* @license MIT
* @copyright xgqfrms
*
* @description CookiesReader
* @augments
* @example
*
*/
const CookiesReader = (key = ``, debug = false) => {
if(key) {
let name = `${key}=`;
let decodedCookie = decodeURIComponent(document.cookie);
let cookies = decodedCookie.split(`;`);
for(let i = 0; i <cookies.length; i++) {
let cookie = cookies[i];
while (cookie.charAt(0) === ` `) {
// trim() ???
cookie = cookie.substring(1);
}
if (cookie.indexOf(name) === 0) {
return cookie.substring(name.length, cookie.length);
}
}
return "";
} else {
console.error(`Please pass the key of cookie!, key = ${key}`);
}
};
const getCookieValue = (key = ``, debug = false) => {
if(key) {
let name = `${key}=`;
let decodedCookie = decodeURIComponent(document.cookie);
let cookies = decodedCookie.split(`;`);
for(let i = 0; i <cookies.length; i++) {
let cookie = cookies[i];
while (cookie.charAt(0) === ` `) {
// trim() ???
cookie = cookie.substring(1);
}
if (cookie.indexOf(name) === 0) {
return cookie.substring(name.length, cookie.length);
}
}
return "";
} else {
console.error(`Please pass the key of cookie!, key = ${key}`);
}
};
export default CookiesReader;
export {
CookiesReader,
getCookieValue,
};
/*
import {
getCookieValue,
// CookiesReader,
} from "./cookies-reader";
JSON.parse(decodeURIComponent(atob(getCookieValue(`access_token_test`).split(`.`)[1])));
JSON.parse(decodeURIComponent(atob(getCookieValue(`access_token_prod`).split(`.`)[1])));
JSON.parse(decodeURIComponent(atob(getCookieValue(`${access_token}`).split(`.`)[1])));
*/
demo
import {
getCookieValue,
// CookiesReader,
} from "./cookies-reader";
JSON.parse(decodeURIComponent(atob(getCookieValue(`access_token_test`).split(`.`)[1])));
JSON.parse(decodeURIComponent(atob(getCookieValue(`access_token_prod`).split(`.`)[1])));
import {
getCookieValue,
// CookiesReader,
} from "./cookies-reader";
import {
ROLE,
DEV
} from "./url-roles";
let access_token = ``;
if (DEV === "production") {
access_token = `access_token_prod`;
} else {
access_token = `access_token_test`;
}
// let token = JSON.parse(decodeURIComponent(atob(document.cookie.replace(`${access_token}`, ``).split(`.`)[1])));
let token = JSON.parse(decodeURIComponent(atob(getCookieValue(`${access_token}`).split(`.`)[1])));
HttpOnly & bug
bug
const CookiesReader = (key = ``, debug = false) => {
if(key) {
let name = `${key}=`;
let decodedCookie = decodeURIComponent(document.cookie);
let cookies = decodedCookie.split(`;`);
for(let i = 0; i <cookies.length; i++) {
let cookie = cookies[i];
while (cookie.charAt(0) === ` `) {
// trim() ???
cookie = cookie.substring(1);
}
if (cookie.indexOf(name) === 0) {
return cookie.substring(name.length, cookie.length);
}
}
return "";
} else {
console.error(`Please pass the key of cookie!, key = ${key}`);
}
};
CookiesReader(`JSESSIONID`);
CookiesReader的更多相关文章
- cookie 详解 与 封装 实用的cookie
在WEB前端开发中,cookie是必不可少的,网上也有很多开源的库可以使用,不过我还是想自己总结一下,做个笔记并封装一个实用的库.(1)什么是cookie? 从web 角度 cookie是用于存储信息 ...
随机推荐
- Java_JDBC连接数据库_使用读取配置文件的方式
package com.homewoek3_4.dao; import java.io.IOException; import java.io.InputStream; import java.sql ...
- AJPFX关于TreeSet集合的介绍
需求:键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台.分析:1.创建键盘录入对象: 2.创建TreeSet集合,使用匿名内部类实现Compa ...
- (二)Spring容器
大佬总结的很好,请去看大佬博客. http://www.cnblogs.com/chenssy/archive/2012/11/15/2772287.html https://www.cnblogs. ...
- Android EventBus3.0详解
修改日志 -- 添加索引部分得细节,添加kotlin的支持方式 https://www.jianshu.com/p/31e3528ca7e5
- Android图片压缩,不失真,上线项目
当然了,图片压缩是利用了libjpeg库的基础上,牛逼的同学可以自行生成so.jar.在此给出一个链接: http://www.cnblogs.com/hrlnw/p/4403334.html 在生成 ...
- A/B宣言
作者:Dunne & Raby A B 肯定的 批判的 解决问题的 发现问题的 设计即流程 设计即方法 给出答案 问问题 为行业中服务 为社会服务 说明世界是怎样的 说明世界可能是怎样的 科 ...
- vue热重载
依据官网使用 webpack 的 Hot Module Replacement API,Vuex 支持在开发过程中热重载 mutation.module.action 和 getter.你也可以在 B ...
- CentOS 6.4 linux下编译安装MySQL5.6.14
CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.14. 正文: 一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm ...
- 【C++】朝花夕拾——STL vector
STL之vector篇 N久之前是拿C的数组实现过vector中的一些简单功能,什么深拷贝.增删查找之类的,以为vector的实现也就是这样了,现在想想真是...too young too naive ...
- Bootstrap modal使用及点击外部不消失的解决方法
这篇文章主要为大家详细介绍了Bootstrap modal使用及点击外部不消失的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了Bootstrap modal使用及点击 ...