gpt4 book ai didi

java - 在服务器之间共享 REST token

转载 作者:搜寻专家 更新时间:2023-10-31 20:10:29 24 4
gpt4 key购买 nike

我需要一个具有基于 token 的身份验证的 REST API:我们将拥有带有负载均衡器的复制应用程序服务器,因为 token 是在用户通过身份验证时由一台服务器生成的,并且来自同一客户端的不同请求可以由不同的服务器处理,是否有通用技术或技术在不同服务器之间共享这些 token ?

关于技术,我们将使用 Java 堆栈,更具体地说是 Grails。

关于应用服务器,我们可能有多个数据库。此评论很重要,因为与同事讨论后,有人建议使用来自所有应用程序服务器的相同数据库来管理 token 共享。我正在寻找不需要集中式数据库的解决方案,让我们可以在数据库端进行扩展。

最佳答案

当使用基于 token 的身份验证时,有一个服务器可以对用户进行身份验证并颁发安全 token 。可以通过多种方式对用户进行身份验证(根据数据库验证用户名/密码、验证智能卡上的证书等)。

一旦 token 由身份验证服务器颁发并签名,就不需要数据库通信来验证 token 。任何接受 token 的服务都只会验证 token 的数字签名。

客户端(您的服务的调用者)负责随请求一起发送 token 。因此,无论负载均衡器后面的哪个服务器处理传入请求,它只需要与签名 key 相关联的公钥来验证请求是否有效。

选择哪种安全协议(protocol)取决于您的要求。 OAuth通常用于 Internet 应用程序。 WS-FederationSAML-P在企业环境中大量使用。

关于java - 在服务器之间共享 REST token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31600918/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com