多端参数不统一问题

以前的鉴权参数放的位置以及名字各种不统一
比如鉴权核心参数有两个AA、BB
在不同平台放在header、cookie、query、body的都有
甚至有的AA叫Aa、A_A、A-a、A_a :full_moon_with_face: 就很离谱
组合起来就有554=100种不同的写法(甚至更多),每个的优先级还不是统一的,所以不能写一个公用解的方法来适应所有端

一直想要想个方法去解决这个问题

目前架构是参考的bilibili的大仓结构(就是把全部项目扔一个仓库)

然后分为网关层和服务层

服务层提供各种底层服务(sever),网关层聚合接口给前端(bff)

多端参数不统一问题

  1. 鉴权是在bff里面处理的
  2. 同一个bff的接口可能供很多个前端项目用
  3. 针对同一个前端项目,解的优先级是一定的,同一个前端项目可能会涉及到许多和后端bff层

针对以上三点
我给出的解决方案是让前端在header头里面种一个前端的唯一标志
比如frontType:app_user、web_panel、mini_suser
每次解用户信息时就先判定是哪个前端项目
根据不同的前端项目去解析用户信息
说白了就是不能写一个公用解的方法来适应所有端那就给每个端写一个解
可能有同学会疑惑为什么不是规范原有参数呢?
要是能规范的话,我还需要在这写着一堆废话吗
一个公司慢慢发展下来都会累积很多项目,会有很多历史包袱的
有些东西不是你想改就能改的(比如老app怎么修改?),目前公司还没确定怎么解决

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!