区分不同客户端(H5,Web,App),API 做出不同逻辑处理

如题。比如三个端,都请求一个登录接口,我该怎么区分。通过设备其实是无法区分的。不想做复杂加密校验。
直接传请求标头?is_app, is_h5,当然都可以伪造,但是伪造也没什么影响
请问怎么处理比较好?

我未曾珍惜的,我不再拥有?‍?️
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 16

多客户端服务的API,我设计的时候,都会在全局公共参数里面要求传设备类型的,这个参数很多地方会用到,包括日志、某设备特有功能等等

3周前 评论

可以自定义个请求头,X-Request-Device

3周前 评论

加个app_id吧,微信web端,客户端都是有个appid的

3周前 评论

同上,在 header 中新增类似 AppInfo 的字段包含 版本version,设备ID client_id 等信息,后期也方便扩展

3周前 评论

可以通过判断 header 的 User-Agent,但是好像可以伪造吧,我们公司用的自定义参数,然后接口中判断是什么设备

3周前 评论
陈先生
  1. 前端传参 device_type
  2. token 和 device_type 绑定
  3. 默认的 HTTP 头信息包裹设备类型
  4. 自己根据 UA 判断。
3周前 评论

直接在路由文件中增加各个端口的前缀不行吗?

3周前 评论
haodudecao (楼主) 3周前
Adachi 3周前

既然伪造都不介意了为啥不直接根据UA呢

3周前 评论
haodudecao (楼主) 3周前
FatTiger 3周前

header 里面做区分

3周前 评论

header头呗

3周前 评论
skarner

通用的字段,如语音、时区、版本(安卓、iOS、WEB)等等,建议都统一放到 header 里面

3周前 评论

在请求的header里面加个UA来区分呗~

2周前 评论

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