最近公司有对外的业务,想新开发几个开放的接口,以前没有过相关经验,来请教下各位。
查了一下,目前考虑到的有
以上是否都需要呢?
|      1NessajCN      2024-03-28 14:55:20 +08:00 ip 白名单看情况,面向公众的就别了,没必要 appid 这些是接口内验证用的,叫啥名无所谓,这个要 接口签名跟上面这个重复了,纯折腾开发者还是别了 限流这个是付费相关的,根据实际需求来 https 是标配了,不过这个跟接口本身没啥关系,是传输层的 | 
|  |      2wentjiang      2024-03-28 14:57:31 +08:00 你可以直接参考淘宝的开放平台,然后根据自己实际的业务进行修改 | 
|      4yule111222      2024-03-28 15:20:59 +08:00 建议用标准 oauth2 ,不要抄国内那些乱七八糟的 标准 oatuh2 强制要求 https ,也不需要接口签名,纯脱裤子放屁 | 
|  |      5javalaw2010      2024-03-28 15:24:31 +08:00 看起来不是专门做 open api 的业务,预计未来这方面的业务不会很大的话,就简单处理,IP 白名单没必要,APPID 简化为一个 token 让对方保存好丢到 header 里面。接口签名没必要,接口限流根据实际业务做一下,https 标配了没的说。 | 
|      6yuanmomo      2024-03-28 15:35:24 +08:00 via iPhone  2 access log ,监控响应状态和耗时 服务 health 监控 一般入参和响应会有日志,有助于排查日志(这个主要看请求量,不然日志就太多了) 接口幂等 所有参数验证,不相信客户端的所有数据 接口有一个参数,时间戳,后端优先校验时间戳,跟当年时间误差超过多大的不处理 | 
|  |      7afxcn      2024-03-28 15:40:35 +08:00 我们就搞了个 accessToken, 再根据权限来管理哪些 api 可以调。 https 是必需的了吧 | 
|      8sparklee      2024-03-28 15:46:25 +08:00 接口参数签名还是要的, 一定程度上防止被拦截之后篡改数据 | 
|      9gerefoxing      2024-03-28 17:31:41 +08:00 accessToken&验签,可以看下各大平台接口对接文档参考下 | 
|      11luckyc      2024-03-28 17:52:14 +08:00 看看企业微信的 api, 学习一下. | 
|  |      12flyqie      2024-03-28 22:26:37 +08:00 | 
|      13crazyweeds      2024-03-29 08:46:44 +08:00 appid+appid 级别的限流,其他不是很有必要。 其他如果你觉得必要,那么你做好 SDK ,而不是微信一样,就提供文档。因为你无法做到微信那种,只管拉 X ,不管擦。出现问题,你还得配合调试,徒增烦恼。 当然,可以刷 KPI ,毕竟现在老板不是喜欢员工看上去很忙么,满足老板的愿望。效率低?那不是你管的事情。 | 
|      14layxy      2024-03-29 09:09:44 +08:00 你说的都需要,ip 白名单可以限制调用访,appid 机制可以记录调用方是谁,接口签名可以验证数据是否伪造(最好加时间戳),限流可以控制调用,https 协议是必须得,否则你需要自己提供报文加解密 | 
|  |      15aino      2024-03-29 09:24:09 +08:00 ip 白名单是最有用的 | 
|  |      16bianhui      2024-03-29 13:22:42 +08:00 我觉得规范和文档最重要,你说的那些安全啥的,外面包一层权限验证关网就都搞定了。 | 
|      17jipfqf      2024-03-29 14:49:13 +08:00 分页参数尽可能指定范围,而不是接口想查 1000 条就返回 1000 条,爬无数 api 得来的经验 | 
|  |      18dandankele      2024-05-24 10:51:30 +08:00 我也有一个问题。。哪位大神顺便帮我回答一下。。。 就是对外暴露的开放接口,我是直接在业务侧的应用中开发这些接口并暴露出去?还是把业务侧后方的更细粒度的服务接口暴露出去作为开放接口? 我目前感觉应该在业务侧提供。。 |