博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何添加JWT生成的token在请求头中
阅读量:5318 次
发布时间:2019-06-14

本文共 1897 字,大约阅读时间需要 6 分钟。

前言

在我们使用JWT来做用户的验证时,我们登陆生成对应的token,并加入到请求的参数中发送到后台提供相关的权限校验。这个时候我们需要使用到传递请求头参数传递的问题,下面是两种方式。

1.ajax提交方式

1).方法一:

$.ajax({

type: "GET",
url: "/access/logout/" + userCode,
headers: {'Authorization': token}
});
上面的方法一是我提交的方式

请求成功后

2).方法二:

$.ajax({

type: "GET",
url: "/access/logout/" + userCode,
beforeSend: function(request) {
request.setRequestHeader("Authorization", token);
},
success: function(result) {
}
});
2.anjular添加token到header中的方式

1.自定义Http方法,全局使用自动添加Token到Header中,或者使用拦截器,方法类似。

import {Observable} from 'rxjs/Observable';

import {Injectable} from '@angular/core';
import {
Http,
RequestOptionsArgs,
RequestOptions,
Response,
Headers
} from '@angular/http';

const mergeToken = (options: RequestOptionsArgs = {}) => {

const newOptions = new RequestOptions({}).merge(options);
const newHeaders = new Headers(newOptions.headers);
const jwt = localStorage.getItem('jwt');
if (jwt) {
newHeaders.set('Authorization', jwt);
}
newOptions.headers = newHeaders;
return newOptions;
};

@Injectable()

export class MyHttp {

constructor(private http: Http) {

}

get(url: string, options?: RequestOptionsArgs): Observable<Response> {

return this.http.get(url, mergeToken(options));
}

post(url: string, body: any, options?: RequestOptionsArgs): Observable<Response> {

return this.http.post(url, body, mergeToken(options));
}

put(url: string, body: any, options?: RequestOptionsArgs): Observable<Response> {

return this.http.put(url, body, mergeToken(options));
}

delete(url: string, options?: RequestOptionsArgs): Observable<Response> {

return this.http.delete(url, mergeToken(options));
}

patch(url: string, body: any, options?: RequestOptionsArgs): Observable<Response> {

return this.http.patch(url, body, mergeToken(options));
}

head(url: string, options?: RequestOptionsArgs): Observable<Response> {

return this.http.head(url, mergeToken(options));
}

}

 

转载于:https://www.cnblogs.com/jfaith/p/11124030.html

你可能感兴趣的文章
zhlan--Python中的字典遍历方法 & 字典取值
查看>>
【iHMI43 4.3寸液晶模块】demo例程(版本1.02)发布
查看>>
【资料下载区】【iCore、 iCore2相关资料】更新日期2017/1/11
查看>>
ResNet,DenseNet
查看>>
我想学前端动画-CSS之transition
查看>>
WiFi攻击的三种方式
查看>>
团队作业4----第一次项目冲刺(Alpha版本)4.29
查看>>
JS 获取当前页面地址 获取当前页面名称
查看>>
[Kafka] - Kafka内核理解:Message
查看>>
Python+selenium自动化测试环境安装
查看>>
web服务器控件
查看>>
按小时计算两个时间的差值,结果精确到分钟
查看>>
高并发解决方案--负载均衡
查看>>
ecshop 商城开发
查看>>
python——基础知识
查看>>
php--phpstudy更新数据库版本后,无法一键启动
查看>>
configParser模块
查看>>
git
查看>>
LeetCode 476. Number Complement
查看>>
ffmpeg安装
查看>>