前端应用程序和另一个后端服务使用的REST API的身份验证方法

时间:2017-03-07 06:39:04

标签: javascript java rest microservices

我有一个其他两项服​​务使用的休息api后端服务 A

  • B 服务,这是在浏览器中运行的网络应用程序(单独的节点服务器)
  • C 服务,也是后端服务(也是单独的服务器)

我最初的方法是使用基本身份验证进行A-B通信,但这对A-C没有意义,因为无法在浏览器中安全地保存凭据。另一方面,A-B通信引入会话和令牌似乎很奇怪。

无论我做什么,这似乎都是拉锯战。

您认为这种设置的合理解决方案是什么?

2 个答案:

答案 0 :(得分:0)

A-B至少需要SSL,然后才能判断基本身份验证是否有效。

如果C将使用与B相同的API,那么使用相同的身份验证方法是有意义的,只是为了简单起见,IMO。

您还可以使用基于令牌的身份验证机制,其中每个服务(远程或本地)进行身份验证并获取令牌并将其用于后续通信。

有关更多信息,请参阅以下内容:

REST API Token based authentication

答案 1 :(得分:0)

您可以参考AWS API Gateway获取有关如何实现REST API身份验证的线索。 https://aws.amazon.com/api-gateway/faqs/#security

要点:

  1. 访问令牌
  2. 自定义身份验证
  3. 启用CORS
  4. 客户端基于SSL证书的身份验证