0

我在我的服务器上部署了一个 Rest API,比如 A。我有 2 个 Web 应用程序,比如 www.B.com 和 www.C.com。B 和 C 都调用部署在服务器 A 上的 API。现在想想小场景,

用户 Rob 登录 B.com,用户 andrew 登录 C.com。现在他们的一些事件触发器对服务器 A 进行 API 调用。我的问题是,我将如何识别来自 B.com 或 C.com 的特定请求。

此信息仅在 bowser 的地址栏中,但 api 调用是 ajax 调用。有必要提一下,我不想对 java 脚本或前端(在应用程序 B.com 或 C.com 中的任何一个上)进行任何更改。更改应在服务 A 上。任何解决此问题的提示将不胜感激。我正在使用 Java、resteasy、jboss。

4

2 回答 2

0

假设您从 B 和 C 接收 API 调用作为 HttpServletRequest:

String ipAddress = httpServletRequest.getRemoteAddr();

然后将 IP 地址与服务器 B 和 C 的已知 IP 地址进行比较。

如果 AJAX 调用直接从浏览器到 A,那么我认为没有办法在不更改 B 或 C 的情况下使其工作。

于 2013-03-15T13:08:03.390 回答
0

您可以在进行 REST 调用时设置标头(键值对)

在标头中设置一些身份验证令牌。

在暴露 REST API 的服务器中验证令牌

于 2013-03-15T12:19:39.393 回答