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

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

我未曾珍惜的,我不再拥有?‍?️
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 16

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

1年前 评论

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

1年前 评论

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

1年前 评论

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

1年前 评论

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

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

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

1年前 评论
haodudecao (楼主) 1年前
Adachi 1年前

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

1年前 评论
haodudecao (楼主) 1年前
FatTiger 1年前

header头呗

1年前 评论
skarner

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

1年前 评论
DonnyLiu

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

1年前 评论

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