gpt4 book ai didi

rest - 将 SAML 响应从 Web 应用程序传递到 REST API 以进行身份​​验证?

转载 作者:行者123 更新时间:2023-12-03 17:03:22 25 4
gpt4 key购买 nike

我们有一个 网络应用 使用 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 。其他一切都应该像以前一样工作。这是我想象的流程:

  • Web App 生成 SAML 请求并将用户重定向到 IdP 登录页面
  • 成功登录后,用户将通过 SAML 响应重定向回 Web 应用程序
  • Web 应用程序充当代理并将 SAML 响应重定向到 REST API 端点 ( POST /users/saml-login ),在此对其进行验证
  • 如果 SAML 响应有效,则 API 会根据声明返回访问 token
  • Web 应用程序使用访问 token 与 REST API 进一步通信,与以前相同

  • 这是问题:以这种方式实现基于 SAML 的 SSO 是否可以?您认为这种方法有任何问题或安全考虑吗?有没有其他选择?

    我在网络上阅读了很多文章,并在 StackOverflow 上阅读了有关如何一起使用 SAML 和 REST API 的问题:
  • Propagate SAML Assertion Response/Security Context to downstream Services/Apps
  • REST API authentication with SAML
  • SAML and back-end REST service authentication
  • Attacking SSO: Common SAML Vulnerabilities and Ways to Find Them

  • 他们都没有真正帮助我确认或拒绝上述想法。

    最佳答案

    这听起来是一个合理的方法。我想不出任何安全问题。
    您只需在应用程序内部重新发布 SAML 响应以进行处理。只要您随后对 REST API 中的 SAML 响应和断言执行各种安全检查,就不会有任何问题。

    关于rest - 将 SAML 响应从 Web 应用程序传递到 REST API 以进行身份​​验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54723627/

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