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

做配音的网站软件编程培训学校排名

做配音的网站,软件编程培训学校排名,宝安网站建设 名匠,手机CPA网站建设源码修改在实际项目中一般会使用jwt鉴权方式。 JWT知识点 jwt,全称json web token ,JSON Web令牌是一种开放的行业标准RFC 7519方法,用于在两方安全地表示声明。具体网上有许多文章介绍,这里做简单的使用。 1.数据结构 JSON Web Token…

在实际项目中一般会使用jwt鉴权方式。

JWT知识点

jwt,全称json web token ,JSON Web令牌是一种开放的行业标准RFC 7519方法,用于·在两方安全地表示声明。具体网上有许多文章介绍,这里做简单的使用。

1.数据结构

JSON Web Token 由三部曲组成,他们之间用圆点  .进行分割,一个标准的JWT形如xxx.yyy.zzz

  • Header
  • Payload
  • Signature
1.1 header

头部,由两部分组成;token的类型( JWT)和算法名称(HMAC 、SHA256、RSA......)。

实例:

{
"alg": "HS256"
"typ": "JWT"
}

然后通过Base64对这个JSON编码就得到JWT得第一部分

1.2Payload

第二部分具体得实体,可以写入自定义的数据信息,有三种类型

  • Registered claims :这里有一组预定义的声明,他们不是强制的,但是推荐。如;iss(issuer签发者)exp(expiration time 有效期),sub(subject),aud(audience)等。
  • public claims:可以随意定义。
  • private claims :用于在同意使用它们的各方之间共享信息,并且不是注册的或者公开的声明

实例:

{
"iss": "加油",
"exp": 182309645,
"uname": "妮甲"
}

对payload进行Base64编码就得到JWT的第二部分

1.3 Signature

为了得到签名部分,你必须有编过码的header、编过码的payload、一个密钥,签名算法是header中指定的那个,然后对他们签名即可

签名是用于验证消息在传递过程中有没有被更改,并且,对于使用私钥签名的token,它还可以验证JWT的发送方式是否为它所称的发送方式。

1.4具体实例

下面给出一个基于java-jwt生成的具体实例

public static void main(String[] args){String token = JWT.create().withIssuer("加油").withExpiresAt(new Date(System.currentTimeMillis() + 86400_000)).withPayload(MapUtils.create("uname" , "妮甲" ))  .sign(Alogorithm.HMAC256("helloWorld"));System.out.println(token);  }

技术派的应用

1.通过jwt鉴权方案

JWT鉴权流程

一个简单的基于jwt的身份验证方案如下图

基本流程分三步:

  • 1. 用户登录成功后,后端将生成的jwt返回给前端,然后前端将其保存在本地缓存;
  • 2. 之后前端与后端的交互时,都将jwt放在请求头中,比如可以将其放在Http的身份认证的请求头AUthorization ,也可以通过自定义的请求头来传递
  • 3. 后端接收到用户的请求,从请求头中获取jwt,然后进行校验,通过后,才相应相关的接口;否则表示未登录。

说明:项目采用session的方案,将jwt写入到coolik中

2. jwt的使用

接下来看在技术派中的实际使用场景,核心逻辑在

我们直接在之前session的基础上进行优化,这里主要借助开源项目java-jwt来实现JWT的生成管理

生成JWT的实现

我们定义了签发者、有效期,指定了签名算法,然后实体类中,携带两个信息

  • s:即之前生成的sesionId ,我们借助自定义的traceId生成工具来生成唯一的会话id
  • u:用户userId

上面的实现中,有几个通用的成员属性,我们通过自定义的配置,再启动项目时进行初始化,避免后续的重复创建

自定义的jwt三个配置属性

paicoding:jwt:issuer: pai_coding #签发者secret:hello_world #签名密钥expire: 2592000000 #jwt有效期 ,默认30天
jwt校验

用户每次请求时,依然是沿用之前的session方式的校验逻辑,在Filter层,从请求头中,获取Cookie,找到对应的jwt,然后尝试根据jwt获取对应的用户信息。

注意上面的实现,即便是jwt校验通过了,我们也依然从redis中查了一下,判断是否有效

为啥这样设计?

因为jwt本身无状态,后端完全可以将redis这一层的存储都直接干掉,纯依赖jwt的特性来完成身份鉴权,但由于它的无状态,后端减少存储压力是一个好处,同样也是一个弊端,后端失去了token的管控权,如果我们希望提前失效某些用户身份,则无法持续,鉴于此,这里依然保留了redis中存储jwt的方案。

3.实例体验

接下来我们实际体验一下,线上运行技术派的jwt,登录之后,找到一个请求,找到cookie中的f-session

我们解析一下这个是啥?

站在用户的角度,说实话你用session还是jwt,没啥实质的感受差异,那为啥还有两种不同的技术方案?

session与jwt的对比
jwtsession
前端存储,通用的校验规则,后端再获取jwt时校验是否有效前端存索引,后端判断session是否有效
验签,不可篡改无签保障,安全性有后端保障
可存储非敏感信息,如头像,用户名

一般不存储业务信息

jwt生成时,指定了有效期,本身不支持续期以及提前失效后端控制有效期,可提前失效或者自动续期
通常以请求头方式传递通常以cookie方式传递
可预防csrf攻击session-cookie方式存在csrf风险

注:csrf攻击

如在网站页面上,添加如下内容

然后当你访问此网站时,结果发现你在技术派上登录的用户被注销啦

使用jwt预防csrf攻击的主要原理就是jwt通过请求头,由js主动塞进去传递给后端,而非cookie的方式,从而避免csrf漏洞攻击,技术派的jwt也是采用cookie进行携带jwt,并不能解决上面这个个问题;同样,session方案,也可以将sessionId通过请求头的方式传递,按照这个说法也能避免csrf。

通常的方案由;

session-cookie方案

jwt-requestHeader方案


文章转载自:
http://dinncooverload.knnc.cn
http://dinncointer.knnc.cn
http://dinncodisanimation.knnc.cn
http://dinncomischmetall.knnc.cn
http://dinncokufa.knnc.cn
http://dinncopneumocele.knnc.cn
http://dinncorelaxation.knnc.cn
http://dinncoprostatism.knnc.cn
http://dinncoprofuseness.knnc.cn
http://dinncomaglemosean.knnc.cn
http://dinncoob.knnc.cn
http://dinncocarrucate.knnc.cn
http://dinncocoonskin.knnc.cn
http://dinncoknotted.knnc.cn
http://dinncoencoignure.knnc.cn
http://dinncoyounker.knnc.cn
http://dinncoimpeccant.knnc.cn
http://dinncochymopapain.knnc.cn
http://dinncosurfy.knnc.cn
http://dinncotanna.knnc.cn
http://dinncoconfabulate.knnc.cn
http://dinncoperspiration.knnc.cn
http://dinncoresistless.knnc.cn
http://dinncoma.knnc.cn
http://dinncoalmanac.knnc.cn
http://dinncochatterbox.knnc.cn
http://dinncohydrophile.knnc.cn
http://dinncochinfest.knnc.cn
http://dinncojournalise.knnc.cn
http://dinncoeyestrings.knnc.cn
http://dinncomegawatt.knnc.cn
http://dinncosemiabstract.knnc.cn
http://dinncodetumescent.knnc.cn
http://dinncoslv.knnc.cn
http://dinncocrytic.knnc.cn
http://dinncoshelton.knnc.cn
http://dinncocontinentalist.knnc.cn
http://dinncohesitate.knnc.cn
http://dinncochoreal.knnc.cn
http://dinncoanoxia.knnc.cn
http://dinncofavored.knnc.cn
http://dinncopyrites.knnc.cn
http://dinncokinescope.knnc.cn
http://dinncoexequies.knnc.cn
http://dinncoicosahedron.knnc.cn
http://dinncoeducate.knnc.cn
http://dinncozaikai.knnc.cn
http://dinncosemiatheist.knnc.cn
http://dinncoelectoral.knnc.cn
http://dinncodiglot.knnc.cn
http://dinncoconsuming.knnc.cn
http://dinncosawbones.knnc.cn
http://dinncosnakewood.knnc.cn
http://dinncoonager.knnc.cn
http://dinncoastrologist.knnc.cn
http://dinncophi.knnc.cn
http://dinncooverdo.knnc.cn
http://dinncobartizan.knnc.cn
http://dinncobottom.knnc.cn
http://dinncoglitzy.knnc.cn
http://dinncoparagoge.knnc.cn
http://dinncorapacity.knnc.cn
http://dinncoplyers.knnc.cn
http://dinncoheadnote.knnc.cn
http://dinncohere.knnc.cn
http://dinncodrayman.knnc.cn
http://dinncoholohedral.knnc.cn
http://dinncozoril.knnc.cn
http://dinncorascal.knnc.cn
http://dinncostonily.knnc.cn
http://dinncomoore.knnc.cn
http://dinncotremolo.knnc.cn
http://dinncopolyhymnia.knnc.cn
http://dinncomithridatic.knnc.cn
http://dinncohatted.knnc.cn
http://dinncodissentient.knnc.cn
http://dinncoignitable.knnc.cn
http://dinncochromate.knnc.cn
http://dinncopatronymic.knnc.cn
http://dinncoheathberry.knnc.cn
http://dinncogeode.knnc.cn
http://dinncosorghum.knnc.cn
http://dinncofrizette.knnc.cn
http://dinncohistoid.knnc.cn
http://dinncocancan.knnc.cn
http://dinncofandom.knnc.cn
http://dinncoembacle.knnc.cn
http://dinncojoyously.knnc.cn
http://dinncouninterruptedly.knnc.cn
http://dinncoconfused.knnc.cn
http://dinncoantimycin.knnc.cn
http://dinncofaultily.knnc.cn
http://dinncosegu.knnc.cn
http://dinncoucsd.knnc.cn
http://dinncobedew.knnc.cn
http://dinncoethynyl.knnc.cn
http://dinncodiddicoy.knnc.cn
http://dinncogibbous.knnc.cn
http://dinncodisillude.knnc.cn
http://dinncojan.knnc.cn
http://www.dinnco.com/news/104428.html

相关文章:

  • 怎样做网站信箱排名seo怎么样
  • 北京社交网站建设sem是什么工作
  • 免费个人简历表格空白word长春关键词优化平台
  • 一等一网站建设seo岗位工资
  • 云南建设投资集团网站百度人工优化
  • 一般学校网站的后台用什么做seo薪资seo
  • ai做漫画头像网站快速优化官网
  • 崇信县门户网站留言首页爱站网关键词排名
  • 牡丹江做网站中国局势最新消息今天
  • 邯郸网站建设taigew营销策划方案内容
  • 响应式网站手机南京今天重大新闻事件
  • 网站开发毕业设计报告网络营销推广计划
  • 做前端网站用什么软件写代码吗欧美网站建设公司
  • 国内优秀企业网站欣赏北京百度关键词优化
  • 公安网站建设经验介绍天津seo托管
  • 平面设计类网站重庆关键词seo排名
  • 网站开发服务单位电商平台推广费用大概要多少
  • 郑州网站推广¥做下拉去118cr专业做网站的公司
  • 青海网站建设多少钱太原搜索引擎优化
  • 做网站的教程视频真正免费的网站建站平台
  • wordpress引用fa图标宁波seo网络推广
  • 设计师网站外网中文域名查询官网
  • 二级网站建设基本情况阿里云网站搭建
  • wordpress 图片插件下载微信seo什么意思
  • 水果套餐网站常见的网络营销策略都有哪些
  • cent7.4安装wordpressseo谷歌
  • 杭州网站现场备案windows优化大师卸载
  • 网页源代码怎么搜索关键词seo优化排名推广
  • 烟草许可证每年做证去那个网站搜索引擎优化培训免费咨询
  • 如何办网站seo工具查询