专栏首页陌无崖知识分享JWT的简单入门了解

JWT的简单入门了解

不忘初心,砥砺前行

作者 | 陌无崖

转载请联系授权

导语

在前面的文章中我们了解到的都是关于web请求,但是实际上,在发送web请求的时候,我们需要对我们的客户端进行授权访问,来保证对方是来自可信的客户端,因此在后端中会有Auth授权,让我们简单了解一下如何授权的吧。

流程分析

用户请求登录 服务器进行验证 验证通过进行授权,返回令牌 用户携带令牌访问其他页面,直接验证通过。

JWT数据

jwt总共由三个部分进行组成,分别是Header(头部)、Payload(负载)、Signature(签名),其中Header是一个JSON对象,用来描述JWT的元数据

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

Payload同样是一个json对象,用来存放需要传送的数据

iss (issuer):签发人
exp (expiration time):过期时间
sub (subject):主题
aud (audience):受众
nbf (Not Before):生效时间
iat (Issued At):签发时间
jti (JWT ID):编号

还有一个最重要的就是我们的签名了。为了防止数据被修改,首先我们需要指定一个密钥,这个密钥只有服务器知道,并不对外做任何泄露。然后用指定的算法去生成签名,然后把 Header、Payload、Signature 三个部分拼成一个字符串,每个部分之间用"点"(.)分隔,就可以返回给用户。

使用方法

我们可以将返回的签名放在cookie中,又或者放在redis中进行保存。但是由于放在Cookie中不能进行跨域,因此一般发送HTTP请求,保存在头信息Authorization字段里面。并加上Bearer标注:

fetch('api/user/1', {
  headers: {
    'Authorization': 'Bearer ' + token
  }
})

END

本文分享自微信公众号 - golang技术杂文(gh_ebbdb61f463e),作者:无崖子天下无敌

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一篇文章教会你如何像大神一样写代码

    当我们还是小白,我们在写代码的时候,总会为了省事,就什么代码都写在一个文件里,如果一个文件不够,分两个,没有一个很好的规范性,最终的结果可能是这样的

    陌无崖
  • RabbitMQ系列笔记广播模式和路由模式

    上一节介绍了简单的工作模式,即一个队列可以被多个消费者进行消费,只有一条消息被送到消费者,采用公平调度的方式,在以往的例子中似乎我们还没用到交换器进行发送消息,...

    陌无崖
  • RabbitMQ系列笔记介绍篇

    rabbitMQ是市面上应用很广的一种应用间传送数据的通信方式,是由erlang语言开发,主要特点就是异步通信,实现服务与服务之间的解耦。

    陌无崖
  • Ajax在jQuery中应用--jQuery基础知识点(5)

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

    奋飛
  • 【SSH快速进阶】——Hibernate自动建表

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

    DannyHoo
  • Spring Boot入门系列(十)如何使用拦截器,一学就会!

    前面介绍了Spring Boot 如何整合定时任务已经Spring Boot 如何创建异步任务,不清楚的朋友可以看看之前的文章。

    架构师精进
  • MYSQL数据库数据拆分之分库分表总结

    单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到。

    lyb-geek
  • Java中真的只有值传递么?

    关于这个问题应该是存在争议的。根据测试出来的结果和我们自己的经验,以及口口相传或是上学时老师讲的,我们认为是第一种。但第二种说法的呼声也很高,渐渐地我们也认为第...

    编程大道
  • 推荐一张不错的架构图

    今天在地铁上看到温昱老师发送的几张图,非常受益。原来比较模糊的一类问题有了较为清晰的思路。也许这就是一种茅塞顿开的感觉,因为最近就是在思考这类问题,在纠结这类问...

    jeanron100
  • 单细胞转录组高级分析一:多样本合并与批次校正

    实际的科研项目中不可能只有一个样本,多样本的单细胞数据如何合并在一起,是否需要校正批次效应呢?先上一张图说明多样本scRNA数据的批次效应:

    生信技能树jimmy

扫码关注云+社区

领取腾讯云代金券