(办公)TOKEN
token就是HTTP认证,输入正确的token,在放在Authorization header中发送给服务器,认证成功。,就可以正确的拿到接口数据.
举个例子:
第一步: 客户端发送http request 给服务器,
第二步: 因为request中没有包含Authorization header, 服务器会返回一个401 Unauthozied给客户端,并且在Response的 header "WWW-Authenticate" 中添加信息。
第三步:客户端把用户名和密码用BASE64加密后,放在Authorization header中发送给服务器, 认证成功。
第四步:服务器将Authorization header中的用户名密码取出,进行验证, 如果验证通过,将根据请求,发送资源给客户端
使用Fiddler Inspectors 下的Auth 选项卡,可以很方便的看到用户名和密码:
杂谈:
以前一直分不清 authentication 和 authorization,其实很简单,举个例子来说:
你要登机,你需要出示你的身份证和机票,身份证是为了证明你张三确实是你张三,这就是 authentication;而机票是为了证明你张三确实买了票可以上飞机,这就是 authorization。
在 computer science 领域再举个例子:
你要登陆论坛,输入用户名张三,密码1234,密码正确,证明你张三确实是张三,这就是 authentication;再一check用户张三是个版主,所以有权限加精删别人帖,这就是 authorization。
function GetDateForServiceCustomer(userId) {
$.ajax({
url: 'http://*******/api/orders',
data: {
currUserId: userId,
type:
},
beforeSend: function(request) {
request.setRequestHeader("Authorization", token);
},
dataType: 'JSON',
async: false,//请求是否异步,默认为异步
type: 'GET',
success: function (list) {
},
error: function () {
}
});
}
$.ajax({
type: "POST",
headers: {
Accept: "application/json; charset=utf-8",
userToken: "" + userToken
},
url: "/index",
data: JSON.stringify(mytable.params),
contentType: "application/json",
dataType: "json",
success:function(data){ },error:function(data){ }
});
success:function(dat){
console.log(dat);
if(dat.code==){
sessionStorage.setItem('token',dat.data.access_token);
//这里设置缓存存储Token
sessionStorage.setItem('user',userName);
location.href = "index.html";
}else{
$(".tip2").html("用户名或密码错误");
}
}
原文地址:http://www.cnblogs.com/leijing0607/p/7494972.html
(办公)TOKEN的更多相关文章
- JWT(JSON Web Token)
摘要: 在Web应用中,使用JWT替代session并不是个好主意 适合JWT的使用场景 抱歉,当了回标题党.我并不否认JWT的价值,只是它经常被误用. 什么是JWT 根据维基百科的定义,JSON W ...
- Ethernet,token ring,FDDI,ATM,WLAN
局域网(Local Area Network:LAN) 通常我们常见的"LAN"就是指局域网,这是我们最常见.应用最广的一种网络.现在局域网随着整个计算机网络技术的发展和提高得到充 ...
- JWT (JSON WEB Token)正确使用场景
https://www.jianshu.com/p/af8360b83a9f 讲真,别再使用JWT了! ThoughtWorks中国 2017.08.16 08:51* 字数 2882 阅读 7154 ...
- 开源OA办公平台搭建教程:O2OA+Arduino实现物联网应用(一)
O2OA平台是一个企业办公类系统的低代码开发平台,更够方便的开发和部署协同办公.流程管理等应用,但它能做的远不止这些,今天这个案例就为大家介绍一下,O2OA可以做的更多. 最近对养鱼产生了浓厚的兴趣, ...
- 办公利器!用Python批量识别发票并录入到Excel表格
辰哥今天来分享一篇办公干货文章:用Python批量识别发票并录入到Excel表格.对于财务专业等学生或者公司财务人员来说,将报账发票等汇总到excel简直就是一个折磨. 尤其是到年底的时候,公司的财务 ...
- 记一次debug记录:Uncaught SyntaxError: Unexpected token ILLEGAL
在使用FIS3搭建项目的时候,遇到了一些问题,这里记录下. 这里是发布搭建代码: // 代码发布时 fis.media('qa') .match('*.{js,css,png}', { useHash ...
- WebApi基于Token和签名的验证
最近一段时间在学习WebApi,涉及到验证部分的一些知识觉得自己并不是太懂,所以来博客园看了几篇博文,发现一篇讲的特别好的,读了几遍茅塞顿开(都闪开,我要装逼了),刚开始读有些地方不理解,所以想了很久 ...
- 基于token的多平台身份认证架构设计
基于token的多平台身份认证架构设计 1 概述 在存在账号体系的信息系统中,对身份的鉴定是非常重要的事情. 随着移动互联网时代到来,客户端的类型越来越多, 逐渐出现了 一个服务器,N个客户端的格 ...
- ASP.NET OAuth:解决refresh token无法刷新access token的问题
最近同事用iOS App调用Open API时遇到一个问题:在access token过期后,用refresh token刷新access token时,服务器响应"invalid_gran ...
随机推荐
- centos7启动流程(从加电开始)
图片来自于https://blog.csdn.net/qq_27754983/article/details/75212666 1. UEFI或BIOS启动 服务器加电后,CPU 自动重置成初始状态, ...
- [Swift]LeetCode2. 两数相加 | Add Two Numbers
You are given two non-empty linked lists representing two non-negative integers. The digits are stor ...
- [Swift]LeetCode543. 二叉树的直径 | Diameter of Binary Tree
Given a binary tree, you need to compute the length of the diameter of the tree. The diameter of a b ...
- [Reversing.kr] Easy ELF Writeup
IDA打开,看到main()函数,当sub_8048451() 返回1 是flag正确. 跟踪函数. 脚本: #!usr/bin/env python #!coding=utf-8 __author_ ...
- presto中ldaps配置完整流程
最近开始转战presto,至于前面章节中的Hbase,我也会持续更新,喜欢我的可以关注我.关于这个流程,我看过阿里云的的一篇文章,但看后还是不知所云,就写下了这篇博客,大家感兴趣的可以访问那篇文章—— ...
- Ocelot统一权限验证
Ocelot作为网关,可以用来作统一验证,接上一篇博客,我们继续 前一篇,我们创建了OcelotGateway网关项目,DemoAAPI项目,DemoBAPI项目,为了验证用户并分发Token,现在还 ...
- 如何判断DataSet里有多少个DataTable
dataset.table.count sda.fill(ds,"table"); //这里是在ds里新建了一个表,叫table,注意是新建,多次执行会报错,实际使用时,可以用co ...
- 你真的了解 i++, ++i 和 i+++++i 以及 i+++i++ 吗?
我想大部分都知道 i++ 和 ++i的区别,i++ 就是先拿i来使用,之后再自增加1,而++i则是先自增加1,在拿i来使用,例如对于下面这两个语句,我敢保证大部分人都会做: int i = 1; Sy ...
- HBase学习-HBase原理
1.系统架构 1.1 图解 从HBase的架构图上可以看出,HBase中的组件包括Client.Zookeeper.HMaster.HRegionServer.HRegion.Store.MemS ...
- 精读《React PowerPlug 源码》
1. 引言 React PowerPlug 是利用 render props 进行更好状态管理的工具库. React 项目中,一般一个文件就是一个类,状态最细粒度就是文件的粒度.然而文件粒度并非状态管 ...