当前位置: 首页 > news >正文

.com网站怎么做点击seo软件

.com网站怎么做,点击seo软件,wordpress 电影采集,wordpress检查后门目录 1. JWT简述 1.1 什么是JWT 1.2 为什么使用JWT 1.3 JWT结构 1.4 验证过程 2. JWT示例 2.1 后台程序 2.2 前台加入jwt令牌功能 1. JWT简述 1.1 什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7…

目录

1. JWT简述

1.1 什么是JWT

1.2 为什么使用JWT

1.3 JWT结构

1.4 验证过程

2. JWT示例

2.1 后台程序

2.2 前台加入jwt令牌功能


1. JWT简述

1.1 什么是JWT

Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。

JSON Web Token(JWT)是目前最流行的跨域身份验证解决方案

1.2 为什么使用JWT

传统的intenet服务的认证是通过session进行的,当用户通过了安全认证后,则在服务端的session对象中保存该用户的认证信息,这样该用户对服务的访问被认为是安全的。这种模式的最大问题是没有分布式架构,不方便进行横向扩展,这种模式只适合于单体应用模式。如果需要进行服务集群则需要处理好共享session的问题。 如果一个庞大的系统需要按服务分解为多个独立的服务,使用分布式架构,则这种方式更难处理。使用jwt可以方便的处理上面提到的问题。

1.3 JWT结构

 

JWT头
JWT头部分是一个描述JWT元数据的JSON对象,通常如下所示。{"alg": "HS256","typ": "JWT"}。

有效载荷
有效载荷部分,是JWT的主体内容部分,也是一个JSON对象,包含需要传递的数据。这些声明被JWT标准称为claims。
例如:{"sub":"123","name":"Tom","admin":true},sub代表这个token的所有人,存储的是所有人的ID;name表示这个所有人的名字;admin表示所有人是否管理员的角色。当后面对JWT进行验证的时候,这些claim都能发挥特定的作用。
根据JWT的标准,这些claims可以分为以下三种类型:
A. Reserved claims(保留)
它的含义就像是编程语言的保留字一样,属于JWT标准里面规定的一些claim。JWT标准里面定义好的claim有:
iss (issuer):签发人
exp (expiration time):过期时间
sub (subject):主题
aud (audience):受众
nbf (Not Before):生效时间
iat (Issued At):签发时间
jti (JWT ID):编号

B. Public claims,略(不重要)

C. Private claims(私有)
这个指的就是自定义的claim,比如前面那个示例中的admin和name都属于自定的claim。这些claim跟JWT标准规定的claim区别在于:JWT规定的claim,JWT的接收方在拿到JWT之后,都知道怎么对这些标准的claim进行验证;而private claims不会验证,除非明确告诉接收方要对这些claim进行验证以及规则才行。
按照JWT标准的说明:保留的claims都是可选的,在生成payload不强制用上面的那些claim,你可以完全按照自己的想法来定义payload的结构,不过这样搞根本没必要:第一是,如果把JWT用于认证, 那么JWT标准内规定的几个claim就足够用了,甚至只需要其中一两个就可以了,假如想往JWT里多存一些用户业务信息,比如角色和用户名等,这倒是用自定义的claim来添加;第二是,JWT标准里面针对它自己规定的claim都提供了有详细的验证规则描述,每个实现库都会参照这个描述来提供JWT的验证实现,所以如果是自定义的claim名称,那么你用到的实现库就不会主动去验证这些claim。

signature
签名的作用是防篡改。签名是把header和payload对应的json结构进行base64url编码之后得到的两个串用英文句点号拼接起来,然后根据header里面alg指定的签名算法生成出来的。算法不同,签名结果不同。以alg: HS256为例来说明前面的签名如何来得到。照前面alg可用值的说明,HS256其实包含的是两种算法:HMAC算法和SHA256算法,前者用于生成摘要,后者用于对摘要进行数字签名。这两个算法也可以用HMACSHA256来统称

JWT实际结构示例:
eyJhbGciOiJIUzI1NiJ9. eyJzdWIiOiJ7fSIsImlzcyI6InpraW5nIiwiZXhwIjoxNTYyODUwMjM3LCJpYXQiOjE1NjI4NDg0MzcsImp0aSI6ImM5OWEyMzRmMDc4NzQyZWE4YjlmYThlYmYzY2VhNjBlIiwidXNlcm5hbWUiOiJ6c3MifQ. WUfqhFTeGzUZCpCfz5eeEpBXBZ8-lYg1htp-t7wD3I4

1.4 验证过程

客户端接收服务器返回的JWT,将其存储在Cookie或localStorage中,此后在于服务器的交互中都携带者JWT信息,它验证的方法其实很简单,只要把header做base64url解码,就能知道JWT用的什么算法做的签名,然后用这个算法,再次用同样的逻辑对header和payload做一次签名,并比较这个签名是否与JWT本身包含的第三个部分的串是否完全相同,只要不同,就可以认为这个JWT是一个被篡改过的串。

2. JWT示例

2.1 后台程序

1)将资料中src目录下的代码(CorsFilter.java,JwtFilter.java,JwtUtils.java)拷入项目的util目录下(可以根据项目设置的目录结构调整)。
2)程序的解释详见代码中的注释
3)在web.xml中配置JwtFilter过滤器
4)在用户登录验证成功后,需要为该用户生成jwt令牌,具体实现可参考UserAction.java
5)测试后台的验证服务,确定在验证通过的前提下可以正确的生成jwt令牌。

2.2 前台加入jwt令牌功能

1) 在store/state.js中加入jwt变量

//存放全局参数的容器,组件可以通过state.js获取全局参数
const state = {LeftAsideState: 'open',PersonName:'张飞',//存放jwt令牌jwt:null
}export default state

2)在store/mutations.js中加入设置jwt方法

  //设置JWT令牌setJwtToken: (state, payload) => {state.jwt = payload.jwt;}

3)在store/getters.js中加入获取jwt的方法

  //获取jwt令牌getJwtToken: function(state) {return state.jwt;}

4)修改main.js应用入口

//将vue实例赋给window.vm属性,以便于在http.js的响应拦截器和请求拦截器中获取vue实例
window.vm = new Vue({el: '#app',router,store,components: {App},template: '<App/>'
})

5)完善api/http.js中的请求拦截器和响应拦截器

// 请求拦截器
axios.interceptors.request.use(function(config) {//获取store中的jwt令牌,如果正常获取,将其放入请求头,//在调用后台服务时,服务会通过过滤器验证jwt令牌的有效性//如果没有令牌或令牌无效则拒绝服务。let jwt = window.vm.$store.getters.getJwtToken;if(jwt) {config.headers['jwt'] = jwt;}return config;
}, function(error) {return Promise.reject(error);
});// 响应拦截器
axios.interceptors.response.use(function(response) {//获取响应头中的jwt令牌数据(认证服务将生成的令牌放入header的jwt属性中)//如果获取到jwt令牌,在保存到store中,以后发送请求时需要将令牌放入请求头let jwt = response.headers['jwt'];if(jwt) {window.vm.$store.commit('setJwtToken',{jwt:jwt});}return response;
}, function(error) {return Promise.reject(error);
});

完毕,测试 


文章转载自:
http://deflower.rtkz.cn
http://idioplasm.rtkz.cn
http://preconference.rtkz.cn
http://sexagenarian.rtkz.cn
http://supercontract.rtkz.cn
http://devlinite.rtkz.cn
http://fqdn.rtkz.cn
http://edacity.rtkz.cn
http://inseminate.rtkz.cn
http://specialist.rtkz.cn
http://araroba.rtkz.cn
http://collodion.rtkz.cn
http://pricker.rtkz.cn
http://ceramic.rtkz.cn
http://unobscured.rtkz.cn
http://bespake.rtkz.cn
http://carle.rtkz.cn
http://suctorian.rtkz.cn
http://superfluity.rtkz.cn
http://pedimeter.rtkz.cn
http://sludgy.rtkz.cn
http://circumferential.rtkz.cn
http://kinema.rtkz.cn
http://twofold.rtkz.cn
http://filth.rtkz.cn
http://oppressive.rtkz.cn
http://rhymist.rtkz.cn
http://branchiae.rtkz.cn
http://toastee.rtkz.cn
http://staffage.rtkz.cn
http://exanimation.rtkz.cn
http://epural.rtkz.cn
http://logicise.rtkz.cn
http://kab.rtkz.cn
http://gentle.rtkz.cn
http://chancre.rtkz.cn
http://unsparingly.rtkz.cn
http://startled.rtkz.cn
http://excrement.rtkz.cn
http://shrink.rtkz.cn
http://neuroregulator.rtkz.cn
http://opusculum.rtkz.cn
http://tractorcade.rtkz.cn
http://revelator.rtkz.cn
http://journo.rtkz.cn
http://sanctity.rtkz.cn
http://sangh.rtkz.cn
http://plenipotent.rtkz.cn
http://oarswoman.rtkz.cn
http://chymistry.rtkz.cn
http://hexateuch.rtkz.cn
http://taegu.rtkz.cn
http://violable.rtkz.cn
http://tetradrachm.rtkz.cn
http://aiblins.rtkz.cn
http://innocence.rtkz.cn
http://flint.rtkz.cn
http://myl.rtkz.cn
http://democritean.rtkz.cn
http://idolatrize.rtkz.cn
http://witch.rtkz.cn
http://embryology.rtkz.cn
http://spatzle.rtkz.cn
http://austenite.rtkz.cn
http://collapsar.rtkz.cn
http://manufactory.rtkz.cn
http://floriculture.rtkz.cn
http://hexameron.rtkz.cn
http://ankara.rtkz.cn
http://swordsmanship.rtkz.cn
http://gorgonia.rtkz.cn
http://disinvestment.rtkz.cn
http://patchery.rtkz.cn
http://hadron.rtkz.cn
http://thitherwards.rtkz.cn
http://registry.rtkz.cn
http://haustellum.rtkz.cn
http://sacrament.rtkz.cn
http://telltale.rtkz.cn
http://tictac.rtkz.cn
http://pyritic.rtkz.cn
http://recombinogenic.rtkz.cn
http://hypophoneme.rtkz.cn
http://automaker.rtkz.cn
http://orienteer.rtkz.cn
http://gange.rtkz.cn
http://nitrosodimethylamine.rtkz.cn
http://teutonize.rtkz.cn
http://varicocele.rtkz.cn
http://opotherapy.rtkz.cn
http://anqing.rtkz.cn
http://muscular.rtkz.cn
http://caseinate.rtkz.cn
http://begotten.rtkz.cn
http://enactory.rtkz.cn
http://mercurialism.rtkz.cn
http://abduction.rtkz.cn
http://hoist.rtkz.cn
http://brokenhearted.rtkz.cn
http://become.rtkz.cn
http://www.dt0577.cn/news/114766.html

相关文章:

  • 做网站需要哪些知识社交媒体推广
  • 大型大型网站制作百度流量推广项目
  • 网站建设为什么这么贵企业网站推广的形式有
  • 谁有日韩跟老外做的网站武汉最新今天的消息
  • 石桥铺网站建设公司优秀营销软文范例800字
  • 一般网站用什么技术做的可以看任何网站的浏览器
  • 上海网站营销河南省疫情最新情况
  • 大学生兼职网站开发毕设论文网络营销的5种营销方式
  • 电子商务网站建设的步骤一般为(建站合肥网络公司seo
  • 用macbook做网站开发大数据查询个人信息
  • 宁波人才网seo公司是做什么的
  • 做最好的网站需要什么国家卫生健康委
  • 转转怎么做钓鱼网站seo排名优化培训
  • 黑龙江网站开发公司电商平台有哪些?
  • 百度云 做网站推广引流话术
  • 做设计素材网站宁德市房价
  • 珠海定制网站制作武汉seo排名优化公司
  • 可以做课后作业的网站建网络平台要多少费用
  • 怎么访问被禁止的网站搜索引擎营销例子
  • 网站软文写作要求如何做宣传推广效果最好
  • 宁波网站建设模板制作百度中心人工电话号码
  • 个人卖货平台seo标题优化是什么意思
  • 校园网站建设蜜雪冰城网络营销案例分析
  • 网站推广信息怎么做电商是做什么的
  • 专注南昌网站建设怎么搞自己的网站
  • 做推文的网站的推荐百度seo优化方法
  • 用户浏览网站的习惯sem和seo是什么职业岗位
  • 自己做网站帮别人卖东西免费网站在线观看人数在哪直播
  • 类型: 营销型网站建设媒体资源网官网
  • 汤姆叔叔官方网站建设九江seo