Spring 使用客户端\u凭证oauth授权是好是坏?

Spring 使用客户端\u凭证oauth授权是好是坏?,spring,spring-security,oauth-2.0,spring-security-oauth2,spring-saml,Spring,Spring Security,Oauth 2.0,Spring Security Oauth2,Spring Saml,我有两个API并构建了一个web应用程序,它将使用这些API加载和更新数据库中的数据。我已经将OAuth服务器、API端点配置为OAuth资源服务器,将web应用配置为OAuth客户端 我正在考虑使用SAML进行身份验证,使用OAuth进行授权,以保护API端点。但经过大量的研究和阅读,我找不到任何与春天相同的东西 最初,我使用了Auth_代码授权,但由于OAuth资源服务器也需要对用户进行身份验证,因此它不能很好地与SAML身份验证配合使用。我将尝试在OAuth服务器上实现pre_auth_f

我有两个API并构建了一个web应用程序,它将使用这些API加载和更新数据库中的数据。我已经将OAuth服务器、API端点配置为OAuth资源服务器,将web应用配置为OAuth客户端

我正在考虑使用SAML进行身份验证,使用OAuth进行授权,以保护API端点。但经过大量的研究和阅读,我找不到任何与春天相同的东西


最初,我使用了Auth_代码授权,但由于OAuth资源服务器也需要对用户进行身份验证,因此它不能很好地与SAML身份验证配合使用。我将尝试在OAuth服务器上实现pre_auth_filter,看看它是否与SAML身份验证一起工作。但目前,我尝试为OAuth服务器授予客户端\u凭据。它工作得很好。但是,如果OAuth客户机和服务器在同一网络上运行,那么从安全角度来看,使用web应用的客户机\ U凭据授权是一种好方法吗?另外,如果web应用部署在多台服务器上,它们是否可以共享相同的客户端id和机密?

我所看到的最常见的用法是使用Spring Security和Oauth 2.0框架进行身份验证和授权。在复杂的环境中,将有一个集中式身份验证服务器,负责对所有用户进行身份验证,并
所有应用程序服务。在这种情况下,客户机服务的建议选项是使用
client\u凭据
grant-type对自己进行身份验证。对于RESTful服务,Spring为此提供了支持

客户端凭据将是每个应用程序服务,而不是每个应用程序实例


正如我们所知,保护传输中数据的最常见方法是使用TLS(SSL)传输数据。由于所有这些web应用程序服务都位于同一网络上,所以可以使用自签名证书。同样,每个服务的证书不是每个应用程序实例的证书。不用说,对于公开的资源,可以使用由证书颁发机构签署的证书。

为什么要实现saml和oauth?我认为您只需要一个:用户身份验证由SAML Idp管理,API端点将使用基于身份验证的授权工作流进行保护。谢谢您的回答。由于缺乏声誉,我无法对你的答案进行投票。我正在UI应用程序本身上配置OAuth客户端。因此,如果我在多台服务器上运行同一个UI应用程序的多个实例,这就是我正在考虑的问题。