文档章节

JWT 和 Oauth2 各自用途

liuxiaofan
 liuxiaofan
发布于 2018/08/29 12:45
字数 424
阅读 17
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

适用场景:

OAuth2用在使用第三方账号登录的情况(比如使用weibo, qq, github登录某个app)

JWT是用在前后端分离, 需要简单的对后台API进行保护时使用.(前后端分离无session, 频繁传用户密码不安全)

OAuth2是一个相对复杂的协议, 有4种授权模式, 其中的access code模式在实现时可以使用jwt才生成code, 也可以不用. 它们之间没有必然的联系.

因此,做API开发,用JWT最为合适。

JWT的原理:传送门

相关实现:

1. 实现单客户端登录的方式

因为JWT的header和payload部分都是可以解密出来的,所以不能放私密信息,所以建议不要放置用户名等信息,可以再用户注册地时候生成一个唯一字符串,作为用户唯一标识uuid,在payload中标识出来,类似于微信的openid。用户从一个客户端登录时,记录下用户的登录时间,精确到毫秒,避免同时点击登录时由于是秒而不能区分不同的客户端。缓存在服务器的时候用uuid作为key,登录时间作为value。客户端调用数据的时候检查登录时间区分不同客户端。

© 著作权归作者所有

liuxiaofan
粉丝 0
博文 95
码字总数 38736
作品 0
枣庄
后端工程师
私信 提问
JWT refreshtoken 实践

Json web token (JWT), 根据官网的定义,是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)...

goodspeed
04/29
0
0
深入理解Spring Cloud Security OAuth2及JWT

因项目需要,需要和三方的oauth2服务器进行集成。网上关于spring cloud security oauth2的相关资料,一般都是讲如何配置,而能把这块原理讲透彻的比较少,这边自己做一下总结和整理,顺带介绍...

暴走的初号机
2018/12/16
0
0
Spring Cloud OAuth2 实现用户认证及单点登录

文章较长,建议推荐,建议转发,建议收藏,建议关注公众号哈。 OAuth 2 有四种授权模式,分别是授权码模式(authorization code)、简化模式(implicit)、密码模式(resource owner passwo...

风的姿态
10/23
0
0
设计安全的API-JWT与OAuthor2

最近新开发一个需要给App使用的API项目。开发API肯定会想到JASON Web Token(JWT)和OAuthor2(之前一篇随笔记录过OAuthor2)。 JWT和OAuthor2的比较   要像比较JWT和OAuthor2,首先要明白...

冰乐
11/20
0
0
扩展jwt解决oauth2 性能瓶颈

oauth2 性能瓶颈 资源服务器的请求都会被拦截 到认证服务器校验合法性 (如下图) 用户携带token 请求资源服务器 资源服务器拦截器 携带token 去认证服务器 调用tokenstore 对token 合法性校...

冷冷gg
03/18
2.4K
2

没有更多内容

加载失败,请刷新页面

加载更多

web前端入门到实战:图解原生dialog标签(非常详细)

在html5中,新增了很多语义化的标签。如footer、header之类的,今天的主角是dialog标签 顾名思义,就是用来定义对话框的。目前只有Chrome和Safari支持该标签,所以用的不多,不过确实挺好用的...

梦想编程
28分钟前
4
0
一些php常用函数积累

本文链接<?php// id: ecffe70d3af54df9bad97b61918ace7d global $ct_path, $ct_log_path;$log_path = "test_php.txt";// 是否先log到buffer,再通过CT_flush()一次性写入文件$......

一字见心
29分钟前
4
0
IntelliJ idea中 注释代码折叠

visual studio中有#region 可以折叠代码,IntelliJ idea 中也有类似功能 //region 描述代码//endregion

format
29分钟前
5
0
oracle表中更改主键

一、数据表有主键但无主键约束名 先删除之前的主键,后添加主键 ,执行SQL: a. alter table 表名 drop primary key; b. alter table 表名 add primary key(想要更改的字段名称); 二、数据表...

_Somuns
31分钟前
4
0
jQuery AJAX提交表单

我有一个名称为orderproductForm的表单,输入的数量不确定。 我想做某种jQuery.get或ajax或类似的事情,它将通过Ajax调用页面,并发送所有形式为orderproductForm的输入。 我想一种方法是做类...

技术盛宴
36分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部