koa2,koa-jwt中token验证实战详解

用户身份验证通常有两种方式,一种是基于cookie的认证方式,另一种是基于token的认证方式。当前常见的无疑是基于token的认证方式。以下所提到的koa均为koa2版本。

token认证的优点是无状态机制,在此基础之上,可以实现天然的跨域和前后端分离等。

token认证的缺点是服务器每次都需要对其进行验证,会产生额外的运行压力。此外,无状态的api缺乏对用户流程或异常的控制,为了避免一些例如回放攻击的异常情况,大多会设置较短的过期时间。

准备工作

使用koa-jwt的大致流程是:

1. 用户通过身份验证API(登录)获取当前用户在有效期内的token

2. 需要身份验证的API则都需要携带此前认证过的token发送至服务端

3. koa会利用koa-jwt中间件的默认验证方式进行身份验证,中间件会进行验证成功和验证失败的分流。

koa-jwt中间件的验证方式有三种:

1. 在请求头中设置 authorization为Bearer + token,注意Bearer后有空格。(koa-jwt的默认验证方式)

{'authorization': "Bearer " + token}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsppfp.html