完整过程图示
请求流程
(1)客户端向授权服务系统发起请求,申请获取“令牌”。
(2)授权服务根据用户身份,生成一张专属“令牌”,并将该“令牌”以JWT规范返回给客户端。
(3)客户端将获取到的“令牌”放到Http请求的Headers中后,向主服务系统发起请求。主服务系统收到请求后,会从Headers中获取“令牌”,并从“令牌”中解析出该用户的身份权限,然后做出相应的处理(同意或拒绝返回资源)。
生成一个令牌整个过程可以分为四步:
(1)我们需要一个具有一定规则的Token令牌,也就是JWT令牌(比如公司门禁卡——登录)。
(2)再定义哪些地方需要什么样的角色(比如领导办公室是没办法进去的 —— 授权机制)。
(3)整个公司需要定一个规则,就是如何对这个Token进行验证,不能随便写个字条,这样容易被造假(比如公司门上的每一道刷卡机—— Jwt Bearer认证方案)。
(4)最后,就是安全部门,开启认证中间件服务(这个服务是可以关闭的,比如电影里看到的黑客会把这个服务给关掉,这样整个公司的安保系统就形同虚设了 —— 开启中间件)。