0


api授权与鉴权

架构图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7u3S6iBP-1630057800193)(.\img\网关设计.png)]

时序图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JGCd4jj0-1630057800195)(.\img\网关时序图.png)]

appkey与appsercret

appkey与appsercret由服务提供方提供,接入方使用

appkey:随机数或指定
appsercret:随机数或指定

授权服务

授权服务主要提供令牌生成与发放,使用AES对称加密token,该令牌可存储{appname+8位随机数+ip地址+8位随机数},可通过扩展token,来扩展其它能力,

授权服务需要请求方提供appkey与appsercre,对其进行校验(检验可包括但不限制于ip),检验后产生令牌返回给调用方,格式如下:

token:{"code":0,"msg":"success","data":{"accessToken":"ddewfrff2fdcfsf2r4","expiresIn":3600}}

accessToken:为发放的令牌
expiresIn:令牌过期时间,单位为秒

隔离应用

请求通过SLB转发到对应的api,通过扩展包,实现校验与拒绝能力

扩展包

可通过过滤器或注解+aop实现(隔离应用通过spi加载),获取token参数值,判断redis中是否存在,解析token,判断ip是当前请求ip

redis

redis主要是服务token存储与预留扩展能力,比如api限流,黑白名单等能力

整体流程

  1. 三方请求授权服务,携带参数appkey与appsercret
  2. 授权服务校验并存储token,发放token给三方
  3. 三方请求隔离服务,携带token
  4. 隔离服务进行校验,并响应请求
标签: api授权与鉴权

本文转载自: https://blog.csdn.net/zalu9810/article/details/119958087
版权归原作者 Forevermark993 所有, 如有侵权,请联系我们删除。

“api授权与鉴权”的评论:

还没有评论