我们有一个 网络应用 使用 REST API . REST API 基于 Loopback 并使用其内置的基于 token 的身份验证。对于 Web 应用程序,我们使用基于表单的 HTTPS 身份验证,因此用户必须输入他的用户名和密码,然后我们使用这些用户名和密码通过 POST /users/login
从 REST API 获取访问 token 。端点。
我们的一位客户要求我们支持 单点登录 (SSO) 身份验证通过 SAML 2.0 和 AD FS .
我们将 Web 应用程序配置为服务提供商(AD FS 中的依赖方)并设法为其支持 SSO。变化的部分是 Web App 和 REST API 之间的身份验证。现在的想法是将 Web App 和 REST API 配置为相同的依赖方并添加新的 POST /users/saml-login
REST API 的端点,因此 Web 应用程序可以向该端点发送 SAML 响应,并根据 SAML 响应中指定的声明获取访问 token 。其他一切都应该像以前一样工作。这是我想象的流程:
POST /users/saml-login
),在此对其进行验证 这是问题:以这种方式实现基于 SAML 的 SSO 是否可以?您认为这种方法有任何问题或安全考虑吗?有没有其他选择?
我在网络上阅读了很多文章,并在 StackOverflow 上阅读了有关如何一起使用 SAML 和 REST API 的问题:
他们都没有真正帮助我确认或拒绝上述想法。
最佳答案
这听起来是一个合理的方法。我想不出任何安全问题。
您只需在应用程序内部重新发布 SAML 响应以进行处理。只要您随后对 REST API 中的 SAML 响应和断言执行各种安全检查,就不会有任何问题。
关于rest - 将 SAML 响应从 Web 应用程序传递到 REST API 以进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54723627/