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. 隔离服务进行校验,并响应请求
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值