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

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

我未曾珍惜的,我不再拥有?‍?️
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 16

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

11个月前 评论

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

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

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

11个月前 评论

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

11个月前 评论

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

11个月前 评论

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

11个月前 评论
haodudecao (楼主) 11个月前
Adachi 11个月前

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

11个月前 评论
haodudecao (楼主) 11个月前
FatTiger 11个月前

header 里面做区分

11个月前 评论

header头呗

11个月前 评论
skarner

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

11个月前 评论
DonnyLiu

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

11个月前 评论

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