博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
web api authentication
阅读量:5331 次
发布时间:2019-06-14

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

最近在学习web api authentication,以Jwt为例,

可以这样理解,token是身份证,用户名和密码是户口本,

身份证:有有效期(jwt 有过期时间),且携带方便(自己带有所有信息 self contained),

户口本:不会过期(用户名和密码什么时候都有用),携带不方便(用户名和密码从数据库验证),

jwt同样也有身份证的缺点,丢了别人有些地方可以用,户口本改名字了,身份证还可以用(同样,用户名和密码修改后jwt不修改)。

针对身份证的缺点,可以设置较短过期时间,另外token auth做了改进,加入了refresh token的概念。

token验证这次就不再介绍了,这个东西网上比较多,token可以自定义,也可以使用一些标准的token如Json web token。

什么是refresh token 

  使用refresh token的目的是:处理access token 时间过期问题

如果每次都申请access token,太麻烦了,就加入refresh token的概念。

如果access token过期可以使用refresh token更新access token,而且refresh token也改变了,这点很重要。

另外access token的内容也改变了,解决了户口本改名字,身份证名字没改的问题。

refresh token每次改变这个很重要,意味着每次refresh后原来的token不能用了

另外一个优点,就是不用在客户端存储用户名和密码

理解refresh token

首先要理解client,什么是client,或者说client 的唯一clientID怎么获取,调用web api的client可以是web ,mobile和其他客户端。

web应用调用web api 使用js调用,其他的服务端知道的client都可以自己写代码生成唯一的clientID,我们可以加密传递的东西,而js调用api没法加密。

因此client可以分为两类js调用的和其他的客户端调用。

转载于:https://www.cnblogs.com/wxlevel/p/6019306.html

你可能感兴趣的文章
Javascript异步编程的4种方法(转载)
查看>>
数据结构---公交线路提示系统02
查看>>
前端性能优化&&网站性能优化
查看>>
【代码模板】不存在的NOIP2016
查看>>
Automatically populating $HTTP_RAW_POST_DATA is deprecated......
查看>>
StringBuffer类&包装类
查看>>
spring源码研究1 如何导入源码
查看>>
【短语学习】什么是TPS
查看>>
技巧方法
查看>>
创建WebApi Odata v3 终结点
查看>>
图片加载判断
查看>>
java中23种优秀的设计模式
查看>>
stage3d 你不知道的巨坑
查看>>
netty
查看>>
Java反射+注解案例
查看>>
MYSQL注入提升权限(sa用户)system admin
查看>>
Ubuntu下GTK的安装安装过程
查看>>
软件工程个人作业03
查看>>
Codeforces711C 【DP】
查看>>
在Windows上安装私有GitHub的开源替代-GitLab
查看>>