炫意html5
最早CSS3和HTML5移动技术网站之一

调用第三方接口的方式

## 问题描述

有个第三方的数据查询接口地址 A, 直接在页面调用这个接口获取数据,  因为客户端有网络权限, 不能直接访问地址 A, 而服务端 B 是可以正常访问, 现在需要改为从服务器B访问这个接口地址A, 现在有两种解决办法,

1. 直接页面请求服务端B, 然后在 B 的 Controller 类中 去请求 接口A, 然后返回数据给客户端.

2. 使用 Nginx 方向代理 (这种方法比较好, 但是暂时不用此方法, 涉及服务比较多, 怕对其他服务有影响)

## 我的问题

1. 这种直接调第三方接口获取数据正常处理逻辑, 我们应该是从后端调用, 还是可以从前端页面调用呢?

2. 有没有其他比较简单的方法

回答

不建议第二种方式。
从一个服务端开发人员角度回答下这个问题。从安全级别角度服务端一般提供以下几类接口服务
1.公网域名访问,没有任何认证限制。 这种接口类型很少,没有任何安全限制,一般也是 提供一些公共类服务,类似天气查询之类的。
2.公网域名访问,客户端身份认证。只允许认证过的客户端访问。但也不能完全避免 一些恶意访问,取决于认证方式的安全级别。
3.内网访问。可能再加上ip识别。这种从物理上隔绝外部恶意访问。主要是一些接口业务隐私性较高,权限较大。防止被恶意刷数据or篡改数据。
所以第三种接口服务 最怕就是 用问题的第二种方式,变相把接口 暴露到公网了。
对于内网访问接口,不要觉得 后台服务只是做了一层转发毫无意义的动作,把它看作一种业务逻辑来封装处理。同时前后端做好安全认证。

炫意HTML5 » 调用第三方接口的方式

Java基础教程Android基础教程