NiceCui - 崔世峰

一个想给航空母舰造轮子拧螺丝的程序员

疯狂造轮子 - 公众号

五:Token问题和使用详解

什么是Token?

Token可以理解为令牌,服务端通过验证Token,来判断你是否有这个操作的权限。Token的重要特性是有效性,一般Token只在一定时间范围内有效。下图是登录模块的一个流程图,展现出Token的一个基本应用。

开发工程师校招经典问题之Token

图片来自网络,侵权立删

简单Token的实现

一个简单的Token,可以由密钥,时间戳,内容生成。在网络传输过程中,一般通过base64_encode编码传输。服务端通过base64_decode解码之后,在验证Token的有效性。Token的一种生成方式如下。

开发工程师校招经典问题之Token

Token存储在哪里?

Token根据实际应用类型不同,可以分为一下三种方式存储。

  1. 存在MySQL类型数据库中。这样做的好处,可以存储的数量大,数据持久化。

  2. 存在内存中,如Cache。优点就是,验证速度快。

  3. 不存储,每次服务器通过算法验证Token的有效性。

在github开源项目:https://github.com/moyiblog/JWT

posted @ 2017-11-08 13:19  NiceCui  阅读(1748)  评论(0编辑  收藏  举报

个人博客主页