|  |      1brust      2021-03-05 17:45:36 +08:00 短链 | 
|      3br_wang      2021-03-05 18:00:18 +08:00 key 、token 什么的,也不方便存在第三方吧…… | 
|  |      4eason1874      2021-03-05 18:04:21 +08:00 有,API 网关就是干这活的,云服务厂商都有,按量付费,请求+流量分别计费 | 
|      5zhuweiyou      2021-03-05 18:04:24 +08:00 云函数 + API 网关 | 
|  |      6pelloz      2021-03-05 18:09:40 +08:00 很奇怪。。为什么你不自己部署一个 nginx 转发 | 
|      8gam2046      2021-03-05 19:01:54 +08:00 其实没差别啊。 如果用户侧持有某个 KEY,可以导致其访问某个业务。 现在你通过中转服务隐藏 KEY,用户侧直接访问这个中转服务,一样可以访问其业务。 本质上没多大区别呀。 鉴定可信终端不是依靠信息不对称实现的。 | 
|  |      9aisk      2021-03-05 19:11:43 +08:00 然后发现这个中转服务会被人乱调,所以在中转服务上也加了一套 key 做验证。过了几天又有人问,有没有办法给这类中转服务器做一个中转? | 
|      10jimmyismagic      2021-03-05 19:11:52 +08:00 自己写一个中转,简简单单的事情,把 key 存在别人那儿,始终不安全 | 
|  |      11lewinlan      2021-03-05 20:54:34 +08:00 via Android 现写一个不就几分钟的事吗 | 
|  |      12devliu1      2021-03-05 21:28:24 +08:00 自己随便写一个 server 包装下就完事了 | 
|  |      13john990 OP | 
|  |      14jim9606      2021-03-05 22:31:06 +08:00 @gam2046 有意义的,通常这个 apikey 都是外部服务商给的,如果因为外部原因要更换就很麻烦。用上 api 网关之后客户端和网关间的身份验证就完全由内部掌控了,同时像什么调用频率限制也会更容易实现。 | 
|  |      15chinvo      2021-03-05 22:38:15 +08:00 via iPhone 中转那边不是也得做鉴权…… | 
|      16gam2046      2021-03-05 22:40:22 +08:00 @jim9606 #14 那这个需求的本质其实是做一层隔离,而隔离的目的并不是为了安全,而是为了解耦。 解耦,这样的设计是具有积极意义的,并且在实际生产环境中也很常见。 安全,如果非要说这样兜一圈安全性有什么提升,应该就是自己做一些额外的校验工作,例如频率限制、限制来源、负载均衡,添加原后端请求不支持的安全参数等,但这样就不是一个简单的服务的包装了,这更接近于业务逻辑。涉及业务层一般就不太会有楼主希望的那种第三方或者比较具有通用性的统一包装服务了。 | 
|  |      18john990 OP @devliu1 加钱没问题,大概看了 Google 和 Amazon 的 API Gateway 好像可以,但是还没用明白 | 
|  |      19opengps      2021-03-05 23:35:21 +08:00 via Android 用个临时域名,限制主机头访问 | 
|      20mooyo      2021-03-05 23:46:27 +08:00 openresty 搞一搞 | 
|  |      21imycc      2021-03-05 23:55:05 +08:00 没听说过通用的,一般都是公司内某个中台服务团队来干这种事吧。 对外提供一个只能做有限功能的接口,对内封装第三方厂商的鉴权及业务逻辑。 如果要客户端直通第三方服务的话,类似的东西我只听过阿里云的 STS,临时下发一个 Token 给客户端。 | 
|  |      22eason1874      2021-03-06 08:30:34 +08:00 @john990  API 网关可以自定义 path,header,query 。如果后端 key 是固定的,在 API 网关网页控制台就能配置好转发了,如果 key 是根据参数计算的,那就要用上云函数了,避免不了代码。 | 
|  |      23john990 OP @eason1874 对对,我需要的就是 API 网关,而且亚马逊有相关 SDK,应该可以解决一部分安全问题 | 
|  |      24akira      2021-03-06 14:20:20 +08:00 有的呀,api 网关 其中一个作用就是 整合不同接口的差异化 | 
|  |      25daimaosix      2021-03-07 02:42:11 +08:00 via Android Nginx 反向代理就行 |