【发布时间】:2018-09-29 22:30:23
【问题描述】:
我有几个 API 并构建了一个 Web 应用程序,该应用程序将使用这些 API 来加载和更新数据库中的数据。我已将 OAuth 服务器、API 端点配置为 OAuth 资源服务器,并将 Web 应用程序配置为 OAuth 客户端。
我正在考虑使用 SAML 进行身份验证和 OAuth 进行授权以保护 API 端点的想法。但是经过大量的研究和阅读,我找不到任何与春天相同的东西。
最初,我尝试了 Auth_code 授权,但它不适用于 SAML 身份验证,因为 OAuth 资源服务器也需要对用户进行身份验证。我将尝试在 OAuth 服务器上实现 pre_auth_filter 以查看它是否适用于 SAML 身份验证。但目前,我尝试了 OAuth 服务器的 client_credentials 授权。它运作良好。但是,如果 OAuth 客户端和服务器在同一网络上运行,那么从安全角度来看,为 Web 应用程序使用 client_credentials 授权是否是一种好方法?此外,如果 Web 应用程序部署在多台服务器上,它们是否可以共享相同的客户端 ID 和密码?
【问题讨论】:
-
为什么要实现 saml AND oauth ?我认为您只需要一个:mutuallyhuman.com/blog/2013/05/09/…
-
用户身份验证由 SAML Idp 管理,API 端点将通过基于身份验证的授权工作流来保护。
标签: spring spring-security oauth-2.0 spring-security-oauth2 spring-saml