Javascript 前端应用程序和其他后端服务使用的REST API的身份验证方法
我有一个rest api后端服务a,它被其他两个服务使用:Javascript 前端应用程序和其他后端服务使用的REST API的身份验证方法,javascript,java,rest,microservices,Javascript,Java,Rest,Microservices,我有一个rest api后端服务a,它被其他两个服务使用: B在浏览器中运行的web应用程序服务(独立节点服务器) C服务,它也是后端服务(也是单独的服务器) 我最初的方法是使用基本身份验证进行A-B通信,但这对A-C来说没有意义,因为没有办法在浏览器中安全地保存凭据。另一方面,引入会话和令牌对于A-B通信来说似乎很奇怪 不管我做什么,这都像是拔河比赛 对于这种设置,您认为什么是合理的解决方案?您至少需要A-B的SSL,然后只有您才能判断基本身份验证是否有效 如果C将使用与B相同的API,那
- B在浏览器中运行的web应用程序服务(独立节点服务器)
- C服务,它也是后端服务(也是单独的服务器)
对于这种设置,您认为什么是合理的解决方案?您至少需要A-B的SSL,然后只有您才能判断基本身份验证是否有效 如果C将使用与B相同的API,那么使用相同的身份验证方法是有意义的,只是为了简单起见,IMO 您还可以使用基于令牌的身份验证机制,其中每个服务(远程或本地)进行身份验证并获取令牌,然后将其用于后续通信 有关更多信息,请参见以下内容:
您可以参考AWS API网关,了解如何为REST API实现身份验证的线索。 总结:
我想您可以尝试使用Oauth2身份验证。简单地说:自动生成一个令牌。然后,可以从客户端使用该令牌对用户/客户端进行身份验证,而无需传递用户名和密码。