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

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

我未曾珍惜的,我不再拥有?‍?️
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 16

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

2年前 评论

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

2年前 评论

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

2年前 评论

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

2年前 评论

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

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

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

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

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

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

header 头呗

2年前 评论
skarner

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

2年前 评论
DonnyLiu

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

2年前 评论