我有一个调用外部(第 3 方)服务的应用程序,我想知道是否可以得到一些帮助。
我试图弄清楚如何处理几件事,并想知道您是否对如何处理某些情况有任何意见和/或经验
我们希望能够创建一个服务处理第三方调用的架构,这样客户端就不需要知道它正在访问哪个服务。例如,如果我们有一种方法可以与像 DocuSign 这样的第三方集成以进行文档签名,那么客户端应该能够在我们端调用一个服务来确定(基于一些凭据、租约等)它与哪个服务集成. 然而,我开始创建一个接口,它仍然让客户端确定要实例化和调用的实现,如果可能的话,我们想尝试分离它。一个。调用我们的“文档签名”服务,并带有我们正在使用的客户端和租户的一些指示,可能是通过访问令牌。湾。然后,该文档签名服务将需要指出它需要什么样的凭据,并让客户端知道如何登录该服务。例如,它可能希望重定向到授权服务器以获取访问令牌以发送到我们的服务以进行调用。
我们还需要完成一些离线处理,这可能会调用需要身份验证的 3rd 方服务,但没有需要提示的客户端。我开始沿着存储 SAML 令牌和/或用户凭据的路线前进,但这似乎非常不安全。同样,作为一个 IdM 伪新手,不太确定如何处理这个问题(谷歌搜索带来了各种选项,但大多数(如果不是全部的话)看起来非常不安全)。我想我们可以对令牌等进行加密,以便与它一起存储,然后在运行任务并接收令牌时调用适当的授权服务器。
有关如何正确处理这些问题的任何意见?